diff --git a/ch12_mining.adoc b/ch12_mining.adoc index bf9bb6af..db47e7aa 100644 --- a/ch12_mining.adoc +++ b/ch12_mining.adoc @@ -839,15 +839,19 @@ the target. A lower target means it is more difficult to find a hash below the target. The target and difficulty are inversely related. ==== +++++ +

Bitcoin's PoW is very similar to the challenge -shown in <>. The miner constructs a +shown in #sha256_example_generator_output2. The miner constructs a candidate block filled with transactions. Next, the miner calculates the hash of this block's header and sees if it is smaller than the current -_target_. If the hash is not less than the target, the miner will modify +target. If the hash is not less than the target, the miner will modify the nonce (usually just incrementing it by one) and try again. At the current difficulty in the Bitcoin network, miners have to try a huge number of times before finding a nonce that results in a low -enough block((("bitcoins", "mining", "proof-of-work algorithm", startref="bitcoin-mining-proof")))((("mining", "proof-of-work algorithm", startref="mining-proof")))((("hash functions", "proof-of-work algorithm", startref="hash-proof")))((("proof-of-work algorithm", startref="proof-mining"))) header hash. +enough block header hash. +

+++++ [[target_bits]] ==== Target Representation @@ -855,7 +859,7 @@ enough block((("bitcoins", "mining", "proof-of-work algorithm", startref="bitcoi //TODO:use visual representation like I did on bitcoin.org -Block headers ((("bitcoins", "mining", "target representation", id="bitcoin-mining-target")))((("mining", "target representation", id="mining-target")))((("targets", "representation of", id="target-represent")))((("proof-of-work algorithm", "target representation", id="proof-target")))contain the target in a notation called "target +Block headers ((("bitcoins", "mining", "proof-of-work algorithm", startref="bitcoin-mining-proof")))((("mining", "proof-of-work algorithm", startref="mining-proof")))((("hash functions", "proof-of-work algorithm", startref="hash-proof")))((("proof-of-work algorithm", startref="proof-mining")))((("bitcoins", "mining", "target representation", id="bitcoin-mining-target")))((("mining", "target representation", id="mining-target")))((("targets", "representation of", id="target-represent")))((("proof-of-work algorithm", "target representation", id="proof-target")))contain the target in a notation called "target bits" or just "bits," which in block 277,316 has the value of +0x1903a30c+. This notation expresses the proof-of-work target as a coefficient/exponent format, with the first two hexadecimal digits for