- ビットコインの開発者は、フルRBFが標準ポリシーとなり古いオプトインフラグが不要になったため、ウォレットソフトウェアから明示的なreplace-by-fee(RBF)シグナリングを削除しようとしている。
- レガシーRBFシグナルを残すと、使用されたウォレットソフトウェアを特定できるオンチェーンのフィンガープリントが不要に生成される。
- 開発者たちは、異なるウォレットからのトランザクションが類似して見え追跡しにくくなるよう、すでに主流となっているMAX-2を共通のデフォルト入力シーケンス番号として調整している。
長年にわたり、ビットコインブロックチェーン上でトランザクションを高速化したいユーザーは、「このトランザクションをより高い取引手数料で置き換えたい場合がある」という便利なオプション機能に頼ってきた。
しかし、便利なツールとして始まったものが冗長となり、プライバシー上の小さな問題にもなったため、一部の開発者がその廃止方法について議論するようになった。
まず、いわゆるreplace-by-fee(RBF)シグナリングについて確認し、その後、開発者の提案について議論する。
Replace by fee(RBF)シグナリング
郵便で紙の小切手を送ることを想像してほしい。しかし、郵便システムが混雑しているとする。支払いが滞らないようにするため、小切手には「遅延した場合、この小切手をキャンセルし、より高い速達手数料で新しいものを書き直す権利を留保する」という小さなチェックボックスがある。(より高い手数料は、もちろん郵便システムにとってトランザクションを優先させるインセンティブとなる。)
ビットコインのエコシステムでは、このような機能をReplace-by-Fee(RBF)と呼ぶ。長年、ビットコインを送金する際、ウォレットでスイッチを切り替えることで、後でトランザクションを高速化するために「取引手数料を引き上げる」かもしれないとネットワークに通知できた。
このオプション機能は最近、標準的なネットワークポリシーとなった。ネットワークはデフォルトで、ユーザーが置き換えをオプトインしたかどうかに関わらず、すべてのトランザクションをより高い取引手数料で置き換え可能として扱うようになった。
ネットワーク全体がトランザクションの置き換えを自動的に処理するようになったため、ビットコインウォレットでの明示的な「後で置き換える」シグナリングは冗長となった。これはトランザクションに関与したウォレットの不要なデジタルフィンガープリントを残す、残骸のようなコードである。
そのため、開発者たちはウォレットソフトウェアからこのシグナリングメカニズムを削除するコード変更を提案している。
「ビットコインコアウォレットでは、PRが提出されているトランザクションからBIP 125 RBFシグナリングを削除する意図がある。削除の主な理由は、フルRBFが標準ポリシーになって以来、このシグナリングが冗長になったためだ」と、開発者のrkruxが開発者メーリングリストに投稿した。
カモフラージュの問題
これを実装するには慎重な計画が必要だ。なぜなら、異なるウォレットがそれぞれ異なる方法でこの置き換え機能を削除した場合、これらのウォレットを通じて処理されたトランザクションはオンチェーンで異なる見た目になり、追跡が容易になるからだ。
シグナルの削除は、箱からステッカーを剥がしたり、画面からボタンを削除したりするほど単純に聞こえるかもしれないが、ビットコインでは事情が異なる。このシグナルは値を入力しなければならない必須フィールドである。
コミュニティ参加者のMurchは、単純に削除することがなぜそれほど簡単ではないかを説明し、「置き換え可能性のシグナリングを停止するだけでフィンガープリントを排除できるように聞こえるが……すべての送信者はすべての入力に対してシーケンスを選択しなければならない」と述べた。
つまり、ウォレットはそこに「何もない」状態にはできない。コードでは番号を選択することが求められる。Murchは、すでに約75%のトランザクションが特定のコード(主にMAX-2)を使用しているため、目立たないようにするための最善の方法は、異なる方法を試みて目立つのではなく、それに合わせることだと指摘した。
「デフォルトの入力シーケンス番号は、より広いウォレットコミュニティがベストプラクティスとして合意したものであるべきだ」とrkruxは述べた。