[Ethereum] How to design a legal smart contract

contract-design

In Ethereum the terms "Contract" or "Smart Contract" are loosly used; "Smart Agent" might have been a better name [citation-needed]. Most smart contracts are certainly not legal contracts.

Now for a contract to be a legal contract there are certain conditions that have to be met, for example it needs to contain 4 elements:

At common law, the elements of a contract are offer, acceptance, intention to create legal relations, and consideration.
Source wikipedia

In an attempt to turn a "Smart Contract" into a legal one, how would you design these 4 terms? Bonus points for Solidity code snippets 😉

Best Answer

"Smart contracts" implement legal expectations, forming an agreement as to state between 2+ computers, and when that state changes. It is unfortunate that some are trying to shoehorn the idea unmodified into the legal space, bc as explained elsewhere, "contract" is loaded with legislative and judicial baggage,--not to mention centuries of academic gloss/glop. At this early stage, we can be certain that smart contracts will be powerful tools to assure pre-ordained outcomes, but without AI, the only way to do that is to make them as dumb as possible. I would argue that general acceptance will depend on them being as dumb as possible, bc lawyers are slow to shift and highly risk-adverse.

The outcome of engagement between 2+ computers can't be vague: without either an "oracle" or resort to arbitration (which sort of defeats the purpose), all you get is moosh. So, we need a lot more lawyer-programmers to ensure usefulness and community consensus around how, when and why we will recommend clients integrate and rely on them. Once that happens, am absolutely certain they will be disruptive and increase efficiency,--as well as cause rewriting of huge chunks of commercial law and best practices. Hold on to your hats!!

Related Topic