PoW, PoS und dBft verstehen Konsens-Algorithmen in Blockchains

Thomas Joos

Der Konsens spielt beim Einsatz der Blockchain eine wesentliche Rolle. Mit diesem Mechanismus wird sichergestellt, dass Integrität der Daten in einem dezentralen Netzwerk bei allen Teilnehmern gewährleistet ist. Das gilt für öffentliche und private Blockchains.

Der Konsens ist das zentrale Element in einer Blockchain und alle aktuellen Technologien wie PoS, PoW und DPoS haben Vor- und Nachteile.
Der Konsens ist das zentrale Element in einer Blockchain und alle aktuellen Technologien wie PoS, PoW und DPoS haben Vor- und Nachteile.
(© immimagery - stock.adobe.com)

Das eingesetzte Konsensverfahren spielt für Blockchains eine wichtige Rolle. Private und Öffentliche Blockchains nutzen den Konsens, um die Sicherheit und Datenintegrität auf allen Knoten zu gewährleisten. Der Konsens stellt die Integrität der Blöcke und deren einheitliche Synchronisierung im Netzwerk sicher.

Der größte Unterschied zwischen öffentlicher (public) und privater Blockchain hängt davon ab, wer am Netzwerk teilnehmen, das Konsensprotokoll ausführen und das gemeinsame Ledger führen darf. Ein öffentliches Blockchain-Netzwerk ist vollständig offen. Jeder kann sich dem Netzwerk anschließen und daran teilnehmen. Bitcoin ist ein prominentes Beispiel für ein öffentliches Blockchain-Netzwerk. In privaten Blockchain-Netzwerken müssen sich Administratoren entscheiden, welcher Konsensmechanismus zum Einsatz kommt. Wir stellen nachfolgend die wichtigsten Konsens-Verfahren vor.

Konsensmechanismen sind ein wesentlicher Bestandteil bei Blockchains, wenn es darum geht stabil und sicher eine dezentrale, einheitliche Datenbank zu betreiben, wie es bei Blockchains der Fall ist. Da es keine zentrale Instanz gibt, müssen die Knoten ohne eine solche Instanz sicherstellen, dass die Daten in der Blockchain validiert werden. Diese Aufgabe übernimmt der Konsens-Mechanismus über verschiedene Knoten, also Teilnehmer im Netzwerk. Der Konsens-Mechanismus stellt sicher, dass alle Transaktionen gültig sind und auf alle Knoten im Netzwerk synchronisiert werden.

Der Konsens besteht aus dem Algorithmus und einem Protokoll. Das Protokoll definiert die Regeln, der Algorithmus setzt diese um.

Proof of Work - Der Klassiker

Der bekannteste Algorithmus ist Proof of Work (PoW), der zum Beispiel im Bitcoin-Netzwerk angewendet wird. Auch andere Blockchains, wie Ethereum nutzen PoW. Dieses Verfahren ist seit Jahren im Einsatz und funktioniert bewiesenermaßen sehr zuverlässig. PoW nutzt für den Konsensus einen Nachweis für das Lösen einer schweren Aufgabe.

Am Beispiel ist das die Errechnung eines neuen Blockes im Bitcoin-Netzwerk. Normalerweise gewinnen bei einem solchen Konsensus die Knoten mit der höchsten Leistung, da sie die Berechnung schneller erledigen, als langsamere Knoten. Dadurch hat PoW einen hohen Rechen- und Energiebedarf, ist dafür aber auch zuverlässig.

Auch bei stark wachsenden Blockchains, wie zum Beispiel Bitcoin hat PoW seine Stabilität bewiesen. Da diese stark auf die Rechenkraft der Knoten aufbaut, steigen Ressourcen- und Energieverbrauch entsprechend an. Aus diesem Grund wollen immer mehr Netzwerke auf modernere Systeme setzen, die weniger Ressourcen- und Energielastig sind.

Neues Konsensverfahren Proof-of-Stake in Ethereum 2.0 - Der Energiesparer

Ethereum stellt in der neuen Version 2.0 sein Konsensverfahren um. Anstatt Proof-of-Work (PoW) nutzt Ethereum 2.0 Proof-of-Stake (PoS). Dieses Konsensverfahren ist ebenfalls schon ein paar Jahre alt und nutzt eine andere Strategie als die Rechenleistung des verwendeten Knotens. PoS wurde entwickelt, um das Energie- und leistungshungrige PoW abzulösen.

Die Hardware-Ansprüche und der Energieverbrauch von PoS sind geringer, als bei PoW. Dazu kommt eine schnellere Synchronisierung zwischen den Knoten. Das liegt an der unterschiedlichen Herangehensweise. Nicht die schnellsten Knoten validieren neue Blöcke, sondern es findet eine Zufallsausfall zusammen mit einer Gewichtung der Knoten statt.

Bei Proof-of-Work (PoW) erhält der Miner die „Belohnung“, der die Berechnung des nächsten Blocks als erster abgeschlossen hat. Die schnellsten Knoten werden also belohnt. Proof-of-Stake arbeitet hier anders. Hier wird der entsprechende Miner per Zufall aus einem Pool von Knotenbetreibern ausgewählt. Knotenbetreiber müssen eine festgelegte Mindestanzahl an Coins/Token im Wallet zur Verfügung haben. Es entscheidet also der Stake (Anteil) eines Knotens an Tokens/Coins im Netzwerk.

PoS nutzt unter anderem eine Gewichtung aus Dauer der Teilnahme am Netzwerk und Anzahl der Token/Coins des Knotens, zusammen mit einer Zufallsauswahl. PoS ist unabhängig vom Mining, das bei PoW ein Grundelement für den Konsensus darstellt, braucht also weniger Hardwareressourcen und damit Energie. Grundsätzlich nutzt PoS eine Zufallsauswahl, mit der Knoten ausgewählt werden, die den nächsten Block validieren. Ausschlaggebend ist hier der Stake des Benutzers, also dessen Menge an Tokens/Coins.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Einfach ausgedrückt haben Knoten mit mehr Tokens/Coins eine große Chance durch den Zufallsmechanismus ausgewählt zu werden.

Delegated Proof-of-Stake

Neben PoW und PoS kommt als Konsensus auch oft Delegated Proof-of-Stake (DPoS) zum Einsatz. Grundsätzlich handelt DPoS wie PoS. Es spielt also nicht die Rechenkraft eine Rolle, sondern die Coins oder Tokens um einen Konsensus zu finden. DPoS berechtigt nicht die Knoten mit den meisten Coins zum Bestätigen einer Transaktion, sondern die Knoten wählen einen Delegierten, der diese Aufgabe übernimmt.

Es bestimmt also nicht die Menge der Tokens/Coins im Netzwerk, zusammen mit einer Zufallsauswahl, wer Blöcke validiert, sondern es findet zusätzlich eine Wahl von verschiedenen Knoten statt. Das System ist in der Blockchain als generell demokratischer als PoS und gleichzeitig energiesparender als PoW.

Während bei PoS also generell jeder Knoten in Frage kommt neue Blöcke zu validieren, abhängig von der Menge der Tokens/Coins im Wallet, erhalten die Knoten bei DPoS nur ein Stimmrecht. Mehrere Knoten stimmen über den Delegierten ab, der anschließend neue Blöcke validiert. Das System ist generell schneller als PoS und PoW und grundsätzlich auch unsicherer, da der Wahlprozess der Delegierten und Zeugen manipuliert werden kann.

Yet Another Consensus - Konsens für die private Blockchain

Die Open Source-Plattform Hyperledger Iroha bietet die Möglichkeit unkompliziert ein Distributed Ledger in Form eines „Permissioned Ledger“ zu erstellen. Als Konsensus setzt Hyperledger Iroha auf Yet Another Consensus (YAC). Dabei handelt es sich um einen Algorithmus für delegierte byzantinische Fehlertoleranz (dBft).

Wenn eine große Anzahl an Knoten ausfällt, kann ein Iroha-Projekt weiterarbeiten, während andere Konsensus-Systeme nicht mehr funktionieren würden. Im Gegensatz zu PoW und PoS kann Delegated Byzantine Fault Tolerance (dBft) unzuverlässige und unerwünschte Teilnehmer in einer Blockchain schneller kennen. Das ist beim Einsatz in privaten Blockchains wichtig, da hier Hackerangriffe erfolgversprechender sind, als bei großen, öffentlichen Blockchains. Nach der endgültigen Bestätigung durch dbFt kann eine Transaktion bei entsprechender Konfiguration nicht widerrufen oder zurückgesetzt werden.

Fazit

Es gibt viele Konsensmechanismen und es ist damit zu rechnen, dass sich in den nächsten Jahren einiges ändert. Der Konsens ist das zentrale Element in einer Blockchain und alle aktuellen Technologien haben Vor- und Nachteile. Aus diesem Grund werden in Zukunft erweiterte und modernere Systeme zum Einsatz kommen. Allerdings werden die aktuellen Mechanismen PoS, PoW und DPoS sicher noch eine ganze Weile Bestand haben.

(ID:47292154)