Ethereum faces unique privacy challenges, primarily drawing from its implementation of the account-based transaction model compared to the UTXO design of bitcoin, which requires some explicit trade-offs in privacy. Vitalik Buterin outlined the pros and cons of account vs. UTXO based for a smart contracts platform, and elected for the former as the most viable model for Ethereum’s long-term goals.
Despite the privacy challenges faced by Ethereum, they have not stopped a slew of projects and developments striving to bolster the privacy assurances of the smart contracts network.
In particular, discussions around incorporating zk-SNARKs, the technology deployed in ZCash for high-level anonymity, have amplified in recent months, with a collateral consequence of integrating them with Ethereum being scalability benefits.
Ethereum’s Byzantium upgrade enabled zk-SNARKs to be verified and implemented in smart contracts on the Ethereum blockchain, and now, firms are leveraging the power of zk-SNARKS for a variety of applications. One of the most notable examples is the recently unveiled Nightfall protocol from Ernst & Young (EY), which utilizes the ZoKrates zk-SNARK toolbox — a formalized model for scalable, privacy-preserving, off-chain computations on Ethereum.
Addressing Privacy in Ethereum
Concerning cryptocurrencies, privacy typically materializes as a topic for preserving the anonymity of users when participating in financial transactions. That notion has shouldered the brunt of development work in cryptocurrency anonymity technology, with the safeguards from third-party surveillance on individuals the foremost concern.
However, when you evaluate the broader applications of a public blockchain like Ethereum, where Turing-complete smart contracts are enabled, the use of privacy technologies extends beyond the individual and into business processes. But first, a high-level overview of how zk-SNARKs can preserve privacy on Ethereum.
According to ZCash’s technology page on zk-SNARKs:
“The acronym zk-SNARK stands for “Zero-Knowledge Succinct Non-Interactive Argument of Knowledge,” and refers to a proof construction where one can prove possession of certain information, e.g. a secret key, without revealing that information, and without any interaction between the prover and verifier.”
A form of zero-knowledge proofs (ZKPs), the concept is better understood with more abstract examples, such as the cave of Alibaba or the idea of verifying that Waldo exists in a portrait without specifically revealing where he is in said portrait.
The clever logic of ZKPs is that they decouple data from information.
Esoteric concepts like zk-SNARKs, which are built on exceptionally complicated mathematics, are challenging to translate into code, particularly when referencing an implementation that is congruent with applications in a blockchain. As a result, formal code libraries, like ZoKrates, become the bridge between the mathematical interpretation and the human-comprehendible aspect that can be wielded into real uses cases via code.
Formalized libraries of zk-SNARKs are still under heavy development, so they are challenging to use, but that is precisely why firms like EY have been exploring their application and working on introducing a more usable set of protocols with the underlying technology abstracted away.
The discovery of privacy tools using Ethereum is not explicitly limited to EY either. JP Morgan is also reportedly working on the technology with its blockchain Quorum — a permissioned version of Ethereum.
Nightfall is the experimental research implementation of EY’s endeavor to formalize a set of standard protocols for private transactions on Ethereum, based on zk-SNARKs. The protocols are compatible with the popular ERC-20 and ERC-721 (NFT) token standards on the network, making them widely accessible and practical to developers.
EY notes that the repository is still experimental, and has not passed a thorough security audit yet, meaning that, for now at least, it will mainly serve as a means for accelerating research and applications of zk-SNARKS on Ethereum. That being said, it does reveal some significant progress in the broader attempt to improve privacy on Ethereum.
For example, the Nightfall whitepaper articulates overcoming the problem of the public “transfer” function requiring the “to” and “transfer” inputs to be public with a conventional ERC-20 token transfer on Ethereum as follows:
“The sender (or ‘Prover’) runs a computation privately on their own computer. They pass private inputs into this computation and get a set of public outputs which they share with the blockchain. The public outputs appear as unreadable encrypted values to all observers; only the sender and receiver can interpret their full meaning. In order for these encrypted values to have ‘meaning’ to all observers, the Prover also shares with the blockchain a corresponding ‘proof’ of having correctly computed these outputs. Together this proof and these public outputs can be verified in such a way that everyone can be convinced that a pre-agreed calculation has been performed on a particular set of private inputs to produce the public outputs.”
The overall concept above is a more specific example of how zk-SNARKs tend to work, but Nightfall’s primary value proposition is its inclusion of a set of smart contracts integrated with ZoKrates that provides the foundation for creating such private transactions in Ethereum. In particular, the generation of the ‘proofs’ is performed using the ZoKrates toolbox.
Controversial trusted setups are still required in EY’s Nightfall, in numerous instances as well, but when surveying its application by businesses, that is not as problematic as the generation event in a cryptocurrency network like ZCash since firms (e.g., a supply chains logistics company) have a more private, permissioned use case confined within the broader Ethereum network.
Nightfall cites some of the potential use cases of the technology ranging from industries like supply chain management and logistics to internal corporate transactions — which is a focus of JP Morgan’s initiative with zk-SNARKs.
An example of employing Nightfall in the supply chain industry would be privately tracing of pharmaceutical products throughout the logistical journey, and importantly, not revealing details about the products themselves, such as drug type, destination, or quantity on the public ledger. The primary advantage is that enterprises can leverage the censorship-resistance, verifiability, and infrastructure of a public blockchain with similar assurances in privacy as using a permissioned chain.
Formalizing transfer protocols using zk-SNARKs can effectively reduce the impact of trade-offs in decision-making concerning public vs. private blockchains.
EY’s Nightfall references a suite of contributors that have helped the protocol set to materialize, including ZoKrates, Libsnark, ZCash, GM17, 0xcert, and OpenZeppelin. EY is planning on introducing Nightfall into their existing blockchain products — OpsChain and Blockchain Analyzer.