#Blockchain space has seen a lot of progress in the past decade.
But its goal to be a decentralized financial platform, empowering billions of people is not yet a reality
But there is one piece of tech that could scale blockchains to achieve this
Let's talk about zk-Proof
But its goal to be a decentralized financial platform, empowering billions of people is not yet a reality
But there is one piece of tech that could scale blockchains to achieve this
Let's talk about zk-Proof


zk-Proof (ZKP) is a cryptographic technique which was proposed by MIT researchers—Silvio Micali, Shafi Goldwasser, and Charles Rackoff—in the 1980s.
Micali along with Goldwasser later received the “Turing award” for their outstanding contributions in the field of #cryptography.
Micali along with Goldwasser later received the “Turing award” for their outstanding contributions in the field of #cryptography.
So what is a zero-knowledge proof?
It is a cryptographic technique
- where one party (The Prover) can prove that a specific statement is true to the other party (The Verifier)
- without disclosing any additional information
- apart from the fact that the statement is true
It is a cryptographic technique
- where one party (The Prover) can prove that a specific statement is true to the other party (The Verifier)
- without disclosing any additional information
- apart from the fact that the statement is true
Think about it!
You are looking for an apartment in New York city
Your landlord wants to know if you have a regular & sufficient income to pay the rent of that apartment
It should be possible to prove you have an adequate income, without revealing any financial information.
You are looking for an apartment in New York city
Your landlord wants to know if you have a regular & sufficient income to pay the rent of that apartment
It should be possible to prove you have an adequate income, without revealing any financial information.
Let's break down how ZKPs work, with the help of “where is waldo puzzle”
Waldo is the small figure present in the kid’s puzzle book where each page is a crowd of different characters
The idea is to find Waldo and he is equally likely to be at any location in the puzzle
Waldo is the small figure present in the kid’s puzzle book where each page is a crowd of different characters
The idea is to find Waldo and he is equally likely to be at any location in the puzzle
There are two characters here:
• Alice (the Prover)
• Bob (the verifier)
Alice and Bob are playing “Where's Waldo”
Just after the game started Alice claims that she found Waldo
Bob asks to prove her claim because he doesn't want to be fooled by Alice.
• Alice (the Prover)
• Bob (the verifier)
Alice and Bob are playing “Where's Waldo”
Just after the game started Alice claims that she found Waldo
Bob asks to prove her claim because he doesn't want to be fooled by Alice.
Alice wants to prove her claim, but she certainly doesn't want to give away the exact position of Waldo to Bob
So Alice comes up with this simple zero-knowledge proof!
So Alice comes up with this simple zero-knowledge proof!
She finds an opaque piece of card that is at least twice the height & twice the width of the Where’s Waldo puzzle.
She then cuts a Waldo shaped hole right in the middle of the card.
The hole has the exact size of Waldo so that it reveals just Waldo, but nothing else.
She then cuts a Waldo shaped hole right in the middle of the card.
The hole has the exact size of Waldo so that it reveals just Waldo, but nothing else.
So through this method (ZKP),
Alice “the Prover” has been able to convince Bob “the Verifier” that she knows the where Waldo is
while revealing no further information about Waldo’s location
beyond what Bob already knew
Alice “the Prover” has been able to convince Bob “the Verifier” that she knows the where Waldo is
while revealing no further information about Waldo’s location
beyond what Bob already knew
With the definition being cleared, let's look at the fundamental characteristics of ZKPs
The proof provided by Alice is considered as zero-knowledge when it satisfies the three fundamental properties of a zk-Proof, which are:
• Completeness
• Soundness
• Zero-knowledge
The proof provided by Alice is considered as zero-knowledge when it satisfies the three fundamental properties of a zk-Proof, which are:
• Completeness
• Soundness
• Zero-knowledge
• Completeness: if the statement is true, Bob will be convinced of this fact by Alice
• Soundness: if the statement is false, Alice can't convince Bob it's true
• Zero-knowledge: if the statement is true, Bob learns nothing more than the fact that Alice knows where Waldo is
• Soundness: if the statement is false, Alice can't convince Bob it's true
• Zero-knowledge: if the statement is true, Bob learns nothing more than the fact that Alice knows where Waldo is
In the context of computation,
ZKPs are constructed on top of computational problems, which belong to the complexity class “NP-Complete”
In simple words,
a problem is considered NP-complete when
if you have a solution to the problem, it is computationally easy to verify it
ZKPs are constructed on top of computational problems, which belong to the complexity class “NP-Complete”
In simple words,
a problem is considered NP-complete when
if you have a solution to the problem, it is computationally easy to verify it
So let's look at a real-world example where ZKP could actually be used!
The right to Privacy should be a fundamental right in this day and age
And Privacy is an important use case of ZKP
so let's have a look at, how privacy-preserving credentials based on ZKPs work
The right to Privacy should be a fundamental right in this day and age
And Privacy is an important use case of ZKP
so let's have a look at, how privacy-preserving credentials based on ZKPs work
Credentials are a part of our daily lives: Driver's licenses, University degrees, Passports, etc.
Verifiable credentials (VC) are tamper-proof credentials that can be verified cryptographically
To implement self-sovereign identity (SSI) and to protect your data
Verifiable credentials (VC) are tamper-proof credentials that can be verified cryptographically
To implement self-sovereign identity (SSI) and to protect your data
ZKP enabled verifiable credentials allows
• to selectively disclose claims
• without disclosing all of the information of the verifiable credential
It also possible to verify data without having to share the sensitive data required to verify something
This is how it works
• to selectively disclose claims
• without disclosing all of the information of the verifiable credential
It also possible to verify data without having to share the sensitive data required to verify something
This is how it works

So what are the main use cases of ZKPs?
1. Blockchain:
introduces more privacy as well as scalability (zk-Rollups) to public blockchains
2. Online voting:
allows voters to vote anonymously and to verify that their vote was included in the final tally
1. Blockchain:
introduces more privacy as well as scalability (zk-Rollups) to public blockchains
2. Online voting:
allows voters to vote anonymously and to verify that their vote was included in the final tally
3. Authentication:
allows to authenticate users without exchanging secret information such as passwords
4. Machine Learning (ML):
allows the owner of a ML algorithm to convince others about the results of the model without revealing any information about the ML model itself
allows to authenticate users without exchanging secret information such as passwords
4. Machine Learning (ML):
allows the owner of a ML algorithm to convince others about the results of the model without revealing any information about the ML model itself
TL;DR :-
• A zero-knowledge proof (ZKP) is a cryptographical technique to verify the truth of information without revealing the information itself
• it can be used to protect data privacy in a diverse set of use cases
• And brings scalability to Blockchains via zk-Rollups
• A zero-knowledge proof (ZKP) is a cryptographical technique to verify the truth of information without revealing the information itself
• it can be used to protect data privacy in a diverse set of use cases
• And brings scalability to Blockchains via zk-Rollups
. @orbisproject is the 1st project engaged in building zk-Rollups on #Cardano 
We focus a part of our work on informing #CardanoCommunity regarding necessity of L2-scaling & zk-Rollups
So, expect weekly Twitter threads on L2-scalability & the technology that enables it.


So, expect weekly Twitter threads on L2-scalability & the technology that enables it.
