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
100
Workshop: Solidity with LLM
shogochiai
2
170
Why ERC-7546 and where it is going.
shogochiai
0
230
UUPS2.pdf
shogochiai
0
48
風の時代とメタ国家
shogochiai
0
290
様相μ計算による計算論的な民主主義の健全性の評価 ~自律分散組織(DAO)による政体の超越性に向けて~ The theory of democraticity evaluation via modal mu-calculus for suggesting the supremacy of DAO for Nations.
shogochiai
0
48
Web3時代のDAOによるソシエタルデザイン
shogochiai
0
160
ptaa.app 解説資料
shogochiai
0
110
Other Decks in Technology
See All in Technology
Amplify Gen2から知るAWS CDK Toolkit Libraryの使い方/How to use the AWS CDK Toolkit Library as known from Amplify Gen2
fossamagna
1
390
データエンジニアリング 4年前と変わったこと、 4年前と変わらないこと
tanakarian
1
170
How Do I Contact Jetblue Airlines® Reservation Number: Fast Support Guide
thejetblueairhelpsupport
0
210
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
18k
Semantic Machine Intelligence for Vision, Language, and Actions
keio_smilab
PRO
2
340
Webの技術とガジェットで那須の子ども達にワクワクを! / IoTLT_20250720
you
PRO
0
110
Shadow DOMとセキュリティ - 光と影の境界を探る / Shibuya.XSS techtalk #13
masatokinugawa
0
210
スプリントレビューを効果的にするために
miholovesq
3
670
Frontier Airlines Customer®️ USA Contact Numbers: Complete 2025 Support Guide
frontierairlineswithflyagent
0
100
サービスを止めるな! DDoS攻撃へのスマートな備えと最前線の事例
coconala_engineer
1
210
スプリントゴール未達症候群に送る処方箋
kakehashi
PRO
1
130
Introduction to Bill One Development Engineer
sansan33
PRO
0
270
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1k
Six Lessons from altMBA
skipperchong
28
3.9k
Faster Mobile Websites
deanohume
308
31k
Into the Great Unknown - MozCon
thekraken
40
1.9k
A designer walks into a library…
pauljervisheath
207
24k
KATA
mclloyd
30
14k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Practical Orchestrator
shlominoach
189
11k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Visualization
eitanlees
146
16k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Rails Girls Zürich Keynote
gr2m
95
14k
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ͰޡຐԽ͞ΕΔͳ ·ͱΊ ωοτϫʔΫޮՌͱθϩԽ͢ΔมΛݟΑ