1

I have read that long term we expect that the percentage of blocks mined to be forever converging to the percentage of hashpower possessed by the miner. This means if a particular miner has 20% of the total hashpower amongst miners, over time we expect to see the percent of blocks they mine converge to 20% of blocks.

Has any analysis been done to see if the data supports what we expect to see? Obviously it is complicated by mining pools, miners entering and leaving the network, and rig upgrades, but we will ignore these factors. Here is some clarification questions that shed light on why I am curious:

I believe I understand that all miners are working on the same block number, but possibly with different transactions bundled in the respective block they are working on. Ok, for simplicity lets assume there are 4 miners -

Miner1 with 35% hashpower
Miner2 with 30% hashpower
Miner3 with 25% hashpower
Miner4 with 10% hashpower

Suppose mempool is ripe with transactions and block number 5 was just succesfully mined by Miner1. Miner2 was really close to mining their block when Miner1 finished (perhaps within 10 increments of a nonce). Now it is time to start on block number 6. Does everyone have to start over from square one by grabbing transactions from mempool and starting to hash? Or do the other miners who didn't win get to continue the work they have already done (10 more hashes for miner2). If the former, I don't see how miners with smaller %'s of power ever mine any blocks at all. If the latter, then I see how the speed at which you mine blocks will be determined by your hashrate, but I am curious if it will actually converge to their percentage of power. I am also curious, if they "continue their work" what happens to the transactions in their block that may have been shared with the ones in block number 5?

I am especially curious about this same question in the PoS set-up but will wait and post in a seperate question later.

I also believe I understand that mining is so fast now “incrementing the nonce” is kind of nonsense since all nonce values can be tried in an instant and then the miner needs to grab new transactions and try again.

3
  • Yes at current rates a miner tries all nonces in a fraction of a second, but they usually respond by changing only the coinbase transaction in the body (and the Merkle tree). They don't need to alter the set of 'user' transactions, although they can if e.g. a higher-fee txn is now available. Jul 5 at 2:50
  • What control do the have over the Coinbase field? The address the Coinbase transaction is sent to?
    – Prince M
    Jul 7 at 23:42
  • 1
    A solo miner controls everything in the coinbase txn, but normally they don't want to change the output. Since they also control the (single) dummy input, they vary an 'extranonce' value there; see bitcoin.stackexchange.com/questions/90684/… . For a pool, all members must use the output(s) determined by the pool, and each member is assigned different ranges of extranonce values to try; see bitcoin.stackexchange.com/questions/37279/… . See also developer.bitcoin.org/devguide/mining.html Jul 8 at 10:30
4

There are several aspects here that are worth pointing out.

  1. The 'little man" rarely wins, simply because almost all mining happens in large pools, and they win proportionally to their hashrate.

This isn't due to unfairness in mining, but simply due to the fact that the expected variance in payout is too large for most small hashrate entitites to risk their business on.

  1. Mining is progress free.

Every individual hash attempt has a fixed probability of being a good one, independently of how many hashes the miner (or anyone else) has tried already. Thus, nothing is "lost" by switching to a new candidate block to work on top of. This is a very important property; mining would be strongly centralizing if the process wasn't progress free.

  1. There is a small but non-trivial time needed to switch block candidates.

When a new block is found by a miner on the network, all other miners switch to working on top of this. If they don't do this, they are in violation of the protocol, and should be treated as an attacker - it's exactly what a 51% attacker would do. Miners don't do this for the simple reason that it would be economically disadvantageous. All but a majority hashrate miner would never catch up if they didn't switch to new blocks.

However, there is some small assymetry here still: switching their hashers to work on top of the new block requires a nontrivial amount of time:

  • They need to first learn about the new block
  • They need to validate it, so they can update their mempool (remove mined transactions and transactions conflicting with mined ones from it).
  • They need to build a new block candidate on top of the new block, using their new mempool.
  • They need to inform their hashers to switch to this new candidate.

The assymetry lies in the fact that the miner who found the new block themselves don't need to wait to learn about it - they already know. This gives a small but possibly nontrivial advantage to larger miners: they find a block more often, and thus can more often take advantage of this benefit. This is in fact the reason why the average time between blocks needs to be large compared to the time it takes for a block to be propagated through the network.

6
  • Hi Pieter - Can you elaborate on what you mean by 'the expected variance in payout is too large for most small hashrate entitites to risk their business on'? Also, if mining is progress free and each hash has a fixed probability of winning, independent of those hashes before and after, then I don't see why some people say 'there is no sense in mining with basic equipment anymore because mining equipment has become so advanced and done in large pools". The way I am understanding this is the presence of more advanced miners does not impact me in any way. They may win more often, but as long as
    – Prince M
    Jul 8 at 0:06
  • there is a pile of lottery tickets to check, how often they win should not effect me. If this is correct, mining with basic equipment today is no more or less a good idea than mining with basic equipment was in the early days. With basic equipment, a hash rate may be low - but you still have a chance at winning. It seems to me like it would be comparing a person who recieved one free lottery ticket per day vs a person who spends money to buy 100 lottery tickets per day. I still might win eventually, and it is free for me to check, though the person buying 100 per day
    – Prince M
    Jul 8 at 0:07
  • 1
    The difficulty adjusts to keep the block rate at one per 10 minutes. This is effectively reducing the percentage of winning tickets. So simply the fact that there are more efficient machine around means your profitability goes down. If the expected income from mining is below the cost of your hardware wear&tear/replacement, electricity, operations, maintenance... you will stop mining. In a world where those costs are independent of location, only the most efficient machines will keep mining - everything else will inevitably become unprofitable. Jul 8 at 5:55
  • 1
    Regarding variance; if your hardware (say) has a shelf life of one year for example, but the total amount of hashrate you have only lets you win one block or so per 6 months on average, that is probably too much to work with. You may get 1 or 2 or 3 blocks out of your hardware, but you may also just get 0 - making it a gamble. Too much of a gamble isn't something you want to bet your business on, even if technically your hardware's expected payout - expected costs is positive. Jul 8 at 5:58
  • 1
    So by "fixed probability" I mean within one difficulty adjustment period (2016 blocks, ~ 2 weeks) every hash attempt has the same chance, and this is independent from how many hashes you or anyone else has already performed for a given block. But every 2016 blocks the difficulty, and thus probability, is adjusted to keep the block rate at 1 per 10 minutes. Jul 8 at 6:03
2

Miner2 was really close to mining their block when Miner1 finished (perhaps within 10 increments of a nonce).

This is not what's happening during mining. Mining isn't a gradual process where you could be "really close" to getting a block mined. Rather it is a constant lottery, with each attempt (incrementing a nonce and producing a block hash) being completely independent of another. You could find the correct hash on your first attempt or your trillionth.

Even though independent events are sometimes very counterintuitive, the math behind them is so well understood that I dare say we don't need any data to see if it holds for bitcoin mining.

3
  • So higher hash rate means I can hash faster which is like checking more lottery tickets faster and how often I win is proportional to how fast I can check tickets. But in this setting the presence of miners with more hash power does not impact my success at all?
    – Prince M
    Jul 7 at 23:49
  • I only ask because I have heard some people say mining is pointless now unless you have very sophisticated equipment.. but in the lottery analogy it wouldn’t matter if someone else can check tickets faster than me.. So something must be missing
    – Prince M
    Jul 7 at 23:53
  • @PrinceM Mining is pointless if your electricity costs are higher than mining rewards. There's a limited amount of bitcoin to be shared between all miners, and as more miners join, only those with cheap electricity can remain profitable. Jul 8 at 1:14

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.