Blockchain: Decentralized Ledgers & Smart Contracts
A blockchain is a ledger, similar to a Microsoft Excel spreadsheet. A blockchain is maintained in a decentralized manner. Blockchain ledgers keep track of “transactions”. Transactions occur without external third parties, no escrow needed. These transactions are grouped together in a data structure called a block, where the term block refers to a group of transactions that have been processed at the same time. The transactions are related temporally and are recorded serially. Each block includes a hash (a cryptographicaly generated code) that refers to the last block so any attempt to change a prior block has a cascading effect on each subsequent block. This relationship between blocks gives rise to the term blockchain. Every user on a blockchain sees and maintains the same copy of the ledger through a concept called “reaching consensus”. A reliable consensus procedure is required to ensure the accuracy of the ledger and maintain the security of the system. A blockchain can be public, where anyone can participate, or the blockchain can be permissioned, where only authorized participants can access and add transactions to the ledger.
A blockchain is a peer-to-peer system with no central authority managing the data flow. To maintain data integrity a large distributed network of independent users is encouraged. The computers making up the network are in more than one location. The term “node” typically refers to a computer in the network.
Blockchains are built to create trust between unknown parties. Blockchains are meant to be honest systems that self correct without the need of a third party to enforce the rules. A consensus algorithm enforces the rules. Consensus develops agreement among a group of commonly mistrusting shareholders. Each blockchain relies on its own algorithm for creating agreement within its network.
The main focus areas for decentralized ledger technology are:
Hashgraph as an example of a decentralized ledger
Hashgraph is a virtual-voting decentralized ledger technology. Everyone is a node on the network and each can submit data in parallel at the same time on the graph.
Hashgraph is not blockchain but boasts that it can provide a comparable or possibly better security level while simultaneously performing transactions faster. Hashgraph patented its algorithm to ensure stability. Hashgraph has a governance system where 39 international, independent blue chip organizations control two thirds of the network’s cryptocurrency. The governance system is based on Dee Hock’s formative book, One From Many: VISA and the Rise of Chaordic Organization, that chronicles the creation of the VISA network among other things where banks associated to benefit all customers.
Smart contracts are contracts formed with blockchain technology. They are not subject to linguistic interpretations and are marketed as a way to prevent ambiguity, ensuring both parties understand exactly what has been agreed to. A smart contract uses computer code to determine the relations and obligations between parties. The resulting interpretation is designed to be more predictable. Smart contracts can remove third-party or escrow agents since performance can automatically be determined by monitoring compliance with a set of conditions. The contract is administered as the conditions are met. This may lead to an “inexorability” problem if a vulnerability within the code is exploited.
Szabo predicted that smart contracts would overcome legal barriers that prevent local businesses from entering global markets.
“Smart contract” has evolved to encompass more than one meaning. When referring to blockchain application development, smart contract does not refer to a legal contract but rather a snippet of programming code that gets executed on the blockchain, typically in an automated fashion (although some parts may require human input and control). To simplify things, the snippet of programming could be referred to as “smart contract code” and the entire legal contract expressed and implemented in software could be referred to as a “smart legal contract”.
Ricardian contracts as an example of smart contracts
A Ricardian contract records the “intentions” and “actions” of a particular contract, no matter if it has been executed or not. The same Ricardian contract has to be both readable by people and parsable by computer programs. Each Ricardian contract has its own unique hash that refers uniquely to that document (a cryptographic message digest). That hash ensures the Ricardian contract is immutable (not susceptible to change). While it is possible to implement a Ricardian contract as a smart contract, not every Ricardian contract is a smart contract. The creator, Ian Grigg (a specialist in financial cryptography working at Systemics Inc), defines a Ricardian Contract as a single document that is:
While a Ricardian contract is a design pattern that captures the intent of the agreement of the parties before performance, it can implement the concept of the smart contract by using a hash as a reference that links to external documents of code.
Ricardian contracts have not been presented in Canadian court, however, contract law will apply if the agreement has the basic components of a contract, regardless of the form. To prove a meeting of the minds all the essential terms of contract must exist: 1. an offer, 2. an acceptance, 3. certainty of the agreed terms, 4. consideration, and 5. the intention to create legal relations.
Shannon Peddlesden is a member of the BLG Business Venture Clinic and a 2nd year student at the Faculty of Law, University of Calgary.
Shawn S Amuial, Josias N Dewey, Jeffrey R Seul, The Blockchain: A Guide for Legal and Business Professionals, (Danvers, MA: Thomson Reuters®, 2016).
Digital Economy Update, “Smart contracts – can code ever be law?” (1 March 2018), online: < www.ashurst.com/en/news-and-insights/legal-updates/smart-contracts---can-code-ever-be-law/>.
Hackernoon, “Merkle Trees” (15 December 2017), online: < https://hackernoon.com/merkle-trees-181cb4bc30b4>. Hashing refers to transforming data of any size into short, fixed-length values, this incorporates a technology called Merkle trees. Merkle trees allow for efficient and secure verification of large amounts of data.
EliNext, “Smart vs. Ricardian contracts: what’s the difference?” (28 February 2018), online: <https://www.elinext.com/industries/financial/trends/smart-vs-ricardian-contracts/>.
Blog posts are by students at the Business Venture Clinic. Student bios appear under each post.