Blockchain is the future of business, and the future is here!

Reviewing the core concepts behind blockchain technology to understand why it is predicted to transform every industry and how we do business

Toronto Financial District; Photo by Alex Shutin on Unsplash

Last week, I had the opportunity of meeting with the leader of blockchain solutions for one of the major financial institutions in Canada. I shared with her some of my views on the recent slowdown in blockchain adoption including the cryptocurrency chill, the complexity of the technology resulting in ambiguity, and the legitimate questions around throughput, scaling and interoperability.

Blockchain is predicted to transform how we do business and reshape every industry — including small shops to peer-to-peer transactions to the largest capital markets of the world. In their recent report, Capital Markets: innovation and the FinTech landscape, EY puts blockchain above all other emerging technologies including AI, Cloud technology for its long-term benefit potential of 5 years and beyond.[1]

Benefit trajectory of enabling technologies in capital markets, Source: EY report, Capital Markets: innovation and the FinTech landscape

In spite of the apparent slowdown in its currency applications, there remains exceptional optimism around blockchain as a revolutionary technology and its promise to fundamentally change how we do business. Over the past week, I explored the key ideas, concepts, and capabilities of blockchain, and their relevance to business processes. It is not another effort to gather or present an exhaustive set of facts. Instead, it’s an endeavor to making sense of the key concepts behind the technology to assemble a foundational understanding. Thus leaving aside the many technical jargon or predictions, and focusing on connecting the dots on whether and how blockchain has the potential to reshape every industry.

Okay, let’s get to it.


Blockchain — A Description

Introduction

Blockchain, the revolutionary technology behind bitcoin, offers the capability to develop a self-contained software-only solution that facilitates an economic transaction. Traditionally creating conditions for and facilitation of commercial transactions have primarily been the responsibility of governments, working together with law enforcement and highly-regulated intermediaries. It is revolutionary that a software technology offers capabilities to create and customize such platforms based on specific needs of those transactions.

Understanding economic transaction

To understand blockchain and its impact on the businesses, it becomes essential that we understand the various conditions necessary for an economic or commercial transaction to take place, for example —

  • participants consenting on the various parameters of the transaction
  • commonly agreed on rules governing the transaction
  • record keeping to monitor the transactions and
  • dispute resolution process agreed upon by participants

In the following sections, we will review these and other conditions and how blockchain solves for their fulfillment.

Blockchain Data Overview

First, let’s take a look at a simplified diagram of a data structure on the blockchain and why we even call it a blockchain. Very briefly, data for multiple transactions are combined into a group called a block and then chained sequentially using cryptography such that once on the chain, changing or deleting any data or the block, becomes practically impossible.

As in the diagram, every block contains transaction data — for example, T(A) to T(D), their hashes combined to produce the root Tx_Root = H(ABCD); also every block contains the hash of the previous block, Prev_hash, therefore is sequentially chained.

These data structures or blockchains then reside on multiple nodes or computers, synchronizing data between all the nodes at all times, along with protocols built in such that tampering with the data, intentionally or otherwise, at one or few faulty or malicious nodes, will not impact the data on remaining majority nodes, thus making the data immutable.

Blockchain Description

Let’s attempt to describe blockchain —

Blockchain is a distributed, append only digital ledger, shared and replicated among participants, uses advanced cryptography for security, collaborative consensus mechanism ensuring synchronization, smart contract for enforcing business logic, with no central point of control and no central point of failure — thereby generating trust, immutability, and provenance to the transaction log. [2,3,4]

From this description, let’s unpack the six core concepts of blockchain — ledger, distributed, cryptography, append-only, consensus and smart contract that make it the revolutionary technology it is and explore on each of them, how the technology aims to revolutionize how we do business and impact the world economy.


Concept 1 — The Ledger

What is a ledger?

Wikipedia defines “A ledger is the principal book or computer file for recording and totaling economic transactions measured regarding a monetary unit of account by account type, with debits and credits in separate columns and a beginning monetary balance and ending monetary balance for each account.” [5]

Old Ledger; photo by TimothyJ shared under a Creative Commons (BY) license

We understand ledger as a book or computer file used for keeping track of transactions — these are an economic transaction that involves something of value — such as a currency, a product or a service. Every organized endeavor including business, government, club, family, individual or just about any entity keeping track of transactions of economic value needs to maintain a transaction log or a ledger of some sort.

Historically, the origins of a ledger can be traced back to around 5000 years ago in Egypt. A central authority or an owner would keep track of all the transactions. Therefore, these used to be single entry accounting. This worked for centuries, and the sole authority maintaining the ledger usually was the king or the queen.

As international trade picked up, an entity was doing trade with another business in a different country; the single-entry ledger was required to be maintained in two places since each party needed to have their ledger. Around in 1350 AD, a new form of accounting, called double-entry accounting came into being and is still in place, where there are two entries done against each transaction, and the ledger is balanced at all times.

Is blockchain a ledger?

Yes, the blockchain is a digital transaction log or a ledger — transactions can be entered as they happen, to keep track of them for reconciliation.

Blockchain implements triple entry accounting for the first time, where the traditional double-entry accounting is now stored permanently and immutably on the blockchain through the use of cryptography, such that the data cannot be altered…more on the cryptography and immutability later.

Blockchain ledger is a collection of transactions and not a collection of assets. Thus, the ledger or the blockchain, records transactions, while assets can be part of those transactions. Asset ownership of any entity on the blockchain — for example let’s say the number of bitcoins an entity holds — is always calculated by adding up all of the transactions the entity carried out since the beginning of the ledger.

How can a ledger reshape every industry?

Every business or economic endeavor needs to maintain transaction logs or ledgers. The way we keep ledgers has not changed in many years. Blockchain implements triple entry accounting for the first time by securing data on the ledger with cryptography. Data on blockchain ledger is immutable — e.g., once stored on it, it is practically impossible to delete or change or obfuscate by any means.

Most businesses undertake large workflows to create, maintain, audit several ledgers for record-keeping. In most situations, the revolutionary benefits of blockchain have the potential to transform the way ledgers are kept, drastically reducing efforts and cost.


Concept 2 — Distributed

What is distributed?

Let’s say a restaurant is buying chickens from a farm. The restaurant maintains a ledger to keep track of all the deliveries of chicken from the farm, and all payments it makes to the farmer. The restaurant uses a ledger to make sure deliveries received and payments made make sense, as well, to understand how further deliveries can be scheduled.

At the same time, the farmer maintains a ledger — to keep track of the same items at his end, and uses it to ensure things are on track, and he is receiving payments as expected.

Finally, the restaurant (buyer) and the farmer (seller), at specified intervals communicate with each other to make sure there is no discrepancy between their records and the two ledgers match with each other.

Now, what if the restaurant and the farmer agree to have one common ledger — let’s say, kept with a common friend (a third party), whom they both know and trust? It is progress, since now instead of maintaining and auditing the same records at two businesses, it is kept only in one place, therefore a net economic benefit. In digital terms, this is called a client-server architecture — where the data is stored at a central location (or the server) and is accessed by clients — the restaurant and the farmer in this case. [6] However, both the buyer and the seller (clients) has to trust this third party (server), not only with all of their details of transactions but also the fact that this third party, over time, asks for a fee which has to be borne by them.

Most of today’s digital transactions and the internet work like a client-server architecture. There remains a strong presence of an intermediary, the server. For example, a bank is an intermediary facilitating online payment; Amazon is an intermediary facilitating online buying and selling of books, electronic and a whole lot of other goods and services. Almost all online services follow client-server architectures, and they work correctly and perfectly.

So, what’s the issue? Why discuss all of this, and why try to change something that works? Before we get to that, lets take a look at the different models used in digital communication —

  • Client-Server model — generally has a central (server) node or intermediary; this is the most traditional model of transaction facilitation, including online
  • Decentralized model — has more than once central nodes or multiple intermediaries; a mostly client-server model with more servers to distribute load or address local needs
  • Distributed model — does not have any central server — each node maintains its data & protocol; communicates to each other nodes
centralized, decentralized and distributed, by sombando shared under a Creative Commons (BY-SA) license

Let’s now think of a situation where the record keeper in our restaurant-farmer example starts charging excessive fees, or the data gets stolen or lost. In a nutshell, let’s think of a situation where the intermediary (server) — whom the clients trust with their data, privacy, and pays fees to — somehow becomes undesirable or untrustworthy.

A situation like this happened in 2008 financial crisis when irresponsible and greedy acts on the parts of a large portion of the financial services industry led to the loss of trillions of dollars of wealth for many across the globe. Many lost their life’s savings, jobs, substantial wealth, and there were reported cases of suicides as well. The obvious questions raised were who’s responsible, what do we learn, how to make sure this does not happen again, what is the right amount of regulation, etc.

How blockchain uses distributed architecture?

Now, what if we could facilitate payments individually to each other without involving a third party — or a bank — we can do this today using cash but let’s say we wanted to do this transaction online, and also keep track of our transactions and maintain the ledgers ourselves? This idea, also known as dis-intermediation (= no intermediary) is considered to be one of the strongest motivations behind the launch of bitcoin, the first ever blockchain, launched in early 2009.

Such a peer to peer system should also provide security and ensure there are no disputes on the transactions. Everyone needs to keep records of the transactions with themselves, without any central authority or intermediary validating or facilitating the process. Blockchain implements this and is a distributed system.

How can a distributed architecture reshape industries?

Distributed architecture has some distinct advantages that are useful from a business process perspective —

  • Dis-intermediation — one of the most profound business benefits of the blockchain. Many economic transactions that are facilitated by central intermediaries today, including governments, can be executed by a software-only solution, thus less or no dependence on a central intermediary — leading to process simplification, generating efficiency gains in time and cost.
  • System resiliency — no single point of control exists that can be attacked to disrupt or take down the system and data is always synchronized with all nodes. This has enormous implications for system security and resiliency. An attacker needs to defunct all nodes to render the system unavailable, which is impractical under ordinary circumstances. It is a fantastic feat that the bitcoin network is up and running continuously since January 2009, for almost ten years, on thousands of nodes, executing millions of transactions, on its own, without needing any support team to do backup or maintenance, and resulting in zero data failure or breach. Simply amazing!

Concept 3 — Cryptography

What is cryptography?

Cryptography is used in all secure digital communications today including almost all internet communications — Wi-fi, Bluetooth, Emails, Whatsapp, etc. however, is highly complex and are not generally studied by us all. Origins of cryptography, non-digital I might add, can be traced back very long in the history. Ceaser cipher, Vigener cipher, rotor machines with single or multiple rotors such as enigma machine are all historical examples of cryptography.

ENIGMA cipher machine collection; photo by brewbooks shared under a Creative Commons (BY-SA) license

The basic idea behind modern cryptography can be simplified and summarized to —

  • replace or randomize (or encrypt) an original text (secret) with another text (ciphertext or cipher)
  • using some algorithm (function or cipher algorithm) together with a ‘key’ which is kept secret
  • then communicate the ciphertext — which cannot be deciphered if intercepted by an unauthorized user, since they don’t have the ‘key’
  • and finally the authorized user, who has access to both the algorithm (function) and the ‘key’ to use the received ciphertext to bring back the original text (secret)

Let’s quickly develop one of our own to understand what cryptography aims to do at a fundamental level. Note that this is merely a simplified illustration, and is not an example of good encryption by any means, and will be broken by even the simplest attacks.

Here we will change each letter and digit to be the next letter or digit — simple enough?

  • Original Text String (secret): “bob’s bank is BMO and the account number is 220330440”
  • Encrypted Text String (cipher text): “cpc’t cbol jt CNP boe uif bddpvou ovncfs jt 331441551”

See that it is not generally clear what was the original text message just by looking at the encrypted string or cipher text. However, since Bob knows the logic, once received, he can quickly decrypt it to the original text using the function.

To make it a bit more complicated, instead of moving to just the next letter or digit, what if one moves by 5 places — e.g. ‘a’ becomes ‘f’ etc. What if the places you move by, such as +1 or +5 or -9 or +15, etc. becomes a random ‘key’ — and is only communicated to bob or parties authorized to see the original message. Again this is just an illustration or example, and even though this is fancier than before, simple computer programs will break this quickly.

A key milestone in modern cryptography was the development of Data Encryption Standard or DES by IBM in the early 70’s; this was a symmetric key algorithm for digital data — which means that the encryption and decryption algorithm (the function or the cipher algorithm) uses the same key. Although later deemed insecure, DES was very influential in shaping and advancing modern cryptography. Computers have become very powerful since then; any off-the-shelf software uses much more complex and sophisticated encryption nowadays.[7]

One time pads or stream ciphers are the building blocks of most cryptography used today — these use random key generators and bit-wise operations, such as exclusive OR (XOR), involving the original text and the randomly generated key, to produce the ciphertext. Unless the key is compromised or known to the attacker, it is mathematically impossible for an attacker to retrieve the original text just from the ciphertext alone, even if the algorithm is known to the attacker. However, once the key and the encryption algorithm is known, anyone can use the ciphertext to decrypt to the original text. One time pads or stream ciphers are also ‘symmetric’ encryption since the algorithm allows for both encryption and decryption using the same key — e.g., once can produce the ciphertext from the original text and the key; similarly one can recreate the original text using the cipher algorithm and the key. [8, 9]

How blockchain uses cryptography?

SHA256

Bitcoin uses cryptographic hashing function using the SHA256 algorithm which is asymmetric. The method takes data or string of any reasonable length, just about anything written with letters and digits, converts them to a randomized output of standard length called the ‘hash’.

For example, the original text string “Alice sends 1 btc to bob” would produce the hashed text string “0a08dc4e4f8bc35077a8be9247d7ae2536c2db136678278fd25b4762e0305b29”. [10]

A high level simplification of the algorithm can be as follows —

  • Message blocks — input message, of any length, is broken into 512 bits sections. Padding added to last section to make it 512 bits.
  • Initialization — vector of 256 bits, along with 8 variables are used
  • Bit-wise mixing algorithm — initialization bits are used with the message blocks in complex bit-wise operations, mixing and rotations
  • Temporary hash — intermittent values are created using bit-wise addition and reintroduced into the mixing algorithm run for 64 iterations
  • Output hash — once the iterations are over, the outputs are concatenated to produce the fixed length 256 bit output, called as the message digest
SHA256 Overview; photo by sombando shared under a Creative Commons (BY-SA) license

Few properties of the algorithm that are key to implementing within blockchain are —

  1. It is deterministic, e.g., for the same text, it will always produce the same output
  2. It is asymmetric, e.g., given the hashed text, no algorithm can produce the original text
  3. Small changes in the input, produces a drastic change in the output, known as avalanche effect, such that adding even one space or a letter, would make the output markedly different from before.

It is mathematically impossible to reproduce the original text using any algorithm or ‘decryption’ on the hash itself, however, one can use the original data, and the SHA256 algorithm, to produce the same hash again, and thereby, confirm that this was, in fact, the correct hash of the known text.

How SHA256 provides security to blockchain?

Now, a block on the chain containing transaction data, is hashed using the SHA256 algorithm and the output, is then included in the next block on the chain. This implies that once that next block is added on the chain successfully, one cannot tamper or delete the previous block on the chain since the hash of the previous block included on this next block would then differ from the one that is already included. This is, in effect, similar to every block containing a very high-resolution digital picture of the previous block, and in case of any tampering to the previous block, the difference would be clearly and demonstrably visible. This in conjunction with blockchain following distributed architecture — e.g., identical copies of the chain is on several nodes or computers and data between them are always synchronized — renders this infeasible and impractical for any tampering to take place on data or block that is already on the chain.

Merkle Tree

Along with hashing, the produced hash pointers are then stored in a filing system called Merkle Tree, per the name of its inventor Ralph Merkle, patented in 1979. The specific property of this system allows hash pointers can be added. [11] To describe with an example, let’s assume —

  • one block has 8 transactions, T(A) to T(H)
  • each transaction can be hashed individually to produce H(A) to H(H)
  • now, because the individual hashes can be added, H(A) + H(B) = H(AB); which means, if we hashed T(A) and T(B) individually and added; or, combined the two transactions together and then hashed T(AB), it would produce the exact same result
  • similarly, H(AB) + H(CD) = H(ABCD)
  • and, H(ABCD) + H(EFGH) = H(ABCDEFGH)

The efficiency implications of the additions property are enormous. If we have 10 nodes and 8 transactions, lets say T(A) to T(H), was on all of these nodes, for comparing if the data between the nodes matches perfectly, we now do not need to compare each transactions data 10 of the nodes, but compare only the the Merkle root of each node, H(ABCDEFGH). If the Merkle roots are identical, then the data must be identical. This increases the efficiency and speed of data verification to a great extent.

How cryptography used in blockchain benefits business processes?

Cryptography including hashing algorithms allows chaining of blocks to generate the blockchain. This sequential chaining protects past data and blocks once they are on the chain from tampering. This imparts the much sought-after immutability characteristics of the blockchain.

With hashing and Merkle tree, there is no need to match vast amounts of individual transactions data between various nodes, but, only to match the hash pointers produced from those data — and that too, the final hash or the Merkle root. This allows efficient verification and synchronization of data between numerous nodes and chains containing thousands or millions of transaction data. Thus the successful implementation of distributed architecture is possible, without ever needing to transmit or read massive amounts of data that reside on those nodes.

As well, if the Merkle roots do not match between two nodes, it necessarily means the transactions, or the contents of the nodes do not match. The Merkle tree structure also allows the source of the mismatch to be identified efficiently to the specific block and the transaction.


Concept 4 — Consensus

What is a consensus?

Consensus generally means an agreement between two or more parties. To understand consensus from a digital perspective, Byzantine Fault Tolerance or BFT is a useful topic to review.

The Byzantine General’s problem was described by Leslie Lamport, Robert Shostak, and Marshall Pease in their 1982 paper, “The Byzantine Generals Problem”. The premise goes like this — a group of Byzantine generals, each commanding a subset of the Byzantine Army, were stationed around a city. Since there were no cell phones and conference calls back then, the generals communicated with each other through messengers. The general’s goal was to formulate a plan to either attack the city together or not attack at all. Think of it as a binary choice — attack = 1, retreat = 0. The generals knew that they would be successful in their offense only and only if all of the generals attacked the city together. Partial attack or partial retreat would result in the defeat of the generals and substantial loss of life and being captured by the city. And, the sudden end of the career as a general, losing all possessions and maybe, end of life.[12]

Now, the premise becomes more interesting as some of the generals or the messengers could be intercepted or corrupted such that they could, intentionally or not, pass the wrong message — e.g., retreat instead of attack or they do not pass a message at all — e.g., these communications become ‘faulty’. It was not known which of the messengers were faulty. There was no other way for any of these generals to know what the other generals knew.

The generals thus needed to come up with a counting strategy or a mathematical algorithm, that would produce the correct message in spite of the known risk of faulty messengers. The authors proved that there could be mathematical models to calculate the message correctly.

In a digital parallel, we can think of each general as a ‘node’ or a computer in a cluster, and the messages communicated between these nodes are the binary messages of 1 or 0. There is no perfect knowledge around whether or which nodes are faulty, however, using this model, one could come up with algorithms to ensure system or the cluster as a whole could reach consensus with mathematical certainty of the majority.

During the last part of 1900 century, some very complex and computationally intensive algorithms used in the servers to remain fault tolerant were termed as Byzantine Fault Tolerant. These algorithms improved very quickly as well. By 1999, Miguel Castro and Barbara Liskov introduced the “Practical Byzantine Fault Tolerance” (PBFT) algorithm,[12] which, provided higher performance of processing with many thousands of transactions per second, along with complying with byzantine fault tolerance however very little, in milliseconds, increase in latency.

How blockchain uses consensus?

Consensus ensures that within a distributed system, every node are in perfect synchronization or ‘agreement’ for all information. Even with the presence of ‘faulty nodes’ or bad actors, the algorithm ensures that the non-faulty majority prevails with the correct message.

Consensus mechanisms help generate agreement on a new transaction on the blockchain before it is executed and recorded on the chain. Once on the chain, the transaction data becomes permanent and cannot be altered in any way, and thus becomes the truth. Therefore, consensus mechanisms are like keys to the kingdom.

Important to note, that depending on the specific need of a network, the type of consensus protocol followed may vary. For example —

  • a private chain with 5 large institutions as participants, with verified identities, and executing large number of transactions daily — the primary need of the consensus protocol, in addition to ensuring agreed rules are followed, will be high throughput rates
  • a public chain with thousands of anonymous participants, unverified identities, executing fewer transactions — the primary need of the consensus protocol will be transaction security e.g. discourage and prevent fraudulent transactions at the expense of throughput and may be energy consumption

While bitcoin, ethereum, and few other prominent networks are designed to operate with a fixed consensus mechanism based on the need of those networks, few of of the more recent platforms including Hyperledger has been championing the idea of offering plug and play option to select between multiple consensus mechanisms based on the specific need of a network, which only adds to the versatility of these platforms. Some of the commonly known consensus mechanisms are described below.

Proof-of-Work (PoW)

Used in bitcoin, the first and the most commonly known and adopted across various cryptocurrencies and blockchain platforms. Designed for trustless or public blockchains, the protocol requires participant nodes, also known as miners, compete to solve a cryptographic puzzle, to win the right to add the next block to the chain and win a reward.

  • Controversial due to its heavy energy consumption
  • PoW is vulnerable to 51% attack — which means if fraudulent miners controlled 51% or more of the mining (computing) power of the network, they could theoretically manipulate data to their own advantage. [13]

Proof-of-Stake (PoS)

The second most popular algorithm, designed for public or trustless environment, overcomes the energy consumption issue of PoW through requiring transaction validators (equivalent to miners in bitcoin) to buy and put cryptocurrency on ‘stake’ to win the right of validating transaction blocks on the network. The algorithm is often compared to the lottery since putting the currency on a stake or its amount, in itself, does not imply a specific validator will be selected. The algorithm randomizes its selection to discourage malicious act.

  • Since this does away with solving complex cryptographic puzzles, the key benefits of this algorithm over PoW are less consumption of energy and thus higher speed of execution.
  • Not perfect as well, since like lottery, theoretically a group of validators investing very large amounts, stand much higher and predictable chance of getting selected, and thus may have undue control over the process such that they can then corrupt it to their advantage. [14]

Delegated Proof-of-Stake (DPoS)

Similar to PoS, but very different since validators with ‘stake’ can vote for a representative to whom they delegate their right to validate the next block.

  • The benefits over PoS are a better distribution of rewards, as well, fraudulent activity by one representative may result in not getting votes next time, thus discouraging malicious action.
  • Not perfect again, since due to the process of representation, the number of representatives are much less in numbers as compared to number of validators, and thus power is more centralized. Theoretically, it might be easier to organize an attack. [15]

Proof-of-Elapsed-Time (PoET)

Developed by Intel, can be used in both public and permissioned networks, it uses specialized hardware to keep random wait times between block creation. And then randomly selects the leader, who will propose the next block, like the lottery. This protocol has been adopted by Hyperledger Sawtooth.

  • The downside is that it relies too much on its proponent, Intel and needs specialized hardware. [16]

Practical Byzantine Fault Tolerance (PBFT)

Currently used by Hyperledger Fabric and thus a very popular algorithm for permissioned or private blockchains. Follows the premise of Byzantine Generals Problem discussed earlier and reaches mathematical certainty of consensus overcoming faulty or malicious nodes.

  • The primary drawback is that it cannot be used in public or trustless environments, however, is a very popular choice for trusted or permissioned situations, due to its efficiency and no energy concerns like PoW. [12]

Based on needs, there are more and more algorithms being developed that are either variation of these or generates a proof in some other way to achieve consensus. Notable among those are Proof of Burn, where some amount of cryptocurrency needs to be burnt or sent to an irrecoverable address, instead of staked as in PoS, to earn the right to validate transactions.

How consensus used in blockchain revolutionizes how we do business?

The need for consenting parties to facilitate an economic transaction is followed literally in blockchain within the consensus protocol. The participants go through a pre-defined consensus mechanism for every transaction. This ensures that the participants agree on a transaction before they execute it, therefore, no disputes. And once executed, the transaction remains on the chain, permanently and immutably.

We reviewed before the requirements for an economic transaction to take place — such as, consenting parties, agreed on rules, record-keeping, and dispute resolution. It is amazing that blockchain satisfies these requirements, solely through a software-based solution, such that the economic transactions can now be executed entirely digitally and online. If we were looking for just one reason why blockchain is revolutionizing business, this is it, and probably the best one.

Businesses almost in every industry employ large resources in creating, maintaining capabilities that facilitate forming contracts with other businesses or individuals, executing transactions per those contracts and then auditing the records for payment, settlement, reporting. Blockchain capabilities are perfectly suited to building solutions for all these processes in an integrated fail-safe manner that also enhances process simplicity, efficiency, and reduces cost and intermediary.


Concept 5 — Append-Only

What is append-only?

A ledger includes transactions generally involving two or more entities. Most of the ledgers we have today, either on paper or digital, can be changed or updated which means even past data can be changed. We see this as a convenience and missing data or anomalies in past transactions, if identified through routine checks or periodic audits, can be sorted out and updated with correct data.

Generally, digital databases allow four basic functions — known as C.R.U.D — these are

  • Create (create or add new data)
  • Update (update existing data)
  • Read (read existing data) and
  • Delete (delete existing data)

This functions are prevalent in almost all traditional databases and help in carrying out regular operations of the database. Now, from the perspective of a ledger — because the digital databases allow those functions, by design, past data can be changed or deleted, whether intentional or not.

The flip side of this convenience, however, is a threat of trust and tampering with past data. And this threat, therefore, necessitates that all data needs to be audited periodically since any recorded data could be changed or deleted by any party at any time. Audits and auditors fulfill this key requirement and have themselves become a large industry in the process.

How blockchain uses append-only data structure?

Blockchain has been developed to allow only two of these four operations —

  • Create (create or add new data)
  • Read (read existing data)

Therefore, only new data can be added to the chain as transactions in new blocks, and, once added, data can be read anytime, but cannot be updated further or deleted or changed in any way. The software does not allow the update or delete functions.

It turns out, this has profound implications regarding making it a more secure system, so much so, that one can trust it in a peer to peer, public or trustless situation, where no central authority is auditing it regularly to make sure the data is accurate. The software ensures that the data is accurate — since data can only be added to the chain once agreed by all required parties, through consensus; and once added, the data can only be read, and not updated or deleted in any way. This is called immutability and makes blockchain more secure than a traditional database.

Now, if one needs to ‘reverse’ or ‘update’ an already recorded transaction, then another transaction is initiated, run through the usual cycle of consensus and then added to the ledger, similar to how one would add a new transaction — and thus, the blockchain ledger is append-only and secure than regular databases.

How an append-only data structure benefits businesses?

The business benefit of course if that once on the chain, the data can never be changed or deleted, since these functions do not exist by design. Together with cryptography, this strengthens the immutability characteristics of the blockchain.

Blockchain ledger is a collection of transactions only and not a collection of assets. And asset ownership of an entity on the blockchain is always calculated by adding up all of the transactions the entity carried out since the beginning of the ledger. To carry this out flawlessly, blockchain employs cryptography and data structure that allows very efficient aggregation of related data, even among thousands or millions of transactions or blocks. In addition, data is incrementally added to the chain, with past data retained unchanged. These together allow blockchain to provide provenance solutions.

Provenance generally relates to the place of origin or earliest known history of something. It is discussed in relation to supply chain situation, and for record of ownership of artwork or antique, where provenance is referred to as a guide to quality or authenticity. The idea is to track all relevant pieces of information about an object or event through the history or its existence. For example, Walmart tracking vegetables from the farm to its shelves [source, Techcrunch]or IBM offering blockchain solution to track each of the 30,000 parts coming from 5,000 suppliers required to assemble every single car [source, Youtube], using blockchain to enable tracking and monitoring quality and authenticity of each item in the supply chain.


Concept 6 — Smart Contract

What is a smart contract?

The first known public blockchain was bitcoin. It would be an understatement to say bitcoin was revolutionary and groundbreaking. Still, the platform was built primarily for facilitating mining, transferring and rewarding bitcoins and no other user-defined program or logic were allowed to run on it.

Smart contracts, sometimes also called ‘chain code,’ are programming scripts that can be incorporated on the blockchain to facilitate or provide logic for certain transactions to take place on the chain. It can be further programmed, to be invoked automatically if something else takes place on the chain, e.g., to execute smartly — therefore, it’s called smart contract. The massive explosion of various cryptocurrencies and various applications of blockchain are due to the limitless programming possibilities of smart contracts.

How blockchain uses smart contracts?

As blockchains evolved, platforms that came in subsequently, including Ethereum, Hyperledger, and others, specifically allowed for custom or user-defined programming scripts to be executed as a functionality — very much like typing in scripts to create a program in a computer and then running it. These custom scripts could be something very simple like “A can send less than 30 coins to B on any day” — e.g., this script puts a limit on how many coins can be transferred on a given day for a given account, to very complex programs, such as computer programs with hundreds or thousands of lines of code. These newer blockchains were like fully functional computers but distributed in nature and sat on top of a blockchain framework. This functionality of adding programming scripts, either user-defined or otherwise, and be able to execute them opened up limitless functionalities for these blockchains. The same platforms could be used for let’s say a rental agreement to a health record of some sort to let’s say defining bylaws of a regulatory body — the possibilities were endless.

How smart contracts revolutionize the way we do business?

The extraordinary diversity among the use cases of the blockchain such as ‘web 3.0’, ‘autonomous lawyers’ or ‘autonomous governments’ etc., is due to the ‘programmability with smart contracts’ aspect of the blockchain. If one can think of writing the logic of ‘the web’ or ‘a lawyer’ or ‘a government,’ or any entity or process for that matter, into scripts or programmable codes, theoretically, those can be included on a blockchain, then, executed on a distributed way, through consensus of the participants, without the need of any intermediary, and the blockchain would record the resulting transactions on an immutable ledger and offer provenance — extraordinarily excellent — wouldn’t you agree?


Conclusions

We took a journey through the core concepts of blockchain going through the description that we set out in the beginning —

Blockchain is a distributed, append only digital ledger, shared and replicated among participants, uses advanced cryptography for security, collaborative consensus mechanism ensuring synchronization, smart contract for enforcing business logic, with no central point of control and no central point of failure — thereby generating trust, immutability, and provenance to the transaction log.”.

It is called blockchain because individual transactions are combined into ‘block’ and are sequentially ‘chained’ using cryptography to prevent tampering or change to previously recorded data. Few quick recaps —

  • a blockchain is nothing but a digital ledger
  • the software follows distributed architecture maintained by many participants
  • no central authority or server needed — benefits include dis-intermediation, and no central point of attack or failure
  • records transactions through a collaborative ‘consensus’ process — e.g. after the participants agree or consent
  • the ledger is append-only and past entries cannot be changed — to reverse/change a previous transaction, one needs to carry out a new transaction, going through the entire process of consensus and agreement with other participants
  • transactions are carried out following business logic — that is agreed by all participants and is built/embedded into the chain — and, they are called ‘smart’ since they can be invoked autonomously per parameters set, and the chain ensures transaction ‘follows’ or ‘abides-by’ them

Therefore, transactions recorded on the chain

• MUST have followed the business logic that was agreed by all participants

• MUST have been agreed through ‘consensus’ by relevant participants

• MUST NOT have been tampered with once recorded on the chain

Therefore, blockchain leads to generating trust, immutability, and provenance without the need for a third party or an intermediary or audits. The qualities and benefits of blockchain thus lead to diverse use cases in almost every industry with the promise to fundamentally change how business is carried out. And, in most cases, results in drastic process simplification, reduction in cost and time, better data management and resiliency with almost no maintenance cost, offering new frontiers and capabilities of trust & consensus based products in trustless environments, using breakthrough cryptography and so on…

It will take another long article to list all the use cases and industries blockchain is revolutionizing, may be I am going to do that in another article later, but for now I am going to conclude with just one key idea as below.

Many expectations and predictions involving blockchain are derived on the premise of ‘dis-intermediation’ — such as currency without the need of a government, cryptocurrency; or stock exchange minus the exchange authority such as ‘block exchange’, autonomous governments with rules defined within the chain, so on and so forth. Large organizations including banks, who also function as intermediaries themselves, are dependent on other intermediaries, such as other banks, governments entities, international bodies — and these large organizations are looking to lessen dependence on intermediaries through blockchain. The general expectation from dis-intermediation is process simplification, efficiency gain and reduction in cost and time.

To sum it up, on our quest of living our lives we need to exchange items of value — goods, services, money etc. How best to facilitate these exchanges? The answer was an intermediary entity who was willing to provide the rules, regulations, structure to be followed by all participants, and also promised to provide cover in case of risk or unwanted events. Unfortunately, over time, the intermediaries became larger, with greater control over the process that became inefficient and also made us more reliant on them. The central promise of blockchain is that for the first time, we have been able to come close to a cheap, replicable, software-based solution that might just do the trick of setting the boundaries of accepted behavior that facilitates trades and transactions, without the need for an intermediary.

Of course, the question probably remains whether the entities providing blockchain technology today, themselves would assume a greater role within the value chain in the future, becoming large intermediaries themselves. It might or might not happen. And until then, we are safely assuming that we have a near-term future of explosive growth of dis-intermediated digital platforms, facilitating the exchange of goods, services, and currencies across industries and various walks of life.


So, what do you think? Is there anything you recommend we add to the discussion? Please feel free to ask if you would like any clarification or additional information. You can contact me via Email, LinkedIn or Twitter.

Thanks for reading. If you enjoyed the article, feel free to like or share, so that others can find it too.


Notes

[1] EY Report on Capital Markets: innovation and the FinTech landscape; https://www.ey.com/gl/en/industries/financial-services/banking---capital-markets/ey-capital-markets-innovation-and-the-fintech-landscape

[2] Wikipedia — Blockchain; https://en.wikipedia.org/wiki/Blockchain

[3] The Linux Foundation — Blockchain: Understanding Its Uses and Implications (LFS170); https://training.linuxfoundation.org/training/blockchain-understanding-its-uses-and-implications/

[4] Blockgeeks.com — What is Blockchain Technology? A Step-by-Step Guide For Beginners; https://blockgeeks.com/guides/what-is-blockchain-technology/

[5] Wikipedia — Ledger; https://en.wikipedia.org/wiki/Ledger

[6] IBM Knowledge Center — Client/server architecture; https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/com.ibm.admin.doc/ids_admin_0125.htm

[7] Wikipedia — Data Encryption Standard; https://en.wikipedia.org/wiki/Data_Encryption_Standard

[8] Wikipedia — Stream cipher; https://en.wikipedia.org/wiki/Stream_cipher

[9] IBM Knowledge Center — Symmetric cryptography; https://www.ibm.com/support/knowledgecenter/en/SSB23S_1.1.0.14/gtps7/s7symm.html#s7symm__figccs03

[10] Movable Type Scripts — SHA-256 Cryptographic Hash Algorithm; https://www.movable-type.co.uk/scripts/sha256.html

[11] Wikipedia — Merkle tree; https://en.wikipedia.org/wiki/Merkle_tree

[12] Wikipedia — Byzantine fault tolerance; https://en.wikipedia.org/wiki/Byzantine_fault_tolerance

[13] Wikipedia — Proof-of-work system; https://en.wikipedia.org/wiki/Proof-of-work_system

[14] Wikipedia — Proof-of-stake; https://en.wikipedia.org/wiki/Proof-of-stake

[15] Wikipedia — Delegated Proof of Stake; https://it.wikipedia.org/wiki/Delegated_Proof_of_Stake

[16] Investopedia — Proof of Elapsed Time; https://www.investopedia.com/terms/p/proof-elapsed-time-cryptocurrency.asp