The best way to consider neutrality is asking the query “does this modification end in anybody who’s at the moment utilizing Bitcoin to be unable to proceed to make use of Bitcoin in that approach?” “Impact” might be making scripts beforehand spendable now not spendable (i.e. confiscation), or breaking some protocol using that performance (e.g. if one thing had been to interrupt lightning). Clearly any change to script or transaction building can probably trigger these, so cautious evaluation should be completed with the intention to decide whether or not these results could also be realized. Once we have a look at historic examples, we are able to see that every of them didn’t have any impact on anybody that was utilizing Bitcoin already.
Within the well-known historic instance of disabling OP_CAT and different opcodes, we are able to observe that none of these opcodes had been in use on chain and that nobody was proposing to make use of them. This additionally had the rationale of fixing an lively vulnerability that would trigger nodes to crash.
Smooth forks that allow new performance by using OP_NOP opcodes likewise used opcodes for which nobody was actively utilizing, as a result of they’d particularly be designed as improve strategies.
The identical applies with P2SH, Segwit, and P2TR as they redefined script patterns for a unique utilization. These script patterns had been unused (aside from testing and experimentation) therefore these upgrades had been impartial.
Conversely, within the case of BIP 110, we are able to see that it’s explicitly breaking people who find themselves at the moment utilizing Bitcoin. As a easy instance, BIP 379 Miniscript describes how the opcodes OP_IF and OP_NOTIF can be utilized in a composable script with the intention to carry out numerous spendability checks. The utilization of such opcodes is additional depending on the sub-expressions. As BIP 110 disallows the utilization of OP_IF and OP_NOTIF, anybody at the moment utilizing Miniscript is prone to being affected. A miniscript so simple as andor(pk(B),older(1000),pk(A)) (both signal with key A, or signal with key B after 1000 blocks) makes use of OP_NOTIF and UTXOs created to this coverage after BIP 110’s activation can be unspendable.
It’s conceivable that somebody someplace is already utilizing a coverage like this, and activation of BIP 110 would instantly break them – they must change how they obtain new cash so as to have the ability to spend their cash at whereas the restriction is lively.
What additional exacerbates that is that the scripts themselves should not seen, so the utilization of the opcodes in query is just not identified till UTXOs are spent, and even then, with taproot, just one leaf script is revealed. This makes evaluation of who is likely to be affected a lot tougher.
The best way to consider neutrality is asking the query “does this modification end in anybody who’s at the moment utilizing Bitcoin to be unable to proceed to make use of Bitcoin in that approach?” “Impact” might be making scripts beforehand spendable now not spendable (i.e. confiscation), or breaking some protocol using that performance (e.g. if one thing had been to interrupt lightning). Clearly any change to script or transaction building can probably trigger these, so cautious evaluation should be completed with the intention to decide whether or not these results could also be realized. Once we have a look at historic examples, we are able to see that every of them didn’t have any impact on anybody that was utilizing Bitcoin already.
Within the well-known historic instance of disabling OP_CAT and different opcodes, we are able to observe that none of these opcodes had been in use on chain and that nobody was proposing to make use of them. This additionally had the rationale of fixing an lively vulnerability that would trigger nodes to crash.
Smooth forks that allow new performance by using OP_NOP opcodes likewise used opcodes for which nobody was actively utilizing, as a result of they’d particularly be designed as improve strategies.
The identical applies with P2SH, Segwit, and P2TR as they redefined script patterns for a unique utilization. These script patterns had been unused (aside from testing and experimentation) therefore these upgrades had been impartial.
Conversely, within the case of BIP 110, we are able to see that it’s explicitly breaking people who find themselves at the moment utilizing Bitcoin. As a easy instance, BIP 379 Miniscript describes how the opcodes OP_IF and OP_NOTIF can be utilized in a composable script with the intention to carry out numerous spendability checks. The utilization of such opcodes is additional depending on the sub-expressions. As BIP 110 disallows the utilization of OP_IF and OP_NOTIF, anybody at the moment utilizing Miniscript is prone to being affected. A miniscript so simple as andor(pk(B),older(1000),pk(A)) (both signal with key A, or signal with key B after 1000 blocks) makes use of OP_NOTIF and UTXOs created to this coverage after BIP 110’s activation can be unspendable.
It’s conceivable that somebody someplace is already utilizing a coverage like this, and activation of BIP 110 would instantly break them – they must change how they obtain new cash so as to have the ability to spend their cash at whereas the restriction is lively.
What additional exacerbates that is that the scripts themselves should not seen, so the utilization of the opcodes in query is just not identified till UTXOs are spent, and even then, with taproot, just one leaf script is revealed. This makes evaluation of who is likely to be affected a lot tougher.
















