Tier-3 Finality
Last updated
Last updated
Tier 3 Finality
At this state the transaction data and the new state is committed on Layer 1. The rollup system now undergoes a challenge period.
If a proposed state commitment goes unchallenged for the duration of the challenge period, then it is considered final, after which smart contracts on Layer 1 can safely accept withdrawal proofs about the state of the rollup based on that commitment. If a state commitment is challenged successfully, the invalid batch and those published afterward will be reverted, restoring the rollup to its old state root. The rollup protocol will then need to re-execute the transactions and update the rollup's state accordingly.
After the challenge period is over, withdrawals from Layer 2 to Layer 1 are finally allowed. Withdrawals are cross-domain transactions that are initiated on Layer 2 and finalized by a transaction executed on Layer 1, such as to transfer tokens from a Layer 2 account to a Layer 1 account. A user just needs to provide a Merkle proof (using calldata) to the rollup contract that proves their transaction was included in the rollup’s state root.