3 ms·
Let S = smart contract writer's code intent - smart contract compiled code meaning. If S is legally meaningful it's all over for smart contracts. There's no way
by shiado 5y ago
Let S = smart contract writer's code intent - smart contract compiled code meaning. If S is legally meaningful it's all over for smart contracts. There's no way to prove the contract writer's intent, the compiler itself can have problems causing divergence, and it's not even possible to prove if the idea in the writer's mind can be captured by code. You could even come up with a sort of halting problem smart contract that's both fraudulent and not at the same time.
- TekMol 5y agohalting problem smart contract that's both fraudulent and not at the same time How would the halting problem help with that? With the halting problem, can't you just write code so that nobody knows if it will halt or not? I wouldn't say it halts and not halts at the same time. We just don't know if it will halt.
- MauranKilom 5y agoIt will halt. By running out of gas.
- shiado 5y agoYou define a smart contract where your intent is that it checks if other smart contracts are legal and runs them. Then you define a contract that runs the contract that checks if another contract is legal and then as the writer your intent is for the program to be illegal if the other program is legal and vice versa. Then you run this second contract through the first. If it is legal it is illegal and if it is illegal it is legal. Obviously there is no way to write a smart contract that checks if others are legal, but a writer can intend to write it which is where the problem of considering smart contract writer intent originates.
- rocqua 5y agoIt's not that hard to infer writers intent from: - function and variable naming - social conventions around ownership - stated intent by code writers - common sense By any reasonable standard, this was theft. Is a door with a pickable lock always unlocked? No, that would be silly. What makes using a key on a lock different from using a lockpick. Social convention, intent of the creator, common sense, the fact that one thing is called a key, and the other a lockpick.
- andrewaylett 5y agoBut if when there's a dispute you have to rely on a trusted third party to determine intent and arbitrate the contract, what's the benefit of having a smart contract over a regular dumb one and relying on a trusted third party to determine intent and arbitrate the contract if there's a dispute?
- strgcmc 5y agoThis is like saying, why have Uber use algorithms to match rider and driver, if you still need human customer support to deal with exceptions? IMO, the answer is fundamentally that it expands the market (no more limitations like medallions, scales better than hiring dispatchers, etc.), and creates more demand overall (more people use these cars than would've used traditional taxis). Of course, even the customer support gets automated away, until humans only need to deal with exceptions to the exceptions (that automated support was supposed to handle). So there can still be economies of scale and efficiency.
- rocqua 5y agoAt the moment, there is no third party settling a dispute. All that really happened is that there was consensus that this was 'a hack / theft' in all sense except for the 'code is law' interpretation. Now, it seems that the thief was afraid of legal reprecussions, but that is sort of outside the scope of ethereum. It happens purely 'off chain'. The interesting exception to this story is the original DAO heist. Where an Eth hard-fork was made to reverse the heist. In this case there was an intervention. That intervention took broad consensus of miners and developers. So it takes a pretty big effort to get disputes "resolved" away from what the smart contract says. That is an interesting deviation from normal contracts before a court. Personally, I do think that Eth should not have forked the DAO heist away, but I understand why they did.