Hm, but wouldn't smart contracts have to be as complex as a non-smart contract, if a smart contract were to replace the dumb contract? If I'm looking at the regular B2B contracts I'm supporting at work, even normal contracts are already testing people. Piling (highly complicated, mind you) software on top of that problem seems nuts and entirely not feasible.
Dont know of any traditional contract that can accidentally make money vanish. Also you can go to a centralised authority e.g. bank or court to do something about the wrong party holding the funds at any given point.
You can even retrospectively apply reasonable person type arguments no?
And that is even an argument on top I didn't even mean.
> You can even retrospectively apply reasonable person type arguments no?
Yeah. A significant part of a traditional contract revolves around defining the entities and behaviors you're actually talking about, and another part is about specifying requirements and boundaries for these entities and behaviors. However, it is entirely possible that during a conflict, the parties of the contract disagree about the meanings of the words on paper.
In such a case, you'd bring in a judge by bringing this to court, and a judge has the right to interpret the words and act in the spirit of the contract clauses, not just the words, and to deliberate about the feasibility of clauses. And that's a good thing, because this is a strong defense against scam and fraud.
Like, if something really strongly looks like a contract to buy a car, but technically doesn't say you buy the car, but also doesn't say you don't buy the car. If you get sued for not paying rent or stealing the car in such a case, you could argue you thought you owned it.
The nearest scenario in dumb contracts would probably be wiring funds to the wrong foreign bank account. But there are usually a lot of intentionally placed checks before you do something that stupid. And even if you did, at least there's someone you can call. That seems a bit smarter, really.
Non-smart contracts also have something like the two sides having an understanding of what the spirit of what they agreed was, and they can be discussed in court and interpreted by a judge when all else fails. So not absolutely everything has to be spelled out all the time.
Smart contracts are code and there is no fallback mechanism in case of mistakes.
They probably have to be way more complicated than non-smart contracts?
The equivalent in code is pre-existing libraries, and miles of them. But the law has highly developed ways of ridding itself of cruft and tech debt over time, in a way that lib dependencies really don't.
Legal precedent is a method for defining laws, not a requirement of a legal system. It is absolutely not essential to solve issues of incomplete, ambiguous, or invalid contracts.