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_rootis recalculated based on the txid of the coinbase transaction with theOP_RETURNremoved. 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>12ortarget-adjust-freq>0, thenoncefield 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 withoutminepermissions could generate a block with the same content as a valid block, but with a differentnonce.
