$30 off During Our Annual Pro Sale. View Details »

Web3 Global Hackathon : How to use ZKP and usecases

Yosuke
November 10, 2023

Web3 Global Hackathon : How to use ZKP and usecases

Yosuke

November 10, 2023
Tweet

More Decks by Yosuke

Other Decks in Technology

Transcript

  1. ZKP(zkSNARKs)

    使い方と活用事例
    20231111 Web3 Global Hackathon

    View Slide

  2. 本登壇での目標
    1 ZKP
    の概要を理解する 2 ZKP
    の活用方法を理解する

    View Slide

  3. 本登壇での目標
    1 ZKP
    の概要を理解する 2 ZKP
    の活用方法を理解する
    ハッカソンでZKP
    を活用したおもしをいアプリケー
    ションを見たい!!!!!

    View Slide

  4. ZKP
    の理論や数学的な説明はしません!!

    View Slide

  5. ZKP (Zero Knowledge Proof)
    とは
    ある命題が真であることを、命題が真であるという情報以外を伝えずに証明できること

    View Slide

  6. ZKP (Zero Knowledge Proof)
    とは
    C(x, w) = z
    でw
    を明かすことなくC(x, w) = true
    であることを証明できる
    x : public input
    w : private input (witness)
    prover : w
    を公開することなくC(x,w) = true
    がなりたつ「proof (pr=P(pk,x,w))
    」を作成する
    varifier :
    「proof
    」の検証V(vk,x,pr)
    を行う
    proving key(pk) a verification key(vk) P(Prover)
    例)x =
    ユーザーネーム, w =
    パスワード

    View Slide

  7. ZKP
    の種類
    STARK : StarkWare
    Halo : scroll, Filecoin, Anoma
    Bulletproofs : Monero
    Groth16 : tornado cash, Zcash, Loopring, Polygon Hermez*
    PlonK : Aztec, zkSync, Mina
    Halo list : https://electriccoin.co/blog/halos-contribution-goes-beyond-efficiency/
    Plonk list : https://zeroknowledge.fm/news-2-on-optimization-plonk/
    Groth16 list : https://docs.gnark.consensys.net/Concepts/schemes_curves
    https://blog.pantherprotocol.io/zk-snarks-vs-zk-starks-differences-in-zero-knowledge-technologies/

    View Slide

  8. ZKP
    の種類
    SNARKs
    証明の生成は遅いが、Proof
    のサイ
    ズが小さく検証が早い
    STARKs
    証明の生成は早いが、Proof
    のサイ
    ズが大きく検証が遅い
    Trusted setup
    が不要 +
    量子耐性
    証明するデータ量が多くなっても
    Proof
    のサイズがそこまで大きくな
    らない
    https://github.com/matter-labs/awesome-zero-knowledge-proofs?ref=blog.pantherprotocol.io#comparison-of-the-
    most-popular-zkp-systems
    https://ethereum.stackexchange.com/questions/59145/zk-snarks-vs-zk-starks-vs-bulletproofs-updated
    https://blog.chain.link/zk-snarks-vs-zk-starks/

    View Slide

  9. zk-SNARKs
    とは
    zkSNARKS = Succinct Non interactive ARgument of Knowledge
    Succint =
    簡潔:実際のデータ量よりもproof
    のサイズ非常に小さい
    Non Interactive =
    非対話式 : prover
    からverifier
    への情報の送信は一度きりで、両者間での往復する
    やりとりはない
    ARguement of Knowledge =
    知識の根拠:proof
    は計算上確かなものとみなされるため、proof
    の元
    となる情報を保持していない限り、システムをハックすることは困難
    https://coincodecap.com/snarks-vs-starks-difference

    View Slide

  10. zkSNARKs
    の流れ
    【開発者側】
    circom
    でcircuit(
    回路)
    の作成
    1.
    circuit
    のcompile
    2.
    Trusted Setup* (Power Of Tau, phase2)
    3.
    Solidity Verifier
    の作成
    4.
    【利用者側】
    Prover
    のpublic / private input
    からProof

    生成
    1.
    Proof
    をSolidity
    で検証
    2.
    https://docs.circom.io/
    https://github.com/tornadocash/tornado-core/blob/master/contracts/Tornado.sol#L76-L99

    View Slide

  11. Trusted setup
    とCeremony
    Trusted Setup
    ZKP
    を利用するために必要となる最初のパラ
    メータを生成するプロセスのこと
    パラメータを生成する際の秘密情報*
    が漏洩し
    てしまうと虚偽のproof
    が生成できてしまう
    しかし、private input
    は算出することはでき
    ない
    *toxic waste
    https://inevitableeth.com/en/home/ethereum/upgrades/scaling/data/proto-danksharding/kzg-ceremony

    View Slide

  12. Trusted setup
    とCeremony
    Ceremony
    Trusted Setup
    の一部で、不特定多数の参加者
    が生成する秘密情報をリレー形式に繋いで
    ZKP
    に必要なパラメーターを生成する作業の
    こと
    ZKG Ceremony
    もTrusted Setup
    を作成するた
    めのもの
    https://ceremony.ethereum.org/

    View Slide

  13. ブロックチェーンにおけるZKP
    の利点
    データ量/
    計算量の圧縮
    全て情報を渡すことなく情報の検証ができること
    例:zk rollup, HyoerOracle
    情報の秘匿化
    オープンが前提のブロックチェーンにプライベートの概念を持ち込むことができること
    例:tornado cash

    View Slide

  14. zk-Rollup
    とは

    View Slide

  15. zk-Rollup
    とは
    Optimism (Optimistic rollup)
    op-bacher : L2
    のトランザクションを全てまとめてL1
    に保存
    zkSync (zk Rollup)
    commit : L2
    のトランザクションからなるCommit
    を保存
    prove : Commit
    の元となるデータがあることを証明

    View Slide

  16. Tornado cash
    とは
    暗号資産のミキシングサービス
    解決した課題 :
    全く新しいアドレスにしたい場合オンチェーンとトランザクションは全て追跡可能な
    のでアドレスの関係性を断ち切ることができなかったこと

    View Slide

  17. Tornado cash
    の仕組み
    https://etherscan.io/address/0xd90e2f925DA726b50C4Ed8D0Fb90Ad053324F31b

    View Slide

  18. まとめ
    1 ZKP
    とはある命題が真であることを、命題が真であるという情報以外を伝え
    ずに証明できること
    2 ZKP
    を使うとデータ量/
    計算量の圧縮と秘匿化ができる

    View Slide

  19. アイデアの考え方
    1
    仮説検証を徹底的に繰り返すリサーチ
    2
    事業者へのヒアリング

    View Slide

  20. ハッカソンのアイデアの考え方
    仮説検証を徹底的に繰り返すリサーチ
    徹底的にリサーチし業界の流れを掴めば、まだ過渡期である業界に足りてないもの、必要とされてい
    るものが見えてくる
    事業者へのヒアリング
    事業者がよさそうと思っているサービス
    Web3
    スタートアップのアイデアを11
    個考えてみた &
    (パート2)
    今クリプト領域で起業するならどのようなテーマを選ぶか? 10
    のアイデア
    Web3 Startup Ideas
    A List of Open Problems in Crypto - II
    STATE OF CRYPTO 2023
    業界のまとめレポート

    View Slide

  21. ありがとうございました!
    Happy zk life
    🎅

    View Slide