2017-04-18 1 views
7

Here es ist eine sehr hohe Beschreibung mit nur Formeln. Ich möchte eigentlich verstehen, wie es funktioniert.Wie funktioniert das Aura-Konsensusprotokoll von Parity?

Ich verstehe eigentlich nicht, was ein Schritt ist und was ist es? Wird der Schritt von einem Knoten immer aktualisiert? Wenn die Zeit zum Erstellen und Senden eines Blocks erstellt wird, wird der aktuelle Schrittwert verwendet und geprüft, ob er senden soll oder nicht.

Was meinen Sie mit "Blöcke von mehr als 1 Schritt in die Zukunft werden abgelehnt."? Bedeutet dies, dass die Blockzeit 5 Sekunden beträgt, sollte der Zeitstempel des nächsten Blocks genau 5 Sekunden höher sein.

Und was passiert auch, wenn die nächste primäre nicht sendet? Wie geht das Netzwerk damit um? Alle nächsten Blöcke sollten ungültig gemacht werden, weil sie einer Zeitstempeldifferenz von 5 Sekunden nicht folgen.

Antwort

5

AURA ist der Name für Parität des Proof-of-Authority (PoA) Konsens-Engine, ursprünglich der Name von Authority Runde kommt (verwendet AuRo zu sein). Es wird in der Kovan network verwendet.

PoA-Netzwerke sind zugelassen nicht öffentlich von Design. Nur streng definierte Autoritätsknoten dürfen Blöcke verschließen. Dies ist sehr nützlich für Testnetzwerke oder Unternehmensnetzwerke, bei denen die nativen Token der Blockchain keinen Wert haben und daher leicht in einer PoW- (PoW) oder Proof-of-Stake (PoA) Umgebung angegriffen werden könnten.

Ein Schritt ist ein Teil der Behörde Runde. Jede Autorität kann in jeder Runde einen Block besiegeln. Sagen wir, wir haben fünf Autoritäten: 0x0a .. 0x0e. Diese würden die Schritte, wie in der Kette Spezifikation oder im dynamischen validator Vertrag definiert:

  1. Schritt 1: 0x0a Dichtungen ein Block
  2. Schritt 2: 0x0b Dichtungen ein Block
  3. Schritt 3: 0x0c Dichtungen ein Block
  4. Schritt 4: 0x0d Dichtungen ein Block
  5. Schritt 5: 0x0e dichtet einen Block

Nachdem die Runde beendet ist, beginnt sie von neuem.

Was meinen Sie mit "Blöcke von mehr als 1 Schritt in die Zukunft werden abgelehnt."? Jetzt

, wenn der Knoten 0x0c versuchen würde, einen Block direkt nach 0x0a zu versiegeln, dann würde dieser Block seine mehr als 1 Schritt in die Zukunft. Die Blockabdichtung stützt sich strikt auf die Reihenfolge der Blockschritte aller Behörden.

Und was passiert auch, wenn die nächste primäre nicht sendet?

Das ist kein Problem, es wird eine Lücke zwischen zwei Blöcken, d. H. Verdoppelte Blockzeit geben. Wenn also 0x0c feststellt, dass 0x0b im angegebenen Zeitfenster keinen Block bereitstellt, kann er diesen Schritt mit seinem eigenen Block überschreiben und die Runde wird fortgesetzt. Es gibt bestimmte Toleranzen für die Blockzeitstempel, um sicherzustellen, dass das Netzwerk nicht blockiert.

Kovan Stats Screenshot

In diesem Screenshot oben können Sie sehen, dass zwei Behörden im Kovan Netzwerk sind Dichtblöcke nicht. Das Ergebnis ist eine erhöhte Blockierungszeit zwischen diesen Schritten.

Offenlegung: Ich arbeite für Parität.