Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

You have vastly oversimplified the matter.

In common-law jurisdictions, contract law pertains only to agreements which are made with the intent to contract, i.e., with the intent that the agreement should be enforced by law. In the case of agreements made without that intent, and particularly when an agreement explicitly stipulates that legal enforcement should not apply, common-law tradition says (with some major caveats) that a judge should dismiss suits related to the enforcement of the provisions of the agreement.

Further, even in the case that a so-called "smart contract" is deemed to be subject to contract law (whether because the parties made that intention clear, or because their intention was vague and a judge consequently rules that to be the case), it is reasonable to argue that the intention of the parties was to be bound by the rules of the system in which they chose to express their agreement, e.g., within a system in which it is broadly understood that "the code is the contract", and that the execution of the code according to the parameters of the execution environment at the time of the agreement should dictate the outcome of the agreement. In other words, it is perfectly plausible from a legal point of view that a judge could find that the primary intent of the parties was to be governed by the rules of the system in which they chose to execute the agreement (e.g., Ethereum under its pre-fork consensus rules), rather than ruling on their intent at the lower level of the code expressing the contract itself. Such an interpretation would go little further than the already well established legal precedents of allowing contracting parties to bind themselves to the decision of an arbiter other than a court of law, or of one court acceding to the jurisdiction of another as stipulated by the contract itself.

A judge might therefore plausibly rule in a way that enhances rather than degrades the promise of immutability in a technically enforced consensus system. That is, a judge might reasonably find that changing the rules of the game halfway though (e.g., with an unanticipated hard fork that changes the system's state or execution parameters) is contrary to the intent of the contracting parties, and that therefore the agreement should be interpreted under the rules of the status quo ante (pre-fork).

One of the basic philosophical foundations of contract law, dating to Adam Smith, is that free people should have the power to bind themselves in enforceable agreements. There are many qualifications to this idea, but it an important justification for the existence of contract law and for the way it has evolved over the centuries: the whole point is that contract law should empower parties to make agreements and to be bound by those agreements, and (within some bounds) that includes the power to decide how disputes about the terms of those agreements are adjudicated. Choosing a mechanism of enforcement de machina rather than de jure fits into this philosophical framework just fine.



sort by: page size:

As I explained in another thread [0], there is a reasonable argument that so-called "smart contracts" are not legally contracts at all, because they are not intended to give the parties recourse to legal enforcement of their terms. (This is the basic raison d'être of smart contracts—enforcement de machina rather than de jure.)

If a judge accepts that argument, then contract law would not apply to smart contracts, and the usual considerations of intent in contract law would not be relevant. Of course the intent underlying the code that implements the smart contract would remain relevant, but unless the "contracting" parties agreed on meta-provisions for arbitrating disagreements about the intent of the code (legal or otherwise), it seems reasonable to accept the default interpretation supported by many members of Ethereum's community: what the code says goes.

In short, legal arguments may not be dispositive, because smart contracts may not be legal contracts. In that case, determining the intent behind the code may be a morass best avoided as many assumed it would be, by ignoring it and letting the code decide.

(Of course, the ideal form of arbitrating meta-provision is code compiled against a spec enforced by a tool-chain that includes formal verification—both because it is self-enforcing and because it bridges the gap between intent and what the code actually does. But that seems a long way off.)

0. https://news.ycombinator.com/item?id=11932003


> Contracts are agreements that are meant to be legally enforceable.

You have hit on an important point, but like most commentators here and elsewhere, you seem entirely to have failed to recognize its significance. In the American and English tradition of common law, a contract is an agreement made with the intention that it be subject to legal enforcement [0]. Not every agreement is meant to give its parties recourse to legal remedy, and hence not every agreement is a contract. That is, not every agreement is subject to contract law [1].

It is of little significance that people in the Ethereum community (or in the broader crypto-asset community) have taken to calling their programs "smart contracts"; the name signifies nothing. In the main, and particularly in the case of the DAO, it has been made clear, ad nauseum, that these programmatic agreements are not meant to be subject to legal enforcement; in short, it has been emphasized from the start, and at every intermediate step, that smart contracts are not contracts in the legal sense. Indeed, the major motivation for the development of programmatic agreements (i.e., "smart contracts"), has been to supplant enforcement de jure by enforcement de machina.

The law allows for agreements that do not have the force of law behind them, and naturally the law says little about such agreements. For this reason alone, absent separate provisions which purport to invoke legal enforcement of the intent behind the code that implements a smart contract, it is perfectly reasonable, legally speaking, to argue that prima facie these agreements are not subject to contract law.

Thus the independence of programmatic agreements from legal constraints is legally plausible; this is a very different situation from the legally absurd arguments put forth by some crypto-zealots that, for example, transfers of cryptocurrencies are not subject to laws restricting money transmission.

Now, might a judge decide that any particular programmatic agreement—or "smart contract"—is in fact a legal contract? And that therefore the judge, not the code, ultimately determines who gets what? Sure. Judges tend to decide that they get to decide, when there's any question about it. But it's not unreasonable to imagine that a judge might really say, "No, this is not a legally enforceable contract. It says so right on the box." And if that happens, then what the code says goes.

0. https://en.m.wikipedia.org/wiki/Intention_to_be_legally_boun...

1. Beyond the determination of whether the agreement is legally a contract, I mean. In particular, I mean to point out that a so-called "smart contract" might well be legally deemed not to be a contract at all, and therefore not subject to the provisions of contract law that give precedence to the parties' intent in the agreement over its literal interpretation. In other words, if a programmatic "smart contract" is not legally a contract, there is no legal reason that the law should favor any outcome other that what the code's execution ordains, or that the law should say anything on the subject at all.


> the law should not be able to influence the outcome of a smart contract

You don't seem to understand how the law works. The problem isn't a judge trying to interfere with any of the technical features of the contract. A judge would rule on the legality of the contract as the law sees it[1]. You will be able to argue that the code is the final authority. You will probably also have to show why the other party knew and understood that risk. Depending on the situation, the judge, how each side argues their case, etc, the judge might even agree and dismiss the case.

However, a judge could, for example, rule that an important part of the contract is unconscionable, illegal, etc, and order YOU - not the contract, not the blockchain, not the software - to return the other party's money, or release the other party from their contractual obligations, or to change any particular detail of the contract's terms. The judge won't rule against the contract, they will rule against you, and it's up to you to figure out how to follow the judges order=. If the judge decides to throw the book at you for some reason, the judge isn't going to be interested in why you think about immutable contracts, or what you think the contract means. They could simply throw you in jail (or fine you $1000/day) for contempt until you follow the judge's orders.

It's generally a very bad idea to ignore a judge's orders. IN some situations, this can make immutability a serious liability.

[1] What was the offer? Was there a deliberately misleading or unconscionable clause in the contract? Were the terms understood and accepted? Did each party uphold their obligations under the contract? etc (this type of question will be asked regardless of how the contract is implemented)


A judge is supposed to read the smart contract source code and determine the intent?

The parties are frequently anonymous and have never interacted outside of the publication the smart contract to the blockchain and another party interacting with it. There is no basis for determining intent besides the code itself.

Are you thinking that the contracts have analogs to legal contracts? Usually (exclusively?) they only mediate transactions and behavior that is contained within the blockchain itself. There isn't an exchanging of assets that exist externally to the blockchain like real estate.

Although I think crypto fanatics think that the world will trend that way. Truly programmable money has never existed before. If more of our monetary infrastructure migrates to blockchains it will be interesting to see how current contract law adapts and is applied.

If you want to argue with 'code is law' proponent, ask them how they feel about the DAO hack and ensuing hard fork of Ethereum. That was an interesting case where the ETH community as a whole decided that code was not in fact law.


The intention of the parties was that the smart contract was enforced exactly as the smart contract was written: if that turns out to be unexpectedly disadvantageous for a party, then that's their problem.

ex-lawyer here.

Where big money is at stake most sensible judges will, or will /try/ to, look behind absolutist language in a contract (be it smart or not). Courts are very good at looking at contracts and asking what the parties intent was. They will ask things like "was it intended not to initialize this function?" They may then answer the question with, "No of course not, it was a bug. The person exploiting that bug knew that and cannot reap the benefit". Maybe, or maybe not: trying to guess what a judge will say is a mugs game, but my point is that saying it's a smart contract not operated humans renders it "Absolute Code-as-law" one can't interfere with is unlikely to fly.


> Smart contracts are not laws of nature, they are contracts.

No, they are software. And the participants to such a contract have agreed that the execution of that software is the entirety of their transaction. If one of the parties changes their mind after the fact they will have to convince a judge first that even though they initially agreed that the execution of the contract was the entirety of the agreement that now this is no longer the case and that what they said was un-ambiguous before is now ambiguous and needs overriding.

So now you have a fairly complex situation:

- you will have to convince the judge that you entered into that contract and now wish to back out of the defining clause on something that is not classed as 'regret' (which is never a reason to annul a contract)

- you will have to find a way to communicate the judge what relief you feel will compensate you at a level that the judge will be able to enforce (this could be very difficult)

- and on top of that you will have all the usual issues you have to deal with in a lawsuit possibly complicated by your counterparty being anonymous and/or in an entirely different jurisdiction

States don't really matter here, smart contracts are software and are global, that changes their nature in a material way which will make it hard (possibly impossible) for a judge to enforce them one way or the other.


I am calling your view of 'code is law' as a distorted view because it isn't that the other side doesn't think that code is law, it's just what do we consider 'the law' to be.

In my world view, if you and I wrote a contract, and in the contract, there is a typo which says that I will pay you $5 gazillion for an iPhone, then that doesn't mean that the courts must enforce it. Clearly, it doesn't follow the 'intent' of the parties.

Now, what if the other side truly signed the contract because they thought that their iPhone was being bought for 5 gazillion dollars, well this is why we don't "JUST" communicate via the contract. We communicate and perform negotiations via other human channels and the legal contract is a formalized expression of our communication.

Same thing goes with smart contracts. I don't intend to use Smart Contracts because the missing 11th commandment said: "Thou shalt obey the Legal/Smart Contracts to the word". I want to use Smart Contracts because they would be an extension of legal contracts taken to the decentralized + technology domain.

Literally, nobody put their money in the DAO because they thought that if a person puts in $1000 in the DAO then he should be able to take out $10 million if he is clever enough. It wasn't a bounty contract. If that was known beforehand, then there is no way it would have accrued $150 million worth of ethers.

> My view is basically the person who found a flaw in TheDAO code deserved to be rewarded for it, even if it was not the intent of TheDAO, because I was sold (perhaps improperly) on the code being the arbiter, not people or politics.

Lemme put it this way, had the hard fork not happened, but nearly 90% of the Ethereum holders quit Ethereum after that, (which meant that the hacker's bounty would have been decimated, would you still say that Ethereum is never going to succeed because they didn't honor the hacker's bounty?


> If there is later a disagreement about what was agreed to, a judge sorts it out.

Only because human language leaves a lot of room for interpretation. Computer output doesn't, or at the very least not nearly to the same extent. If your smart contract is itself legal (you are legally allowed to formalize those terms), and produced an output as a function of it's actual internal operation (and not a random, accidental bit flip) then it should stand even in front of a judge.


You two are speaking across each other.

You're saying no amount of evidence could show someone intended to abide in a way other than how the smart contract says they must abide, because their intention is part and parcel of what the smart contract says. True.

Your partner in this conversation is saying: You might have agreed to something illegal. It's not that the smart contract drifted from the contract's intention, it's that you weren't allowed to agree to that contract in the first place. And they're right: in such a case, the courts won't give an F what conclusions the smart contract comes to. Also true.


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, in ethereum that's true if the contracts are in dispute, as well- Anyone that disagrees with what the terms of a smart contract are are welcome to submit a transaction to the contract and they'll immediately get the "judge" of the ethereum protocol to supply them with a ruling.

As mentioned before, unless we agree that the implementation is the contract (immutable code is law), it will be disputed that the implementation is not what the requirements want. A meat-space judge will be involved, and anything can happen from there.


>A judge is supposed to read the smart contract source code and determine the intent?

If it's hard for a judge, it's presumably also hard for anyone using the smart contract.

>There is no basis for determining intent besides the code itself.

I'll bet you any frequently used contract has an associated website.

Basically, conducting your business on a blockchain doesn't exempt you from the law. You - the squishy human at the end of the transaction - are not on the blockchain, and neither is the author of any smart contract you might use. As long as the law recognizes blockchain assets as valid consideration in contracts, contract law trumps blockchain law.


In legal terms you'd need to make the argument that the programmer abided by the letter of the contract rather than the spirit of the contract. That might well be a reasonable defence in the case of smart contracts, but it'd need to be tested in a court.

Yet the whole point of smart contracts was that the code is the contract. Descriptions of what the contract was seeking to achieve were explicitly non-binding. It will be an interesting legal case if something like this ever goes to trial.

The thing is, that's what a lot of smart contract proponents are pushing for. That the legal system has no say over contracts, so the outcome would stand. Or effectively bake into operating these contracts that the legal system isn't a reprieve against anything.

> person A agreeing to sell over something to person B, even if just verbally, is a legal contract.

This is not at all what I am saying. What I am saying is that a contract is the definition of terms of a transaction, while a smart contract is the execution of a transaction.

A "contract" defines what parties are supposed to do and the courts use to determine the legal process in case of disputes. Enforcement is not part of the contract.

A "smart contract" is just about enforcement. It makes no sense to talk about the "smart contract" being legally binding or not, much like it makes no sense to talk about "running computer code" or "firing a gun" being legally binding. Sure, you can discuss if the actions resulting from someone running a program to be legal or not, but this has nothing to do with those actions where established in a "legally bound contract" or not.


I suspect a court would tend to take the existence of the smart contract as a pretty clear indication of the intent of the involved parties. But of course if you’re entering a significant commercial agreement like this you had better make an explicit traditional contract as well.

Ah, but there is. Because if the smart contract "enforces itself" in a way that contract law doesn't recognize as valid, then the law can force the reversal of said contract.
next

Legal | privacy