1

I want to understand how the target value is adjusted or by whom in Bitcoin.

I know that the hash of a block + nonce must be lower or equal to the given target for mining.

Who sets this target ? If a miner puts transactions in a block, where can he see the target, where is it ? Is a target for any nodes the same. Is the target always the same in the whole network until someone finds the right hash ?

I read the white paper, I read several posts, but I stil don't get it.

migrated from crypto.stackexchange.com Aug 3 '18 at 12:32

This question came from our site for software developers, mathematicians and others interested in cryptography.

2

The target is calculated by each node in the network independently.

Bitcoin is a decentralized system, so there is no authority that will set the target. The network is its own authority.

On this network, each participant (node) follows certain rules. These rules are the same for everyone, and govern how the network behaves. They include things such as the block size limit (block weight, in recent times), no double spends allowed (each output may only be spent once), difficulty adjustments to stay as close to a 10 minute block interval as possible (this is the target), and various other rules.

Every 2016 blocks (roughly 2 weeks), each node will look at the last 2016 blocks and calculate the average time spent mining a block. If this value is greater than ten minutes, the difficulty is reduced. If it is faster than ten minutes, the difficulty is increased. This readjustment allows the network to self regulate the mining target.

Since each node follows the same consensus rules, and all blocks are the same for all nodes, they will all arrive at the same difficulty value independently.

If a node were to miscalculate the target (or lie about it), and then produce a block based on their incorrect value, it may be rejected by the rest of the network for failing to meet the target requirements, and all the work invested into mining that block will be lost.

  • Thank you very much for your clear answer. So as far as I understood target = difficulty ? – Blnpwr Aug 3 '18 at 12:41
  • They are terms, and usually have an inverse relation. A higher difficulty means that the target value is lower (say our valid hashes are 0 through 100, a high difficulty would be a target of 10 or lower), and a lower difficulty has a higher target (maybe 80 or lower on the same scale). – Raghav Sood Aug 3 '18 at 12:42
  • I see, thank you, is there any possibility to chat in a discussion thread ? I have probably some more questions, if it's ok for you? – Blnpwr Aug 3 '18 at 12:46
  • You can drop by the mempool – Raghav Sood Aug 3 '18 at 12:47
  • Thank you very much, I will come up with questions from time to time. – Blnpwr Aug 3 '18 at 12:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.