Blockchain

Proof of Work vs Proof of Stake

Proof of Work vs Proof of Stake

In diesem Artikel stellen wir die Konsensmechanismen (engl. consens mechanisms) Proof of Work und Proof of Stake einander gegenüber. Dabei vergleichen wir beide Methoden der Konsensfindung auf Basis verschiedener Kriterien wie Nachhaltigkeit und Sicherheit. 

Es soll gesagt sein, dass viele der hier behandelten Themen Teil einer aktuellen und fortlaufenden Diskussion sind und es daher viele verschiedene Meinungen dazu gibt. Deswegen sollen diese Inhalte dazu anregen, sich eine eigene Meinung zu bilden und sich gegebenenfalls näher mit der Thematik zu befassen.


Außerdem empfehlen wir als Wissensgrundlage unsere Artikel zum Thema Mining und Proof of Work und Proof of Stake.

Nachhaltigkeit

Warum brauchen wir einen anderen Konsensmechanismus als Proof of Work, wenn er, wie wir am Beispiel von Bitcoin sehen, doch gut funktioniert?

In der öffentlichen Diskussion ist eine der lautesten Antworten auf diese Frage das Thema Nachhaltigkeit. Hier dazu noch einmal ein paar schnelle Fakten:

  • Bitcoin verbraucht ca. 140 TWh Strom pro Jahr (Cambridge Centre for Alternative Finance)
  • Das entspricht dem Stromverbrauch eines mittelgroßen europäischen Landes wie Polen oder der Niederlande
  • Bei ca. 100 Millionen Transaktionen in 2021 resultiert das in ungefähr 400 bis 500 Kilo CO2 pro Transaktion. Somit entspricht der CO2 Ausstoß einer Bitcoin Transaktion in etwa dem von einer Millionen Visa Transaktionen.

Der hohe Energiebedarf der Bitcoin Blockchain hängt in erster Linie mit dem Konsensmechanismus Proof of Work zusammen. Bei Proof of Work müssen nämlich die Miner sehr rechenintensive Computer Operationen ausführen, um einen neuen Block auf der Blockchain erstellen zu können und dafür in Form von Bitcoin belohnt zu werden. Dabei stehen die Miner im Wettstreit miteinander, denn es kann nur einen Miner geben, der den jeweiligen Block erstellen kann. Daraus ergibt sich aus Sicht der Miner folgende Gleichung:

Mehr Rechenleistung = höhere Wahrscheinlichkeit den Block erstellen zu dürfen

Und mehr Rechenleistung führt nun mal zu mehr Strom- und Hardwarebedarf.

Die Idee von Proof of Stake ist nun auf das Mining und die damit einhergehende Incentivierung der Miner immer mehr Rechenleistung zu verwenden, zu verzichten und einen anderen Weg zu nutzen, um Konsens auf der Blockchain zu erreichen. Dabei soll nun nicht mehr derjenige, der die meiste Rechenleistung hat, die größte Wahrscheinlichkeit auf das Erstellen eines Blocks haben, sondern derjenige, der die meisten Coins hat.

Vollständigkeitshalber soll auch gesagt sein, dass es in der Nachhaltigkeitsdiskussion Stimmen gibt, die sagen, dass Proof of Work trotz des hohen Energiebedarfs auch aus Nachhaltigkeitssicht gut wäre, da Miner dazu incentiviert sind, den günstigsten Strom zu nutzen, was in aller Regel Strom aus erneuerbaren Energien ist und was folglich die Entwicklung dieser unterstützt.

Nothing at stake

Das nothing at stake Problem ist/war eine der größten Herausforderungen bei der Entwicklung eines Proof of Stake Systems. Um zu verstehen, was das zugrunde liegende Problem dabei ist und wie sich dieses im Vergleich zu Proof of Work verhält, müssen wir uns einmal etwas genauer anschauen, was network forks (Netzwerk Spaltungen) und die longest-chain-rule sind.

Blockchains sind dezentral. Das bedeutet, dass sämtliche Daten an verschiedenen Orten (den sogenannten Nodes) gespeichert werden. Am einfachsten wäre es, wenn dieses Netzwerk zu 100% synchron wäre – jede Node hätte also dieselben Daten und wann immer sich etwas an diesem Datensatz ändert, synchronisieren sich alle Nodes mit diesen Veränderungen. Nun gibt es dabei in der Praxis einige Herausforderungen; zum einen muss das Netzwerk auch weiterhin funktionieren, wenn einige oder viele Nodes ausfallen und zum anderen kann es natürlich auch Nodes geben, die unerlaubte Änderungen an dem Netzwerk vornehmen möchten, die von den anderen Nodes nicht angenommen werden dürfen. Schauen wir uns Letzteres einmal genauer an:

Angenommen, eine Blockchain besteht aus zehn Nodes. Acht davon sind “ehrliche” Nodes und zwei sind Angreifer, die beispielsweise das Netzwerk davon überzeugen wollen, dass sie die Summe X einer Kryptowährung besitzen, obwohl sie das eigentlich nicht tun. Nun gibt es faktisch zwei verschiedene Blockchains, einmal die der ehrlichen Nodes und die der Angreifer:

Um in einem Proof of Work System festlegen zu können, welche der beiden Chains nun die richtige ist und mit der sich zum Beispiel neue Nodes, die dem Netzwerk beitreten, synchronisieren können, gilt in Proof of Work Systemen die longest-chain-rule; sie besagt, dass die Chain als richtig gelten soll, die das meiste kumulierte proof of work beinhaltet. Mit anderen Worten bedeutet das, dass die Chain, die die meisten Blöcke mit der höchsten Mining Difficulty hat, die Richtige ist (hier kannst du erfahren, was die Mining Difficulty ist). 

Nun gibt es in unserem Beispiel ja acht ehrliche Nodes und zwei Angreifer – deswegen gehen wir mal davon aus, dass die ehrlichen Nodes mehr Rechenleistung haben, als die Angreifer. Auf der Grafik sehen wir deshalb, dass die erste Chain einen Block mehr hat, als die der Angreifer, was daran liegt, dass die ehrlichen Nodes durch ihre höhere Rechenleistung schneller Blöcke erstellen können. Wenn nun eine neue Node in das Netzwerk kommt, werden ihr womöglich zwei verschiedene Chains zugeschickt (eine der ehrlichen Nodes und eine der Angreifer) – nun vergleicht sie die beiden Chains miteinander und sieht, dass der einen mehr Rechenleistung zugrunde liegt und entscheidet sich folglich, diese Chain zu speichern und ihre Rechenleistung in diese zu investieren. 

Das ist der entscheidende Punkt für unsere Betrachtung des nothing at stake Problems – die Nodes entscheiden sich für eine der Chains und verwerfen die andere.

Warum tun sie das? Wenn sie auf beiden Chains minen würden, bekommen sie ihre Mining Belohnungen doch egal welche der Chains auf lange sicht bestehen bleibt.

Ein Miner hat sowohl hohe Anschaffungskosten für die Computer Hardware als auch laufende kosten durch den hohen Strombedarf; das bedeutet, dass wenn der Miner auf der falschen Chain minen würde, müsste er immer weiter Strom bezahlen und würde dafür jedoch keine Miningbelohnung bekommen, da all seine Miningbelohnungen wertlos werden, wenn er diese auf der falschen Chain bekommen hat. Das ein Miner versucht die richtige Chain zu wählen, ist also klar. Was spricht jedoch dagegen, dass er auf mehreren Chains gleichzeitig mined, um so zu gewährleisten, dass er, egal welche Chain “gewinnt”, seine Belohnungen behält? Mined er auf zwei Chains, halbiert sich auch seine Rechenleistung, die er pro Chain zur Verfügung hat und somit senkt sich auch seine Chance, überhaupt eine Belohnung zu bekommen, drastisch und das Mining wäre abermals nicht besonders lukrativ. Somit macht es für rationale Miner nur Sinn, auf der Chain mit dem meisten Proof of Work zu minen, da diese die höchste Wahrscheinlichkeit hat, bestehen zu bleiben. Dies hat den positiven Effekt, dass die Chain eines Angreifers kaum bestehen bleiben kann, da dieser dazu einen signifikanten Anteil der gesamten Rechenleistung des Netzwerks bräuchte.

Nun zu Proof of Stake:

In einem Proof of Stake System kann es auch zu network forks kommen und es stellt sich nun die Frage, ob die Miner bzw. die Staker oder Validatoren, wie beim Proof of Work dazu incentiviert sind, nur auf einer Chain Blöcke zu erstellen. Ohne zusätzliche Mechanismen ließe sich diese Frage mit nein beantworten: denn dadurch, dass die Validatoren keine laufenden Kosten in der Realwelt haben, haben sie nichts zu verlieren, wenn sie auf verschiedenen Chains Blöcke erstellen. In den meisten Proof of Stake Systemen gilt die Chain als richtig, auf der die meisten Coins gestaked wurden – also das meiste Kapital in das Erstellen von Blöcken investiert wird (ähnlich zur longest-chain-rule). Wenn nun alle Validatoren auf allen Chains ihre Coins staken würden, würde die zuvor genannte Regel zur Feststellung der “richtigen” Chain nicht mehr funktionieren, da auf allen Chains gleich viele Coins gestaked würden. Nun gibt es bei der Diskussion um die Frage, ob solch ein Szenario realistisch wäre, viele verschiedene Meinungen. Einer der häufigsten Argumente gegen dieses Szenario ist, dass Staker/Validatoren so nicht handeln würden, da dies das Netzwerk und die Blockchain derartig destabilisieren würde, dass vermutlich die darauf basierende Kryptowährung wertlos würde und sich die Staker/Validatoren somit selbst schaden würden. 

Dennoch gibt es Mechanismen, die das Staken auf verschiedenen Chains grundsätzlich verhindern oder noch unattraktiver machen sollen. Auf der Ethereum 2.0 Blockchain soll dies zum Beispiel durch das sogenannte Slashing erfolgen. Slashing beschreibt damit eine Art Bestrafungssystem für Angreifer auf der Blockchain. Dabei wird von einer Möglichkeit gebrauch gemacht, die gegenüber Proof of Work immer wieder als großer Vorteil beschrieben wird: die Möglichkeit, Validatoren/Staker nachhaltig bestrafen zu können.

Wenn ein Miner auf einer Proof of Work Blockchain einen Angriff gegen das Netzwerk startet, ist das Misslingen dieses Angriffs nur dahingehend problematisch für den Angreifer, als dass er während des Angriffs die laufenden Kosten für die Computer Hardware tragen muss und mögliche Gewinne aus dem Mining versäumt. Er behält jedoch seine Mining Ressourcen (die Computer Hardware) und kann nach dem Angriff wieder normal weiter Minen oder noch einen Angriff starten. Da das Equivalent der Computer Hardware für die Proof of Stake Blockchain die Coins der Staker/Validatoren sind, ließen sich diese Ressourcen, die für einen Angriff benötigt würden, nach einem Angriff für immer löschen.

Mit dieser Methode soll auch Casper, der Proof of Stake Algorithmus der Ethereum 2.0 Blockchain, das nothing at stake Problem lösen können. 

51% Angriffe

Die Gefahr eines sogenannten 51% Angriffs besteht sowohl in einem Proof of Work System als auch in einem, das mittels Proof of Stake funktioniert. Mit solch einem Angriff wird das Szenario beschrieben, wenn Angreifer über mehr als 50% der Rechenleistung (PoW) oder der Coins (PoS) verfügen und somit eine Vielzahl von Aktionen zu ihren Gunsten durchführen können, die gegen die Regeln auf der Blockchain verstoßen. Da solch ein Szenario unter beiden Konsens Mechanismen auftreten kann, stellt sich die Frage, ob Angriffe in einem Fall leichter durchzuführen oder schwerwiegender sind.

Kosten für einen 51% Angriff

Meistens geht man davon aus, dass die Kosten für einen 50% Angriff auf ein PoW/PoS Netzwerk sehr ähnlich sind. Jedoch gibt es bei solch einem Angriff auf ein Proof of Work System deutlich mehr Variablen, die für die Kosten relevant sind; zum Beispiel die variablen Hardware- und Stromkosten als auch die sich ändernde erforderliche Rechenleistung um 51% des Netzwerks auszumachen. Eine besondere Dynamik ergibt sich auch durch die unbegrenzt großen Mining Pools. So hat es beispielsweise auf der Bitcoin Blockchain bereits einen Mining Pool gegeben, der zeitweise rund 54% der gesamten Rechenleistung hatte. Auf einer Proof of Stake Blockchain können Staking Pools direkt auf der Blockchain implementiert- und somit in ihrer maximalen Größe limitiert werden.

Auf einer Proof of Stake Blockchain bewegen sich die Kosten eines 51% Angriffs in aller Regel proportional zur Marktkapitalisierung des Coins. Entsprechend sind Angriffe auf Systeme mit kleinerer Marktkapitalisierung günstiger – ihnen steht jedoch auch ein geringer Gewinn durch einen Angriff gegenüber. Tendenziell trifft das Verhältnis von Marktkapitalisierung zu den Kosten eines Angriffs auch auf PoW Netzwerke zu – muss jedoch nicht. Denn theoretisch kann auch eine PoW Blockchain mit geringer Marktkapitalisierung eine hohe gesamte Rechenleistung haben, was der entscheidende Faktor für die Berechnung der Kosten eines PoW Angriffs ist.

Es lässt sich also festhalten, dass die Kosten für 51% Angriffe auf PoS/PoW Blockchains zwar ähnlich sind, es jedoch leichter ist, die Kosten für einen PoS Angriff zu berechnen und zu bewerten, ob sich ein Angriff lohnen würde.

Folgen eines 51% Angriffs

Betrachten wir nun, was die Auswirkungen eines 51% Angriffs für die beiden Konsens Modelle sind. Als Antwort auf solch einen Angriff würde es in beiden Fällen zu einer sogenannten minority fork kommen. Das bedeutet, dass die Minderheit der Miner/Staker eine “neue” Chain erstellt, auf der die Aktionen des Angreifers entfernt werden und die im Anschluss daran die neue Haupt-Chain werden soll.

Nun kann der Angreifer im Fall von Proof of Work jedoch erneut das Netzwerk angreifen, da er immer noch über dieselbe Rechenleistung verfügt wie vor der minority fork. Außerdem ist es nicht zwangsläufig gewährleistet, dass der Markt die neue Chain auch wirklich akzeptiert.

Was dabei nun der Vorteil von Proof of Stake sein könnte, haben wir bereits zuvor erläutert: der Angreifer kann auf der neuen Chain bestraft werden. Da die Ressourcen (die Coins), die zum Erstellen von Blöcken in einem PoS Model auf der Blockchain existieren, können diese durch die minority fork gelöscht werden. Somit hätte der Angreifer seine Grundlage seines Angriffs verloren und müsste erneut große Mengen der Kryptowährung kaufen, um die Blockchain abermals anzugreifen. Durch das Löschen der Ressourcen des Angreifers hat der Markt außerdem einen erhöhten Anreiz, die neue Chain zu akzeptieren, da auf dieser folglich weniger Coins existieren und die Coins des Marktes somit mehr wert sind. Dennoch ist auch auf einer Proof of Stake Blockchain ein 51% Angriff als problematisch einzustufen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert