Why zk-SNARKs Are Crucial For Blockchain Data Privacy
Data privacy has been a hot topic lately.
The revelation that millions of Facebook users’ data were breached by the political consulting firm Cambridge Analytica has sent a jolt through the tech world.
With the amount of data people provide to companies like Facebook, it’s essential to have ways to protect information and keep sensitive data safe. And zk-SNARKs are a valuable weapon in the battle for privacy and security.
Known for its widespread use in Zcash, zk-SNARK is an acronym for “zero-knowledge, Succinct, Non-Interactive Argument of Knowledge.”
It’s a mouthful to say, but its capabilities are simple.
zk-SNARK is a form of cryptography that proves possession of certain information without revealing that information, and without any interaction between the prover and verifier.
For example, individuals could use zk-SNARK proofs to prove their bank accounts hold a certain amount of money. But the proofs wouldn’t reveal the exact amount of money in the accounts. Only that they did — or did not — meet a certain monetary threshold.
These proofs are allowing blockchain companies to build smarter, automated systems that can attest to certain facts without revealing the data behind those facts.
That’s important, because while greater transparency has long been the goal of many blockchain advocates, transparency has its limits. Both companies and individuals have reasons to keep sensitive information private, while still reaping the benefits of a decentralized blockchain network.
And zk-SNARKs are helping to do just that.
Where did they come from?
zk-SNARK technology may seem modern because it’s being used in blockchain systems, but the first zero-knowledge proofs were developed in the late 80s.
And the first zero-knowledge succinct argument was constructed in a paperby Joe Killian from 1992.
But modern constructions of zk-SNARKs did not arise until decades later. In 2012, Alessandro Chiesa, a professor at UC Berkeley and co-inventor of Zerocash, co-authored a paper that coined the term zk-SNARK.
How do they work?
Your childhood math teachers probably told you time and time again, “You have to show your work.” You had to prove the steps that led to your conclusion.
But in the real world, people often don’t want to show their work. Their work may contain vital business intelligence or data they don’t want others to see. Financial information, passwords, identities or inventory information — it all has to be protected.
The zk-SNARK provides a way for a party to prove the accuracy or existence of one piece of data without actually revealing it.
For example, let’s say a man wants to visit a bar, but he doesn’t want to reveal his age. Obviously, that’s a problem. The bouncer needs to know he is 21 years old to comply with the law. If zero-knowledge proofs were involved, the bouncer could run a program to scan the ID and determine whether the man was at least 21 years old. The age itself is not revealed, only the answer to whether or not the man meets the age requirement.
zk-SNARKs have extensive uses today.
In the finance world, zero-knowledge proofs are being used to help protect the identities of cryptocurrency transactions.
Many people don’t realize that Bitcoin and most other cryptocurrencies expose every user’s payment history on blockchain. Which means anyone can look up the information surrounding a payment.
There are a number of situations where the parties completing a transaction don’t want that information to be publicly available. Would a business want its clients to be able to look up exactly how much each client is charged?
Finances and transactions are generally held to be private information, the publicizing of which could put individuals or companies in compromising situations.
The digital currency Zcash is using zero-knowledge proofs to solve this problem. Its Zerocash protocol protects the identity of the payer, the recipient, and the amount. Instead of making all that information public, users can choose to pay others with anonymous “zerocoins.”
zk-SNARKs are also necessary for the future.
The problem is that even permissioned blockchains allow all node operators to access data stored on nodes within the network.
So, if multiple companies join one blockchain network, each of them can access all the data in the network. That’s a non-starter for most companies, especially those with sensitive business intelligence they want to keep to themselves.
zk-SNARKs provide an elegant solution to this problem. Rather than recording all the data from a business transaction or process, zk-SNARKS allow businesses to store only the proof of the transaction on a node.
Companies can keep their sensitive data to themselves, while still maintaining confidence in a connected record of provenance.
As the world becomes further automated, and as companies collect more and more data, privacy and data protection will become paramount. There are dystopian shades to some of the uses for blockchain and other emerging technologies. You only need to look at China’s new reputation score to see an unsettling notion coming to life.
That’s why both companies and individuals will benefit from a system that uses zero-knowledge proofs to protect their identities, private data and competitive business intelligence while tracking necessary business information.
This piece originally appeared in Forbes on April 24, 2018.