Veröffentlicht am 06-05-2019

Wahl der Knoten in Insolar-Netzwerken: Pulsar-Protokoll

Viele Blockchain-Netzwerke sind in ihrer Skalierbarkeit eingeschränkt, was bedeutet, dass mit zunehmender Netzwerkgröße die Geschwindigkeit, mit der das Netzwerk aktualisieren, Transaktionen verarbeiten und den globalen Netzwerkstatus synchronisieren kann, abnimmt. Die Aufrechterhaltung der Konsistenz in großen Netzwerken erfordert Zeit, da jeder teilnehmende Knoten Kopien der Daten speichern soll. Insolar hat jedoch eine Lösung gefunden, um die Effizienz der Netzwerksynchronisierung zu verbessern, ohne die Sicherheit zu beeinträchtigen: Impulse.

Impulse sind ein Sync-Tool, das für die Konsistenz im gesamten Netzwerk sorgt und von sogenannten "Pulsars" emittiert wird, bei denen es sich um dedizierte Knoten handelt. Sie dienen als logische Funktion und sind als Nutzerkonsens bekannt, da ihre Funktion unabhängig von den direkten Bedürfnissen der Plattformbenutzer ist. Daher stellen die Impulse und die sie emittierenden Impulse eine Sicherheitsschicht dar, die vom Blockchain-Netzwerk getrennt ist, jedoch dafür verantwortlich ist, dass das Netzwerk synchronisiert wird. Ein Impuls gibt den Beginn des nächsten Zeitraums an, in dem Transaktionen ausgeführt und validiert werden können, und stellt eine Zufallsquelle über einen Teil der Daten bereit, die er trägt. Die Daten enthalten Informationen über die Zeit und die sogenannte Entropie (Zufälligkeit) des Impulses.

Pulsar-Protokoll

Die Impulse werden in Übereinstimmung mit dem Pulsar-Protokoll erzeugt, das die Erzeugung von Entropie auf eine solche zufällige Weise ermöglicht, dass einzelne Knoten nicht vorhersagen können, welche Knoten Transaktionen ausführen und welche ihre Berechnungen validieren. Das Protokoll enthält jedoch keine Bedingungen bezüglich der Mitgliedschaft im Pulsar-Knotennetzwerk oder der Dauer der Pulse. Diese Parameter werden stattdessen dynamisch vereinbart oder von den Netzwerkteilnehmern vorkonfiguriert.

Während andere Konfigurationen ebenfalls möglich sind, basiert die Standardeinstellung für die Impulserzeugung auf dem Konsens der Byzantinischen Fehlertoleranz zwischen den Pulsaren, bei dem jedes Netzwerkmitglied zur Entropie beiträgt. Die Impulse stellen Zeitintervalle dar, in denen das Netzwerk aktualisiert wird, und jeder Impuls wird durch eindeutige, aufsteigende Ganzzahlen, so genannte Impulszahlen, identifiziert.

Impulszahlen

Eine Impulszahl stellt eine ungefähre Anzahl von Sekunden seit dem Start des Netzwerks dar und die Zunahme der Anzahl ist proportional zu der Anzahl der vergangenen Sekunden. Dieser Anteil muss kleiner oder gleich 1 sein. Die Impulszahlen müssen allen Knoten bekannt sein, und diese Kennungen sind eindeutig und erhöhen immer ganze Zahlen, während die Anstiegsimpulszahlen proportional zu der verstrichenen Anzahl von Sekunden sein sollten Echtzeit.

Konfigurierbar für Flexibilität

Sie können feststellen, dass in den Beschreibungen der Plattform die Funktionen und die Struktur von Insolar abgestimmt werden können und Pulsare zu dieser Flexibilität gehören. Die konfigurierbare Natur der Plattform in Bezug auf Pulsars berücksichtigt im Allgemeinen zwei verschiedene Variablen:

  1. Das Vertrauensnetzwerk, das die Teilnehmer füreinander haben
    1. Die Anzahl der Knoten im Netzwerk, die als Pulsare teilnehmen
    2. In hoch vertrauenswürdigen Netzwerken kann nur ein einziger Unternehmensnetzwerkknoten für die Netzwerksynchronisation und Entropie (der Knotenauswahl) benannt werden, da kein bösartiges Verhalten erwartet wird. Daher müssen private Insolar-Netzwerke nicht mehrere Pulsare außerhalb des Netzwerks bereitstellen, sondern verwenden nur einen einzigen Knoten, der sich innerhalb des Netzwerks befindet. Dieser einzige Pulsar-Knoten kann nahtlos durch mehrere andere oder externe Pulsar-Knoten ersetzt werden, wenn das Netzwerk erweitert wird, um andere Teilnehmer zu integrieren: d. H. Das Vertrauensniveau zu senken und die Notwendigkeit unabhängigerer Pulsare zu erleichtern.

      Je öffentlicher das Netzwerk, desto mehr Teilnehmer, desto weniger Vertrauen und damit auch die Notwendigkeit, Pulsars auf einem separaten Protokoll auszuführen. Bei Unternehmensinstallationen kann ein Pulsar nur ein einzelner isolierter Server oder ein gemeinsam genutzter Server sein. Dies gilt auch für private Netzwerke, die einen dedizierten Server implementieren können. unternehmensübergreifende und hybride Netzwerke, die ein gemeinsam genutztes Pulsar-Netzwerk nutzen können, jedoch einzelne Installationen von Insolar-Netzwerken ausführen können; und öffentliche Netzwerke, die vertrauenswürdige Pulsar-Knoten verwenden oder die Pulsar-Funktion auf anderen Knoten ausführen können. Insolar empfiehlt aus Sicherheitsgründen jedoch den Einsatz von Pulsars in einem separaten Netzwerk für alle Netzwerke. Dies ist jedoch nicht erforderlich.

      In vernetzten Unternehmensnetzwerken auf der Insolar Blockchain-Plattform wird jedes Netzwerk als Cloud bezeichnet. In diesen Clouds können die Regeln für die Auswahl von Pulsar-Knoten manuell von den Netzwerkteilnehmern definiert und verwaltet werden und können daher erheblich variieren. Im öffentlichen Insolar-MainNet wird das Pulsar-Protokoll jedoch durch einen zufälligen Satz von zehn bis fünfzig Knoten aufrechterhalten, die Zuverlässigkeit und Stabilität zeigen.

      Während für verschiedene Netzwerktypen unterschiedliche Konfigurationen möglich sind, ist die Interoperabilität von Knoten innerhalb einer einzelnen Cloud von Impulsen abhängig. Dies bedeutet, dass sich für ein einzelnes Netzwerk auf der Insolar Blockchain-Plattform alle beteiligten Knoten auf einem einzigen Pulse befinden müssen, um neue Anforderungen oder Vorgänge zu verarbeiten.

      Wie es funktioniert

      Für jede Impulsgenerierung gibt es einen Standardalgorithmus, bei dem jeder Pulsar einen Impulskandidaten zufällig nominiert. Dieser Vorgang erfolgt, indem der Pulsar ein Pulse-Kandidatenpaket (PulseData) sendet, das einen Hash-Code für den unverschlüsselten Pulse und die verschlüsselte Entropie enthält. Dieses Kandidatenpaket wird auf alle Pulsare verteilt.

      Nach der Verteilung von PulseData-Vorschlägen werden Einsendungen mit Nichtübereinstimmungen der Daten ebenso ausgeschlossen wie Pulsars, bei denen betrügerische, fehlerhafte oder böswillige Aktivitäten durch Nichtübereinstimmungen in Vorschlägen nachgewiesen wurden. Der zueinander passende PulseData-Vorschlag wird dann zusammen mit der verschlüsselten Entropie des Pulsar als Hash gesendet. Die Hash-Summe wird durch die Anzahl der zugelassenen Pulsare geteilt, wobei die verbleibende Anzahl als Siegerpulsar ausgewählt wird. Wenn zum Beispiel 5 Pulsare vorhanden sind, die passende PulseData-Vorschläge einreichen, und der Rest der Berechnung 3 ist, wird Pulsar Nummer 2 als Gewinner ausgewählt. Dies ist, da der erste Pulsar Pulsar 0 ist und der fünfte Pulsar 4 ist.

      Die preisgekrönten Pulsare geben dann den privaten Schlüssel zu ihrem Entropiewert an die anderen Pulsare weiter. Die anderen Pulsare validieren die PulseData erneut vom siegreichen Pulsar. Wenn dies gelingt, wird die Entropie entschlüsselt und der Puls des Siegerpulsars wird von den anderen Pulsaren verteilt. Die Entropie gewährleistet die Zufälligkeit der Auswahl, wodurch die Sicherheit verbessert wird.

      Warum Pulsare?

      Die Datenkonsistenz über das Netzwerk und die Verteilung der Impulse wird von der Netzwerkschicht von Insolar verwaltet. Ein Puls trägt Zufall für die Zuordnung von Knotenrollen und ist ein Signal, das als Auslöser für die Erzeugung eines neuen Blocks wirkt.

      Die konsistente Sicht auf die aktuelle Entropie und die Menge der aktiven Knoten im Netzwerk sind für den OmniScaling-Ansatz von Insolar für die Verteilung der Arbeit von entscheidender Bedeutung und stellen sicher, dass jede Transaktion von einem Knoten ausgeführt und von vielen validiert wird. Knoten sind Rollen, die sich darauf beziehen, ob eine Berechnung ausgeführt, validiert oder nur am Netzwerkkonsens teilnehmen soll. Die Rollen werden den Teilnehmern auf der Liste der aktiven Knoten zugewiesen, während Entropie und Konsistenz den Konsens über alle Knoten gewährleisten. Darüber hinaus werden Knoten, die zur Validierung von Berechnungen ausgewählt wurden, nur für einen neuen Impuls ausgewählt, um sicherzustellen, dass die ausführenden Personen nicht mit Validatoren zusammenarbeiten können.

      Das Pulsar-Protokoll ermöglicht die Erzeugung von Entropie auf eine solche Weise, dass einzelne Knoten die Entropie nicht vorhersehbar durch Abstimmungsentscheidungen manipulieren können. Dies ist die Kernfunktion von Pulses: Ermöglichen einer sicheren, unvorhersehbaren Methodik zur Zuweisung von Funktionen über das Netzwerk, ohne den Betrieb zu verlangsamen. Ein Hauptmerkmal von Pulsars ist, dass sie innerhalb oder außerhalb des Netzwerks ausgeführt werden können, je nach dem Vertrauensniveau der Teilnehmer und den Anforderungen des Unternehmensnetzwerks.

      _______

      • Überprüfen Sie unseren Github und geben Sie uns Feedback zum Code.

      Folgen Sie Insolar in den sozialen Medien:

      • Telegramm (Eng)
    3. Telegramm (Ankündigungen)
      • Insolar Twitter
      • Insolar Facebook
      • Insolar Reddit
      • Insolar-Website

Siehe auch

Was ist ein Full-HD-Monitor?Samsung Galaxy A50 (Weiß, 4 GB RAM, 64 GB Speicher)Über Mi und Xiaomi HandysWollen Sie Ihre persönlichen / professionellen Medien dauerhaft im Internet?Markt für Flotationsanzüge 2019 nach Herstellern, Regionen, Typ und Anwendung, Prognose bis 2024Reparieren Sie den Ricoh-Drucker-Offline-Fehler