Reduced signalling threshold activation of existing segwit deployment



Summary:

A proposal has been made to activate the existing BIP9 segwit deployment with a majority hashpower less than 95%, in order to minimize chain split risk and network disruption while maximizing backwards compatibility and still providing for rapid activation of SegWit at the 80% threshold using Bit 4. This would enable a simple majority of miners to coordinate activation of the existing segwit deployment with less than 95% hashpower, without risking a rushed combined segwit+HF that would almost certainly cause widespread issues. The proposal specifies that all blocks must set the nVersion header top 3 bits to 001 together with bit field (1 existing segwit deployment) while this BIP is active, and blocks that do not signal as required will be rejected. The proposal suggests that miners upgrade their nodes to support segsignal otherwise they may build on top of an invalid block. However, it should be noted that this proposal is more risky than usual; only 31% of hashrate is required to false-signal the activation to fork-off honest miners. The attack vector is magnified by the lack of "locked in" delay that would allow laggards to upgrade before activation. Some have suggested adding in at least a 1-week lock-in period to address this issue. Nevertheless, those who can should still upgrade for segsignal, as the more that upgrade ahead of activation the more secure it is. It is proposed that this implementation should change its activation logic from BIP9-style to BIP8-style with a flagday of August 1. This would maintain backwards compatibility with the current deployment of BIP148 nodes. The proposal also suggests that enforcement of segsignal mandatory signalling by economic nodes strongly discourages any false signaling. It is recommended that this proposal should be for miners only, but some disagree with this and suggest that non-miners should enforce it too. The proposal text and reference implementation can be found on the Github repository.


Updated on: 2023-06-12T01:09:47.689881+00:00