If you’re paying at least a tiny bit of attention to what’s been happening in the zero-knowledge Ethereum space, you’ve probably heard of names like Polygon, Starkware Scroll, and zkSync.
In fact, you might have not only heard of them but also seen them fighting on Twitter about all sorts of issues: The true definition of a zkEVM, who was/is/will be the first to deploy a zkEVM on Ethereum mainnet, who’s better at marketing, and other important and not so important questions.
Regardless of what you think of their arguments, all of these projects are working their asses off to scale Ethereum. And that alone deserves respect in my book.
But there’s a new player emerging, someone a bit quieter but in no way less viable than others. That new player is Taiko – a zkEVM aiming to become a fully decentralized Ethereum-equivalent zero-knowledge rollup. As far as I know, that’s a feat that currently no other zkEVM team is trying to achieve, so I thought Taiko deserved some attention.
Just a note before we dive in: I’m not an expert on zero-knowledge proofs, rollups, or Ethereum for that matter. In fact, I might have left factual errors in this article or interpreted things the wrong way. I’m just a curious mind learning about blockchain technology and writing along the way. Take everything written here with a grain of salt and do your own research.
With that out of the way, let’s see what Taiko is all about.
Taiko (a “drum” in Japanese) was founded in early 2022 by Daniel Wang, Brecht Devos, and other well-known names in the space. Before starting Taiko, the two worked on Loopring, the first-ever zero-knowledge rollup deployed on Ethereum.
I think it’s important to take a quick look at what role Loopring has played in the creation and development of Taiko. Originally, the zkEVM Taiko is building had to be part of Loopring’s efforts to bring zero-knowledge proof-powered Ethereum to the masses.
However, at some point in the development phase, Wang and co realized that it might be too much of a mess to confound the two since Loopring is an application-specific rollup and Taiko is aiming to be a general-purpose rollup. And so Taiko spun off of Loopring and stood up on its own legs.
Taiko currently consists of around 20 employees from countries like Turkey, Austria, Barbados, China, India, the US, Canada, Ukraine, and others. Quite the geographical spread!
Now let’s look at Taiko’s technical details.
The main thing that sets Taiko apart from its competitors (or, rather, colleagues) is its goal to become a type-1 zkEVM. A type-1 zkEVM strives to be fully Ethereum-equivalent, meaning that it introduces no changes to the Ethereum system to make it easier to generate zero-knowledge proofs.
Before diving deeper it’s important to note that Taiko’s zkEVM is a fork of the Privacy and Scaling Explorations (PSE) team’s community effort. Taiko uses the fork to test out new things and then contributes back to PSE’s zkEVM so that any project developing a type-1 zkEVM (of which there are currently none) would benefit from the research.
So, as we said, a type-1 zkEVM wants to be fully compatible with Ethereum. In Taiko’s case, it intends to become Ethereum-equivalent to the opcode level, meaning that hash functions, precompiled contracts, transaction and state trees, and other in-consensus logic are all left untouched. However, as noted in Taiko’s whitepaper, the protocol currently does disable certain Ethereum Improvement Proposals (EIPs) but that’s going to change over time.
Being Ethereum-equivalent offers a lot of benefits to developers. For example, developers can migrate their smart contracts and decentralized apps (dApp) to Taiko seamlessly. That’s important because if a dApp like Uniswap wanted to migrate to Taiko, it wouldn’t need to change a thing to its protocol. Otherwise, rewriting the code in a different language than Solidity or making some other changes would instantly introduce multiple risks to the security of the protocol and the assets sitting on it.
On top of that, in Taiko’s case, the compatibility goes even further. The Taiko client is based on Go-Ethereum, a battle-tested Ethereum client. This, again, means familiarity and ease of use for those wanting to participate. From the end user's perspective, the ability to use Uniswap on Taiko the same way as on Ethereum mainnet maintains – and even improves – consistency, accessibility, and user satisfaction.
Going the perfect compatibility path, of course, requires tradeoffs. The main challenge type-1 zkEVMs like Taiko face is slow zero-knowledge proof generation. Since Ethereum wasn’t built with zero-knowledge proof integration in mind, the protocol consists of many parts that require massive computation to generate zero-knowledge proofs.
However, proper protocol design can mitigate this. Let’s look at how Taiko speeds up zero-knowledge proof generation.
Taiko speeds up zero-knowledge proof generation in a couple of ways:
All proposed blocks on Taiko L2 are verified immediately because they’re deterministic and can’t be reverted. “Deterministic” means that anyone can calculate the post-execution chain state. L2 blocks only need to pass the Intrinsic Validity test once proposed to Taiko L1 to be considered verified.
Because all Taiko L2 proposed blocks are deterministic, they can be proven in parallel and proofs can be submitted out of order. For example, prover #1 can be verifying block #1 at the same time as prover #2 is verifying block #2. This means that only Taiko L1 needs to wait a longer period of time for the proof.
All of this to some extent allows for a faster zero-knowledge proof generation. For the end user, this means instant finality on L2 and quicker bridging speeds from L2 to L1.
The Taiko zero-knowledge protocol has two smart contracts deployed on Ethereum mainnet (L1) and Taiko L2:
The L1 smart contract is used to propose, prove, and verify L2 blocks.
The L2 smart contract is currently used to prove that a proposed block is invalid and facilitate anchoring, a way for the protocol to make use of the programmability of the EVM to enforce certain protocol behavior.
The Taiko protocol uses Zero-Knowledge Succinct Non-Interactive Argument of Knowledge (zkSNARK) proofs. zkSNARKs are known, at least in theory, to be less scalable than zkSTARKs and require a trusted setup. However, zkSNARKs are lighter than zkSTARKs and so take less time to verify. zkSNARKs also require less gas, offering cheaper transactions.
To generate zkSNARKs, Taiko uses the Permutations over Lagrange-Bases for Oecumenical Noninteractive Arguments of Knowledge (PLONK) proving system. PLONK’s advantages are that it relies on standard cryptography and its proof sizes are smaller. However, Taiko is also looking at combining PLONK with other proving systems like Plonky2, Hyperplonk, and Halo.
The Taiko network consists of three participants:
Proposers construct rollup blocks from L2 users’ transactions and propose them to the Taiko L1 client. They’re the ones deciding which transactions to include in a block and how to order them.
Provers generate zkSNARK proofs confirming the validity of L2 transactions and blocks. They’re the ones deciding which blocks should be verified on-chain.
Node runners execute transactions from on-chain data to stay in sync with the state of the chain. Proposers and provers also run nodes but those wanting to provide other services like a block explorer would also need to run a node.
Taiko’s L2 nodes take transaction data from Ethereum and execute the transactions on Taiko L2. As we said earlier, Taiko’s L2 node is based on Go-Ethereum.
Please go read Taiko’s whitepaper for more in-depth technical details.
Taiko has recently released its first testnet called Snæfellsjökull, which is the name of an actual volcano located in western Iceland. Users can test Taiko by bridging between two networks, Ethereum A1 and Taiko A1; transferring tokens between different accounts; interacting with a contract; and running a proposer node.
The testnet has been a huge success in terms of, well, testing. In a bit more than a week, the Taiko L2 network has seen over 1.6 million transactions, more than 650,000 blocks, and 275,000 wallet addresses. You might say Snæfellsjökull has erupted.
The team behind Taiko intends to depreciate Snæfellsjökull in the coming months and replace it with a new testnet that will feature zero-knowledge proofs. Further testnets will improve on previous versions and implement tokenomics.
Taiko hasn’t been specific as to when it’s going to launch its mainnet but has alluded to the end of 2023 or next year as possible launch dates.
While Taiko’s technical design is unique among all other zkEVMs in the space, its moral aspirations are also worth discussing.
Taiko claims it wants to be accessible, inclusive, open, permissionless, and decentralized. In fact, it wants to go live with a fully decentralized set of proposers and provers. That’s different from other zkEVMs as most of them choose to start centralized and then decentralize over time.
Taiko believes that full decentralization and aspiring to the same goals as Ethereum does is a necessary part of being Ethereum-equivalent. On top of that, the team intends to launch a DAO sometime in the future. Co-founder Wang has also said that Taiko would like to operate as a non-profit organization.
One can’t help but feel incredibly cyberpunky, almost revolutionary, reading Taiko’s ethos. It reminded me of zkSync’s mission statement. I hope Taiko follows through with its promises and becomes the first fully decentralized type-1 zkEVM to land on Ethereum mainnet.
A type-1 zkEVM has its advantages and disadvantages. But what if its disadvantages are negligible compared to what it offers? What if Ethereum equivalence, seemingly the highest standard of them all, combined with existent and potential ways of speeding up zero-knowledge proof generation, makes a type-1 zkEVM the winner in the long run? So much is still unknown but at least Vitalik seems to imply that type-1 zkEVMs are the way to go.
As for Taiko, I think it has found itself in the right place at the right time. 2023 seems like a year reserved for building. If Taiko delivers on its goals and comes out with a mainnet launch sometime this year or early next year, it might be one of the big winners in the next adoption cycle.
Taiko certainly seems to be in a league of its own, attempting to accomplish an extraordinary feat. Whether it succeeds or not is a different question but looking at what Wang and co were able to do with Loopring, the odds are in their favor. If Taiko wins, Ethereum wins.
I’m cheering on you Taiko!