Zero-knowledge proofs are hard to grasp on a mathematical level, but the implications are clear. They can shield transaction details and protect user identity.
For many, the crypto part of cryptocurrencies implies privacy or at least a layer of identity protection. And on some levels, that’s what cryptocurrencies do: They allow users to interact in secure and trustless environments by conducting transactions with public and private keys on a blockchain.
But one big thing to realize is that blockchain protocols differ on their level of privacy protection, and most crypto platforms currently only mask a user’s identity, not completely protect it.
Contained within the sequence of numbers and letters of most public and private key systems are enough traces of information that it is possible to establish patterns. If those patterns are linked to an in-real-life identity, then the layers of privacy become compromised.
Writing in the MIT Tech Review, Mike Orcutt describes it this way: “As long as no one connects your real name to your address, you can effectively hide your transactions. If your true identity does get connected to your address, though, suddenly anyone who might be interested can see every transaction you’ve ever made on the network.”
Zero-knowledge proof out in the world
Trying to figure out how much information really needs to be shared to enable a trusted transaction has been vexing computer scientists for decades.
Early zero-knowledge proof research points back to MIT in the 1980s, and at the time (and still) had applications relating to data leakage when using things like passwords on servers.
Among other uses, zero-knowledge proofs today are as the foundation for zk-SNARKS (which means zero-knowledge — succinct non-interactive adaptive argument of knowledge) as one method to ensure privacy during cryptocurrency transactions.
Consider what’s currently required to complete a transaction on the bitcoin network: A complete transaction on the bitcoin blockchain needs a sender address, a receiver address, and input and output values. This information can leave a trail.
A zk-SNARK alternative, on the other hand, enables shielded transactions by mathematically verifying the contents of the transaction provided by the “prover.” The SNARK part compresses information so that transactions can be verified quickly — almost instantaneously — by the verifier, once the prover’s claims are settled. All without the need to reveal additional details.
It’s important to note that zk-SNARKs are not the only way to build privacy into a cryptocurrency protocol. Monero, for instance, is using a system of ring signatures to bolster privacy. Undoubtedly, future projects will develop new ways to protect user and transaction details.
Currently, the privacy-focused cryptoasset, Zcash, uses zk-SNARKs in their protocol. Ethereum developers have also indicated that they will adopt zk-SNARKs in the future.
It’s also interesting to note that while privacy and identity protection have obvious applications in finance, there are a number of other applications where the tech could be useful.
Zero-knowledge proof might make voting on blockchain possible. The system would allow the voter to be protected, but would also enable confidence in the results and might finally enable digitally-based voting systems.
But the true value of the method of private but verifiable identity is probably still unknown. Again, from the Tech Review’s Orcutt: “Ultimately, how far this technology can take us is still hard to say—the field’s top minds have only just begun to figure out how to put it to use. But there’s a very real possibility that it will one day extend into nearly every aspect of our online lives. We could be witnessing the beginning of a revolution in how we handle our most personal information.”