Stellar schaltet sich aus – weil es zu dezentral wurde

Gewöhnlich gilt es als eine Gefahr für Kryptowährungen, wenn sie sich zu sehr zentralisieren. Bei Stellar (XLM) ist genau das Gegenteil passiert: Das Netzwerk wurde dezentraler und bekam deswegen Probleme, den Konsens zu erhalten. Die Folge war ein vollständiger Ausfall über ein bis zwei Stunden.

Für die meisten User spielt die Technologie hinter einer Kryptowährung kaum eine Rolle. Für sie ist der Unterschied zwischen Bitcoin und Stellar (XLM) nur darin zu sehen, dass Stellar-Transaktionen viel günstiger und schneller sind. Dass die beiden Währungen technisch so große Unterschiede haben, dass man sie eigentlich gar nicht derselben Kategorie zuordnen kann, merken diese User erst, wenn etwas nicht mehr rund läuft. So wie am vergangenen Donnerstag.

An diesem Tag ging die Stellar Blockchain offline. Das Netzwerk war ausgeschaltet; User konnten gut eine Stunde lang weder Geld senden noch empfangen. Die Stellar-Foundation betont, dass kein User Geld verloren hat. Die Guthaben wurden von dem Vorfall nicht berührt; nach 67 Minuten sei das Netzwerk wieder ordnungsgemäß gelaufen.

Was genau ist passiert? Und, vor allem: Was bedeutet es? Was sagt dies über eine relativ junge Kryptowährung, die zum Liebling deutscher Startups wie SatoshiPay oder BitBond wurde, auf immer mehr Börsen gehandelt wird, und mit der man vielleicht in naher Zukunft bei vielen deutschen Medienverlagen online für Artikel bezahlen kann?

Konsens durch … Konsens

Um das Ereignis zu verstehen, muss man zumindest im Kern wissen, wie Stellar funktioniert. So ähnlich wie Ripple benutzt Stellar keinen kryptographischen, sondern einen mathematischen Konsens: Eine Transaktion gilt für einen Node als bestätigt, wenn ausreichend andere Nodes im Netzwerk dieselbe Transaktion verbucht haben. In einem Artikel, den ich vor einigen Jahren über Ripple geschrieben habe, erklärt ein Experte das System mit einem guten Bild:

Man kann sich beim Bitcoin vorstellen, dass 100 Leute in einem Raum sind und schwierige Sudokus lösen. Ab und zu ruft einer ‚Juhuu, geschafft – hier ist meine Lösung! Falls ihr sie akzeptiert, gelten folgende Transaktionen als durchgeführt: …‘ – alle überprüfen die Lösung und erstellen daraus ihr neues Rätsel und machen weiter. Bei Ripple gibt es ebenfalls 100 Leute in einem Raum, diesmal aber ’nur‘ mit der Fähigkeit, etwas sicher und überprüfbar zu unterschreiben. Sobald nun eine neue Transaktion ankommt, versucht jeder diese Transaktion anzuwenden, unterschreibt das Ergebnis und ruft das in den Raum hinein. Solange sich alle einig sind, alles kein Problem – in dem Fall wird das Ergebnis als neuer Stand der Dinge publiziert und fertig.

Stellar ist ähnlich wie Ripple, aber nicht identisch. Einer der Unterschiede besteht wohl darin, dass die Knoten bei Stellar zum Teil selbst bestimmen können, ab wann es für sie einen Konsens gibt. „Jeder Validator-Node definiert explizit ein Set von anderen Knoten, mit denen er übereinstimmen muss. Diese Sets [an anderen Nodes] werden Quorum-Scheiben („Quorum Slice“) genannt, und wenn man sie anschaut, sieht man, dass sie ein globales Netzwerk von Vertrauensbeziehungen zwischen den Validtoren-Nodes bilden,“ erklärt das Berliner Startup SatoshiPay. „Alle fünf Sekunden halten die Validatoren eine globale Abstimmung darüber, welche Transaktionen in den Ledger eingehen.“

Stellar bildet also ein Netzwerk von Knoten, die über mathematische Regeln und Quoten sowie explizite Vertrauensbeziehungen zu bestimmten anderen Knoten definieren, ab wann bei ihnen ein Konsens über die Vergangenheit besteht. Die Kernidee ist, dass aus diesem individuellen Konsens ein netzwerkweiter Konsens wird.

Ein zartes bißchen Dezentralisierung …

In einem solchen Netzwerk wird es zu einem Problem, wenn wichtige Knoten offline gehen. Genau das ist vergange Woche passiert. Einige Validatoren waren nicht erreichbar, weshalb andere Knoten bzw. Validatoren nicht mehr in der Lage waren, genügend Stimmen von Validatoren zu empfangen, um ihr eigenes Quorum Slice zu erfüllen und zu wissen, ob eine Transaktion gültig ist oder nicht. Andere Nodes, die wiederum von diesen Nodes abhängig waren, blieben auch auf dem Trockenen, so dass das Netzwerk keinen Konsens mehr bilden konnte. Man kann es sich wie ein Riss in einer Scheibe vorstellen, der sich immer weiter ausbreitet.

Dieser Vorfall, meint die Stellar-Foundation nun in einem Blogpost, zeige, dass Stellar dezentraler geworden. Das klingt recht verwegen. Immerhin hat der Ausfall einiger weniger Knoten gereicht, um das gesamte Netzwerk lahmzulegen, was nicht so wirklich nach Dezentralität klingt. Aber schauen wir uns an, wie die Foundation diesen Schluss begründet.

Bisher gab es kaum einen Zweifel, dass Stellar sehr zentralisiert ist. Auch SatoshiPay, das Stellar für Medien-Micropayments nutzt, geht damit sehr offen um: „Vor einigen Monaten war das Netzwerk sehr zentralisiert. Die drei Nodes der Stellar Foundation waren die einzigen Nodes, die Teil der Qurom-Slices von allen anderen Nodes waren.“ Ein Ausfall der Foundation-Nodes – oder eine Netzwerkstörung zwischen der Foundation und SatoshiPay – würde die Nodes von SatoshiPay anhalten lassen.

Das Startup hat darauf reagiert, indem es selbst einige Validatoren-Nodes aufgestellt hat. Einige andere Firmen haben dasselbe gemacht, was die Stellar-Szene als wichtigen Schritt hin zu einem stärker dezentralen Netzwerk feiert. Dabei reden wir nicht von hunderten oder tausenden von Knoten, wie bei Bitcoin oder Ethereum, sondern eher von einigen (wenigen) Dutzend. Aber, immerhin, Stellar beginnt, dezentraler zu werden.

… zuviel!

Doch schon dies könnte zuviel gewesen sein. Denn die neuen Nodes haben, so die Stellar Foundation, den Ausfall vergangene Woche verursacht: „Rückblickend gesehen haben einige neue Nodes zu früh eine zu große Verantwortung für den Konsens übernommen.“ Während bisher das Funktionieren des Netzwerks fast vollständig von den Systemen der Stellar-Foundation abhing, konnten nun die Nodes der Foundation – die alle online geblieben sind – es nicht verhindern, dass der Ausfall anderer Knoten das System herunterfuhr.

Mehr Nodes sind zwar gut für die Dezentralität; für die Gesundheit des Stellar-Netzwerks könnte aber das Gegenteil zutreffen: Je mehr Nodes, umso schwieriger wird es, die fortlaufende Konsensfindung zu gewährleisten. „Viele der neuen Nodes müssen sich noch die Bereitschafts-Standards erarbeiten, die das Netzwerk erwartet. In den letzten Wochen haben wir wiederholt beobachtet, dass schlecht konfigurierte oder kurzzeitig abwesende Nodes den Konsens-Prozess behindern.“ Dies habe zu einem „flockigen Zustand“ geführt, „in dem ein zusätzliches Scheitern von ein oder zwei Nodes zum falschen Zeitpunkt das gesamte Netzwerk stoppen kann.“ Und dies war genau das, was am 16. Mai passiert sei: „Keybase [eine Organisation] hat ihren Validator zur Wartung vom Netz genommen, zu einer Zeit, wenn einige andere Validatoren unsicher oder down waren. Stellar hat daraufhin gestoppt.“

Die Foundation hat keine wirklich schlagenden Vorschläge dafür, wie sie verhindern will, dass sich dieses Problem wiederholt: Die User sollen besser über die Quorum Sets aufgeklärt werde, wofür die Foundation gute Ratschläge geben werde; ferner sollten die Betreiber der Validatoren-Nodes besser zusammenarbeiten, etwa indem sie ihre Wartungspausen öffentlich kommunizieren. So ganz zufriedenstellend ist dieser Ansatz nicht.

Noch etwas verwirrender ist das Update, das die Foundation an das Post angehängt hat: „Der Ausfall am 15. Mai hat das Stellar-Netzwerk in einem fragilen Status zurückgelassen. Nur vier Parteien dienen als Kern-Validatoren. Später haben wir als ein weiteres Problem entdeckt, dass die Quorum Sets von zwei Parteien sich nicht länger mit dem der anderen zwei Parteien gedeckt hat. Um dies zu reparieren, wurde das Netzwerk kurzzeitig offline genommen.“ Wenn ich es richtig verstehe, gab es also zwei Ausfälle kurz nacheinander; die Berichte in Foren, dass einige Börsen Stellar-Zahlungen ausgesetzt haben, bestätigen dies. Gelöst wurde das Problem dann wohl durch einen zentral gesteuerten Eingriff.

Original source: https://bitcoinblog.de/2019/05/20/stellar-schaltet-sich-aus-weil-es-zu-dezentral-wurde/

Enter your Email Address