I have to admit it, I am not a fan of crypto currencies. I know this means that I’m probably not one of the cool kids.
I don’t like how Bitcoin uses more power than some countries. I don’t like how I can make Etherum only can handle 15 transactions per second when classic stock exchanges can handle 80.000 transactions per second.
It really seems like blockchain is just a slower, more expensive, and more polluting way to solve a problem which we already have other solutions for.
Back in 1969
When we flew to the moon some naysayers similarly begrudged that there was economic turmoil and world hunger which we should be spending our time and money on instead.
While technically, NASA didn’t invent teflon, it did bring about its use to the masses. If it hadn’t been for NASA space exploration, maybe we would never have had the widespread use of teflon, velcro, baby formular, and all the other things that were in use in space exploration which also happened to be very useful on the ground.
Back to the future
Or well, back to the present time. Today, we have a growing following of blockchain technologies. To a large degree, those followers are struggling to find a valid use-case for the technology that they are proponents of. We have banks already, but they are really deficient. Sadly, the state of crypto seems to be reinventing banking when we are using centralised exchanges to handle crypto currencies for us, except with the aforementioned huge environmental cost.
But, hang on a second. Aren’t we just recreating the old banking world with all of its attached system and counterparty risks? Maybe, yes.
— Michael J Casey
One of those spinoff technologies which happened to come out of blockchain research is zero knowledge proofs. The very short description of a zero knowledge proof is that we have the ability to verify a statement (e.g. “I am authorised to use this resource”) without having access to the source data (e.g. the list of authorised users). There are a number of other zero knowlege proof applications, but that is way beyond the scope of this article.
This may seem like magic in the same way that public-private key pair cryptography seems like magic.
So how is any of this any more useful than blockchain itself?
Say you have a group of users in an emerging market where there is little to no access to internet access and their only way to exchange data is via mesh networks, but they still want to only share data with trusted parties.
For instance, there is a group of palm oil farmers in Indonesia who would like to learn about the splendours of organic farming and how to reuse their current fields instead of continuing deforestation for their palm fields. There is an ongoing effort to bring education and the ability to share knowledge to these farmers. One of the issues in this project is that there is little to no internet available in the palm fields in the near the rain forest in Indonesia.
One of the technologies involved in enabling knowledge sharing is that a forum is set up where the farmers can share their experiences with those they trust. The actual connectivity layer can be accomplished with a mesh network or a wifi-direct connection between peers meeting on a mountaintop or in the middle of the rainforest. The next challenge is to choose whom to share with. How can we trust that a person is authorised to read the data that I have to share? Specifically, how can I know if a user is member of the group of users which has that authorisation?
Moreover, these emerging markets have limited access to modern technology, so we cannot expect them to have disk space enough to carry the full state of all users (nor do we want to because that could involve privacy leaks), nor the ability to perform heavy computation on their devices (i.e. no proof of work).
Enter zero knowledge proofs. They take up very little space and are computationally very easy to verify. Also, they do not rely on the ability to access a trusted external authority.
A zero knowledge proof implementation you can use today