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
70
Meta Contract on Steroids
shogochiai
0
71
Workshop: Solidity with LLM
shogochiai
1
140
Why ERC-7546 and where it is going.
shogochiai
0
190
UUPS2.pdf
shogochiai
0
41
風の時代とメタ国家
shogochiai
0
250
様相μ計算による計算論的な民主主義の健全性の評価 ~自律分散組織(DAO)による政体の超越性に向けて~ The theory of democraticity evaluation via modal mu-calculus for suggesting the supremacy of DAO for Nations.
shogochiai
0
31
Web3時代のDAOによるソシエタルデザイン
shogochiai
0
140
ptaa.app 解説資料
shogochiai
0
85
Other Decks in Technology
See All in Technology
スクラム成熟度セルフチェックツールを作って得た学びとその活用法
coincheck_recruit
1
140
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
430
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
3
200
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
190
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
110
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.6k
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.4k
隣接領域をBeyondするFinatextのエンジニア組織設計 / beyond-engineering-areas
stajima
1
270
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
180
ドメイン名の終活について - JPAAWG 7th -
mikit
33
20k
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
136
6.6k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Facilitating Awesome Meetings
lara
50
6.1k
Happy Clients
brianwarren
98
6.7k
Making Projects Easy
brettharned
115
5.9k
Designing the Hi-DPI Web
ddemaree
280
34k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Building Applications with DynamoDB
mza
90
6.1k
Bash Introduction
62gerente
608
210k
Why Our Code Smells
bkeepers
PRO
334
57k
Being A Developer After 40
akosma
86
590k
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ͰޡຐԽ͞ΕΔͳ ·ͱΊ ωοτϫʔΫޮՌͱθϩԽ͢ΔมΛݟΑ