Exploring alternative activation mechanisms: decreasing threshold



Summary:

Gregorio Guidi proposed a new activation mechanism for soft forks called "decreasing threshold activation" that aims to overcome the limitations of the LOT=true/false dichotomy. This approach is similar to BIP8 but with a gradually reduced threshold that triggers the STARTED -> LOCKED_IN transition on each period in steps of 24 blocks (~1,2%). The activation will always occur in the end except in a negligible case where less than 1.2% of hashrate supports it. It is relatively conservative at the beginning, requiring a clear majority of signaling hashrate, indicating that the activation is relatively safe. Moreover, this approach removes the motivation to create UASF clients that force activation and avoids the extra code to deal with the MUST_SIGNAL period. There are no parameters to set (except startheight), making the activation mechanism robust and predictable with less chance for users to shoot themselves in the foot. If adopted as the default mechanism, it would require very little discussion on how to activate future soft-forks. Compared to LOT=true, activation is cleaner and quicker when it is relatively safe to do so, while activation is pushed further and further in time when it is less safe. This proposal should be seen as somewhat independent from the discussion on taproot activation. Gregorio acknowledges that he would be happy with a LOT=false activation for taproot that succeeds quickly, while the decreasing threshold approach could be evaluated as a potential default activation mechanism for the future. Overall, this proposal achieves the big objective of always ending in activation (like LOT=true) without resorting to MUST_SIGNAL and chain splits, mitigating the risk of reorgs and involuntary forks around activation, even with low miner signaling.


Updated on: 2023-06-14T18:34:38.859921+00:00