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
イーサリアムスケーリングの背景と概要
Search
Osuke
April 26, 2018
Technology
2
2.3k
イーサリアムスケーリングの背景と概要
Osuke
April 26, 2018
Tweet
Share
More Decks by Osuke
See All by Osuke
特許データを使ったマルチモーダルAIの検証事例@LLMProd#4
osuke
0
190
dbtを中心に据えた データ分析とプロダクト開発
osuke
1
980
LayerX Privacy Tech事業部紹介 Tech編
osuke
0
170
(SCIS2021) Anonify: プライバシーを保護した 検証可能な状態遷移モジュール
osuke
1
350
Rustで実装された AWS Nitro Enclaves CLIを読む
osuke
0
330
Rustのパフォーマンスに関するTips
osuke
3
3k
ARM TrustZone入門 / ARM TrustZone intro
osuke
3
8.2k
Anonify
osuke
3
1k
Rustのasync/awaitとスケジューラの話 / rust-async-await
osuke
9
3.8k
Other Decks in Technology
See All in Technology
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
2.1k
SA Night #2 FinatextのSA思想/SA Night #2 Finatext session
satoshiimai
1
140
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
550
Helm , Kustomize に代わる !? 次世代 k8s パッケージマネージャー Glasskube 入門 / glasskube-entry
parupappa2929
0
250
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
11
3k
なぜ私は自分が使わないサービスを作るのか? / Why would I create a service that I would not use?
aiandrox
0
760
関東Kaggler会LT: 人狼コンペとLLM量子化について
nejumi
3
600
データマネジメントのトレードオフに立ち向かう
ikkimiyazaki
6
1k
データの品質が低いと何が困るのか
kzykmyzw
6
1.1k
飲食店予約台帳を支えるインタラクティブ UI 設計と実装
siropaca
7
1.8k
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
2
1.5k
リーダブルテストコード 〜メンテナンスしやすい テストコードを作成する方法を考える〜 #DevSumi #DevSumiB / Readable test code
nihonbuson
11
7.3k
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
67
4.6k
A designer walks into a library…
pauljervisheath
205
24k
Fireside Chat
paigeccino
34
3.2k
Thoughts on Productivity
jonyablonski
69
4.5k
The Invisible Side of Design
smashingmag
299
50k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
For a Future-Friendly Web
brad_frost
176
9.5k
Writing Fast Ruby
sferik
628
61k
Embracing the Ebb and Flow
colly
84
4.6k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
A Philosophy of Restraint
colly
203
16k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
Transcript
ΠʔαϦΞϜεέʔϦϯάͷ എܠͱ֓ཁ 2018/4/26 Osuke
Osuke @zoom_zoomzo - blog - dApp - twitter - ϑϦʔϥϯε
- 2017ळࠒ͔ΒϒϩοΫνΣʔϯΛษڧ - ౦େੜ໋ཧֶ෦ଔ
1ɽεέʔϥϏϦςΟɾτϦϨϯϚ 2ɽεέʔϦϯάιϦϡʔγϣϯ ɹ2.1ɹSidechains ɹ2.2ɹState Channels ɹ2.3ɹSharding
1. Scalablity Trilemma
Scalablity Trilemma 2ͭͷཁૉΛຬͨ͢ͷՄೳ͚ͩͲɺ 3ͭಉ࣌ʹຬͨ͢ͷ͕͍͠ʂ ίετͰωοτϫʔΫʹࢀՃՄೳ ेʹ߈ܸίετ͕ߴ͍ ωοτϫʔΫશମͰߴ͍ॲཧೳྗ ࢄੑɿ ҆શੑɿ εέʔϥϏϦςΟɿ
ݱঢ়ɾɾɾ εέʔϥϏϦςΟ ࢄੑ ҆શੑ ࢄੑͱ҆શੑΛߴਫ४ʹอͬͨ·· εέʔϥϏϦςΟΛ৳͍͖͍ͯͨ͠ʂ ݕূϊʔυͷܭࢉϦιʔε͕ ϘτϧωοΫʹɻ
1ɽࢄੑɿϊʔυʹඞཁͳܭࢉϦιʔεΛ͘อͭͨΊʹɺ ʢBlock Gas LimitΛ্͛ͯμϝʣ 2ɽ҆શੑɿίϯηϯαεͷηΩϡϦςΟΛอͪɺ ʢϋογϡύϫʔΛԼͤͯ͞μϝʣ 3ɽεέʔϥϏϦςΟɿωοτϫʔΫશମͰΑΓߴ͍ॲཧೳྗΛ࣋ͭ εέʔϥϏϦςΟ ࢄੑ ҆શੑ
→ϝΠϯνΣʔϯͰͷݕূ࡞ۀΛ࠷খԽ͢Δඞཁੑ →શͯͷTxΛશͯͷϊʔυ͕ݕূ͠ͳͯ͘ࡁΉΑ͏ͳํ๏
S S* Tx ঢ়ଶͱɺ - ΞΧϯτߴ - φϯε - EVMίʔυϋογϡ
- ετϨʔδϧʔτ →ϒϩοΫνΣʔϯͷঢ়ଶΛม͑Δ͜ͱʹ ܭࢉϦιʔε͕ඞཁʹͳΔ ͦͦͳͥϊʔυܭࢉϦιʔε͕ඞཁͳͷ͔ →τϥϯβΫγϣϯɾϒϩοΫΛݕূ͢Δ͜ͱʹ ܭࢉϦιʔε͕ඞཁʹͳΔ →ΠʔαϦΞϜεςʔτϚγϯ
ϒϩοΫνΣʔϯͷঢ়ଶભҠΛ࠷খݶʹ͢Δ ΠʔαϦΞϜʹ͓͚ΔεέʔϦϯάɺ ͱ͍͏Ξϓϩʔν
2ɽΠʔαϦΞϜͷεέʔϦϯάιϦϡʔγϣϯ ɾ1st layer → Sharding ɾ2nd layer → Sidechains, State
Channels
2.1ɹSidechains
Global State ʢ҆શʣ Local State ʢ҆શ͡Όͳ͍ʣ S0 → S1 →ɾɾɾ
Sn தؒঢ়ଶભҠ Flaud Proofsɿ ෆਖ਼ߦҝʹର͢Δਖ਼ੑͷূ໌ Sidechains (Plasma) αΠυνΣʔϯ →ϒϩοΫνΣʔϯͷঢ়ଶભҠΛ࠷খݶʹ
2.2 State Channels
Global State ʢ҆શʣ தؒঢ়ଶભҠ State Channels (Raiden Network) S0 →
S1 →ɾɾɾ→ Sn-1 → Sn OPEN CLOSE →ϒϩοΫνΣʔϯͷঢ়ଶભҠΛ࠷খݶʹ
Global State ʢ҆શʣ தؒঢ়ଶભҠ State Channels (Raiden Network) ࠷৽Ͱͳ͍StateΛ ίϛοτ͠Α͏ͱ͢ΔͱϖφϧςΟʂ
S0 → S1 →ɾɾɾ→ Sn-1 → Sn →ϒϩοΫνΣʔϯͷঢ়ଶભҠΛ࠷খݶʹ
2.3 Sharding
Sharding shard_id: 0 shard_id: 1 shard_id: 99 όϦσʔλʔ ɾɾɾ state:
S0 state: S1 state: S99 →ݕূΛฒྻԽͯ͠ܭࢉ →ϒϩοΫνΣʔϯͷঢ়ଶભҠΛ࠷খݶʹ Global State
Sharding shard_id: 0 shard_id: 1 shard_id: 99 ɾɾɾ T =
1
Sharding shard_id: 0 shard_id: 1 shard_id: 99 ɾɾɾ T =
2
Sharding shard_id: 0 shard_id: 1 shard_id: 99 ɾɾɾ T =
3
Ethereum 2.0 • Sharding • Casper • Stateless Clients Sidechains
• Plasma • Cosmos • Parity Bridge Truebit State Channels • Raiden Network • Counterfactual • FunFair …etc off-chain interactive verification εέʔϦϯάϓϩδΣΫτ
ΠʔαϦΞϜεέʔϦϯάͷϞνϕʔγϣϯ ࢄੑͱ҆શੑΛ٘ਜ਼ʹ͢ΔͷNG ϝΠϯνΣʔϯͰͷόϦσʔγϣϯ࡞ۀʢঢ়ଶભҠʣΛ࠷খԽ ϝΠϯνΣʔϯͱͷ҆શͳStateͷಉظ͕՝