Orbis Profile picture
May 18 23 tweets 9 min read
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?
Interactive ZK-Proof is the original ZK-Model proposed by Goldwasser, Micali, and Rackoff

This kind of ZKP involves

• multiple rounds of interaction between the prover and the verifier

• allowing the verifier to "cross-examine"/challenge the prover before accepting the proof Image
In an Internet-like setting where it involves multiparty computation interactive zero-knowledge proofs come with a lot of disadvantages

1. no concurrency:
building ZKPs is more challenging when multiple protocols should be executed concurrently
2. Limited transferability:
To prove the same proof again to another verifier
"the entire process needs to be repeated"

3. limited scalability:
Interactive ZKP’s require both verifier and prover to be online at the same time
which makes the entire process ''unscalable''
These shortcomings of interactive ZKPs lead to the development of non-interactive ZKPs, as the name suggests

Non-interactive zero-knowledge proofs are ZKPs
which require no interaction between the prover and verifier

so how does it work?👇
In a non-interactive ZKP

the verifier is replaced by a hash function or digital signature

the hash function result is the challenge

This way the proof can be represented as a single message

as opposed to a multi-step interaction between the prover & the proof-checking entity Image
Non-interactive ZKPs are superior to interactive ZKPs due to

concurrency: it allows for the execution of multiple protocols

transferability: allows for reusability of the same proof

scalability: does not require both verifier and prover to be online at the same time
zk-SNARK is a noninteractive ZKP

the acronym stands for

Zero-Knowledge: Provers do not disclose the private information they wish to prove

Succinct: small easy to verify proofs

Non-interactive: proof can be represented as a single message

Arguments of Knowledge Image
In the context of a zk-Rollup like Orbis
The most relevant characteristics of zkSNARKs are their

• non-interactivity
• succinctness

which helps to create cryptographic proofs

• which can be represented as a single message
• and verified quickly
"Succinct" ZKP can be verified within a "few milliseconds"

with a proof length of only a "few hundred bytes"

even for statements about programs that are very large
these qualities of zk-SNARKS bring incredible amount of efficiency

to the real world use-cases that require ZKPs
The #Blockchain space saw the first practical application of zk-SNARKs with #Zcash

#Zcash a private payments cryptocurrency developed in 2014

Developed by @ElectricCoinCo

#Zcash is a proof-of-work mining network based off of Bitcoin’s UTXO model Image
#Zcash uses the zk-SNARKS to create fully shielded transactions

in which the sender, recipient, and amount are encrypted

zk-SNARKs ensure that

the parties involved in a transaction are verified
without revealing any information to each other or the network
lets take a look at how Zcash construct zk-SNARK

It's divided into 4 basic steps
1-The code to be proved is transformed into arithmetic circuits
2-The arithmetic circuits is converted to R1CS
3-R1CS is converted to QAP
4-The implementation of zkSNARK algorithm based on QAP Image
The first step is a “flattening” procedure

where we convert the original code

which may contain arbitrarily complex statements and expressions

into a sequence of statements

You can think of each of these statements as being kind of like logic gates in a circuit Image
The flattened code is converted into a "rank-1 constraint system" (R1CS)

R1CS is a set of constraints

that can be specified by 3 linear combinations, commonly called A,B,C

It's a powerful way to translate

arbitrary computational tasks into a common mathematical description👇 Image
Next is converting R1CS into “quadratic arithmetic program” (QAP)

to check all the constraints simultaneously

QAP is a process of transforming the code of a function into a mathematical representation

which upon providing input to the code, delivers a corresponding solution Image
Now the computational problem has been converted into the right “form”

for the problem to operate on called QAPs

QAPs are sets of polynomials

After this, there is comes the process for creating the actual “zero knowledge proof”

This is done with the process of Encryption
The encryption function has some homomorphic properties

Homomorphic encryption is a form of encryption

that permits users to perform computations on its encrypted data

without first decrypting it Image
With these techniques cryptographic proofs (zk-SNARKs) are generated

Zcash uses zk-SNARKs to prove that the conditions for a valid transaction have been satisfied

without revealing any crucial information about the addresses or values involved Image
TL;DR:

• zk-SNARK is a novel form of zero-knowledge cryptography
• That can be represented as a single message & verified quickly
• Zcash is the first widespread application of zk-SNARKs
#Cardano will see the first application of this technology through @orbisproject
If you are looking to learn more about zero knowledge proofs and zk-Rollups

Here’s a similar thread you might find useful 🧵👇

• • •

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 11
#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
Read 19 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!

:(