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
65
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
Hyper Tree
azuchi
0
16
FORS
azuchi
0
29
クラスターmempool
azuchi
0
41
W-OTS+
azuchi
0
46
Shorのアルゴリズム
azuchi
0
67
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
54
Fiat-Shamir変換と注意点
azuchi
0
250
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
66
BIP-374 離散対数の等価性証明
azuchi
0
82
Other Decks in Technology
See All in Technology
いかに伝えるか 〜新卒エンジニアの教育のための、ライトノベル活用の一例
ikedon
1
190
Does an AI Watermark Survive Translation?
machinetranslation
0
520
IDperturb: Enhancing Variation in Synthetic Face Generation via Angular Perturbation
sansantech
PRO
0
130
Genie Code ワークショップ 基礎編 / Genie-Code-Workshop-fundamental
databricksjapan
PRO
0
340
設計の世代交代を乗り越える、14年続くAndroidアプリの開発戦略
sansantech
PRO
1
110
Bet AI Day 2026丨Agentは、「金融」という巨大産業の何を変えられるのか
layerx
PRO
0
700
ブラウザアプリの継続的パフォーマンスモニタリング (序) / Continuous Browser Application Performance Monitoring; Act 1
moznion
0
100
Amazon S3 Tablesに全部任せてみた結果——コンパクション/スナップショット管理は本当に手放せるか
shigeruoda
0
330
Bet AI Day 2026丨AIによって本質に戻るシステムリスク管理
layerx
PRO
0
790
Backstageでつくるセルフサービスな社内開発基盤
kikunosuke75
1
230
プロダクト思考 × 基盤思考を AIで実現する Compound Engineering
tkc66buzz
1
240
[RSJ26] AnoleVLA: Lightweight Vision-Language-Action Model with Deep State Space Models for Mobile Manipulation
keio_smilab
PRO
0
120
Featured
See All Featured
Everyday Curiosity
cassininazir
0
310
So, you think you're a good person
axbom
PRO
2
2.1k
Claude Code のすすめ
schroneko
67
230k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Deep Space Network (abreviated)
tonyrice
0
290
30 Presentation Tips
portentint
PRO
1
390
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.5k
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