-
Notifications
You must be signed in to change notification settings - Fork 2
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
bolt02 requirements for closing_signed with musig2-taproot #2
base: simple-taproot-chans
Are you sure you want to change the base?
Conversation
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.
Great observation re needing to move towards a turn-based protocol. While we're at it...I wonder if we should just move all the negotiation upfront, and then have a single accept message that contains the final valid signature?
We can likely defer that though, as this may be aa change we want to make fore all channel types.
Main comment here is re the two nonces still, and also moving this to the extension doc.
@@ -630,6 +634,12 @@ reply with the same value (completing after three messages). | |||
2. data: | |||
* [`u64`:`min_fee_satoshis`] | |||
* [`u64`:`max_fee_satoshis`] | |||
1. type: 2 (`local_musig2_pubnonce`) |
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.
In the "extension" style, I think we want to instead add these new TLV fields and requirements to the new document.
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 am of two minds here. On one hand it's nice to have things in a new document, but I also think it would be confusing to split up closing_signed
requirements between multiple files without any sort of reference (hyperlink?) from one file to the other
@@ -714,6 +737,62 @@ satoshis, which is possible if `dust_limit_satoshis` is below 546 satoshis). | |||
No funds are at risk when that happens, but the channel must be force-closed as | |||
the closing transaction will likely never reach miners. | |||
|
|||
### Closing Rejected: `closing_rejected` |
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.
Interesting addition, same comment re moving to the extension doc.
1. type: 2 (`local_musig2_pubnonce`) | ||
2. data: | ||
* [`66*byte`:`nonces`] | ||
1. type: 4 (`remote_musig2_pubnonce`) |
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.
Why are two sets of nonces needed here? I was under the impression that in the co-op close case, there's actually just one message being signed, so we can get away with a single nonce?
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.
For dust limit, unless there's a way to agree on a single tx
That's possible. With
You could change it so that the initiator doesn't send a signature until the recipient does. That lengthens the round-trip time in the cases where the recipient immediately agrees, but it doesn't seem to be a big deal. It does let you get rid of nonce exchanging in |
e95e7ac
to
e25132d
Compare
This makes simple musig2-taproot channels use fee_range by making it fully turn-based with a new message
closing_rejected
.