
zkSNARKs vs zkSTARKs: a primer
Trying out a longer form article this time to allow a deeper dive into some areas of blockchain research. There are a lot of articles on zero knowledge proofs, and a lot of research papers on SNARKs or STARKs, but very little bridging the intermediate gap. If you haven’t read my introduction to zero knowledge proofs Twitter thread, I strongly recommend it before going further, as a lot of this article builds on top of it. pseudo 🇺🇦 @pseudotheos all these zk terms... what do they mean? what'...

PBS: Neutralizing the Dark Forest
Domothy and I co-authored this article. PBS is still an active area of research, but this comprehensive post aims to aggregate and summarize where research is so far- and where it’s headed. In the existing architecture, block proposers (previously miners) select transactions in the mempool to build a block. On Ethereum, these consist of validators running a consensus and execution client in tandem. Theoretically, a block builder would select transactions paying the highest fee- but this is no...

Distinguishing zkEVMs
The Ethereum Virtual Machine (EVM) is the virtual machine that manages state and executes smart contracts on the Ethereum blockchain. zkEVMs, which aim to prove EVM execution through zero-knowledge (ZK) circuitry, have seen significant growth and expansion as an industry over the past year. Many different projects and community efforts have emerged in this space, each taking its own unique approach to the challenges and opportunities presented by the intersection of these two technologies. On...
zk maxi helping bring research into the mainstream.

zkSNARKs vs zkSTARKs: a primer
Trying out a longer form article this time to allow a deeper dive into some areas of blockchain research. There are a lot of articles on zero knowledge proofs, and a lot of research papers on SNARKs or STARKs, but very little bridging the intermediate gap. If you haven’t read my introduction to zero knowledge proofs Twitter thread, I strongly recommend it before going further, as a lot of this article builds on top of it. pseudo 🇺🇦 @pseudotheos all these zk terms... what do they mean? what'...

PBS: Neutralizing the Dark Forest
Domothy and I co-authored this article. PBS is still an active area of research, but this comprehensive post aims to aggregate and summarize where research is so far- and where it’s headed. In the existing architecture, block proposers (previously miners) select transactions in the mempool to build a block. On Ethereum, these consist of validators running a consensus and execution client in tandem. Theoretically, a block builder would select transactions paying the highest fee- but this is no...

Distinguishing zkEVMs
The Ethereum Virtual Machine (EVM) is the virtual machine that manages state and executes smart contracts on the Ethereum blockchain. zkEVMs, which aim to prove EVM execution through zero-knowledge (ZK) circuitry, have seen significant growth and expansion as an industry over the past year. Many different projects and community efforts have emerged in this space, each taking its own unique approach to the challenges and opportunities presented by the intersection of these two technologies. On...
zk maxi helping bring research into the mainstream.

Subscribe to pseudotheos

Subscribe to pseudotheos
Share Dialog
Share Dialog
>100 subscribers
>100 subscribers


This is part one of a multi-part series diving deeper into the blockchain applications of zero knowledge proofs. There’s been a lot of hype in this space recently, but not a lot of meaningful technical discussion, so this series of articles will explore the applications under the hood. Let’s get started!
zkSync, developed by Matter Labs, was created in 2018 by Alex Gluchowski. zkSync’s end goal is to create a fully trustless L2 with L1 guarantees, such as reorg protection and fund security. In addition to simply being secure, it is also developing tooling to provide support for zero-knowledge based smart contracts.

zkSync 1.0 initially launched in June 2020 and is fully operational. Currently, it operates using PLONK as the prover. With zkSync 1.1, recursive proofs, subscriptions, fee payments in separate tokens (example: send USDC, pay tx fee in USDC), and ERC-20 minting/burning capabilities were added. With recursive proofs enabled, the current throughput of zkSync is 3,000 TPS.
PLONK stands for “Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge”. Initially created by Ariel Gabizon, Zac Williamson and Oana Ciobotaru, it provides some improvements to previous proof protocols (Marlin and SONIC, for example), while still retaining some downsides.
PLONK benefits and improvements:
Moves from an application-specific trusted setup to a universal and updateable trusted setup
Relies on standardized cryptography
Smaller proof sizes (~0.5-1kB vs 0.2 kB)

zkSync v1’s PLONK implemetation relies on the Ignition trusted setup ceremony, organized by Aztec. With trusted setup ceremonies, it is secure if just a single party deletes their entropy (input) provided to generate the setup. With Ignition, 176 participants (including Vitalik himself) from over 30 countries participated, significantly lowering the trust requirements.
Beyond PLONK, zkSync is working on RedShift, which aims to remove the need for a trusted setup ceremony with something that is still in active research and development: transparent SNARKs. Transparent SNARKs would help make PLONK completely trustless by default.
zkSync 2.0's zkEVM allows developers to seamlessly transfer L1 dApps to L2; While not an exact copy of the EVM, zkEVM brings scalability to L1. Let’s explore how it works under the hood!
zkSync operates several pieces of infrastructure on top of Ethereum. All infrastructure is currently live and operational, including the zkEVM. However, the zkEVM is still being worked on, and will be made public at a later time.
Full Node
Executes zkEVM bytecode using the virtual machine
Filters incorrect transactions
Executes mempool transactions
Builds blocks
Prover
Generates ZK proofs from block witnesses
provides an interface for parallel proof generation
Scalable (can increase # of provers depending on demand)
Interactor
The link between L1 Ethereum and L2 zkSync
Calculates transaction fees
Fees depend on token prices, proof generation, and L1 gas costs
Paranoid Monitor
Monitors infrastructure and notifies Matter Labs if incidents occur

Yul is an intermediate representation that compiles Solidity into bytecode. It is then passed off into the LLVM, a modular and reusable compiler. By introducing the LLVM, it opens the door for future zkSync smart contract development written in native Rust or Javascript. While Zinc (based on Rust) will be used in the future, Zinc’s development is currently deprioritized in order to complete the zkEVM implementation of Solidity v8 and Vyper v3.
While the Scalability Trilemma focuses on the big 3 issues: scalability, decentralization, and security, there is a fourth piece of the puzzle. A chain that solves the scalability trilemma but is incredibly esoteric and difficult to program for is not viable for mass adoption. zkSync solves for this by making the zkEVM easy to transfer existing L1 protocols to, while also opening the door towards native Rust and Javascript smart contract development.

2022 is the year of Layer 2. With so many protocols coming out of research and into the implementation stage, Ethereum will be ready for mass adoption while remaining trustless, secure, and decentralized. In a decade from now, the infrastructure being built today will be the backbone of the next generation of protocols.
#L222
Thanks for reading this article! This is the summation of a lot of research to help bridge the knowledge gap. Follow me on Twitter to get notified about future posts and let me know what you think. My content will remain 100% free, forever, and is licensed under CC BY-SA unless otherwise specified. (Shoutout to Shannon for the proofread!)
https://zksync.io/zkevm/#what-is-zksync-2-0
https://messari.io/asset/zksync/profile
https://zksync.io/dev/contracts/#zkevm
This is part one of a multi-part series diving deeper into the blockchain applications of zero knowledge proofs. There’s been a lot of hype in this space recently, but not a lot of meaningful technical discussion, so this series of articles will explore the applications under the hood. Let’s get started!
zkSync, developed by Matter Labs, was created in 2018 by Alex Gluchowski. zkSync’s end goal is to create a fully trustless L2 with L1 guarantees, such as reorg protection and fund security. In addition to simply being secure, it is also developing tooling to provide support for zero-knowledge based smart contracts.

zkSync 1.0 initially launched in June 2020 and is fully operational. Currently, it operates using PLONK as the prover. With zkSync 1.1, recursive proofs, subscriptions, fee payments in separate tokens (example: send USDC, pay tx fee in USDC), and ERC-20 minting/burning capabilities were added. With recursive proofs enabled, the current throughput of zkSync is 3,000 TPS.
PLONK stands for “Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge”. Initially created by Ariel Gabizon, Zac Williamson and Oana Ciobotaru, it provides some improvements to previous proof protocols (Marlin and SONIC, for example), while still retaining some downsides.
PLONK benefits and improvements:
Moves from an application-specific trusted setup to a universal and updateable trusted setup
Relies on standardized cryptography
Smaller proof sizes (~0.5-1kB vs 0.2 kB)

zkSync v1’s PLONK implemetation relies on the Ignition trusted setup ceremony, organized by Aztec. With trusted setup ceremonies, it is secure if just a single party deletes their entropy (input) provided to generate the setup. With Ignition, 176 participants (including Vitalik himself) from over 30 countries participated, significantly lowering the trust requirements.
Beyond PLONK, zkSync is working on RedShift, which aims to remove the need for a trusted setup ceremony with something that is still in active research and development: transparent SNARKs. Transparent SNARKs would help make PLONK completely trustless by default.
zkSync 2.0's zkEVM allows developers to seamlessly transfer L1 dApps to L2; While not an exact copy of the EVM, zkEVM brings scalability to L1. Let’s explore how it works under the hood!
zkSync operates several pieces of infrastructure on top of Ethereum. All infrastructure is currently live and operational, including the zkEVM. However, the zkEVM is still being worked on, and will be made public at a later time.
Full Node
Executes zkEVM bytecode using the virtual machine
Filters incorrect transactions
Executes mempool transactions
Builds blocks
Prover
Generates ZK proofs from block witnesses
provides an interface for parallel proof generation
Scalable (can increase # of provers depending on demand)
Interactor
The link between L1 Ethereum and L2 zkSync
Calculates transaction fees
Fees depend on token prices, proof generation, and L1 gas costs
Paranoid Monitor
Monitors infrastructure and notifies Matter Labs if incidents occur

Yul is an intermediate representation that compiles Solidity into bytecode. It is then passed off into the LLVM, a modular and reusable compiler. By introducing the LLVM, it opens the door for future zkSync smart contract development written in native Rust or Javascript. While Zinc (based on Rust) will be used in the future, Zinc’s development is currently deprioritized in order to complete the zkEVM implementation of Solidity v8 and Vyper v3.
While the Scalability Trilemma focuses on the big 3 issues: scalability, decentralization, and security, there is a fourth piece of the puzzle. A chain that solves the scalability trilemma but is incredibly esoteric and difficult to program for is not viable for mass adoption. zkSync solves for this by making the zkEVM easy to transfer existing L1 protocols to, while also opening the door towards native Rust and Javascript smart contract development.

2022 is the year of Layer 2. With so many protocols coming out of research and into the implementation stage, Ethereum will be ready for mass adoption while remaining trustless, secure, and decentralized. In a decade from now, the infrastructure being built today will be the backbone of the next generation of protocols.
#L222
Thanks for reading this article! This is the summation of a lot of research to help bridge the knowledge gap. Follow me on Twitter to get notified about future posts and let me know what you think. My content will remain 100% free, forever, and is licensed under CC BY-SA unless otherwise specified. (Shoutout to Shannon for the proofread!)
https://zksync.io/zkevm/#what-is-zksync-2-0
https://messari.io/asset/zksync/profile
https://zksync.io/dev/contracts/#zkevm
No activity yet