-
Notifications
You must be signed in to change notification settings - Fork 5.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Several updates to BIP62 #117
Conversation
Clarify that BIP62 rule 6 (clean stack) only applies after potential P2SH redeemscript evaluation. Applying it before the redeemscript evaluation means that every P2SH script will fail it, as P2SH by definition uses an unclean stack (to specify the redeemscript inputs).
2c904eb
to
a4a1bae
Compare
* All transactions in v3 blocks are required to follow rules #1-#2. | ||
* v3 (and higher) transactions in v3 blocks are required to follow rules #3-#7 as well. | ||
* All transactions in v3 blocks are required to follow rules #1 and #2. | ||
* v2 transactions in v3 blocks are required to follow rules #3-#7 as well. Transactions with version 1 or a version higher than 2 do not have this requirement, even when in a v3 block. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@luke-jr I've got a use-case for executable scriptSig content to be able to sign how much fees a tx spends, among many other cases.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And yeah, I think only allowing pushdata ops in P2SH scriptSigs was a mistake.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, removed rule 2 being mandatory.
Removed the hashtype requirement (as it's not required for malleability protection, and may be useful otherwise), and added a clarification that even non-evaluated CHECKMULTISIG signatures need to be strict DER (even though the implementation of the opposite is easier, the semantics become more complex to explain). Thanks to @petertodd for pointing that out. |
fd45435
to
5163846
Compare
Needs rebase |
Stil needs rebase (or close, if no longer relevant). |
Closing this - IIRC BIP62 is retracted |
We dropped reference 1 and 2 during the split, and the offset numbering is causing a bit of head-scratching. This renumbers the reference. Closes bitcoin#117
No description provided.