Was ist ein Blockchain-Konsensalgorithmus?
Einleitung
Ein Konsensalgorithmus ist ein Mechanismus, der es Benutzern oder Maschinen ermöglicht, in einer verteilten Umgebung zu koordinieren. Es muss sichergestellt werden, dass sich alle Agenten im System auf eine einzige Wahrheitsquelle einigen können, auch wenn einige Agenten ausfallen. Mit anderen Worten, das System muss fehlertolerant sein (siehe auch: Byzantinische Fehlertoleranz erklärt).
In einem zentralisierten Setup hat eine einzelne Entität die Macht über das System. In den meisten Fällen können sie Änderungen nach Belieben vornehmen – es gibt kein komplexes Governance-System, um unter vielen Administratoren einen Konsens zu erzielen.
Aber in einem dezentralen Setup ist es eine ganz andere Geschichte. Angenommen, wir arbeiten mit einer verteilten Datenbank – wie vereinbaren wir, welche Einträge hinzugefügt werden?
Die Bewältigung dieser Herausforderung in einer Umgebung, in der Fremde einander nicht vertrauen, war vielleicht die wichtigste Entwicklung, die den Weg für Blockchains ebnete. In diesem Artikel werden wir uns ansehen, wie Konsensalgorithmen für das Funktionieren von Kryptowährungen und verteilten Ledgern von entscheidender Bedeutung sind.
Konsensalgorithmen und Kryptowährung
In Kryptowährungen werden die Guthaben der Benutzer in einer Datenbank erfasst – der Blockchain. Es ist wichtig, dass jeder (oder genauer gesagt jeder Knoten) eine identische Kopie der Datenbank verwaltet. Andernfalls würden Sie bald widersprüchliche Informationen erhalten, die den gesamten Zweck des Kryptowährungsnetzwerks untergraben.
Public-Key-Kryptographie stellt sicher, dass Benutzer die Münzen des anderen nicht ausgeben können. Es muss jedoch immer noch eine einzige Wahrheitsquelle geben, auf die sich die Netzwerkteilnehmer verlassen können, um feststellen zu können, ob bereits Mittel ausgegeben wurden.
Satoshi Nakamoto, der Schöpfer von Bitcoin, schlug ein Proof-of-Work-System vor, um die Teilnehmer zu koordinieren. Wir werden in Kürze darauf eingehen, wie PoW funktioniert – im Moment werden wir einige der gemeinsamen Merkmale der vielen existierenden Konsensalgorithmen identifizieren.
Erstens verlangen wir, dass Benutzer, die Blöcke hinzufügen möchten (wir nennen sie Validatoren), einen Einsatz bereitstellen. Der Einsatz ist eine Art Wert, den ein Validator vorlegen muss, was ihn davon abhält, unehrlich zu handeln. Wenn sie betrügen, verlieren sie ihren Einsatz. Beispiele sind Rechenleistung, Kryptowährung oder sogar Reputation.
Warum sollten sie sich die Mühe machen, ihre eigenen Ressourcen zu riskieren? Nun, es gibt auch eine Belohnung. Dies besteht normalerweise aus der nativen Kryptowährung des Protokolls und setzt sich aus Gebühren zusammen, die von anderen Benutzern, frisch generierten Kryptowährungseinheiten oder beidem gezahlt werden.
Das letzte, was wir brauchen, ist Transparenz. Wir müssen in der Lage sein zu erkennen, wenn jemand betrügt. Im Idealfall sollte es für sie teuer sein, Blöcke zu produzieren, aber für jeden billig, sie zu validieren. Dies stellt sicher, dass Validatoren von regulären Benutzern in Schach gehalten werden.
Arten von Konsensalgorithmen
Proof of Work (PoW)
Proof of Work (PoW) ist der Pate der Blockchain-Konsensalgorithmen. Es wurde zuerst in Bitcoin implementiert, aber das eigentliche Konzept gibt es schon seit einiger Zeit. In Proof of Work, Validatoren (bezeichnet als Bergleute) Hash die Daten, die sie hinzufügen möchten, bis sie eine bestimmte Lösung zu produzieren.
Ein Hash ist eine scheinbar zufällige Zeichenfolge aus Buchstaben und Zahlen, die erstellt wird, wenn Sie Daten über eine Hash-Funktion ausführen. Wenn Sie jedoch dieselben Daten erneut ausführen, erhalten Sie immer dieselbe Ausgabe. Ändern Sie jedoch nur ein Detail, und Ihr Hash wird völlig anders sein.
Wenn Sie sich die Ausgabe ansehen, können Sie unmöglich feststellen, welche Informationen in die Funktion eingegeben wurden. Sie sind daher nützlich, um nachzuweisen, dass Sie ein Datenelement vor einer bestimmten Zeit kannten. Sie können jemandem seinen Hash geben, und wenn Sie später die Daten preisgeben, kann diese Person sie durch die Funktion ausführen, um sicherzustellen, dass die Ausgabe dieselbe ist.
Im Proof of Work legt das Protokoll Bedingungen dafür fest, was einen Block gültig macht. Es könnte zum Beispiel sagen, dass nur ein Block gültig ist, dessen Hash mit 00 beginnt. Die einzige Möglichkeit für den Bergmann, eine zu erstellen, die dieser Kombination entspricht, besteht darin, Eingaben mit Brute-Force zu erzwingen. Sie können einen Parameter in ihren Daten optimieren, um für jede Vermutung ein anderes Ergebnis zu erzielen, bis sie den richtigen Hash erhalten.
Bei großen Blockchains liegt die Messlatte unglaublich hoch. Um mit anderen Bergleuten zu konkurrieren, benötigen Sie ein Lager voller spezieller Hashing-Hardware (ASICs), um die Chance zu haben, einen gültigen Block zu erstellen.
Ihr Einsatz beim Mining sind die Kosten dieser Maschinen und der Strom, der für ihren Betrieb erforderlich ist. ASICs wurden für einen bestimmten Zweck entwickelt, sodass sie in Anwendungen außerhalb des Kryptowährungs-Mining keine Verwendung finden. Ihre einzige Möglichkeit, Ihre Anfangsinvestition wieder hereinzuholen, besteht darin, eine erhebliche Belohnung zu erhalten, wenn Sie der Blockchain erfolgreich einen neuen Block hinzufügen.
Es ist trivial für das Netzwerk zu überprüfen, ob Sie tatsächlich den richtigen Block erstellt haben. Selbst wenn Sie Billionen von Kombinationen ausprobiert haben, um den richtigen Hash zu erhalten, müssen sie Ihre Daten nur einmal durch eine Funktion führen. Wenn Ihre Daten einen gültigen Hash erzeugen, wird dieser akzeptiert und Sie erhalten eine Belohnung. Andernfalls lehnt das Netzwerk es ab und Sie haben Zeit und Strom umsonst verschwendet.
Proof of Stake (PoS)
Proof of Stake (PoS) wurde in den frühen Tagen von Bitcoin als Alternative zum Proof of Work vorgeschlagen. In einem PoS-System gibt es kein Konzept von Bergleuten, spezialisierter Hardware oder massivem Energieverbrauch. Alles, was Sie brauchen, ist ein normaler PC.
Nun, nicht alle. Sie müssen noch etwas Haut ins Spiel bringen. In PoS legen Sie keine externe Ressource (wie Strom oder Hardware) vor, sondern eine interne – Kryptowährung. Die Regeln unterscheiden sich bei jedem Protokoll, aber es gibt im Allgemeinen einen Mindestbetrag an Geldern, den Sie halten müssen, um für das Staking berechtigt zu sein.
Von dort sperren Sie Ihr Geld in einer Brieftasche (sie können nicht verschoben werden, während Sie abstecken). In der Regel stimmen Sie mit anderen Validatoren überein, welche Transaktionen in den nächsten Block eingehen. In gewissem Sinne wetten Sie auf den Block, der ausgewählt wird, und das Protokoll wählt einen aus.
Wenn Ihr Block ausgewählt ist, erhalten Sie einen Teil der Transaktionsgebühren, abhängig von Ihrem Einsatz. Je mehr Geld Sie eingesperrt haben, desto mehr können Sie gewinnen. Wenn Sie jedoch versuchen zu betrügen, indem Sie ungültige Transaktionen vorschlagen, verlieren Sie einen Teil (oder den gesamten) Ihres Einsatzes. Daher haben wir einen ähnlichen Mechanismus wie PoW – ehrlich zu handeln ist rentabler als unehrlich zu handeln.
Im Allgemeinen gibt es keine frisch erstellten Münzen als Teil der Belohnung für Validatoren. Die Landeswährung der Blockchain muss daher auf andere Weise ausgegeben werden. Dies kann entweder über eine Erstverteilung (dh ein ICO oder IEO) oder durch den Start des Protokolls mit PoW vor dem späteren Übergang zu PoS erfolgen.
Bisher wurde der reine Proof of Stake nur in kleineren Kryptowährungen eingesetzt. Daher ist es unklar, ob es als praktikable Alternative zu PoW dienen kann. Während es theoretisch klingt, wird es in der Praxis sehr unterschiedlich sein.
Sobald PoS in einem Netzwerk mit großem Wert eingeführt wird, wird das System zu einem Spielfeld für Spieltheorie und finanzielle Anreize. Jeder mit dem Know-how, ein Kassensystem zu “hacken”, würde dies wahrscheinlich nur tun, wenn er davon profitieren könnte – daher ist der einzige Weg, um herauszufinden, ob es machbar ist, in einem Live-Netzwerk.
Wir werden bald PoS in großem Maßstab getestet sehen – Casper wird als Teil einer Reihe von Upgrades für das Ethereum-Netzwerk (zusammen als Ethereum 2.0 bekannt) implementiert.
Andere Konsensalgorithmen
Proof of Work und Proof of Stake sind die am meisten diskutierten Konsensalgorithmen. Aber es gibt eine Vielzahl anderer, alle mit ihren eigenen Vor- und Nachteilen. Schauen Sie sich die folgenden Artikel an:
- Verzögerter Proof of Work erklärt
- Geleast Proof of Stake Konsens erklärt
- Proof of Authority erklärt
- Proof of Work erklärt
- Delegierter Proof of Stake erklärt
- Hybrid PoW / PoS Konsens erklärt
Abschließende Gedanken
Mechanismen zur Konsensfindung sind für das Funktionieren verteilter Systeme von entscheidender Bedeutung. Viele glauben, dass die größte Innovation in Bitcoin die Verwendung von Proof of Work war, um es den Benutzern zu ermöglichen, sich auf gemeinsame Fakten zu einigen.
Konsensalgorithmen unterstützen heute nicht nur digitale Geldsysteme, sondern auch Blockchains, mit denen Entwickler Code über ein verteiltes Netzwerk ausführen können. Sie sind heute ein Eckpfeiler der Blockchain-Technologie und entscheidend für die langfristige Lebensfähigkeit der verschiedenen bestehenden Netzwerke.
Von allen Konsensalgorithmen bleibt Proof of Work das dominierende Angebot. Eine zuverlässigere und sicherere Alternative muss noch vorgeschlagen werden. Das heißt, es gibt eine enorme Menge an Forschung und Entwicklung in Ersatz für PoW, und wir werden wahrscheinlich mehr von ihnen in den kommenden Jahren sehen.