In a recent CoinDesk Op-Ed, Josh Stark makes a useful distinction between smart contract code and smart legal contracts. He describes smart contract code as a program or script executed on a blockchain-this code being what many commentators misleadingly refer to as "smart contracts." This (mis)use of the phrase has led lawyers to quip that smart contracts are neither smart nor contracts, they're just code. The better term for blockchain code-enabled legal contracts is "smart legal contracts."
Although Stark helps us a lot with terminology, his argument goes a little askew in suggesting that smart contract technology enables machine to machine commerce without enforcement by legal entities and therefore is a new tool for solving the problem of trust between trading parties. Individuals and companies are legal entities and at least two of them hold an interest behind every machine operation executing smart contract code. Just because there is no intermediary between the two (or more) parties to the transaction does not mean that traditional legal contract principles do not apply. Smart contract code speeds up and increases integrity in trading transactions by reducing friction in forming, executing and enforcing a contract. It is a new tool in our toolkit, but the toolkit is for building traditional legal contracts. Offer and acceptance, coupled with consideration, are still the basic principles of contracts, whether they are smart, stupid, oral, written or digital.