Polygon zkEVM is a ZK-rollup: it executes transactions off-chain, batches them, and posts both the transaction data and a validity proof (a zero-knowledge proof) to Ethereum L1. The key difference from PoS is that Ethereum actually verifies the proof. The L1 smart contract won't accept a state update unless the accompanying ZK proof is mathematically valid.
The sequencer (currently centralized, operated by Polygon Labs) orders transactions and produces batches. A separate component, the aggregator, generates the ZK-SNARK proof for each batch and submits it to the rollup contract on Ethereum. Once verified on-chain, the state update is final — no challenge period required, unlike optimistic rollups.
This means Polygon zkEVM inherits Ethereum's security for state validity. Even if the sequencer is malicious, it can't push an invalid state transition past the verifier contract. What the sequencer can do is censor transactions or reorder them, which is the current centralization tradeoff.
- Block time: variable, typically a few seconds
- Proof submission: batches are proven and verified on Ethereum (timing varies, can range from minutes to over an hour depending on batch size and proving capacity)
- Sequencer: single sequencer operated by Polygon Labs (decentralization planned but not yet live)
- Gas token: ETH (not POL)
- Bridge withdrawal time: once the proof is verified on L1, withdrawals can finalize — typically under an hour for the proof, but variable
⚠ Common mistake: Assuming zkEVM transactions are "instant finality." They aren't. Your transaction is executed quickly by the sequencer, but it doesn't have Ethereum-level finality until the ZK proof is verified on L1. There's a window where you're trusting the sequencer's pre-confirmation. This matters if you're bridging assets or making decisions based on finality guarantees.