The Smart Contract Stack

We break down the emerging technology stack that will fulfill the common vision of a “smart contract.”

Image for post
Image for post

Despite being a core concept in the blockchain space, the term “smart contract” is often misunderstood. For many, the term “smart contract” conjures up images of a dynamic legal agreement that reads and writes information and rapidly transfers payments between parties. However, as implemented on Ethereum, and as famously noted by Ed Felten the noted Princeton computer scientist: “smart contracts are [often] not contracts and not smart.”

Indeed, today, Ethereum based smart contracts can be thought of as persistent scripts (or a stored process) that perform an action, or set of actions, once a certain condition has been met. As initially described by Nick Szabo in the late 1990s, they have the ability to serve as “a set of promises, specified in digital form, including protocols within which the parties perform on these promises.”

Szabo’s definition and the current implementation of smart contracts center on the fact that they embody promises between parties, which are specified and performed by a computer protocol (most often a blockchain). The term was not meant to describe a fully-fledged legal agreement or the vision of what for many smart contracts represent.

How do we move the Ethereum world from just smart contracts that aren’t particularly smart to fully-fledged dynamic agreements that enable people (from around the globe) to efficiently transfer value and manage risk? The answer lies in a second related concept introduced by Ian Grigg in 1995 — the ricardian contract.

A ricardian contract is a digital agreement “that defines the terms and conditions of an interaction between two or more peers, that is cryptographically signed and verified. Importantly it is both human and machine-readable and digitally signed.” As recognized by Grigg at the time of conception, “[b]y unifying all information in a program-readable file,” Ricardian contracts create “enhanced potential of smart contracts,” by extending the number of use cases where smart contracts can be deployed.

The power of both smart contracts and ricardian contracts is further enhanced through the use of data feeds (oftentimes referred to by developers as oracles). Oracles can augment the utility of a smart contract and resolve any details that may not be known at the time the smart contract is written. For example, a past or present exchange rate and be embedded into the contract to provide accurate and seamless execution, without the need for human interference.

When viewed as a whole, the popular concept of a “smart contract” actually involves three separate concepts, which can be conceptualized through the following schemata:

Image for post
Image for post

This “smart contract stack” is the key to deploying blockchain-based use cases in the commercial context. With this stack, the benefits of blockchain can be realized (i.e., secure, trustless, peer-to-peer) and we can start memorializing the rights and obligations between the parties in a human-readable way by turning them into software and incorporating outside data feeds, which automatically execute the transfer of digital assets secured by a blockchain.

Over the past several years, we’ve witnessed the birth of the first fully robust smart contract stack. OpenLaw brings the vision of ricardian contracts to life, providing the tools to fulfill the initial vision that Ian Grigg set out several decades ago. Using OpenLaw, you can create a human-readable contract where both parties are able to understand the arrangement they are executing and have a signed record of the legal terms. When combined with Ethereum-based smart contracts and third-party oracle providers, like ChainLink, we truly have dynamic legal agreements that are understandable and executable, but responsive to any present, past or future real-world events.

For example, think of a derivative interest swap agreement. Parties can cryptographically sign a derivative contract using OpenLaw’s tools, trigger smart contracts on signature that pull digital assets into a smart contract-based escrow system that incorporates outside data related to interest rates to trigger transfers of payments between parties and post escrow into a smart contract. This off-chain oracle is programmed specifically to verify the transaction and enforce the agreement, thereby then sending the funds from escrow to the beneficiary.

Image for post
Image for post

With the OLE stack, many of the use cases that entrepreneurs and other blockchain developers have dreamed about can be built — and built at enterprise or production-grade. OpenLaw turns these digital assets from bearer instruments to legally recognized assets and permits parties to manage risk and turn underlying transactional information into tradeable data. Chainlink makes it feasible for these contracts and commercial arrangements to act and react based on outside events or data feed, increasing the speed and flexibility of existing commercial relationships. And Ethereum-based smart contracts handle the transfer of assets.

The OLE stack is the “killer app” of a blockchain and will help build a world of low cost, efficient, and peer-to-peer transactions. Together, these three technologies are building out the vision of smart contracts and the future of the commercial world.

We’re arranging the world’s commercial transactions. Using OpenLaw, anyone can more efficiently engage in commercial transactions, all while leveraging next-generation blockchain-based smart contracts. To learn more about OpenLaw, check out our site and documentation for an overview and detailed reference guides. You can also find us at or tune in in our community Slack channel. Follow our Medium and Twitter for further announcements, tutorials, and helpful tips over the upcoming weeks and months.

A commercial operating system for blockchains. By @awrigh01 and @bmalaus; a @ConsenSys spoke.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store