Mempool

是否按照 BIP125 中的描述實現了“繼承的”費用替換信號?

  • May 11, 2021

Bip125

顯式信號:如果任何輸入的 nSequence 數小於 (0xffffffff - 1),則認為交易已選擇允許替換自身。

繼承的信號:沒有明確表示可替換性的事務在此策略下是可替換的,只要它們的任何一個祖先發出可替換性信號並且仍未確認。

但是,在我看來,只測試了“顯式”信號。請參閱合併到比特幣核心的 BIP125 拉取請求的這一部分:

<https://github.com/bitcoin/bitcoin/pull/6871/files#diff-7ec3c68a81efff79b6ca22ac1f1eabbaR841>

很明顯,傳入的 TX 會檢查是否存在衝突(雙花),如果衝突的 TX 沒有明確地用其輸入序列發出 RBF 信號,那麼新的 TX 將被拒絕。

如果實現了隱式信令,我希望看到對沖突的 TX 的記憶體池祖先進行遞歸檢查,或者檢查與 TX 元數據一起儲存的某種標誌。

或者,BIP 的文本只是描述了被替換事務的後代會發生什麼,因為當它們的顯式信令祖先被替換時,它們會被驅逐。

這個問題的答案是:不,如 BIP 125 中所述,目前在比特幣核心中沒有實現繼承信號。

2021 年 5 月,Antoine Riard 發現可以在閃電網路“針對第二階段 HTLC 的固定攻擊”以及其他環境中利用缺失的實現:

<https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-May/018893.html>

引用自:https://bitcoin.stackexchange.com/questions/88813