The bits
field is the compact representation of the target
.
Example:
bits: 1d00ffff
target: 00ffff0000000000000000000000000000000000000000000000000000
bits: 1cfff00
target: ffff0000000000000000000000000000000000000000000000000000
But these two actually represent the same number.
int(target) -> 26959535291011309493156476344723991336010898738574164086137773096960
for both of the above targets.
What (if anything) makes bits
a unique representation of the target
?
Clarification:
In regular interactions with numbers, this kind of thing doesn't really matter, as a few leading zeros don't affect how we interpret the number. However, in Bitcoin, the bits
field is used as part of the hash of the block. Therefore, a different bits
representation would produce a different hash of the block.