Option to consider bare multisig scripts in TX outputs non-standard

First and foremost, this defaults to OFF.  Perhaps consider changing the default if the community feels strongly about the issue and/or a security issue strongly encourages a change.

This option lets a node consider such transactions non-standard.

This impacts parties using CheckMultiSig for multisig and parties using CheckMultiSig for raw data transport.

This also makes a sigops-related issue harder to express in practice.

WARNING:  An issue @gavinandresen raised has not yet been tested.  Do not pull at this time.


I think a SCRIPT_VERIFY flag is the wrong place for this. The other flags either are consensus critical, or may be in a plausible future soft-fork. They also are all evaluated during script execution. Multisig outputs on the other hand are just an IsStandard() rule and are evaluated via the Solver() template matcher. Additionally being purely a policy rule they would be inappropriate in a libconsensuscore library, again unlike the other script verification flags.