Konsensalgorithmus
Was ist ein Konsensalgorithmus?
Ein Konsensalgorithmus ist ein Verfahren in der Informatik, das dazu dient, eine Einigung über einen einzigen Datenwert zwischen verteilten Prozessen oder Systemen zu erzielen. Diese Algorithmen wurden entwickelt, um in einem Netzwerk mit mehreren Benutzern oder Knotenpunkten Zuverlässigkeit zu erreichen. Die Lösung dieses Problems – des so genannten Konsensproblems – ist wichtig für verteilte Datenverarbeitungs- und Multiagentensysteme, wie sie in Kryptowährungs-Blockchain-Netzwerken zu finden sind.
Wie Konsensalgorithmen funktionieren
Konsensalgorithmen sind in großen, fehlertoleranten Systemen von entscheidender Bedeutung, da sie es einer Reihe verteilter/replizierter Maschinen oder Server ermöglichen, als kohärente Gruppe zu arbeiten und sich auf den Systemzustand zu einigen, selbst wenn es zu Fehlern oder Ausfällen kommt. Um dies zu erreichen, legt der Algorithmus einen Schwellenwert fest, das heißt die Anzahl der Mitgliedsrechner, die einen Konsens oder eine Einigung erzielen müssen.
Da sie ein Konsensproblem lösen, gehen Konsensalgorithmen davon aus, dass einige Prozesse und Systeme nicht verfügbar sind und dass nur ein Teil der Knoten antworten wird. Sie gehen auch davon aus, dass einige Kommunikationen während der Übertragung verloren gehen werden. Von den verfügbaren Knoten wird jedoch eine Antwort verlangt. So kann ein Algorithmus beispielsweise verlangen, dass mindestens 51 Prozent der Knoten antworten, um einen Konsens oder eine Einigung über einen Datenwert oder einen Netzzustand zu erzielen.
Dadurch wird sichergestellt, dass der Konsens mit minimalen Ressourcen erreicht wird, selbst wenn die anderen Ressourcen nicht verfügbar oder sogar fehlerhaft sind. Der Mechanismus wahrt auch die Integrität der von den zustimmenden Knoten im fehlertoleranten System getroffenen Entscheidungen.
![Abbildung 1: Konsensalgorithmen sind in verteilten Rechensystemen wichtig.](https://cdn.ttgtmedia.com/rms/German/Verteiltes-Rechnen-deutsch-h_half_column_mobile.png)
Anwendungen von Konsensalgorithmen in der Blockchain
Konsensalgorithmen finden in dezentralen oder verteilten Computernetzwerken viele praktische Anwendungen. Eine der häufigsten Anwendungen ist Blockchain.
Blockchain ist das verteilte Hauptbuch, das am meisten mit der Kryptowährung Bitcoin in Verbindung gebracht wird. Diese dezentrale Datenbank wird kollektiv von verteilten Computern oder Knoten in einem verteilten Peer-to-Peer-Netzwerk verwaltet. Jeder Peer oder Knoten verwaltet eine Kopie des Hauptbuchs, um einen einzelnen Fehlerpunkt zu vermeiden. Alle Aktualisierungen oder Validierungen im Netzwerk werden in allen Kopien gleichzeitig berücksichtigt. Dies garantiert die Treue und Sicherheit der Datensätze und schafft Vertrauen in das System – ohne die Notwendigkeit einer zentralisierten vertrauenswürdigen dritten Partei.
Blockchain-Netzwerke stützen sich auf Konsensalgorithmen, um eine Einigung zwischen verschiedenen verteilten Knoten zu erzielen. Ein Konsensmechanismus wie Proof of Work (PoW) oder Proof of Stake (PoS) sichert das Netzwerk und verhindert, dass unbefugte Nutzer falsche Transaktionen validieren. Der Mechanismus ermöglicht auch dann eine Einigung im Netz, wenn kein einzelner Knoten die Leitung innehat.
![Fünf Schritte des Blockchain-Prozesses](https://cdn.ttgtmedia.com/rms/onlineImages/blockchain_5steps_mobile.jpg)
Andere Anwendungen von Konsensalgorithmen
Auf der Grundlage eines zugrunde liegenden Mechanismus entscheiden Konsensalgorithmen, ob eine verteilte Transaktion in eine Datenbank übertragen werden soll. Sie werden auch häufig verwendet, um Daten in einem dezentralen Netzwerk zu synchronisieren und die Konsistenz und Transparenz von Transaktionen zu gewährleisten. Konsensalgorithmen werden auch verwendet, um einem Knoten den Status eines Anführers zuzuweisen.
Konsensalgorithmen synchronisieren die Replikate von Zustandsautomaten und gewährleisten die Konsistenz zwischen ihnen. Sie werden häufig verwendet, um Vertrauen und Sicherheit in einem dezentralen Computernetzwerk wie der Blockchain zu gewährleisten, und sind sehr nützlich für die Aufzeichnung von Daten.
Zusätzlich zu Blockchain und Kryptowährungen unterstützen diese Algorithmen viele reale Computer- und digitale Systeme, darunter:
- Replikation von Zustandsautomaten
- Googles PageRank
- Lastausgleich
- intelligente Stromnetze
- Uhrensynchronisation
- Steuerung von unbemannten Luftfahrzeugen wie Drohnen
Arten von Konsensalgorithmen
Sehen wir uns die vielen Arten von Konsensalgorithmen an.
1. Proof of Work
Der PoW-Algorithmus ist eine der ältesten Arten von Konsensalgorithmen. Erstmals 1993 eingeführt – und 2008 vom Bitcoin-Gründer Satoshi Nakamoto wieder eingeführt – besteht die zentrale Idee von PoW darin, Knoten komplexe mathematische Rätsel lösen zu lassen und so viele Vermutungen wie möglich in der schnellstmöglichen Zeit anzustellen.
In Kryptowährungs-Blockchains, die auf dem PoW-Algorithmus basieren, müssen Miner oder Validierer – auch als Teilnehmerknoten bekannt – beweisen, dass die von ihnen geleistete und eingereichte Arbeit ihnen das Recht gibt, der Blockchain neue Transaktionen hinzuzufügen. Sie müssen ein komplexes mathematisches Problem lösen, indem sie einen kryptografischen Hash eines bestimmten Blocks finden.
Dazu werden Daten aus einem Block-Header als Eingabe verwendet und kontinuierlich durch eine kryptografische Hash-Funktion geleitet. Jedes Mal, wenn dies geschieht, werden kleine Änderungen an den Eingabedaten vorgenommen, indem eine beliebige Zahl, die so genannte Nonce, hinzugefügt wird. Dies ist die Blockchain-Version des Rätselratens, um eine Lösung zu finden.
Wenn der Miner schließlich die Lösung findet, die zum Konsens führt, wird er in Kryptowährung belohnt. All diese Aktionen erfordern jedoch mehrere Iterationen, die eine erhebliche Menge an Rechenleistung verbrauchen. Aus diesem Grund wird PoW als ineffizienter Konsensmechanismus angesehen.
Nichtsdestotrotz ist der PoW-Algorithmus nach wie vor beliebt, da er die Netzwerksicherheit aufrechterhält und ziemlich resistent gegen Cyberangriffe wie DDoS-Attacken ist. Er ist außerdem der älteste Konsensalgorithmus und dafür bekannt, dass er auf Blockchains gut funktioniert.
2. Verzögertes Proof of Work
Der verzögerte Proof of Work (Delayed Proof of Work, dPoW) ist eine modifizierte Version des PoW-Konsensalgorithmus. Bei dieser Konsensmethode macht das Blockchain-Netzwerk in regelmäßigen Abständen Schnappschüsse von sich selbst, die dann als Teil eines Beglaubigungsprozesses in einen Block im Netzwerk geschrieben werden. Dieser Prozess hilft dabei, ein Backup des gesamten Systems auf der Blockchain zu erstellen.
Streng genommen ist dPoW kein Konsensalgorithmus, da er nicht dazu verwendet wird, einen Konsens über neue Blöcke zu erzielen. Vielmehr handelt es sich um einen Sicherheitsmechanismus, der Blockchains resistent gegen einen 51 Prozent-Angriff macht, bei dem eine einzelne Entität die Mehrheit der Hash-Rate in einem Blockchain-Netzwerk kontrollieren und schwerwiegende Netzwerkunterbrechungen verursachen kann. Dies ist möglich, weil der dPoW die Konsensregeln des Netzwerks jedes Mal zurücksetzt, wenn ein Block beglaubigt wird, so dass es unmöglich ist, beglaubigte Blöcke zu reorganisieren.
3. Proof of Stake (Einsatznachweis)
Proof of Stake (PoS) wird als Alternative zu PoW angesehen. Im Gegensatz zu PoW erfordert PoS nur wenig spezialisierte Hardware- oder Softwareressourcen, um Kryptowährungen zu schürfen, da es nicht die Lösung komplexer Berechnungsprobleme erfordert. Stattdessen schließen Kryptovalidierer einige ihrer Coins in ein Wallet ein oder legen sie dort an. Sie validieren dann Blöcke, wenn sie einen Block entdecken, der der Blockchain hinzugefügt werden kann.
Die Validierer erhalten eine Belohnung – oder ihr Einsatz erhöht sich – proportional zu ihren Einsätzen auf der Grundlage der Blöcke, die der Blockchain hinzugefügt werden. Da der Algorithmus anreizbasiert ist, verbraucht er weniger Rechenenergie als PoW.
Trotz dieses Vorteils hat der PoS-Algorithmus einen gravierenden Nachteil. Die Mining-Kapazität eines Validators hängt von der Anzahl der Token ab, über die er verfügt, sodass ein Miner, der mit mehr Coins beginnt, mehr Kontrolle über den Konsensmechanismus erhält. Außerdem können einige wenige Miner viele Coins erwerben, was den Mechanismus weiter verwässert und die Dezentralisierungseigenschaft des Systems verringert.
4. Delegated Proof of Stake (delegierter Einsatznachweis)
Delegated Proof of Stake (DPoS) gilt als eine effizientere und demokratischere Version von PoS. Dieser Algorithmus basiert auf einem Abstimmungssystem, bei dem Delegierte oder Zeugen für ihre bevorzugten Validierer stimmen, um einen Konsens bei der Erzeugung und Validierung von Blöcken zu erreichen. Neben der Validierung von Transaktionen tragen die Delegierten auch zur Aufrechterhaltung der Integrität, Zuverlässigkeit und Transparenz des Blockchain-Netzwerks bei.
Das Stimmrecht jedes Delegierten ist proportional zur Anzahl der von ihm gehaltenen Coins. Sie werden für ihre Arbeit mit Transaktionsgebühren belohnt, die mit ihren jeweiligen Wählern geteilt werden.
Das Abstimmungssystem des DPoS-Algorithmus und damit der Konsensmechanismus hängen von der Reputation der Delegierten ab. Er ist ein skalierbarerer Mechanismus als PoW oder PoS, da er mehr Transaktionen pro Sekunde verarbeiten kann und schnellere Bestätigungszeiten bietet.
5. Proof of Authority
Der Proof of Authority (PoA) Konsensalgorithmus ist eine effizientere und skalierbarere Alternative zum stromfressenden und weniger skalierbaren PoW-Algorithmus. Darüber hinaus setzen die Blockvalidierer bei PoA ihre Reputation und ihre Identitäten ein, was das System sicherer macht als PoS.
Im Wesentlichen wird ein PoA-basiertes Blockchain-Netzwerk durch eine begrenzte Anzahl von Validierungsknoten gesichert. Bei diesen Knoten handelt es sich um vertrauenswürdige Parteien, die willkürlich ausgewählt und vorab für die Überprüfung von Blöcken und Transaktionen zugelassen werden. Diese Teilnehmer fungieren als Systemmoderatoren und tragen dazu bei, einen besser skalierbaren Mechanismus als PoW zu schaffen.
Da die realen Identitäten dieser Moderationsknoten bekannt und vertrauenswürdig sind, eignet sich PoA hervorragend für logistische Anwendungen wie Lieferketten oder Handelsnetze. Es ermöglicht den Nutzern, alle Vorteile der Blockchain-Technologie zu nutzen und gleichzeitig ihre Privatsphäre zu wahren und ihre Transaktionen zu sichern.
6. Proof of Burn
Proof of Burn (PoB) wird als praktikable und nachhaltige Alternative zu PoW- und PoS-Algorithmen getestet. PoB ist wie PoW, verbraucht aber viel weniger Rechenenergie. Das liegt daran, dass der Prozess der Blockvalidierung auf der Blockchain keine Rechenressourcen oder Hardware erfordert. Stattdessen verbrennen oder investieren die Miner Coins in die Blockchain, um einen Konsens zu erreichen.
Die Coins werden an eine Adresse gesendet, von der aus sie nicht mehr abgerufen werden können, wodurch sie unzugänglich und nutzlos werden. Dies zeigt das Engagement der Miner für das Netzwerk und gibt ihnen das Recht, neue Coins zu schürfen und neue Transaktionen im Netzwerk zu validieren. Je mehr Coins ein Miner verbrennt, desto mehr Mining-Power hat er, was seine Chancen erhöht, der nächste Blockvalidierer zu werden.
Das Verbrennen von Coins in PoB verringert das Angebot an Coins und erhöht deren Wert. Außerdem wird die Sicherheit des Netzwerks durch die Investition in verbrannte Coins verbessert.
7. Hybrider PoW/PoS-Konsens
Ein hybrider PoW/PoS-Mechanismus gleicht die Schwächen von PoW- und PoS-Algorithmen aus. Er beginnt damit, dass PoW-Miner neue Blöcke erstellen, die der Blockchain hinzugefügt werden. Nachdem die Blöcke erstellt wurden, stimmen die PoS-Miner ab, um sie zu bestätigen oder abzulehnen. Während des Prozesses setzen sie einen Teil ihrer Token wie beim PoS-Algorithmus ein.
Im Gegensatz zum PoS-Algorithmus wird bei diesem Hybrid-Algorithmus jedoch nicht die Gesamtzahl der Stimmen geprüft. Stattdessen werden fünf Stimmen nach dem Zufallsprinzip ausgewählt, um die Wirksamkeit des neuen Blocks zu bestimmen. Wenn drei von fünf Stimmen positiv ausfallen, ist der Konsens erreicht und der Block wird zur Blockchain hinzugefügt. Das Belohnungssystem wird anteilig zu 60 Prozent an PoW-Miner und zu 30 Prozent an PoS-Miner verteilt, wobei die restlichen zehn Prozent zur Verbesserung des Systems verwendet werden.