Ich habe online danach gesucht, aber ich kann anscheinend keine wirkliche Antwort finden.
Angenommen, jemand sendet einen Smart Contract an eine Adresse. Was ist, wenn der Empfänger diesen Vertrag nicht annehmen möchte? Wie „leugnen“ sie den Vertrag oder verhindern dessen Ausführung?
Beispielsweise wird bei Finanzderivaten ein Handel für eine Call-Option zwischen zwei Parteien vereinbart. Wenn der Käufer den Kontrakt mit dem falschen Ausübungspreis einleitet, was hindert die Gegenpartei daran, diesen Preis zu akzeptieren?
Sie können nicht "einen Vertrag an jemanden senden". Sie können einen Vertrag auf der Blockchain bereitstellen, aber die Leute müssen mit dem Vertrag von ihrem Konto aus interagieren, damit der Vertrag sie betrifft. Das Einzige, was Sie ohne die Zustimmung des Empfängers tun können, ist, ihm Ether zu schicken, aber dann werfen Sie nur Ihr Geld weg.
(Ich nehme an, Sie meinen mit "sendet einen Smart Contract an eine Adresse", "ruft einen Vertrag an einer Adresse an") Angenommen, zwei Konten, A und B, haben beide 10 Ether in sich. Wenn jemand eine Funktion in einem Smart Contract nach den Regeln von Ethereum aufruft, die beispielsweise 1 Ether von Konto A auf Konto B verschiebt, dann werden alle, die die Ethereum-Regeln befolgen, zustimmen, dass Konto A jetzt 9 Ether und Konto B 11 hat Wenn jemand den Funktionsaufruf ignorieren würde, der die Überweisung durchführt, würde er immer noch denken, dass Konto A 10 Ether und Konto B 10 hat.
Dies unterscheidet sich im Grunde nicht davon, dass der Besitzer von Konto A seinen Ethereum-Kunden einfach so ändert, dass er Konto A aus dem Nichts eine Million Ether gutschreibt. Das Ergebnis ist, dass Konto A eine andere subjektive Realität hat als alle anderen.
Warum ist das wichtig? Stellen Sie sich vor, ich würde alleine glauben, dass kanadische Dollar (CAD) den US-Dollar (USD) ebenbürtig sind, und ich ginge in ein US-Restaurant und bezahlte mit CAD zum Nennwert. Das Ergebnis war, wie zu erwarten, dass das Restaurant meine Zahlung nicht akzeptierte. Das Ergebnis wäre ganz anders, wenn das Restaurant auch an USD=CAD glauben würde. Dann würden sie meine Zahlung akzeptieren, aber niemand sonst würde unseren CAD auf Augenhöhe akzeptieren. Das ist also ein starker Hemmschuh für das Restaurant, zu glauben, dass USD = CAD – dass niemand außer mir diesen Glauben haben würde. Sie sind stark motiviert, sich an das zu halten, woran die Mehrheit der Menschen glaubt, denn das bringt ihnen, wenn alle anderen gleich sind, den größten Nutzen für ihren CAD und USD. Für jeden beschränkt rationalen Denker gilt dies ebenfalls. Daher würden Sie erwarten, dass sich alle auf einen einheitlichen Glauben an den Wert von USD und CAD einigenaus egoistischen Gründen . Siehe auch diese Frage , warum ein bestimmter Wert für CAD und USD konvergiert werden kann.
Kevin K.
lungj
throw
in einem Empfangsvertrag eine Zahlung sperren. Ein Vertrag kann auch einen Benutzer betreffen, der nicht an ihm beteiligt ist. Ich könnte (wenn ich wüsste, wie man Verträge schreibt) einen ERC20-Token-Vertrag schreiben, der Anteile an einer realen Organisation darstellt, und eine Gruppe von Aktionären initialisieren. Eine Person, die als Eigentümer (über acnt) genannt wird, kann theoretisch einen Kredit von jemandem erhalten, der die Token als Sicherheit verwendet, ohne mit dem Vertrag zu interagieren. Sie könnten einem Benutzer sogar eine Schuld in dem Token geben. Daher denke ich, dass 2/3 der obigen Aussagen nicht wahr sind.lungj
manuhalo
lungj
manuhalo
balance
Feld schreiben und ein beliebiges Konto ins Negative schreiben, aber das ist gleichbedeutend damit, dass ich "Sie schulden mir 1 Milliarde $" auf ein Stück Papier schreibe, es bedeutet nicht wirklich etwas und es hat keine Rechtswirkung. Wenn Sie eine Möglichkeit kennen, dies zu tun, teilen Sie es mir bitte mit und wir können reich werden :p