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
CPFP carve out
Search
shigeyuki azuchi
December 16, 2020
Technology
56
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CPFP carve out
GBECの解説動画の資料です。
https://goblockchain.network/2020/12/cpfp-carve-out/
shigeyuki azuchi
December 16, 2020
More Decks by shigeyuki azuchi
See All by shigeyuki azuchi
FORS
azuchi
0
13
クラスターmempool
azuchi
0
32
W-OTS+
azuchi
0
36
Shorのアルゴリズム
azuchi
0
59
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
43
Fiat-Shamir変換と注意点
azuchi
0
230
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
55
BIP-374 離散対数の等価性証明
azuchi
0
74
BIP-353 DNS Payment Instructions
azuchi
0
91
Other Decks in Technology
See All in Technology
「休む」重要さ
smt7174
5
1.6k
”AIを使う” から ”AIに任せる” へ ─ 開発プロセスを再設計してAIを組織標準にするまで
cyberagentdevelopers
PRO
1
130
Jitera Company Deck
jitera
0
260
AIと1000本ノックしてたどり着いた、最速のプロダクト開発 ~toC向けAIエージェントUXを、動く選択肢とAIキャパシティで設計する~
lycorptech_jp
PRO
1
110
AI Coding Agent時代のcdk-nagガードレール 〜組織ルールを強制CIで守り抜く設計の挑戦〜
mhrtech
3
500
実践!既存 Project への AI-Driven Development 適用〜 一ヶ月で Project 唯一のフロントエンドエンジニアを作り出せ〜
lycorptech_jp
PRO
0
380
kaonavi Tech Night#1
kaonavi
0
150
Webアプリ認証の全体像 / The Big Picture of Web App Authentication
kitano_yuichi
1
410
10年目を迎えた「ABEMA」がどのように AI 活用を推進して、AI 駆動開発にシフトしているのか / How ABEMA, entering its 10th year, is promoting the use of AI and shifting toward AI-driven development
miyukki
0
360
AI_Dev_Day_製造業領域でのAI活用から見た活用の罠と成功に導く実践知.pdf
kintotechdev
0
150
文字起こし基盤の信頼性
abnoumaru
0
110
現場との対話から始める “作る前に問い直す”業務改善
mochico50
1
190
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
Into the Great Unknown - MozCon
thekraken
41
2.6k
Claude Code のすすめ
schroneko
67
230k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
270
Paper Plane
katiecoart
PRO
2
52k
Balancing Empowerment & Direction
lara
6
1.2k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
My Coaching Mixtape
mlcsv
0
170
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
210
Transcript
CPFP carve out
1 CPFPとは? Child pays for parent(CPFP) Bitcoinにおいて送信済みトランザクションの手数料を上げるためのテクニック。
親 Tx Inputs Input 1 Input 2 Outputs 送金先アドレス お釣り用アドレス 手数料(低) 子 Tx Inputs Input 1 Outputs 自分のアドレス 手数料(高) 送信済みTxに設定されている手数料が低く なかなかブロックに入らない場合に、 そのTxのアウトプットのUTXOを使って 送金をする子Txを作成し、その手数料を 高く設定することで、親子セットで ブロックに入れてもらうアプローチ。 (必ず親が先) ほとんどのTxにはお釣りで自分に 返ってくるUTXOが存在するので、 このアプローチで手数料のBUMPが可能。 ※受信者が行うアプローチもあり。 ※RBFと違ってTxに特殊な設定が必要ない。
2 CPFPに関する制限 CPFPは複数の子Txチェーンについても機能するが、あまりにも多いと マイナーがブロックテンプレートを作成するのに時間がかかってしまう 【Bitcoin Coreの制限】 • -limitancestorcount=<n>
(default: 25) mempool内の祖先の数がn以上ある場合、Txを受け入れない • -limitancestorsize=<n> (default: 101) mempool内の全祖先のサイズがn KB以上になる場合、Txを受け入れない • -limitdecendantcount=<n> (default: 25) 祖先がn以上の子孫をmempoolに持つようになるTxを受け入れない。 • -limitdesendantsize=<n> (default: 101) 祖先がn KBを超える子孫をmempoolに持つようになるTxを受け入れない。
3 Transaction pinning Attack マルチパーティコントラクトにおけるDoS攻撃の一種 Bitcoin CoreのCPFPの制限を悪用する 親
Tx Inputs Input 1 … Outputs Bobへの送金 Malloryへの送金 手数料(低) Malloryがlimitdescendantsize 制限付近の子Txを作成することで、Bobが親Tx のUTXOを使用した子Txを作れないようにする。 結果、BobはCPFPを使って親Txの手数料を 上げることができない。 ※ 通常の支払いであれば大きな問題にならないが、 LNのような時間に依存するプロトコルにおいては問題に。 状況によってはマルチホップ支払い(HTLC)のコインが盗難に。 子 Tx
4 CPFP carve out Bitcoin Core v0.19.0で導入された新しいmempoolポリシー CPFP carve out
• Txの未承認の祖先Txが1つしかない場合 ◦ Txチェーンの深さの制限(count)と、サイズの制限(size)を適用しない 親 Tx Inputs Input 1 … Outputs Bobへの送金 Malloryへの送金 手数料(低) Malloryががlimitdescendantsize 制限の子Txを 作成しても、Fee Bump Txには制限が適用されず、 Bobは手数料の上げることが可能になる。 親Txのアウトプット毎に必ず1つは Fee Bumpを 可能にするポリシーの変更。 このポリシーによりLNの Anchor Outputが使用可能に。 子孫 Tx Fee Bump Tx