Breaking change in calculation of hash_serialized_2

Posted by Fabian

Oct 20, 2023/17:19 UTC

A potential malleability issue was discovered in the UTXO set dump files used by assumeutxo. The issue was caused by a bug in the serialization of UTXOs for the calculation of hash_serialized_2, which is used by Bitcoin Core to check if the UTXO set loaded from a dump file matches the expected value. The bug was identified and a fix is being worked on for inclusion in v26.0, which is scheduled for release in November.As a result of the fix, the serialization will change and all historical UTXO set hash results will also change after upgrading to v26.0. In addition, the version number returned in gettxoutset will be renamed to hash_serialized_3. The decision to switch the serialization completely was made due to additional potentially problematic issues found during fuzz testing.If you are currently using hash_serialized_2 for any security critical purposes, it is recommended to check if the bugs in the serialization code could cause issues for you. Switching to hash_serialized_3 or considering using MuHash is advised. For projects that rely on hash_serialized_2 and require time to upgrade and adapt to the changes, it is requested to inform the team. While breaking changes in APIs without deprecation warning are typically avoided, it is currently believed that keeping the buggy hash_serialized_2 is not necessary as there are no known substantial use cases and its usage may even pose security risks.The team is open to reconsidering the decision if keeping hash_serialized_2 holds serious value for downstream projects. Contact can be made directly with Fabian or through commenting on the PR or the mailing list.

Link to Raw Post
Bitcoin Logo

TLDR

Join Our Newsletter

We’ll email you summaries of the latest discussions from authoritative bitcoin sources, like bitcoin-dev, lightning-dev, and Delving Bitcoin.

Explore all Products

ChatBTC imageBitcoin searchBitcoin TranscriptsSaving SatoshiBitcoin Transcripts Review
Built with 🧡 by the Bitcoin Dev Project
View our public visitor count

We'd love to hear your feedback on this project?

Give Feedback