Difference between revisions of "The Miner Use Case"

 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
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.
+
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 [[blockchain]] 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 that they mine are accepted by the majority of other miners and that the other miners mine on top of these blocks.
+
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 ==
 
== Block Distribution ==
 
The most critical feature is 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 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 the miner 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 wasted.
+
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.
+
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.  
+
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 need the block too, to fulfill their various business needs, but this is not time critical from the point of view of the miner.
+
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.
+
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 ==
 
== 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.
+
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.
+
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 ==
 
== Transaction Acquisition ==
The miner is motivated to acquire as many transactions as possible to include those transactions in the block they are mining.
+
The Miner is motivated to acquire as many transactions as possible to include those transactions in the block they are mining.
  
 
== Transaction Distribution ==
 
== 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.
+
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.
 
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 ==
 
== 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.
+
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.

Latest revision as of 01:37, 11 January 2022

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 blockchain 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.