#Zcash is a proof-of-work mining network based off of Bitcoin’s UTXO model
#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
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
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👇
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
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
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
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
#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 🧵👇
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.
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