0xB10C / bademeister-go

Implementation of Bademeister, a mempool watcher and recorder, in Golang.
0 stars 3 forks source link

Track double-spends and RBF signaling #24

Open OttoAllmendinger opened 5 years ago

OttoAllmendinger commented 5 years ago

Transactions in the mempool can be replaced by other transactions. The official mechanism for this is Replace-By-Fee (RBF): https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki

However, miners have an incentive to use the highest-paying transactions even if they do not signal RBF.

We should track conflicting transactions in bademeister as well as the RBF signal (nSequence number).

Proposal

When reconstructing the mempool:

0xB10C commented 5 years ago

As per BIP125 you can RBF a transaction that does not explicitly signal RBF via it's sequence number, if a parent transaction is replaceable via BIP125 RBF.

Exact wording:

We should make sure to keep track of this as well.