Il protocollo Gossip è un protocollo che consente di progettare sistemi di comunicazione distribuita (P2P) altamente efficienti, sicuri ea bassa latenza. L'ispirazione per il suo design è stata presa dagli studi sull'espansione epidemica e dagli algoritmi che ne derivano.
CQuando parliamo di Protocollo Gossip, parliamo di un protocollo di comunicazione utilizzato dai dispositivi digitali per propagare le informazioni su una rete peer-to-peer (P2P). Nelle reti blockchain, questo protocollo viene utilizzato dai nodi di rete per condividere e diffondere le informazioni in modo rapido e affidabile tra loro.
Il nome Gossip per questo protocollo deriva dal modo in cui le informazioni vengono diffuse attraverso i social network. Gossip in spagnolo significa pettegolezzi o dicerie; quindi il protocollo Gossip si ispira a questa forma di divulgazione delle informazioni che avviene molto rapidamente e rapidamente in queste reti. Al momento, esistono molte varianti di questo protocollo di comunicazione. Molti vengono applicati in base alle esigenze o ai requisiti di ciascun utente o di ciascuna delle reti che lo utilizzano.
Origine del protocollo Gossip
L'origine di questo protocollo è correlata agli algoritmi di replicazione epidemica descritti da Demers Alan, Greene Dan, Hauser Carl, Irish Wes, Larson John, Shenker Scott, Sturgis Howard, Swinehart Danm e Terry Doug nel loro studio "Algoritmi epidemici per la manutenzione del database replicato" di 1987.
Dall'apparizione di questo studio, la diffusione dell'epidemia ha suscitato grande interesse per i computer. Questo perché il suo sistema operativo è perfetto per reti di grandi dimensioni con alti livelli di decentralizzazione. In effetti, i primi usi pratici dei protocolli di tipo Gossip si possono vedere nei sistemi di routing delle prime reti che furono il preambolo di Internet di cui godiamo oggi.
Come funziona il protocollo Gossip?
I protocolli di gossip funzionano molto facilmente. Questo perché si basano su un concetto molto semplice per distribuire e propagare le informazioni attraverso una rete. In questi protocolli, affinché un nodo distribuisca informazioni, deve solo accoppiarsi con altri nodi in modo casuale. Una volta che ciò accade, devi solo scambiare le informazioni ricevute con detti nodi, che a loro volta distribuiranno le informazioni con altri nodi a cui sono anche accoppiati. Formazione di una catena di distribuzione per diffondere le informazioni in tutta la rete in modo tempestivo ed efficiente.
Da parte sua, il modo in cui le informazioni vengono propagate all'interno di una rete peer-to-peer attraverso il protocollo Gossip avviene in modo rapido e sicuro purché i nodi coinvolti possano garantire la propagazione e la divulgazione delle informazioni senza discriminare o escludere delle parti nella propria rete.
Gossip Protocol si basa sulla distribuzione probabilistica delle informazioni selezionando le coppie, a cui i nodi distribuiranno le informazioni. Questo per non ripetere o duplicare informazioni su un nodo che già le conosce. Ad esempio, nel caso di un team di lavoro che si riunisce costantemente per rimanere aggiornato su tutto ciò che accade all'interno dell'ufficio, applicando il protocollo Gossip ciascuno dei membri del team deve essere abbinato ad un altro membro con cui condividerà il informazione. Questo membro del team a sua volta sarà accoppiato con un altro a cui dovrà anche distribuire le stesse informazioni e così via in modo che tutti siano tenuti informati.
Quando si dice che i protocolli di Gossip si basano sulla probabilità di distribuire informazioni, è perché un nodo deve scegliere a caso con quale un altro nodo vuole condividere quelle informazioni. Inoltre, questo protocollo di comunicazione è scalabile, perché i nodi condividono o distribuiscono solo una quantità fissa di informazioni, indipendentemente dal fatto che un altro nodo fallisca nel suo lavoro. I nodi operativi condivideranno sempre la quantità di informazioni corrispondente con la loro rete di pari.
Per vedere più facilmente come funziona il protocollo, vedere il seguente esempio nel dispositivo di scorrimento dell'immagine.
Scopo di un protocollo sui pettegolezzi
L'obiettivo principale di un protocollo Gossip è diffondere le informazioni nel modo più veloce possibile su una vasta rete di nodi distribuiti. Per ottenere ciò, questi tipi di protocolli si basano sull'idea di base che i processi che periodicamente comunicano con i loro pari. Durante questa comunicazione sono in grado di scambiare informazioni creando un'alta frequenza e un flusso di dati sulla rete. E tutto questo in uno schema di dispersione che aiuta la distribuzione delle informazioni il più rapidamente possibile in tutta la rete.
Un esempio di questi può essere visto ad esempio su Usenet e IRC. Entrambi i sistemi, nonostante fossero centralizzati, distribuivano le notizie molto rapidamente attraverso la rete usando i "sussurri". Ma forse il miglior esempio di questa operazione può essere visto nel sistema di routing che rende possibile Internet. Tali protocolli di instradamento consentono ai router di scambiare informazioni con i router vicini, migliorando così le tabelle di instradamento per l'intera rete. Alla fine, la rete cerca sempre di costruire una versione più ottimale di se stessa attraverso il percorso più breve tra tutte le sue parti.
Questa situazione è molto utile nella costruzione di una rete blockchain. Poiché una rete ampiamente distribuita trarrebbe grandi vantaggi da questo tipo di operazione. In questo modo, le risorse che ne fanno parte vengono utilizzate al massimo. Il risultato è che una transazione su una rete del protocollo Gossip viaggerebbe rapidamente attraverso tutti i nodi della rete, riducendo gli attacchi nel mezzo della loro dispersione.
E pensare che tutta questa funzionalità è progettata attorno a studi sulla dispersione pandemica e un semplice proverbio:
"Chiunque può iniziare un pettegolezzo, ma nessuno può fermarlo."
Tipi di protocollo di gossip
Protocollo di trasmissione
I protocolli per la diffusione o propagazione delle informazioni sono quelli operare in comunicazione di gruppo o multicast per la diffusione di messaggi. Nel primo caso, nella comunicazione di gruppo, i nodi della rete peer sono sempre in comunicazione costante. In questo modo le informazioni possono essere distribuite alla rete in modo rapido e affidabile. Sebbene possa essere il caso che, al momento della diffusione delle informazioni, sia già cambiato e sia leggermente obsoleto. Tuttavia, questo generalmente non è una preoccupazione o un problema per la rete.
Nel secondo caso, in multicast, le informazioni vengono distribuite occasionalmente nella rete peer. Pertanto, un evento non attiva immediatamente la propagazione delle informazioni. In questo caso, lo stato latente delle informazioni può essere un problema, a causa del tempo che trascorre da quando le informazioni vengono create fino a quando vengono diffuse attraverso la rete.
Protocollo di aggregazione
Nei protocolli di aggregazione, i nodi della rete peer ricevono ed elaborano informazioni, per inviarne un riepilogo agli altri nodi connessi alla rete. Questo meccanismo di distribuzione delle informazioni mantiene una registrazione di tutti i dati elaborati. Questo processo è noto come data mining distribuito, ampiamente utilizzato nella tecnologia di registro distribuito.
Vantaggi e svantaggi del protocollo Gossip
Vantaggi
- Scalabilità: I protocolli di gossip sono altamente scalabili. Questo grazie al fatto che è possibile distribuire le informazioni con un livello di prestazioni molto efficiente. In questi protocolli i nodi distribuiscono una quantità fissa di messaggi ai nodi con cui sono correlati.
- Robustezza: Nel protocollo Gossip tutti i nodi funzionano allo stesso modo e non svolgono una funzione speciale o diversa tra loro. Pertanto, se si verifica un guasto in uno o più nodi, non influirà né interromperà la funzionalità degli altri nodi della rete per la distribuzione delle informazioni. Allo stesso modo, i nodi possono entrare o uscire dalla rete peer-to-peer senza restrizioni e senza influire sul suo funzionamento.
- Tolleranza ai guasti: Poiché i nodi hanno la capacità di condividere e distribuire informazioni con vari nodi nella rete peer, questi protocolli hanno la capacità di funzionare correttamente. Anche in situazioni difficili in cui la connettività di alcuni nodi è compromessa. Se un certo nodo si disconnette per qualsiasi motivo, le informazioni verranno distribuite allo stesso modo dagli altri nodi che hanno già ricevuto il messaggio.
- Decentramento: I protocolli di gossip distribuiscono le informazioni in modo completamente decentralizzato e autonomo.
Svantaggi
- Sebbene i protocolli Gossip offrano robustezza al sistema consentendo ai nodi di continuare a funzionare senza interruzioni in caso di guasti, potrebbe essere il caso che le informazioni o il messaggio distribuito siano interessati. Ad esempio, se un nodo diventa dannoso, può modificare le informazioni in modo molto sottile in modo che il messaggio rimanga leggibile, ma allo stesso tempo contenga informazioni false o errate. Allo stesso modo gli altri nodi, che opereranno senza interruzioni, distribuiranno queste informazioni.
Applicazioni del protocollo Gossip
Molte reti di distribuzione oggi utilizzano i protocolli Gossip come mezzo con cui possono distribuire le informazioni in modo accurato e tempestivo. Per esempio, Bitcoin utilizza i protocolli Gossip per distribuire i valori nonce tra ciascuno dei suoi nodi di mining. Allo stesso modo, la rete distribuita Grafico hash si basa anche su questi protocolli per il trasferimento e la diffusione delle informazioni attraverso la sua rete.
D'altra parte, il software Apache Cassandra utilizza questi protocolli per stabilire una comunicazione attraverso la quale tutti i suoi nodi possono ricevere informazioni e scoprire peer, che aiutano la propagazione dei metadati all'interno della rete. Allo stesso modo, il database Increspature Implementa anche i protocolli Gossip per condividere lo stato e le proprietà dei suoi anelli. Un processo che i nodi svolgono costantemente per tenere informati e aggiornati gli altri nodi degli aggiornamenti che avvengono all'interno del database.
D'altro canto, dymano utilizza un protocollo Gossip per tenere traccia degli abbonamenti, che ti aiuta a scoprire nuovi membri che partecipano al programma, oltre a rilevare eventuali difetti. I protocolli di gossip hanno funzionalità simili all'interno della rete di utilità. Console. Utilizza questi protocolli allo stesso modo per il rilevamento di nuovi membri, come per il rilevamento di guasti o possibili guasti all'interno della rete. Allo stesso modo, la rete Consul utilizza i protocolli Gossip per trasmettere informazioni su nuovi servizi ed eventi in modo affidabile ed efficiente all'interno della rete.
Tuttavia, sebbene l'applicazione principale di questi protocolli sia la diffusione delle informazioni, i protocolli Gossip hanno molte più applicazioni all'interno delle reti di distribuzione delle informazioni. Ad esempio, possono essere utilizzati per risolvere problemi complicati in reti troppo grandi. Inoltre possono essere utilizzati per replicare database completi e molto altro ancora.