Validiert ein Nicht-Miner-Knoten sowohl einzelne Transaktionen als auch einen ganzen Block?

Mein Verständnis ist, dass ein Ursprungsknoten eine Transaktion an seine Nachbarn sendet, die alle die Transaktion validieren, um sicherzustellen, dass (a) die Signatur gültig ist und (b) die Statusänderung gültig ist, bevor sie die Transaktion an ihre Nachbarn senden. Der Knoten führt an diesem Punkt die Transaktion NICHT aus.

Schließlich würde die Transaktion an einem Mining-Knoten ankommen, der sie dann in einen Block aufnimmt. Wenn der Miner erfolgreich ist, sendet er den Block an das Netzwerk.

Reguläre Nodes validieren dann den Block und führen bei Gültigkeit die darin enthaltenen Transaktionen aus.

Ist das richtig?

Antworten (1)

... und (b) die Zustandsänderung gültig ist, bevor die Transaktion an ihre Nachbarn gesendet wird. Der Knoten führt an diesem Punkt die Transaktion NICHT aus.

Das Prüfen, ob der Zustandsübergang gültig ist, führt die Transaktion im Wesentlichen aus, ohne irgendwelche zugeordneten Zustandsänderungen beizubehalten. In gewissem Sinne würde der Knoten also die Transaktion "ausführen".

In diesem Stadium glaube ich jedoch nicht, dass Nicht-Mining-Knoten die Zustandsänderungen validieren, die mit dem Inhalt des Transaktionspools verbunden sind. Es wäre ein zu großer Overhead für Knoten mit geringer Leistung, dies zu tun. (Ich werde versuchen, eine Quelle für diese Behauptung zu finden.)

Reguläre Nodes validieren dann den Block und führen bei Gültigkeit die darin enthaltenen Transaktionen aus.

Ja*. Um den Block zu validieren, prüfen sie zuerst, ob der Proof of Work korrekt ist, und wenden dann die Zustandsübergänge an, die mit den Transaktionen des Blocks verbunden sind. (Dieser zweite Schritt ist im Wesentlichen das „Ausführen der Transaktionen“.)

(* Beachten Sie, dass einige Mining-Knoten möglicherweise mit einer Strategie ausgeführt werden, bei der sie die mit einem neu empfangenen Block verbundenen Statusänderungen nicht validieren. Indem sie einen Block blind akzeptieren, ohne ihn zu validieren, können sie schneller mit dem Mining des nächsten Blocks beginnen. werde es irgendwann validieren...)