Einführung

Ein Konsensalgorithmus ist ein Mechanismus, der es Benutzern oder Maschinen ermöglicht, sich in einer verteilten Umgebung zu koordinieren. Es muss sichergestellt werden, dass sich alle Agenten im System auf eine einzige Quelle der Wahrheit einigen können, auch wenn einige Agenten ausfallen. Mit anderen Worten: Das System muss fehlertolerant sein (siehe auch: Erklärung der byzantinischen Fehlertoleranz).

In einem zentralisierten System hat eine einzelne Entität die Kontrolle über das System. In den meisten Fällen kann diese Entität nach Belieben Änderungen vornehmen – es gibt kein komplexes Governance-System, um einen Konsens zwischen vielen Administratoren zu erreichen.

In einem dezentralen Setup sieht die Sache jedoch ganz anders aus. Nehmen wir an, wir arbeiten mit einer verteilten Datenbank – wie einigen wir uns darauf, 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 wichtig Konsensalgorithmen für das Funktionieren von Kryptowährungen und verteilten Ledgern sind.


Konsensalgorithmen und Kryptowährung

Bei Kryptowährungen werden die Guthaben der Benutzer in einer Datenbank – der Blockchain – aufgezeichnet. Es ist wichtig, dass jeder (oder genauer gesagt jeder Knoten) eine identische Kopie der Datenbank pflegt. Andernfalls würden Sie bald widersprüchliche Informationen erhalten, was den gesamten Zweck des Kryptowährungsnetzwerks untergräbt.

Die Public-Key-Kryptographie stellt sicher, dass Benutzer die Coins der anderen nicht ausgeben können. Es muss jedoch weiterhin eine einzige Quelle der Wahrheit geben, auf die sich die Netzwerkteilnehmer verlassen können, um feststellen zu können, ob Gelder bereits ausgegeben wurden.

Satoshi Nakamoto, der Erfinder von Bitcoin, schlug ein Proof of Work-System zur Koordination der Teilnehmer vor. Wir werden uns gleich damit befassen, wie PoW funktioniert – zunächst werden wir jedoch einige der gemeinsamen Merkmale der vielen existierenden Konsensalgorithmen identifizieren.

Erstens verlangen wir von Benutzern, die Blöcke hinzufügen möchten (wir nennen sie Validierer), dass sie einen Einsatz bereitstellen. Der Einsatz ist eine Art Wert, den ein Validierer aufbringen muss, um ihn davon abzuhalten, unehrlich zu handeln. Wenn er betrügt, verliert er seinen Einsatz. Beispiele hierfür sind Rechenleistung, Kryptowährung oder sogar Reputation.

Warum sollten sie ihre eigenen Ressourcen riskieren? Nun, es gibt auch eine Belohnung. Diese besteht normalerweise aus der nativen Kryptowährung des Protokolls und setzt sich aus von anderen Benutzern gezahlten Gebühren, neu generierten Kryptowährungseinheiten oder beidem zusammen.

Das Letzte, was wir brauchen, ist Transparenz. Wir müssen erkennen können, wenn jemand betrügt. Im Idealfall sollte es für sie teuer sein, Blöcke zu produzieren, aber für jeden günstig, sie zu validieren. Dadurch wird sichergestellt, dass die Validierer von normalen Benutzern in Schach gehalten werden.


Arten von Konsensalgorithmen

Arbeitsnachweis (PoW)

Proof of Work (PoW) ist der Pate der Blockchain-Konsensalgorithmen. Es wurde erstmals in Bitcoin implementiert, aber das eigentliche Konzept gibt es schon seit einiger Zeit. Bei Proof of Work hashen Validierer (Miner genannt) die Daten, die sie hinzufügen möchten, bis sie eine bestimmte Lösung produzieren.

Ein Hash ist eine scheinbar zufällige Folge von Buchstaben und Zahlen, die entsteht, wenn Sie Daten durch eine Hash-Funktion laufen lassen. Wenn Sie jedoch dieselben Daten erneut durchlaufen lassen, erhalten Sie immer dasselbe Ergebnis. Wenn Sie jedoch auch nur ein Detail ändern, wird Ihr Hash völlig anders sein.

Anhand der Ausgabe können Sie unmöglich erkennen, welche Informationen in die Funktion eingegeben wurden. Sie sind daher nützlich, um zu beweisen, dass Sie Daten vor einem bestimmten Zeitpunkt kannten. Sie können jemandem den Hash geben, und wenn Sie die Daten später offenlegen, kann diese Person sie durch die Funktion laufen lassen, um sicherzustellen, dass die Ausgabe dieselbe ist.

Beim Proof of Work legt das Protokoll die Bedingungen fest, unter denen ein Block gültig wird. Es könnte beispielsweise besagen, dass nur ein Block gültig ist, dessen Hash mit 00 beginnt. Die einzige Möglichkeit für den Miner, einen Block zu erstellen, der dieser Kombination entspricht, besteht darin, Eingaben mit roher Gewalt zu erzwingen. Er kann einen Parameter in seinen Daten optimieren, um für jeden Versuch ein anderes Ergebnis zu erzielen, bis er den richtigen Hash erhält.

Bei den großen Blockchains liegt die Messlatte unglaublich hoch. Um mit anderen Minern konkurrieren zu können, bräuchte man ein Lager voller spezieller Hashing-Hardware (ASICs), um überhaupt eine Chance zu haben, einen gültigen Block zu produzieren.

Ihr Einsatz beim Mining sind die Kosten dieser Maschinen und der Strom, der für ihren Betrieb benötigt wird. ASICs werden für einen einzigen Zweck gebaut, daher sind sie für andere Anwendungen als das Mining von Kryptowährungen unbrauchbar. Ihre einzige Möglichkeit, Ihre Anfangsinvestition zurückzuerhalten, ist das Mining, das eine beträchtliche Belohnung einbringt, wenn Sie erfolgreich einen neuen Block zur Blockchain hinzufügen.

Für das Netzwerk ist es ganz einfach 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 Ihre Daten nur einmal durch eine Funktion laufen. Wenn Ihre Daten einen gültigen Hash erzeugen, wird dieser akzeptiert und Sie erhalten eine Belohnung. Andernfalls wird das Netzwerk ihn ablehnen und Sie haben Zeit und Strom umsonst verschwendet.


Nachweis des Einsatzes (PoS)

Proof of Stake (PoS) wurde in den frühen Tagen von Bitcoin als Alternative zu Proof of Work vorgeschlagen. In einem PoS-System gibt es kein Konzept von Minern, Spezialhardware oder massivem Energieverbrauch. Alles, was Sie brauchen, ist ein normaler PC.

Nun, nicht alle. Sie müssen trotzdem etwas Eigenes investieren. Bei PoS setzen Sie keine externe Ressource (wie Strom oder Hardware) ein, sondern eine interne – Kryptowährung. Die Regeln sind bei jedem Protokoll unterschiedlich, aber im Allgemeinen gibt es einen Mindestbetrag, den Sie halten müssen, um für das Staking in Frage zu kommen.

Von dort aus sperren Sie Ihre Gelder in einer Wallet (sie können nicht verschoben werden, während Sie staken). Normalerweise vereinbaren Sie mit anderen Validierern, welche Transaktionen in den nächsten Block aufgenommen werden. In gewisser Weise wetten Sie auf den Block, der ausgewählt wird, und das Protokoll wird einen auswählen.

Wenn Ihr Block ausgewählt wird, erhalten Sie einen Anteil der Transaktionsgebühren, abhängig von Ihrem Einsatz. Je mehr Geld Sie gesperrt 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 Ihren gesamten) Einsatz. Daher haben wir einen ähnlichen Mechanismus wie bei PoW – ehrliches Handeln ist profitabler als unehrliches Handeln.

Im Allgemeinen gibt es als Belohnung für Validierer keine neu geschaffenen Coins. Die native Währung der Blockchain muss daher auf andere Weise ausgegeben werden. Dies kann entweder über eine anfängliche Verteilung (d. h. ein ICO oder IEO) erfolgen oder indem das Protokoll mit PoW gestartet wird, bevor später auf PoS umgestellt wird.

Bisher wurde reiner Proof of Stake nur bei kleineren Kryptowährungen eingesetzt. Daher ist unklar, ob er eine brauchbare Alternative zu PoW darstellen kann. Theoretisch scheint er sinnvoll, in der Praxis wird er jedoch ganz anders aussehen.

Sobald PoS in einem Netzwerk mit hohem Wert eingeführt ist, wird das System zu einem Spielfeld der Spieltheorie und finanzieller Anreize. Jeder, der weiß, wie man ein PoS-System „hackt“, würde dies wahrscheinlich nur tun, wenn er davon profitieren könnte – daher ist die einzige Möglichkeit, herauszufinden, ob es machbar ist, ein Live-Netzwerk.

Wir werden bald erleben, wie PoS im großen Stil getestet wird – Casper wird als Teil einer Reihe von Upgrades des Ethereum-Netzwerks (gemeinsam bekannt als Ethereum 2.0) implementiert.


Andere Konsensalgorithmen

Proof of Work und Proof of Stake sind die am häufigsten diskutierten Konsensalgorithmen. Es gibt jedoch eine Vielzahl weiterer Algorithmen, die alle ihre eigenen Vor- und Nachteile haben. Lesen Sie die folgenden Artikel:


Abschließende Gedanken

Mechanismen zur Konsensfindung sind für das Funktionieren verteilter Systeme von entscheidender Bedeutung. Viele glauben, dass die größte Innovation bei Bitcoin die Verwendung von Proof of Work war, mit dem sich Benutzer auf einen gemeinsamen Satz von Fakten einigen konnten.

Konsensalgorithmen bilden heute nicht nur die Grundlage für digitale Geldsysteme, sondern auch für Blockchains, die es Entwicklern ermöglichen, Code über ein verteiltes Netzwerk auszuführen. Sie sind heute ein Eckpfeiler der Blockchain-Technologie und von entscheidender Bedeutung für die langfristige Überlebensfähigkeit der verschiedenen bestehenden Netzwerke.

Von allen Konsensalgorithmen ist Proof of Work nach wie vor das dominierende Angebot. Eine zuverlässigere und sicherere Alternative muss erst noch vorgeschlagen werden. Allerdings wird derzeit enorm viel an Ersatz für PoW geforscht und entwickelt, und in den kommenden Jahren werden wahrscheinlich noch mehr davon auftauchen.