最近はビットコインの手数料相場が低めで推移しているため、送金が詰まってしまったという方は少ないかもしれません。しかし、ギリギリの送金手数料でトランザクションを配信した後、手数料相場が上昇してしまって送金が取り残されるという経験をしたことがあるビットコイナーは多いはずです。
個人の送金であれば、同じトランザクションの手数料を増やして再配信することができます。このReplace-by-feeという挙動が既定になって数年が経ちました。
しかし、「事前にトランザクションを署名して手元に置いておく」ようなユースケース、つまり将来的にRBFすることが必ずしもできないケースも存在します。そういうときにはCPFP(Child-Pay-For-Parent)という、「余分に高い手数料を払う子トランザクションとセットで取り込んでもらう」手法もあります。手数料が安すぎるトランザクションが取り込まれれば、その次の手数料が高すぎるトランザクションも取り込めるので、マイナーがトータルで見れば相場以上の手数料収入を得られるというロジックです。
CPFPについては下記の記事でも触れています。
それでも、ビットコインノードがトランザクションを伝播する際の方針に「トランザクションの手数料率が1 sat/vbyte以上」という原則があるため、ごく少額のダストアウトプットを含めるなど様々な工夫が必要になってきました。それが、Bitcoin Core 28および29のリリースによって一部のケースにおいて撤廃されたので、今日はレイヤー2のビットコイントランザクションの手数料の扱い方がどう変わるかについて調べました。
マニアックな話ですがお付き合いいただければ幸いです。
・「事前に手数料率を決めない」ために使用されているAnchor Output
・UTXOセットの肥大化につながらないため許されたPay to Anchor
・Arkのようなプロトコルで使うためにはさらなるポリシー変更が必要?