In MultiChain, block creators must prove their identity by signing blocks
Block signatures
Block signatures are embedded inside the OP_RETURN
metadata of the coinbase transaction, using a regular bitcoin-style signature format. The payload signed by the block creator is the full block header, with the following modifications:
- The
merkle_root
is recalculated based on the txid of the coinbase transaction with theOP_RETURN
removed. This prevents a dependency loop from block signature → coinbase txid → merkle root → block header → block signature. - In protocol versions up to
20005
, or in later protocols with blockchain parameters wherepow-minimum-bits>12
ortarget-adjust-freq>0
, thenonce
field is set to0
. This avoids having to recalculate the signature for every attempt at finding a block hash to match the target difficulty. However it does lead to some malleability in that a user withoutmine
permissions could generate a block with the same content as a valid block, but with a differentnonce
.