In America, citizens don't have ID numbers... and yet we live in a society that necessitates them.
If you've ever applied for a loan, tried to rent a house or opened a bank account you already know: we've just decided to use our social security numbers instead.
Originally intended to be specific to a single government benefits program, the social security number (SSN) have become an American's unique identifier.
Almost like private keys for meat-space.
And yet, we're required to give it to basically anyone who asks.
Imagine a world where you could prove, with 100% certainty, that you were who you said you were (corresponding to your SSN) without revealing ANY information about your SSN.
The world would look entirely the same, expect with >90% less identity theft.
A Zero-Knowledge Proof (ZK-proof) is a way of proving a statement is valid without revealing it.
A ZK-proof relies on verifiable algorithms that take input data and return "true" or "false" without sharing the statement's contents or how you discovered the truth.
A ZK-proof must be:
ZK-proofs are a category of mathematical tools with applications far beyond cryptography and cryptocurrency, but the technology has important implications on-chain, particularly for privacy and scalability.
Privacy (Most) blockchain computers are built on top of public, decentralized ledgers. By their very design, every txn is visible for all to see... forever.
ZK-proofs allow users to securely interact on-chain while obfuscate txn details and guaranteeing financial privacy
Scalability ZK-proofs introduce a new paradigm: verifiable computation.
Verifiable computing allows us to send computation to another entity while maintaining verifiable results.
Verifiable computation is critical to improving processing speeds on blockchains without reducing security.
Instead of processing every transaction on-chain, Ethereum can offload execution. After processing, that chain can return the results to mainnet with a ZK-proof.
ZK-technology is still very young.
Generating proofs is extremely challenging and computationally expensive. Verifying proofs is also costly (although significantly computationally cheaper) and must be done on-chain, where costs are high.
Current implementations have a few important weakness:
Fortunately, development is moving quickly and accelerating.
In summary, ZK-proofs allows one party (prover) to prove to another party (verifier) that a statement is true while also ensuring that the prover does not give the verifier any info that the verifier didn't already have.
All with cryptographic, mathematical certainty.
Source Material - Twitter Link
Source Material - PDF