Trinary Version Signaling for softfork upgrades



Summary:

A recent controversy over upgrade mechanisms for taproot has led to the proposal of a new soft fork upgrade mechanism that solves both problems brought up by proponents of BIP8 LOT=true and BIP9/BIP8 LOT=false. The proposal, outlined in ip-trinary-version-bits.md, uses trinary version signaling rather than binary signaling, allowing for three signaling states: actively support the change, actively oppose the change, or not signaling at all (the default state). This additional information can allow for quicker release of non-contentious upgrades with a lower percent of miners signaling support. For contentious upgrades, miners who oppose the change are incentivized to update their software to a version that can actively signal opposition, and the more opposition there is, the higher the threshold necessary to lock in the upgrade. The proposed chart shows how much support signaling would be necessary given a particular amount of active opposition signaling. If no one signals opposition, a 60% threshold should be relatively safe, as it is unlikely to change significantly very quickly. This gives an incentive for "lazy" miners to upgrade if they actually oppose the change while allowing them to remain lazy without slowing down the soft fork activation much. The proposal also highlights that no additional bit is needed, as soft forks are coordinated between users, not miners, who have no particular say in them aside from their role as users. The miner involvement is only out of necessity to set the bit in the header, which users coordinate with, and potentially to accelerate activation by protecting upgrade-lagging users. Overall, this new mechanism could prevent further contention and delays in taproot's deployment.


Updated on: 2023-06-14T23:33:01.036620+00:00