Warum kann ein Vertrag nicht aufwachen und sich selbst ausführen?

Bei dieser Frage geht es nicht um externe Lösungen , aber gibt es technische Einschränkungen dafür, warum ein Vertrag, der über Mittel verfügt, sich nicht selbst für die Ausführung in einem zukünftigen Block planen kann? Könnte das Ethereum-Protokoll so konzipiert worden sein, dass es diese Funktionalität enthält, und wenn ja, was hätte es beinhaltet?

Antworten (2)

In einem kürzlich erschienenen Beitrag von Vitalik Buterin auf Reddit erwähnt er mehrere Vorschläge, die im Protokollentwurf berücksichtigt wurden, aber nicht den Schnitt gemacht haben.

Einer der Vorschläge, die als verzögerte Aufrufe bezeichnet werden, würde einen Operationscode ALARM einführen, der es einem Vertrag ermöglicht, in einem zukünftigen Block ausgeführt zu werden. Der Vorschlag hat mehrere Anwendungsfälle, wurde jedoch aus Zeitgründen verworfen.

Ich glaube, dies wurde als Funktion entwickelt, um die Belastung des Netzwerks zu minimieren und Ressourcen zu reduzieren. Wenn Sie einen Vertrag „abrufen“ wollen, gibt es mehrere Lösungen:

http://www.ethereum-wecker.com/

Quelle :

Ich bin stolz, den Start des Ethereum-Weckerdienstes ankündigen zu können.

http://www.ethereum-wecker.com/

Der Alarmdienst erleichtert die Planung von Vertragsfunktionsaufrufen für eine bestimmte Blocknummer in der Zukunft. Die aktuelle Version sollte als Alpha-Software betrachtet werden.

  • Planen Sie Vertragsfunktionsaufrufe so, dass sie in einem bestimmten Block in der Zukunft ausgeführt werden.
  • Vertrauenslos. Keine administrativen APIs oder besonderer Zugriff für irgendjemanden, einschließlich mir selbst.
  • Veröffentlichter überprüfbarer Quellcode.
  • Umfangreiche Dokumentation mit Beispielen.

Ich bin sehr daran interessiert, das Feedback der Leute zu hören. Senden Sie mir gerne eine Nachricht an pipermerriam on gitter.

Sie nennen "mehrere" Lösungen?
Wenn die technische Einschränkung das Netzwerk ist und die Ressourcennutzung zunehmen würde, kann dies besser erklärt oder quantifiziert werden, um zu veranschaulichen, warum es tatsächlich zu einer Einschränkung kommt? Eine Zunahme von etwas bedeutet nicht unbedingt, dass es zu einer Einschränkung wird.
Ich frage mich nur... Damit eine Vertragsfunktion aufgerufen werden kann, muss eine Transaktion in die Blockchain geschrieben werden, da eine Funktion ausgeführt wird, wenn diese Transaktion abgebaut und verifiziert ist. Eine Möglichkeit, dies zu implementieren, könnte also darin bestehen, Events zu verwenden. (Nur eine Idee). Eine Funktion in einem Smart Contract könnte ein Ereignis abonnieren. Wenn dieses Ereignis ausgelöst wird, können Transaktionen an die Blockchain gesendet werden, die jede Funktion aufrufen, die dieses Ereignis abonniert hat – eine Transaktion für jede abonnierte Funktion. Es hängt jedoch davon ab, ob ein Ereignis ausgelöst wird. Nicht vollständig selbstaufgerufen.
Ich habe eine andere Idee zur Implementierung dieser Funktionalität, aber dies ist möglicherweise nicht das richtige Forum dafür. Wird nach einem Ort suchen, an dem die Machthaber ernsthaft darüber nachdenken würden. Vielleicht ist so etwas schon in Arbeit. Werde das auch prüfen.