Skip to main content

Taiko

Key Takeaways​

  • Taiko is a Ethereum-based zkEVM rollup, aiming to achieve full Ethereum equivalency (Type-1).
  • Taiko sequences transactions using the Based Rollup scheme.
  • Taiko uses the Halo2 proof system based on the KZG polynomial commitment scheme.

1. Overview​


Taiko is a Ethereum-based zkEVM rollup, aiming to achieve full Ethereum equivalency (Type-1). Taiko is actively developing the full Ethereum zkEVM circuits in collaboration with the community, under the guidance of the Ethereum Foundation's Privacy and Scaling Explorations (PSE) team.

2. Execution​


2.1 Type 1 zkEVM​

Taiko's Type 1 zkEVM mirrors Ethereum completely, utilizing its hash function, state trees, and gas pricing without changes. Yet, starting with Type 2 zkEVM, modifications are introduced, like adjusting the gas costs for operations that aren't zk-friendly and opting for a zk-friendly hash function, such as Poseidon, over Ethereum's Keccak. Such modifications can pose potential issues.

2.2 Sequencing​

Taiko sequences transactions using the Based Rollup scheme on the Ethereum network, which serves as the base layer of Taiko.

  • L2 Searchers bundle L2 transactions and send them to L2’s Block Builders.
  • L2 Block builders create L2 Blocks, which are then sent to L1 Searchers and can be used as part of L1 Bundles.
  • Note that L2 blocks must be sent in a private order flow when sent to L1, otherwise the MEV can be stolen.

Taken together, if L1 Searchers are watching both L2 and L1 mempools, they can extract cross-chain MEV between Ethereum and L2 with Based Rollups, and the value of L2’s MEV can be accumulated in Ethereum.

3. Settlement​


Taiko employs the PLONKish zk-SNARK proof system. Specifically, it uses the Halo2 proof system based on the KZG polynomial commitment scheme.

In Taiko, there are three finalized states for a block:

  • Proposed: This state is reached when a proposer submits a block to the TaikoL1 contract, and the block-level intrinsic validity tests have been passed.
  • Proved: At this stage, a validity proof for the state transition has been submitted. However, due to the parallel nature of the proving process in Taiko, if a parent block's validity proof isn't provided, the block attains the 'Proved' status.
  • Verified: Blocks that are in the 'Proved' state, and whose parent block is also 'Proved', are considered 'Verified'.

4. Data Availability​


Taiko utilizes Ethereum network as a data availability layer.

5. Team​


6. Resources​


CTRL + J