What prevents that certain miners and the blocks they can contribute to the chain are not ignored? What do the other participants in the network gain from accepting their answers to the puzzle?
-
1Ignored by miners or nodes? For some reason, all the answers so far are explaining why miners shouldn't ignore blocks from other miners. But it's also conceivable that all the nodes connected to a miner could choose ignore its blocks.– Criticizing Israel not allowedCommented Dec 25, 2019 at 22:59
-
1@user253751 you can generalize all of the answers to be applicable to network full nodes, just by replacing the idea of being 'incentivized to follow new blocks for the best chance of receiving mining rewards' with 'incentivized to follow new blocks so that you keep up to date with the most current network state'--which is the entire point of running a node in the first place! :)– chytrikCommented Dec 26, 2019 at 3:33
-
@chytrik Except I don't think nodes are incentivized to do that. Some nodes are run altruistically by volunteers to improve the network quality, or selfishly to improve the network quality by people who heavily use the network. But nodes have no particular incentive; nothing stops a miner, for example, from deploying nodes that delay blocks mined by other miners. I don't think there is any disincentive against doing this, other than the cost of running the nodes and the low probability of achieving any benefits.– Criticizing Israel not allowedCommented Dec 26, 2019 at 12:29
-
@user253751 running a node grants the user financial sovereignty, that is the incentive. Altruism may occur, but it is most certainly not what keeps the network afloat. What you wrote about a miner running nodes to delay other blocks would be an absolute waste of resources. Miners use specialized networks like FIBRE to communicate extremely efficiently. Running a ‘block delaying node’ would have literally no effect on other miner’s view of the network. See: bitcoinfibre.org– chytrikCommented Dec 26, 2019 at 18:27
-
@chytrik but what if they run this nodes to delay other blocks in order to attack the network/a particular miner? Maybe ask for money in order to stop the attack?– JoanCommented Dec 27, 2019 at 10:55
4 Answers
Bitcoin miners are anonymous. There’s no identifying information in blocks that could be used to censor a particular participant. The attributions for miners shown on block explorers are guesswork presented as fact.
What do the other participants in the network gain from accepting their answers to the puzzle?
Essentially, consensus.
As long as a miner controls less than 51% of the network hashrate, they must always try to mine on top of the newest block.
If miner A creates block 1000, miner B may ignore it. Let's say B controls 20% of the hashrate. If B continues to mine on block 999, there is an 80% chance that another miner will produce block 1001, linking back to block 1000 - now B needs to find a block for heights 1000 and 1001 to keep up, and is currently out of sync with the network. This gap only grows as more blocks are added to the longer chain (which again will happen more frequently than B discovering a block and working to catch up).
Now, B has found no blocks, and receives no reward - instead, if B accepts A's block 1000 and continues mining on top of the newest block consistently, there is a 20% chance that they will receive the block reward + fees as the block will be part of the main chain the moment is is produced, instead of only being accepted after B is able to produce enough blocks to bridge the gap, which will (probably) not happen until B's hashrate is >=51% of the network hashrate.
-
This is not really correct. There’s nothing saying that a miner should mine with a majority, and they can’t even define what that is given the participants are anonymous. The white paper for bitcoin even points out the situations and risks for mining forks, and more recent research called selfish mining weakens the system significantly past that.– ClarisCommented Dec 25, 2019 at 17:55
-
1@Anonymous the idea is that if you control more than half of the hash rate, you can (with high probability) eventually build a longer chain than the rest of the network. If you have less than half of the hash rate, you will (with high probability) build a shorter chain, which won't give you any reward. You don't need to know who the other miners are for doing this. Commented Dec 26, 2019 at 1:14
Miners don't mine for fun or out of generosity. They mine because they want to get the block reward and the transaction fees. Clients are programmed to choose the "longest" chain, that is, the one that took the most mining work to produce.
Now, say you're a miner who has 1% of the network's hash rate. You're trying to mine block 50,000 when someone else mines a new block 50,000. You have two choices, you can try to mine another block 50,000 or you can try to mine block 50,001 on top of the new one.
If you successfully mine another block 50,000, there is a very low chance anyone will accept it. They already have a block 50,000. However, if you successfully mine a new block 50,001, everyone will accept it because it allows them the chance to mine a longer chain rather than an equally-long chain.
Essentially, because the longest chain wins, everyone wants to mine a block on the longest chain they can. That means that unless you control a huge percentage of the mining power and have a realistic chance of mining two or more blocks in a row, you always want to mine on top of any new block that lengthens the chain.
(By "longest", I mean the one that took the most work to produce.)
-
IIUC Even if your block 50000 initially gets accepted you run the risk that your block gets retroactivly rejected when a new block 50001 gets published.– TaemyrCommented Dec 26, 2019 at 9:55
-
@Taemyr Correct. If the other block 50000 was produced first, you lose fair and square. If the other block 50000 was produced after, the person who produced it likely did so unintentionally. If they do so intentionally, they run the high risk that a new block 50001 will be produced on the other block first and then they'll never get any reward. Commented Dec 26, 2019 at 19:03
What do the other participants in the network gain from accepting their answers to the puzzle?
There are a number of great answers already, but here is another way to look at it: consider flipping this question around.
What does a miner lose by mining on block X+1
instead of block X
?
The answer is: nothing. Assuming an ~equal payout for finding block X
and/or block X+1
, the miner should not really care what block height they’re mining at. They just want to find a valid block so that they can get paid. As others mentioned, the best chance of getting paid means mining at the chain tip.