You can already create legal contracts easily - sign on a piece of paper. This piece of paper is interpreted by a relatively robust legal system with a long history. How is Ethereum going to do better than that if a disagreement is settled not by inspecting the code, but by the opinion of an arbitrary community of miners?
Right. Ethereum is just a medium for recording a contractual agreement. Using ethereum should not make contracts any more enforceable in the eyes of the law.
In many cases I would assume the opposite will occur: plaintiffs will claim that there was no contract formation because because the technical mumbo-jumbo of computer code is incomprehensible to a layman.
I suspect that courts will react quite favorably to this argument seeing as how they have a natural interest in maintaining their jurisdiction.
What is the advantage in creating an Ethereum smart contract over a regular contract in our legal system (using a lawyer and some pen and paper)?
If code has bugs (and sufficiently complex code will always, always, always have bugs) you simply have to suffer the consequences (sorry for your loss) or the entire community can choose to execute a hard fork and rewrite history (see DAO). If a vanilla legal contract has some typos or even some semantic differences that lead to ridiculous outcomes, lawyers and judges will hash it out. People, not computers, make the final decisions in our legal system, so human errors are mostly tolerated. If I sneak a clause into a contract saying that the other party must pay me their entire salary every year, it would be voided in an instant. Not so if placed in a "smart" contract.
Perhaps you could say that Ethereum is better than our legal system because it's decentralized. But I don't think it's enough to say something is better simply because it's decentralized. Why should I be afraid of a centralized legal system? We elect politicians, who choose judges (who have to be confirmed by legislative bodies whose members we also elect). Sure, it's not perfect, but it's hardly the tyrannical system that would make me turn to the bug-ridden wild west of Ethereum smart contracts.
I think the only reasonable argument in favor of Ethereum contracts is that they are easier to create (less friction, don't need to hire a lawyer, etc), but that's hardly a good thing. Real life contracts are expensive for a reason, not because Rothschild & Co. have some other nefarious plans. You need lawyers to write good contracts and think through their consequences, as well as reasonable, human judges to decide issues when they arise. Ethereum, to me, seems a purely ideological creation, not one rooted in actual needs that people have. Sure, it's decentralized and immutable (unless a contract hurts the wrong people, lol) but did anyone really want that (except for those with ideological reasons, i.e. libertarians)?
Not trying to start a flamewar, I just want to hear a strong opposing viewpoint on this.
Maybe if everything the agreement is about is on the blockchain.
However i cant think of a non-contrived example where that is true. Real agreements involve real things in the real world, outside of the reach of automated compliance checking, and you're back at square one.
Perhaps you could say that the formalized computer language helps disagreements, but lawyers already have formalized language for this, and i suspect legaleze is better for making human-agreements than some turing complete language ever would be.
While a clearer contract language greatly intrigues me, I'm skeptical on how effective it would be.
Even the clearest contract is worthless if one party is too weak to hold everyone to the contract's terms. "What, you want me to pay for the work you did for me? Come back with a lawyer and we'll talk."
That said, Ethereum looks really cool, and I'd be interested to see what kind of good they can do.
While I agree, I think you could make similar arguments about the contents of legal contracts today. The overwhelming majority of users of say, Kickstarter or online stock brokerage systems do not read the contracts they are asked to agree to, and if they attempted to would be incapable of understanding them anyway. So I think that argument is a bit of a red herring.
The advantages of Ethereum are in eliminating 3rd party trust and the costs that come with it. Right now if you want one of these simple financial services, there is both a direct financial cost associated with it and the implicit risk-expense of trusting someone else with your money. This is a drain on the global financial system that just doesn't need to exist anymore.
The idea that Ethereum or things like it will supplant the legal system is of course, absurd on its face. That will not happen. But what we may start to see, in my opinion, is the co-mingling of the two, and contracts being written with deterministic, executable components alongside more traditional legal verbiage.
Fundamentally there are some things that are amenable to mechanization and some things that are not. But right now both are encoded in human language. And the use of either one for the other's optimal purpose is perverse and unnecessarily expensive.
The issue with contracts isn't interpretation. The legal system evolved and develop procedures in how those contracts are executed. It is done through a form consensus building between two parties and the jurisprudence. There is procedural component of that involves human judgment and also provides avenues of appeal. The human element also serves as a sanity check within the legal system: intent and the consequences of a clauses matters more than what is stated. Ethereum, right now has none of this. The execution of the contracts are blind. Also, if software can be any indication of things, complex software with a lot of interacting parts tend to be very complex, and with no human in the process, with no consensus amongst those involved, what is being executed by those clauses and the intentions of those clauses can be worlds apart. I think in the realm of software, when this happens, people label this disconnect as a bug...
Well this is what the smart contract / Ethereum folks are setting out to do. I think they will soon run into the fact that the function of the legal system is not to run through some obfuscated flow chart but to identify edge cases and resolve them by debating the original intent of the law. This is what happened during the DAO hack when they had to fork the chain because everyone agreed thats not what was supposed to happen.
Crypto's been around for over a decade dude. How many decades do you want?
Why would I ever build a business around an Ethereum smart contract when I could just write a normal contract, and then I know the courts will enforce it even if one of my business associates tries to pull a fast one?
If it's about the precise coding of constraints and all that, you can easily write a legal contract that specifies that the piece of code should be followed. Ask wall street derivatives traders if they have any issues with making paper legal contracts arbitrarily mathematically complex. It works fine for them.
So we now know that contracts on Ethereum mean what they say, unless there is a community consensus that the contract actually means something else, and the machine meaning doesn't properly reflect the intent of the parties.
But it is a little unsatisfactory to have this ad-hoc method of hard forking. Maybe there should be in future some sort of public process to determine whether an action is consistent with the intentional meaning of the contract (as opposed to the machine meaning). We could all agree to appoint some qualified person to hear disputes and determine whether the code has got it wrong and we should fix the code with a hard fork. Let's call that person a 'judge'.
Now that judge will need to have procedures and rules. He or she isn't deciding on a whim, after all. These rules will set out things like what evidence the judge can look at to determine the intentional meaning of the contract. Just for giggles, let's call one of those rules the 'parol evidence rule'. Also, we don't want anyone to be able to bug the judge and waste their time, so we need some rules as to who can ask the judge to look at a dispute. I'm feeling creative, so let's call those rules 'standing rules'.
What would be really fabulous is if this system could be paid by the taxpayer out of general revenue. That way we can reduce the likelihood of the biggest, richest investors bribing the judges.
But this is obviously all fantasy. No one would ever build such a system.
Good lawyers don't write overly complicated contracts, and they don't speak in legalese. The concepts covered within the contract might be complex, but the writing itself is deliberately readable. Complex things are brittle. Clear, well written contracts are more likely to be interpreted correctly by all parties if something unforeseen happens. Contrast this to the alternative - writing a contract by enumerating every possible outcome, hoping that you don't miss one, knowing that if you do, every party will argue for the interpretation that's most favorable to them. The adversarial aspect makes things that much harder.
Contracts in something as flexible as Ethereum strikes me as the ultimate in fragility. There's a great use case for anything that looks like a smallish FSM - formal methods will yield something very usable and provably correct. Being able to do that on a system with a state space the size of Ethereum + The DAO - yea, we're a ways away from that one.
I've passed beyond skeptical of smart contracts that try to apply to real life to a concern that much more real contract law needs to apply to smart contracts.
Ethereum is already full of fun stories where "smart" contracts did extremely dumb things because they took a programmer's word extremely literally rather than a programmer's intent.
In a world where programmers are assumed to be ordinary, fallible humans that's a ton of pressure to put on a programmer to never make a single mistake. While there's a lot of active research into trying to bring technical solutions to that human problem such as strict "formal proofs" and such of the programs being made into smart contracts, I'm increasingly of the opinion that would benefit them the most would be political and sociological solutions such as classics like "courts of appeals", "trials by jury of peers" to determine intent over literal substance, and so forth.
Those aren't "fun, technical" solutions, and would require placing trust again in institutions and people, so I absolutely have zero optimism that any smart contracts system would embrace them. I just think that they need such political structures to exist otherwise you left with merely a lowest common denominator tyranny of software bugs (no matter how formally the best contracts mathematically prove their claims/efforts).
> The issue is that ethereum isn't the only option here - standard legal contracts exist, and are by far more common. The only real advantage ethereum offers is the immutability aspect - that no one can go back and argue the contract is wrong or invalid.
A court would not see it that way. Contract law would apply to these contracts if the parties to the contract sued each other.
The legal system applies to all contracts, whether on Ethereum or not. Ethereum does not get to exist in its own reality outside of the law.
Therefore, the immutability of an Ethereum contract won't matter very much, because a judge can still invalidate part of it, or all of it, if it contains unconscionable provisions, lack of disclosure, agreement to commit criminal acts, fraud or misrepresentation, simple mistakes, or any one of the many other reasons contracts can be rendered legally unenforceable.
So, I don't see how immutability offers any advantage over standard legal contracts. It won't prevent the courts from determining that a contract is wrong or invalid.
I agree that right now the legal system still applies.
The problem is that lots of smart contract enthusiasts embrace them for the same reason they embrace crypto currency: they see it as a way to avoid government institutions that they do not want to have to work with or trust. In fact they want the entire contract to be trustless: agree to the terms, implement them in code, and and since the rest is automated you don't have to trust that the other party won't follow through.
I don't see how that can actually work in an automated fashion. Whether it's traditional government or some other legal system or analog, you need a resolution layer above contract layer, but at that point you've lost a lot if what enthusiasts want in smart contracts.
> Even the clearest contract is worthless if one party is too weak to hold everyone to the contract's terms. "What, you want me to pay for the work you did for me? Come back with a lawyer and we'll talk."
Ethereum solves that: as part of the contract you put the money into escrow, such that if the work is completed the money is automatically delivered to the other guy.
Personally I think the problem is on the other side: an automated contract is all well and good, but how can a computer ever make a judgement as to whether the work that was done was compliant with the terms?
This works for the obvious thefts and high profile contracts but what about smaller contracts and more gray areas? Will the miners know about or care enough to actually efficiently resolve disputes fairly? Will there be a fork for the person who lost 500$ because of a bug in his contract? I’m worried that miners policing everything won’t be sustainable and in the end code will be the final arbiter on Etherium and as we all know writing code without bugs is an unrealistic expectation to place on people.
I would add one more point: even if both participants in a contract fully understand and agree to the contract, the contract could still be thrown out under contract law for many reasons -- unconscionability, agreement to commit a crime, etc.
If Ethereum becomes popular enough, one day the participants in an Ethereum contract are going to sue each other, and the judge is not going to be impressed by arguments that the contract is intended to be immutable. You can't opt out of contract law just by saying that you opt out of contract law.
As evidenced by the hard fork of Ethereum when a smart contract didn't work the way it was supposed to. There clearly is demand for something like transaction disputes.
That's not how it works. If two parties in an Ethereum contract sue each other, real judges will get involved, and they will treat Ethereum contracts the same as any other contracts. They won't give a crap about what the Ethereum protocol says about the transaction.
Ethereum contracts do not get to exist outside of the legal system. Courts have jurisdiction over all contracts, period.
Civil law can't be fully ported to computer code, but enough of it probably can. Most contractual issues don't get anywhere near a court. They're resolved via negotiation and alternative dispute resolution (and there's normally a contractual obligation to go this route before resorting to the courts). Dispute resolution is incredibly expensive, especially when you're dealing with multiple jurisdictions. Lawyers and judges haven't managed to stop parties using mediation and arbitration services offered by people who aren't legally trained, such as economists or people with extensive domain experience.
But smart contracts would change the way contracts are written, as they're often intentionally ambiguous for a variety of reasons. There's also the problem of "oracles", but we already have a profession for translating real-world events into legal ones (notaries).
reply