Beim Einrichten eines verteilten Computernetzwerks können verschiedene Arten von verteilten Systemarchitekturen bereitgestellt werden. In diesem Artikel beschäftigen wir uns eingehender mit den Arten der verteilten Systemarchitektur, wobei ein besonderer Schwerpunkt auf der verteilten Peer-to-Peer-Systemarchitektur der Blockchain liegt.

Arten der verteilten Systemarchitektur

Client-Server-Modell

Anwendungen wie E-Mail oder Netzwerkdrucker verwenden normalerweise die Client-Server-Architektur. Im Wesentlichen haben Anbieter (Server genannt) und Anforderer (Clients genannt) unterschiedliche Rollen. Der Server übernimmt alle Verarbeitungs-, Datenverwaltungs- und Computeranforderungen, die dem Client bei Bedarf zur Verfügung stehen. Wenn sich ein Datenbankeintrag ändert, muss der Client nicht unbedingt etwas tun. Nur die Daten auf dem Server müssen geändert werden.

Der Server muss in diesem Modell kein einzelnes Gerät sein. Es können mehrere Server sein, die ähnliche Aufgaben ausführen, um die Arbeitslast zu verteilen. Das Modell bezieht sich eher auf die Rolle des Clients und des Servers als auf die spezifische Hardware.

Client-Server-Modelldiagramm

Ein Client-Server-Modelldiagramm. Quelle: Wikimedia Commons

Wir verwenden täglich Client-Server-Interaktionen, jedes Mal, wenn wir mit einem Laptop oder Smartphone im Internet surfen, Social-Media-Apps verwenden, Handyspiele spielen oder einen Film auf Netflix ansehen. Die Architektur eines verteilten Client-Server-Systems ist das, worauf wir uns beziehen, wenn wir von „zentralisierten“ Computersystemen sprechen, im Gegensatz zu Blockchain als dezentral verteilte Systemarchitektur.

Obwohl dies eine einfache Erklärung ist, gibt es verschiedene Arten von Client-Server-Architekturen, z. B. dreistufig. Bei diesem Modell wird der Server, auf dem die Anwendung selbst ausgeführt wird, vom Server getrennt, auf dem sich die Daten hinter der Anwendung befinden. Es gibt andere, aber da sie für die Blockchain nicht relevant sind, werden wir sie hier nicht alle analysieren.

Peer-to-Peer-Modell

Eine verteilte Peer-to-Peer-Systemarchitektur (P2P) verfügt über keine spezifischen Clients oder Server. Ein P2P-Netzwerk ist ein verteiltes System von Maschinen, die als Knoten bezeichnet werden. Alle Knoten können die Rolle von Client und Server entweder gleichzeitig oder zu unterschiedlichen Zeitpunkten übernehmen. Das Modell ist dem Namen selbst inhärent – in einem P2P-Netzwerk ist jeder Computer ein gleichwertiger Peer und kein Client oder Server.

P2P-Netzwerke werden nach der Veröffentlichung von Filesharing-Diensten wie der Musik-Sharing-Site Napster populär. Die Idee von P2P erhielt eine Art Kultstatus, da Systeme unabhängig von einer zentralen Steuerung arbeiten konnten. Außerhalb der Blockchain ist das Dateifreigabeprotokoll BitTorrent heute wahrscheinlich der größte und bekannteste Name für P2P-Netzwerke.

Unstrukturierte vs. strukturierte Netzwerke


Basierend darauf, wie die Knoten miteinander verbunden sind und wie Daten indiziert und erkannt werden, werden P2P-Netzwerke als strukturiert oder unstrukturiert klassifiziert. In einem unstrukturierten System bilden Knoten einfach zufällige Verbindungen miteinander. Unstrukturierte Netzwerke lassen sich leicht aufbauen und vergrößern oder verkleinern.

Unstrukturiertes Peer-to-Peer-Netzwerkdiagramm (Quelle: Wikimedia Commons)

Da sie jedoch unstrukturiert sind, wird die Indizierung erheblich erschwert. Wenn ein Knoten ein bestimmtes Datenelement oder einen anderen Knoten finden möchte, muss er das Netzwerk überfluten, um so viele Knoten wie möglich zu erreichen, die ein potenzielles Ziel für die Suche sein können. Dies verbraucht mehr Netzwerkleistung, da alle Knoten alle Anforderungen verarbeiten müssen. Wenn die Daten selten sind, werden sie möglicherweise nicht gefunden, wenn nicht alle Knoten im Netzwerk nicht alle Anforderungen verarbeiten können. Beispiele für unstrukturierte Netzwerke sind Kazaa und Limewire.

Andererseits ist das Auffinden von Daten in einem strukturierten Netzwerk einfach. Strukturierte Netzwerke verwenden eine verteilte Hash-Tabelle, um zu identifizieren, welche Peers welche Dateien und Versionen von Dateien enthalten. Chord ist ein Beispiel für ein strukturiertes P2P-Netzwerk.

Verteilte Hash-Tabelle

Diagramm einer verteilten Hash-Tabelle, wie sie in strukturierten P2P-Netzwerken verwendet wird. Quelle: Wikimedia Commons

Warum Blockchain etwas Besonderes ist

Als reines Modell für die verteilte Systemarchitektur bieten P2P-Netzwerke verschiedene Vorteile und Herausforderungen. Der Hauptvorteil ist die Ausfallsicherheit, da es keinen zentralen Fehlerpunkt gibt.

Da Knoten in einem P2P-Netzwerk jedoch sowohl als Client als auch als Server fungieren, sind sie anfälliger für Angriffe. Solche Angriffe können Denial-of-Service oder die Verbreitung von Malware oder beschädigten Daten umfassen. Eine Studie fanden heraus, dass 15 Prozent der von Kazaa heruntergeladenen halben Million Dateien mit 52 verschiedenen Viren infiziert waren.

Während Blockchains nicht zu 100 Prozent unbestechlich sind, hat Satoshi beim Schreiben des Bitcoin eine geniale Lösung für das Schwachstellenproblem gefunden weißes Papier. Durch die Einführung eines Konsensprotokolls müssen alle Knoten im Bitcoin-Netzwerk zustimmen, dass eine Transaktion gültig ist. Bei Verwendung der Spieltheorie konkurriert jeder Knoten um den nächsten Block.

Das erfolgreiche Mining des nächsten Blocks ist mit einer Belohnung verbunden, die Knotenbetreibern einen Anreiz bietet, das Netzwerk sauber zu halten. Vorausgesetzt, 51 Prozent oder mehr der Knotenbetreiber arbeiten zusammen, um weiterhin um die nächste Blockbelohnung zu konkurrieren, läuft die Blockchain weiterhin frei von Angriffen.

Fazit

Natürlich gibt es bei Bitcoin noch andere Elemente, wie die Verwendung von Hashing und kryptografischen Signaturen, die den Speicher für digitalen Wert schaffen. Die von Satoshi erfundene Lösung zur Überwindung der inhärenten Schwächen einer verteilten P2P-Systemarchitektur bleibt jedoch eine der überzeugendsten und innovativsten Komponenten der Blockchain.

Seit der Gründung von Bitcoin haben viele andere erfinderische Entwicklungen entwickelt, die auf Satoshis Idee basieren. Diese Entwicklungen dauern bis heute an. Blockchain ist ein revolutionärer Schritt in der verteilten Systemarchitektur. Darüber hinaus wird sich die Technologie noch viele Jahre weiterentwickeln.

Ausgewähltes Bild mit freundlicher Genehmigung von Pixabay

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me