Super Testnet's avatar
Super Testnet 1 month ago
I looked into it further, and it looks like the codebase actually does confiscate those outputs. For the sale of "simplicity," it applies the p2sh rules to all transactions in all blocks (including pre-P2SH blocks) except ones occurring in one specific block that they made a single exception for. Thus, the other exceptional outputs are now unspendable. Source: image

Replies (3)

Interesting, I think you're right, but it goes against the BIP16 definition. So, it seems bip16 is NON confiscatory but the code implementation IS. But I wasn't always like that, it seems Gavin started with a timestamp: But that variable (nBIP16SwitchTime) is now gone from the code. Interesting, I would like to have the time to investigate this further.
Super Testnet's avatar
Super Testnet 1 month ago
Even bip16 seems to create a confiscation deadline. It says all txs created after the deadline should have the new rules applied to them. So the ~5 people who previously used hash160 hashlocks would have to move those utxos before the deadline or else their outputs would become unspendable. Which is exactly what happened; one such output was already moved, the rest did not move and became unspendable.
Super Testnet's avatar
Super Testnet 1 month ago
Seems like it sets a precedent for setting confiscation deadlines in new bips