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
55
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
Shorのアルゴリズム
azuchi
0
21
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
17
Fiat-Shamir変換と注意点
azuchi
0
130
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
24
BIP-374 離散対数の等価性証明
azuchi
0
45
BIP-353 DNS Payment Instructions
azuchi
0
63
OP_CAT and Schnorr Trick
azuchi
0
61
Pay to Anchorと1P1Cリレー
azuchi
0
51
プロアクティブ秘密分散法
azuchi
0
77
Other Decks in Technology
See All in Technology
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
2
670
Agile Leadership Summit Keynote 2026
m_seki
1
650
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
350
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
180
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
220
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.3k
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
230
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
220
[CV勉強会@関東 World Model 読み会] Orbis: Overcoming Challenges of Long-Horizon Prediction in Driving World Models (Mousakhan+, NeurIPS 2025)
abemii
0
140
プロポーザルに込める段取り八分
shoheimitani
1
520
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
320
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.3k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
650
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
66
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
420
Bash Introduction
62gerente
615
210k
Navigating Team Friction
lara
192
16k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
Abbi's Birthday
coloredviolet
1
4.8k
Odyssey Design
rkendrick25
PRO
1
500
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
Claude Code のすすめ
schroneko
67
210k
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回であるという側面を考慮すると問題ない範囲のト レードオフと思われる。