zkEVM Explained [Education/Research]

This is my current attempt at explaining the overall concept(s) and core elements of zkEVM - as simply as possible. No simple task as I am sure you are all aware!

(Infographic as of July 2023)

It is certainly a challenge to convey zkEVM with minimal words while also including all relevant elements (and hopefully still be understood by those who have only a beginner level understanding of the basics of Ethereum itself). But I hope this adds some level of insight.

On Taiko zkEVM & Type:
While zkEVM is really the holy grail for layer 2 - Taiko is building a Type-1 zkEVM, 1-1 with EVM (ie a true Ethereum-equivalent solution) - the most ‘pure’/powerful kind of zkEVM. Layer1 smart contracts can be reused/redeployed without any need for changes - Taiko zkEVM works with any previous Ethereum EVM system code. This is also the ideal zkEVM to work together with rollups!
For further reading: The Different Types of zkEVM (by Vitalik Buterin)

On Loopring as a L3:
A test Layer 3 Loopring was just deployed to Taiko Alpha-3 Testnet, which means Loopring is getting cozy with zkEVM currently as well. We could see this make Loopring even more efficient as a Layer 3, while opening up the potential to interface with Taiko’s zkEVM in the future (*although please note plans for this are not yet known or announced)

Future Research?
I was glad to see such a positive response to the reddit post I made about this infographic last week + feedback on twitter. I know there are a lot of people who want to understand zkEVM and Taiko better, so I hope I can help demystify relevant ideas & drive discussion with content like this.

I am always open to any feedback or suggestions (I can make edits/updates to this infographic if anyone spots something which can be explained better). I am also interested in doing more deep-dives on various areas of Taiko/zkEVM like this in the coming months. ie EMV Bytecode & ‘Circuits’ are two topics in my sights right now. If you have any other Taiko-related topics you would like to know more about, definitely mention here in the comments - lets help spread that zkEVM knowledge!

Footnote/Shameless self promotion:
I’ve been getting into Loopring/Taiko/zkEVM dev for over a year now and enjoy trying to explain and learn about these topics, sharing that knowledge where possible. I post dev/projects/ramblings mostly over on twitter for those interested in following along!
Find me here -twitterAlex_social


Hi Alex, thank you for the infographic!

I have one small comment: It’s a common misconception that ZK-rollups like Taiko and others are using full-fledged zero-knowledge proofs that enhance privacy. But in reality, they are only using the succinctness property of the proof, not the privacy one. This is because it’s cheaper and also integrating privacy on a general-purpose rollup means losing compatibility with Ethereum.

I’m borrowing this picture from Andy Guzman’s research article. I recommend reading it to better understand how it all works.

So, no privacy on ZK-EVMs like Taiko or Scroll but, for example, Aztec is building a ZK-rollup that has privacy properties built in from the get-go. Also, privacy apps can be built as L3s on Taiko.

Other than that, I think your infographic is great. Thank you for your work and let’s continue learning together. :slight_smile:


Thanks for the feedback @umede - good stuff.

That article is a great read as well. Really sets the foundation for what Ethereum is, and what zk applications are about. Solid overview and insights, I will be reading that one a few times for sure.

(Btw that mention in the final paragraphs about recursive proofs and the linked article - is this the concept of a recursive proof which Taiko is working towards?)

I think my phrasing here on ‘security’ though, is less relating to privacy and more relating to Ethereum as a secure ‘settlement layer’ - ie the tried and tested security inherient in the foundations of Ethereum itself, relating to smart contracts, transactions and the general security standards of Ethereum overall. Thats what I see L2s and L3s as benifiting from, even if they arent focused on privacy - they should still be mathematically sound with the security and strength Layer 1 provides. (but I feel like I could use phrasing here which makes this context more clear, and not mislead people into thinking I’m talking about a privacy type of security)

I think I will definitely rework this infographic to improve it shortly, theres a few parts where the phrasing needs improving, like the part relating to security as youve pointed out. Also the part in zkRollups, where I’ve written ‘stored/sent down to L1’ which is just vague and poorly phrased - and a few other bits which I feel could be better. I will DM you some questions if I get stuck rephrasing any of this stuff :slight_smile: