Blockchain-Konsensmechanismen

Das "Proof-of"-ABC

05.09.2022
Von 
Matthew Tyson ist Java-Entwickler und schreibt unter anderem für unsere US-Schwesterpublikation Infoworld.com.
Geht es um die Blockchain-Evolution, stehen Konsensmechanismen im Mittelpunkt. Diese dezentralen Validierungs- und Authentifizierungsverfahren werden heute eingesetzt.
Proof of Work und Proof of Stake sind nur zwei von vielen Blockchain-Konsensverfahren.
Proof of Work und Proof of Stake sind nur zwei von vielen Blockchain-Konsensverfahren.
Foto: Prostock-studio - shutterstock.com

Blockchain-Netzwerke fassen Gruppen von Transaktionen in Blöcken zusammen, die miteinander zu einer Kette verbunden werden. Die Blöcke nutzen eine Funktion, die sicherstellt, dass Werte nicht für weitere Transaktionen wiederverwendet werden, worduch das Problem der Doppelausgaben ("Double Spending") vermieden wird. Um die Blöcke zu validieren, kommen innerhalb des Blockchain-Netzwerks Konsensmechanismen zum Einsatz.

Im Laufe der Zeit wurde für verschiedene Blockchains eine Vielzahl von Konsensmechanismen entwickelt. In diesem Artikel stellen wir Ihnen die gebräuchlichsten Blockchain-Konsensverfahren vor und sagen Ihnen, wo diese in der Praxis zum Einsatz kommen.

Proof of Work

Jeder, der die Blockchain wirklich verstehen will, findet im Original-Bitcoin-Whitepaper (PDF) einen guten Ausgangspunkt: Hier wird Bitcoin als Peer-to-Peer-Electronic-Cash-System vorgestellt und der erste Blockchain-Konsensmechanismus, Proof of Work, erörtert. Dieser liefert gleichzeitig auch die Grundlage für alle anderen Blockchain-Konsensverfahren. Jeder existierende Konsensmechanismus löst ein bestimmtes Problem. Proof of Work wurde entwickelt, um das Problem des "Double Spending" zu lösen. Hierbei könnten Nutzer versuchen, dieselben Vermögenswerte mehr als einmal zu übertragen. Das zu verhindern, war die erste große Herausforderung für das Blockchain-Netzwerk.

Dabei wollten die Entwickler hinter Bitcoin vermeiden, eine zentralisierte "Münzanstalt" einzusetzen, die alle Blockchain-Transaktionen überwacht. Das würde das Problem zwar zielstrebig lösen, widerstrebe aber dem grundlegenden, dezentralen Konzept der Blockchain.

Stattdessen verlagert das Proof-of-Work-Konzept die Transaktionsvalidierung auf einzelne Knoten im Netzwerk. Sobald ein Knoten eine Transaktion erhält, berechnet er einen einzigartigen Hashwert. Der daraus resultierende "Proof of Work" stellt sicher, dass der Knoten eine bestimmte Menge an Zeit und Rechenleistung aufgewendet hat, um einen Block von Transaktionen zu akzeptieren. Sobald ein Block "gehasht" ist, wird er mit einer Signatur versehen und an das Netzwerk weitergegeben. Wenn er die Gültigkeitskriterien erfüllt, wird er in die Blockchain integriert und die Arbeit am nächsten Block beginnt.

Proof of Stake

Um "Double Spending" zu verhindern, war Proof of Work eine geniale Lösung. Es sorgte für eine "erlaubnisfreie" ("permissionless") Peer-to-Peer-Konsistenz, die ein völlig neues Distributed-Computing-Modell realisierte. Alle Blockchain-Netzwerke bauen auf der Grundidee auf, offene Netzwerke mit Kryptografie zu sichern. Der ursprüngliche Blockchain-Mechanismus bringt jedoch auch erhebliche Nachteile mit sich:

  • Die Hashing-Funktion geht mit hohem Energieaufwand einher und

  • sorgt dafür, dass nur eine begrenzte Anzahl von Transaktionen innerhalb eines bestimmten Zeitfensters verarbeitet werden kann.

Diese Unzulänglichkeiten haben einige interessante Variationen der ursprünglichen Idee inspiriert. Die erste - und einflussreichste - Alternative zu Proof of Work war dabei das Konsensverfahren Proof of Stake, das im Rahmen des Peercoin-Projekts eingeführt wurde.

Proof of Stake schafft Anreize für die Knoten, Transaktionen "ehrlich" zu genehmigen, indem ein Pfand einbehalten wird. Geht es um die Beziehung zum Netzwerk, ähnelt die Funktionsweise von Proof of Stake der von Proof of Work stark. Der Unterschied besteht darin, dass Proof-of-Stake-Validierungsknoten einen Anteil am Netzwerk besitzen: Verhalten sie sich "unehrlich", können sie nicht nur Teile davon verlieren, sondern auch ihre eigene Währung entwerten.

Proof of Stake bietet eine potenziell deutlich höhere Bearbeitungsfrequenz von Blöcken, da es nicht durch die Verarbeitung von Hash-Funktionen limitiert wird. Zudem sinkt die benötigte Rechenleistung. Viele neuere Blockchain-Netzwerke haben inzwischen Proof of Stake eingeführt, das prominenteste Beispiel ist Ethereum 2.

Delegated Proof of Stake

Delegated Proof of Stake ist eine Weiterentwicklung des Proof-of-Stake-Konsensmechanismus, bei dem andere Teilnehmer des Netzwerks Validatoren wählen können. Dabei werden die Stimmen zum Beispiel nach Token-Besitz gewichtet.

Ein Delegated-Proof-of-Stake-Netzwerk ist flexibler, da die Token-Inhaber die Verteilung der Validatoren dynamisch anpassen können, wenn Blöcke validiert werden sollen. Das mindert auch den Einfluss hochrangiger Validatoren, die ansonsten ein Übermaß an Kontrolle über das Netzwerk ausüben könnten. Delegated Proof of Stake bietet eine Möglichkeit, Governance in eine grundlegende Netzwerkschicht zu integrieren. Die Abstimmung über den Status des Validators ist in den täglichen Netzwerkbetrieb integriert.

Proof of History

Das Proof-of-History-Konzept entstand im Rahmen des Solana-Projekts. Dabei handelt sich nicht um einen eigenständigen Konsensmechanismus, sondern vielmehr um ein Mittel, um die Effizienz anderer Verfahren zu optimieren. Proof of History verwendet einen Server mit verifizierbarer Verzögerungsfunktion (verifiable delay functions, VDFs), der die Reihenfolge der Transaktionen im Netzwerk sicherstellt. Da sie sich nicht um das Timing kümmern müssen, sind die Validierungsknoten in der Lage, Transaktionen effizienter zu verarbeiten.

Der Server wird dezentral in das Netzwerk integriert, indem er in regelmäßigen Abständen (oder im Falle eines Ausfalls) zu einem anderen Validator wechselt. Proof of History erhöht zwar die architektonische Komplexität, liefert dafür aber eine optimierte Performance. Tiefergehende Informationen zu Proof of History und der Solana-Blockchain lesen Sie hier.

Proof of Space

Proof of Space umfasst eine Reihe von Techniken, mit denen nachgewiesen werden kann, dass ein Knoten im Netz über gebundene Speicherressourcen verfügt. Dieses Konsensverfahren wird manchmal auch als Proof of Storage bezeichnet.

Die Grundidee besteht darin, Knoten - ähnlich wie bei Proof of Work - zu einer ehrlichen Blockvalidierung zu verpflichten. Nur verwendet Proof of Space Speicherplatz statt CPU-Zyklen. Ein Algorithmus, der dazu verwendet wird, ist der sogenannte Hard-to-Pebble-Graph (PDF). Bei diesem Mechanismus behaupten die Knoten, auf der Grundlage eines schwer zu berechnenden Graphen über reservierten Speicherplatz zu verfügen.

Konsens wird erreicht, wenn das Netz einen Beweis in Form von Zufallsstichproben aus dem reservierten Speicherplatz verlangt. Um den Beweis zu erbringen, müssen die Knoten auch tatsächlich speichern.

Proof of Capacity

Festplattenspeicher zur Einbindung von Knoten zu verwenden, bietet im Vergleich zu Proof of Work Energiesparpotenzial. Proof of Capacity - eine Variante des Proof-of-Space-Mechanismus - führt die Arbeit im Voraus aus und speichert sie, wodurch eine Art verlässliche Warteschlange. Dieses Konsensverfahren kommt zum Beispiel im Rahmen des Signum-Projekts zum Einsatz.

Proof of Spacetime

Eine weitere Verfeinerung des Proof-of-Space-Mechanismus ist Proof of Spacetime. Hierbei wird sicherstellt, dass der Speicherplatz für eine bestimmte Zeitspanne reserviert wurde. Es handelt sich um einen ausgeklügelten Mechanismus, der nicht nur einen Algorithmus für den Nachweis von Raum- und Zeitaufwand in Form von Rechenressourcen einführt, sondern auch die relative Gewichtung, die der "Beweiser" den beiden zuweist, dynamisch anpasst. Tiefergehende Informationen zu Proof of Spacetime finden Sie hier (PDF).

Proof of Activity

Proof of Activity ist der Versuch, Proof of Work mit Proof of Stake zu kombinieren. Das funktioniert im Grunde in zwei Phasen:

  1. Zunächst werden Blöcke mit Proof of Work validiert,

  2. anschließend werden die bestätigten Blöcke im Rahmen von Proof of Stake verwendet.

Dieses Blockchain-Konsensverfahren erhöht die Gesamtsicherheit der Transaktionen, indem es sicherstellt, dass die Blöcke sowohl durch Hash-Mining als auch durch Stake-Validierung bestätigt werden. Die Mängel des Proof-of-Work-Konzepts bleiben dabei allerdings erhalten.

Proof of Elapsed Time

Der Proof-of-Elapsed-Time-Mechanismus basiert auf einem Vorschlag von Intel und unterscheidet sich wesentlich von den anderen hier beschriebenen Konsensverfahren, da er sich auf genehmigungspflichtige Blockchain-Netzwerke bezieht. Bitcoin-ähnliche Blockchains zeichnen sich jedoch im Regelfall dadurch aus, dass sie "permissionless" sind.

Wenn sich die Knoten mit Berechtigungsnachweisen identifizieren müssen, um teilnehmen zu können, entsteht eine private Blockchain. Die Idee dahinter: Blockchain-Merkmale wie die Ausfallsicherheit des Netzwerks zu nutzen - allerdings in proprietärem Rahmen.

Das bekannteste Beispiel für die Anwendung des Proof-of-Elapsed-Time-Verfahrens ist das Open-Source-Projekt HyperLedger Sawtooth.

Proof of Authority

Eine weitere, drastische Abweichung von Proof of Work ist das Proof-of-Authority-Konsensverfahren. In diesem Modell werden die Validierer im Vorfeld sowohl durch den Rechner als auch durch Menschen überprüft.

Anstatt den Gültigkeitsnachweis über das Netzwerk mit Hilfe einer Hashing-Funktion zu verteilen, verwendet Proof of Authority einen externen Mechanismus, der Compliance erfordert.

Proof of Burn

Das Proof-of-Burn-Konsensverfahren ist eine andere Alternative zu Proof of Work und Proof of Stake auf hohem Niveau. Dabei validieren die Knoten ihre Arbeit, indem sie Token "verbrennen". Das soll sicherstellen, dass sie einen Anteil am Netzwerk haben. Um zu gewährleisten, dass die Token selbst einen Wert aufweisen, ist Proof of Burn immer noch auf andere Konsensverfahren angewiesen - derzeit am ehesten auf Proof of Work oder Proof of Stake.

Die Stärke von Proof of Burn liegt darin, eine Art Brücke zwischen Netzwerken zu schlagen, die mit unterschiedlichen Konsensmechanismen arbeiten. Es gibt interessante Anwendungsfälle, die Blockchain-übergreifende Transaktionen ermöglichen.

Proof of Importance

Proof of Importance ist eine Art Proof-of-Stake-Mechanismus, der bei der Entscheidung darüber, welche Knoten als Validierer akzeptiert werden, mehr Daten einzubeziehen versucht. Die Knoten werden mit einem Score versehen, anhand dem ihre Legitimität gewichtet wird. Dabei spielt auch die Menge der eingesetzten Token eine Rolle.

Proof of Importance berücksichtigt auch andere Faktoren wie die Langlebigkeit und Aktivität der Knoten oder ihre Beziehung zu anderen Knoten. Das Blockchain-Konsensverfahren wurde im Rahmen des NEM-Projekts eingeführt.

Proof of Identity

Weil es den Schnittpunkt von Blockchain und digitaler Identität darstellt, ist Proof of Identity ein äußerst ergiebiger Entwicklungsbereich. Sein wesentliches Ziel besteht darin, eine Blockchain-ID mit einer realen Identität zu verknüpfen. In Sachen Authentifizierung mit Hilfe einer dezentralen ID könnte die Blockchain disruptiv wirken.

Wenn ein allgemein akzeptiertes Mittel zur Überprüfung der persönlichen oder organisatorischen Identität innerhalb einer Blockchain implementiert würde, könnten Blockchain-Nutzer und -Netzwerke Proof of Identity nutzen, um an Transaktionen teilzunehmen und diese zu validieren.

Weitere Informationen zur dezentralen Authentifizierung lesen Sie hier. (fm)

Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Infoworld.