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
Scaling Problem and Sidechain
Search
sgtn
January 22, 2019
Technology
4
980
Scaling Problem and Sidechain
A Lecture at Tokyo University
sgtn
January 22, 2019
Tweet
Share
More Decks by sgtn
See All by sgtn
war model
shogochiai
0
66
Meta Contract on Steroids
shogochiai
0
60
Workshop: Solidity with LLM
shogochiai
1
130
Why ERC-7546 and where it is going.
shogochiai
0
180
UUPS2.pdf
shogochiai
0
41
風の時代とメタ国家
shogochiai
0
240
様相μ計算による計算論的な民主主義の健全性の評価 ~自律分散組織(DAO)による政体の超越性に向けて~ The theory of democraticity evaluation via modal mu-calculus for suggesting the supremacy of DAO for Nations.
shogochiai
0
30
Web3時代のDAOによるソシエタルデザイン
shogochiai
0
140
ptaa.app 解説資料
shogochiai
0
82
Other Decks in Technology
See All in Technology
PDF Viewer作成の今までとこれから
hunachi
0
480
The XZ Backdoor Story
fr0gger
0
3.6k
Jetpack Compose Modifier 徹底解説 / Jetpack Compose Modifier
wiroha
0
200
自作Cコンパイラ 8時間の奮闘
soukouki
0
850
GC24 Recap: Interface Internals
task4233
0
150
学術機関におけるID連携とOpenID Connect
fujie
0
280
不動産売買取引におけるAIの可能性とプロダクトでのAI活用
zabio3
0
270
Privacy Sandbox on Android / DroidKaigi 2024
7pairs
1
270
サーバレスでモバイルアプリ開発! NTTコム「ビジネスdアプリ」のアーキテクチャ / The architecture of business d app
nttcom
12
240
eBPFのこれまでとこれから
yutarohayakawa
10
3.2k
Functional TypeScript
naoya
11
4.8k
突撃! 隣のAmazon Bedrockユーザー 〜YouはどうしてAWSで?〜
minorun365
PRO
3
390
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
65
4.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
How GitHub (no longer) Works
holman
310
140k
Optimizing for Happiness
mojombo
375
69k
Bash Introduction
62gerente
608
210k
It's Worth the Effort
3n
182
27k
YesSQL, Process and Tooling at Scale
rocio
167
14k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Raft: Consensus for Rubyists
vanstee
135
6.5k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
27
7.4k
Pencils Down: Stop Designing & Start Developing
hursman
119
11k
The Invisible Side of Design
smashingmag
296
50k
Transcript
εέʔϦϯάͱ αΠυνΣʔϯٕज़ Cryptoeconomics Lab CTO - Sg
ϒϩοΫνΣʔϯཧֶͰ͢
Crypto - ҉߸ͷ Economics - ܦࡁֶ ͲΜͳܥφογϡۉߧͱͯ͠ϞσϧԽ →ۉߧΛҠಈͤ͞ΔվળΛఏҊ →߈ܸΛίϛϡχςΟͱߟ͑Δ →؇ΛίϛϡχςΟͱߟ͑Δ
πϘ bottleneck critical path Ҡಈͤ͞Δ͖φογϡۉߧͲΕ͔
͏·͘վળ͢Δͱ࣍ͷπϘมΘΔ
πϘੳ → ൃ໌ ↑ ↓ ؇ ← ߈ܸߟҊ
ΫϥυΞʔΩςΫτ ήʔϜཧ(ϛΫϩܦࡁ) ηΩϡϦςΟֶ
C2CΞϓϦاۀͷCTO ηΩϡϦςΟΩϟϯϓ ඈߦػ։ൃऀ
ϒϩοΫνΣʔϯͷຊ࣭ͱ Permissionless Atomic State Machine Replication ୭ͰࢀՃͷ த్͡Όͳ͍ ΦϯϥΠϯήʔϜͷ ਐΈ۩߹ͷ
ਖ਼͍͠όοΫΞοϓͷཧํ๏
ڐՄͳ͘୭ͰࢀՃͰ͖Δ Ͱյ͞Εͳ͍ ڐՄΛग़͢Ϧʔμʔ͕͍ͳ͍ ௵ͨͯ͘͠௵͢૬ख͕͍ͳ͍ Permissionless
ϓϥΠϕʔτνΣʔϯͷ͜ͱ ࢀՃ͕ڐՄ੍ ߴͰɺDBͱ΄΅Ұॹ ίϯιʔγΞϜ࡞Γ͍͢ σʔλվ᜵ͦͦ͜͜͞Εʹ͍͘ ༨ஊ: Permissioned
ϓϥΠϕʔτνΣʔϯͷ͜ͱ ࢀՃ͕ڐՄ੍ ߴͰɺDBͱ΄΅Ұॹ ίϯιʔγΞϜ࡞Γ͍͢ σʔλվ᜵ͦͦ͜͜͞Εʹ͍͘ ༨ஊ: Permissioned
फڭ্ͷཧ༝Ͱ ϓϥΠϕʔτνΣʔϯͷ ͠·ͤΜ
Permissionless Atomic State Machine Replication TxΛ1ສϊʔυʹίϐʔ͍ͨ͠ ෆಛఆଟʹίϐʔ͢Ε௵͞Εͳ͍ ܖͱ͍͏ͷՁʹର͢Δঢ়ଶભҠͷهड़
Bitcoin(Ձ͕ୈ1ڃࢢຽ) Ethereum(σʔλ͕ୈ1ڃࢢຽ) શ෦σʔλɻ ՁɺՁͷରՁʹͳΔσʔλɺͳΜ Ͱͳ͍σʔλɺͲ͏ಈ͔͔͢શ෦νΣʔ ϯʹΞοϓϩʔυ͓ͯ͘͠ελΠϧ Ձϕʔεɻ ͋ΔՁΛͲ͏ॲཧ͢Δ͔ɻ ෳࡶͳ͜ͱͰ͖ͳ͍ɻ
PermissionlessͳϒϩοΫνΣʔϯͷಛ: - ୈࡾ࣍ੈքେઓͰ௵͞Εͳ͍҆৺ײ͋ΔγεςϜ - Φʔϓϯιʔεʹͯ͠ॳΊͯ҆શূ໌Ͱ͖ΔΈ - ΦʔϓϯιʔεʹͲΜͲΜՌ͕ग़Δ - Φʔϓϯͳܝࣔ൘ͰϥϑʹٞݚڀΛ͢Δ -
҆ఆੑੑೳʹؔ͢Δ෦ϓϩτίϧͤΒΕΔ - ϓϩτίϧ(ن֨)ଆʹΠϯηϯςΟϒઃܭ͕͋Δ - Ұެ։͢ΔͱΑͬΆͲ͡Όͳ͍ݶΓߋ৽Ͱ͖ͳ͍ - ֎ͷੈքͷσʔλΛऔΓࠐΉͷʹҰۤ࿑͢Δ - τϥϯβΫγϣϯ(Tx)͕֬ఆ͢Δͷ͕ΊͬͪΌ͍ - Txͷಉ࣌ॲཧ͕ΊͬͪΌগͳ͍ - DoS(ݏ͕Βͤ)ରࡦʹͲΜͳTxʹखྉ͕͋Δ
None
None
WebͷϊϦͰࢀೖ͖ͯͯ͠ ʮͳʹ͜ΕΫι͡ΌΜʯ ͱు͖ࣺͯͯఫୀ͢Δࣄྫଟ ࠓͨͿΜͦ͏͍͏ͷ͕૿͑Δ
ͳ͍ͥʁ ΰγοϓΞϧΰϦζϜͱ͍͏ ϒϩοΫ/TxํࣜͰ1ສϊʔυ ͪΐͬͱ͕͔͔࣌ؒΔɻ
pBFTʹͯ͠ϊʔυݮΒ͢Ҋ 33%߈ܸੑʹམͪΔ CSతͳηΩϡϦςΟϞσϧ Ͱͳ࣏͘తͳͭʹͳΔ ʢ࿎߈ܸʣ ָ؍తཁ݅ʹ͔͑͠ͳ͍
ઐ༻ޠղઆ1 TxͷΩϟύͰ͋ͬͯԠͰͳ͍
Finality & Confirmation ઐ༻ޠղઆ2 TxͷԠ͕ͩɺऔҾֹۚʹΑͬͯ߈ܸ֬ ҧ͏ͷͰΥϨοτʹΑ͔ͬͯͬͨΓ
ηΩϡϦςΟ ઐ༻ޠղઆ3 ϓϩάϥϜͷόά͚ͩͰͳ͘ γεςϜΛμϝʹ͢Δ߈ܸظͱె࿑ײͷ ܦࡁֶతͳόϥϯεηΩϡϦςΟͷൣᙝ
σʔλΛॻ͖͑Δൣғ͕ඃΒͳ ͍ͭΛฒྻԽ͠Α͏Ҋ ൣғ͕͔ͿΒͳ͍ͱ ΊͬͪΌૣ͍͕ɺ͔ ͿΔͱ͍. ·͋༗ྗ ͳεέʔϦϯάͷ͏ ͪͷͻͱͭ. Sharding!
ॲཧΛ֎͠Α͏Ҋ ຊʹ͍ΖΜͳఏҊ͕͋Δ
ຊ࣭ʹཱͪฦΔͱ "Ethereum" Λεέʔϧ͍ͤͨ͞ ETHΑΓ҆͘߈ܸͰ͖ΔͳΒ ͦΕETH͡Όͳ͍
ETHʹஔ͍͍ͯΔ͓ۚΛ μϝͳαΠυνΣʔϯʹ ETHΑΓ҆͘߈ܸͰ͖ΔͷͰ ϦεΫ૿
μϝͳαΠυνΣʔϯΑΓ EOSͷ͕Ϛγ
μϝͳαΠυνΣʔϯ ͬͯ ಠࣗνΣʔϯ͡ΌͶʁ
αΠυνΣʔϯݬ
ͦͦαΠυνΣʔϯ ͱ͍͏ݴ༿Λ ୭͕ݴ͍ग़ͨ͠ͷ͔Ṗ
ྑ࣭ͳαΠυνΣʔϯͱԿ͔
ྑ࣭ͳαΠυνΣʔϯͱ νΣʔϯͷηΩϡϦςΟΛ࣋ͭ
Plasma Off-chain Transaction Verification Protocol
Ethereumͷࢿ࢈อશੑͷ·· ॲཧΛ҆શʹΦϑϩʔυ͢Δٕज़ ΤάθΫςΟϒαϚϦ
ΤάθΫςΟϒαϚϦ2 ళฮͰTx͕2ඵͰ֬ఆͰ͖Δ ҰํͰݸਓؒૹۚͷfinalityΛՄมʹ ΤϯυϢʔβʔΨεෆཁ ΤεΫϩʔίϯτϥΫτՄ ·ͣҡ࣋අ~1000ສԁ/ ҡ࣋අνϡʔχϯάͰ҆͘ͳΔॲ͋Γ
Έʹ͍ͭͯ
H H H H H H H H H H
H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H Sparse Merkle Tree (ૄϚʔΫϧ) Bob 1000JPY ૹΓ·͢ Alice ϒϩοΫ
Bob 1000JPY ૹΓ·͢ Alice Merkle RootETHʹอଘ ࢠνΣʔϯͷຖϒϩοΫੜ࣌ ProofΥϨοτʹอଘ TxBytesΥϨοτʹอଘ
Bob 1000GYENૹΓ·͢ Alice Merkle Root32bytes TransactionѹॖޮՌ ߴ͞5ͷπϦʔProof͕5ͭ 1Tx 100bytes~͘Β͍ͷαΠζ
࣌ؒ blocktime 1 શͯͷϒϩοΫͷProofΛ͓࣋ͬͯ͘͜ͱͰɺ ࢠνΣʔϯTransactionͷଘࡏূ໌͕Ͱ͖Δ
TransactionͷѼઌ͕ͻͱͭ औҾཤྺ͕Ұઢ JPY
͋Δ༬ۚΠϕϯτ͔ΒḷͬͯɺऔҾཤྺ͕Ұઢ Alice Bob Carl David
Davidͷ͓ۚΛӡӦ͚ͩվ͟ΜͰ͖Δ͕ ѱ͍͜ͱΛ͠Α͏ͱͯ͠ɾɾɾ Alice Bob Operator David ଞਓͷ͓ۚͰ Exit 1weekͪ
OperatorɺDavidʹ͓͕ۚΔTxͷ ଘࡏূ໌ʹ߹ҙ͍ͯ͠ΔͷͰ Alice Bob Operator David Exit Carl David Challenge
(ҟٞਃཱͯ)
͠ଘࡏূ໌ʹΦϖϨʔλʔ͕߹ҙ͍ͯ͠ͳ͔ͬͨΒʁ Alice Bob Carl David Carl: “ૹ͕ۚಧ͔ͳ͍ʂ” Carl: “ࢿ࢈ΛकΔͨΊʹExit͢Δʂ” Operator:
“CarlͷUTXOΛ༻͢ΔUTXOͳ͍͠ɺཤྺਖ਼ ͍͔͠ΒɺWithdraw͍͍ͯ͠Α” Txੜ Txੜ Txੜ Commit Commit Conf Conf Exit Conf Conf Conf Conf David: “Carlૹ͍ۚͨͬͯ͠͏͚ ͲɺConfͱΕͳ͍͔Β ͤͳ͍ͳ͋”
Only one honest user ݪଇ ࣗҎ֎ΈΜͳάϧ
ཤྺʹΑΔෆਖ਼ূ໌ (શෆਖ਼औҾҟٞਃཱͯՄ) ଘࡏূ໌ (Merkle Proof) Proof of Silence (ʮੋͳΓʯݪଇ) Ethereumͱಉ͡ηΩϡϦςΟΛͨΒ͢
ઈົͳτϨʔυΦϯؔ Trustless Sidechain
Proof of Silence a.k.a Optimist Pattern (ʮੋͳΓʯݪଇ) ݟ׳Εͳ͍୯ޠ͕ɾɾɾ Exit͕Withdraw͞ΕΔʹʮ͠ෆਖ਼ʹExit͞ΕΑ͏ͱ͠ ͍ͯΔߴͷ࣋ͪओ͕͍ΔͳΒɺͦΕʹؾ͚ͮΔ͚ͩͷ
ेͳ࣌ؒΛͭʯͱ͍͏͕݅͋Δɻ͜Ε҉ʹ ʮͦͷࣄલऔΓܾΊͷ্Ͱෆຬ͕ͳ͍ͳΒɺͦͷ Withdrawalਖ਼ͳͷͩΖ͏ʯͱ͍͏ϧʔϧ͕͋Δɻ͜ ΕΛ “Proof of Silence” ͱ໋໊͓ͯ͘͠ͱɺཧղ͢͠ ͍ɻ͋͘·Ͱɺ୭͔͕໌ࣔతʹঝೝ͠ͳ͍ઃܭͰҾ͖ग़ ͠Λݕূ͍͔ͨ͠Β͜ͷΑ͏ͳઃܭʹͳ͍ͬͯΔɻ
ࢿ࢈อશੑ100% ҆ఆՄಈੑ99.999999% ֶతอূ ֶతվળ ཉுΒͳ͍͠దʹࡁ·ͤͳ͍όϥϯε
ࢿ࢈อશੑ100% ҆ఆՄಈੑ99.999999% ֶతอূ 0.000001%͕ى͖ͨ ͜Μͳͱ͖Ͳ͏͢Δʁ
ނো͔ѱҙ͔αʔόʔఀࢭ ͰτϥετϨεͳͷͰ PlasmaࢠνΣʔϯ αʔόʔ PlasmaνΣʔϯ ίϯτϥΫτ 0.000001% 1. ͓͕ۚಈ͔ͤͳ͍… 2.
ग़
Ongoing Research 0.5ඵTx: Fast Finality τʔΫϯͷަ: Swap Tx ҡ࣋අͷઅ: Commit
Aggregation Stable Coinͷಋೖ
ຊͰͷԠ༻ AlipayͱมΘΒͳ͍Ͱ͑Δ ۜߦɾେاۀɾελʔτΞοϓͷ ൃߦ͢ΔԁݐͯεςʔϒϧίΠϯΛ PlasmaͰ૬ޓӡ༻ ΤεΫϩʔΛͬͨΞϓϦ͕Ұؾʹ૿͑Δ
৽ڵࠃͰͷԠ༻ γΣΞϦϯάΤίϊϛʔܥΞϓϦ͕ ҆৺ͯ͑͠ΔΑ͏ʹͳΔ ܾࡁػೳΛͦΕͧΕ͍࣋ͬͯΔ͕ɺ ݱ௨՟ݐͯτʔΫϯͳͷͰ૬ޓӡ༻ָ͕ ΠϯυωγΞͷGoJEKͷΑ͏ʹ ΠϯϑϥʹͳΔ ͕৴༻Ͱ͖ͳ͍ࠃ WBTCBTCTϕʔεͰऔҾ͢Δ
ΑΓҡ࣋අ͕҆͘ͳΓ ୭Ͱ͑Δಓ۩ʹͳΔ After Serenity
τϥϯβΫγϣϯͷ ϓϩάϥϚϒϧԽ τϥϯβΫγϣϯͷ θϩίετԽ ॏཁͳύϥμΠϜ
Nash EquillibriumΛNudge͢Δֶ Security GuaranteeͰޡຐԽ͞ΕΔͳ ·ͱΊ ωοτϫʔΫޮՌͱθϩԽ͢ΔมΛݟΑ