-
Notifications
You must be signed in to change notification settings - Fork 491
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
BOLT 02: clarify that announcement_signatures is a BOLT 7 msg #620
Conversation
Note: this wording hasn’t been meaningfully changed for three years. IMO this change isn’t actually necessary as the text is already pretty explicit, but if it helps to clarify then I suppose it’s useful. |
While I agree with @cfromknecht that a litteral interpretation of the spec does allow sending of
For that reason The decorrelation between BOLT 2 and BOLT 7 makes of course complete sense for |
Only for advertised channels, IMO the existing delineation is very clean, all channels are inherently created private and can be advertised via the processes in BOLT 7 if What would we gain by restricting counterparties from using their own channel before the proofs have been constructed? The counterparties already signal their readiness to use the channel via I think a good litmus test for whether something belongs in BOLT 7 vs BOLT 2 is whether or not it only applies to advertised channels, which is how the current spec reads (apart from blocking usage on |
I agree, and we don't block on |
I agree here, in the case where I don't think this implies though that The last peer to speak dictates the time of announcement, so a malicious peer can't force an earlier announcement. Even a peer is malicious and gets you to exchange |
It would indeed be sufficient, gives more degrees of liberty, but is also less straightforward and I don't see the added benefit of flexibility in that case. I think the existence of this PR justifies that sometimes simpler and straightforward at the expense of flexibility could avoid future interop issues. |
If I'm not mistaken, the original philosophy was that different BOLTs could be implemented in distinct daemons. Requiring more coordination between the two makes this separation strictly more cumbersome. FWIW, in LND the BOLT 2 and BOLT 7 subsystems are completely isolated from each other, so I think it's a matter of perspective on which approach is more straightforward. I also would have thought CL would also be interested in reducing the coordination requirements given the multi-daemon architecture. Considering that imposing a stricter ordering doesn't offer anything from a safety perspective, are there any other substantial reasons to remove the flexibility that aren't addressed by delaying @cdecker @rustyrussell any thoughts on this? Would delaying also thank you @pm47 for the helpful discussion and improving my understanding of the nuances :) |
So in writing up the proposal to use a |
Strongly disagree that announcement_signatures "is a BOLT 7 message" - its not a gossip message, its not something which is forwarded on, and its something which is generated from local channel state (and the receiving node must use local channel state to process it). |
It lives in BOLT 7 and has all of its requirements specified in BOLT 7, if that doesn't constitute a BOLT 7 message it's not clear to me why others would infer that. Are gossip query messages also "not BOLT 7 messages"? |
I can't say I particularly care where it is specified, but from a practical implementation PoV, as in my example in #625, there really are reasons to have its send tie be determined by channel info. |
Yes, this is wrong. It's in bolt 7 because there was a desire to thin out bolt 2. It's not "independent of particular channels", its only relation to gossip is that it's a precursor to being able to gossip: it is in no manner a gossip message itself. |
There seems to be some confusion as to which messages can be sent
before
channel_reestablish
. The spec says that all BOLT 7 messagescan be sent independently of the requirements of
channel_reestablish
.This change clarifies that
announcement_signatures
are also includedcategorically.