Es ist bis auf weiteres durch das nothing-at-stake-problem widerlegt, bis jemand hierfür eine Lösung gefunden hat, was zumindest in den vergangenen ca. 8 Jahren niemandem gelungen ist.
Lior Yaffe, Blockchain Developer von Nxt, beschreibt Nothing at Stake als rein theoretischen Angriffsvektor, der jedoch in der Praxis nicht umsetzbar ist.
Hier der Artikel dazu:
https://hackernoon.com/thoughts-about-nothing-at-stake-b93b13bb5d6ePuh, da weiß man kaum, wo man anfangen soll.
Ich sehe hier genau zwei Möglichkeiten:
a) der Typ hat keine Ahnung, wovon er redet
b) er weiß, wovon er redet, und lügt vorsätzlich
Er beschreibt selbst weitgehend zutreffend, warum es dem Netzwerk als solchen nicht möglich ist, einen Angriff zu erkennen, stellt aber die Behauptung auf, die Software sei "qua magica" in der Lage, einen solchen zu erkennen und zu vermeiden. Das mag sein, würde im Umkehrschluss allerdings bedeuten, dass nicht der Zustand des Graphen auf der Blockchain den Konsens herstellt, sondern eine Software mit einem wie auch immer gearteten extern definierten Zustand.
Anders gesagt: die Software entscheidet: ich betrachte Chain X als korrekt, und werde Chain y daher als ungültig abweisen.
Das hat mit einem Konsens nicht viel zu tun, sondern eher mit einem Nonsens.
Es ist der altbekannte Versuch der Schlangenölverkäufer, über willkürlich gewählte Demarkationspunkte einen quasi endgültigen Status des Netzwerks festzuschreiben.
Das ist in verteilten Netzwerken, die gelegentlich auch fragmentieren können, zwangsläufig zum Scheitern verurteilt.
Er bemüht außerdem das typische empirische Argument, nach dem bisher keine bekannte PoS-Lösung erfolgreich mit Nothing at Stake angegriffen worden sei.
Das ist zutreffend.
Die Schlussfolgerung aber, dass das bedeuten würde, es wäre funktional, ist nicht zulässig.
PoS-Netzwerke, die empirisch "sicher" sind, sind eben in dem Maße sicher, in dem auch
- die
Boeing 737 max ein sicheres Flugzeug war, bis sie zum ersten Mal abgestürzt ist
- der Reaktortyp RBMK-1000 sicher war, bis es zur
Nuklearkatastrophe von Tschernobyl kam
- etc. pp.
Soll heißen: ja, "in the wild" kennen wir keine erfolgreichen Nothing at stake Angriffe auf PoS-Netzwerke, das heißt aber nicht, dass in irgendeiner Weise berechenbar wäre, wie wahrscheinlich solche sind.
Du darfst deine Coins in einem solchen Netzwerk gerne anlegen, musst aber stets damit rechnen, dass das Netzwerk einen katastrophalen Zusammenbruch erlebt.
Noch sind sicherlich alle PoS-Coins zu unbedeutend, als dass sich irgendjemand überhaupt die Mühe machen würde, einen solchen Angriff zu versuchen.
Die rein wirtschaftliche Überlegung, mittels Nothing at stake einen Doublespend durchzuführen, ist jedenfalls unattraktiv, insofern kann und wird ein solcher Angriff, wenn er jemals stattfindet, sicherlich von einem "feindlichen" Angreifer in destruktiver Absicht erfolgen.
Komplett falsch ist im Übrigen der Absatz:
But even if Bob hires a dream team of blockchain developers and develops this Nxt software variant that builds on all forks, if he is using it alone, he can’t cause much damage since he can only generate 1% of the blocks. Even if he is lucky to generate the next block, he will never generate 30 blocks in a row to trick Bittrex.
Die Behauptung, es sei unmöglich, 30 Blocks in Folge zu erzeugen, wenn man "nur 1% der Stakes kontrolliert", ist unzutreffend.
Die Wahrscheinlichkeit geht gegen Null, ist aber nicht 0.
Und weil Nothing at stake eben bedeutet, dass es (theoretisch) keinerlei Kosten verursacht, es dennoch zu versuchen, kann der Angreifer (theoretisch) unendlich viele Versuche (theoretisch) gleichzeitig unternehmen, womit seine Wahrscheinlichkeit wieder gegen 1 tendiert.
Theoretisch deshalb, weil "Nothing" at stake insofern ein Misnomer ist, als dieses "Nothing" immerhin aus Ram, I/O, Festplattenspeicher etc. besteht.
D.h., um tatsächlich unendlich viele Angriffe gleichzeitig auszuführen, benötigte man in der Tat unendlich viel Ram & Festplattenspeicher.
Das lässt sich allerdings "über die Zeit" lösen, indem man eben stets nur so viele Angriffsversuche unternimmt, bis einem die Kapazitäten ausgehen.
Interessant wäre hier allenfalls einmal, eine Kalkulation aufzustellen, wieviel Ram-Kapazität denn letzten Endes für z.B. eine Erfolgswahrscheinlichkeit von 1% bei 1% der Stakes oder 10% der Stakes o.ä. benötigt würde, das ließe sich zumindest grob abschätzen, denke ich.
Merkwürdigerweise finde ich solche Angaben nicht von Seiten der PoS-Proponenten, was für mich in allererster Linie den Schluss zulässt, dass sie nicht einmal an einer realistischen Risiko-Analyse interessiert sind.