Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
3 つの目で見る Plasma
Search
m0t0k1ch1
June 25, 2018
Technology
4.4k
8
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
3 つの目で見る Plasma
m0t0k1ch1
June 25, 2018
More Decks by m0t0k1ch1
See All by m0t0k1ch1
Account Abstraction の今:ERC4337 概要
m0t0k1ch1
0
290
これだけはおさえておきたい コントラクトウォレット一問一答
m0t0k1ch1
1
1.2k
ash - a Keynote theme by m0t0k1ch1
m0t0k1ch1
0
840
Other Decks in Technology
See All in Technology
誤解だらけの開発生産性 / Myths and Misconceptions about Developer Productivity
i35_267
2
790
AIレビューはどこまで任せられるのか?自動化と人が背負うレビューの境界
sansantech
PRO
3
1.1k
SRE依存からの脱却 運用を開 発チームへ移す、 フルサイ クル開 発体制の実践
joooee0000
0
3.1k
Claude Code公式skillで 自分の仕事を少しずつ手放そう!(Claude Code開発ノウハウ大公開スペシャル by クラスメソッド)
kaym
1
490
Amplify Gen2でbackend.tsにCDKを定義する/しない事によるCDKの挙動の違いとユースケース
smt7174
1
410
タスクの複雑さでモデルを選ぶ ── Thompson Samplingで動かす“トークン/コスト最適化
satohy0323
0
560
しぶいSRE: サーバから見えない障害にどう向き合うか。ラストワンマイルのデバッグ実践 / Shibui SRE
kanny
13
6.5k
AI時代のYAGNI:「爆速で無駄になった機能」からの学び / 20260720 Naoki Takahashi
shift_evolve
PRO
2
320
生成AI×AWS CDK×AWS FISで"振り返れる"ミニGameDayをつくろう
yoshimi0227
1
390
“それは自分の仕事じゃない"を越えて行け
yuukiyo
1
480
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.4k
SREとQA 二人三脚で進めるSLO運用/sre-qa-slo
sugitak
0
880
Featured
See All Featured
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
220
Site-Speed That Sticks
csswizardry
13
1.3k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
200
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
230
Docker and Python
trallard
47
4k
Designing for humans not robots
tammielis
254
26k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Raft: Consensus for Rubyists
vanstee
141
7.6k
How to make the Groovebox
asonas
2
2.3k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Balancing Empowerment & Direction
lara
6
1.2k
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