Proposal: Soft Fork Threshold Signaling



Summary:

The writer of the article is in support of Segregated Witness (SegWit) and its activation by users through BIP148, but believes that if a soft fork was initially activated by miners before the date set in BIP148, it would be less risky. The reason behind this proposal is to mitigate the risks associated with User Activated Soft Fork (UASF). UASF has many risks associated with it, including two competing branches if the fork is activated with less than 50% hashing power, which can lead to non-empty blocks being orphaned by adverse miners. The main argument in favor of UASF is that users, not miners, give its value to Bitcoin. Therefore, users and markets should have the power to decide which branch of the fork has the most value, and profit-driven miners should follow. However, feedback through markets will only work if the forking branch can effectively be used. If the forking branch is rendered unusable by adverse miners, there is little chance the new coins will ever reach markets. Profit-driven miners might adopt a passive attitude and decide to mine on the forking branch only once a proper price has been set by markets, or only once they see that it has enough hashing power to be usable. Thus, the lack of hashrate information prior to the soft fork increases the risk.If a soft fork was initiated with more than 33% of the hashing power, then it would probably be viable, because the remaining two thirds of the hashing power cannot successfully be allocated to mine blocks on the non-forking branch and to orphan blocks on the forking branch. Therefore, users will be able to move coins on the forking branch, and markets will be able to set a price on these coins, thus creating the feedback needed by profit-driven miners. Currently, about 30% of the hashing power are signaling their intention to activate Segwit using BIP9, which is very close to the 33% threshold, and it would probably be enough to initiate a viable soft fork.However, nothing suggests that a soft fork triggered with 30% of the hashrate would be followed by the miners who are currently signaling Segwit using BIP9. BIP9 signaling means that these miners are willing to soft fork if support reaches 95%; it does not say anything about their intentions if support is as low as 30%.The activation threshold is part of the semantics of BIP9. Miners who use BIP9 do not only signal their support for a soft fork; they also signal to other miners that they will activate the soft fork if and only if support reaches 95%. Some of these miners might actually be willing to activate a soft fork with lower support, even at the cost of creating two chains. Other miners might not be supportive of that idea because they consider that the danger of their blocks being orphaned is too high. The problem is that this information, at which level of support miners are willing to initiate a soft fork, is not available. Thus, miners who are willing to initiate a soft fork at a lower hashrate cannot coordinate their action.The proposal suggests that miners signal the threshold at which they are willing to activate a soft fork. The value of the threshold is published in the coinbase transaction of the block, with the corresponding version bit. Miners activate a soft fork if their threshold has been reached over the last retargeting period. For example, if 504 of 2016 blocks signal a soft fork with a threshold equal or lower to 25%, then the soft fork is activated by these miners.Even if the soft fork is not activated by miners, this proposal will reduce the risks associated with UASF. The public availability of hashrate threshold information prior to the soft fork will help miners decide whether they should join the fork right after it has been activated, before price information is available. However, this proposal has similar vulnerabilities as BIP9: it is susceptible to fake signaling by miners and to miners withholding hashing power before the fork.


Updated on: 2023-06-12T00:07:20.185957+00:00