Fifteen years ago, most people were a little suspicious of providing payment details through the web. Now, we’ve gotten used to the idea that internet transactions are secure, and many of us do a large percentage of our shopping over the internet.
At the other end of the spectrum, many of us are becoming increasingly concerned about the amount of data the likes of Google and Facebook collect about us as we use their services. Despite this unease, we may not see many alternatives to complying with their rules. They operate by harvesting our data, and we want to keep using them.
But a recently developed security methodology that is becoming more common could represent a new way of handling security, both online and offline. The protocol is known as “zero-knowledge proof.” There are many types of such proofs, one of the most prominent being zkSNARK, which stands for “zero-knowledge succinct non-interactive argument of knowledge.”
The mathematics behind this methodology is so complicated that even Vitalik Buterin, the co-founder of Ethereum—the second-most popular cryptocurrency—calls it “moon math.” I’m guessing you don’t want to learn moon math, so instead of getting into the mathematical details, let’s take a higher-level look at what zkSNARK was designed to do and how this relates to blockchain.
In essence, a zero-knowledge proof is a way for one party to prove to another party that they know a secret piece of information, such as a password, without having to reveal the information itself.
Let’s say Bob wants to get into a bar in a state where the age limit for consuming alcohol is twenty-one. Of course, the simplest thing would be for him to show the bouncer his driver’s license with his date of birth on it. But what if he doesn’t want to reveal his date of birth or actual age, just that he is, in fact, twenty-one or older?
In that case, Bob would have to have a blockchain-based zero-knowledge-based ID card. The bouncer would scan the card to determine if Bob fits the age criteria for getting into the bar, without learning Bob’s actual age. All the bouncer will learn is either yes, Bob meets the requirement, or no, he does not.
This is a trivial example that has much greater applicability. One of the most popular cryptocurrencies, Zcash, uses zkSNARK to substantiate the validity of transactions without revealing—or keeping secure—the details of the transactions themselves. The approach, despite the underlying mathematical complexity, turns out to be highly computationally efficient.
Let’s consider another example. The zkSNARK methodology has wide applicability in different types of enterprise blockchains, such as the one my company Chronicled launched for the pharmaceutical industry. Pharmaceutical drugs are placed in containers with serial numbers that are then shipped globally. In this case, zkSNARK technology can be used to prove that a certain batch of pharmaceuticals with a specific serial number has been shipped from one party to another, without revealing the actual serial numbers or any of the other specifics of the transaction, such as the name or amount of the drug being shipped.
To return to Bob: if he has a certain medical condition requiring that he take a certain drug, zkSNARK technology can confirm both facts without revealing the details of either the condition or the drug. If, rather than wanting to get into a bar, Bob is traveling to a foreign country, a “smart” passport could verify that he is allowed to travel there without actually revealing the fact that he is an American citizen. There are many types of data, such as sensitive information about your genotype, where privacy is a real and far-from-trivial concern.
It’s not too difficult to see how this approach could be used to verify transactions without revealing identifying details of the purchaser, or to utilize websites that thrive on collecting data, while simultaneously protecting privacy.
The underlying issues here are privacy, security, and the need to verify without having to trust. These methods allow peer-to-peer transactions to be made without revealing the details of the transactions even to the parties themselves, much less to third parties such as banks and governments.
The objection has been made that this could be done with criminal intent, and it could. But the same is true of many advances in technology. Criminality didn’t begin with the blockchain, and it won’t end there, either. Meanwhile, the security of certain types of data is critically important. Methodologies such as zkSNARK are ways of ensuring privacy in an environment where trust has become an increasingly rare commodity.
Here are a few other related articles you might find helpful:
Hungry for more? For more insights on how emerging technologies like blockchain will impact your business and daily life, be sure to check out Samantha Radocchia’s #1 Best Selling book — Bitcoin Pizza: The No-Bullshit Guide to Blockchain.