DEV Community

Adam Gordon Bell
Adam Gordon Bell

Posted on

Web3 will not replace Contract Law?

The law is code that is interpreted by Judges. My wife is a lawyer and tells me this. In this view, amendments or reinterpretations of laws by higher courts are diffs.

I'm not really up on Web3, but this take is wrong somehow.

And not just in the funny way that many languages run in an interpreter:

But in the fact that laws being interpreted by a person is the point of the legal system. It's why it works.

The fact that a judge gets to consider the specifics of your particular case and make a decision that takes those into account makes the legal system work.

In cases where the law is interpreted absolutely, like three-strikes-you're-out laws or mandatory minimums, sentences are usually the places where things turn out badly.

Explicit coded rules are bad at handling exceptional cases, and the real world is messy. People can enforce the spirit of the law and not just the letter of the law.

On the other hand, the existing legal system is slow and expensive ( but almost no contracts are actually resolved in court, it's usually only the messy cases with the exceptions that end up in court).

So, where do coded contracts make sense (Any ethereum people around) ?

Latest comments (12)

Collapse
 
dastageerkhan profile image
dastageerkhan • Edited

huhhh thanks for sharing the reviews.....

Collapse
 
gjorgivarelov profile image
gjorgivarelov

What would the arbitration court for smart contracts be?

Collapse
 
kfelts profile image
Kfelts

Attorney here... although we are exploring machine learning and AI in contracts, that's a different ball game than these proposed "smart contracts" with Web3. Honestly, Web3 is nowhere near ready to handle legal contracts in a meaningful way. Laws are drafted and interpreted by humans, because there is a human element to transactions. If you remove that, you will find that ambiguous law will render smart contracts to be null.

Web3 is like a mythical boogeyman at this point. I've seen some people dead-set on it "revolutionizing" the way we use the internet. But I see no way that it can de-centralize something like a contract. Laws vary from state to state, country to country. You can remove the tedious and mundane tasks from a lawyer's docket, and have an efficient, cheaper legal community. But if you remove the specialized nature of practicing law, and entrust it into a binary code, you're going to see far more litigation than ever.

Collapse
 
tyuen profile image
Terry Yuen

The Web3 library used by smart contracts was first released 2 years ago. github.com/ethereum/web3.js

Collapse
 
pontakornth profile image
Pontakorn Paesaeng

No, smart contract won't replace contract just like how e-mail does not replace mail. Contract is flexible and accessible. It's written for human not machine.

Collapse
 
lexlohr profile image
Alex Lohr • Edited

Contract law is pretty well developed over centuries* and has some safeguards that are all missing in the so-called "smart contacts", which are still in their infancy.

Also, code is at least as prone to errors as is the legal system, if not more – but while the legal system allows for revisions, there's no such thing in smart contacts.

As someone who has studied laws and is a developer, I believe that these smart contracts are not yet ready for actual usage.

It will be interesting to see how they develop over time, but unless they implement at least the most basic safeguards that don't require more work than the current system, I would advise avoiding them.

* with things like concludent contracts, rules about impossible condition precedent and the abstraction principle

Collapse
 
andrewbaisden profile image
Andrew Baisden

Web3 is hot right now despite the fact that so many developers don't know everything about it yet 😂

Collapse
 
fjones profile image
FJones

They don't work, plain and simple. There's no way they can work, and the ones that are implemented are all bug bounties with the tied assets as the bounty. The only thing they're remotely good for is trolling people by planting mines in their wallets.

Collapse
 
willtrout profile image
Matt Willtrout

When you have a bug in your code you patch it , and open a pull request.
What do you do if there's a bug in your smart contract?

Collapse
 
fjones profile image
FJones

Then you have a self-funding bug bounty. You'd have to:

  1. Flag the contract through some other on-chain message.
  2. Trust the off-chain smart contract brokers not to execute the flagged contract.
  3. Issue a new smart contract.

Note that this costs transaction fees and crucially isn't self-enforcing.

Collapse
 
duhdugg profile image
Doug Elkin

Maybe they could be practical if they can be voided by either party without reason?

There's just so much that could go wrong with any piece of code over an indefinite amount of time.

Collapse
 
fjones profile image
FJones

The problem is that you then need to implement functioning rescission, and need to safeguard against cases where that is an abuse vector.