-
Notifications
You must be signed in to change notification settings - Fork 5.7k
BIP 348: OP_CHECKSIGFROMSTACK #1535
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
Conversation
b1cb659
to
f6e50d1
Compare
Updated to match the BIN, and with @Roasbeef 's comments. TYVM! |
ea7b96b
to
0267f3f
Compare
Fixed preamble. There's still 2 open conversations around this one:
I'll post on the mailing list for additional opinions on these topics, but not sure whether it makes sense for the BIP to get numbered and merged as is while still potentially subject to those revisions. |
@reardencode: If you feel that your proposal is not ready to be merged, please convert the pull request to a Draft. |
I converted this to draft since @reardencode indicated that this would likely need more changes before being ready for number assignment and merge. Given that this hasn’t been updated in half a year, is this still in progress? |
Definitely still WIP. Just hasn't been much reason to advance the conversation around the two specific questions I mentioned given the state of the broader conversation around bitcoin's future consensus changes. I am a bit confused about the need to have those questions answered before merging. Is the intention of the BIPs repository only to hold final specifications for consensus changes, or to enable iterating on consensus changes before proposing a document for numbering and merging? |
@reardencode per your question in #1535 (comment) and above, the current process is that of BIP 2. Iteration while in Draft status seems to be expected, but a BIP may only change status from Draft to Proposed when the author deems it is complete. An incomplete and unofficial simplified requirement list might be: (for number assignment) dev ML discussion, is high-quality, technically sound and complete, keeps with Bitcoin philosophy, well-scoped, has motivation, accurate title, addresses backwards compatibility, no BIP number conflicts, and (for draft merge): preamble, acceptable copyright, complete header (with status and type, correct layer if provided). |
You had written above
which I interpreted as a request to hold off while the situation might still be developing. I take it that I misunderstood you? |
Gotcha. Yeah, I honestly just don't know whether it makes sense to number and merge the BIP with outstanding questions like those or not. Since we're back in motion LNHANCE, I'll follow through and see what opinions appear :) Thanks! |
@reardencode: Preferably, as much as possible of the proposal is in place before it is put forth for an Editor review. Open questions tend to signal that a BIP may still be developing directionally and editors may be holding off due to that. ;) If the open questions concern minor details, or have been resolved, please let us know that it is ready for an editor review. |
9df2dbc
to
5645ecd
Compare
Can we change the name of this PR and remove (VERIFY) to more accurately reflect the latest state of the proposal? |
Updated with an additional example, removed CSFSV, and all earlier review comments addressed. |
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.
Let’s call this BIP 348.
320b3b8
to
7676dda
Compare
b37d316
to
ce09486
Compare
I believe I've addressed your comments. Thanks much! Would love you to read over the new text I added in the Lightning Symmetry section. |
LGTM Nit: In the future, if you don’t reposition all the linebreaks, it’s much easier to see what was changed in text. 🤓 I.e. it’s harder to discern what all the changes are in -`OP_CHECKSIGFROMSTACK` (CSFS) can be used in Lightning Symmetry channels.
-The construction `OP_CHECKTEMPLATEVERIFY <pubkey> OP_CHECKSIGFROMSTACK` with a
-spend stack containing the CTV hash and a signature for it is logically
-equivalent to `<bip118_pubkey> OP_CHECKSIG` and a signature over
-`SIGHASH_ALL|SIGHASH_ANYPREVOUTANYSCRIPT`. The `OP_CHECKSIGFROMSTACK`
-construction is 8 vBytes larger.
+`OP_CHECKSIGFROMSTACK` (CSFS) can be used to implement Lightning Symmetry
+channels. The construction `OP_CHECKTEMPLATEVERIFY <pubkey>
+OP_CHECKSIGFROMSTACK` with a spend stack containing the CTV hash and a
+signature for it is logically equivalent to `<bip118_pubkey> OP_CHECKSIG` and
+a signature over `SIGHASH_ALL|SIGHASH_ANYPREVOUTANYSCRIPT`. The
+`OP_CHECKSIGFROMSTACK` construction is 8 vBytes larger. than in -`OP_CHECKSIGFROMSTACK` (CSFS) can be used in Lightning Symmetry channels.
+`OP_CHECKSIGFROMSTACK` (CSFS) can be used to implement Lightning Symmetry channels. |
@murchandamus I believe moon and a couple others will take a look today, then I think this is G2G. |
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.
ACK on the current content.
Might want to consider mentioning the deleted key function verification scheme we learned from @bigspider?
edit:
Will add to PAIRCOMMIT instead! Since it needs multiple elements signed to work.
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.
I’m not sure whether you were still waiting for the other couple reviewers, but they can also take a look when it is a merged draft. The Rationale seems a bit concise, I would like to suggest that relevant questions and comments may still be added to this as they are brought up per coming review.
Gonna merge this now, if you want to make further changes, please open another pull request.
This BIP is based on the BCH OP_CHECKDATASIG work, as well as postings from the bitcoin dev mailing list in this thread. Some differences appear due to the activation of bips 340, 341, and 342 (taproot) since those were developed.
OP_CHECKSIGFROMSTACK is an OP_SUCCESS upgrade available only in BIP342 tapscript.