Zero-Knowledge Proof in Blockchain Explained | Quillaudits

Table of Contents:

What is Zero-Knowledge Proof?

A zero-knowledge proof is a way of proving if a certain statement is true or not without actually revealing the statement itself. Here, the ‘prover’ is the party trying to prove a claim, while the ‘verifier’ is responsible for validating the claim.

In Simpler Terms, Zero-knowledge proof (ZK proof) technologies enable one party to prove to another party that they know something without actually sharing the information with another party in order to prove their knowledge.

A Use Case:
Let's Suppose I want to take a loan, But don’t want to reveal my financial history to banks. Using Zero-Knowledge proof, bank will be able to verify my financial history (e.g. credit score, proof of residence, account payments, and real estate) without knowing any specific data about those assets.

History of Zero Knowledge Proofs?

Zero-knowledge proofs were first devised by MIT researchers Shafi Goldwasser, Silvio Micali, and Charles Rackoff in a 1985 paper, “The Knowledge Complexity of Interactive Proof-Systems”. The paper introduced key concepts including an interactive proof (IP) hierarchy and conceived the concept of knowledge complexity, a measure to see how much proof is transferred from the prover to the verifier.

Perhaps most importantly, they gave the first zero-knowledge proof for a concrete problem when they demonstrated how to construct ZKPs for any NP-set, with any commitment scheme.

Types of Zero Knowledge Proofs?

The two fundamental types of ZKPs include the following:

Working of Zero-Knowledge Proof:

In basic form, a zero-knowledge proof is made up of three elements: witness(confidential Info), challenge, and response.

The Application of Zero Knowledge Proof in BlockChains?

There are many applications of Zero Knowledge Proof, In this blog, we will be covering applications of ZK in Block Chains:

Zero-knowledge Proofing technologies:

1. zk-SNARK

SNARK stands for “zero-knowledge succinct non-interactive argument on knowledge.” A SNARK is a type of cryptographic proof that is small in size and easy to verify. SNARKs generate a cryptographic proof using elliptical curves, which assume that it’s infeasible to find the discrete logarithm of a random elliptic curve element from a publicly known base point. Computing elliptic curves are less computationally expensive than computing hashing functions used by STARKs, which is why SNARK-based protocols can be more gas efficient.

2. zk-STARKS

STARKS stands for “zero-knowledge scalable transparent argument of knowledge.” It’s a type of cryptographic proof that requires little to no interaction between the prover and the verifier. The key advantages of STARKs over SNARKs are that they have fast prover times and are easier to scale as they offer more computing power. Also, using hash functions makes them quantum resistant.

3. Bulletproofs

Bulletproofs are short, non-interactive zero-knowledge proofs that can convince a verifier that an encrypted value lies within a stated range without disclosing any information about the number.
Bulletproofs is a type of range proof that employs zero-knowledge proofing techniques similar to those seen in zkSNARKs and zkSTARKs. Like zkSTARKs, bulletproofs do not require an initial trusted setup ceremony or procedure. Also, they are smaller than zkSTARKs and have significant efficiency and security.

zk-Rollups

Rollups are Layer 2 protocols built on top of Ethereum. Rollups process transactions off-chain, primarily on a rollup-specific chain, and then batch, compress, and deliver the transaction data to the main Ethereum chain. Shifting computation off-chain helps reduce congestion on Ethereum and reduce overall gas costs for users.

ZK Rollups Projects:
zkSync
Loopring
Polygon Hermez

ZK- Based Privacy Protocols

Zero-knowledge proofs power several privacy protocols today due to their non-disclosure feature. With ZK-proofs, users can currently transact on privacy-enabled blockchains and post proofs that confirm that their transactions are valid, and don’t reveal any extra info.

Popular privacy coin, Zcash, uses zk-SNARK cryptography to restore blockchain anonymity for its users and give them control over their transaction information. For instance, when a Zcash user sends coins to another Zcash user, the only available proof of their privacy-enabled transaction comes with zero knowledge. A third-party observer cannot find any additional information about the nature of the transaction, nor the parties and amounts involved.

ZK- Based Privacy Projects:
Zcash
Tornado Cash

Web3 security- Need of the hour

Why QuillAudits For Web3 Security?
QuillAudits is well-equipped with tools and expertise to provide cybersecurity solutions saving the loss of millions in funds.

Want more Such Security Blogs & Reports?

Connect with QuillAudits on :
Linkedin | Twitter | Website | Newsletter | Discord | Telegram

--

--

Smart Contract Auditing Experts , Making web3 a safer place . audits@quillhash.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store