Casper-Vorschlagsmechanismus

Ich verstehe nicht, wie der hier dargestellte Vorschlagsmechanismus funktioniert .

Ein Vorschlagsmechanismus ist ein Mechanismus, der Hashes vorschlägt, die der Rest der Maschinerie mit PREPARE- und COMMIT-Nachrichten dann zu finalisieren versucht. Der Mechanismus kann manchmal fehlerhaft sein; Es ist die Aufgabe der Slashing-Bedingungen, sicherzustellen, dass selbst bei einem fehlerhaften Vorschlagsmechanismus keine Sicherheitsfehler auftreten und das Protokoll etwas abschließen kann, sobald der Vorschlagsmechanismus nicht mehr fehlerhaft ist.

Aus dem obigen Zitat geht hervor, dass der Vorschlagsmechanismus einen Hash vorschlägt, bevor die Validierer PREPARE- und COMMIT-Nachrichten senden.

Wie werden Blockvorschläge in Casper gemacht? ist die beste Antwort, die ich auf Stackexchange finden kann, aber ich denke, das hängt mit einem anderen Algorithmus zusammen.

Hier einige Zweifel, die ich habe:

  1. Wie wird der Validator ausgewählt, der den Hash vorschlägt?
  2. Was passiert, wenn der Validator offline ist?
  3. Muss der Validator eine Nachricht wie PREPAREund verwenden COMMIT, um einen Hash vorzuschlagen? Etwas wie[PROPOSE, epoch, HASH, epoch_source]
  4. Es gibt Streichbedingungen für den Antragsteller?
  5. Muss ein Validator PREPARENachrichten nur für vorgeschlagenen Hash senden?
  6. Die vorgeschlagenen Nachrichten sind im Zustand enthalten?

Antworten (1)

TEILANTWORT:

QUELLE: https://gitter.im/ethereum/research

Ben Mahala @Lisk115 mag 06 13:38 Sie bereiten einen bestehenden Blockhash vor und schreiben ihn fest, um ihn fertigzustellen. Validatoren erzeugen je nach Auswahlalgo neue Blockhashes. Jeder Validator kann jeden Block vorbereiten und festschreiben (und Belohnungen erhalten).

Filippo Merli @Fi3 mag 06 13:45 ty. Wenn ein Validator einen Bockhash vorschlägt, der nicht abgeschlossen ist, wird der Validator gekürzt?

Ben Mahala @Lisk115 mag 06 13:45 Nein, Sie werden nur gekürzt, wenn Sie zweideutig sind (z. B. widersprüchliche Vorbereitungen und Übertragungen senden). https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#how-does-validator-selection-work-and-what-is-stake-grinding

Filippo Merli @Fi3 mag 06 13:46 ok ty. Als Letztes, was passiert, wenn ein Validator einen Hash vorschlägt, der nicht finalisiert werden kann? Gibt es Konsequenzen?

Ben Mahala @Lisk115 mag 06 13:49 Nein, jedenfalls nicht als Slashing-Bedingung, aber ich kenne die aktuellen Details der Blockgenerierung nicht. Es würde wahrscheinlich etwas geben, das die Leute davon abhält, schlechte Blockhashes außer Betrieb zu spammen. Wahrscheinlich würde es andere Knoten davon abhalten, es überhaupt zu akzeptieren. Sie werden nicht für das Generieren von Blockhashes belohnt (glaube ich), nur für das Senden gültiger Vorbereitungen und Commits. Und es wird an der Kette gemacht. Irgendwo hier in der Nähe ist ein Casper-Vertrag in Arbeit. Mal sehen, ob ich es finde

Ben Mahala @Lisk115 mag 06 14:02 https://github.com/ethereum/casper