Kann ein Ethereum-Vertrag Ether für eine Gruppe halten?

Ich habe Mühe zu verstehen, was mit Smart Contracts erreicht werden kann. Können sie tatsächlich Äther halten (oder eine Übertragung nach Abschluss erzwingen)? Könnten sie fast wie ein Treuhandkonto funktionieren? Oder würde das eine "vertrauenswürdige" Brieftasche erfordern, um die Gelder bis zum Abschluss des Vertrags zu halten?

Wäre es praktikabler zu versuchen, eigene Token zu erstellen und deren Einlösung zuzulassen? Mein Verständnis ist, dass dies funktionieren würde, aber immer noch ein "Hauptkonto" erfordern würde, das manuell auf dem "Ehrensystem" gehalten wird.

Es gibt Multisignatur-Wallet-Verträge, die zeigen, wie mehr als ein Schlüssel singen muss, um Gelder freizugeben, und ja, Verträge befassen sich mit Ether. ethereum.stackexchange.com/questions/6/…

Antworten (1)

Sie können als vertrauenswürdiger Treuhänder mit transparentem Innenleben fungieren. Sie können Ether empfangen und senden, aber sie können keinen Ether von einem anderen Konto nehmen oder erzwingen. Sie können alle Arten von Buchhaltung und Regeldurchsetzung durchführen, einschließlich der Ausgabe ihrer eigenen Token. Im Falle ihres eigenen Tokens können sie die Regeln nach ihren Wünschen gestalten. Eine erzwungene Übertragung zwischen anderen Parteien könnte als Reaktion auf ein auslösendes Ereignis aus Gründen der korrekten Abrechnung erfolgen. ERC20 ist ein aufstrebender Token-Standard mit Verträgen, die von Github heruntergeladen werden können.

Das sind großartige Informationen, Rob. Könnten Sie Ihre Antwort vielleicht mit einer Dokumentation einiger der von Ihnen erwähnten Dinge bearbeiten. Wie können Sie beispielsweise neue Token so strukturieren, dass sie zusätzliche Funktionen haben (z. B. Ablaufen oder Annullieren durch den Ersteller)?
Dies könnte Token entmystifizieren: ethereum.org/token . Der Vertrag ist eine Münze und eine Clearingstelle, also überwacht er jede Transaktion, die stattfinden wird. Sie könnten mehrfarbige Token in Betracht ziehen, die sich jedes Mal verwandeln, wenn sie ausgegeben werden. Admin-Steuerelemente ähneln jeder lohnenden Software, außer dass der Code im Allgemeinen zur Inspektion offen ist. Man muss auch bedenken, dass dem Vertrag nicht vertraut wird, wenn eine menschliche Agentur zu viel Macht hat. Design tendiert zu Anreizen, Ökonomie, Vertrauen und dem Umgang mit Widrigkeiten, während es darauf abzielt, es so einfach wie möglich zu halten.
@RobHitchens Danke, aber ich habe wirklich Mühe zu verstehen. Was ist die Absicht eines Vertragskontos, das Ether hält, wenn dieser Ether nicht an den Hauptentwickler dieses Smart Contracts zurückgehen kann?
Denken Sie an einen Verkaufsautomaten. Es kann Süßigkeiten und Geld aus dem Verkauf enthalten. Es kann dem Besitzer erlauben, mehr Süßigkeiten hinzuzufügen. Es kann das Geld für den Eigentümer freigeben. Verträge sind programmierbare Maschinen, die so einfach oder kompliziert sind, wie es der Entwickler wünscht. Sie werden nichts tun, wozu sie nicht programmiert sind. Dazu gehört die Überweisung von Geldern an jemanden, der glaubt, es zu besitzen. Wenn dies erforderlich ist, muss es auf die gleiche Weise erstellt werden, wie eine Tür mit einem Schloss am Verkaufsautomaten installiert werden muss.
Nur um das Thema ETH selbst (nicht ERC20) klarzustellen - der Eigentümer des Vertrags hält diese Token zB über eine function deposit() external payableFunktion?
Nein. Der Ersteller/Eigentümer hält die Token ODER der Vertrag hält die Token. Sowohl eine Benutzer-Brieftasche als auch ein Vertrag werden durch eine Adresse dargestellt. Ein Unterschied besteht darin, dass ein Benutzer beliebige Transaktionen nach Belieben unterzeichnen kann und ein Vertrag nur eine definierte Reihe von Schritten ausführen kann, wenn er dazu angewiesen wird. In der Praxis bedeutet dies, dass Verträge die Zugriffskontrolle durchsetzen können. Pseudo: function withdrawFunds() { if(msg.sender == owner} owner.send.contractBalance() }. In einem solchen Fall könnten wir sagen, dass die Gelder „vertraglich gehalten“ werden und der Eigentümer ein Auszahlungsprivileg hat.