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
1k
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
110
Meta Contract on Steroids
shogochiai
0
120
Workshop: Solidity with LLM
shogochiai
2
180
Why ERC-7546 and where it is going.
shogochiai
0
250
UUPS2.pdf
shogochiai
0
55
風の時代とメタ国家
shogochiai
0
320
様相μ計算による計算論的な民主主義の健全性の評価 ~自律分散組織(DAO)による政体の超越性に向けて~ The theory of democraticity evaluation via modal mu-calculus for suggesting the supremacy of DAO for Nations.
shogochiai
0
53
Web3時代のDAOによるソシエタルデザイン
shogochiai
0
170
ptaa.app 解説資料
shogochiai
0
130
Other Decks in Technology
See All in Technology
Building AI Applications with Java, LLMs, and Spring AI
thomasvitale
1
230
Pandocでmd→pptx便利すぎワロタwww
meow_noisy
2
890
アジャイル社内普及ご近所さんマップを作ろう / Let's create an agile neighborhood map
psj59129
1
140
新しい風。SolidFlutterで実現するシンプルな状態管理
zozotech
PRO
0
130
学術的根拠から読み解くNotebookLMの音声活用法
shukob
0
370
Bedrock のコスト監視設計
fohte
2
220
事業状況で変化する最適解。進化し続ける開発組織とアーキテクチャ
caddi_eng
1
6.7k
Dev Containers と Skaffold で実現する クラウドネイティブ開発環境 ローカルのみという制約に挑む / Cloud-Native Development with Dev Containers and Skaffold: Tackling the Local-Only Constraint
bitkey
PRO
0
130
その意思決定、まだ続けるんですか? ~痛みを超えて未来を作る、AI時代の撤退とピボットの技術~
applism118
42
23k
Redux → Recoil → Zustand → useSyncExternalStore: 状態管理の10年とReact本来の姿
zozotech
PRO
21
9k
クラスタ統合リアーキテクチャ全貌~1,000万ユーザーのウェルネスSaaSを再設計~
hacomono
PRO
0
140
AI エージェント活用のベストプラクティスと今後の課題
asei
1
240
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Code Review Best Practice
trishagee
72
19k
Site-Speed That Sticks
csswizardry
13
970
Making Projects Easy
brettharned
120
6.5k
Being A Developer After 40
akosma
91
590k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
192
56k
The World Runs on Bad Software
bkeepers
PRO
72
12k
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ͰޡຐԽ͞ΕΔͳ ·ͱΊ ωοτϫʔΫޮՌͱθϩԽ͢ΔมΛݟΑ