Bringing Privacy to Blockchain
*This article is related to the 'Brining Privacy to Public Blockchain’ session at Korea Blockchain Week 2023.
Disclaimer: This article is intended for general information purposes only and does not constitute legal, business, investment, or tax advice. It should not be used as a basis for making any investment decisions or relied upon for accounting, legal, or tax guidance. References to specific assets or securities are for illustrative purposes only and do not represent recommendations or endorsements. The opinions expressed in this article are those of the author and do not necessarily reflect the views of any affiliated institutions, organizations, or individuals. The opinions reflected herein are subject to change without being updated.
Blockchain technology is widely recognized for its transparency, immutability, and security. However, this transparency has a fatal flaw when it comes to privacy. When Bitcoin first came out, many people said that it was an anonymous currency, but this is not true. Rather, all transactions on the public blockchain are publicly visible, meaning that anyone can see the transaction history and track the flow of funds. This lack of privacy has been a major barrier to the adoption of blockchain technology in various sectors, including finance, healthcare, and e-commerce. To address this issue, several privacy-enhancing technologies (PETs) are being developed, such as zero-knowledge proofs, ring signatures, and stealth addresses. Among these technologies, zero-knowledge proofs are considered one of the most promising solutions for blockchain privacy. In this article, we'll discuss the relationship between privacy and public blockchains and the recent adoption of ZK technology by Layer 1 chains.
2. What are ZK Proofs?
Zero Knowledge Proofs | Source: Towards Data Science
Zero-knowledge proof (ZKP) is a cryptographic protocol that allows a prover to prove to a verifier that they have knowledge of a piece of information without revealing the information itself. In other words, ZKP allows you to prove that you know something without actually revealing what you know.
ZK proofs fall into two categories: non-interactive zero-knowledge proofs (NIZK) and interactive zero-knowledge proofs (IZK). NIZK is a type of ZK proof that does not require interaction between the prover and the verifier, while IZK requires interaction between the prover and the verifier.
ZKPs can be used in a variety of applications, including authentication, identity verification, and privacy. One of the most important applications of ZKP is in the context of blockchain technology, where it can help protect users' privacy while maintaining the integrity of the blockchain.
2.1 How does ZKP work?
ZKP works by allowing a prover to prove to a verifier that they have knowledge of certain information without disclosing the information itself. This is accomplished by using a complex mathematical algorithm that allows the prover to generate a proof that proves their knowledge of the information without disclosing the information itself.
The verifier can then use the proof generated by the prover to verify that the prover does indeed have knowledge of the information, even if the prover does not actually know the information.
3. Bringing Privacy to Layer 1 Blockchain Using ZK Proofs
A blockchain is essentially a decentralized ledger maintained by a network of nodes. In a layer 1 blockchain, all nodes in the network must access the same data and participate in the consensus process, meaning that all transactions on the blockchain are publicly visible to all nodes. This is why blockchains are called "public blockchains" by default, and why they are public goods.
ZK Proofs can be used to provide privacy to layer 1 blockchains by allowing users to prove the validity of a transaction without revealing any information about the transaction itself. On blockchains that support ZK Proofs, transactions are validated with ZK Proofs that prove the transaction is valid without revealing any information about the transaction. This is a way to ensure the privacy of transactions while maintaining the security and immutability of the blockchain, thereby leveraging the advantages of blockchains while compensating for the disadvantages of transparency.
How Does ZK-SNARK Wrok? | source: HALBORN
One of the most promising implementations of ZK Proofs on the blockchain is the Zcash protocol. Zcash is a cryptocurrency that uses ZK proofs to enable private transactions. To enable private transactions, Zcash uses zk-SNARK (zk-SNARK stands for "Zero Knowledge Succint Non-Interactive Argument of Knowledge"), which is a type of zero-knowledge proof (ZKP) and arguably the most well-known type. In the context of blockchains, zk-SNARKs can be used to provide privacy for transactions while maintaining the security and immutability of the blockchain. The Namada blockchain, which I'll discuss later in this article, uses a special type of ZKP called ZK-SNARK (which is also the core technology behind the Namada blockchain).
ZKPs can also be used to enable other privacy features on layer 1 blockchains. For example, ZK proofs can be used to enable anonymous voting on a blockchain. Voters can use ZKP to prove that they are eligible to vote without revealing their identity or who they voted for.
4. Advantages of Using ZK Proofs for Blockchain Privacy
4.1 Enhanced Privacy
One of the main advantages of using ZK Proofs for blockchain privacy is that they increase privacy. Because ZK Proofs allow transactions to be verified without revealing any information about the transaction itself, they can ensure the privacy of transactions while maintaining the security and immutability of the blockchain. As I've repeatedly mentioned above, this can offset the disadvantages of public blockchains.
4.2 Improved Security
ZKP can also improve the security of a blockchain by reducing the risk of hacking and cyberattacks. ZKP allows transactions to be validated without revealing information about the transaction itself, making it harder for hackers to steal sensitive information.
ZKP can also improve the scalability of a blockchain by reducing the amount of data that needs to be stored on the blockchain. ZK proofs make it possible to verify the truth of a claim without revealing the data used to prove it, which reduces the amount of data that needs to be stored on the blockchain. In fact, many of Ethereum's rollup chains have chosen to utilize ZKP to deliver data to Ethereum. This allows rollup chains to validate their transactions on the Ethereum mainchain with much less data, leading some to argue that ZKRollups using ZKP is the way forward for Ethereum rollups.
So far, we've covered an overview of ZKP, its methodology, and its advantages. If ZKP is so good, why isn't it widely used on all blockchains?
5. Challenges of Using ZK Proofs for Blockchain Privacy
One of the main challenges of using ZKP for blockchain privacy is the complexity of the technology. ZKP is a relatively new technology and requires a high level of expertise to implement correctly. Not everyone can apply ZKP to a blockchain simply because they like it; it requires a significant level of cryptographic and mathematical knowledge. Blockchain requires a lot of knowledge in various fields, and if you add ZKP to the mix, the barrier to entry becomes too high. This is one of the reasons why ZKP is still not widely used.
If you're just having trouble understanding it, that's fine. The technical complexity of ZKP itself is so high as to "overload the computers (especially RAM) that have to compute it" (https://dl.acm.org/doi/10.1145/3460120.3484800).
Another issue with using ZK proofs for blockchain privacy is the performance impact. ZK proofs require a significant amount of computation, which can slow down the verification process.
5. 3 Adoption & Regulation
Finally, another challenge of using ZK Proofs for blockchain privacy is adoption. Since ZK Proofs are a relatively new technology, the problem is that many developers and users are unfamiliar with how they work and how to implement them. This ties in with the complexity and difficulty of the technology mentioned in 5.1.
In fact, while the technical difficulty is a good thing, ZKP is so closely tied to privacy that the regulatory aspect cannot be ignored. With so many countries around the world concerned about money laundering through crypto, no regulator is going to like it if ZKP is used to bring privacy to the blockchain.
Regardless of the net function of privacy, it's not going to be easy to adopt ZKP if regulation eventually comes along, so ZKP is inherently difficult to adopt in many ways.
6. Privacy-Focused Blockchains You Should Pay Attention To
While ZKP is technically and regulatory difficult to apply, there are new blockchains that are actively applying ZKP and focusing on privacy, so we would like to introduce them.
Namada is a interchain focused privacy layer 1 | source: namade
Namada Blockchain is a Tendermint-based privacy blockchain created by a team called Heliax (Public good laboratory), known for creating Anoma, which brought the concept of Intent (as the name implies, Intent is a user's intention or goal and is designed to trigger smart contracts in specific situations) to the market. It's a Tendermint-based chain, but it's also connected to Ethereum and provides privacy for your assets no matter where you move them (using Multi-Asset Shielded Pools, MASP is built on top of ZK-SNARK).
Since Namada is a Tendermint-based blockchain connected to Ethereum, users can use Namada to move Ethereum and Ethereum-based assets to Cosmos ecosystems like Cosmos and Osmosis. Of course, one of the unique features of Namada is that it doesn't just allow users to transfer, but to do so while ensuring their privacy.
Layer 1 chain enabling private Applications | Source: Aleo
While Namada is a privacy blockchain built on top of Tendermint consensus, Aleo is a layer 1 blockchain with a lot of privacy in mind, starting with consensus. Aleo has its own consensus mechanism called PoSW (Proof of Succint Work), which requires all mining nodes to form and verify a zk-SNARK. By applying zk-SNARK outside of consensus, privacy is applied from the most basic part of the blockchain, so it goes beyond just protecting information and maximizes the succinctness of SNARK to make proofs simpler, which effectively saves the computing resources needed to verify the ALEO network. Of course, there are still technical issues that need to be resolved, but we hope that ZKP can be considered as an example to show that it can be successfully utilized outside of layer 1.
ZKP is a very promising technology that can bring privacy to layer 1 blockchains. While many people think of ZKP in terms of rollups, ZKP is not limited to rollups, and can be used for data privacy in addition to transaction simplification (the original idea of ZKP was more focused on privacy than simplification). ZKP allows transactions to be verified without revealing information about the transaction itself, and has the advantage of ensuring the privacy of transactions while maintaining the security and immutability of the blockchain. The Zcash protocol is an example of a successful implementation of ZK Proof in blockchain technology, and other leading blockchains such as Namada and Aleo are using ZKP to create privacy-focused blockchains. As the demand for privacy in blockchain transactions continues to grow, ZK Proofs will become an increasingly important tool for ensuring privacy in layer 1 blockchains. However, there are also many challenges that need to be addressed, such as the complexity of the technology, its impact on performance, and regulating the need for its adoption, so it will be interesting to see how ZKP and layer 1 intersect in the future.
Four Pillars is a global crypto research firm based in Seoul, consisting of the most influential blockchain researchers in Korea. Through robust research and governance skills, it helps various market players easily onboard to the blockchain industry by offering high-quality research articles while supporting protocols in their expansion into Korean and global markets.
Writer: Steve Kim, Co-Founder and CEO at Four Pillars
#ZKP #Privacy #Layer1 #FourPillars