Januar 17, 2019

Wer ist drin, wer ist raus: Ein Ratensteuerungs-Algorithmus für das Tangle

Wer ist drin, wer ist raus: Ein Ratensteuerungs-Algorithmus für das Tangle

Ratensteuerung in verteilten Ledgern

In den meisten Netzwerken gibt es Umstände, unter denen der eingehende Datenverkehr größer ist als das, was das Netzwerk verarbeiten kann. Wenn nichts unternommen wird, um den Zugang des Verkehrs zu beschränken, können Engpässe das gesamte Netzwerk verlangsamen. Außerdem ist der Pufferplatz an einigen Nodes möglicherweise erschöpft, was dazu führt, dass einige Pakete verworfen werden. Ähnlich wie bei einem Autobahnstau sinkt der tatsächliche Netzwerkdurchsatz, wenn die angebotene Last zunimmt, während die Paketverzögerung zu groß wird. Daher ist ein Mechanismus erforderlich, um zu verhindern, dass ein Teil des angebotenen Verkehrs in das Netzwerk eintritt, um diese Art von Überlastung zu vermeiden.

Eine ähnliche Analyse kann auf verteilte Ledger angewendet werden, bei denen der eingehende Datenverkehr, d.h. Transaktionen, die von den Nodes des Netzwerks ausgegeben werden, begrenzte Ressourcen wie Bandbreite, Rechenleistung oder Festplattenspeicher ausnutzt. Bedingt durch die verteilte Beschaffenheit des Netzwerks können böswillige Nodes außerdem durch Spam oder Denial-of-Service-Angriffe beschädigt werden. Daher ist ein Steuermechanismus für die Transaktionsrate von grundlegender Bedeutung, damit verteilte Ledger korrekt funktionieren. Herkömmliche Blockchains, die auf Proof-of-Work basieren, sind mit einer integrierten Ratenbegrenzung ausgestattet, die durch die Anpassung des Minig-Schwierigkeitsgrad erzwungen wird. Leider führt diese Lösung zu unerwünschten Nebeneffekten wie Mining rennen.

Einzigartige Herausforderungen im Tangle

Umgekehrt verwendet der Tangle Proof-of-Work nicht zum Konsens. Daher ist ein expliziter Ratenkontrollmechanismus erforderlich. Neben der Standardanforderung der Anti-Spam-Technik gegen bösartige Nodes möchten wir einen Algorithmus entwickeln, der ein gewisses Maß an Fairness erreicht und garantiert, dass Nodes mit geringen Rechenfähigkeiten noch eine nicht zu vernachlässigende Wahrscheinlichkeit haben, dass ihre Transaktionen genehmigt werden. Wie der Leser sich vorstellen kann, fügt Fairness einem ohnehin nicht trivialen Problem Komplexität hinzu, aber wir glauben, dass dies eine grundlegende Voraussetzung ist, um die Einführung der Technologie zu beschleunigen.

Ein möglicher Weg, um das Problem der Geschwindigkeitskontrolle im Tangle zu lösen, besteht im Aufbau eines Reputationssystems für die Nodes, die Transaktionen ausgeben. Die grobe Idee ist, dass der Ruf schwer zu bekommen ist, aber leicht zu verlieren ist. Wenn ein Node eine ungültige Transaktion genehmigt, versucht, das Netzwerk zu spammen, oder ein ähnlich schlechtes Verhalten durchführt, besteht die Gefahr, dass er von anderen Nodes identifiziert wird. Infolgedessen ist dieser Node nicht vertrauenswürdig und seine Transaktionen werden mit hoher Wahrscheinlichkeit nicht genehmigt. Ein Reputationssystem ist jedoch ein allgemeiner Ansatz und daher nicht speziell auf die Tarifkontrolle ausgerichtet. Angesichts der wesentlichen architektonischen Änderungen, die erforderlich sind, ist außerdem eine umfassende (und daher lange) Studie erforderlich, um unerwartete Ergebnisse zu vermeiden. Aus diesem Grund untersuchen wir in diesem Beitrag einen alternativen Ansatz. Insbesondere stellen wir einen neuen Algorithmus zur adaptiven Ratensteuerung vor, der auf folgenden Ideen basiert:

  • Für die Ausgabe einer Transaktion ist ein gewisser Rechenaufwand erforderlich.
  • Der Rechenaufwand, der erforderlich ist, um mehrere Transaktionen in einem kurzen Zeitintervall auszugeben, nimmt schrittweise zu.
  • Während schnelle Nodes häufiger Transaktionen ausgeben können, ist für Nodes mit geringer Rechenleistung weiterhin gewährleistet, dass ihre Transaktionen mit hoher Wahrscheinlichkeit genehmigt werden können.

In den folgenden Abschnitten diskutieren wir die zwei Hauptbausteine ​​des Algorithmus, die erforderlich sind, um die oben genannten Ziele zu erreichen, dh (I) Nodeverantwortung, um jedem Node eine globale Identität zuzuweisen, und (II) den tatsächlichen adaptiven Ratensteuermechanismus, auf dem basiert unterschiedliche Schwierigkeitsgrade beim Proof-of-Work.

Identitätsnachweis

Um einen Ratensteuerungsmechanismus in einem verteilten System zu implementieren, ist es notwendig, globale Nodenidentitäten einzuführen. Wenn jeder Node über eine Identität verfügt, kann eine gemeinsame Kryptografie mit öffentlichem Schlüssel verwendet werden, um eine Transaktion zu signieren und sie manipulationssicher mit der ausstellenden Node zu verknüpfen. Durch die Einführung von Identitäten wird ein verteiltes System anfällig für Angriffe in Sybil, bei dem eine böswillige Entität viele gefälschte Identitäten maskiert und diese zur Überwindung der  Ratenkontrolle verwendet, um einen koordinierten Angriff oder ein Spam des Netzwerks auszulösen.

Eine Möglichkeit, einen solchen Angriff zu erschweren, ist der sogenannte Ressourcen-Test (z. B. CPU-Leistung, Einsatz, Speicherplatz  auf der Festplatte), bei dem jede Identität den Besitz bestimmter schwer  zu beschaffender Ressourcen nachweisen muss. Da Benutzer eine bestimmte Anzahl von Token (Sicherheiten) speichern, schlagen wir für unseren Algorithmus eine vereinfachte Version von Proof-of-Stake vor. Im Gegensatz zur ursprünglichen Idee verlassen die Sicherheiten in unserem Vorschlag den Besitz der Benutzer nicht und können daher nicht verwirkt werden. Sie sind vielmehr eine notwendige Voraussetzung für jede Nodeidentität. Jeder Node mit einem Mindestbetrag einer solchen Sicherheit darf Transaktionen ausgeben. Die Notwendigkeit dieses Mindestbetrags wirft eine interessante Forschungsfrage auf. Einerseits ermöglicht ein niedriger Schwellenwert mehr Benutzern das Ausgeben von Transaktionen, schützt jedoch nicht ausreichend gegen die Erzeugung gefälschter Identitäten. Andererseits würde eine große Schwelle die Anzahl potenzieller Nodes, die am Netzwerk teilnehmen, auf Kosten einer größeren Sicherheit drastisch reduzieren. Wir lassen die Diskussion über diesen Kompromiss als zukünftige Arbeit.

Abbildung 1 Blockschaltbild des vorgeschlagenen adaptiven Raten Steuerungsalgorithmus: Zunächst prüft ein Node, der eine Transaktion empfängt, ob der ursprüngliche Sender Ausgabetransaktionen senden darf. Dann wird überprüft, ob ausreichend Arbeitsnachweis erbracht wurde.

Adaptive Ratensteuerungs Algorithmus

In unserem Algorithmus (siehe Abbildung 1) kann ein Node eine Transaktion auslösen, nachdem er ein kryptografisches Rätsel gelöst hat, wobei die Schwierigkeit eine Funktion der besicherten Sicherheiten und der Anzahl der kürzlich ausgegebenen Transaktionen ist. In einer reinen Proof-of-Work-basierten Architektur würde ein großer Wert der Schwierigkeit verhindern, dass Nodes mit niedrigem Stromverbrauch Transaktionen ausgeben, was insbesondere im Zusammenhang mit dem Internet der Dinge nicht wünschenswert ist. Auf der anderen Seite kann eine kleine Schwierigkeit leicht zu Netzwerkstaus führen. Unser vorgeschlagenes adaptives Proof-of-Work-Verfahren ermöglicht es jedem Node, Transaktionen auszugeben, während Spam-Aktionen bestraft werden. Die richtige Auswahl der Systemparameter ist erforderlich, um ein gewisses Maß an Fairness zwischen der Node zu gewährleisten.

Als zusätzliche Sicherheitsmaßnahme fordern wir, dass die Gesamtzahl der von einem Benutzer ausgegebenen Transaktionen begrenzt ist. Je größer der Anteil eine Node ist, desto höher ist die Anzahl der Transaktionen, die dieselbe Node ausgeben kann. Diese Schwelle bringt einen doppelten Vorteil: Erstens stellt sie sicher, dass selbst ein Benutzer mit unendlicher Rechenleistung das  Netzwerk nicht willkürlich zuspammen kann. Zweitens kann eine richtige Wahl der Schwelle Sybil-Attacken abschrecken.

Schlussfolgerungen

Die Diskrepanz zwischen kleineren Universalgeräten und optimierter Hardware in Bezug auf die Proof-of-Work-Leistung liegt in der Größenordnung. Daher würde eine auf Proof-of-Work basierende Geschwindigkeitskontrolle letztendlich kleinere Geräte zurücklassen. Umgekehrt würde ein rein stake-basiertes System zu einer Zentralisierung führen, an der nur die "reichen" Parteien teilnehmen können. In diesem Blogbeitrag haben wir einen Algorithmus zur Ratensteuerung beschrieben, der die beiden oben genannten Ansätze kombiniert: langsame Nodes oder Benutzer mit geringen Sicherheiten können (einige) Transaktionen zu günstigen Preisen senden, während gleichzeitig schnellere Benutzer das Netzwerk durch eine Beschränkung der Anzahl von Transaktionen nicht voll spammen können.


Quelle: https://blog.iota.org/whos-in-who-s-out-a-rate-control-algorithm-for-the-tangle-c7b5ecf85677