I am interested what is the best way to hide contract function calls and contract state details from everyone except certain parties (if that is possible at all).
Encryption sounds like a possible solution so at least the state of the contract can be kept in a secure way, but from what I understand it would be very inefficient and it also doesn't solve the problem of the contract method calls being visible. Also how would you provide in a secure way the private key to a contract in order to decrypt the storage data?
Are there any other solutions?