#LifeWithBlockchain: Blockchain & Zero-Knowledge Proofs - A New Way To Protect Your Sensitive Data?

I came across the following problem when I was looking for an apartment for my semester abroad in France. There is a lot of stuff to handle before finally signing the lease and some of the requirements not really pleased me, as I am very careful when it comes to providing sensitive personal information to complete strangers. But the good thing is that this case really motivated me to examine this issue from a Blockchain perspective. :)

1. What is the Pain Point?

In France, almost all landlords ask for a French guarantor. He is the person who will pay the rent for you, in case you cannot pay for it. If you can’t provide any French guarantor, it will be tricky to get an accommodation in France. In this context tricky means, that if you are a student from Germany and do not have a full time job (which is quite difficult if you are a full time student ;) ) to guarantee your own ability to pay, you have to provide the landlord a lot of sensitive information about the liquidity of your parents. Pay slips of the last three months, electricity bills, passport, home address, the firm's address for which your mother or father is working and a lot of other confidential data. So for me providing those information, to a complete stranger to whom I never talked in person before and where I can not even be sure if he or she exists, this really felt very painful. So after I cried and imagined endless scenarios of possible identity theft I just remembered a discussion from my Blockchain seminar where we discussed the potential of Blockchain in the domain of digital identities, which is a very ubiquitous topic in the Blockchain realm. Especially when thinking about refugees or homeless persons that may do not have a way to claim ownership over their identity. This definitely causes major problems because without a valid form of ID, one can’t own property, vote, receive government services, open a bank account, or find full-time employment - it is like becoming invisible in society. But long story short, this topic made me ask myself: Is there a possibility not only to prove your ID with Blockchain, but also prove other important personal information like creditworthiness or your own liquidity without revealing sensitive information to other parties?

2. How could these Pain Points be reduced or eliminated in a blockchain-world?

During my research, I stumbled across a topic called Zero-Knowledge Proofs. The concept of ZKPs is not new because it originally stems from the area of cryptography, but recently the technique just began to redefine the concept of online privacy within the context of Blockchain. But what are ZKPs? A zero-knowledge protocol is a method by which one party (the prover) can prove to another party (the verifier) that something is true, without revealing any information apart from the fact that this specific statement is true. In other words; zero-knowledge proofs let you validate the truth of something without revealing how you know that it is true or sharing the content of this truth with the verifier. This principle is based on an algorithm that takes some data as input and returns either ‘true’ or ‘false’. Thereby a zero-knowledge proof must satisfy the following three parameters:

  • Completeness: If the input is true, the zero-knowledge proof always returns ‘true’ 
  • Soundness: If the input is false, it is not possible to trick the zero-knowledge proof to return ‘true’
  • Privacy: The input can not be obtained by any other party

So summing this up, ZKPs can let you proof the validity of any kind of data, including financial and personal data. Bringing this to the Blockchain realm means one could implement a distributed system where each user will have a special cryptographic digital identifier that contains some personal data. This digital identifier will be impossible to forge or change without its owner’s knowing. Landlords and other parties will have their own digital documents, as well. In this system, in order to get a loan, you can take a corresponding digital income certificate from your company, the legality of which is cryptographically easy to check. You can then request a loan. The landlord may then verify that you earn a required minimum using ZKP, and it’s not necessary to reveal sensitive specifics like the confidential liquidity information of your parents.

By the way, ZKPs also enable the transfer of assets across a distributed, peer-to-peer blockchain network with complete privacy, which is another major advantage for Blockchain applications. So it is worth digging deeper into it if you are interested in Blockchain. :)

Please also find some interesting articles related to the topic under the following links (which I used for inspiration):

1. https://medium.com/@schor/on-zero-knowledge-proofs-in-blockchains-14c48cfd1dd1

2. https://medium.com/blockchain-at-berkeley/the-impact-of-digital-identity-9eed5b0c3016

3. https://blockchainwelt.de/zk-snarks-und-zero-knowledge-proof/

4. https://www.ibm.com/blogs/blockchain/2019/01/privacy-in-blockchain-collaboration-with-zero-knowledge-proofs/

5. https://www.altoros.com/blog/zero-knowledge-proof-improving-privacy-for-a-blockchain/

Do you like the topic? #upvote

Thanks for reading!

Markus