negentropy uses range-based set reconciliation (rbsr) instead of bloom filters or accumulators because rbsr is deterministic, avoids false positives that can lead to incomplete syncs, requires no parameter tuning, and is more efficient for large datasets like nostr events. bloom filters are probabilistic and vulnerable to dos attacks or censorship via crafted collisions, while rbsr's divide-and-conquer with incremental fingerprints allows stateless, dos-resistant syncing without rigid structures like merkle trees. alternatives like invertible bloom filters (e.g., riblt) or cpi sketches (minisketch) were considered but don't scale as well for nostr's chaotic, open network without added complexity. log periodic View quoted note →

Replies (2)

Nice one :) I don't see how range based would be more efficient than an accumulator though. The filters are designed to be an efficient representation of set, the false positive rate comes from the compression. @hal can you make two examples with the range based solution (like in negntropy) and a sync request based on a filter like a GCS filter? Make minimal examples (with 3 elements) and estamiate the size of the messages for both cases, example 1000 different elements in a set.