Taiko alpha-2 testnet (a2) is live! Following our first testnet (a1), Snæfellsjökull, a2 continues the trend of Icelandic volcanos and is called Askja. Let’s scale this mountain on our road to scaling Ethereum securely.
Relative to alpha-1, the most prominent changes are:
ZKPs (validity proofs) are partially integrated
Provers are in and are permissionless; proposers are permissioned (just us)—opposite of alpha-1
Protocol economics are enabled
Real rewards for provers to compensate their resource expenditure
The L1 that L2 corresponds with is a true Ethereum testnet, Sepolia
To jump right in and get to testing, transacting, deploying, or proving, see the guide:
To learn much more about this testnet, please read on.
Open to all developers to deploy smart contracts. As Taiko aims to be a type-1 ZK-EVM (Ethereum-equivalent), you can use all the Ethereum/solidity tooling you are familiar with, and deploy your Ethereum smart contracts exactly as is.
Open to all users who want to use it and play around with some transactions.
Open to all interested parties to run an L2 node, including as a prover. Taiko will be running some nodes + provers, and we hope you will join us!
Taiko protocol economics are implemented to modulate prover and proposer rewards and fees, and to simulate a real resource pricing scenario.
Faucet for requesting sample ERC20 tokens for use on the testnet. For ETH, you can use existing Sepolia ETH faucets or find a Taiko teammate in Discord.
Bridge to move assets between testnet L2 and L1.
Status page to monitor the network and various stats.
Swap app deployed (Uniswap V2 fork).
Let’s home in on the most salient new piece of the test network: provers.
Validity proof generation has entered the network. As you may know, validity proofs (ZK proofs) are what proves the validity of the L2 EVM state transitions, and generally what makes a ZK-Rollup special.
Alpha-2 does not entail proving the full EVM execution yet, but rather proving the “public input” circuit. The public input circuit takes the data that a proposer pushes on to L1 and hashes it, and checks this hash value against the hash value that was automatically generated by the L1 smart contract. Effectively, it checks that the blob of data (the list of transactions) is valid, and that it matches what was committed to.
Since the ZKP coverage in a2 is still incomplete, Taiko holds a special address that acts as the oracle prover. Only this oracle prover can prove blocks as the very first prover (with empty proofs that won’t be verified onchain), all other actual provers must prove the block after the oracle prover with the same block headers.
Oracle prover is a way to ensure the blockchain does not enter an invalid state while ZKP coverage is not comprehensive. When ZKP coverage is indeed comprehensive, we will then remove this oracle prover entirely from the codebase.
Generating validity proofs is a computationally-intensive process. Below is a sense of the minimum hardware required, and benchmarks if using this hardware.
8 or 16 core CPU
32 GB memory
Proof generation takes approximately 10 minutes, and if renting a machine with the above specs, would cost approx $0.15 per proof.
Note: this is not representative of what a full ZK-EVM proof will eventually cost.
To reward provers for their computing resources expended during proof generation, Taiko Labs is creating a reward campaign. It’s worth noting that under a ‘normal’ mainnet scenario, provers would be rewarded by the protocol for their work with a token that trades freely in the market (like ETH or a rollup token). In a testnet scenario we have to make the following modifications.
The Taiko protocol will account and administer proof rewards as it normally would, and mint test tokens (“TTKO”) to the prover of each block. These TTKO will then be redeemable for USDC at the end of the testnet reward period. The reward budget for provers on alpha-2 testnet will be up to 50,000 USDC, and provers will redeem their TTKO for their proportional share of the USDC. We expect the reward period to last for approximately 300,000 blocks, or 69 days. We use the assumptions of 20 second block times, and $0.15 average proof generation cost. Given rewards will be in USDC (representing a potential match to the currency costs are incurred in), we attempt to bake in a surplus of rewards of approximately 10% relative to provers’ costs. We will not reward provers after 300,000 blocks. Learning how the protocol reacts in the scenario where most provers stop proving blocks is part of this testnet’s desired outcomes.
Please note, profit considerations (if any) will heavily depend on a prover’s hardware cost, and certain assumptions we use may not reflect reality for the duration of the reward period. We reserve the right to adjust the program, with the ultimate goal of testing permissionless proving while providing a reasonable reward to provers on average.
You may notice that this is in contrast to testnet alpha-1 which did allow anyone to become a proposer permissionlessly—and indeed, over 2000 of you showed up to act as a proposer!
The reason we have permissioned the proposer role in alpha-2 is for DOS-resistance. Specifically, given permissionless provers are now introduced onto the network, and given that proof generation consumes meaningful computing resources, we must limit who can propose blocks to be proven since proposing on a testnet consumes no real resources, thus creating a mismatch. That is, proposers can spam-propose blocks to L1 by just paying Sepolia ETH (not real ETH), requiring provers to expend real resources to prove them, potentially making the pending blocks queue interminable and halting the network (or requiring a much larger budget from Taiko to reward provers). By controlling the proposer for this testnet, Taiko can emulate a higher-fidelity environment to what real ETH costs for proposers would naturally lead to.
Once more, here is the testnet hub where you can find documentation, guides, and links to all relevant apps and tools for testnet usage:
Just like the first time around, besides deploying, transacting, node running—and now proving—there are plenty of other ways you can get involved and help Taiko improve. Some of these include:
Providing feedback or share any bugs you come across on this form.
Create tutorials or other content that can help developers, provers, and users get started.
We will have ☎️ Community Call #2 ☎️ on Friday, March 24th at 15:00 UTC in our Discord server. You can find the ‘stage’ channel here. We will provide some general updates but will spend much more time answering questions. Please ask any questions you would like in the community-call-questions channel in Discord in advance. The questions can be testnet-related or general.
Thank you all very much for being with us on this journey. It would not be possible without the community and broader contributors across Ethereum and other ZK or rollup efforts. We are thrilled in inching closer to a fully decentralized Ethereum-equivalent ZK-EVM with you.
Explore open positions on our job board.
To stay updated on the latest from Taiko:
Contribute to Taiko and earn a GitPOAP! You will also be featured as a contributor on our README. Get started with the contributing guide.