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
Plasma on Substrate
Search
satellitex
May 28, 2019
Technology
57
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Plasma on Substrate
satellitex
May 28, 2019
More Decks by satellitex
See All by satellitex
Plasm Network L2L2
sate
1
480
Plasm Network 0504.
sate
0
59
New generation blockchain token design
sate
0
130
About Plasm Project
sate
0
190
Cross Blockchain Trading Protocols
sate
1
700
Other Decks in Technology
See All in Technology
Network Firewallやっていき!
news_it_enj
0
170
ボーイスカウトルールでメモリやスキルを改善しよう
azukiazusa1
4
1.5k
CIで使うClaude
iwatatomoya
0
290
DMM.com 購入改善推進チーム におけるCodeRabbitを用いた レビューフロー改善の一例
ysknsid25
2
670
インフラと開発の垣根を超えていき!〜元AWSインフラエンジニアがAWS開発で奮闘している話〜
hatahata021
3
300
End-to-Endで考える信頼性 —LINEアプリにおけるクライアント開発×SRE連携の実践
maruloop
4
4.7k
AI Coding Agent時代のcdk-nagガードレール 〜組織ルールを強制CIで守り抜く設計の挑戦〜
mhrtech
3
430
Genie Ontologyは銀の弾丸かを考える / Is Genie Ontology a Silver Bullet?
nttcom
0
410
SREとQA 二人三脚で進めるSLO運用/sre-qa-slo
sugitak
0
960
ruby.wasmとPicoRuby.wasmに対応した仮想DOMライブラリを作ってる話 #kaigieffect_kaigi
sue445
PRO
0
150
壊して学ぶAWS CDK: そのcdk deployで消えるもの、残るもの
k_adachi_01
1
410
脱金融のフューチャー・デザイン / Future Design Beyond Finance
ks91
PRO
0
160
Featured
See All Featured
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
460
The Pragmatic Product Professional
lauravandoore
37
7.4k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
420
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
220
Code Review Best Practice
trishagee
74
20k
My Coaching Mixtape
mlcsv
0
170
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
320
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
970
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
410
Transcript
Plasma on Substrate Takumi Yamashita @ public_sate 1
Takumi Yamashita (@public_sate) 所属:Staked Inc/東京大学大学院情報理工学研究科 趣味/特技だったもの: 競技プログラミング(ACM-ICPC WorldFinals 2016/2017) Splatoon(WiiU)(関東3位)
スマブラ(地元最強) 週刊少年ジャンプ Twitter(アルファ) 同人誌 (冬コミC91) 2
Proskenion 3 未踏2018年度
Substrate とは 日本語 Substrate Docs https://t.co/gB3CGA2w0Q ブロックチェーンフレームワーク モジュールを組み合わせて 君だけのブロックチェーンを作ろう 4
Plasma とは スケーラビリティのソリューション (既に詳しい説明がなされているはずなので省略します。 ) 5 Parent Child Submit Exit
Deposit
Plasm あなたのブロックチェーンに 無限のスケーラビリティを 6 © Staked Technologies https://github.com/stakedtechnologies/Plasm
Plasm を動かす Let's make a Plasma chain with Plasm and
Substrate. https://medium.com/staked-technologies/lets-make-a-plasma-chain-with-plasm-an d-substrate-39cbd868022d 7
Plasm の展望 Plasm は 親チェーンであり 子チェーンでもある ブロックチェーンを作れる。 多階層 Plasma チェーン
- Plasma Dictys 8 Root chain Parent chain / Child chain Parent chain / Child chain Child chain Child chain Child chain Child chain
Plasma Dictys Plasma の特徴 ExitGame によりメインチェーンのセキュリティを 子チェーンであやかることができる。 9 Root chain
Parent chain / Child chain Parent chain / Child chain Child chain Child chain Child chain Child chain
Plasma Dictys 10 Root chain Parent chain / Child chain
Parent chain / Child chain Child chain Child chain Child chain Child chain Root Chain のセキュリティ Parent Chain のセキュリティ = Root Chain のセキュリティ 無限のスケーラビリ ティ Fast Finality による即時決済 すごい!! MapReduce による 効率的トランザクション処理
Plasma Dictys 11 Root chain Parent chain / Child chain
Parent chain / Child chain Child chain Child chain Child chain Child chain Root Chain のセキュリティ Parent Chain のセキュリティ = Root Chain のセキュリティ 無限のスケーラビリ ティ Fast Finality による即時決済 すごい!! MapReduce による 効率的トランザクション処理 甘くない トートロジー
Substrate アンチパターン Rustの機能 Trait Trait はある型が実装しなければならない機能をコンパイラ に伝える機能を持つ。 C# や Java
でいうところのインター フェースのようなもの。 トレイト境界 ジェネリック型に指定されたトレイトが実装されることを強要 する機能。 関連型 トレイト内で複数の型をグループ化するものです。 12
Substrate アンチパターン 13 たくさんのジェネリック引数を持った構造体 を使いたいが毎回決まった定義を書くのが面倒
Trait Alias Pattern パターン 型エイリアスを使って Trait の型を省略する。 14
type AccountId = sr25519::Pubkey; のときは type Signature = sr25519::Signature; type
AccountId = ed25519::Pubkey; のときは type Signature = ed25519::Signature; を指定しないとエラーが起きるような設計にしたい。 Substrate アンチパターン 15
Verify trait を実装していて且つ verify に使う Signer(公開鍵)の型が AccountId であるような Signature でなければならない仕様にすることで解決。
Relational Trait Lock Pattern 16
Substrate アンチパターン Event テストパターン:Event が正しく発行されているかをどうテストするか? 17 マクロ展開 参考 https://docs.substrate.dev/docs/event-enum
Event Test Pattern Event テスト : Trait と super Trait
の Event への From を実装したTestEvent を使う 18 参考 : https://github.com/stakedtechnologies/Plasm/blob/v0.2.0/core/child/src/mvp.rs#L172
Super SRML Trait Pattern 異なる SRML をある SRML をラップした機能を作りたい時 例:balances
SRML と timestamp SRML を内部で使いたい。 スーパートレイトを使って指定した SRML とセットで使うことを強制する。 19
Using SRML Module Trait Pattern ある機能が実装された任意の SRML を別の SRML で使いたい時
SRML の Module を関連型として与える。 20 runtime/src/lib.rs srml/system/src/lib.rs srml/indices/src/lib.rs indices::Module<Runtime>
Plasma on Substrate の規格策定 21 PlasmParent PlasmChild PlasmUtxo PlasmMerkle PlasmProof
has PlasmTx mvp cash chamber mvp cash chamber mvp cash predicate dynamic static mvp cash predicate
Plasma on Substrate の規格策定 Rust の Trait を用いて規格を記述する 自由度の高いコードを書いても規格に沿ったプログラムを実装可能になる。 コンパイル時にバグを防ぐ。
22
PlasmTx 23 tx_hash out_index tx_hash out_index value keys quorum value
keys quorum value keys quorum Transaction input1 input2 output2 output3 output1 SignedTransaction Signature0 Signature1 Signature.. utxo_a signature public_key utxo_b unlock
PlasmTx ver Predicate. predicateAddress stateID Contract Transaction input1 predicateAddress stateID
input2 deprecate0 deprecate1
UtxoTrait MakePayment Plasma on Substrate の規格策定 type Signature; type TimeLock:
type Value; type OnNewAccount; 25 PlasmParent PlasmChild PlasmUtxo PlasmMerkle PlasmProof has PlasmTx type Utxo = PlasmUtxo; type Tree = PlasmMerkle; type Hash; type Hashing; MerkleTreeTrait
ブロックチェーンの歴史 • 過去 • 今 • 未来 26
議題 27 Polkadot Harberger Tax Child Chainの作成者は一定期間(月次) ごとに7%のtaxをroot chainに自動的に 支払う。その内、2%を僕らが運営費とし
て頂き、5%を使われているチェーン に還元する。%はトークンによるVotingに より変動する。このモデルはP4のエッセン スを大いに含むモデルである。Harberger Taxに関してはRadical Marketという書籍を 参考にされたい。 Plasma Chain IoTユースケース 電力ユースケース ゲームユースケース predicateAddress stateID Contract Transaction input1 predicateAddress stateID input2 deprecate0 deprecate1 ここのDSL 作るべき では? 子チェーンの Tx 親 子 孫 SkipExit/二段Exit