Speedy Trial



Summary:

In a Bitcoin-Dev discussion, it was noted that while speedy trial and BIP8 are similar in the case of bad soft fork activation, there is one essential difference between them. Specifically, BIP8 does not have mandatory signaling during the lock-in period; it has semi-mandatory signaling during the must_signal period. This means that counter soft forks are not as easily implementable with BIP8.For example, to counter bip8 activation, an individual would reject any block during either the started or must_signal phases that met the threshold. In this case, someone running bip8 might see blocks that alternate between signaling yes and no, until locking in at a certain point. Rejecting the soft fork would mean rejecting the block that signaled "yes" just before locking in. Jeremy Rubin has written code that makes use of the getdeploymentinfo rpc to check the deployment status, and the invalidateblock rpc to reject a block. The difference between speedy trial and bip8 with lot=true is that nodes running speedy trial will reorganize to follow the resisting chain if it has the most work. On the other hand, bip8 with lot=true nodes will not reorganize to a failing chain unless one group or the other gives up and changes their software, which could potentially create an ongoing chain split.


Updated on: 2023-05-22T18:18:56.393209+00:00