The Rise of Zero Knowledge Proofs (part 1)

Eterna Capital
8 min readJan 17, 2024

--

Disclaimer: this blog post was put together for informational purposes only based on our review and analysis. This should not be construed as a solicitation, offer, or recommendation to acquire or dispose of any investment, engage in any transaction.

By Jack Traube — Investment Associate at Eterna Capital

In today’s digital age, safeguarding online privacy is a paramount concern for users globally. Engaging in online activities often necessitates divulging sensitive personal information like passwords and credit card numbers. Once this data is entered, control over who accesses it diminishes, placing a significant amount of trust in third-party hands. Regrettably, the digital landscape is rife with instances of data breaches and hacking incidents, compromising personal information. Through the use of Zero-Knowledge Proofs, users and machines can interact in a private and verifiable way, without actually exposing their sensitive data to external parties. This is the essence of Zero-Knowledge Proofs: proving to someone that you know something without divulging all the information.

Source: Oracle

Overview

Zero-Knowledge (ZK) technology encompasses a wide range of protocols and services that utilize a cryptographic technique known as Zero-Knowledge Proofs (ZKPs). Conceived by Goldwasser, Rackoff, and Micali in the 1980s, this technology has transformed privacy and security by enabling one party to mathematically prove the existence of any type of data — or transaction — without disclosing sensitive information about that data or transaction at the same time. With the increasing investment and rapid expansion in the blockchain sector, ZK technology has experienced a significant renaissance in its development. This resurgence can be attributed to its unique capability to offer robust solutions for privacy, scalability, and data integrity, all while safeguarding sensitive information. In this blog, we aim to provide a high-level understanding of the use of ZKPs in the context of blockchain technology, with a particular focus on how they can be used to scale Ethereum. Furthermore, we aim to elaborate on how the use of ZKPs in scaling compares to other scaling solutions, and finally, the challenges that ZKPs need to overcome to gain widespread adoption. We aim to use this blog as a foundation for our next blog where we will dive deeper into applications of ZK technology.

The resurgence of ZKPs

ZKPs first garnered widespread attention for their ability to enhance transactional privacy. They allow for the authentication of transactions without disclosing sensitive details, such as the identities of the parties involved or the amounts exchanged. The project ZCash pioneered this deployment by introducing a mechanism that encrypts data within a transaction, thus preserving transactional privacy. While privacy is an important application, ZKP’s real claim to fame has been in making blockchains such as Ethereum scale. This application of ZKPs is known as a “ZK Rollup”, which is a type of Layer 2 solution used to scale Ethereum.

How do ZK Rollups work

ZK Rollups are very complex from a technical and mathematical point of view. At their core, they work by aggregating multiple transactions into a single batch and then generating a mathematical proof that validates these transactions collectively. This proof is then submitted on the Ethereum blockchain. The main types of ZKPs that have been leveraged to generate these mathematical proofs are SNARKs (Succinct Non-Interactive Argument of Knowledge) and STARKs (Scalable Transparent Argument of Knowledge) [1]. Both are used for verifying data efficiently and securely. SNARKs are notable for producing compact proofs that can be verified quickly, making them ideal for systems where efficiency is key. STARKs, while similar in purpose, offer more robust scalability and enhanced security, especially in environments with extensive data requirements, although there are some challenges to implementing this technology as we will see later [2].

A key feature of these proofs is their succinctness, which means that the proof is smaller than the data that one is proving and that it can be verified extremely quickly. Now, while both SNARKs and STARKs fall under the umbrella of ZKPs, a common misconception is that they fully employ the “zero-knowledge” aspect when they are used in ZK Rollups. In reality, they often do not. Rather, they are grouped under ZKPs due to their efficiency and succinctness in processing transactions. In fact, a more accurate term for such rollups should be “Validity Rollups” or “Verifiable Rollups” [3].

ZK Rollups vs Optimistic Rollups

ZK Rollups are arguably the most effective Layer 2 solution, yet there are other prominent ones such as Optimistic Rollups [4]. At a high level, Optimistic Rollups bundle transactions off-chain, then submit them as a single batch to the Ethereum (Layer 1) mainnet. The rollups are called “optimistic” because they operate under the presumption that all offchain activities are valid. There is a “challenge period” during which participants can dispute a transaction’s validity which can last a few weeks. This acts as a fraud-proving mechanism.

ZK Rollups, on the other hand, offer instant transaction finality and enhanced security. Unlike Optimistic Rollups, which assume transactions are valid by default and only run computations in the case of a dispute, ZK Rollups perform computations upfront and provide mathematical proof of their validity. This approach not only accelerates the verification process but also reduces the window of time for potential fraud. Furthermore, ZK Rollups minimize the burden on the Ethereum mainnet by processing transactions offchain and then just submitting a Validity Proof onchain, thus not congesting the Ethereum network, while Optimistic Rollups post a larger amount of data via a compressed version of the transaction data.

Source: Blockchain Scaling Using Rollups: A Comprehensive Survey [5]

While ZK Rollups have many advantages over Optimistic Rollups, when it comes to the ultimate goal of scalability, both are very effective solutions. Optimistic Rollups are often more effective in terms of transactions per second (TPS) but they typically have higher transaction fees due to the larger amount of data they submit to Ethereum. In contrast, ZK Rollups have lower transaction fees, but due to the complexity in creating the ZKPs, they come with higher computational costs. We want to highlight that this is the current state of these rollups. There is considerable innovation underway in this emerging field, with extensive research and development efforts focused on enhancing and expanding the functionality of this nascent technology.

Addressing challenges and paving the way for the future of ZK Rollups

Despite the growing enthusiasm for ZK Rollups and their promising potential, they currently trail behind Optimistic Rollups in terms of widespread adoption. One primary reason is that Optimistic Rollups have been in the blockchain ecosystem for a longer period, allowing them more time to evolve, gain traction, and navigate through various challenges. On the other hand, ZK Rollups, while potentially offering superior capabilities, face significant obstacles that hinder their broader acceptance. These challenges include higher computational demands, a complex technical landscape that requires a steep learning curve, and, crucially, a lack of compatibility with the Ethereum Virtual Machine (EVM) — a compatibility that gives Optimistic Rollups a distinct edge. However, it’s worth noting that active efforts and innovative solutions are underway to address these issues, aiming to enhance the efficiency and accessibility of ZK Rollups, as we will explore in the following sections.

Computation Costs

The creation of ZKPs, especially in systems using SNARKs or STARKs, is a computationally intensive process, often demanding significant processing power and memory. This is due to the complex mathematical computations involved in creating proofs that are both succinct and secure. As a result, high-performance servers or specialized hardware accelerators are typically required to efficiently handle these computations, especially for generating proofs promptly. Improving computational efficiency has been a key area of focus in the space. For example, Ingonyama [6], a semiconductor company focusing on ZKP hardware acceleration, is launching a chip that aims to revolutionize the processing of ZKPs and encryption by delivering the world’s first Zero-Knowledge Processing Unit (ZPU) that enhances efficiency and security.

EVM Compatibility

Optimistic Rollups are more user-friendly for developers, as they are compatible with the EVM. This means they can work with almost any application already on Ethereum without needing any major changes, which is a big deal for developers who want to improve their applications without rewriting them. ZK Rollups, on the other hand, are not suited for general EVM computation and are therefore less adaptable to a wide range of Ethereum applications, resulting in a limited number of applications that they could be used for. This results in a major barrier to adoption. To solve this problem, the Zero Knowledge Ethereum Virtual Machine (zkEVM) has been developed [7]. This combines the best of both worlds by enabling developers to run Ethereum smart contracts on ZK Rollups. A great example of a company doing this is Kakarot [8]. Kakarot is a zkEVM written in Cairo (Starknet’s DSL), enabling it to be deployed on Starknet, a Layer 2 scaling solution for Ethereum [9]. As such, Kakarot solves Starknet’s inherent EVM incompatibility issue and enables developers to build and deploy as if they were working on Ethereum, yet enjoy the ZK scalability benefits that Starknet can offer.

Steep Learning Curve

To develop and use ZKPs, one must often learn a specific programming language known as a Domain Specific Language (DSL). The issue with these languages is that they are often very nuanced and novel. A prime example of this is Cairo, a DSL used for creating STARKs [10]. These languages, with their unique syntax and functionalities, present a steep learning curve for developers accustomed to more conventional programming languages, thus presenting another barrier to adoption. Furthermore, for many developers, especially those without a strong background in cryptography or advanced mathematics, mastering these complex concepts and techniques can be daunting. Kakarot is an example of a company reducing the learning curve. Rather than learning Cairo, developers can write their applications in Solidity, yet still deploy them on Starknet and get the full benefits that Starknet offers. Another example of late is the idea of zkWASM [11]. zkWASM is a technology that combines zero-knowledge proofs with WebAssembly (WASM), enabling privacy-preserving and efficient execution of smart contracts on blockchain networks. WASM is a web standard that allows developers to write web applications in commonly known programming languages like C++, Rust, and Python, and run them efficiently in web browsers. zkWASM reduces the learning curve for developers, as it enables them to build ZK-based blockchain applications using familiar programming languages like C++, Rust, and Python, without needing to learn new, specialized DSLs.

Moving Forward

While there are challenges to overcome, the incredible work, time, and capital invested into Zero-Knowledge Technology is pushing the industry in the right direction. In our next ZK-related blog, we aim to dive deeper into some of the incredible applications of ZK technology in the blockchain space.

If you liked this article, please follow Eterna Capital on LinkedIn and Twitter to be updated on the next posts!

--

--