Was ist Peer-to-Peer (P2P)?

In der Informatik besteht ein Peer-to-Peer-Netzwerk (P2P) aus einer Gruppe von Geräten, die gemeinsam Dateien speichern und teilen. Jeder Teilnehmer (Knoten) fungiert als einzelner Peer. Normalerweise haben alle Knoten die gleiche Leistung und führen die gleichen Aufgaben aus.

In der Finanztechnologie bezeichnet der Begriff Peer-to-Peer meist den Austausch von Kryptowährungen oder digitalen Vermögenswerten über ein verteiltes Netzwerk. Eine P2P-Plattform ermöglicht es Käufern und Verkäufern, Geschäfte abzuwickeln, ohne dass Zwischenhändler erforderlich sind. In einigen Fällen bieten Websites möglicherweise auch eine P2P-Umgebung, die Kreditgeber und Kreditnehmer miteinander verbindet.

Die P2P-Architektur kann für verschiedene Anwendungsfälle geeignet sein, wurde aber besonders in den 1990er Jahren populär, als die ersten Filesharing-Programme entwickelt wurden. Heute bilden P2P-Netzwerke den Kern der meisten Kryptowährungen und machen einen großen Teil der Blockchain-Industrie aus. Sie werden jedoch auch in anderen verteilten Computeranwendungen genutzt, darunter Websuchmaschinen, Streaming-Plattformen, Online-Marktplätze und das Webprotokoll InterPlanetary File System (IPFS).


Wie funktioniert P2P?

Im Wesentlichen wird ein P2P-System von einem verteilten Netzwerk von Benutzern verwaltet. Normalerweise gibt es keinen zentralen Administrator oder Server, da jeder Knoten eine Kopie der Dateien besitzt und sowohl als Client als auch als Server für andere Knoten fungiert. Somit kann jeder Knoten Dateien von anderen Knoten herunterladen oder auf sie hochladen. Dies unterscheidet P2P-Netzwerke von den traditionelleren Client-Server-Systemen, bei denen Client-Geräte Dateien von einem zentralen Server herunterladen.

In P2P-Netzwerken teilen die verbundenen Geräte Dateien, die auf ihren Festplatten gespeichert sind. Mithilfe von Softwareanwendungen, die den Datenaustausch vermitteln sollen, können Benutzer andere Geräte im Netzwerk abfragen, um Dateien zu finden und herunterzuladen. Sobald ein Benutzer eine bestimmte Datei heruntergeladen hat, kann er als Quelle dieser Datei fungieren.

Anders ausgedrückt: Wenn ein Knoten als Client fungiert, lädt er Dateien von anderen Netzwerkknoten herunter. Wenn er jedoch als Server arbeitet, ist er die Quelle, von der andere Knoten Dateien herunterladen können. In der Praxis können jedoch beide Funktionen gleichzeitig ausgeführt werden (z. B. Herunterladen von Datei A und Hochladen von Datei B).

Da jeder Knoten Dateien speichert, überträgt und empfängt, werden P2P-Netzwerke tendenziell schneller und effizienter, je größer ihre Benutzerbasis wird. Darüber hinaus macht ihre verteilte Architektur P2P-Systeme sehr widerstandsfähig gegen Cyberangriffe. Im Gegensatz zu herkömmlichen Modellen haben P2P-Netzwerke keinen einzelnen Ausfallpunkt.

Wir können Peer-to-Peer-Systeme nach ihrer Architektur kategorisieren. Die drei Haupttypen heißen unstrukturierte, strukturierte und hybride P2P-Netzwerke.


Unstrukturierte P2P-Netzwerke

Unstrukturierte P2P-Netzwerke weisen keine spezifische Organisation der Knoten auf. Die Teilnehmer kommunizieren zufällig miteinander. Diese Systeme gelten als robust gegenüber hoher Fluktuationsaktivität (d. h. mehrere Knoten treten dem Netzwerk häufig bei und verlassen es wieder).

Obwohl der Aufbau unstrukturierter P2P-Netzwerke einfacher ist, kann die CPU-Auslastung und der Arbeitsspeicher höher sein, da Suchanfragen an die größtmögliche Anzahl von Peers gesendet werden. Dies führt dazu, dass das Netzwerk mit Anfragen überflutet wird, insbesondere wenn nur eine kleine Anzahl von Knoten den gewünschten Inhalt anbietet.


Strukturierte P2P-Netzwerke

Im Gegensatz dazu weisen strukturierte P2P-Netzwerke eine organisierte Architektur auf, die es Knoten ermöglicht, effizient nach Dateien zu suchen, selbst wenn der Inhalt nicht überall verfügbar ist. In den meisten Fällen wird dies durch die Verwendung von Hash-Funktionen erreicht, die Datenbanksuchen erleichtern.

Strukturierte Netzwerke sind zwar möglicherweise effizienter, weisen jedoch tendenziell einen höheren Zentralisierungsgrad auf und erfordern in der Regel höhere Einrichtungs- und Wartungskosten. Darüber hinaus sind strukturierte Netzwerke weniger robust, wenn sie mit hohen Fluktuationsraten konfrontiert sind.


Hybride P2P-Netzwerke

Hybride P2P-Netzwerke kombinieren das herkömmliche Client-Server-Modell mit einigen Aspekten der Peer-to-Peer-Architektur. Ihr Design kann beispielsweise einen zentralen Server enthalten, der die Verbindung zwischen Peers erleichtert.

Im Vergleich zu den anderen beiden Typen weisen Hybridmodelle tendenziell eine verbesserte Gesamtleistung auf. Sie kombinieren in der Regel einige der Hauptvorteile jedes Ansatzes und erreichen gleichzeitig ein hohes Maß an Effizienz und Dezentralisierung.


Verteilt vs. dezentralisiert

Obwohl die P2P-Architektur grundsätzlich verteilt ist, muss man wissen, dass es unterschiedliche Grade der Dezentralisierung gibt. Daher sind nicht alle P2P-Netzwerke dezentralisiert.

Tatsächlich verlassen sich viele Systeme auf eine zentrale Autorität, die die Netzwerkaktivität steuert, was sie gewissermaßen zentralisiert. Einige P2P-Filesharing-Systeme beispielsweise ermöglichen es Benutzern, Dateien anderer Benutzer zu suchen und herunterzuladen, sie können jedoch nicht an anderen Prozessen teilnehmen, wie etwa an der Verwaltung von Suchanfragen.

Zudem kann man sagen, dass kleine Netzwerke, die von einer begrenzten Benutzerbasis mit gemeinsamen Zielen kontrolliert werden, trotz des Fehlens einer zentralisierten Netzwerkinfrastruktur auch einen höheren Zentralisierungsgrad aufweisen.


Die Rolle von P2P in Blockchains

In den frühen Phasen von Bitcoin definierte Satoshi Nakamoto es als „Peer-to-Peer-Elektronisches-Bargeld-System“. Bitcoin wurde als digitale Form von Geld geschaffen. Es kann über ein P2P-Netzwerk, das ein verteiltes Hauptbuch namens Blockchain verwaltet, von einem Benutzer zum anderen übertragen werden.

In diesem Zusammenhang ermöglicht die der Blockchain-Technologie inhärente P2P-Architektur den weltweiten Transfer von Bitcoin und anderen Kryptowährungen, ohne dass Vermittler oder zentrale Server erforderlich sind. Außerdem kann jeder einen Bitcoin-Knoten einrichten, wenn er am Prozess der Überprüfung und Validierung von Blöcken teilnehmen möchte.

Es gibt also keine Banken, die Transaktionen im Bitcoin-Netzwerk verarbeiten oder aufzeichnen. Stattdessen fungiert die Blockchain als digitales Hauptbuch, das alle Aktivitäten öffentlich aufzeichnet. Grundsätzlich besitzt jeder Knoten eine Kopie der Blockchain und vergleicht sie mit anderen Knoten, um sicherzustellen, dass die Daten korrekt sind. Das Netzwerk weist böswillige Aktivitäten oder Ungenauigkeiten schnell zurück.

Im Kontext von Kryptowährungs-Blockchains können Knoten eine Vielzahl unterschiedlicher Rollen übernehmen. Vollständige Knoten sind beispielsweise diejenigen, die dem Netzwerk Sicherheit verleihen, indem sie Transaktionen anhand der Konsensregeln des Systems verifizieren.

Jeder vollständige Knoten verwaltet eine vollständige, aktualisierte Kopie der Blockchain, sodass sie an der gemeinsamen Arbeit zur Überprüfung des wahren Zustands des verteilten Ledgers teilnehmen können. Es ist jedoch erwähnenswert, dass nicht alle vollständigen Validierungsknoten Miner sind.


Vorteile

Die Peer-to-Peer-Architektur von Blockchains bietet viele Vorteile. Einer der wichtigsten ist die Tatsache, dass P2P-Netzwerke mehr Sicherheit bieten als herkömmliche Client-Server-Anordnungen. Die Verteilung von Blockchains auf eine große Anzahl von Knoten macht sie praktisch immun gegen Denial-of-Service-Angriffe (DoS), die zahlreiche Systeme plagen.

Da eine Mehrheit der Knoten einen Konsens herstellen muss, bevor Daten zu einer Blockchain hinzugefügt werden, ist es für einen Angreifer fast unmöglich, die Daten zu ändern. Dies gilt insbesondere für große Netzwerke wie das von Bitcoin. Kleinere Blockchains sind anfälliger für Angriffe, da eine Person oder Gruppe schließlich die Kontrolle über eine Mehrheit der Knoten erlangen könnte (dies wird als 51-Prozent-Angriff bezeichnet).

Infolgedessen verleiht das verteilte Peer-to-Peer-Netzwerk, gepaart mit der Anforderung eines Mehrheitskonsenses, Blockchains ein relativ hohes Maß an Widerstandsfähigkeit gegen böswillige Aktivitäten. Das P2P-Modell ist einer der Gründe, warum Bitcoin (und andere Blockchains) die sogenannte byzantinische Fehlertoleranz erreichen konnten.

Über die Sicherheit hinaus macht die Verwendung der P2P-Architektur in Kryptowährungs-Blockchains diese auch resistent gegen Zensur durch zentrale Behörden. Im Gegensatz zu herkömmlichen Bankkonten können Kryptowährungs-Wallets nicht von Regierungen eingefroren oder geleert werden. Diese Resistenz erstreckt sich auch auf Zensurbemühungen privater Zahlungsabwicklungs- und Inhaltsplattformen. Einige Inhaltsersteller und Online-Händler haben Kryptowährungszahlungen eingeführt, um zu vermeiden, dass ihre Zahlungen von Dritten blockiert werden.


Einschränkungen

Trotz ihrer vielen Vorteile ist die Verwendung von P2P-Netzwerken auf Blockchains auch mit gewissen Einschränkungen verbunden.

Da verteilte Hauptbücher auf jedem einzelnen Knoten und nicht auf einem zentralen Server aktualisiert werden müssen, erfordert das Hinzufügen von Transaktionen zu einer Blockchain enorme Rechenleistung. Dies bietet zwar mehr Sicherheit, verringert jedoch die Effizienz erheblich und ist eines der Haupthindernisse für Skalierbarkeit und breite Akzeptanz. Dennoch untersuchen Kryptographen und Blockchain-Entwickler Alternativen, die als Skalierungslösungen verwendet werden können. Bekannte Beispiele sind das Lightning Network, Ethereum Plasma und das Mimblewimble-Protokoll.

Eine weitere mögliche Einschränkung betrifft Angriffe, die während Hard-Fork-Ereignissen auftreten können. Da die meisten Blockchains dezentralisiert und Open Source sind, können Knotengruppen den Code frei kopieren und ändern und sich von der Hauptkette abspalten, um ein neues, paralleles Netzwerk zu bilden. Hard Forks sind völlig normal und stellen an sich keine Bedrohung dar. Wenn jedoch bestimmte Sicherheitsmethoden nicht richtig angewendet werden, können beide Ketten anfällig für Replay-Angriffe werden.

Darüber hinaus sind P2P-Netzwerke aufgrund ihrer verteilten Natur relativ schwer zu kontrollieren und zu regulieren, nicht nur in der Blockchain-Nische. Mehrere P2P-Anwendungen und Unternehmen waren in illegale Aktivitäten und Urheberrechtsverletzungen verwickelt.


Abschließende Gedanken

Peer-to-Peer-Architektur kann auf viele verschiedene Arten entwickelt und verwendet werden und bildet den Kern der Blockchains, die Kryptowährungen ermöglichen. Durch die Verteilung von Transaktionsbüchern über große Knotennetzwerke bietet die P2P-Architektur Sicherheit, Dezentralisierung und Zensurresistenz.

Neben ihrer Nützlichkeit in der Blockchain-Technologie können P2P-Systeme auch anderen verteilten Computeranwendungen dienen, von Filesharing-Netzwerken bis hin zu Energiehandelsplattformen.