Finality

Explore the concept of finality in blockchain systems and learn about the steps involved in achieving transaction settlement.

Finality in blockchain systems refers to the point at which a transaction is considered irreversible and permanently part of the blockchain. This concept is crucial for ensuring transaction security and reliability.

Finality on Ethereum

On Ethereum, finality is typically achieved after 2 epochs, which translates to approximately 13 minutes under normal network conditions. This duration allows for sufficient block confirmations to prevent reversals and ensure that transactions are settled securely.


Finality on ZKsync Chains

ZKsync Chains, as a Layer 2s, tie their finality and security mechanisms to those of the underlying Layer 1, Ethereum. The steps involved in reaching finality in ZKsync Chains include:

  1. Batch Formation: Transactions are collected and grouped into a batch. This step generally takes a few minutes.
  2. Batch Commitment: The complete batch is committed to the Ethereum blockchain.
  3. Proof Generation: A cryptographic proof that validates the entire batch is generated. This process typically takes about an hour.
  4. Proof Submission: The generated proof is submitted to an Ethereum smart contract for verification.
  5. Batch Finalization: The batch undergoes a final verification and is settled on Ethereum. This step includes a delay of approximately 3 hours as a security measure.

Overall, the complete finality time for a transaction on ZKsync Chains is around 3 hours, aligning with the finality of the corresponding Ethereum block.

Some ZKsync Chains may use ZKsync Gateway as a shared proof aggregation layer. In those cases, finality includes an additional aggregation step before Ethereum verification, which may slightly adjust timing characteristics.

Instant confirmations

While the full finality process on ZKsync Chains can take a few hours, transactions are treated with instant confirmation for user convenience:

  • Immediate Transaction Display: Once submitted, transactions are quickly shown in the user interface and API as unconfirmed.
  • Immediate Asset Usability: Users can immediately utilize the transferred assets for further transactions, which may even be included in the same ZKsync Chain batch.

This feature enables a seamless user experience, although more cautious users may opt to wait for the transaction to reach full finality or pass any intermediate steps before fully trusting the transaction's completion.


Made with ❤️ by the ZKsync Community