pull down to refresh

Since we're gaming things out, here's something @Murch posted on X:

There is this claim that comes up a lot that a soft fork will win, even if it starts out with a minority of the hashrate upon activation. Let’s dig into that for a bit:

Let’s consider a scenario based on a hypothetical soft fork “RSTD” that employs a mandatory signaling period in Augtember and locks in on a signaling threshold of 51%. (Similarities purely intentional.) We’ll refer to the non-forking chain as “BTC”.

As we are interested what will happen if the soft fork is supported by a minority of the hashrate, we’ll assume that RSTD is supported by 20% of the hashrate. (That’s generous and easy to calculate.) The mandatory signaling begins on the 0th block of a difficulty period.

Let’s refer to that block as “block 0”.
There is a 20% chance that block 0 is found by a RSTD miner, a 4% chance that block 0 and 1 are found by RDTS miners, and a 0.8% chance that block 0, 1, and 2 are found by a RSDT miners.

So, after zero to a few blocks, a non-signaling block will be found.
Let’s assume block 0 is found by a RSTD miner and therefore accepted by all nodes, but the next block, block 1B is found by a non-signaling miner. RSTD nodes reject the non-signaling block.

As 80% of the hashrate is not signaling, the expected time per block on the BTC chaintip is 12.5 minutes, while blocks on the RSTD chaintip with 20% of the hashrate are expected every 50 minutes. Let’s assume for simplicity that blocks uniformly take the expected time.
Assuming miners stick to their initial behavior, after 12.5 minutes, block 2B is found and equally rejected by RSTD nodes. RSTD miners continue considering block 0 their chaintip and search for block 1R.

After 50 minutes, a RSTD miner finds block 1R. BTC miners now first register another chaintip. Unless BTC miners manually intervene, the block is ignored by their nodes as the BTC chain has four blocks more total work

Both chaintips continue adding blocks independently. After 5h, the RSTD chaintip reaches block 6R. The BTC chaintip continues pulling further ahead in total work and reaches block 25B.

20 hours and 37.5 minutes after block 0, the BTC chain reaches block 100B. The first mining reward that is unique to this chain becomes mature and can be spend. RSTD miners are looking for block 25R.

The first mining reward on the RSDT chaintip, the output of block 1R, can be spent after 3 days 10 hours and 30 minutes when block 100R is found. At that time, the BTC chain is at block 401B.

We have so far also assumed that the miners don’t adjust their behavior.
Mining is a random process and blocks would be found at varying intervals. Also, miners are paying for power every second they are mining, but they get only paid when someone buys their block reward.

BTC Miners will consider their position: They’re currently on the most work chain and lose their rewards if they switch. If all join the RSTD chain, they will eventually wipe out the BTC chaintip, but they are many blocks behind.

If too few others also switch they will end up being paid only in the minority chain token—if the reward even matures. The first BTC defector has the biggest risk. If everyone just stays put on the BTC chaintip, they will simply continue to coast along as the majority chain.

The RDTS miners are in a similar but different situation: they would also lose their block rewards if they switch, but there are fewer block rewards on the minority chaintip. Their block rewards also take longer to mature and pay RSTD coin, making payment less certain.

So, if you still think that a soft fork is bound to succeed from starting with a minority of the hashrate, I have a few questions for you to mull over:
  • Assuming there are future tokens for the two chaintips, how would you anticipate the exchange rates to react to the non-forking chain pulling ahead? How long do you think miners would work at full cost on a chain that pays them the minority chain token?
  • What would be the incentive for miners on the majority hashrate chaintip supported by the economic majority of the network to rescind their block rewards to join a controversial soft fork with minority hashrate? Especially, when they didn’t support the soft fork so far?
  • After how many blocks, do you think the BTC chaintip would consider a reorg inacceptable because it would undermine the confidence of users in confirmations? At the latest when the first block rewards mature? That would imply that there is a final resolution within 24h.
  • Given the BTC miners’ block rewards being at stake, after how many blocks lead would you expect BTC miners to start coordinating to call invalidateblock on block 1R to rule out the wipe-out of dozens of blocks?
In conclusion, it continues to elude me why people would think that a soft fork would win from a minority hashrate start.
If it actually got majority or close to majority support, different story, but we can cover that another time.

There's about a 4% chance of getting to 2R before getting to 2B, right? I'm assuming 1B happens before 1R. That 4% risk of loss would be the concern, then?

If they got to 30% hash, that becomes a 9% risk.

reply
RSTD

Nice

reply