Orbis Profile picture
May 11 19 tweets 7 min read
#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 🧵👇 Image
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. Image
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
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.
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 Image
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. Image
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!
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. Image
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 Image
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 Image
• 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
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 Image
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 Image
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 Image
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 👇 Image
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
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
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
.@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. 🔮

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Orbis

Orbis Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @orbisproject

May 18
ZK-Rollups represent the future of Layer-2 #Blockchain scaling

@orbisproject is building the first ZK-Rollup on #Cardano

& Orbis plays an indispensable role in scaling #Cardano

Here’s a breakdown of the ZK-Proof Orbis is using to build its scaling solution on #Cardano: 🧵👇 Image
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 indeed true Image
When it comes to computational zero-knowledge, there are 2 types of ZK-Proofs

- Interactive ZK-Proofs
- non-interactive ZK-Proofs

So let's try and understand the major differences between the two

and why non-interactive ZK-Proofs are superior to the former?
Read 23 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(