Author: Peter Todd 2013-11-04 18:16:49
Published on: 2013-11-04T18:16:49+00:00
Mike Hearn suggests a solution to define a short hash in the coinbase that commits to extra data that is relayed along with block data. This will not be part of the chain but can be extended as required and can be stored temporarily in the block db and erased after some time. The right way to do this is to define the standard to use the last txout so that midstate compression can be applied in the future. To validate that some given data was committed properly, just check the path and make sure that the directions from the top of the tree followed the spec. Peter Todd advises to make it a full 256 bits for better security. For each thing you might want to commit, generate a random 128-bit UUID and interpret the bits of that UUID as an allowed path. When you build the tree, ensure that everything that is going to be committed to uses its allowed path. Validating that some given data was committed properly is simple and easy: just check the path, and check that the directions from the top of the tree followed the spec. Unlike the original merge-mining standard, alt-coins have used this actually works, extends indefinitely, and is simple and easy to validate given a single merkle-path for each purpose.
Updated on: 2023-06-07T19:15:56.582524+00:00