75%/95% threshold for transaction versions



Summary:

The discussion started with a thank you note for an educative and informative Youtube video. The topic revolved around malleability which could be annoying for contracts and micropayment channels, especially refunds spending the fund tx before it is even in the blockchain. BIP62 was introduced as a solution for preventing third parties from mutating txids but cannot do anything against 2nd parties. The suggestion was to solve this problem by upgrading P2SH to support additional OP codes instead of talking about P3SH. A concern was raised regarding transaction replay that can result in monetary losses far more severe than any possible mishandling of malleability could result in. Byzantine attackers can costlessly replay old transactions any time anyone reuses an address, even accidentally. SIGHASH_WITHOUT_PREV_VALUE flag would allow signatures to explicitly specify that they are to be signed without the previous UTXO's value/amount. Thus, at worst, replay attacks can send the money to the same place it was sent before if the amount sent to the reused address is the exact same as it was before. The proposal linked to there was compared to a game of wack-a-mole with assorted masking flags, many of which we have no notion of if they're useful for any particular application(s). However, a few of the flags may not ever be useful. But we can't predict the future, so it's better to build in a more flexible solution now than to wish we had more flexible nHashTypes later. The hope was expressed that wallets will upgrade to use version 3 transactions and the rules associated with them over time.


Updated on: 2023-06-09T19:11:23.591925+00:00