In the world of cryptocurrencies, security and transaction verification are critical. If malicious actors can infiltrate a blockchain and falsify transactions or steal private key information from users, trust will erode quickly. At the same time, many cryptocurrency users demand anonymity and privacy in order to allow transactions to be conducted without exposing potentially exploitable information to the parties acting as verifiers.
These factors have led to the implementation of a technology that not only secures blockchain transactions but keeps all transaction information private for all of the involved parties.
What are Zero-Knowledge Proofs?
Cryptocurrencies like Bitcoin and Ethereum use public addresses to mask the true identities of parties conducting a transaction, but these addresses only provide partial anonymity, as public transactions can be traced, and information about the sender, receiver, and transaction amount are readily available for public viewing.
A zero-knowledge proof is a method by which a party can verify information without any knowledge of the underlying information. The idea was first conceived in 1989 in an academic paper that came to the conclusion that there was a method to “decrease the amount of knowledge that must be communicated in order to prove a theorem.”
This idea was further developed and applied to maintaining security of information in transactions while still proving these transactions to be valid. Because no information is actually provided to the party validating the transaction, it cannot be stolen or manipulated. This keeps all sensitive data 100% secure. At the same time, the proof is able to answer the question of whether a user has enough funds to send to another user, without knowing exactly who the user is or their account balance.
Why is this Important?
In cryptocurrencies, this concept is applied to the verification of blockchain transactions. On public blockchains, anyone can view the public keys of both parties involved in a transaction and the amount transacted. Zero-knowledge proofs enable network validators to verify a transaction as valid without knowing the contents of that transaction, leaving the transaction validated but the information within it hidden.
For many industry advocates, zero-knowledge proofs deliver on cryptocurrencies’ promise of anonymity. This anonymity, in turn, leads to forms of currency that cannot be censored, tracked, or monitored by any central bank or governing body. For cryptocurrency users in places like Venezuela, where governing regimes may be regarded as corrupt and manipulative of local currencies and commerce, this is of immense significance.
Turkish citizens have started to turn to Bitcoin due to their government’s manipulation of the Lira. However, the Turkish government is still able to track Bitcoin transactions should they choose to do so. Zero-knowledge proofs are a potential benefit for such users, as they deny the government the ability to trace or control transactions.
Who is Using Them?
One of the most well-known users of zero-knowledge proofs in the cryptocurrency industry is Z-Cash. This cryptocurrency is promoted as a privacy-protected digital asset that shields transactions so that they are completely private. Users have the option to share some of the transaction details via a selective disclosure function, should they choose.
Instead of creating brand-new cryptocurrencies to implement zero-knowledge proofs, some are adding this technology to existing blockchains. The global consulting firm EY has implemented zero-knowledge proofs on to the Ethereum blockchain, which is set to allow for private transactions on the Ethereum network without altering its consensus protocol. Another iteration of zero-knowledge proofs on the Ethereum blockchain is being developed by JPMorgan in conjunction with Quorum, the enterprise platform built on top of Ethereum. This is an extension to the Zether protocol which is designed specifically for confidential payments.
Some parties are even trying to build such privacy features on top of Bitcoin. The most notable of these is MimbleWimble, which is designed to create privacy and fungibility for transactions in a scalable way. Transactions can be validated via MimbleWimble while being “completely opaque”. Moreover, MimbleWimble is not limited to Bitcoin: it can be applied to any number of blockchain networks if applied correctly.
Limitations
While zero-knowledge proofs solve a significant number of problems for blockchain security and anonymity, they are not perfect. Generally, transactions using this technology take a longer time to compute due to their complexity. This is particularly the case if such proofs are used in conjunction with other privacy technologies such as ring signatures. Additionally, the information being sent must be numerical in nature, or else some sort of translation would be needed. This does not present a problem for financial transactions, but falls short on other blockchain transactions such as data storage and sending secure messages.
Implications for the Future
While zero-knowledge proofs improve the privacy and security of blockchain transactions, some projects are applying this technology to a variety of other types of transactions.
Monero has developed ‘Bulletproofs’ which scales the idea of zero-knowledge proofs in order to drastically reduce their verification time. According to pseudonymous Monero cryptographer Sarang Noether, “It does the same thing, this nice, black box, zero-knowledge proof idea, but is much, much, much smaller and much, much, much faster to do.”
It is likely there will be even more technological advances in zero-knowledge proofs, and their result could mean even more security and anonymity for cryptocurrency users. For now, cryptocurrencies like Z-Cash and Monero remain the go-to solutions for users seeking zero-knowledge proofs built into their digital cash.