Search for projects by name
Taiko is an Ethereum-equivalent Optimistic Rollup on the Ethereum network. In the future it aims to add zkVerifier making it a hybrid, optimistic-zk construction. Taiko combines based sequencing and a contestation mechanism with multi-proofs.
Taiko is an Ethereum-equivalent Optimistic Rollup on the Ethereum network. In the future it aims to add zkVerifier making it a hybrid, optimistic-zk construction. Taiko combines based sequencing and a contestation mechanism with multi-proofs.
Taiko Based Sequencing Upgrade
2024 Jun 6th
Proposing blocks on Taiko is now permissionless.
A multi-tier proof system is used. The tiers are SGX, ZK (RISC0, SP1), Minority Guardian, and Guardian (highest tier). A higher tier proof can challenge a lower one within the challenge period. The system allows for an invalid state to be finalized by compromised Guardians (the highest tier) and does not enforce ZK proofs.
There is no window for users to exit in case of an unwanted upgrade since contracts are instantly upgradable.
Taiko uses a multi-tier proof system to validate state transitions. There are five tiers: The SGX tier, two ZK tiers with RISC0 and SP1 verifiers, the 1/8 Guardian tier and the 6/8 Guardian tier (from lowest to highest). Since the Guardian tiers are the highest, validity proofs can generally be overwritten by a single Guardian. Consequently, there is no way to force the RISC0 or SP1 tiers.
When proposing a batch (containing one or multiple L2 blocks), the proposer is assigned the designated prover role for that batch and is required to deposit a liveness bond (125.0 TAIKO) as a commitment to prove the batch, which will be returned once the batch is proven. The default (lowest) SGX tier has a proving window of 5h, during which only the designated prover can submit the proof for the batch. Once elapsed, proving is open to everyone able to submit SGX proofs and a validity bond. The two ZK tiers have a proving window of 7h.
After the proof is submitted and during its 4h cooldown window, anyone can contest the batch by submitting a contest bond. Provers have to submit a validity bond as a commitment to win a potential contest. A validity bond is TAIKO 150.0 for SGX vs 225.0 for ZK tiers, while a contest bond is TAIKO 984.375 for SGX vs. 1476.5625 for the two ZK tiers. For the Minority guardian tier, validity and contest bonds are set to 225.0 TAIKO and 1476.5625 TAIKO, respectively.
It is not required to provide a proof for the batch to submit a contestation. When someone contests, a higher level tier has to step in to prove the contested batch. Decision of the highest tier (currently the 6/8 Guardian) is considered final. If no one challenges the original SGX proof, it finalizes after 4h (the cooldown window).
Funds can be stolen if a malicious block is proven by a compromised SGX instance or approved by Guardians.
All the data that is used to construct the system state is published on chain in the form of blobs. This ensures that it will be available for enough time.
The system uses a based (or L1-sequenced) sequencing mechanism. Anyone can sequence Taiko L2 blocks by proposing them directly on the TaikoL1 contract. The proposer of a block is assigned the designated prover role, and will be the only entity allowed to provide a proof for the block during the initial proving window. Currently, proving a block requires the block proposer to run an SGX instance. Proposing a block also requires depositing a liveness bond as a commitment to proving the block. Unless the block proposer proves the block within the proving window, it will forfeit its liveness bond to the TaikoL1 smart contract.
This is a Gnosis Safe with 3 / 4 threshold. Currently also designated as the Security Council. Can upgrade proxies without delay, remove SGX attestation certificates, pause block proposals and block proving, among other permissions.
Those are the participants of the TaikoAdmin.
Guardians can prove blocks on the highest tier. Guardians are selected by the TaikoAdmin multisig. Acts as a 6/8 multisig.
Minority guardians can prove blocks on the second highest tier. Guardians are selected by the TaikoAdmin multisig. Acts as a 1/8 multisig.
The chain watchdog role can pause proving of blocks.
This contract provides functionalities for sequencing, proving, and verifying batches.
Upgrade delay: No delay
This contract manages the rollup addresses list, allowing to set the address for a specific chainId-name pair.
Upgrade delay: No delay
Contract managing and routing the multi-tier proof system.
Upgrade delay: No delay
Verifier contract for batches proven by Guardian multisig minority.
Upgrade delay: No delay
A contract that holds TAIKO token and acts as a Taiko Labs owned proposer and prover proxy. This contract relays proveBlock
calls to the TaikoL1 contract so that msg.sender doesn’t need to hold any TKO. There are several instances of this contract operated by different entities.
Upgrade delay: No delay
The SignalService contract serves as cross-chain message passing system. It defines methods for sending and verifying signals with merkle proofs.
Upgrade delay: No delay
Contract managing SGX attestation certificates.
Upgrade delay: No delay
Taiko’s native token. Used for block proposal rewards, proving bonds and rewards, and contesting bonds.
Upgrade delay: No delay
Shared bridge for Taiko chains for bridged ETH. This contract stores the following tokens: ETH.
Upgrade delay: No delay
Shared vault for Taiko chains for bridged ERC20 tokens. This contract can store any token.
Upgrade delay: No delay
The current deployment carries some associated risks:
Funds can be stolen if a contract receives a malicious code upgrade. There is no delay on code upgrades (CRITICAL).