There's something I don't understand about Smart Contracts.
Normal contracts are written by lawyers. They are reviewed by both parties' lawyer. Sometimes, after the contracts are signed, the lawyers disagree what a particular provision or clause means.
At which point, they either negotiate or sue. In which case, a human judge weighs up the case and decides.
How do disagreements work with smart contracts?
I assume some contracts will be buggy - mostly because programmers are just as fallible as lawyers. So how are disagreements resolved in an equitable way?
I am 100% sure that if I went and "the code is the contract"ed whatever ends up being DAO2.0 out of 5% of all existing ETH, that Vitalik would come save it "just this once" one more time... I absolutely do not believe for one second that there wouldn't be another fork. And I say this as someone with a substantial interest in the currency.
It depends, I guess. If what you're talking about is a disagreement between two parties about the object of the contract or its conditions, I don't see why you couldn't resolve it the same way you would with a paper contract. I don't know if any country's definition of contract is broad enough to include smart contracts, but you could possibly bring this to court, perhaps?
If the two parties can agree on a new stipulation of the (smart) contract, a new contract can be issued.
As an aside, this is painful, as a smart contract's address will usually be linked to some user facing application or just your own wallet.
A way to facilitate this is through the use of a proxy contract, which is a contract that exists only to forward instructions to a secondary contract (the main one). The main contract can then do whatever is meant to do.
Now if there is a disagreement or a bug, after an agreement is reached, you can deploy your new contract, change the address on the proxy contract and you're done.
Consider finance options contracts. It's math, there aren't ambiguities, "that's not a bug, it's a feature". Also consider that if lawyering was not an available tool in software contracts, there would still be a game theoretic equilibrium, just a different one, but markets would still function. Before contract law there were other coordinating forces, such as royalty and religion, and things worked out well enough. http://home.uchicago.edu/~rmyerson/research/stratofc.pdf
That's because they had the power to go to war to enforce their contracts. Etherium holders do not have such power, so ultimately, relies on the country's laws to enforce the smart contract.
Game theory is the more fundamental thing that power ultimately derives from. From the paper I linked:
"Focal arbitration power is power to redefine property rights, which of course may be
profitable for the focal arbitrator himself. But a society's generally understood rules for
recognizing leaders can impose constraints what a leader must do if he wants to retain his
generally recognized position of authority."
Normal contracts are written by lawyers. They are reviewed by both parties' lawyer. Sometimes, after the contracts are signed, the lawyers disagree what a particular provision or clause means.
At which point, they either negotiate or sue. In which case, a human judge weighs up the case and decides.
How do disagreements work with smart contracts?
I assume some contracts will be buggy - mostly because programmers are just as fallible as lawyers. So how are disagreements resolved in an equitable way?