The very subtitle of this post is a pun on the discussion of zero-knowledge proofs & the fundamentals of this concept, but I’ll still write about it 😛
Just a few days ago, I had a discussion on zero knowledge proof & how does it work.
Here’s an attempt to simplify it →
Can we break down the concept of zero-knowledge?
Lets attempt!
Zero knowledge proof is a way for someone to prove that they know a particular fact / item /detail etc. without having to actually reveal what it is that they know.
Allow me to quote an example here 👉🏼
Bob & Alice are two great friends and have a lot in common. One fine day, Alice asks Bob to choose a number between 1 to 10
Bob being the good friend he is, chooses the number 7, but he smartly decides to keep it a secret.
Alice, says that she already knows the number he’s thought of !
She starts to guess the numbers, and makes use of clues Bob came up with to help her narrow down the possible options without revealing the secret number.Clues, for example could be:
"Speak out the number you( Alice) think, I’ve( Bob) chosen.
I'll tell you if your guess is higher or lower than the number I'm thinking of."& they start off, Alice says 2, Bob says higher,
Alice then says 9, Bob says lower…After a few guesses, Alice figures out the secret number without Bob ever having to tell her what it is!
While this is an extremely basic example, it sets context on how zero knowledge proofs work.
In the fascinating world of cryptocurrencies, zero knowledge proofs can be used to enable anonymous transactions by allowing users to prove that they own a certain amount of cryptocurrency without revealing their identity. This can help protect users' privacy and make it difficult for others to track their financial transactions.
🤯 Error 404! How does this work?!
“0xF2f5C73fa04406b1995e397B55c24aB1f3eA726C “
This is a typical wallet address on Etherscan.io; a popular blockchain explorer platform, that allows ALL users and viewers to lookup real-time transactions on the ERC blockchains ( ERC20, ERC721, ERC1155)
& this screengrab shows us that a transaction has occured between Wallet Address (A) to a smart contract address (B) worth value ~$35
Is the value revealed? YES
Is the Identity of the person revealed? NO
However, does this person exist? YES
Because his wallet exists!
Therefore, a pseudoanonymous transaction has occured, proving that Mr So. & So. exists without him having to reveal his identity, and that he holds crypto.
📌 Level 2
A better example here ( though slightly nuanced) can be:
Zero knowledge proof implementation in the world of cryptocurrency is Zcash, a decentralized digital currency that uses zero knowledge proofs to enable anonymous transactions. In Zcash, users can choose to make either "transparent" transactions, which are publicly visible on the blockchain, or "shielded" transactions, which are private and cannot be traced.
https://z.cash/
To make a shielded transaction, the sender uses a zero knowledge proof to prove that they own a certain amount of Zcash without revealing their identity or the specific details of the transaction. The proof is verified by the network, and the transaction is added to the blockchain without revealing any sensitive information. This allows users to make anonymous transactions that cannot be traced, providing an extra layer of privacy and security.
Other cryptocurrencies, such as Monero and Grin, also use zero knowledge proofs to enable private, untraceable transactions.
& that’ll be all folks!
Good karma → if you subscribe
Great karma → if you get your friends to subscribe
Best karma pro max → if you get 10 friends to subscribe!
Nicely written. Would be helpful if you can also give some context on why such solutions (ZKP) in this case were needed and what challenges are they solving