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
v3トランザクションリレー
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
shigeyuki azuchi
October 01, 2024
Technology
97
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
v3トランザクションリレー
GBECの解説動画の資料です。
https://goblockchain.network/2024/10/v3-transaction/
shigeyuki azuchi
October 01, 2024
More Decks by shigeyuki azuchi
See All by shigeyuki azuchi
FORS
azuchi
0
7
クラスターmempool
azuchi
0
31
W-OTS+
azuchi
0
34
Shorのアルゴリズム
azuchi
0
56
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
42
Fiat-Shamir変換と注意点
azuchi
0
220
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
55
BIP-374 離散対数の等価性証明
azuchi
0
71
BIP-353 DNS Payment Instructions
azuchi
0
88
Other Decks in Technology
See All in Technology
[チョークトーク資料]AWS DevOps Agent を使いこなす / AWS Dev Ops Agent Chalk Talk AWS Summit Japan 2026
kinunori
4
790
From Prompt Engineering to Loop Engineering
shibuiwilliam
1
260
Amazon Redshift zero-ETL 統合を活用した軽量なマルチプロダクトデータ可視化基盤 / Lightweight Multi-Product Data Visualization with Amazon Redshift Zero-ETL
kaminashi
0
100
Agile and AI Redmine Japan 2026
hiranabe
4
500
LayerX コーポレートエンジニアリング室におけるサプライチェーンセキュリティへの取り組み / Supply Chain Security at LayerX Corporate Engineering
yuyatakeyama
3
850
10年間のブログ発信を振り返って見えたWebアプリケーションエンジニアとしての軌跡
stefafafan
0
190
toB プロダクトから見たWAF
tokai235
0
220
Multi-Agent並列開発を 安全に回すための技術 / Technology for Safely Multi-Agent Parallel Development
tooppoo
0
210
AIAU_UMEMOGU_ninomiya_slide
ninomiya_ii
0
270
GitHub Copilot運用のリアル ~AI Credit時代にどう向き合うか~
takafumisu2uk1
0
460
2026-06-24_人とAIの責務分離に基づく開発プロセスの提案.pdf
takahiromatsui
0
240
AIに障害切り分けを全部やってもらった。 。 。 。
estie
0
200
Featured
See All Featured
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
490
We Have a Design System, Now What?
morganepeng
55
8.2k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
220
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
400
Design in an AI World
tapps
1
250
How STYLIGHT went responsive
nonsquared
100
6.2k
Crafting Experiences
bethany
1
190
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Transcript
v3トランザクションリレー
1 v3トランザクションリレー BIP-431 :Topologically Restricted Until Confirmation https://github.com/bitcoin/bips/blob/master/bip-0431.mediawiki
トランザクションが承認されるまでの間に、新たなトポロジー制限を加えることで、 Pinning攻撃を緩和する提案 https://techmedia-think.hatenablog.com/entry/2024/02/25/113939
2 mempoolの競合トランザクションの扱い mempool Tx A Tx A’
Tx内の一部のインプットが重複する競合Txに対するmempoolの動作 経済的なインセンティブが高い マイナーにより多くの手数料を与えるTxを選択する • RBF(Replace by Fee)によるTxの置換 より高い手数料を支払うことでTxを置換する https://goblockchain.network/2021/07/rbf/ 【Pinning 攻撃】 RBFの置換ポリシーには、インセンティブとDoS耐性のトレードオフによりいくつか制限があり、 悪意あるユーザーが、制限を悪用してTxの置換を防止する可能性がある (対象はLNなどのマルチパーティコントラクト)
【ルール3】置換する際は、元のすべてのTxの手数料より高額な手数料を支払う必要がある • 低手数料率の子を紐付け、アリスが通常より多額の手数料を支払わないとTxをmempoolに入れられないようにする 【ルール5】100件を超える削除が発生するような置換は行えない •
攻撃者が多数の子孫Txを紐付けることでアリスの置換を不可能にする 【子孫の制限によるCPFPの制限】 • 101KvBを超える or 25個を超える数になる場合、それ以上のCPFPができなくなる。 ◦ LNなどの二者間のプロトコルでこれを回避するために導入されたポリシーがCPFP Carve out https://goblockchain.network/2020/12/cpfp-carve-out/ (マルチパーティに拡張できない) ↑を悪用して、低手数料のTxをずっとmempool内に留めておく 3 トランザクションのPinning Tx B Tx A 競合関係 Tx B 低手数料の子Tx 別の低手数料の巨大Tx 高手数料の子Tx アリス 攻撃者
4 v3トランザクションリレー Pinning攻撃に対する手数料の引き上げをより堅牢にするための TRUC(Topologically Restricted Until Confirmation)ポリシーの導入
Tx version = 3 のTRUCトランザクションに対して以下のルールを適用する: • BIP-125(RBF)のシグナリングの有無関係なく置換可能なTxとする • TRUCトランザクションの未承認の親はすべてTRUCでなければならない • 未承認のTRUCトランザクションは未承認の親や子を1つしか持てない • CPFP Carve outはTRUCトランザクションには適用されない(複数の子を持てないので) • 未承認のTRUCトランザクションのサイズは10,000 vBを超えてはならない • 個々のTRUCトランザクションは、mempoolの手数料要件を満たすパッケージである場合、mempoolの最小 リレー手数料を下回ってもいい • mempoolには親子2つのTRUCトランザクションしか存在せず、RBFのルール3、5による Pinningを防止し、RBFによる置換をサポート • 最後のルールでmempool要件を満たさない低手数料の親子パッケージでリレー可能に