Grundlegende Frage zum verteilten Smart Contract. Nehmen wir an, ich schreibe einen Smart Contract und setze ihn in einem öffentlichen Netzwerk ein.
My Contract Specification
• My contract would allow anyone to register.
• Fund 10 Ether to the contract
• Contract will in turn return 12 Ether on Dec 31st 2017
Der Vertragsinhaber hat versehentlich den 31. Januar im Vertrag angegeben, anstatt ihn auf den 31. Dezember zu begrenzen.
Szenario:
• Owner A sits in USA, deploys the contract in public chain
• User B from Australia funds 10 ether to the contract on August 31st, 2017
• User B now expects 12 Ether on Dec 31st but he never receives it .
Frage
Even though the contract is distributed among all the nodes,
1. How would user B come to know what is written in the contract ( assuming B has zero coding knowledge) ?
2. If only User B is interested in this contract, who will verify this smart contract
Der auf Ethereum bereitgestellte Smart Contract ist öffentlich und kann eingesehen werden. Man müsste wissen, wofür man sich anmeldet, indem man den Smart Contract überprüft (es gibt keinen anderen Ausweg).
Wenn ich Benutzer B bin, würde ich Benutzer A den Quellcode des Vertrags und alle Anweisungen anfordern, die erforderlich sind, um zu überprüfen, ob der generierte Bytecode mit dem Quellcode übereinstimmt. Wenn ich nichts über Smart Contracts weiß, sollte ich jemanden um Hilfe bitten, der sich damit auskennt.
Wie es im wirklichen Leben passiert, lassen Sie jemanden, dem Sie vertrauen, überprüfen, wenn Sie einen Vertrag unterzeichnen möchten. Es hängt natürlich vom Vertrag ab, für einen ernsthafteren Vertrag sollten Sie vielleicht zu einem Fachmann gehen, für einen einfacheren Vertrag können Sie im Internet nachfragen.
Sie können den Code auf etherscan.io überprüfen und veröffentlichen. Danach weiß jeder, der zu dieser Vertragsadresse geht, was der Code ist.
Sonne
royalnaruto
Thomas JayRush