Trinary Version Signaling for softfork upgrades



Summary:

In a recent email to the Bitcoin development mailing list, Eric Voskuil pointed out that there is no choice between creating a split and hash power enforcement. Soft forks are rule changes, and thereby incompatible unless enforced by majority hash power. He objected to the misleading statements about inherent soft fork "compatibility" and the implication that activation without hash power enforcement does not create a split. He called out grossly misleading statements so that people can make informed decisions. The question is only how to prevent a split, not who decides the rules. If one doesn't care, he can split at any time, no discussion required. Voskuil stated that mining is trading capital now for more later. If enough people want to enforce a soft fork, they can do it. Anyone can mine, so everyone gets a say. Mining is voting. Otherwise, anyone can start a new coin. But it's dishonest to imply that one can do this, and all others will surely follow - this cannot be known; it's merely a gamble. Luke Dashjr replied that BIP8 LOT=True just ensures miners cannot block an upgrade entirely, but they can still slow it down. It already has the trinary state you seem to be describing (although perhaps this could be better documented in the BIP). Users who oppose the softfork can and should treat the successful signal (whether MASF or UASF) as invalid, thereby ensuring they do not follow a chain with the rules in force. No additional bit is needed as softforks are coordinated between users, NOT miners. Billy Tetrud's proposal uses trinary version signaling rather than binary signaling. For any particular prospective soft fork upgrade, this allows for three signaling states: actively support the change, actively oppose the change, and not signaling (neither support nor oppose). Using this additional information, we can release non-contentious upgrades much quicker (with a much 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 to the change.


Updated on: 2023-06-14T23:38:14.708695+00:00