Author: Anthony Towns 2021-04-05 10:34:52
Published on: 2021-04-05T10:34:52+00:00
In a recent email discussion on bitcoin-dev, the topic was the pros and cons of using height or MTP to determine consensus. The conversation centered around the number of retarget periods needed for successful activation. A table was provided based on blocks since 2015-01-01 that showed the number of retarget periods required for desired signalling periods ranging from 90 to 730 days. It was noted that these numbers also applied to non-signalling periods such as the activation/lock-in delay. The email then delved into the probability of successful activation with different numbers of retarget periods. It was explained that requiring 1814 of 2016 blocks to signal, having 7 periods instead of 5 would give a 50% chance of activation by maintaining 89.04% of hashpower over the entire period instead of 89.17%, while 55 periods instead of 51 gives a 50% chance of success with 88.38% hashpower instead of 88.40% hashpower. It was concluded that the "repeated trials" part did not have any significant effect on mainnet.Next, the email provided stats from the last few years of mainnet on the number of periods required to reach successful activation, ranging from 1 to 54 periods, and the corresponding range of days for each. The important questions were then raised regarding whether signalling is still possible by the time enough miners have upgraded and are ready to start signalling, and whether nodes have upgraded to enforce new rules by the time activation occurs. It was noted that both of these factors benefit from less real-time variance, rather than fewer numbers of signalling periods.Finally, the email provided corresponding numbers for testnet, including the ranges of hashpower and days required for successful activation with different numbers of periods. It was pointed out that the only way higher block rates could occur was if someone controlled 100% of blocks for multiple periods, which is unlikely. The email concluded by including a link to a GitHub pull request that used 100 periods to ensure three months' worth of signalling was available.
Updated on: 2023-05-21T02:15:52.279503+00:00