Zero Knowledge Proof

  • The original idea of Zero Knowledge Proofs was first introduced in a white paper entitled "The Knowledge Complexity of Interactive Proof-Systems", published in 1989.

  • ZKPs are a method for a "prover" to prove a claim to a "verifier" without revealing anything beyond the claim itself.  

  • Examples:​

    • Prove a customer is on a whitelist of clients for the the purposes of Know Your Customer (KYC) compliance but in the process, do not reveal the actual identity of the client

    • Proof of Solvency: Exchanges could prove their assets are greater than their liabilities without revealing information about individual accounts, addresses, keys, etc.

    • Banking and other financial entities could prove to the world at all times, after every transaction, they have not exceeded any risk thresholds without opening all of their books to the world. 

  • ZKPs and the Blockchain

    • Currently, transactions on most public blockchains are psuedo-anonymous, meaning they are not concretely associated with an individual identity, but they are associated with an address

    • It is becoming increasingly clear, that psuedo-anonymity does not equal privacy with respect to transacting on open blockchains.

    • Chainanalysis techniques are becoming increasingly sophisticated and proficient at tracking chain-based activities

    • Application of ZKP on the blockchain can provide truly shielded transactions

    • Zcash is the current leader in the privacy-protecting digital currency space, building science-based technology around zk-SNARKS.

    • 0(1) Labs has applied ZKPs to develop a constant sized Blockchain solution, which solves the problem of a blockchains constantly requiring more and more storage resources as transactions are added

    • ZKPs have the potential to be revolutionary with respect to protecting individual, personal information using blockchain based privacy solutions

  • ZKP Challenges:​
    • It's mathematically Impossible to get 100% accuracy;  the best a ZKP can obtain is an infinitesimally small probability that the proof of the claim is incorrect

    • Computational complexity and power requirements