-
Notifications
You must be signed in to change notification settings - Fork 219
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
fix!: update commitment signature #4733
fix!: update commitment signature #4733
Conversation
bc8f81b
to
6ef2407
Compare
5eff467
to
4a2f70b
Compare
55b2e1e
to
ed8266c
Compare
@@ -69,7 +69,7 @@ message TransactionInput { | |||
// The script input data, if any | |||
bytes input_data = 5; | |||
// A signature with k_s, signing the script, input data, and mined height | |||
ComSignature script_signature = 7; | |||
ComAndPubSignature script_signature = 7; |
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 think this should still be ComSig
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.
If the description in RFC-0201 is still accurate, the intent is to assert knowledge of both the commitment opening and script private key, which necessitates the use of CommitmentAndPublicKeySignature
even though the process isn't a multi-party operation. Otherwise you run into the same issue as with the transaction output use case, where you only assert the signer knows the sum of the commitment mask and script private key, and would need to ensure this doesn't result in any vulnerabilities elsewhere in the protocol.
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.
The assumption with RFC-0201 with the input and outputs are that the because the signer knows the aggregate keys, they know the individual as well.
And we know even with multiparty signers that key cancelation is not a problem as they need to sign with the commitment blinding factor in the excess (so k needs to be known) and they need to calculate the correct script offset(again so k needs to be known)
I feel that a comsignature is 100% fine for both, but I am busy implementing this as a ComAndPubSignature for now.
Closed in favour of #4943 |
Switches from
CommitmentSignature
toCommitmentAndPublicKeySignature
for transaction authorization. Work in progress.BREAKING CHANGE: Commitment signature proof has changed