Duplicate transactions vulnerability



Summary:

In a Bitcoin development mailing list, Pieter Wuille suggested adding an extra protocol rule to prevent a possible attack on the network. He explained that before the P2SH protocol change, a miner could combine a duplicate coinbase and an invalid P2SH transaction to create a block, which would still be guaranteed to be orphaned but have excellent network propagation. However, if someone were to do this on the day of the P2SH switchover, it could corrupt the database of all clients. To fix this issue, Wuille proposed not allowing blocks to contain a transaction whose hash is equal to that of a former transaction that has not yet been completely spent, as written in BIP30. There is a patch for the reference client that has been tested and verified to make the attack impossible. Wuille asked for support for adding this rule to the protocol rules, hoping pools and miners can agree to update their nodes without lengthy coinbase-flagging procedures that would only delay a solution. Another member of the mailing list suggested doing it in two steps to prefer blocks that don't break the rule first, then treat it as a hard rule once 55%+ are confirmed to have upgraded.


Updated on: 2023-06-06T03:08:23.623169+00:00