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
Bitcoinの新しいTxリレープロトコルErlay
Search
shigeyuki azuchi
November 05, 2019
Technology
1
56
Bitcoinの新しいTxリレープロトコルErlay
GBEC動画解説コンテンツのスライドです。
https://goblockchain.network/2019/11/erlay/
shigeyuki azuchi
November 05, 2019
Tweet
Share
More Decks by shigeyuki azuchi
See All by shigeyuki azuchi
W-OTS+
azuchi
0
10
Shorのアルゴリズム
azuchi
0
33
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
22
Fiat-Shamir変換と注意点
azuchi
0
140
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
27
BIP-374 離散対数の等価性証明
azuchi
0
50
BIP-353 DNS Payment Instructions
azuchi
0
72
OP_CAT and Schnorr Trick
azuchi
0
68
Pay to Anchorと1P1Cリレー
azuchi
0
62
Other Decks in Technology
See All in Technology
Escape from Excel方眼紙 ~マークダウンで繋ぐ、人とAIの架け橋~ /nikkei-tech-talk44
nikkei_engineer_recruiting
0
200
スピンアウト講座05_実践活用事例
overflowinc
0
1.1k
20260320_JaSST26_Tokyo_登壇資料.pdf
mura_shin
0
120
Phase10_組織浸透_データ活用
overflowinc
0
1.5k
Phase03_ドキュメント管理
overflowinc
0
2.3k
スケールアップ企業でQA組織が機能し続けるための組織設計と仕組み〜ボトムアップとトップダウンを両輪としたアプローチ〜
tarappo
4
360
SSoT(Single Source of Truth)で「壊して再生」する設計
kawauso
2
320
開発チームとQAエンジニアの新しい協業モデル -年末調整開発チームで実践する【QAリード施策】-
qa
0
240
FastMCP OAuth Proxy with Cognito
hironobuiga
3
180
Goのerror型がシンプルであることの恩恵について理解する
yamatai1212
1
300
BFCacheを活用して無限スクロールのUX を改善した話
apple_yagi
0
120
スピンアウト講座03_CLAUDE-MDとSKILL-MD
overflowinc
0
1.2k
Featured
See All Featured
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
220
GraphQLとの向き合い方2022年版
quramy
50
14k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.5k
Unsuck your backbone
ammeep
672
58k
Abbi's Birthday
coloredviolet
2
5.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Code Review Best Practice
trishagee
74
20k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
250
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Navigating Weather and Climate Data
rabernat
0
140
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Transcript
新しいTxリレープロトコルの提案 Erlay
1 Erlay Bitcoinの新しいトランザクションリレープロトコル https://arxiv.org/pdf/1905.10518.pdf Bitcoinネットワークのセキュリティはノード間の 接続性に依存し、この接続数が増えればネットワークはよ り堅牢になる。(現在Bitcoinノードが接続するアウトバウン ドピアの数は8)
単純に接続数を増やすと、現在のリレープロトコルではネッ トワークで使用される帯域幅もリニアに増える。 接続数の増加に対して帯域幅をほぼ一定に保つ 新しいトランザクションリレープロトコルを提案。
2 既存のTxリレープロトコル Peer 1 Peer 2 ① インバウンドピアからTxを受信 ② Txの検証を実施
inv ③ inv:hash(Tx)を接続中のピアに送信 ④ Peer 2が対象のTxをまだ持っていない 場合、getdata:hash(Tx)をPeer 1に送信 ⑤ Txメッセージで応答 Tx getdata Tx
3 既存のTxリレープロトコルの特徴 既存のリレープロトコルをFlooding方式と呼ぶ • 帯域幅 invメッセージはノードが接続中のピア全てに対し送信されるため、 接続中のピアの数をnとすると1Txあたりn × 32バイトの帯域を使用する。 •
迅速な伝播 各ノードが(遅延時間があるものの)接続中の全てのピアにinvを送信するため、ネッ トワーク全体に迅速にTxの通知を送ることができる。 • データの重複 各ノードは接続中の各ピアからinvを受け取り、そのほとんどは重複したものになるこ とから、冗長的で無駄なデータを受け取っていることになる。 Txのリレーに関しては88%のデータが冗長的で、 ネットワーク・プロトコル全体で使用される全帯域幅の44%を占める
4 ノードの分類 Bitcoinのネットワークのノードは以下の2つに分類される • Publicノード 8つのアウトバウンド接続および最大125(設定で変更可能)の インバウンド接続を持つノードで、いわゆる一般的なフルノード •
Privateノード 8つのアウトバウンド接続を持つが、インバウンド接続は持たないノード (軽量ノードなど) Publicノードを(帯域幅、計算能力、HWリソースの観点から)実行しやすくし、より多くの Privateノードを受け入れられるようにすることが重要
5 新しいTxリレープロトコルErlay Txのリレーを2段階に分ける 1. Low-fanout Floodingフェーズ Flooding方式は拡散という意味では効率的であるため、Public ノードのアウトバウンド接続のピアに対してのみFloodingでTx をリレーする。
2. Set-reconciliationフェーズ Low-fanout Floodingのみではネットワーク全体に 伝播できないため、それを補完するフェーズ。 各ノードはローカルの状態と接続中のピアの状態を 定期的に比較し、その差分を計算し不足Txを要求する。
6 Set-reconciliationフェーズ エラー訂正符号に基づいた帯域幅効率の高いライブラリMinisketch (https://github.com/sipa/minisketch)を使って、各ノードはローカルset sketchを計算し、 維持する。 Peer 1 Peer 2
① Peer 1は自分のSketchをPeer 2に送る ※実際には相手との差分の推定値も送る。 Peer 2 sketch Peer 1 sketch ② Peer 2は自分のSketchとPeer 1のSketch 対称差を計算する。 Peer 1 sketch Peer 2 sketch XOR diff = Sketchは各ノードが持つトランザクションの 短縮TXIDで構成される。 ③ Peer 2はdiff sketchから不足分の 短縮TXIDの復元を試みる。 ④ Peer 2が持っていないTxを要求し、Peer 1が 持っていないTxを送信する。 Low-fanout floodingフェーズで 伝播されなかったTxは、この同期フェー ズでノード間のトランザクションセットの差 異を効率的に解消する ことでネットワーク全体にTxが いきわたるこをを保証する。 二者間のセットの差分の上限が予測可能である仮定 の下復元しているため、実際の差分が推定より大きい 場合、デコードに失敗し、二分法を利用して再実行、そ れでもだめな場合は従来のFloodingへ。 このラウンドを1秒毎に各アウトバウンドピアと行う
7 まとめ • ErlayはTxのリレープロトコルを、Txを迅速にネットワークに伝播するための Low-fanout Floodingフェーズと、ネットワークの隅々にまで確実に伝搬させる Set-reconciliationフェーズに分割する。 ◦ Low-fanout
FloodingフェーズではPublicノードのアウトバウンド 接続に対してのみTxの通知を送ることで冗長的なinvの送信を抑制。 ◦ Set-reconciliationフェーズではノード間のメモリプール内のTxの状態差を同期 することで、ネットワーク全体にTxの伝播を保証する。 • Erlayにより新しいTxの伝播に必要な帯域幅を84%削減可能。 • 但し、Txがネットワーク全体に伝播するまでにかかる時間は約2.6秒ほど 長くなる。Txの承認が10分に1回であるという側面を考慮すると問題ない範囲のト レードオフと思われる。