Altcoins

Algorand kann kontern – Wie sicher ist das ALGO Netzwerk?

Algorand ALGO

Lesedauer für den Artikel: 5 Minuten

Kompakt:

  • Algorand ist mit ehrgeizigen Zielen angetreten und will u. a. den DeFi-Markt aufmischen.
  • Dabei setzt die Kryptowährungen auf eine Abwandlung von Proof of Stake (PoS), um einen Konsens im Netzwerk zu erzielen.
  • Die Sicherheitsfeatures sind bei PoS von besonderer Bedeutung, weil das Konsensmodell im Gegensatz zu „Proof of Work“ nicht so stark erprobt ist.

Wie sicher sind Kryptowährungen? Diese Frage stellte sich auch MIT Professor Silvio Micali und kam zu dem Schluss, dass die Sicherheit im Bereich der Kryptowährungen ausbaufähig ist. So entschied er sich dazu, Algorand zu entwickeln. Neben quelloffener Software, setzte er auch auf zahlreiche neue Sicherheitskonzepte. Silvio Micalis Vision, dass Kryptowährungen Bargeld und Kartenzahlungen ablösen, soll demnach mit Hilfe von Algorand schon bald Realität werden. Ob diese Vision im Alltag aber wahr wird, ist schwer vorherzusagen, es handelt sich mit Sicherheit um ein hehres und schwieriges Ziel.

In jedem Fall sind die Ansätze von Algorand, um die Sicherheit sowohl auf der Ebene des Konsensprotokolls als auch auf der des Netzwerks zu erhöhen, mehr als interessant.

Anzeige

Das Konsensprotokoll von Algorand

Algorand verwendet „Pure Proof of Stake“ (PPoS) als Konsensmodell. Um sicherzustellen, dass die Blockchain von Algorand nicht angegriffen wird, wählt sie nicht immer dieselben Teilnehmer bei der Erstellung neuer Blöcke, wie es bei anderen Kryptowährungen der Fall ist, die auf verschiedene Varianten von „Proof of Stake“ (PoS) setzen. Stattdessen wechseln die Teilnehmer bei jedem Schritt und jeder Runde der Blockauswahl, um das Netzwerk vor Angreifern zu schützen.

Das Konsensprotokoll von Algorand soll also verhindern, dass ein großer Angriff auf genügend Benutzer stattfindet, um die Erzeugung von Blöcken zu kontrollieren. Im Gegensatz zu anderen PoS-Protokollen sind weder einige wenige delegierte Benutzer noch ein fester Ausschuss für die Verbreitung von Blöcken zuständig.

Stattdessen erfolgt die Auswahl der Benutzer, die an der Zertifizierung von Blöcken teilnehmen sollen, zufällig und geheim. Eine Kommunikation zwischen den ausgewählten Nutzern gibt es hierbei nicht. Ein potenzieller Angreifer kann also nicht abpassen, wer als Nächstes an der Reihe ist, den nächsten Block zu erzeugen. Er bekommt diese Information erst dann, wenn der jeweilige Nutzer seiner Verantwortung nachgekommen ist, und damit ist es zu spät, um von einem Angriff profitieren zu können.

Schutz vor Teilung des Netzwerks

Jedes dezentralisierte System ist anfällig für einen Netzwerkangriff, bei dem ein Angreifer auf die Kommunikationsverbindungen zwischen den Benutzern zielt, wodurch die Interaktion zwischen den Benutzern erschwert oder unmöglich gemacht wird. Ein Angreifer könnte das Netzwerk in isolierte Teile splitten, so dass Mitglieder einer künstlich erzeugten Sektion nur miteinander, nicht aber mit Mitgliedern anderer Teile kommunizieren können.

Während einer Netzwerkteilung ist das Netzwerk vollständig asynchron, und der Angreifer hat die vollständige Kontrolle darüber, wer, wann, welche Nachrichten erhält. Wenn die Teilung lange genug dauert und die zugrunde liegende Blockchain dies bei ihrem Entwurf nicht berücksichtigt hat, dann kann der Angreifer möglicherweise verschiedene Benutzergruppen davon überzeugen, verschiedene Blöcke auf derselben Höhe in der Blockchain zu akzeptieren.

Infolgedessen werden widersprüchliche Transaktionen von verschiedenen Benutzern akzeptiert, so dass der Angreifer zum Beispiel sein Geld doppelt ausgeben könnte. Dieses Phänomen ist auch als Double-Spend-Attacke bekannt und würde großen Schaden anrichten.

Jedoch wäre ein Angreifer bei einer Netzwerkteilung von Algorand niemals in der Lage, zwei Benutzer davon zu überzeugen, zwei verschiedene Blöcke für die gleiche Runde zu akzeptieren. Dies gilt selbst dann, wenn die Aufteilung auf unbestimmte Zeit andauert und niemand weiß, wann sie aufgelöst wird.

Die Blockchain von Algorand verzweigt sich nie, und das Kapital der Nutzer bleibt sicher. Es kann höchstens ein Block in einer bestimmten Runde zertifiziert und in die Kette geschrieben werden. Dementsprechend sind alle Transaktionen in Algorand endgültig. Sobald ein Block auftaucht, können sich die Nutzer sofort auf die darin enthaltenen Transaktionen verlassen und darauf vertrauen, dass der Block für immer Teil der Blockchain ist, was bedeutet, dass die erhaltenen Vermögenswerte sicher sind.

Obwohl keine Blockchain garantieren kann, dass während einer Teilung Blöcke in die Kette geschrieben werden, ist Algorand in der Lage, sich kurz nach der Auflösung der Teilung wiederherzustellen und garantiert, dass neue Blöcke mit der gleichen Geschwindigkeit wie vor der Teilung erzeugt werden. Nachdem eine Reihe von Netzwerkknoten für eine Weile keinen Fortschritt sehen, gehen die Knoten in den „Partition Recovery Mode“ über. In diesem Zustand senden die Knoten neben der Fortsetzung des Konsensprotokolls periodisch Wiederherstellungsnachrichten aus. Während einer Teilung des Netzwerkes werden diese Nachrichten nicht richtig gesendet. Diese Nachrichten werden jedoch schnell verbreitet, sobald die Teilung vorüber ist und wenn sich eine erforderliche Anzahl dieser Nachrichten angesammelt hat, werden die Zustände der Knoten neu ausgerichtet und die Blockchain bewegt sich weiter vorwärts. Auf diese Weise kann sich Algorand fast augenblicklich von einer möglichen Teilung erholen.

Sicherheit des Vermögens der Nutzer

Um überhaupt am Konsensverfahren teilnehmen zu können, muss das Konto bzw. Wallet eines Benutzers online sein. Damit hierbei nun keine zusätzliche Sicherheitslücke entsteht, verwenden die Nutzer jedoch nicht ihre „Spending Keys“.  Sie benötigen diese Schlüssel nur, wenn sie Transaktionen vornehmen, nicht aber um am Konsensprotokoll teilzunehmen. Stattdessen muss ein Benutzer einen geheimen Teilnahmeschlüssel generieren und registrieren. Mit diesem Schlüssel kann er am Konsensverfahren teilnehmen und somit Vorschläge machen und Blöcke bestätigen.

Ein Teilnahmeschlüssel läuft nach einer bestimmten Anzahl von Runden ab, danach wird er entfernt und ein neuer Teilnahmeschlüssel muss generiert werden, um weiterhin teilnehmen zu können. Damit der Einsatz eines Benutzers auch dann sicher ist, wenn seine Teilnahmeschlüssel in irgendeiner Weise beschädigt sind, werden der Ausgabeschlüssel und der Teilnahmeschlüssel eines Benutzers getrennt.