Author: Christian Decker 2015-05-14 11:26:44
Published on: 2015-05-14T11:26:44+00:00
Christian Decker and Pieter Wuille discuss the best solution to address transaction malleability. They both agree that normalized transaction IDs are the way to go forward but have different approaches to implementing them. The first approach is to continue using the current hashes to reference a specific signed instance of semantically identical transactions. This method, called OP_CHECKAWESOMESIG, would be a soft-fork and requires either computing the normalized transaction ID on the fly or storing it alongside the UTXO. The second proposal advocates using the normalized transaction IDs directly in the transactions, which requires no further intervention to fix an eventually malleated transaction. Both approaches have their advantages and disadvantages. The OP_CHECKAWESOMESIG method has lower storage needs but may increase lookup times, while the second proposal requires more storage but does not require any interaction to fix up transactions if a dependency has been malleated. Christian Decker's proposal is harder to migrate to as it requires a hardfork, and will require more storage for every transaction in the UTXO set. However, it is semantically cleaner and easier to implement. Christian Decker believes that hard-forks should not be feared and that his proposal can be seen as the long-term goal, while OP_CHECKAWESOMESIG can be seen as the short-term fix. Both solutions solve malleability, just with different tradeoffs.
Updated on: 2023-06-09T20:58:00.577366+00:00