Blockchains und ihre reibungslose Funktion hängen wesentlich von dem zugrundeliegenden Konsensalgorithmus ab. Proof of Stake (POS) sollte die Schwachstellen des Proof of Work (POW) umgehen. Doch auch das Proof of Stake Konsensmodell hat einige Schwachstellen. Dfinity hat mit Threshold Relay und anderen Anpassung einen neuartigen Konsensmechanismus entwickelt, der viele dieser Kritikpunkte ausräumen kann.
Grundlagen: Proof of Stake und Konsensmechanismen
In einer Blockchain-basierten Plattform gibt es keine zentralisierte Autorität, die Entscheidungen über anstehende Updates, Zielsetzungen der Roadmap treffen oder bei Streitigkeiten eingreifen könnte. Daher müssen sich dezentrale Netzwerke auf immer innovativere und leistungsfähigere Governance-Mechanismen verlassen, um solche Probleme integrativ unter Einbeziehung der Teilnehmer zu bewältigen. Das Governance-Modell ist daher nicht nur von zentraler Bedeutung für die reibungslose Funktion einer Plattform, sondern spiegelt auch ihren Grad der Dezentralisierung, Zugänglichkeit und Fairness wider.
Der ursprüngliche Konsensalgorithmus in der Blockchain, wie er zum Beispiel bei Bitcoin verwendet wird, war Proof of Work (POW). Dieser Konsensmechanismus stellte sich langfristig jedoch als problematisch dar, da viel Energie verbraucht und ein höheres Angriffspotenzial auf das Netzwerks, der sogenannten 51-Prozent-Attacke, bot. Als Alternative zum POW wurde daher der Proof of Stake entwickelt. Der Proof of Stake Konsensalgorithmus bestimmt die Mining-Power eines Teilnehmers basierend auf dem Anteil an Coins oder Token. Je mehr Token ein Nutzer also besitzt, desto stärker zählt seine Stimme zum Beispiel bei einer Abstimmung.
Dies führte jedoch zu Kritik am Proof of Stake Modell. Die wichtigsten beiden Kritikpunkte am Proof of Stake Modell sind:
- Nothing-At-Stake Problem: Auf einer Blockchain kann es immer mal zu einer Aufspaltung, auch Fork genannt, kommen. Diese Spaltung in zwei Ketten findet zum Beispiel immer nach einer böswillige Aktion auf der Blockchain statt, oder wenn zwei ehrliche Validatoren zufällig gleichzeitig einen neuen Block vorschlagen. Üblicherweise müssten sich im Proof of Stake Konsens alle Validatoren nun für eine der beiden Ketten entscheiden. Die Mehrheit gewinnt und diese Kette wird weitergeführt. Da es die Validatoren keinen Einsatz kostet, könnten sie jedoch auf beide Forks setzen. Auf diese Weise würden sie sich in jedem Fall einen Gewinn sichern, egal welche Kette weitergeführt wird. Dieses Vorgehen stört jedoch den Konsens der Plattform und könnte sie anfälliger für Angriffe machen.
- Plutokratisch statt dezentral: Andere kritisieren, dass der Proof of Stake bei Abstimmungen nicht immer gerecht sein kann. Denn die Stimmkraft von Nutzern mit besonders vielen Token zählt mehr. So könnten wohlhabende Nutzer das Netzwerk zu ihren Gunsten und nicht im Sinne der langfristigen Entwicklung der Blockchain und aller Teilnehmer entscheiden.
Aufbau des Threshold Relay Konsensmechanismus von Dfinity
Den Entwicklern des Internet Computers war es wichtig, einen guten Kompromiss zwischen praktischer Anwendung und theoretischem Sicherheitsnachweis für den Konsens auf der Blockchain zu finden. Die Dfinity Foundation hat daher für den Internet Computers an einem neuen Konsensmodell gearbeitet. Der Threshold Relay Konsensmechanismus basiert im Wesentlichen auf dem Proof of Stake Konsens, ergänzt diesen jedoch durch einige Techniken und Verfahren, die einige Probleme dieses Modells lösen sollen. Zentral geht es dabei um die Threshold Relay Implementierung, Boneh-Lynn-Shacham-Signatur Schemen (BLS-Signaturen) sowie einer innovativen Beglaubigungsmethode. Das Ergebnis ist ein innovatives und bisher einzigartiges Konsensmodell.
Der Dfinity Threshold Relay Konsensmechanismus ist von unten nach oben in vier Ebenen aufgebaut:
- Identity Layer
- Random Beacon Layer
- Blockchain Layer
- Notary Layer
Identity Layer
Jeder Teilnehmer des Internet Computers ist ein registrierter Client mit einer dauerhaften pseudo-anonymen Identität. Diese Identitäten im Netzwerk befinden sich auf dem Identity Layer. Der Zweck dieser Schicht ist, böswilliges Verhalten einzelner Nutzer gegebenenfalls bestrafen zu können. Eine offene Registrierung ist durch eine Einsatzhinterlegung mit Sperrfrist möglich.
Die Identity Layer ist resistent gegen Sybil-Angriffe. Nutzer können sich durch die Übermittlung einer speziellen Transaktion an das Netzwerk registrieren. Die Registrierungsperioden treten in nicht überlappenden Zeiträumen auf. Dabei ist die erste Runde jedes in einem Zeitfenster erzeugten Blocks ein Registrierungsblock. Er enthält eine Zusammenfassung aller Registrierungen in diesem Zeitraum.
Random Beacon Layer
Der Random Beacon ist eine verifizierbare Zufallsfunktion. Hierbei handelt es sich um eine Pseudo-Zufallsfunktion ist, die öffentlich überprüfbare Beweise für die Richtigkeit ihres Outputs erstellt. Diese Schicht ist die Hauptkomponente im Konsensmechanismus des Internet Computers. Er sichert die Zufälligkeit der nachfolgenden beiden Schichten, der Blockchain- und der Notary Layer, sowie aller Anwendungen und Smart Contracts, die darauf aufbauen. Damit ist der Hauptzweck der Random Beacon Layer Manipulationsresistenz auf Grundlage des Zufalls bereitzustellen und eine schnelle und vor allem skalierbare Konsensschicht zu unterstützen.
In der Random Beacon Layer kommt die bereits erwähnte Threshold Relay Technik zum Einsatz. Denn im Threshold Relay Konsensmechanismus von DFINITY erzeugt die Zufallsfunktion in jeder Blockrunde einen völlig unvorhersehbaren Output. Den kann im Vorfeld niemand kennen, bis er für alle veröffentlicht wird. Der Einsatz des Threshold Relay Signatur-Mechanismus löst das Last Actor Problem. Bei dieser Problemstellung geht es darum, dass der letzte Akteur in einem dezentralisierten Zufallsprotokoll den nächsten Zufallswert kennt. Das gäbe ihm jedoch effektiv die Möglichkeit das Protokoll abzubrechen, was die Sicherheit und Stabilität der Blockchain beeinträchtigen würde.
Bemerkenswert an der Random Beacon Layer ist, dass sie vollständig dezentralisiert ist, sich jedoch von außen wie ein vertrauenswürdiger Dritter verhält. Aufgrund der Einzigartigkeit des BLS-Signaturschemas muss nicht für jeden Beacon-Output ein Byzantine Agreement Protocol ausgeführt werden. Die Übereinkunft erfolgt automatisch, das sorgt für eine deutlich höhere Geschwindigkeit und kürzere Blockzeiten. Die vom Random Beacon Layer erzeugte zufällige Output wird von der darauf folgenden Blockchain Layer verwendet.
Blockchain Layer
Die Output des Random Beacon Layer ist die Eingabe, die das Probabilistic Slot Protocol (PSP) verwendet, um die registrierten Clients für jede Höhe der Kette einzustufen. Diese Zufälligkeit gewährleistet, dass die Reihenfolge unverzerrt bleibt. Die Blockvorschläge werden anschließend basierend auf dem Rang des Clients gewichtet. Hier weicht der Threshold Relay Konsensmechansimus von Dfinity von dem klassischen Proof of Stake Modell ab und ähnelt eher dem Proof of Work Modell. Bei einem Fork wird die stärkste Kette bevorzugt. Eine sogenannte heavy Chain hat mehr Clients und steht damit automatisch weiter oben auf der Prioritätenliste als die ausrangierte Fork-Kette.
Da das PSP sofort und automatisch gebildet wird, ermöglicht das widerspruchsfrei und vorhersehbare Blockzeiten. Die Notary Layer wartet auf die jeweils festgelegte Blockzeit aus der Blockchain Layer und erhält die vorgeschlagenen Blöcke.
Notary Layer
Die Notary Layer ist die höchste Ebene im Konsensprotokoll. Ebenso wie die Random Beacon Layer ist die Notary Layer vollständig dezentralisiert. Sie bietet eine besonders schnelle Finalität von Blöcken im Netzwerk. Sobald die Notary Layer die vorgeschlagenen Blöcke erhält, führt sie den Ranking-Mechanismus aus. Dann wählt sie den Block mit dem höchsten Rang aus, signiert und sendet ihn anschließend an das Netzwerk. Die Clients fügen den notariell beglaubigten Block zu ihren Kopien der Blockchain hinzu. Der Random Beacon sendet dann eine neue zufällige Ausgabe von Blöcken an die Notary Layer und eine neue Runde beginnt.
Die Notary Layer beschleunigt die Finalität, da sie die Schwellensignatur für den höchstrangigen Block verwendet, der auf Basis aller registrierten Clients erstellt wurde. Eine Beglaubigung ist jedoch nicht automatisch ein Konsens. Denn im ungünstigen Fall könnte es mehr als einen beglaubigten Block mit gleicher Ranking-Einstufung geben. Doch nach Ansicht von Dfinity ist das kein Nachteil, sondern ein solcher Fall wird sogar ausdrücklich toleriert. Denn eine Transaktion auf der Dfinity Blockchain gilt erst nach zwei notariell beglaubigten Blockbestätigungen als endgültig.
So braucht der Threshold Relay Konsensmechanismus von Dfinity, im Gegensatz zum klassischen Proof-of-Stake Konsens, nicht für jeden Block eine vollständige Quantum Byzantine Agreement. Das erlaubt der Internet Computer Blockchain eine höhere Geschwindigkeit und kürzere Blockzeiten.
Threshold Relay Implementierung für optimierten Konsens
Der Threshold Relay Konsensmechanismus von Dfinity ist auf Leistung und Flexibilität ausgelegt. Für ein Projekt dieser Größenordnung ist das besonders wichtig. Schließlich möchte Dfinity einen dezentralen Internet Computer aufbauen. Mit wachsender Zahl an Nutzern und Anwendungen wird auch die Zahl der Transaktionen, Smart Contracts (Software Canisters) und Nachrichten, die verarbeitet werden müssen, massiv steigen.
Der Konsensalgorithmus skaliert durch Quorum-Selection, die vom Random Beacon Layer gesteuert werden. Das bietet eine schnelle Finalität und Widerstandsfähigkeit der gesamten Blockchain. Mit ihrem angepassten Konsensmechanismus wird Dfinity eine der ersten großen Krypto-Projekte, die ein Proof of Stake Konsens in dieser Größenordnung durchsetzt. Theoretisch bietet es Kapazitäten für eine unbegrenzte Skalierung der Internet Computer Blockchain. Darüber hinaus kann das Internet Computer Protokoll durch BNS transparent, automatisch und konsistent aktualisiert werden. Das ist für die Weiterentwicklung des Netzwerks und ihren Ausbau besonders förderlich.
Fazit
Dfinitys Threshold Relay Konsensmechanismus ist eine neue Herangehensweise an die Fragestellung, wie Konsens in einem dezentralen Netzwerk erreicht werden kann. Das ehrgeizige Projekt greift das Proof of Stake Modell auf und ergänzt es um Innovationen und Anpassungen, mit dem Ziel einer theoretisch unendlichen Skalierbarkeit. Ein Traum den viele Krypto-Projekte für ihre öffentlichen Blockchains anstreben.
Dennoch gibt es auch einige Bedenken hinsichtlich der Umsetzung. Wie die meisten Proof of Stake Konsensalgorithmen ist der Threshold Relay Konsens von Dfinity ein On-Chain-Governance Mechanismus. Die Nachhaltigkeit und Praxistauglichkeit von On-Chain-Governance ist noch nicht abschließend geklärt. Es bleibt also spannend zu sehen, ob sich der Threshold Relay Konsens von Dfinity auch in größerem Maßstab bewähren kann und dem traditionellen Proof of Stake Modell weiterhin überlegen bleibt.