Matt Corallo [ARCHIVE] on Nostr: 📅 Original date posted:2022-05-26 📝 Original message: Oops, sorry, I don't ...
📅 Original date posted:2022-05-26
📝 Original message:
Oops, sorry, I don't really monitor the dev lists but once every few months so this fell off my plate :/
On 4/28/22 6:11 PM, Rusty Russell wrote:
> Matt Corallo <lf-lists at mattcorallo.com> writes:
> OK, let's step back. Unlike Bitcoin, we can use a single sketch for
> *all* peers. This is because we *can* encode enough information that
> you can get useful info from the 64 bit id, and because it's expensive
> to create them so you can't spam.
Yep, makes sense.
> The more boutique per-peer handling we need, the further it gets from
> this ideal;.
>
>> The second potential thing I think you might have meant here I don't see as an issue at all? You can
>> simply...let the sketch include one channel update that you ignored? See above discussion of similar
>> rate-limits.
>
> No, you need to get all the ignored ones somehow? There's so much cruft
> in the sketch you can't decode it. Now you need to remember the ones
> you ratelimited, and try to match other's ratelimiting.
Right, you'd end up downloading the thing you rate-limited, but only once (possibly per-peer). If
you use the total-sync approach you'd download it on every sync, vs a "only updates" approach you'd
do it once.
>> I agree there should be *some* rough consensus, but rate-limits are a locally-enforced thing, not a
>> global one. There will always be races and updates you reject that your peers dont, no matter the
>> rate-limit, and while I agree we should have guidelines, we can't "just make them the same" - it
>> both doesn't solve the problem and means we can't change them in the future.
>
> Sure it does! It severly limits the set divergence to race conditions
> (down to block height divergence, in practice).
Huh? There's always some line you draw, if an update happens right on the line (which they almost
certainly often will because people want to update, and they'll update every X hours to whatever the
rate limit is), then ~half the network will accept the update and half won't. I don't see how you
solve this problem.
> Maybe. What's a "non-update" based sketch? Some huge percentage of
> gossip is channel_update, so it's kind of the thing we want?
Oops, maybe we're on *very* different pages, here - I mean doing sketches based on "the things that
I received since the last sync, ie all the gossip updates from the last hour" vs doing sketches
based on "the things I have, ie my full gossip store".
Matt
Published at
2023-06-09 13:06:04Event JSON
{
"id": "4b02774f186fc1598f4f0e13edca2b2ebb167a2ad6693b9aaf971fda7940ae38",
"pubkey": "cd753aa8fbc112e14ffe9fe09d3630f0eff76ca68e376e004b8e77b687adddba",
"created_at": 1686315964,
"kind": 1,
"tags": [
[
"e",
"6f44fc36e4e07717b0ba01136a1c618064fe2a94c36ab961a35969fe16e02201",
"",
"reply"
],
[
"p",
"9456f7acb763eaab2e02bd8e60cf17df74f352c2ae579dce1f1dd25c95dd611c"
]
],
"content": "📅 Original date posted:2022-05-26\n📝 Original message:\nOops, sorry, I don't really monitor the dev lists but once every few months so this fell off my plate :/\n\nOn 4/28/22 6:11 PM, Rusty Russell wrote:\n\u003e Matt Corallo \u003clf-lists at mattcorallo.com\u003e writes:\n\u003e OK, let's step back. Unlike Bitcoin, we can use a single sketch for\n\u003e *all* peers. This is because we *can* encode enough information that\n\u003e you can get useful info from the 64 bit id, and because it's expensive\n\u003e to create them so you can't spam.\n\nYep, makes sense.\n\n\u003e The more boutique per-peer handling we need, the further it gets from\n\u003e this ideal;.\n\u003e \n\u003e\u003e The second potential thing I think you might have meant here I don't see as an issue at all? You can\n\u003e\u003e simply...let the sketch include one channel update that you ignored? See above discussion of similar\n\u003e\u003e rate-limits.\n\u003e \n\u003e No, you need to get all the ignored ones somehow? There's so much cruft\n\u003e in the sketch you can't decode it. Now you need to remember the ones\n\u003e you ratelimited, and try to match other's ratelimiting.\n\nRight, you'd end up downloading the thing you rate-limited, but only once (possibly per-peer). If \nyou use the total-sync approach you'd download it on every sync, vs a \"only updates\" approach you'd \ndo it once.\n\n\u003e\u003e I agree there should be *some* rough consensus, but rate-limits are a locally-enforced thing, not a\n\u003e\u003e global one. There will always be races and updates you reject that your peers dont, no matter the\n\u003e\u003e rate-limit, and while I agree we should have guidelines, we can't \"just make them the same\" - it\n\u003e\u003e both doesn't solve the problem and means we can't change them in the future.\n\u003e \n\u003e Sure it does! It severly limits the set divergence to race conditions\n\u003e (down to block height divergence, in practice).\n\nHuh? There's always some line you draw, if an update happens right on the line (which they almost \ncertainly often will because people want to update, and they'll update every X hours to whatever the \nrate limit is), then ~half the network will accept the update and half won't. I don't see how you \nsolve this problem.\n\u003e Maybe. What's a \"non-update\" based sketch? Some huge percentage of\n\u003e gossip is channel_update, so it's kind of the thing we want?\n\nOops, maybe we're on *very* different pages, here - I mean doing sketches based on \"the things that \nI received since the last sync, ie all the gossip updates from the last hour\" vs doing sketches \nbased on \"the things I have, ie my full gossip store\".\n\nMatt",
"sig": "1b8637ecd080c97584cf7d3d9c27b7f74c66101336db73efa3ea4ca7382abcdc758824de8bf3db4bdf224d1ea30f11d19601fa8b05c0e52f82f755e9cfb815c6"
}