4

In this previous question, it is discussed how one can trust a smart contract. If you assume smart contracts are autonomous agents, then certain parts of this trust are enforced by the Ethereum platform: cryptographic measures (identities, message signing etc.) and consensus (valid transactions etc.).

In multi-agent systems, computational models of trust and reputation exist. I was wondering if there is any research or project done on how to implement computational trust in smart contracts. More specifically, how could another entity (human or agent) trust the application code of smart contracts in a computational fashion.

1

...how could another entity (human or agent) trust the application code of smart contracts in a computational fashion?

This is quite an abstract one... (I'm not sure if I'm thinking in the same context as the question.)

Have a look at formal verification, which "is a method to prove a program correct for all inputs".

There's currently work going on to formalise the Ethereum VM, as was presented at DevCon2. Also see the following previous thread:

What is formal verification, and why is it important for smart contracts?

  • 1
    Thanks for this! I am looking into formal verification with Isabelle/HOL at the moment and it seems to go into the direction I was looking for. – Dominik Harz Mar 12 '17 at 15:19
0

You could also pull the bytecode off the blockchain and do you own formal verification if that was necessary. Porosity Decompiler will allow you to get readable Solidity code as well if that is necessary.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.