My friend, Zaki Manian, who is working on a very interesting project called SKUChain (discussed in chapter 16), thinks we should reframe how we perceive or rather how we should define ‘smart contracts.’
In his view:
Here is my proposal.
We stop calling the idea ” smart contracts” and we start calling the idea “Trustless Multiparty Monetary Computation”. That should also tell the lawyers that we don’t really need them here at the moment….
Programming Language researchers use the term “contracts” as a way of formally reasoning about multi-part or distributed computation. But PL researchers also understand that this is idea has deep formal connections with reasoning about the relationship between people and organizations.
Here is the relevant prior art.
The SPJ paper from 2000
Some implementation of the SPJ’s ideas
This was in response to the panel discussion last weekend and was brought up by Adam Krellenstein from Counterparty.
If anyone is interested in discussing this further, let me know and I’ll put you in touch with Zaki or others.
Doesn’t it depend on the subject matter? Many contracts are indeed about computing a monetary outcome based a set of events and interactions along with rules governing those interactions. However, many are not.
I agree in principle that smart contracts needs a better definition within the community and that rather than any series of computation on a blockchain being called a smart contract that we should be a bit more precise. That said, contracts has been an ambiguous word used in many different facets for a long time.
As far as letting the lawyers know they aren’t needed, if one wants to take a christian scientist approach that is there business. However, lawyers spend their professional lives crafting transactions which do not require trust (this is the entire basis of why we have written contracts). Some are good; some are not. But to indict an entire industry is a bit over broad.