Strong Anti-Replay via Coinbase Transactions



Summary:

On March 25th, 2017, Cameron Garnham proposed a Bitcoin Improvement Proposal (BIP) which outlined the activation of new rules upon the implementation of a soft-fork. The proposal included the creation of a new OpCode called ‘OP_ANTI_REPLAY’, which would be defined as an unused NoOp. According to the specifications outlined in the proposal, this new OpCode must only be created in a coinbase transaction and must have a value of one Satoshi. Additionally, transactions must not include more than one OP_ANTI_REPLAY input, and if one is included, the transaction must be marked as Opt-In-RBF. In the event of a chain split after the implementation of this BIP, miners are expected to recycle all OP_ANTI_REPLAY outputs by spending and recreating them in new blocks. Although this would renew the protection for the new chain, this recycling process would be spammy and require constant updating due to regular chain splits. The proposal includes a reference implementation to be developed, although it is unclear if it can be implemented given the reasons mentioned above. The rationale behind the BIP is to make it convenient for wallets to automate the inclusion of new coinbase inputs into transactions that spend potentially repayable transactions. However, this convenience may not be possible due to the difficulty of checking if there are any competing transactions. Instead, a single reserved output could be used to recycle transactions.


Updated on: 2023-06-11T22:36:04.277244+00:00