Negentropy: Protocollo di Riconciliazione degli Insiemi
Negentropy è un protocollo di riconciliazione degli insiemi che consente una sincronizzazione efficiente tra client Nostr e relay identificando gli eventi mancanti senza trasferire l’intero dataset.
Come Funziona
Invece di richiedere tutti gli eventi che corrispondono a un filtro, negentropy permette ai client di confrontare il loro insieme locale di eventi con quello di un relay e identificare solo le differenze. Questo si realizza attraverso un protocollo a più round:
- Fingerprinting: Client e relay calcolano ciascuno un’impronta dei loro insiemi di eventi
- Confronto: Le impronte vengono scambiate e confrontate
- Riconciliazione: Vengono identificati e trasferiti solo gli ID degli eventi mancanti
Perché È Importante
La sincronizzazione Nostr tradizionale usa filtri since basati su timestamp, che possono perdere eventi a causa di:
- Deriva degli orologi tra client e relay
- Eventi multipli con timestamp identici
- Eventi che arrivano fuori ordine
Negentropy risolve questi problemi confrontando gli insiemi di eventi effettivi piuttosto che affidarsi ai timestamp.
Casi d’Uso
- Recupero DM: I client possono rilevare e recuperare messaggi diretti mancanti anche con timestamp vecchi
- Sincronizzazione Feed: Assicura la sincronizzazione completa della timeline attraverso i relay
- Sincronizzazione Offline: Recupera efficientemente dopo periodi di disconnessione
Implementazione
Negentropy richiede supporto del relay. I client tipicamente lo implementano come meccanismo di recupero di fallback piuttosto che sostituire le sottoscrizioni REQ standard, degradando con grazia quando i relay non supportano il protocollo.
Correlati
- NIP-01 - Protocollo Base