Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
3 つの目で見る Plasma
m0t0k1ch1
June 25, 2018
Technology
8
2.9k
3 つの目で見る Plasma
m0t0k1ch1
June 25, 2018
Tweet
Share
More Decks by m0t0k1ch1
See All by m0t0k1ch1
Account Abstraction の今:ERC4337 概要
m0t0k1ch1
0
58
これだけはおさえておきたい コントラクトウォレット一問一答
m0t0k1ch1
1
610
ash - a Keynote theme by m0t0k1ch1
m0t0k1ch1
0
790
Other Decks in Technology
See All in Technology
PHPのimmutable arrayとは
hnw
1
150
LINE iOSエンジニアの日々 / LINE iOS Engineer Days
line_developers
PRO
1
140
Oktaの管理者権限を適切に移譲してみた
shimosyan
2
260
S3とCloudWatch Logsの見直しから始めるコスト削減 / Cost saving S3 and CloudWatch Logs
shonansurvivors
0
200
Virtual Thread - 導入の背景と、効果的な使い方 -
skrb
3
260
ROS_Japan_UG_#49_LT
maeharakeisuke
0
210
ユーザーテストガイドライン VERSION 2.0
kouzoukaikaku
0
650
- Rでオブジェクト指向プログラミング- クラス設計入門の入門
kotatyamtema
1
720
Stripe / Okta Customer Identity Cloud(旧Auth0) の採用に至った理由 〜モリサワの SaaS 戦略〜
tomuro
0
120
20230123_FinJAWS
takuyay0ne
0
110
Cloudflare Workersで動くOG画像生成器
aiji42
1
470
lt53
98_justdoit
0
110
Featured
See All Featured
KATA
mclloyd
12
9.7k
Embracing the Ebb and Flow
colly
75
3.6k
Designing the Hi-DPI Web
ddemaree
273
32k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
101
6.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
500
130k
Imperfection Machines: The Place of Print at Facebook
scottboms
254
12k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
44
14k
What the flash - Photography Introduction
edds
64
10k
Become a Pro
speakerdeck
PRO
6
3.2k
Done Done
chrislema
178
14k
What's in a price? How to price your products and services
michaelherold
233
9.7k
For a Future-Friendly Web
brad_frost
166
7.8k
Transcript
sivira 3つの で見る Plasma @m0t0k1ch1 2018.06.25 Plasma #3
sivira SIVIRA Broof
sivira Blockchain:Protocol with Incentive
sivira 自己紹介 肩書 SIVIRA Inc. Token Economy Division Chief Manager
& Engineer 専門 Cryptoeconomics with Plasma 脳内 ref. scrapbox.io/m0t0k1ch1 Sato Motoki @m0t0k1ch1
sivira 近頃の些細な自慢
sivira 今日の目的 今、激動の Plasma 界と向き合うために 3つの を持った Plasman を増やす
sivira アジェンダ Minimal Viable Plasma 基礎 ー 基本的な仕組みのおさらい 鳥の目で見る Plasma
ー Plasma を取り巻くトピック整理 魚の目で見る Plasma ー スキーム改善の潮流 虫の目で見る Plasma ー More Viable Plasma
sivira Minimal Viable Plasma 基礎
sivira 豆知識
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. 以降のスライド
sivira 登場人物 Alice Plasma コインを 送るユーザー Bob Plasma コインを 受け取るユーザー
Carol Plasma チェーンの オペレータ
sivira Setup → Deposit → Transfer → Exit Ethereum Plasma
Chain Plasma Contract queue
sivira Setup → Deposit → Transfer → Exit Ethereum Plasma
Chain Plasma Contract queue to: tx
sivira Setup → Deposit → Transfer → Exit Ethereum Plasma
Chain Plasma Contract queue
sivira Setup → Deposit → Transfer → Exit Ethereum Plasma
Chain Plasma Contract queue 入金ブロック追加
sivira Setup → Deposit → Transfer → Exit Ethereum Plasma
Chain Plasma Contract queue to: tx
sivira Setup → Deposit → Transfer → Exit Ethereum Plasma
Chain Plasma Contract queue to: tx ブロック追加
sivira Setup → Deposit → Transfer → Exit Ethereum Plasma
Chain Plasma Contract queue to: tx ブロック提出
sivira Setup → Deposit → Transfer → Exit Ethereum Plasma
Chain to: tx 承認! Plasma Contract queue
sivira Setup → Deposit → Transfer → Exit Ethereum Plasma
Chain to: tx Plasma Contract queue 承認済
sivira Setup → Deposit → Transfer → Exit Ethereum Plasma
Chain Plasma Contract queue 出金したい tx utxoPos: 200
sivira Setup → Deposit → Transfer → Exit Ethereum Plasma
Chain Plasma Contract queue utxoPos: 200
sivira Setup → Deposit → Transfer → Exit Ethereum Plasma
Chain Plasma Contract queue 200 utxoPos: 200
sivira Setup → Deposit → Transfer → Exit Ethereum Plasma
Chain Plasma Contract queue 200 utxoPos: 200 何事もなく 1週間経過
sivira Setup → Deposit → Transfer → Exit Ethereum Plasma
Chain Plasma Contract queue 200 utxoPos: 200 出金 tx
sivira Setup → Deposit → Transfer → Exit Ethereum Plasma
Chain Plasma Contract queue 200 は引き出し済み
sivira 重要 セキュリティモデルとしての mass exit と、そのための priority queue 悪事を働こうとするオペレータから 資産を保護するため、みんなで大脱走できる
I can withhold blocks. hehehe! (exit priority の話は後ほど詳しく)
sivira 鳥の目で見る Plasma
sivira 鳥の目とは? 鳥の目は、 俯瞰的な思考をする視点、 全体を見るマクロの目である。 blog.livedoor.jp/mbcsouken/archives/1872590.html
sivira 鳥の目を持つ人の例 twitter.com/_sgtn/status/1006173776101326849
sivira そして塵になる twitter.com/_sgtn/status/1006282342409822208
sivira 鳥の目で情報収集 & Vitalik や Vlad などはもちろん ethresearch でええこと 言うてる人達をリスト化して追従
Plasma カテゴリだけは守備範囲と決心し 新しい投稿は全てキャッチできるように 通知設定
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
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 ??
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 を時短するようなイメージ
sivira 魚の目で見る Plasma
sivira 魚の目とは? blog.livedoor.jp/mbcsouken/archives/1872590.html 魚の目は、 流れを見るトレンドの目である。
sivira 魚の目の重要性 事実①:基本スキームは改善の積み上げである 事実②:情報量が多く流れも速い過渡期である 各論に振り回されずに 基礎 を抑えて 潮流 を意識する ことが重要
sivira 基本スキームの系譜 Minimal Viable Plasma More Viable Plasma Plasma Cash
Plasma XT Plasma Debit
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 も送金者がキャンセルできる ・そもそも面倒
sivira 19枚目のスライドを思い出してください Ethereum Plasma Chain Plasma Contract queue to: tx
承認!
sivira confirmation signature Ethereum Plasma Chain Plasma Contract queue to:
tx 承認!
sivira confirmation signature がないと困る状況 Ethereum Plasma Chain Plasma Contract queue
to: tx
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)
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
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
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
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 と同じ
sivira → More Viable Plasma Minimal Viable Plasma More Viable
Plasma Plasma Cash Plasma XT Plasma Debit exit priority の算出基準変更 confirmation signature が不要になる ☹ exit game がちょっと複雑になってしまう (具体的にどう変更したのは、虫の目パートにて)
sivira スキーム改善の大きな潮流 Minimal Viable Plasma More Viable Plasma Plasma Cash
Plasma XT Plasma Debit セキュリティを維持 しつつ いかに ユーザーの負担 を減らすか 様々な攻撃から資産を保護できる (ex. オペレータに対する mass exit) ・データ保持・監視 ・複雑かつ長期間に渡る exit game etc.
sivira 虫の目で見る Plasma
sivira 虫の目とは? blog.livedoor.jp/mbcsouken/archives/1872590.html 虫の目は、現場において、 様々な課題に対して要因分析ができる目、 部分を見るミクロの目である。
sivira → More Viable Plasma(再掲) Minimal Viable Plasma More Viable
Plasma Plasma Cash Plasma XT Plasma Debit exit priority の算出基準変更 confirmation signature が不要になる ☹ exit game がちょっと複雑になってしまう
sivira 証明駆動開発 仕様を満たすことを定理証明する 実装する 仕様を定式化する
sivira “youngest-input” priority ethresear.ch/t/more-viable-plasma/2160
sivira “youngest-input” priority tx1 o1 :spent :unspent
sivira “youngest-input” priority tx1 tx2 o1 o2 o3 :spent :unspent
sivira “youngest-input” priority tx1 tx2 tx3 o1 o4 o2 o3
:spent :unspent
sivira “youngest-input” priority tx1 tx2 tx4 tx3 o1 o4 o2
o3 o5 o6 :spent :unspent
sivira “youngest-input” priority tx1 tx2 tx4 tx3 o1 o4 o2
o3 o5 o6 tx5 o7 :spent :unspent
sivira “youngest-input” priority tx1 tx2 tx4 tx3 o1 o4 o2
o3 o5 o6 tx5 o7 tx6 o8 :spent :unspent
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
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 は使用しない、という前提 注)
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 が不要になる
sivira 定理証明的に書くとこうなる ethresear.ch/t/more-viable-plasma/2160
sivira “canonical” な tx ethresear.ch/t/more-viable-plasma/2160
sivira 基本的な challenge ① tx1 tx3 o1 o3 tx2 o2
:spent :unspent :exiting
sivira 基本的な challenge ① tx1 tx3 o1 o3 tx2 o2
canonical challenge :spent :unspent :exiting non-canonical
sivira 基本的な challenge ② :spent :unspent :exiting tx1 tx4 tx3
tx2 o1 o2 o4 o3
sivira 基本的な challenge ② :spent :unspent :exiting tx1 tx4 tx3
tx2 o1 o2 o4 o3 non-canonical canonical challenge
sivira 基本的な challenge ③ tx1 tx2 o1 o2 :spent :unspent
:exiting
sivira 基本的な challenge ③ tx1 tx2 o1 o2 challenge :spent
:unspent :exiting spent unspent canonical
sivira exitable な条件を定理証明的に書くとこうなる non-canonical な tx によって spent された output
は exitable(double spent されたら not exitable) 注) ethresear.ch/t/more-viable-plasma/2160
sivira Safety & Liveness ethresear.ch/t/more-viable-plasma/2160
sivira → More Viable Plasma(再再掲) Minimal Viable Plasma More Viable
Plasma Plasma Cash Plasma XT Plasma Debit exit priority の算出基準変更 confirmation signature が不要になる ☹ exit game がちょっと複雑になってしまう
sivira まとめ
sivira 鳥の目:全体を見るマクロの目 Plasma を取り巻くトピックを俯瞰して整理しました。 魚の目:流れを見るトレンドの目 基礎となる Minimal Viable Plasma の仕組みと課題を踏まえつつ
Plasma のスキーム改善の潮流について解説しました。 虫の目:部分を見るミクロの目 新しく提案された More Viable Plasma における exit priority と exit game の基本について解説しました。 まとめ 今、激動の Plasma 界と向き合うための 3つの
sivira 何のためのスケーラビリティ? まず直接的にするべきなのは、 ブロックチェーンに関するポジティヴなイメージを 生むようなアプリケーションをつくりあげることだ。 ICO だけではなく、例えば一般的な人々が 便利に思うような決済の仕組みが必要なんだ。 ー Vitalik
Buterin wired.jp/2018/05/19/vitalik-buterin-interview-1
sivira Broof × Plasma