rеplace by Feeとは何か、それは何のために使われるのか?
時には、トランザクションをキャンセルまたは置き換える必要が生じることがあります。特に、それが長い間確認されず、ブロックに含まれない場合です。これは、トランザクションの手数料が低いため、マイナーにとって優先順位が低くなるときに発生します。すべての未確認トランザクションは「保留中」として残りますが、rеplace by Fee(RBF)メカニズムを適用することで処理される可能性があります。
RBFは、未確認のトランザクションを、より高い手数料を持つ別のトランザクションに置き換えることができるメカニズムです。このメカニズムは、Bitcoin、Ethereumなどのブロックチェーンで利用でき、トランザクションの処理を加速するのに役立ちます。
rеplace by Feeを使ってトランザクションを加速するには?
最初は、トランザクションの置き換えはサトシ・ナカモトによってシステムに組み込まれていましたが、後に無効化されました。その後、rеplace by Fee (RBF) メカニズムに改良され、Bitcoin Core 0.12 以降に実装されました。トランザクションの置き換えは、どのトランザクションが古いかを示すnSequenceフィールドによって制御されます。トランザクションを置き換えるためには、nSequenceの値が最大値 (0xffffffff – 1) より小さい必要があります。
ほとんどの現代のウォレットは、デフォルトでnSequenceの最大値を設定しており、これによりトランザクションは置き換え不可能になります。トランザクションの置き換えを有効にするには、ウォレットの設定でこのオプションを有効にする必要があります。
rеplace by Feeは、すでに作成されたトランザクションに新しい手数料を追加します。例えば、Electrumウォレットでは、“edit fees manually”や“rеplace by fee”のオプションがあり、手動で手数料を増やすことができます。
rеplace by Feeの使用方法:
- コインを送信する前に、ウォレットで“replaceable”オプションが有効になっていることを確認します。
- トランザクションが長時間確認されない場合、ウォレットの履歴でそれを見つけます。
- トランザクションに新しい、より高い手数料を設定します。
- ウォレットは、元のトランザクションをより高い手数料の新しいトランザクションに置き換えることを提案します。
RBFを使用すると、ネットワークに対して、トランザクションを加速するために追加の支払いをする意志があることを伝えます。この機能は、Bitcoin Core、Electrum、Green Addressのウォレットでサポートされています。
Child Pays for Parent (CPFP)を使ってトランザクションを加速するには?
Child Pays for Parent (CPFP) メカニズムも、未確認のトランザクションを加速することができます。ほとんどのBitcoinトランザクションでは「お釣り」がウォレットに戻りますが、このお釣りを新しいトランザクションに使用できます。CPFPは次のように機能します:新しいトランザクション(例えば、自分のアドレス間の送金)を追加し、高い手数料を設定します。これにより、2つのトランザクション全体の手数料が増加し、マイナーにとってより魅力的になります。
ウォレットが未確認の「お釣り」を使用できない場合は、全額を新しいアドレスに送金し、手数料を増やすことができます。
現在、すべてのマイナーがCPFPをサポートしているわけではありませんが、十分な数のマイナーがこの方法を使用しているため、次のブロックでトランザクションが確認される可能性が高くなります。
トランザクションをキャンセルするには?
Bitcoinトランザクションが一度確認されると、それをキャンセルすることはできません。しかし、トランザクションがまだ保留中である場合、同じアドレスから手数料を増やした再送金を行うことでキャンセルできます。手数料の高いトランザクションが先に確認され、以前のトランザクションは自動的にキャンセルされます。
未確認トランザクションをキャンセルするための手順:
- ウォレットで元の未確認トランザクションのハッシュを見つけます。
- 同じアドレスから新しいアドレスへ新しいトランザクションを作成します。
- 新しいトランザクションがより高い手数料を持っていることを確認します。
- 新しいトランザクションを送信し、確認を待ちます。
結論
rеplace by FeeやChild Pays for Parentのメカニズムは、Bitcoinネットワークで未確認のトランザクションを加速またはキャンセルするための便利なツールです。確認済みのトランザクションはキャンセルできないことを覚えておくことが重要です。そのため、処理を加速するために常に最適な手数料を選択することをお勧めします。RBFまたはCPFPを使用できる場合、それによりトランザクションの確認に長い遅延が発生するのを避けることができます。