> There is no external trusted documentation that says what the intention of the code is.
Working out what both parties intended a contract to mean and what it should mean, sometimes in contradiction of what it actually says is exactly what the legal system does.
You can't evade the legal system by writing your contract in a different form. Weirdly I think this idea comes from thinking law is code when it isn't.
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.
>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.
Does participation in a smart contract imply any kind of legal agreement? You're essentially interacting with an api/bot that's being hosted by whatever blockchain community at large. Anybody can publish anything, and any unrelated parties can interact with it.
Here's a thought experiment for you.
If I were to publish a public webpage where you entered a routing number into a textbox and money was immediately transferred from my account to the specified account for the purpose of sending money to a friend of mine, but somebody else found the website and entered their routing number and drained my account. Would I have legal recourse?
This is essentially the Parity wallet exploit. The API was only slightly more complicated than the example above, initWallet().
It's an interesting paradigm shift. If contracts are automatically enforced, what features of the existing legal system are obsolete? If monetary/financial contracts are completely logically unambiguous in their execution and there is no need to appeal to a designated wielder of physical force to ensure their execution...
I think that notion, which sounds unrealistic to me, is what appeals to lot of crypto absolutists. It fails in a lot of the ways that smart contracts currently struggle, how to computationally, and in an unbiased way, relate crypto to the world outside of the blockchain. A good example of this is oracles, which are so flimsy in so many situations.
As you said we don't exist on the blockchain, the physical world doesn't exist on the blockchain, so how can we do away with our existing systems for mediating disputes, determining intent etc?
> how can we do away with our existing systems for mediating disputes, determining intent etc?
I think everyone in this conversation fully agrees on this point. As I said earlier, "I'm sure there are extremists that think smart contracts make law obsolete, but they are just wrong." We absolutely shouldn't do away with our existing systems for mediating disputes and determining intent.
I think perhaps the crux of the disagreement is that I think we need to apply those systems to smart contract systems in a sensible way and I take it that you think that the fact that we won't do away with our existing systems means there's no reason to use blockchain at all.
I don't think we're in disagreement; I'm more or less agnostic on the points I brought up, just thinking out loud. My original intent was to explain what I think the ethos is behind, 'code is law', which was in response to your statement, "I don't know exactly what you mean by 'code as law'".
But I do think there will be technical difficulties in applying the existing legal system to smart contract execution if there is no other artifact related to its execution (e.g. website, documentation, communication b/w parties etc.), which probably represents the vast majority of such contracts.
I've seen contracts representing complex derivatives, and some insane things like collateralized NFTs. The financial ecosystem within crypto is becoming incredibly complex. Many grey area strategies within traditional finance have been recreated within crypto, e.g. HFT and front-running, and there are some complex strategies like vampire attacks a la sushiswap that I don't think have analogs.
If one participates in complex smart contracts and get hosed, in a lot of cases I think it will be essentially impossible to differentiate between fraud vs. speculation, bugs vs. proper execution, exploitation vs poorly understood secondary effects. I'm curious to see how the legal system will try to keep up. Then again, I'm not sure it has kept up that well with the traditional financial system to begin with.
> A judge is supposed to read the smart contract source code and determine the intent?
If necessary, they can call on experts to provide testimony in such cases. It's probably not necessary all that often though because there's usually more relevant auxillary information to help work this stuff out. Who wrote this smart contract? Why are the parties using it? What information persuaded them to use it? Was the outcome of using the smart contract different to what a reasonable person would have expected?
This is exactly what courts are for! The fact that some of the procedure of the interaction has been mechanised does not mean the participants get to ignore the law.
Working out what both parties intended a contract to mean and what it should mean, sometimes in contradiction of what it actually says is exactly what the legal system does.
You can't evade the legal system by writing your contract in a different form. Weirdly I think this idea comes from thinking law is code when it isn't.