Why there is 'consensus hash' in a name preorder tx but not in a name registration tx?

What is consensus hash used for?

It identifies which fork-set the Blockstack Core node belongs to (note that the database log Blockstack embeds within the Bitcoin blockchain is fork*-consistent). Please see the virtualchain paper for details.

A consensus hash isn’t present in the NAME_REGISTRATION transaction simply because we didn’t have space to include it :wink: . However, it doesn’t affect the fork*-consistency property of the Blockstack name database, since the pair of NAME_PREORDER/NAME_REGISTRATION transactions constitutes a single operation on the database.

1 Like

Thanks very much! You are so kind!!

So what will consensus hash be compared with? It is used when a Blockstack node scans the Bitcoin transactions and compares the current consensus hash from network with the consensus hash in the transaction? If it is same then the transaction is valid?