2.2.0 (2025-03-17)
This release contains the Pacaya protocol fork audited by Halborn (the unaudited release is v2.1.0), a major update for Taiko Alethia that introduces breaking changes to support upcoming based preconfirmation and improve overall protocol efficiency. Note that this release is being audited by Halborn.
Summary
-
Batch Block Proposal
Blocks are now proposed in batches, where a single batch can generate zero, one, or multiple blocks. All blocks within a batch share common metadata and draw transactions from the same source. This change enhances scalability and streamlines block processing. -
Simplified Proving Mechanism
- Multi-tier proofs and proof contestation have been removed for simplicity.
- Proof verifiers have been abstracted away from the core protocol, reducing complexity and improving modularity.
-
Reduced Proving and Cool-down Windows
- The proving window has been reduced to 2 hours.
- The cool down window has also been reduced to 2 hours.
-
Solver Support for ERC20 Tokens
Solver support has been added to the ERC20Vault to enable faster withdrawals, improving user experience and liquidity efficiency. -
Ether as Proving Bonds
The protocol now supports the use of Ether for proving bonds. Note: This feature is for protocol flexibility and will not be used by Taiko Alethia in production. -
Optimized Address Lookup
A new interface, IResolver, has been introduced to optimize address lookup, enhancing performance and reducing gas costs.
Features
- protocol: add helder constants for preconf (#18993) (f67f616)
- protocol: add new tcb & add test case (#19008) (12ddb55)
- protocol: add pivot verifier (#18990) (e0763e2)
- protocol: allow ForcedInclusionStore to be paused (disabled) (#19063) (2d6cd46)
- protocol: enforce first block time shift to be 0 (#19090) (bbc7700)
- protocol: invalidate existing conflicting transition (#19014) (b3b9569)
Bug Fixes
- protocol: burn solver fee correctly in ERC20Vault (#19048) (fc664f8)
- protocol: check bridgeOp's to address on src chain (#19040) (57beec8)
- protocol: deploy new verifiers for Pacaya in upgrade script (#19082) (1791d6a)
- protocol: enforce 1 block per forced inclusion (#19013) (c8e6499)
- protocol: ensure each forced inclusion request use a dedicated blob (#19070) (8759bc2)
- protocol: fix a
blobParams.createdIn
issue (#18967) (a9d9e43) - protocol: fix a bug in proving logics (#19056) (98847d6)
- protocol: fix dcap script (#19049) (892f931)
- protocol: fix deployment script for preconf proverSet (#19031) (12de741)
- protocol: fix Ether surplus transfer issue (#19026) (c9edab8)
- protocol: fix the same or the conflicted transaction (#19017) (a790640)
- protocol: fix two issues in
DeployProtocolOnL1
(#19067) (dbc21f2)
Chores
- protocol: add back ERC20Vault (without solver) as ERC20VaultOriginal (#19020) (8b1c3f9)
- protocol: change Hekla stateRootSyncInternal from 12 to 4 (#19061) (e3cd564)
- protocol: check shasta fork height (#19076) (b0e5fd2)
- protocol: fix lint issue (#19074) (a3f1721)
- protocol: improve comment for timeshift (#19086) (544132b)
- protocol: measure gas used per batch (#19058) (27dfe8c)
- protocol: remove unused _consumeTokenQuota from ERC20Vault (#19064) (8abe756)
- protocol: update
anchorGasLimit
inMainnetInbox
(#19038) (719252c) - protocol: update
DevnetInbox.chainId
(#18969) (ef188e0) - protocol: update Inbox configs (#18965) (650cb1f)
Documentation
- protocol: add halborn-taiko-alethia-protocol-audit-for-pacaya-upgrade.pdf (#19083) (9c383ba)
- protocol: update mainnet deployment docs (#18987) (49e7774)
Code Refactoring
- protocol: do not delete old transition as it will not refund enough gas (#18984) (a0be0fa)
- protocol: fix tests due to recent foundry change (#19092) (c8193ff)
- protocol: make it explicit that Ether as bond must be deposited beforehand. (#19028) (a7cf79e)