[PART 1] Here's how Zero Knowledge could be more impactful than the blockchain
Is it about to be Zero Knowledge's time to shine?
This is Robin, reporting in from the 31st century. During our time, we currently reap the benefits of Zero Knowledge. While my ancestor from this time wasn’t even old enough to go to a bar yet, this technology would have allowed him to prove his age to any bouncer without even revealing it.
Now, I know what you’re thinking, that seems like literal magic and almost kind of surreal but thanks to advances in computers this otherwise old math can be applied in ways that we are yet to imagine. It’s the absolute magic of math and cryptography, both of which have have contributed to the rise of the Internet, Crypto, and DeFi that have currently or will in the future enable widespread technological and societal shifts. Now, it is clear that this shift will be enabled again by math and cryptography.
An Overview of Zero Knowledge Proofs
A zero knowledge proof is a cryptographic protocol where one party (the prover) proves to another party (the verifier) that something is true without revealing how it is true.
Let’s describe a pretty simple example and delve into some practical applications.
“My name is Robin, and I have friend named Green Lantern”
Unfortunately, my friend Green Lantern is colorblind, and can’t differentiate between the many colored balls I have laid out on a table. I tell Green Lantern that the balls on the table are actually many different colors. Green Lantern doesn’t believe me and says I’m just joking with him. I pick up the blue and green balls to prove it to him. I hand him these two balls and request that he puts them both behind his back and show one to me. He shows me one ball and then takes his band back. He asks, “Did I switch the balls?” I answer “Yes”. Now Lantern and I had some time to kill so we repeat this game many many times and if I answer correctly every time then he’ll come to the conclusion that the balls are in fact different. The really important thing here is that I have managed to prove that balls are different without revealing any other information. Unfortunately for our friend here he still is unsure which ball is which color.
If you’d like even more examples you can find them here that are geared towards literal children.
Outside of having fictional superheroes asking questions about balls the implications of this are obviously very enormous in how we can exchange information to each other. For example, on the internet it would give greater autonomy to users and ensure that privacy is a right and not a privilege.
History of Zero Knowledge Proofs
Zero Knowledge Proofs are rather old. They were first designed and devised in 1985 by MIT researchers Silvio Micali, Charles Rackoff, and Shafi Goldwasser.
Together, this trio of turbo autists banded together and improved on an interactive proof system. An interactive proof system has two parties: a prover of information and a verifier. Typically in these systems, it is assumed that the prover can’t be trusted and that verifier can be.
The system is designed in such a way that
The verifier can be convinced of a true statement by an untrusted prover
That it is impossible for the prover to convince the verifier of an untrue statement
These scientists also expanded on this system by devising a system where both the verifier and prover can’t be trusted.
In the case of the bouncer problem my ancestor had to deal with, he would have never needed to disclose his actual birth date
Shortly after 1985, Tim Burners Lee created the internet in 1989. If Lee had used zero knowledge proofs it’s safe to say that the internet would look vastly different than what we know today and would arguably be vastly better.
Zero Knowledge Proofs continued their research by professional academics and one of the most promising applications was in reshaping passwords in the 2000s.
This was by far the most practical and stayed largely in academic circles due to the costs and lack of efficiency at the same time for implementing zero knowledge proofs.
Today, when you log onto a website, you type in your password and this is then sent to a server and then hashed. They then compared the hash to the hash they have stored on their server and viola you are now logged in. This prevents your password from being stored as just plain text and is an alright security measure. However, there’s a problem here in that you are still disclosing your password to the server itself.
The standard today is efficient but lacks privacy for users and leaves them wide open for data leaks and hacks.
Fast forward to 2013-2014 and Zero Knowledge Proofs started to see practical applications emerge in cryptocurrencies like ZCash in their whitepaper.
In the case of Zcash zero knowledge proofs enable the network to maintain the decentralized properties of a coin like Bitcoin and introduces the privacy preserving features of physical cash (a near lack of traceability).
Presently, in 2021 zero knowledge proofs have just begun to become practical as efficiency and cost effectiveness has been enabled by a dreaming startup named Aleo. Aleo is the ultimate toolbox for enabling developers to build zero knowledge applications in record time enabling the same speed and efficiency of building traditional applications with more privacy and more trust for users.
In 2021, we’re also seeing the rise of new forms of identity management like from Magic who is raising millions from venture capitalists as they seek to change passwords from being typed to opening up an email. Magic is currently the industry standard for passwords on dapps. The problem with this system is that it’s still centralized and not in the hands of users. Magic is a Web 2.0 version of passwords and now someone wise will create the Web 3.0 version of passwords with zero knowledge. I believe that this will change very soon and that Magic faces an existential threat from zero knowledge applications that will allow for users to hash their passwords on device. It will enable a future where your password can’t be compromised by error, bad actors at a company, or anything outside of your control. Any company who manages to do this well in an easy to integrate way for developers will surely become a unicorn and cement their names in internet history.
That’s all for Part 1, I hope that this was a comprehensive overview of how Zero Knowledge Proofs work, their history, and just one potentially world changing application of them. In Part 2, I’ll tackle potential applications beyond just passwords, serverless computing, why DeFi puts privacy at risk, and a privacy layer for the web that makes privacy automatic and not something users need to opt into.
Thank you for reading and do good in the world.
But how GL is sure Robin tells the truth?
Thanks Robin.