0

Given that a block is collection of transactions that a miner can accumulate in 10 minutes, could it not be the case that every miner gets to work on one's own block? Delays in the network imply that miner A could have collected only 20 transactions in the time Miner B is able to collect 100 transactions. Questions:

  1. Does this imply that every miner could be working an different block to add to the chain? Or, are they all working on the same block in a given 10min interval?

  2. What about adding a newly mined block to the local copies of all other participants? If there is not explicit synchronization between all the participants, some participants (miners) could be working on a stale copy of the blockchain in which the latest transaction has not posted yet. How is this prevented?

Related question: When miners are working on their block, does everybody's block have the same transactions in them?

2

Does this imply that every miner could be working an different block to add to the chain? Or, are they all working on the same block in a given 10min interval?

Each miner is 'working on a different block', in that any valid block they find will be unique (if another miner simultaneously finds a valid block at the same blockheight, it will have a different hash). The miners can add whatever transactions they'd like to the block, and even if all the transactions are the same, the blocks will still be unique (because other variables will be different, such as the payout address for the coinbase transaction).

What about adding a newly mined block to the local copies of all other participants? If there is not explicit synchronization between all the participants, some participants (miners) could be working on a stale copy of the blockchain in which the latest transaction has not posted yet. How is this prevented?

Miners broadcast the blocks they find to the network, and everyone updates their copy of the blockchain. The system incentivizes everyone to start working on the next block immediately, since mining on a stale block is wasted work. As a miner, you would want to ensure you have very good network connectivity, so that you hear about new blocks as soon as possible.

The network has been optimized for low latency, see for example the FIBRE relay network. So in practice miners are able to work efficiently, we can see proof of this by the fact that orphan blocks are becoming more rare.

  • So, it is critical that the miners (as the prime beneficiaries of mining activity) must be connected over a low latency network, while the non-mining participants can afford to be sluggish, (if they so choose)? May be it matters to their ability to place new transactions in the blockchain (?) – user13311 Jul 17 '18 at 0:05
  • Also, what would happen in the unlikely event that two miners are able solve two different blocks at the same time and publish them? Will this result in a fork of the chain? – user13311 Jul 17 '18 at 1:07
  • @user13311 good connectivity is indeed important for a miner, otherwise they are at risk of mining on a stale chain, and/or producing orphan blocks (this is what happens in the case of your second comment, see bitcoin.stackexchange.com/questions/8172/…). For non-mining nodes, connectivity is still important, but instant tx relay is 'less critical' in a sense. As long as some miners hear about your tx, and the fee is sufficient, your tx should eventually confirm. – chytrik Jul 17 '18 at 2:38

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.