Matt Corallo <lf-li...@mattcorallo.com> writes: >> Allowing only 1 a day, ended up with 18% of channels hitting the spam >> limit. We cannot fit that many channel differences inside a set! >> >> Perhaps Alex should post his more detailed results, but it's pretty >> clear that we can't stay in sync with this many differences :( > > Right, the fact that most nodes don't do any limiting at all and y'all have a > *very* aggressive (by > comparison) limit is going to be an issue in any context.
I'm unable to find the post years ago where I proposed this limit and nobody had major objections. I just volunteered to go first :) > We could set some guidelines and improve > things, but luckily regular-update-sync bypasses some of these issues anyway > - if we sync once per > block and your limit is once per block, getting 1000 updates per block for > some channel doesn't > result in multiple failures in the sync. Sure, multiple peers sending > different updates for that > channel can still cause some failures, but its still much better. Nodes will want to aggressively spam as much as they can, so I think we need a widely-agreed limit. I don't really care what it is, but somewhere between per 1 and 1000 blocks makes sense? Normally I'd suggest a burst, but that's bad for consensus: better to say "just create your update N-6 blocks behind so you can always create a new one 6 blocks behind". >>> gossip queries is broken in at least five ways. >> >> Naah, it's perfect if you simply want to ask "give me updates since XXX" >> to get you close enough on reconnect to start using set reconciliation. >> This might allow us to remove some of the other features? > > Sure, but that's *just* the "gossip_timestamp_filter" message, there's > several other messages and a > whole query system that we can throw away if we just want that message :) I agree. Removing features would be nice :) >> But we might end up with a gossip2 if we want to enable taproot, and use >> blockheight as timestamps, in which case we could probably just support >> that one operation (and maybe a direct query op). >> >>> Like eclair, we don’t bother to rate limit and don’t see any issues with >>> it, though we will skip relaying outbound updates if we’re saturating >>> outbound connections. >> >> Yeah, we did as a trial, and in some cases it's become limiting. In >> particular, people restarting their LND nodes once a day resulting in 2 >> updates per day (which, in 0.11.0, we now allow). > > What do you mean "its become limiting"? As in you hit some reasonably-low > CPU/disk/bandwidth limit > in doing this? We have a pretty aggressive bandwidth limit for this kinda > stuff (well, indirect > bandwidth limit) and it very rarely hits in my experience (unless the peer is > very overloaded and > not responding to pings, which is a somewhat separate thing...) By rejecting more than 1 per day, some LND nodes had 50% of their channels left disabled :( This same problem will occur if *anyone* does ratelimiting, unless *everyone* does. And with minisketch, there's a good reason to do so. Cheers, Rusty. _______________________________________________ Lightning-dev mailing list Lightning-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev