Closed nayuta-ueno closed 5 years ago
本題を書き忘れた。
lndはfunding_locked
直後にchannel_update
を送信した後は、announcement_signatures
を送信した後に送信するそぶりを見せなかった。
そのため、ptarmiganはlndのchannel_update
を持たず、他にannouncementを展開しなくなっている。
BOLT7では、peer nodeのchannel_update
については捨てなさそうな記述になっている。
channel_update
で判別に使えるパラメータはshort_channel_idしかない。
short_channel_idはfunding_txがblockに入らないと決められない。
相手がshort_channel_idを持っているかどうかを判断できるとすれば、funding_locked
の受信くらいしかないだろう。
BOLTにマージされたので、ptarmiganとしては対応しない。 https://github.com/lightningnetwork/lightning-rfc/blob/master/07-routing-gossip.md#requirements-3
MUST NOT send a created channel_update before funding_locked has been received.
だいたいのnodeは、
funding_locked
の送信後にchannel_update
を送信する。 これは、invoiceのr-fieldのためと考えている。 https://lists.linuxfoundation.org/pipermail/lightning-dev/2018-April/001220.htmlそれはよいが、元々
channel_update
はchannel_announcement
と対になるメッセージで、channel_announcement
がないchannel_update
は無視することになっている。The receiving node:
announcement_signatures
を交換するのであれば、channel_announcement
はお互いが生成できるので、代替えのメッセージと見なしてもよいと考えている。 もしそうならば、channel_update
はannouncement_signatures
の交換後にも送信すべきではないだろうか?