Protocol Upgrade v31: Priority Mode & ZKsync OS Compatibility #1156
sarahschwartz
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
The protocol upgrade for v29 is live on ZKsync Chains, and next up is the v31 upgrade.
Below is a breakdown of what's included in v31 and how the upgrade will be rolled out.
Key Features
Priority Mode for ZKsync OS L1-settling chains
Priority Mode is a censorship-resistance mechanism for ZKsync OS chains that settle directly on L1. It guarantees that users can withdraw their funds even if the sequencer stops processing transactions.
Here's how it works:
PRIORITY_EXPIRATIONto four days. If the oldest unprocessed priority transaction exceeds that period, anyone may callactivatePriorityMode()on the chain's L1 contract.PermissionlessValidator, which commits, proves, and executes it atomically.permanentlyAllowPriorityMode.ZKsync OS Compatibility
The second key feature of the v31 upgrade brings ZKsync Era and ZKsync OS closer to a shared protocol codebase. Because protocol version 30 was assigned to ZKsync OS and was not deployed to Era mainnet, v31 incorporates the relevant compatibility work:
Other Changes
Breaking Changes
Existing ZKsync Chain operations remain supported, but chains that intend to adopt v31 must update their software and integrations:
zksync-era. Older external nodes cannot fully deserialize the new commitment-scheme-based pubdata parameters.getBatchHashgetBatchNumberAndTimestampcurrentBlockInfogetBlockNumberAndTimestampblockHashAudit
The v31 contracts were audited by OpenZeppelin. The audit report is available here.
Upgrade Timeline
📢 Progress and announcements will be posted on @ZKsyncDevs on X
More details about this protocol upgrade can be found in the ZIP-16 proposal.
All reactions