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

3 つの目で見る Plasma

3 つの目で見る Plasma

m0t0k1ch1

June 25, 2018
Tweet

More Decks by m0t0k1ch1

Other Decks in Technology

Transcript

  1. sivira 自己紹介 肩書 SIVIRA Inc. Token Economy Division Chief Manager

    & Engineer 専門 Cryptoeconomics with Plasma 脳内 ref. scrapbox.io/m0t0k1ch1 Sato Motoki @m0t0k1ch1
  2. sivira アジェンダ Minimal Viable Plasma 基礎 ー 基本的な仕組みのおさらい 鳥の目で見る Plasma

    ー Plasma を取り巻くトピック整理 魚の目で見る Plasma ー スキーム改善の潮流 虫の目で見る Plasma ー More Viable Plasma
  3. sivira Minimal Viable Plasma がよく分からない方は 実装を読む・触る ref. github.com/omisego/plasma-mvp 主に confirmation

    signature について 理解を深める ref. ethresear.ch/t/why-do-dont-we-need-two-phase-sends-plus-confirmation/1866
 ref. ethresear.ch/t/griefing-vectors-in-confirmation-signatures/2301 概要を把握する ref. 以降のスライド
  4. sivira Setup → Deposit → Transfer → Exit Ethereum Plasma

    Chain Plasma Contract queue 入金ブロック追加
  5. sivira Setup → Deposit → Transfer → Exit Ethereum Plasma

    Chain Plasma Contract queue to: tx ブロック追加
  6. sivira Setup → Deposit → Transfer → Exit Ethereum Plasma

    Chain Plasma Contract queue to: tx ブロック提出
  7. sivira Setup → Deposit → Transfer → Exit Ethereum Plasma

    Chain to: tx 承認! Plasma Contract queue
  8. sivira Setup → Deposit → Transfer → Exit Ethereum Plasma

    Chain to: tx Plasma Contract queue 承認済
  9. sivira Setup → Deposit → Transfer → Exit Ethereum Plasma

    Chain Plasma Contract queue 出金したい tx utxoPos: 200
  10. sivira Setup → Deposit → Transfer → Exit Ethereum Plasma

    Chain Plasma Contract queue utxoPos: 200
  11. sivira Setup → Deposit → Transfer → Exit Ethereum Plasma

    Chain Plasma Contract queue 200 utxoPos: 200
  12. sivira Setup → Deposit → Transfer → Exit Ethereum Plasma

    Chain Plasma Contract queue 200 utxoPos: 200 何事もなく 1週間経過
  13. sivira Setup → Deposit → Transfer → Exit Ethereum Plasma

    Chain Plasma Contract queue 200 utxoPos: 200 出金 tx
  14. sivira Setup → Deposit → Transfer → Exit Ethereum Plasma

    Chain Plasma Contract queue 200 は引き出し済み
  15. sivira 鳥の目で情報収集 & Vitalik や Vlad などはもちろん ethresearch でええこと 言うてる人達をリスト化して追従

    Plasma カテゴリだけは守備範囲と決心し 新しい投稿は全てキャッチできるように 通知設定
  16. sivira 鳥の目で情報整理 Minimal Viable Plasma More Viable Plasma Plasma Cash

    Plasma XT Plasma Debit Whitepaper DAppChains by Loom Network Plasma DEX by Altcoin.io GORMOS by Kyber Network Gluon Plasma by Leverj Matic Network 基本スキーム 部分的なスキーム改善 プロダクト / サービス 始まり 議論 Plasma = State Channel ?? Burn Proofs Simple Fast Withdrawals DBMLs Double Batched Merkle Log Accumulators zk-SNARKs
  17. sivira 今日話すこと Minimal Viable Plasma More Viable Plasma Plasma Cash

    Plasma XT Plasma Debit Whitepaper Burn Proofs Simple Fast Withdrawals DBMLs Double Batched Merkle Log Accumulators zk-SNARKs DAppChains by Loom Network Plasma DEX by Altcoin.io GORMOS by Kyber Network Gluon Plasma by Leverj Matic Network 基本スキーム 部分的なスキーム改善 プロダクト / サービス 始まり 議論 Plasma = State Channel ??
  18. sivira Minimal Viable Plasma More Viable Plasma Plasma Cash Plasma

    XT Plasma Debit Whitepaper DAppChains by Loom Network Plasma DEX by Altcoin.io GORMOS by Kyber Network Gluon Plasma by Leverj Matic Network 基本スキーム 部分的なスキーム改善 プロダクト / サービス 始まり 議論 Plasma = State Channel ?? Burn Proofs DBMLs Double Batched Merkle Log Accumulators zk-SNARKs 今日話さないけど要注目 Simple Fast Withdrawals exit 中の資金の受領権を NFT 化して売る 課金して exit を時短するようなイメージ
  19. sivira Minimal Viable Plasma の課題 Minimal Viable Plasma More Viable

    Plasma Plasma Cash Plasma XT Plasma Debit exit game 関連 ・ユーザーが Plasma チェーンの全データを保持する必要がある ・不正な exit を監視し続ける必要がある ・exit に時間がかかる(例えば 1 〜 2 週間) confirmation signature 関連 ・confirmation signature を保持する必要がある ・block に含まれた tx も送金者がキャンセルできる ・そもそも面倒
  20. sivira confirmation signature がないと困る状況 Ethereum Plasma Chain Plasma Contract queue

    to: tx to: tx index 0 index 1 block withholding “out of nowhere” tx utxoPos: (201)
  21. sivira confirmation signature がないと困る状況 Ethereum Plasma Chain Plasma Contract queue

    utxoPos: (201) to: tx to: tx index 0 index 1 200 block withholding “out of nowhere” tx
  22. sivira confirmation signature がないと困る状況 Ethereum Plasma Chain Plasma Contract queue

    201 utxoPos: (201) to: tx to: tx index 0 index 1 200 block withholding “out of nowhere” tx
  23. sivira confirmation signature がないと困る状況 Ethereum Plasma Chain Plasma Contract queue

    201 utxoPos: (201) to: tx to: tx index 0 index 1 block withholding “out of nowhere” tx
  24. sivira → Plasma Cash → Plasma XT Minimal Viable Plasma

    More Viable Plasma Plasma Cash Plasma XT Plasma Debit deposit の NFT 化 自分のコインに関するデータのみ保持・監視すればよい confirmation signature が不要になる ☹ コインの単位に融通が効かない 署名集約による checkpointing の導入 checkpoint 以降のデータのみ保持・監視すればよい ☹ checkpoint がうまく打てなければ Plasma Cash と同じ
  25. sivira → More Viable Plasma Minimal Viable Plasma More Viable

    Plasma Plasma Cash Plasma XT Plasma Debit exit priority の算出基準変更 confirmation signature が不要になる ☹ exit game がちょっと複雑になってしまう (具体的にどう変更したのは、虫の目パートにて)
  26. sivira スキーム改善の大きな潮流 Minimal Viable Plasma More Viable Plasma Plasma Cash

    Plasma XT Plasma Debit セキュリティを維持 しつつ いかに ユーザーの負担 を減らすか 様々な攻撃から資産を保護できる (ex. オペレータに対する mass exit) ・データ保持・監視 ・複雑かつ長期間に渡る exit game etc.
  27. sivira → More Viable Plasma(再掲) Minimal Viable Plasma More Viable

    Plasma Plasma Cash Plasma XT Plasma Debit exit priority の算出基準変更 confirmation signature が不要になる ☹ exit game がちょっと複雑になってしまう
  28. sivira “youngest-input” priority tx1 tx2 tx4 tx3 o1 o4 o2

    o3 o5 o6 tx5 o7 tx6 o8 :spent :unspent
  29. sivira “youngest-input” priority o8 の exit priority は より高い o7

    tx1 tx2 tx4 tx3 o1 o4 o2 o3 o5 o6 tx5 o7 tx6 o8 o6 :spent :unspent
  30. sivira 対 “out of nowhere” tx tx1 tx2 tx4 tx3

    o1 o4 o2 o3 o5 o6 tx6 o9 tx7 o10 o7 tx5 o8 “out of nowhere” :spent :unspent o10 よりも先に を exit できる o7 o6 o8 不正なトランザクションもしくはオペレータに withhold されている トランザクションによって生まれた output は使用しない、という前提 注)
  31. sivira 対 “out of nowhere” tx tx1 tx2 tx4 tx3

    o1 o4 o2 o3 o5 o6 tx6 o9 tx7 o10 o7 tx5 o8 “out of nowhere” :spent :unspent o10 よりも先に を exit できる o7 o6 o8 → confirmation signature が不要になる
  32. sivira 基本的な challenge ① tx1 tx3 o1 o3 tx2 o2

    canonical challenge :spent :unspent :exiting non-canonical
  33. sivira 基本的な challenge ② :spent :unspent :exiting tx1 tx4 tx3

    tx2 o1 o2 o4 o3 non-canonical canonical challenge
  34. sivira 基本的な challenge ③ tx1 tx2 o1 o2 challenge :spent

    :unspent :exiting spent unspent canonical
  35. sivira exitable な条件を定理証明的に書くとこうなる non-canonical な tx によって spent された output

    は exitable(double spent されたら not exitable) 注) ethresear.ch/t/more-viable-plasma/2160
  36. sivira → More Viable Plasma(再再掲) Minimal Viable Plasma More Viable

    Plasma Plasma Cash Plasma XT Plasma Debit exit priority の算出基準変更 confirmation signature が不要になる ☹ exit game がちょっと複雑になってしまう
  37. sivira 鳥の目:全体を見るマクロの目 Plasma を取り巻くトピックを俯瞰して整理しました。 魚の目:流れを見るトレンドの目 基礎となる Minimal Viable Plasma の仕組みと課題を踏まえつつ

    Plasma のスキーム改善の潮流について解説しました。 虫の目:部分を見るミクロの目 新しく提案された More Viable Plasma における exit priority と exit game の基本について解説しました。 まとめ 今、激動の Plasma 界と向き合うための 3つの