(Contains input from many people, not my own ideas)
- Forbid
multi, have a newmulti_aitself forbidden in other contexts - We now need to care about the maximum stack size (1000). With Taproot it's now also checked before executing the Script.
- We could have a new
d:wrapper that isubecause theMINIMALIFrule is consensus - It doesn't look like there is interesting combinations of the new
CHECKSIGADDopcode with existing fragment. Maybe we could have used it forthreshto save anOP_ADDif the sub was aCHECKSIG, but the arguments aren't in the right order for this. - No need to check for the Script size anymore
- I don't think we need to take the sigop budget into account, as we can't create a Script that would duplicate the signatures.
- When calculating sizes, keep in mind the signature length is now 64
- At the descriptor level, we should not forbid key duplicates across branches? As the signature for one branch cannot be replayed on the other
- Standard witness size is still bounded by MAX_NUM_STACK_ELEMENTS * MAX_STACK_ELEM_SIZE, that's effectively 8kWU
Latest version of this is at https://gist.github.com/sipa/06c5c844df155d4e5044c2c8cac9c05e.