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
78
Meta Contract on Steroids
shogochiai
0
82
Workshop: Solidity with LLM
shogochiai
2
150
Why ERC-7546 and where it is going.
shogochiai
0
210
UUPS2.pdf
shogochiai
0
43
風の時代とメタ国家
shogochiai
0
270
様相μ計算による計算論的な民主主義の健全性の評価 ~自律分散組織(DAO)による政体の超越性に向けて~ The theory of democraticity evaluation via modal mu-calculus for suggesting the supremacy of DAO for Nations.
shogochiai
0
37
Web3時代のDAOによるソシエタルデザイン
shogochiai
0
150
ptaa.app 解説資料
shogochiai
0
94
Other Decks in Technology
See All in Technology
Oracle Cloud Infrastructure:2025年2月度サービス・アップデート
oracle4engineer
PRO
1
220
生成 AI プロダクトを育てる技術 〜データ品質向上による継続的な価値創出の実践〜
icoxfog417
PRO
2
170
エンジニアのためのドキュメント力基礎講座〜構造化思考から始めよう〜(2025/02/15jbug広島#15発表資料)
yasuoyasuo
18
6.9k
自動テストの世界に、この5年間で起きたこと
autifyhq
10
8.6k
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
1k
Swiftの “private” を テストする / Testing Swift "private"
yutailang0119
0
130
Moved to https://speakerdeck.com/toshihue/presales-engineer-career-bridging-tech-biz-ja
toshihue
2
750
君も受託系GISエンジニアにならないか
sudataka
2
440
OpenID BizDay#17 KYC WG活動報告(法人) / 20250219-BizDay17-KYC-legalidentity
oidfj
0
250
30分でわかる『アジャイルデータモデリング』
hanon52_
9
2.7k
Amazon S3 Tablesと外部分析基盤連携について / Amazon S3 Tables and External Data Analytics Platform
nttcom
0
140
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
57k
Featured
See All Featured
Code Review Best Practice
trishagee
67
18k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Typedesign – Prime Four
hannesfritz
40
2.5k
Bash Introduction
62gerente
611
210k
A Philosophy of Restraint
colly
203
16k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
A designer walks into a library…
pauljervisheath
205
24k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Building Your Own Lightsaber
phodgson
104
6.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Adopting Sorbet at Scale
ufuk
74
9.2k
How to Ace a Technical Interview
jacobian
276
23k
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ͰޡຐԽ͞ΕΔͳ ·ͱΊ ωοτϫʔΫޮՌͱθϩԽ͢ΔมΛݟΑ