Das Gossip-Protokoll ist ein Protokoll, mit dem Sie hocheffiziente, sichere und latenzarme verteilte Kommunikationssysteme (P2P) entwerfen können. Die Inspiration für das Design stammt von Studien zur Ausbreitung der Epidemie und den daraus resultierenden Algorithmen.
CWenn wir über Gossip Protocol reden, reden wir darüber ein Kommunikationsprotokoll, das von digitalen Geräten verwendet wird, um Informationen in einem Peer-to-Peer-Netzwerk zu verbreiten (P2P). In Blockchain-Netzwerken wird dieses Protokoll von Netzwerkknoten verwendet, um Informationen schnell und zuverlässig untereinander auszutauschen und zu verbreiten.
Gossip-Name für dieses Protokoll ergibt sich aus der Art und Weise, wie Informationen über soziale Netzwerke verbreitet werden. Gossip bedeutet auf Spanisch Klatsch oder Gerücht; Daher ist das Gossip Protocol von dieser Form der Informationsverbreitung inspiriert, die in diesen Netzwerken sehr schnell und schnell erfolgt. Derzeit gibt es viele Variationen dieses Kommunikationsprotokolls. Viele werden entsprechend den Bedürfnissen oder Anforderungen jedes Benutzers oder jedes der Netzwerke, die sie verwenden, angewendet.
Ursprung des Gossip-Protokolls
Der Ursprung dieses Protokolls hängt mit den epidemischen Replikationsalgorithmen zusammen, die Alan Demers, Dan Greene, Carl Hauser, Irish Wes, Larson John, Shenker Scott, Sturgis Howard, Swinehart Danm und Terry Doug in ihrer Studie beschrieben haben „Epidemische Algorithmen für die Wartung replizierter Datenbanken“ von 1987.
Seit dem Erscheinen dieser Studie hat die Ausbreitung der Epidemie großes Interesse an der Informatik geweckt. Denn sein Betriebssystem eignet sich perfekt für große Netzwerke mit hohem Dezentralisierungsgrad. Tatsächlich können wir die ersten praktischen Anwendungen von Gossip-Protokollen in den Routingsystemen der ersten Netzwerke sehen, die den Vorläufer des Internets bildeten, das wir heute genießen.
Wie funktioniert das Gossip Protocol?
Klatschprotokolle funktionieren sehr einfach. Dies liegt daran, dass sie auf einem sehr grundlegenden Konzept der Verteilung und Verbreitung von Informationen über ein Netzwerk basieren. Damit ein Knoten in diesen Protokollen Informationen verteilen kann, muss er sich lediglich zufällig mit anderen Knoten paaren. Sobald dies geschieht, sollten Sie die empfangenen Informationen nur noch mit diesen Knoten austauschen, die wiederum die Informationen an andere Knoten verteilen, mit denen sie ebenfalls gekoppelt sind. Aufbau einer Vertriebskette, um Informationen zeitnah und effektiv im gesamten Netzwerk zu verbreiten.
Die Art und Weise, wie Informationen innerhalb eines Peer-to-Peer-Netzwerks über das Gossip-Protokoll verbreitet werden, erfolgt wiederum schnell und sicher, solange die beteiligten Knoten die Weitergabe und Verbreitung der Informationen gewährleisten können, ohne eine der Parteien zu diskriminieren oder auszuschließen ihr eigenes Netzwerk.
Klatschprotokoll basiert auf der probabilistischen Verteilung von Informationen durch Auswahl von Paaren, an wen die Knoten die Informationen verteilen. Dadurch wird verhindert, dass Informationen wiederholt oder auf einen Knoten dupliziert werden, der sie bereits kennt. Im Falle eines Arbeitsteams, das sich beispielsweise ständig trifft, um über alles, was im Büro passiert, auf dem Laufenden zu bleiben, muss jedes Teammitglied unter Anwendung des Gossip-Protokolls einem anderen Mitglied zugeordnet werden, mit dem es die Informationen teilt. Dieses Teammitglied wird wiederum einem anderen Teammitglied zugewiesen, an das es ebenfalls die gleichen Informationen weitergeben muss usw., damit alle auf dem Laufenden bleiben.
Wenn Gossip-Protokolle auf der Wahrscheinlichkeit basieren, Informationen zu verbreiten, liegt das daran, dass ein Knoten zufällig auswählen muss, mit welchem anderen Knoten er diese Informationen teilen möchte. Darüber hinaus ist dieses Kommunikationsprotokoll skalierbar, da die Knoten nur eine feste Menge an Informationen teilen oder verteilen, unabhängig davon, ob ein anderer Knoten in seiner Arbeit ausfällt. Die Betriebsknoten teilen immer die entsprechende Menge an Informationen mit ihrem Peer-Netzwerk.
Um einfacher zu sehen, wie das Protokoll funktioniert, sehen Sie sich das folgende Beispiel im Bild-Slider an.
Ziel eines Klatschprotokolls
Das Hauptziel eines Gossip-Protokolls besteht darin, Informationen so schnell wie möglich über ein riesiges Netzwerk verteilter Knoten zu verbreiten. Um dies zu erreichen, basieren diese Protokolltypen auf der Grundidee, dass Prozesse periodisch mit ihren Kollegen kommunizieren. Während dieser Kommunikation können sie Informationen austauschen und so eine hohe Frequenz und einen hohen Datenfluss durch das Netzwerk erzeugen. Und das alles in einem Verteilungsmuster, das dazu beiträgt, dass die Informationen schnellstmöglich im gesamten Netzwerk verteilt werden.
Ein Beispiel hierfür können wir beispielsweise im Usenet und IRC sehen. Obwohl beide Systeme zentralisiert waren, verteilten sie Nachrichten mithilfe von „Flüstern“ sehr schnell über das Netzwerk. Aber das vielleicht beste Beispiel für diesen Vorgang ist das Routing-System, das das Internet ermöglicht. Solche Routing-Protokolle ermöglichen es Routern, Informationen mit benachbarten Routern auszutauschen und so die Routing-Tabellen des gesamten Netzwerks zu verbessern. Letztlich strebt das Netzwerk immer danach, durch die kürzeste Route zwischen allen seinen Teilen eine optimalere Version seiner selbst aufzubauen.
Diese Situation ist beim Aufbau eines Blockchain-Netzwerks sehr nützlich. Da ein weit verteiltes Netzwerk von dieser Art des Betriebs stark profitieren würde. Auf diese Weise werden die darin enthaltenen Ressourcen maximal genutzt. Das Ergebnis ist, dass eine Transaktion in einem Gossip Protocol-Netzwerk schnell alle Knoten des Netzwerks durchläuft, wodurch Angriffe während ihrer Ausbreitung reduziert werden.
Und wenn man bedenkt, dass all diese Funktionen auf Studien zur Pandemieausbreitung und einem einfachen Sprichwort basieren:
„Jeder kann Klatsch anfangen, aber niemand kann ihn stoppen.“
Arten von Klatschprotokollen
Broadcast-Protokoll
Protokolle zur Informationsverbreitung oder -verbreitung sind solche, die Sie arbeiten im Rahmen der Gruppenkommunikation oder Multicast zur Verbreitung von Nachrichten. Im ersten Fall, bei der Gruppenkommunikation, stehen die Knoten des Peer-Netzwerks immer in ständiger Kommunikation. So können Informationen schnell und zuverlässig an das Netzwerk verteilt werden. Allerdings kann es sein, dass sich diese zum Zeitpunkt der Informationsverbreitung bereits geändert hat und leicht veraltet ist. Obwohl dies im Allgemeinen kein Problem oder Problem für das Netzwerk darstellt.
Im zweiten Fall werden bei Multicast gelegentlich Informationen im Peer-Netzwerk verteilt. Daher löst ein Ereignis nicht sofort die Verbreitung von Informationen aus. In diesem Fall kann der latente Zustand der Informationen aufgrund der Zeit, die von der Erstellung der Informationen bis zu ihrer Verbreitung über das Netzwerk vergeht, Anlass zur Sorge geben.
Aggregationsprotokoll
Bei Aggregationsprotokollen empfangen und verarbeiten die Knoten des Peer-Netzwerks Informationen, um eine Zusammenfassung davon an die anderen mit dem Netzwerk verbundenen Knoten zu senden. Dieser Informationsverteilungsmechanismus führt eine Aufzeichnung aller verarbeiteten Daten. Dieser Vorgang ist bekannt als Verteiltes Data Mining, das in der Distributed-Ledger-Technologie weit verbreitet ist.
Vor- und Nachteile des Gossip Protocol
Vorteil
- Skalierbarkeit: Klatschprotokolle sind hoch skalierbar. Denn es ist möglich, Informationen mit einem sehr effizienten Leistungsniveau zu verteilen. In diesen Protokollen verteilen Knoten eine feste Menge an Nachrichten an die Knoten, mit denen sie verbunden sind.
- Robustheit: Im Gossip Protocol funktionieren alle Knoten auf die gleiche Weise und führen keine besondere oder unterschiedliche Funktion aus. Wenn also in einem oder mehreren Knoten ein Fehler auftritt, hat dies keine Auswirkungen oder Unterbrechung der Funktionalität der anderen Knoten im Netzwerk zur Informationsverteilung. Ebenso können Knoten ohne Einschränkungen und ohne Beeinträchtigung des Betriebs in das Peer-to-Peer-Netzwerk eintreten oder es verlassen.
- Fehlertoleranz: Da Knoten die Möglichkeit haben, Informationen mit mehreren Knoten im Peer-Netzwerk zu teilen und zu verteilen, können diese Protokolle ordnungsgemäß funktionieren. Auch in schwierigen Situationen, in denen die Konnektivität einiger Knoten beeinträchtigt ist. Wenn ein bestimmter Knoten aus irgendeinem Grund die Verbindung trennt, werden die Informationen auf die gleiche Weise von den anderen Knoten verteilt, die die Nachricht bereits erhalten haben.
- Dezentralisierung: Klatschprotokolle verbreiten Informationen vollständig dezentral und autonom.
Nachteile
- Obwohl Gossip-Protokolle dem System Robustheit verleihen, indem sie es den Knoten ermöglichen, bei Ausfällen ohne Unterbrechungen weiterzuarbeiten, kann es sein, dass die Informationen oder die verteilte Nachricht beeinträchtigt werden. Wenn ein Knoten beispielsweise bösartig wird, kann er Informationen auf sehr subtile Weise ändern, sodass die Nachricht lesbar bleibt, aber gleichzeitig falsche oder fehlerhafte Informationen enthält. Und ebenso werden die anderen Knoten, die ohne Unterbrechungen arbeiten, diese Informationen verteilen.
Gossip Protocol-Anwendungen
Viele Vertriebsnetzwerke nutzen heute Gossip Protocols als Mittel, um Informationen präzise und zeitnah zu verbreiten. Zum Beispiel, Bitcoin Es verwendet das Gossip-Protokoll, um die Nonce-Werte zwischen jedem seiner Mining-Knoten zu verteilen. Ebenso das verteilte Netzwerk HashGraph Es verlässt sich auch auf diese Protokolle für die Übertragung und Verbreitung von Informationen zwischen seinem Netzwerk.
Auf der anderen Seite die Software Apache Kassandra Es verwendet diese Protokolle, um eine Kommunikation aufzubauen, über die alle seine Knoten Informationen empfangen und Peers erkennen können, was die Verbreitung von Metadaten innerhalb des Netzwerks unterstützt. Ebenso die Datenbank Riak implementiert außerdem Gossip-Protokolle, um den Status und die Eigenschaften Ihrer Ringe zu teilen. Ein Prozess, den Knoten ständig ausführen, um andere Knoten über die in der Datenbank stattfindenden Aktualisierungen auf dem Laufenden zu halten und auf dem Laufenden zu halten.
Für seinen Teil, Dymano Es verwendet ein Gossip-Protokoll, um die Mitgliedschaften zu verfolgen, was dabei hilft, neue Mitglieder zu entdecken, die am Programm teilnehmen, und etwaige Fehler zu erkennen. Gossip-Protokolle haben innerhalb des Servicenetzwerks eine ähnliche Funktionalität Konsul. Es nutzt diese Protokolle gleichermaßen zur Erkennung neuer Mitglieder, als auch zur Erkennung von Ausfällen oder möglichen Ausfällen innerhalb des Netzwerks. Ebenso nutzt das Consul-Netzwerk Gossip-Protokolle, um Informationen über neue Dienste und Ereignisse zuverlässig und effizient innerhalb des Netzwerks zu übertragen.
Obwohl die Hauptanwendung dieser Protokolle die Verbreitung von Informationen ist, finden Gossip-Protokolle in Informationsverteilungsnetzwerken noch viel mehr Anwendungsmöglichkeiten. Mit ihnen können beispielsweise komplizierte Probleme in sehr großen Netzwerken gelöst werden. Darüber hinaus können sie zur Replikation ganzer Datenbanken und vielem mehr verwendet werden.