Slide 1

Slide 1 text

sivira 3つの で見る Plasma @m0t0k1ch1 2018.06.25 Plasma #3

Slide 2

Slide 2 text

sivira SIVIRA Broof

Slide 3

Slide 3 text

sivira Blockchain:Protocol with Incentive

Slide 4

Slide 4 text

sivira 自己紹介 肩書 SIVIRA Inc. Token Economy Division Chief Manager & Engineer 専門 Cryptoeconomics with Plasma 脳内 ref. scrapbox.io/m0t0k1ch1 Sato Motoki @m0t0k1ch1

Slide 5

Slide 5 text

sivira 近頃の些細な自慢

Slide 6

Slide 6 text

sivira 今日の目的 今、激動の Plasma 界と向き合うために 3つの を持った Plasman を増やす

Slide 7

Slide 7 text

sivira アジェンダ Minimal Viable Plasma 基礎 ー 基本的な仕組みのおさらい 鳥の目で見る Plasma ー Plasma を取り巻くトピック整理 魚の目で見る Plasma ー スキーム改善の潮流 虫の目で見る Plasma ー More Viable Plasma

Slide 8

Slide 8 text

sivira Minimal Viable Plasma 基礎

Slide 9

Slide 9 text

sivira 豆知識

Slide 10

Slide 10 text

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. 以降のスライド

Slide 11

Slide 11 text

sivira 登場人物 Alice Plasma コインを 送るユーザー Bob Plasma コインを 受け取るユーザー Carol Plasma チェーンの オペレータ

Slide 12

Slide 12 text

sivira Setup → Deposit → Transfer → Exit Ethereum Plasma Chain Plasma Contract queue

Slide 13

Slide 13 text

sivira Setup → Deposit → Transfer → Exit Ethereum Plasma Chain Plasma Contract queue to: tx

Slide 14

Slide 14 text

sivira Setup → Deposit → Transfer → Exit Ethereum Plasma Chain Plasma Contract queue

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

sivira Setup → Deposit → Transfer → Exit Ethereum Plasma Chain Plasma Contract queue to: tx

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

sivira Setup → Deposit → Transfer → Exit Ethereum Plasma Chain Plasma Contract queue 200 は引き出し済み

Slide 27

Slide 27 text

sivira 重要 セキュリティモデルとしての mass exit と、そのための priority queue 悪事を働こうとするオペレータから 資産を保護するため、みんなで大脱走できる I can withhold blocks. hehehe! (exit priority の話は後ほど詳しく)

Slide 28

Slide 28 text

sivira 鳥の目で見る Plasma

Slide 29

Slide 29 text

sivira 鳥の目とは?  鳥の目は、  俯瞰的な思考をする視点、  全体を見るマクロの目である。 blog.livedoor.jp/mbcsouken/archives/1872590.html

Slide 30

Slide 30 text

sivira 鳥の目を持つ人の例 twitter.com/_sgtn/status/1006173776101326849

Slide 31

Slide 31 text

sivira そして塵になる twitter.com/_sgtn/status/1006282342409822208

Slide 32

Slide 32 text

sivira 鳥の目で情報収集 & Vitalik や Vlad などはもちろん ethresearch でええこと 言うてる人達をリスト化して追従 Plasma カテゴリだけは守備範囲と決心し 新しい投稿は全てキャッチできるように 通知設定

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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 ??

Slide 35

Slide 35 text

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 を時短するようなイメージ

Slide 36

Slide 36 text

sivira 魚の目で見る Plasma

Slide 37

Slide 37 text

sivira 魚の目とは? blog.livedoor.jp/mbcsouken/archives/1872590.html  魚の目は、  流れを見るトレンドの目である。

Slide 38

Slide 38 text

sivira 魚の目の重要性 事実①:基本スキームは改善の積み上げである 事実②:情報量が多く流れも速い過渡期である 各論に振り回されずに 基礎 を抑えて 潮流 を意識する ことが重要

Slide 39

Slide 39 text

sivira 基本スキームの系譜 Minimal Viable Plasma More Viable Plasma Plasma Cash Plasma XT Plasma Debit

Slide 40

Slide 40 text

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 も送金者がキャンセルできる ・そもそも面倒

Slide 41

Slide 41 text

sivira 19枚目のスライドを思い出してください Ethereum Plasma Chain Plasma Contract queue to: tx 承認!

Slide 42

Slide 42 text

sivira confirmation signature Ethereum Plasma Chain Plasma Contract queue to: tx 承認!

Slide 43

Slide 43 text

sivira confirmation signature がないと困る状況 Ethereum Plasma Chain Plasma Contract queue to: tx

Slide 44

Slide 44 text

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)

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

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 と同じ

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

sivira 虫の目で見る Plasma

Slide 52

Slide 52 text

sivira 虫の目とは? blog.livedoor.jp/mbcsouken/archives/1872590.html  虫の目は、現場において、  様々な課題に対して要因分析ができる目、  部分を見るミクロの目である。

Slide 53

Slide 53 text

sivira → More Viable Plasma(再掲) Minimal Viable Plasma More Viable Plasma Plasma Cash Plasma XT Plasma Debit exit priority の算出基準変更 confirmation signature が不要になる ☹ exit game がちょっと複雑になってしまう

Slide 54

Slide 54 text

sivira 証明駆動開発 仕様を満たすことを定理証明する 実装する 仕様を定式化する

Slide 55

Slide 55 text

sivira “youngest-input” priority ethresear.ch/t/more-viable-plasma/2160

Slide 56

Slide 56 text

sivira “youngest-input” priority tx1 o1 :spent :unspent

Slide 57

Slide 57 text

sivira “youngest-input” priority tx1 tx2 o1 o2 o3 :spent :unspent

Slide 58

Slide 58 text

sivira “youngest-input” priority tx1 tx2 tx3 o1 o4 o2 o3 :spent :unspent

Slide 59

Slide 59 text

sivira “youngest-input” priority tx1 tx2 tx4 tx3 o1 o4 o2 o3 o5 o6 :spent :unspent

Slide 60

Slide 60 text

sivira “youngest-input” priority tx1 tx2 tx4 tx3 o1 o4 o2 o3 o5 o6 tx5 o7 :spent :unspent

Slide 61

Slide 61 text

sivira “youngest-input” priority tx1 tx2 tx4 tx3 o1 o4 o2 o3 o5 o6 tx5 o7 tx6 o8 :spent :unspent

Slide 62

Slide 62 text

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

Slide 63

Slide 63 text

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 は使用しない、という前提 注)

Slide 64

Slide 64 text

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 が不要になる

Slide 65

Slide 65 text

sivira 定理証明的に書くとこうなる ethresear.ch/t/more-viable-plasma/2160

Slide 66

Slide 66 text

sivira “canonical” な tx ethresear.ch/t/more-viable-plasma/2160

Slide 67

Slide 67 text

sivira 基本的な challenge ① tx1 tx3 o1 o3 tx2 o2 :spent :unspent :exiting

Slide 68

Slide 68 text

sivira 基本的な challenge ① tx1 tx3 o1 o3 tx2 o2 canonical challenge :spent :unspent :exiting non-canonical

Slide 69

Slide 69 text

sivira 基本的な challenge ② :spent :unspent :exiting tx1 tx4 tx3 tx2 o1 o2 o4 o3

Slide 70

Slide 70 text

sivira 基本的な challenge ② :spent :unspent :exiting tx1 tx4 tx3 tx2 o1 o2 o4 o3 non-canonical canonical challenge

Slide 71

Slide 71 text

sivira 基本的な challenge ③ tx1 tx2 o1 o2 :spent :unspent :exiting

Slide 72

Slide 72 text

sivira 基本的な challenge ③ tx1 tx2 o1 o2 challenge :spent :unspent :exiting spent unspent canonical

Slide 73

Slide 73 text

sivira exitable な条件を定理証明的に書くとこうなる non-canonical な tx によって spent された output は exitable(double spent されたら not exitable) 注) ethresear.ch/t/more-viable-plasma/2160

Slide 74

Slide 74 text

sivira Safety & Liveness ethresear.ch/t/more-viable-plasma/2160

Slide 75

Slide 75 text

sivira → More Viable Plasma(再再掲) Minimal Viable Plasma More Viable Plasma Plasma Cash Plasma XT Plasma Debit exit priority の算出基準変更 confirmation signature が不要になる ☹ exit game がちょっと複雑になってしまう

Slide 76

Slide 76 text

sivira まとめ

Slide 77

Slide 77 text

sivira 鳥の目:全体を見るマクロの目 Plasma を取り巻くトピックを俯瞰して整理しました。 魚の目:流れを見るトレンドの目 基礎となる Minimal Viable Plasma の仕組みと課題を踏まえつつ Plasma のスキーム改善の潮流について解説しました。 虫の目:部分を見るミクロの目 新しく提案された More Viable Plasma における exit priority と exit game の基本について解説しました。 まとめ 今、激動の Plasma 界と向き合うための 3つの

Slide 78

Slide 78 text

sivira 何のためのスケーラビリティ?  まず直接的にするべきなのは、  ブロックチェーンに関するポジティヴなイメージを  生むようなアプリケーションをつくりあげることだ。  ICO だけではなく、例えば一般的な人々が  便利に思うような決済の仕組みが必要なんだ。 ー Vitalik Buterin wired.jp/2018/05/19/vitalik-buterin-interview-1

Slide 79

Slide 79 text

sivira Broof × Plasma