Privacy concerns continue to be an important topic for blockchain and cryptocurrency users. As more individuals and businesses enter web3, traditional financial use cases like payroll, vendor payments, and donations need usable privacy options and solutions.
Public blockchains are transparent by design, allowing anyone to trace a transaction and trust with certainty that it has occurred. Fortunately, adding a privacy layer to a public ledger does not complicate that trust. Transactions and other data can be verified and a user’s identity and other sensitive information can be protected with privacy-enhancing technologies.
Zero knowledge proofs (ZKPs) are one of the most powerful privacy-preserving technologies available today. ZKPs use cryptographic techniques to allow one party to prove to another that something is true, without revealing any details about the information. This opens up the possibility for transactions that do not reveal amounts, senders or recipients; or the ability to prove credentials or KYC information without revealing specifics.
ZKPs and zkSNARKs: A short history
ZKPs were introduced prior to the blockchain’s existence, and these ideas have continued to evolve over the past decade to become an important technology for blockchain projects and users.
The concept was first introduced by Shafi Goldwasser, Silvio Micali, and Charles Rackoff in 1985. In their paper “The knowledge complexity of interactive proof-systems”, they proposed a cryptographic protocol that allowed one party to prove knowledge of a secret to another party without revealing any information about the secret itself.
Following up on these ideas, Eli Ben-Sasson, Alessandro Chiesa and others introduced the concept of Succinct Non-Interactive Arguments of Knowledge (SNARKs). SNARKs aimed to create proof systems that were both succinct (short) and non-interactive (didn't require back-and-forth communication).
In 2013, Eli Ben-Sasson, Alessandro Chiesa, Eran Tromer, and Madars Virza introduced zkSNARKs, which combined the concepts of zero-knowledge proofs and SNARKs. zkSNARKs improved upon previous constructions by achieving extremely short proofs, making them highly efficient and practical for real-world applications.
Since then, zkSNARKs have gained significant traction in the field of blockchain and privacy-preserving technologies. Many projects and applications have incorporated zk proofs and zkSNARKs for increased efficiency and privacy.
Zero-knowledge technology is finding its way into many applications today. zkEMVs take the state of the virtual machine, perform computations, and output an updated state with a zero-knowledge proof. The proofs are then submitted to a verifier that checks that the updated state is correct, without needing to process individual transactions. This improves scalability and performance, and is a big area of research and development for zkSNARKs.
Another big area of research relates to blockchain privacy. zCash is one of the early adopters of this technology, leveraging zkSNARKs to allow users to perform transactions without revealing sender, recipient, or transaction amounts. zkBob continues to advance this technology with a user-friendly protocol focused on personal financial privacy.
Many other projects are exploring ZKPs. A recent gitcoin grant round featured more than a dozen new projects including zkBob and ZeroPool (the creators of the library zkBob utilizes for proof construction) that are creating and refining zk tech for future applications.
Zero-knowledge technology is still new, and advancements are being made rapidly. Due to the size and complexity of ZKPs, computations can sometimes be limited by hardware specs or take a very long time to create.
This has been an area of focus for the zkBob team. Recent optimizations allow zkBob to run on a mobile device, with smaller proofs that can be constructed in a matter of seconds rather than the 1 minute plus timeframes when the application first launched.
The team has also introduced a remote proving mechanism, so that users can send funds without needing to compute proofs locally on their own machine. This functionality makes it easier for 3rd party applications (like wallets) to seamlessly introduce privacy-preserving transactions.
The future of privacy
Privacy is a fundamental aspect of the financial world, and as resources and applications become digitized it is necessary to develop systems that preserve individual privacy. Zero-knowledge technology can help us get to a place where basic financial information is completely verifiable and also private.
As Vitalik Buterin recently stated, "Cryptocurrency is the only thing currently being developed that can realistically combine the benefits of digitalization with cash-like respect for personal privacy."
zkBob and many other innovators in the space are now developing the tools and applications which will bring privacy options to all blockchain users.