Alternativen zum Krypto-Mining: Warum Polkadot auf Proof-of-Stake setzt

Seite 2: Die kanonische Kette

Inhaltsverzeichnis

Letztlich muss bei so vielen Blockautoren im Netzwerk ein Konsenssystem bestimmen, welcher Satz von Blöcken die kanonische oder endgültige Kette ist. Die Antwort – und gleichzeitig auch Achillesferse – von Proof of Work ist denkbar einfach: Die längste Kette ist die "Beste".

Und genau an dieser Stelle wird "permissionless in time and space" zum Problem. Das Netzwerk kann nicht wissen, ob jemand am Netzwerk teilnimmt, bis er eine Kette vorschlägt – das kann ein einzelner Block sein, der der bekannten Kette hinzugefügt wird, oder ein ganzer neuer Satz von Blöcken. Der beste Weg ist es aber stets, direkt eine neue, beste Kette vorzuschlagen. So können Miner eine alternative Kette minen, ohne dass jemand davon weiß, bis sie sich entscheiden, die Kette für andere zu öffnen und damit ihre Teilnahme in der Vergangenheit zu offenbaren. Bitcoins Endgültigkeit beruht auf der Annahme, dass mehr CPUs öffentlich minen als privat. Letzten Endes gibt es aber keine Möglichkeit, einzelne Miner zur Rechenschaft zu ziehen.

Konkret kann es also passieren, dass man eine Transaktion an eine Proof-of-Work-Blockchain sendet und sieht, dass sie in einem Block enthalten ist, parallel aber jemand eine alternative Kette erstellt, die er später veröffentlicht und die die eigene Transaktion nicht enthält.

Mit einer endlichen und bekannten Menge an Validierern sehe ich dieses Problem gelöst. Da die Menge der Validierer zu jedem beliebigen Zeitpunkt bekannt ist, kann ein Proof-of-Stake-Netzwerk die Teilnahme von ihnen verlangen und somit deterministische Finalität bieten: die Garantie, dass keine heimliche Blockchain die bekannte ersetzen wird. Die meisten Finalitätsalgorithmen, darunter auch der von Polkadot, verwenden eine Variante der Practical Byzantine Fault Tolerance (PBFT), einem Konsensprotokoll, das von Barbara Liskov und Miguel Castro vom MIT im Jahr 1999 entwickelt wurde.

PBFT-Algorithmen setzen voraus, dass mehr als zwei Drittel der Validierer nicht fehlerhaft oder böswillig sind. Das bedeutet, dass sie online und in der Lage sind, teilzunehmen, und dass sie ehrlich teilnehmen werden (was hier beispielsweise voraussetzt, dass sie nicht vorschlagen, dass eine ungültige Transaktion tatsächlich gültig ist, und umgekehrt).

Das spezifische Protokoll von Polkadot (Ghost-based Recursive Ancestor Deriving Prefix Agreement, auch bekannt als GRANDPA) erlaubt es, mehrere Blöcke gleichzeitig zu finalisieren, so dass BABE ohne Unterbrechung vor dem letzten finalisierten Block weiter Blöcke produzieren kann. In einem heute prähistorisch anmutenden Vorläufer der Blockchain-Technologie schlug Liskov 2008 sogar vor, dass eine Optimierung von PBFT darin bestünde, den Algorithmus auf Stapeln von Transaktionen anstatt auf einzelnen Transaktionen laufen zu lassen (ein Block ist nur ein Stapel von Transaktionen mit einigen kontextuellen Daten, die ihm angehängt sind). GRANDPA geht bei dieser Optimierung noch einen Schritt weiter und lässt das Abschlussprotokoll auf Stapeln von Blöcken laufen.

Indem der Konsens in mehrere Teile zerlegt wird, können Proof of Stake-Algorithmen die Lösung für jeden Teil optimieren. Und so lässt sich ein schnelleres und zuverlässigeres Netzwerk als Proof of Work schaffen. Aber die ganze Diskussion hat sich bisher auf einen direkten Vergleich konzentriert. Da jedes Jahr neue Blockchains auf den Markt kommen, müssen sich Konsenssysteme weiterentwickeln und skalieren, um eine Welt mit mehreren Blockchains zu unterstützen.

Im Gegensatz zu zentralisierten Netzwerken, in denen ein einzelner bösartiger Angreifer mehrere Angriffe durchführen kann, sollen Blockchains ein sichereres Internet schaffen, indem sie den Prozess des Angriffs auf ein Netzwerk für den Angreifer so schädlich machen, dass er nicht erneut angreifen kann.

Öffentliche Blockchains verlagern die Sicherheit von einem zentralisierten Akteur in die öffentliche Sphäre. Ein zentralisiertes System kann durch einen Benutzernamen und ein Passwort gesichert werden oder durch die physische Sicherheit der Räumlichkeiten, in denen die Daten gehostet werden. In beiden Fällen beruht die Sicherheit auf dem Vertrauen in die Instanz, die die Sicherheit bereitstellt, und die Sicherheit ist endlich; Angreifer können Passwörter mit roher Gewalt erzwingen oder, wie bei einigen Unternehmensdatenlecks, leicht erraten.

Blockchains verlassen sich für ihre Sicherheit nicht auf Vertrauen, ihre Sicherheit ist dennoch endlich. Der Proof-of-Work-Konsens verlässt sich auf CPUs, um die Teilnahme zu messen. Ob ein bestimmter Proof-of-Work-Algorithmus spezialisierte ASIC-Chips oder Allzweck-Chips verwendet, spielt keine Rolle: Die Anzahl der CPUs auf der Welt ist endlich und damit auch die Gesamtsicherheit, die für alle Proof-of-Work-Blockchains zur Verfügung steht.

Proof of Stake verlässt sich ebenfalls auf eine endliche Ressource, um Sicherheit zu bieten: Wert. Proof-of-Stake-Algorithmen verlangen von den Inhabern der nativen Token einer Blockchain, dass sie ihre Token in ein Staking-System einbringen, um am Konsens der Blockchain teilnehmen zu können. Im Fall von Polkadot verdienen die "Staker" (diejenigen, die ihre Token für das Staking-System bereitstellen) Belohnungen, wenn ihre Validierer Blöcke erzeugen, Transaktionen verarbeiten und die Gültigkeit anderer Blockchains im Netzwerk bestätigen.

Im Gegenzug können sie ihre Token als Strafe für jegliches Fehlverhalten verlieren (diese Strafe wird oft "Slashing" genannt). Fehlverhalten reicht dabei von Nachlässigkeiten, etwa offline zu sein, bis hin zur Verlogenheit, wenn Staker etwa zwei widersprüchliche Blöcke produzieren. Die Bestrafung variiert dabei von einer Verwarnung bis hin zum völligen Verlust aller eingesetzten Token.

Wie bei der "One-Validator-One-Vote"-Regel basieren die Belohnungen in Polkadot auf der geleisteten Arbeit (z.B. produzierte Blöcke) und nicht auf der Höhe des Einsatzes. Ein Validierer mit geringerer Unterstützung verdient tatsächlich höhere anteilige Belohnungen, was einige Betreiber dazu veranlasst, mehrere Validierer zu betreiben, um ihre Rendite zu erhöhen. Das Polkadot-Netzwerk kann jedoch gleichzeitige Verstöße erkennen, beispielsweise wenn mehrere Validierer gleichzeitig offline gehen, und verhängt eine härtere Strafe, da diese dem Netzwerk schaden können.

Diese Dualität bedeutet, dass das Risiko für große Inhaber, die mehrere Validierer betreiben wollen, um konkurrenzfähige Renditen zu erzielen (oder ihre Konsens-Stimmkraft zu erhöhen, um einen Angriff durchzuführen), schneller steigt als ihr Ertrag. Im Polkadot-Netzwerk ist es bereits vorgekommen, dass große Validierer-Gruppen dieses Risiko auf sich genommen haben, was hohe Strafen für mehrere Validierer und ihren Unterstützern nach sich zog.

Angreifer in einer Proof-of-Work-Blockchain verlieren nur die Elektrizität, die für die Durchführung des Angriffs aufgewendet wurde, und können sich sogar in einer Reihe von Angriffen von Kette zu Kette bewegen. Darüber hinaus haben sie nichts zu befürchten. Miner, die genug Ressourcen haben, um Schaden anzurichten, können dies nach Belieben tun, auf jeder Kette, zu jeder Zeit.

Proof of Stake erlaubt es, Angriffe deutlich besser zu verhindern. Indem die wichtigsten Token, die ein Staker im System gebunden hat, vernichtet werden, verliert ein Angreifer sein Kapital, das es ihm überhaupt erst ermöglicht hat, den Angriff auszuführen. Angreifer in Proof-of-Stake verlieren ihre Fähigkeit, dasselbe Kapital zu verwenden, um mehrere Angriffe auszuführen, sei es zu anderen Zeiten oder in anderen Netzwerken.

Darüber hinaus haben sichere Proof-of-Stake-Netzwerke eine Sperrfrist, in der Token-Inhaber eine gewisse Zeit warten müssen (in Polkadot 28 Tage), bevor sie das Staking-System verlassen können. Diese Wartezeit hält Akteure davon ab, Angriffe durchzuführen, die erst zu einem späteren Zeitpunkt aufgedeckt werden können, und ihr Kapital für einen Angriff auf ein anderes Netzwerk zu verwenden.