Skip to content

Conversation

@jgarzik
Copy link
Contributor

@jgarzik jgarzik commented Mar 22, 2014

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.

@luke-jr
Copy link
Member

luke-jr commented Mar 24, 2014

P2SH tests should probably be updated to avoid using bare multisig in IsStandard tests (not the intention of the test): c5127b7

@jgarzik
Copy link
Contributor Author

jgarzik commented May 20, 2014

rebased

@laanwj
Copy link
Member

laanwj commented May 21, 2014

This option needs documentation in HelpMessage() (or is it ondocumented on purpose?)

@jgarzik
Copy link
Contributor Author

jgarzik commented May 21, 2014

+1 @laanwj yes, needs docs

src/script.h Outdated
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: Nowhere else we use msig, can you use multisig?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Diapolo I don't mind s/msig/multisig/ but I do dislike long symbols. Maybe RELAY_MULTISIG or somesuch.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's fair.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with @petertodd here.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, IsStandard needs a separate set of flags.

@laanwj
Copy link
Member

laanwj commented Jul 9, 2014

Needs rebase and nit fix.

…TX outputs

First and foremost, this defaults to OFF.

This option lets a node consider such transactions non-standard,
meaning they will not be relayed or mined by default, but other miners
are free to mine these as usual.
@BitcoinPullTester
Copy link

Automatic sanity-testing: PASSED, see http://jenkins.bluematt.me/pull-tester/p3939_3da434a2ef9ac76a0ad4a33921773a9ac8f10ab7/ for binaries and test log.
This test script verifies pulls every time they are updated. It, however, dies sometimes and fails to test properly. If you are waiting on a test, please check timestamps to verify that the test.log is moving at http://jenkins.bluematt.me/pull-tester/current/
Contact BlueMatt on freenode if something looks broken.

@jgarzik
Copy link
Contributor Author

jgarzik commented Jul 18, 2014

All nits addressed.

@petertodd
Copy link
Contributor

ACK

@sipa
Copy link
Member

sipa commented Jul 18, 2014

Untested ACK

1 similar comment
@laanwj
Copy link
Member

laanwj commented Jul 18, 2014

Untested ACK

@laanwj laanwj merged commit 3da434a into bitcoin:master Jul 18, 2014
laanwj added a commit that referenced this pull request Jul 18, 2014
3da434a Introduce option to disable relay/mining of bare multisig scripts in TX outputs (Jeff Garzik)
@jgarzik jgarzik deleted the bare-multisig branch August 24, 2014 04:22
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Sep 8, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants