The Ultimate Guide to Understanding
Smart Contracts

Introduction to Smart Contracts

Smart Contracts are a central component to next-generation blockchain platforms.

Blockchain technology is much broader than just cryptocurrencies suchas bitcoin. The sustained levels of robust security demonstrated by public cryptocurrencies has shown to the world that this new wave of blockchain technologies can provide efficiencies and intangible technological benefits very similar to what the internet has done.

Blockchain technology is very powerful and capable of performing complex operations; far beyond simply understanding just how many bitcoins you have currently have in your digital wallet. This is where the idea of smart contracts come to fruition. Thus, leveraging this powerful technology for equally complex jobs. Although they are new, smart contracts are already becoming a cornerstone for enterprise blockchain applications and are now considered to be one of the pillars of blockchain technology.

Below we explore what a smart contract are, how they work, and how they are being used.

Smart Contract Definition

What is the definition of a Smart Contract?

Smart Contract Definition

What is Smart Contract Technology?

Smart Contract Technology Defined

A computer program code that is capable of facilitating, executing, and enforcing the negotiation or performance of an agreement (i.e. contract) using blockchain technology.

The entire process is automated can act as a complement, or substitute, for legal contracts, where the terms of the smart contract are recorded in a computer language as a set of instructions.

Smart Contracts Explained

How do you explain Smart Contracts?

Smart Contracts Simple Explanation

When you think of a contract, you probably envision two people sitting down together to write, agree, and sign a piece of paper. The efficiencies brought upon by the digitization of business, has prompted technologists to take aim at revising one of the most important components of modern day business – the contract.

Our simple explanation of what a smart contract is, can be described as a computer program that acts as an agreement where the terms of the agreement can be preprogrammed with the ability to self-execute and self-enforce itself.

The main goal of a smart contract is to provide a superior system for contractual agreements solely based on computer code; than what currently exists based on antiquated judicial processes.

The origin and history of smart contracts is much older than bitcoin and dates back to the 1990’s. The term ‘smart contract’ was first coined in 1993 by one of bitcoin’s alleged creators, Nick Szabo, and referred to self-automated computer programs that can carry out the terms of any contract.

Smart Contracts Technical Explanation

The execution of a smart contract is just like that of a traditional contract – the agreement was either fulfilled and executed, or unfulfilled and un-executed.

A technical explanation of a smart contract can be described as a digital self-executing agreement.

Modern-day blockchain based smart contracts (also called self-executing contracts, blockchain contracts, or digital contracts) utilize Byzantine Fault Tolerant algorithms and Cryptographic hashing via blockchain technology decentralization methods. Because smart contracts are pure computer program code, the logic imputed into the code is vitally important. Smart contract logic is derived from human logic and legal system legislation commonly used in business.

The combination of computer science principles such as cryptography and distributed computing, in conjunction with centuries old judicial precedents, create a self-sustaining and efficient successor for legal agreements.

Traditional vs. Smart Contracts

The Current and Future State of Contracts

The future of contracts will likely be a hybrid human-plus-code model where contracts are verified for authenticity via blockchain, but human intervention is still possible for cases where errors need to be corrected or judicial recourse is required.

Traditional Contracts

Traditional contractual agreements, such as those created by a legal professional, are predominantly paper based and heavily rely on third parties for enforcement. Third party enforcement is not only very time consuming, but also very ambiguous. If things go astray, contract parties often must rely on the public judicial system to remedy the situation, which can be very costly and time consuming.

Smart Contracts

Smart contracts, often created by computer programmers through the help of smart contract development tools, are entirely digital and written using programming code languages such as Solidity, C++, Go, Python, Java. This code defines the rules and consequences in the same way that a traditional legal document would, stating the obligations, benefits and penalties which may be due to either party in various different circumstances. This code can then be automatically executed and enforced by a distributed ledger system.

How Does a Smart Contract Work?

How do Smart Contracts on the Blockchain Work?

In order to understand how smart contracts work, it is important to first make the distinction between the smart contract code and how/what that code is being applied to. As explained in the article “Making Sense of Blockchain Smart Contracts” by Josh Stark of Ledger Labs, a smart contract can be broken down into two separate components:

  • Smart Contract Code – The code that is stored, verified and executed on a blockchain.
  • Smart Legal Contracts – The use of the smart contract code that can be used as a complement, or substitute, for legal contracts.

Step-by-Step Explanation of How Smart Contracts Work

We explain the general steps as to how a smart contract would work on a distributed ledger:

1. Coding (What Goes Into the Smart Contract)

Because smart contracts work like computer programs, it is very important that they do exactly what the parties want them to do. This is achieved by inputting the proper logic when writing your smart contract (more can be found here about an Introduction to Programming Smart Contracts on Ethereum). The code behaves in predefined ways and doesn’t have the linguistic nuances of human languages, thus, it has now automated the “if this happens then do that” part of traditional contracts.

2. Distributed Ledgers (How the Smart Contract is Sent Out)

The code is then encrypted and sent out to other computers via a distributed network of ledgers (i.e. Blockchain). If this is done via public permissionless blockchain such as bitcoin, the contract is sent out similar to the way that a network update of a bitcoin transaction would occur. This can also be done in a permissioned or hybrid blockchain platform such as the R3 Distributed Ledger.

3. Execution (How the Smart Contract is Processed)

One the computers in this network of distributed ledgers receive the code, they each come to an individual agreement on the results of the code execution. The network then updates the individual ledgers by recording the execution of the contract, and subsequently monitors them for compliance within the terms of the smart contract. In this type of system, single party manipulation is obverted because control over the execution of the smart contract is no longer possible because execution is no longer in the hands of a single party.

Smart Contract Platforms and Companies

What are Smart Contract Companies?

Now that we know what smart contracts are and how they work, who are the companies building out this technology? Although there are many end-user driven smart contract companies and enterprise driven smart contract companies, they both have one thing in common – most of them are building their products on top of the Ethereum blockchain, due to it’s superior processing capabilities.

Blockchain Technology Guides

Different Blockchain Technologies

Smart contracts are only one pillar of blockchain technology. Further explore the depth of these technologies by continuing with one of our other “Ultimate Guide to Understanding” web resources on Blockchain or Cryptocurrency.