Rusty Russell [ARCHIVE] on Nostr: 📅 Original date posted:2022-06-29 📝 Original message: Olaoluwa Osuntokun ...
📅 Original date posted:2022-06-29
📝 Original message:
Olaoluwa Osuntokun <laolu32 at gmail.com> writes:
> Hi Rusty,
>
> Thanks for the feedback!
>
>> This is over-design: if you fail to get reliable gossip, your routing will
>> suffer anyway. Nothing new here.
>
> Idk, it's pretty simple: you're already watching for closes, so if a close
> looks a certain way, it's a splice. When you see that, you can even take
> note of the _new_ channel size (funds added/removed) and update your
> pathfinding/blindedpaths/hophints accordingly.
Why spam the chain?
> If this is an over-designed solution, that I'd categorize _only_ waiting N
> blocks as wishful thinking, given we have effectively no guarantees w.r.t
> how long it'll take a message to propagate.
Sure, it's a simplification on "wait 6 blocks plus 30 minutes".
> If by routing you mean a sender, then imo still no: you don't necessarily
> need _all_ gossip, just the latest policies of the nodes you route most
> frequently to. On top of that, since you can get the latest policy each time
> you incur a routing failure, as you make payments, you'll get the latest
> policies of the nodes you care about over time. Also consider that you might
> fail to get "reliable" gossip, simply just due to your peer neighborhood
> aggressively rate limiting gossip (they only allow 1 update a day for a
> node, you updated your fee, oops, no splice msg for you).
There's no ratelimiting on new channel announcements?
> So it appears you don't agree that the "wait N blocks before you close your
> channels" isn't a fool proof solution? Why 12 blocks, why not 15? Or 144?
Because it's simple.
>>From my PoV, the whole point of even signalling that a splice is on going,
> is for the sender's/receivers: they can continue to send/recv payments over
> the channel while the splice is in process. It isn't that a node isn't
> getting any gossip, it's that if the node fails to obtain the gossip message
> within the N block period of time, then the channel has effectively closed
> from their PoV, and it may be an hour+ until it's seen as a usable (new)
> channel again.
Sure. If you want to not forget channels at all on close, that works too.
> If there isn't a 100% reliable way to signal that a splice is in progress,
> then this disincentives its usage, as routers can lose out on potential fee
> revenue, and sends/receivers may grow to favor only very long lived
> channels. IMO _only_ having a gossip message simply isn't enough: there're
> no real guarantees w.r.t _when_ all relevant parties will get your gossip
> message. So why not give them a 100% reliable on chain signal that:
> something is in progress here, stay tuned for the gossip message, whenever
> you receive that.
That's not 100% reliable at all. How long to you want for the new
gossip?
Just treat every close as signalling "stay tuned for the gossip
message". That's reliable. And simple.
Cheers,
Rusty.
Published at
2023-06-09 13:06:22Event JSON
{
"id": "afacfd4c96daa3a943203fd238110ff0fdc9f2f21633f5a053010d5b6e777778",
"pubkey": "13bd8c1c5e3b3508a07c92598647160b11ab0deef4c452098e223e443c1ca425",
"created_at": 1686315982,
"kind": 1,
"tags": [
[
"e",
"68aec1f99cd4e5b941681a4766e53315d87dc392151785eee1eb3e4b5e7f9a3f",
"",
"root"
],
[
"e",
"a8ccf5d37dd7c8aa8b94f4988aa7f748b311279b6221017a46c45a40f2f2a403",
"",
"reply"
],
[
"p",
"2df3fc2660459521b852c995d4fc1a93938389a5e085677d0ebb33ef92cc5476"
]
],
"content": "📅 Original date posted:2022-06-29\n📝 Original message:\nOlaoluwa Osuntokun \u003claolu32 at gmail.com\u003e writes:\n\u003e Hi Rusty,\n\u003e\n\u003e Thanks for the feedback!\n\u003e\n\u003e\u003e This is over-design: if you fail to get reliable gossip, your routing will\n\u003e\u003e suffer anyway. Nothing new here.\n\u003e\n\u003e Idk, it's pretty simple: you're already watching for closes, so if a close\n\u003e looks a certain way, it's a splice. When you see that, you can even take\n\u003e note of the _new_ channel size (funds added/removed) and update your\n\u003e pathfinding/blindedpaths/hophints accordingly.\n\nWhy spam the chain?\n\n\u003e If this is an over-designed solution, that I'd categorize _only_ waiting N\n\u003e blocks as wishful thinking, given we have effectively no guarantees w.r.t\n\u003e how long it'll take a message to propagate.\n\nSure, it's a simplification on \"wait 6 blocks plus 30 minutes\".\n\n\u003e If by routing you mean a sender, then imo still no: you don't necessarily\n\u003e need _all_ gossip, just the latest policies of the nodes you route most\n\u003e frequently to. On top of that, since you can get the latest policy each time\n\u003e you incur a routing failure, as you make payments, you'll get the latest\n\u003e policies of the nodes you care about over time. Also consider that you might\n\u003e fail to get \"reliable\" gossip, simply just due to your peer neighborhood\n\u003e aggressively rate limiting gossip (they only allow 1 update a day for a\n\u003e node, you updated your fee, oops, no splice msg for you).\n\nThere's no ratelimiting on new channel announcements?\n\n\u003e So it appears you don't agree that the \"wait N blocks before you close your\n\u003e channels\" isn't a fool proof solution? Why 12 blocks, why not 15? Or 144?\n\nBecause it's simple.\n\n\u003e\u003eFrom my PoV, the whole point of even signalling that a splice is on going,\n\u003e is for the sender's/receivers: they can continue to send/recv payments over\n\u003e the channel while the splice is in process. It isn't that a node isn't\n\u003e getting any gossip, it's that if the node fails to obtain the gossip message\n\u003e within the N block period of time, then the channel has effectively closed\n\u003e from their PoV, and it may be an hour+ until it's seen as a usable (new)\n\u003e channel again.\n\nSure. If you want to not forget channels at all on close, that works too.\n\n\u003e If there isn't a 100% reliable way to signal that a splice is in progress,\n\u003e then this disincentives its usage, as routers can lose out on potential fee\n\u003e revenue, and sends/receivers may grow to favor only very long lived\n\u003e channels. IMO _only_ having a gossip message simply isn't enough: there're\n\u003e no real guarantees w.r.t _when_ all relevant parties will get your gossip\n\u003e message. So why not give them a 100% reliable on chain signal that:\n\u003e something is in progress here, stay tuned for the gossip message, whenever\n\u003e you receive that.\n\nThat's not 100% reliable at all. How long to you want for the new\ngossip?\n\nJust treat every close as signalling \"stay tuned for the gossip\nmessage\". That's reliable. And simple.\n\nCheers,\nRusty.",
"sig": "21bbec13c3681cde2bf41fdfcbeb200f566a7b030d62947dee8b742dfa9d119de1a640905ff02548bfc4b39933fc0ca90f9e6ea632bfd1df475b3d415ac6f1c5"
}