Smart Contracts und symmetrische Verschlüsselung

Ich lerne gerade etwas über Smart Contracts und habe eine Frage.

Ich versuche zu verstehen, wie Smart Contracts ausgeführt werden. Ich habe bereits verschiedene Quellen gelesen und einige Ideen zusammengebastelt, bin mir aber nicht sicher, ob es richtig ist.

Um einen Smart Contract bereitzustellen, muss ich eine Transaktion senden. Ein Miner nimmt es, erstellt eine Smart-Contract-Adresse und sobald der Block gültig ist, habe ich die Möglichkeit, mit dem Smart-Contract zu arbeiten.

Wenn ich einen Smart Contract ausführen möchte, erstelle ich eine neue Transaktion, indem ich die ABI des Smart Contracts verwende, um eine oder mehrere Funktionen aufzurufen. Da es sich um eine Transaktion handelt, übernimmt ein Miner sie und führt den Code des Smart Contracts aus. Aber was passiert jetzt? Wird die Ausführung mit dem Ergebnis der Ausführung in der Blockchain gespeichert?

Ich habe mich gefragt, wie das eigentlich funktioniert. Nehmen wir an, ich erstelle einen Smart Contract für die Verschlüsselung mit symmetrischen Schlüsseln. Ich sende eine Nachricht und einen Schlüssel und der Smart Contract sendet die Chiffre zurück. Wird der Klartext für alle sichtbar sein oder nur der Geheimtext?

Vielen Dank im Voraus

Antworten (1)

Um einen Smart Contract bereitzustellen, muss ich eine Transaktion senden. Ein Miner nimmt es, erstellt eine Smart-Contract-Adresse und sobald der Block gültig ist, habe ich die Möglichkeit, mit dem Smart-Contract zu arbeiten.

Genau das passiert beim Erstellen einer Transaktion. Sie senden eine Transaktion mit dem Vertragscode und den Initialisierungsparametern. Die Miner übernehmen die Transaktion, erstellen eine Vertragsadresse und fügen den Code in diese Adresse ein und instanziieren den Vertragsstatus, indem sie den Initialisierungsteil des Vertrags ausführen.

Wenn ich einen Smart Contract ausführen möchte, erstelle ich eine neue Transaktion, indem ich die ABI des Smart Contracts verwende, um eine oder mehrere Funktionen aufzurufen. Da es sich um eine Transaktion handelt, nimmt ein Miner sie,

Ja du hast Recht. Wenn Sie eine Smart-Contract-Instanz erstellen, müssen Sie die ABI und die Adresse des Vertrags kennen. Sobald Sie eine Instanz des Vertrags haben, können Sie tx dorthin senden. Dieses TX wird vom Miner abgeholt und führt das TX aus.

führt den Code des Smart Contracts aus. Aber was passiert jetzt? Wird die Ausführung mit dem Ergebnis der Ausführung in der Blockchain gespeichert?

Nach der Ausführung des Smart-Contract-Codes aktualisiert der Miner den Status Ihres Vertrags mit den Änderungen, die Sie durch diesen Aufruf am Vertrag vorgenommen haben. Das Ergebnis wird nicht gespeichert, aber Sie können es bei Bedarf mithilfe von Ereignissen extrahieren.

Wird der Klartext für alle sichtbar sein oder nur der Geheimtext?

Ja, es wird für alle sichtbar sein, da Ihre Eingabeparameter Teil des tx sind, das in einem Block enthalten ist, sodass es öffentlich ist, sodass die Nachricht und der Schlüssel, die Sie senden, für alle sichtbar sind.

Ok, es ist also keine gute Idee, ein Verschlüsselungsschema in einem Smart Contract zu haben, da es jeder sehen kann. Danke für deine Antwort :)