Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Zero Knowledge Proofs (ZKP) - Zero Knowledge Proofs (ZKP) - What is the fuss all about?

Edi Sinovcic
November 17, 2019

Zero Knowledge Proofs (ZKP) - Zero Knowledge Proofs (ZKP) - What is the fuss all about?

In last year boom of zk development has happened. In this presentation we try to cover different blockchain solutions with emphasis on zkSNARKs and ZoKrates solution.

Edi Sinovcic

November 17, 2019
Tweet

More Decks by Edi Sinovcic

Other Decks in Education

Transcript

  1. Zero Knowledge Proofs (ZKP) What is the fuss all about?

    I know that I learn nothing. Edi Sinovčić [email protected] twitter.com/edisinovcic linkedin.com/in/edi-sinovcic/
  2. Scaling blockchains - L2 solutions • Sidechains • Plasma •

    Zero Knowledge Proofs ◦ Plasma Ignis - Plasma of fire
  3. Zero Knowledge Proof • Off-chain vs on-chain computation • Prover

    - constructs the proof • Verifier - performs some operation on proof and decides to accept or reject the proof • Computation is hard (most of the work - off-chain) • Verification is easy (and cheap - on-chain)
  4. On-chain processing TX TX TX TX TX TX TX verify

    TX verify TX verify TX TX verify TX Scalability Off-chain processing
  5. Implementations • SNARKs (Zcash) ◦ Succinct Non-interactive ARguments of Knowledge

    (with Trusted Setup) • STARKs ◦ Succinct (Scalable) Transparent ARguments of Knowledge ◦ STARKs are SNARKs without Trusted Setup ◦ Quantum resistant cryptography • Bulletproofs (Monero) ◦ Similar to STARKs but different :) ◦ Different implementation
  6. Applications? • Early phase • Rollup by Matter labs ◦

    Optimistic vs ZK Rollup (http://bit.ly/medium-rollup ) • SNARK-based permissioned database ◦ Rollup by BarryWhitehat ◦ Multiple off-chain transactions can be verified by 1 on-chain transaction • Gnosis dFusion ◦ DEX on SNARKs • ZoKrates ◦ Privacy for DApps - framework
  7. ZoKrates > A high-level language > A compiler, which transforms

    programs to constraint systems provable with zkSNARKs > Tools for - Setup phase - Witness computation - Proof generation - Generation of Verification Smart Contract - ... High Level Language PROVER VERIFIER.SOL
  8. The ZoKrates Language - Imperative DSL - Python-inspired Syntax -

    Does not expose non-determinism to the programmer // Primitive Types field a = 42 bool b // Composite Types field[256] c = [0; 256] Point p = { x = 0, y = 1 }
  9. Verification Smart Contract Overview compile setup compute- witness generate-proof export-verifier

    ZoKrates Code Flattened Code Witness Verification Key Proving Key Program Result + Proof
  10. Private ERC20 Tokens - EY Nightfall “Nightfall integrates a set

    of smart contracts and microservices, and the ZoKrates zk-snark toolkit, to enable standard ERC-20 and ERC-721 tokens to be transacted on the Ethereum blockchain with complete privacy. It is an experimental solution and still being actively developed.”