diff --git a/data/topics/negentropy.mdx b/data/topics/negentropy.mdx new file mode 100644 index 000000000..2ad4d2912 --- /dev/null +++ b/data/topics/negentropy.mdx @@ -0,0 +1,18 @@ +--- +title: 'Negentropy' +summary: 'A set reconciliation protocol for finding missing records without sending every ID.' +ogSummary: 'A set reconciliation protocol for finding missing records.' +category: 'Nostr' +aliases: ['NIP-77', 'Negentropy Syncing'] +--- + +Negentropy is an efficient set reconciliation protocol used by modern Nostr clients and relays. It helps two sides figure out which records are missing on each side, so they can transfer only those records. + +In [Nostr](/topics/nostr), clients and [relays](/topics/relays) often already share most of the same events. Negentropy lets them find the gaps without exchanging full event sets or long lists of event IDs, which cuts bandwidth during sync. + +NIP-77 wraps Negentropy for Nostr, so a client and relay can compare the events they have for a chosen filter and sync what is missing. It also works for relay-relay sync. + +## References + +- [NIP-77: Negentropy Syncing](https://github.com/nostr-protocol/nips/blob/master/77.md) +- [hoytech/negentropy](https://github.com/hoytech/negentropy)