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
shigeyuki azuchi
October 01, 2024
Technology
100
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
15
クラスターmempool
azuchi
0
36
W-OTS+
azuchi
0
39
Shorのアルゴリズム
azuchi
0
64
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
48
Fiat-Shamir変換と注意点
azuchi
0
240
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
60
BIP-374 離散対数の等価性証明
azuchi
0
77
BIP-353 DNS Payment Instructions
azuchi
0
96
Other Decks in Technology
See All in Technology
【Google Cloud Next Tokyo'26】Gemini Enterprise と Oracle AI Database で実現する、業務データ活用を実現する AI エージェント実装
shisyu_gaku
0
230
老害フォレンジッカーはAI羊の夢を見るか?
tadmaddad
0
310
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.9k
【AG-UI × A2UI × MCP Apps】Generative UIをやさしく解説する
nrinetcom
PRO
1
100
QAエンジニア起点で進める、SmartHRにおける信頼性向上について
kaomi_wombat
1
120
社内の7割が使うデータ基盤を、 データチーム2人で回すためにやったこと
koh_yoshi
4
1.2k
Agent 時代の Kaggle 展望 / kaggle-in-the-agentic-era
upura
1
680
JavaScript 研修 (2026)
recruitengineers
PRO
2
470
LanceDB入門
mocobeta
4
130
GitHub CopilotのFinOps- AI CreditのObservabilityと価値を生むためのエージェント設計
yuriemori
0
150
メルカリのグローバルアプリで挑んだ AlloyDB 運用と課題解決の実践記
hatappi
0
240
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
Marketing to machines
jonoalderson
1
5.7k
Mind Mapping
helmedeiros
PRO
1
300
Automating Front-end Workflow
addyosmani
1369
210k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
640
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
400
Technical Leadership for Architectural Decision Making
baasie
3
470
sira's awesome portfolio website redesign presentation
elsirapls
0
320
Paper Plane (Part 1)
katiecoart
PRO
1
10k
Color Theory Basics | Prateek | Gurzu
gurzu
0
410
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要件を満たさない低手数料の親子パッケージでリレー可能に