In a normal contract you agree to abide by some rules. If you break them penalties, etc.
But you don’t have to ‘just’ trust those rules to agree to the contract. You have to trust the oversight body. If you get the better of me on the text of the contract I might turn around and appeal to a judge that you are still violating the spirit of the contract.
The idea of the ‘Smart contract’ is that the code is the contract, and there is no appeal. Our ‘contract’ is just an executable which does what it does. You only have to trust it, and not some random judge.
This instance, where someone is unhappy with how their smart contract worked out in practice, and the dev/community at large are playing judge, has a lot of people wondering whether they are ending up with the worst of both worlds.
Right, except Is there a section in the code that says the parties agree to have no legal recourse? Because if not, I can still appeal to a judge. The simple fact is that in the legal eyes of the law, the code is not a contract, it is perhaps at best a vehicle to complete a contract. You cannot simply set up a new legal agreement and just say “And you don’t have any legal recourse”.
You cannot simply set up a new legal agreement and just say “And you don’t have any legal recourse”.
It depends. You probably can’t write a contract that literally says “no recourse for breach.” But you probably could achieve substantially the same effect. For example, you might define substantial performance so low that it is always met, then explicitly waive any right to good faith and fair dealing) and any injunctive relief. If a court found the contract enforcible, I’m not sure how they could fashion a remedy.
But you probably could achieve substantially the same effect.
That depends. Courts can, and on occassion do, rewrite contracts (or refuse to enforce them) because they consider the contract to be inequitable or, in simpler terms, unjust.
Though unfortunately for them once launched the particular type of smart contract in question enforces itself (since it handles the transfers itself) and re-writing it isn’t really possible without destroying the entire system so the court isn’t being asked for help enforcing the contract and a ruling asking to change it is about as enforceable as a ruling declaring the moon to be an unlicensed aircraft that needs to cease flight immediately if you can’t get your hands on both parties to physically force them to make adjustments using new transactions.
It’s complicated even more by the fact that contracts can themselves be recipients/actors within this system.
I guarantee that if they could appeal to a judge, they would be. That’s just not possible.
Ultimately, one of two things will happen.
Parties:
The attacker: They used an exploit to transfer ether from one ‘account’ to another.
The victim: They no longer have ether that they used to.
The miners: They trade electricity/computation for network tokens in order to protect history from being rewritten. They are the reason I can’t just write a program to give myself every bitcoin. They wouldn’t run it. If they did, their users would abandon them for a fork from before my patch.
The way crypto works, you can basically count on consensus winning out. Thus, ultimately one of two things will happen.
1: The miners accept an update and fork to rewrite history such that the victim retains their ether.
2: The miners accept the attacker’s bribe (or not) and do not do so. The thief keeps the ether.
In order to influence whether 1 or 2 happens a judge would have to compel the actions of the miners. That is, he would have to seize control of the currency.
It has never happened. If you think that it will in this case, I’m willing to bet you that you are wrong.
From what I gather its a contract that is so spesific there isn’t any room for interpretation.
Normal contracts refer more strongly to a “reasonable human being fluent in the language its written in”. This leaves some of the basic concepts somewhat open and some fitting is needed to make spesific sense for the circumstances. For example we can refer to “chairs” without there being any rigourous definition of such. But a smart contract can define rigourously complex hypotheticals on what migth happen in a way that doesn’t leave any ambigity.
I guess the theory of it could be way more sound if humans were capable of logical omniscience. But given a piece of code you probably only understand its main modes of function. If you brough up some weird edgecase on how the spesification binds you and ask “did you really will this?” a typical human can’t answer yes to all such questions. Its like committing to following the bible and then afterwards finding out it involves stoning people (and then not being so willing after learning this fact). Someone who doesn’t know that marriage influences inheritance etc is not capable of agreeing to a marriage, even if he says yes during some ritual. But marriage is simple enough that it can be externally verified when a person does understand it or atleast ought to.
In a way we do somethign similar when we include terms of service that are boring enough and skippable enough that lots of people do not read them. But here the whole text is readable. It is just so dense in mathematical/technical coding that reading it in a comphehensive way would take significant effort which is not usually done. Its like saying “here read this schrödinger equation. Congratulations now you understand quantum mechanics completely”. But the comprehensiveness can be executed and the ability to prescan it for known tricks/bugs makes it not automatically socially useless. But if the code ends up later to have a property that neither of the parties were aware off and could not be expected to come aware off upon prescanning the code are they legally stuck on following it? You either have to acknowledge that the parties have incomplete information on the functioning of the code or you have bindings that nobody knew about or intended. Which is pretty bad for informed consent.
But that isnt even true. If two people enter into a contract they are governed by law, regardless of whether it is a paper contract or computer code. I highly doubt there is any legal language in the computer code saying that the agreeing parties waive any US legal rights.
The code is not the contract, but rather a vehicle to effect the contract. You can have the exact same setup without the code.
On top of that, there is some legal questions as to what the DAO stuff actually is as a legal matter.
In some contexts, ‘smart contract’ is a misnomer: it’s just a computer program that resembles a legal contract but does not interact with the government in any way. It just moves money according to agreed-upon rules. I don’t think it’s common to use both a legal contract and a ‘smart contract’ to enforce the same agreement.
In the specific case of the project known as ‘TheDAO’, the terms of service does indeed waive all legal rights and says that whatever the computer program says supersedes all human-world stuff. (https://daohub.org/explainer.html)
All of this stuff is so experimental that there’s an exception to everything at this point.
In some contexts, ‘smart contract’ is a misnomer: it’s just a computer program that resembles a legal contract but does not interact with the government in any way.
Typically speaking, a legal contract does not interact with the government—only a very small percentage of contracts are adjudicated by a court or reviewed by any government body.
In other words, moving around money, tangible objects, services, and intangible rights is a reasonable shorthand for > 80 % of the things the law would call a contract.
In the specific case of the project known as ‘TheDAO’, the terms of service does indeed waive all legal rights and says that whatever the computer program says supersedes all human-world stuff.
I may have missed it, but that is not at all what the link you posted says. It has a waiver of liability against 3rd parties (basically the DAO operation). It does not say that you cannot have liability between to parties subject to a contract, or even seem to mention anything about dispute resolution.
Also, I would like to point out that you CANNOT have a contract that requires an illegal act. For instance, you cannot create a contract that says “Person A waives all legal recourse against Person B if Person B murders them.” The act of murder is still illegal even if both parties agree to it.
Finally, the TOS for DAO is not the contract, it is merely the TOS for using the service. So the individual contracts between two people are going to override that.
You’re still conflating the term “smart contract” and the idea of a legal contract.
That’s like conflating “observer” in physics with a human staring at you or hearing someone talking about a Daemon on their server and talking as if it’s a red skinned monster from hell perched on the server.
Imagine someone says
“This is a river, if you throw your money in it will end up somewhere, we call the currents a ‘water contract’, the only difference to a normal river is that we’ve got the paperwork signed such that this doesn’t count as littering”
It does indeed end up somewhere and you’re really really unhappy about where it ends up.
Who do you think you’re going to take to court and for what contract?
Finally, the TOS for DAO is not the contract, it is merely the TOS for using the service. So the individual contracts between two people are going to override that.
Which two people do you mean? The creators of the the DAO don’t have control over it. When people who brought tokens sue them, they can’t give them the money back.
The law cannot compell you not to murder either, but does that mean you can go out an do it freely? No.
The law doesnt need to compell the computer code, it can force people to do things, it can force the code to be rewritten, it can shut down servers that run the code, it can confiscate the money used in the processes.
These are not some magical anonymous items that are above the law and inviolate. While it is true that they have not been litigated yet, that time is quickly coming, and they still rely on outside individuals to complete the contracts, and are still governed by all the same laws that everything else is.
The law doesnt need to compell the computer code, it can force people to do things, it can force the code to be rewritten, it can shut down servers that run the code, it can confiscate the money used in the processes.
The idea of the blockchain is that there no single server that runs the code and that could be attacked that way.
A lot of de jure illegal transactions happened on the bitcoin blockchain without a court confiscating the transactions.
When MtGox was hacked they couldn’t simply ask a court to confiscate the Bitcoins that the hacker stole.
There are a lot of drugs sold via Bitcoin and the courts also don’t confiscate those.
If people make a bet in Augur that the US government doesn’t like, the US government can’t shut down Augur. At least that’s the idea on which Ethereum and Augur are build.
Augur can trade a market about whether a certain drug will get FDA approval and the market participants are anonymous. That means they can use insider information. It’s impossible to backup that anonymous transaction with standard contracts but smart contracts can.
I hate this so much, and it happens so often with Tech stuff. Just because something is brand new, and does not have laws or regulations relating to it right now does not mean that people can simply do whatever they want.
Courts are still going to litigate this stuff, and people are definately going to sue if they start losing huge amounts of money, and it is just worse that the creators are basically not planning for these issues, but just going off the basis that it is all going to work out.
Just because something is brand new, and does not have laws or regulations relating to it right now does not mean that people can simply do whatever they want.
Well, it’s a bit more complicated than that.
When people say that some things (like the blockchain) are outside of the law, they don’t usually mean that no one can be sued or that the courts won’t try to enforce judgements. What they mean is that those things are hard for the law to reach. A court might issue a judgement but it won’t be able to enforce it. The general idea is that enforcement is so difficult and expensive so that it’s not worth it.
For a simple example, consider piracy (of the IP kind). It is very much illegal and… so what? I can still go online and download the latest movie in a few minutes. It’s not that the FBI can’t bust me if it really wants to. It can. But it’s inefficient and cost-prohibitive.
As to smart contracts, that’s just a misnomer. They are not contracts. They are determistic mechanisms, set up for a particular purpose. Bespoke machines, if you wish. A contract in law implies a meeting of the minds which these algorithms cannot provide. Instead, they offer a guarantee that if you do A, B happens.
They are more akin to vending machines: you feed in some money and you get the item. It’s not a contract between you and the vendor—it’s just a machine which you used.
Lum has the right of it. Thanks for writing that. I was trying to phrase it right and kept ending up with “Physics doesn’t care if you hate it so much”.
Court can order computers dismantled. And I think there are methods for state to aquire property if it can be shown to be a “vechicle of crime”. It is afterall the state that controls the monopoly on violence needed to enforce private property in the first place.
This is basically the idea that the state could decide to try to outlaw bitcoin mining and fight it.
Secondly you are wrong that any state has a monopoly on violence these days. There are multiple states and not none of them have a monopoly on violence. If you want to fight crypto-currencies you have to enforce laws in every country.
Yes, and therefore no state has a monopoly on violence for the purpose of this discussion. To control Bitcoin or Ethereum an entity would need to make mining illegal in all jurisdictions.
Haven’t people been making contracts for a pretty long time? What is this new ‘smart contract’ thing and how is it unique?
Someone cracking a smart contract wouldn’t really mind the law.
So, the theory goes:
In a normal contract you agree to abide by some rules. If you break them penalties, etc.
But you don’t have to ‘just’ trust those rules to agree to the contract. You have to trust the oversight body. If you get the better of me on the text of the contract I might turn around and appeal to a judge that you are still violating the spirit of the contract.
The idea of the ‘Smart contract’ is that the code is the contract, and there is no appeal. Our ‘contract’ is just an executable which does what it does. You only have to trust it, and not some random judge.
This instance, where someone is unhappy with how their smart contract worked out in practice, and the dev/community at large are playing judge, has a lot of people wondering whether they are ending up with the worst of both worlds.
Right, except Is there a section in the code that says the parties agree to have no legal recourse? Because if not, I can still appeal to a judge. The simple fact is that in the legal eyes of the law, the code is not a contract, it is perhaps at best a vehicle to complete a contract. You cannot simply set up a new legal agreement and just say “And you don’t have any legal recourse”.
It depends. You probably can’t write a contract that literally says “no recourse for breach.” But you probably could achieve substantially the same effect.
For example, you might define substantial performance so low that it is always met, then explicitly waive any right to good faith and fair dealing) and any injunctive relief. If a court found the contract enforcible, I’m not sure how they could fashion a remedy.
That depends. Courts can, and on occassion do, rewrite contracts (or refuse to enforce them) because they consider the contract to be inequitable or, in simpler terms, unjust.
Though unfortunately for them once launched the particular type of smart contract in question enforces itself (since it handles the transfers itself) and re-writing it isn’t really possible without destroying the entire system so the court isn’t being asked for help enforcing the contract and a ruling asking to change it is about as enforceable as a ruling declaring the moon to be an unlicensed aircraft that needs to cease flight immediately if you can’t get your hands on both parties to physically force them to make adjustments using new transactions.
It’s complicated even more by the fact that contracts can themselves be recipients/actors within this system.
I guarantee that if they could appeal to a judge, they would be. That’s just not possible.
Ultimately, one of two things will happen.
Parties: The attacker: They used an exploit to transfer ether from one ‘account’ to another.
The victim: They no longer have ether that they used to.
The miners: They trade electricity/computation for network tokens in order to protect history from being rewritten. They are the reason I can’t just write a program to give myself every bitcoin. They wouldn’t run it. If they did, their users would abandon them for a fork from before my patch.
The way crypto works, you can basically count on consensus winning out. Thus, ultimately one of two things will happen.
1: The miners accept an update and fork to rewrite history such that the victim retains their ether. 2: The miners accept the attacker’s bribe (or not) and do not do so. The thief keeps the ether.
In order to influence whether 1 or 2 happens a judge would have to compel the actions of the miners. That is, he would have to seize control of the currency.
It has never happened. If you think that it will in this case, I’m willing to bet you that you are wrong.
From what I gather its a contract that is so spesific there isn’t any room for interpretation.
Normal contracts refer more strongly to a “reasonable human being fluent in the language its written in”. This leaves some of the basic concepts somewhat open and some fitting is needed to make spesific sense for the circumstances. For example we can refer to “chairs” without there being any rigourous definition of such. But a smart contract can define rigourously complex hypotheticals on what migth happen in a way that doesn’t leave any ambigity.
I guess the theory of it could be way more sound if humans were capable of logical omniscience. But given a piece of code you probably only understand its main modes of function. If you brough up some weird edgecase on how the spesification binds you and ask “did you really will this?” a typical human can’t answer yes to all such questions. Its like committing to following the bible and then afterwards finding out it involves stoning people (and then not being so willing after learning this fact). Someone who doesn’t know that marriage influences inheritance etc is not capable of agreeing to a marriage, even if he says yes during some ritual. But marriage is simple enough that it can be externally verified when a person does understand it or atleast ought to.
In a way we do somethign similar when we include terms of service that are boring enough and skippable enough that lots of people do not read them. But here the whole text is readable. It is just so dense in mathematical/technical coding that reading it in a comphehensive way would take significant effort which is not usually done. Its like saying “here read this schrödinger equation. Congratulations now you understand quantum mechanics completely”. But the comprehensiveness can be executed and the ability to prescan it for known tricks/bugs makes it not automatically socially useless. But if the code ends up later to have a property that neither of the parties were aware off and could not be expected to come aware off upon prescanning the code are they legally stuck on following it? You either have to acknowledge that the parties have incomplete information on the functioning of the code or you have bindings that nobody knew about or intended. Which is pretty bad for informed consent.
The contract isn’t enforced by a court of law but is enforced by computer code.
But that isnt even true. If two people enter into a contract they are governed by law, regardless of whether it is a paper contract or computer code. I highly doubt there is any legal language in the computer code saying that the agreeing parties waive any US legal rights.
The code is not the contract, but rather a vehicle to effect the contract. You can have the exact same setup without the code.
On top of that, there is some legal questions as to what the DAO stuff actually is as a legal matter.
Just to clear some things up:
In some contexts, ‘smart contract’ is a misnomer: it’s just a computer program that resembles a legal contract but does not interact with the government in any way. It just moves money according to agreed-upon rules. I don’t think it’s common to use both a legal contract and a ‘smart contract’ to enforce the same agreement.
In the specific case of the project known as ‘TheDAO’, the terms of service does indeed waive all legal rights and says that whatever the computer program says supersedes all human-world stuff. (https://daohub.org/explainer.html)
All of this stuff is so experimental that there’s an exception to everything at this point.
Typically speaking, a legal contract does not interact with the government—only a very small percentage of contracts are adjudicated by a court or reviewed by any government body.
In other words, moving around money, tangible objects, services, and intangible rights is a reasonable shorthand for > 80 % of the things the law would call a contract.
I may have missed it, but that is not at all what the link you posted says. It has a waiver of liability against 3rd parties (basically the DAO operation). It does not say that you cannot have liability between to parties subject to a contract, or even seem to mention anything about dispute resolution.
Also, I would like to point out that you CANNOT have a contract that requires an illegal act. For instance, you cannot create a contract that says “Person A waives all legal recourse against Person B if Person B murders them.” The act of murder is still illegal even if both parties agree to it.
Finally, the TOS for DAO is not the contract, it is merely the TOS for using the service. So the individual contracts between two people are going to override that.
You’re still conflating the term “smart contract” and the idea of a legal contract.
That’s like conflating “observer” in physics with a human staring at you or hearing someone talking about a Daemon on their server and talking as if it’s a red skinned monster from hell perched on the server.
Imagine someone says
“This is a river, if you throw your money in it will end up somewhere, we call the currents a ‘water contract’, the only difference to a normal river is that we’ve got the paperwork signed such that this doesn’t count as littering”
It does indeed end up somewhere and you’re really really unhappy about where it ends up.
Who do you think you’re going to take to court and for what contract?
Which two people do you mean? The creators of the the DAO don’t have control over it. When people who brought tokens sue them, they can’t give them the money back.
You might be correct. I suspect you know more about the law side of this than i do.
Law might want to govern them, but the power of the state is limited. A court can’t compel a computer that executes code to do anything.
The law cannot compell you not to murder either, but does that mean you can go out an do it freely? No.
The law doesnt need to compell the computer code, it can force people to do things, it can force the code to be rewritten, it can shut down servers that run the code, it can confiscate the money used in the processes.
These are not some magical anonymous items that are above the law and inviolate. While it is true that they have not been litigated yet, that time is quickly coming, and they still rely on outside individuals to complete the contracts, and are still governed by all the same laws that everything else is.
The idea of the blockchain is that there no single server that runs the code and that could be attacked that way.
A lot of de jure illegal transactions happened on the bitcoin blockchain without a court confiscating the transactions. When MtGox was hacked they couldn’t simply ask a court to confiscate the Bitcoins that the hacker stole.
There are a lot of drugs sold via Bitcoin and the courts also don’t confiscate those.
If people make a bet in Augur that the US government doesn’t like, the US government can’t shut down Augur. At least that’s the idea on which Ethereum and Augur are build.
Augur can trade a market about whether a certain drug will get FDA approval and the market participants are anonymous. That means they can use insider information. It’s impossible to backup that anonymous transaction with standard contracts but smart contracts can.
It is an article of faith is some circles that the blockchain is exactly this kind of magic :-/
I hate this so much, and it happens so often with Tech stuff. Just because something is brand new, and does not have laws or regulations relating to it right now does not mean that people can simply do whatever they want.
Courts are still going to litigate this stuff, and people are definately going to sue if they start losing huge amounts of money, and it is just worse that the creators are basically not planning for these issues, but just going off the basis that it is all going to work out.
Well, it’s a bit more complicated than that.
When people say that some things (like the blockchain) are outside of the law, they don’t usually mean that no one can be sued or that the courts won’t try to enforce judgements. What they mean is that those things are hard for the law to reach. A court might issue a judgement but it won’t be able to enforce it. The general idea is that enforcement is so difficult and expensive so that it’s not worth it.
For a simple example, consider piracy (of the IP kind). It is very much illegal and… so what? I can still go online and download the latest movie in a few minutes. It’s not that the FBI can’t bust me if it really wants to. It can. But it’s inefficient and cost-prohibitive.
As to smart contracts, that’s just a misnomer. They are not contracts. They are determistic mechanisms, set up for a particular purpose. Bespoke machines, if you wish. A contract in law implies a meeting of the minds which these algorithms cannot provide. Instead, they offer a guarantee that if you do A, B happens.
They are more akin to vending machines: you feed in some money and you get the item. It’s not a contract between you and the vendor—it’s just a machine which you used.
Lum has the right of it. Thanks for writing that. I was trying to phrase it right and kept ending up with “Physics doesn’t care if you hate it so much”.
Of course the creators do plan for the issue. They make sure that there no central point of failure that can easily be attacked.
Which of those people who lost bitcoin when MtGox has hacked sued the miners to transfer the stolen money back to their accounts?
Court can order computers dismantled. And I think there are methods for state to aquire property if it can be shown to be a “vechicle of crime”. It is afterall the state that controls the monopoly on violence needed to enforce private property in the first place.
Note however that in this case the code is being run on thousands or millions of anonymous machines; physical dismantling would be very difficult.
This is basically the idea that the state could decide to try to outlaw bitcoin mining and fight it.
Secondly you are wrong that any state has a monopoly on violence these days. There are multiple states and not none of them have a monopoly on violence. If you want to fight crypto-currencies you have to enforce laws in every country.
Its usually seen as very rude to go exercise violence on another states soil.
Doesn’t bother the United States in the least.
Yes, and therefore no state has a monopoly on violence for the purpose of this discussion. To control Bitcoin or Ethereum an entity would need to make mining illegal in all jurisdictions.