Grundlegende Frage zum verteilten Smart Contract

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 

Antworten (3)

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).

Danke, setzen wir nicht den Byte-Code ein. Wie kann man den Vertrag einsehen? Können Sie mir einen Vertrag nennen, der für alle offen ist?
Ja, es wird als Bytecode bereitgestellt. Aber auf Blockchain-Browsern wie etherscan.io können Sie sogar den Code durchsuchen. Ein Beispiel ist hier: etherscan.io/address/…
Der „Quellcode“ ist nur verfügbar, wenn ihn jemand auf Etherscan veröffentlicht und verifiziert. Dies ist seitens des Vertragsverlegers optional. Ich benötige es von jedem Smart Contract, mit dem ich interagiere, oder ich interagiere einfach nicht mit diesem Vertrag.

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.