|
|
|
@ -1778,10 +1778,15 @@ in the merkle tree, which means that any change in the coinbase script
|
|
|
|
|
causes the merkle root to change. Eight bytes of extra nonce, plus the 4
|
|
|
|
|
bytes of "standard" nonce allow miners to explore a total 2^96^ (8
|
|
|
|
|
followed by 28 zeros) possibilities _per second_ without having to
|
|
|
|
|
modify the timestamp. If, in the future, miners could run through all
|
|
|
|
|
these possibilities, they could then modify the timestamp. There is also
|
|
|
|
|
more space in the coinbase script for future expansion of the extra
|
|
|
|
|
nonce space.
|
|
|
|
|
modify the timestamp.
|
|
|
|
|
|
|
|
|
|
Another solution widely used today is to use up to 16 bits of the block
|
|
|
|
|
header versionbits field for mining, as described in BIP320. If each
|
|
|
|
|
piece of mining equimpent has its own coinbase transaction, this allows
|
|
|
|
|
an individual piece of mining equipment to perform up to 281 TH/s by
|
|
|
|
|
only making changes to the block header. This keeps mining equipment
|
|
|
|
|
and protocols simpler than incrementing the extranonce in the coinbase
|
|
|
|
|
transaction every 4 billion hashes.
|
|
|
|
|
|
|
|
|
|
[[mining_pools]]
|
|
|
|
|
==== Mining Pools
|
|
|
|
|