The Miner Use Case

Revision as of 01:25, 1 December 2020 by Brendan (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Miners are an important part of the ecosystem so its valuable to examine their requirements. Miners may of course have many motivations for participating in the building of the Bitcoin block chain including a long term view for example, but the analysis below considers the requirements for a Miner that is interested in the short-term, in the immediate profitability.

A Miners top priority is to ensure that any blocks they mine are accepted by the majority of other Miners and that the other Miners mine on top of these blocks.

Block Distribution

The most critical feature is block distribution. If the Miner has discovered a new block they must distribute that block as quickly as possible so that other Miners build on top of that block, thereby cementing the block as part of the longest chain of proof of work and ensuring that the block reward and fees will be valid.

If the Miner has accepted a new block from another Miner, then they will start mining on top of that block. In this case, the Miner is also highly motivated in distributing this new block to other Miners so that the block is not orphaned and the mining effort is not wasted.

Speed is essential for block distribution. Every fraction of time that it takes to distribute the block to other Miners and for those Miners to start mining on top of the block, creates the possibility for a competing block to be found. The longer it takes to distribute the block, the higher the risk of a competing block.

Notice that the Miner is primarily interested in distributing the block to other Miners. Distributing the block to other network participants is substantially less of a priority. It may be mildly interesting because those other network participants may themselves distribute the block to a Miner, but a direct connection to the other Miner would be more preferable.

Other network participants will of course, also need the block, to fulfill their various business needs, but this is not time critical from the point of view of the Miner.

Note that in general only distributing the latest block is a priority for Miners. Providing older blocks is not of interest, see below for more details. However, in some circumstances it may be necessary to prioritise distribution of more than just the tip, such as when multiple blocks are mined in succession very quickly.

Block Reception

Miners are highly motivated to quickly receive new blocks from other Miners. If a new valid block is discovered on the network the Miner is highly motivated to switch to mining on top of that block as quickly as possible, on the assumption that this block will be accepted by the rest of the network.

If the Miner finds a block when they have already discovered a new block on the network but have not finished retrieving or validating that block, then the Miner has found a competing block. Given that the Miner has already detected the other block, it is highly likely that the Miner is already at a disadvantage with their competing block and will probably lose the competition.

Transaction Acquisition

The Miner is motivated to acquire as many transactions as possible to include those transactions in the block they are mining.

Transaction Distribution

The primary motivation for Miners to distribute transactions is to enhance the speed at which their block would be propagated, if the block was found. A strong secondary motivation is to support the network as a whole by preventing zero-conf double spends, or alerting other nodes and users to the existence of double spend attempts.

Other Features

Providing block download of older blocks is not of interest to Miners. At this stage of development, Miners may support this feature to generally support the network, but it is not a required feature. As the eco-system evolves, we can expect specialised providers of block archiving.