Supermajority mining votes for valid->invalid changes.



Summary:

A proposed addition of the eval opcode could potentially make previously valid transactions invalid without creating lasting chain splits. However, if invalid transactions are emitted after the block height that the rule is coded to take effect and a super-majority of miners are not yet upgraded, the upgrade may cause a long reorganization and serious disruption. To avoid this, upgraded nodes should follow certain rules such as never forwarding or mining a transaction that would be invalid under the new rule and applying old behavior before height X unconditionally (where X is set far enough in the future to get reasonable deployment by large miners). They should begin applying the new rule only after the first point in the chain after X when none of the last Y blocks have contained an invalid transaction under the new rules. Once the software has been released, members of the bitcoin community can intentionally transmit transactions which are invalid under the new rules. By setting Y high enough that all major miners have a chance to mine in the window, this becomes an effective vote for the change by miners with a stochastic super-majority threshold. All nodes are able to exactly determine at what block the election has completed because it is an objective fact of the chain. With this scheme, the new encoding will only become active when enough mining capacity supports it so that a large reorganization will not happen due to incompatible blocks during deployment. This could be further enhanced with conflicting block discouragement, but the current scheme is sufficient without it and generally superior for this purpose.


Updated on: 2023-05-18T22:24:20.729993+00:00