ビットコイン・インスティテュート

ピーター・トッドと​デイヴィッド・ハーディングが​BIP 125で​Replace-by-Feeを​正式化

台帳カードの中で1件の取引が取り消されて手数料の高い取引に置き換わる様子と、オプトインの切替スイッチ、年表でつながる2つのシルエットの人物を、濃紺の背景に描いたイラスト。

2015年12月4日、デイヴィッド・A・ハーディングとピーター・トッドはBIP 125「Opt-in Full Replace-by-Fee Signaling」を公開した。未確認トランザクションをより手数料の高いバージョンに置換できることを通知する標準を確立し、サトシ・ナカモトが5年前に最初に説明した概念を正式化した。初心者ガイドが、手数料が低すぎて送金が詰まった送り主に向けて説く、手数料を上乗せして再送信するという平易な助言を支える仕組みがこれである。

サトシの設計に起源

BIPのRationale(根拠)は、ナカモトのオリジナルのBitcoin実装にあったnSequence番号を使用したトランザクション置換メカニズムから概念を明示的に辿っている。サトシは2010年12月にBitcoinTalkでこの概念を説明し、送信者がより高い手数料でトランザクションを更新できる方法を述べた。この機能はDoS攻撃の懸念からBitcoin Coreから削除された。サトシ自身が2010年8月に無効化し、残っていた不要コードは2013年11月に最終的に削除された。この手数料機構の歴史は通貨設計エントリーで通しで追える。

2010年12月のつながり

ピーター・トッド(当時「retep」として投稿)はサトシのトランザクション置換の説明に対して技術的な指摘で返信した:

ピーター・トッド(BitcoinTalkへの投稿、2010年12月10日01:27 UTC)

もちろん、厳密に言えば、二つ目のトランザクションに手数料があると、入力と出力はぴったり一致はしない

これはトッドのBitcoinTalkでの2回目の投稿で、登録から3日後だった。サトシの最後の公開フォーラム投稿はその2日後だった。5年後、トッドはまさにサトシが説明していた概念を正式化した。

BIP 125の仕組み

トランザクションは任意の入力のnSequence番号を(0xffffffff - 1)未満に設定することで置換可能性をシグナリングする。置換トランザクションは以下を満たす必要がある:元のトランザクションからの未確認入力のみ使用、絶対手数料が元を上回る、最低リレー手数料率を充足、追い出されるトランザクション数が合計100を超えない。BIP 125のその後の展開史(v0.12でのオプトイン既定化からv28.0での完全RBF既定化まで)はトランザクション設計文書の二時代比較表にまとめられている。

論争

RBFは激しい論争を呼んだ変更だった。批判者はマーチャントが依存していた「ゼロ確認」トランザクションを壊すと主張した。支持者はゼロ確認トランザクションは元々安全ではなく、RBFはBitcoinの手数料市場の設計に沿うものだと反論した。オプトイン方式は妥協案だった。明示的にシグナリングしたトランザクションのみが置換対象となる。

意義

BIP 125はサトシが始めたことを完成させた。オリジナルのトランザクション置換は安全でないとして削除された。トッドのオプトイン方式がそれを実用的なものにした。記録が示すのは、先人の仕事を引き継いだ開発者の姿である。HBOのドキュメンタリー『Money Electric』が示唆した、同一の知性が未完の設計を完成させるために戻ってきたという読みは、記録からは読み取れず、技術コミュニティもこれを退けた。