Abfragen zur Ausführung von Smart Contracts

Ich habe eine der Antworten wie folgt gelesen -

Wann wird also Smart Contract Code ausgeführt?

Viele Male, wiederholt und überflüssig. Von Entwurf.

Smart Contracts sind wenn dann - also wenn dies wiederholt und redundant ausgeführt wird - wird dann die "dann" -Bedingung im Vertrag nicht mehrfach ausgeführt?

Auch wenn ein Smart Contract veröffentlicht wird – was genau machen Miner? Sind sie für die Validierung des Smart Contracts und die Umstellung auf Blockchain verantwortlich?

Ich habe auch gelesen, dass der Smart Contract, sobald er dem Block hinzugefügt wurde, an andere Knoten weitergegeben wird und sie validieren – was genau die anderen Knoten validieren – überprüfen sie das Mining (ähnlich wie bei der Validierung der Nonce in Bitcoin?)

Nun, da sich der Smart Contract in allen Knoten befindet – welcher Knoten ist für die Ausführung desselben verantwortlich? und wer löst die Ausführung von Smart Contracts aus?

Vielen Dank im Voraus.

Es ist teilweise ja, aber ich habe noch ein paar mehr, die dort nicht gefragt werden
Das ist eine gute Frage. Ich habe mich dasselbe gefragt - da ein Smart Contract repliziert wird, wird dann die Ausführung des Smart Contracts auch "repliziert"? Die akzeptierte Antwort scheint zu antworten - Ja.

Antworten (1)

Jeder Knoten führt jede Transaktion aus und alle tun dies identisch. Es ist massiv überflüssig, und das ist Absicht.

Ihre Frage "Welcher Knoten ist für die Ausführung verantwortlich" ist der Grund dafür, dass Sie verstehen, was vor sich geht. Alle Nodes sind gleichermaßen verantwortlich und führen den Code zu 100% unabhängig voneinander aus. Sie tun dies, weil sie um den Gewinn der Blockbelohnung konkurrieren.

Jeder Knoten führt den Smart Contract korrekt aus, weil er weiß, dass die anderen Knoten ihr Ergebnis ablehnen werden, wenn sie dies nicht tun. Nach der Verarbeitung einer Gruppe von Transaktionen veröffentlicht der erste Knoten, der den Block-Hash findet, ihn im gesamten Netzwerk. Die anderen Knoten, die daran interessiert sind, die Transaktionen so schnell wie möglich zu verifizieren, tun dies schnell und kehren zu dem Versuch zurück, den nächsten Block zu gewinnen.

Die Prämisse Ihrer Frage ist also falsch. Es gibt keinen „einen verantwortlichen Knoten“, um den Smart Contract auszuführen. Jeder Node führt jede Transaktion aus (bei der es sich entweder um Übertragungen von Ether oder Smart Contract-Ausführungen handelt).

Hoffe das klärt ein wenig auf.

Danke Thomas, das hat mir sehr geholfen und ich habe jetzt ein gutes Verständnis. Eine letzte Klarstellung – wie wird der Smart Contract in die Blockchain verschoben? Geht es nur darum, den Code zu schreiben und sicherzustellen, dass er gepusht wird? Meine Lektüre aus allen Blogs / Tutorials erklärt das - schreiben und pushen. Jetzt ist der Exekutions- und Mining-Teil geklärt – bitte helfen Sie beim ersten Teil. Nochmals vielen Dank für deine Erklärung, das hat wirklich geholfen.
Das „Pushen“ (oder Bereitstellen) eines Smart Contracts ist identisch mit dem Senden jeder anderen Transaktion im Netzwerk, mit zwei Einschränkungen. (1) die „to“-Adresse ist 0x0, und (2) der Inhalt des Eingabedatenfelds ist der kompilierte Bytecode Ihres Smart Contracts. (Normalerweise enthält das Eingabedatenfeld entweder nichts im Falle einer regelmäßigen Übertragung von Ether oder Funktionsaufrufdaten im Falle eines Smart-Contract-Aufrufs.)