Introduction
Blockchain technologies are taking the world by storm. Public blockchains, such as Bitcoin and Ethereum, enable secure peer-to-peer applications like crypto-currency or smart contracts. Their security and performance are well studied. This paper concerns recent private blockchain systems designed with stronger security (trust) assumption and performance requirements. These systems target and aim to disrupt applications which have so far been implemented on top of database systems, for example banking, finance and trading applications. Multiple platforms for private blockchains are being actively developed and fine tuned. However, there is a clear lack of a systematic framework with which different systems can be analyzed and compared against each other. Such a framework can be used to assess blockchains’ viability as another distributed data processing platform, while helping developers to identify bottlenecks and accordingly improve their platforms.
A blockchain is essentially a distributed database of records or public ledger of all transactions or digital events that have been executed and shared among participating parties. Each transaction in the public ledger is verified by consensus of a majority of the participants in the system. And, once entered, information can never be erased. The blockchain contains a certain and verifiable record of every single transaction ever made. To use a basic analogy, it is easier to steal a cookie from a cookie jar, kept in a secluded place than stealing the cookie from a cookie jar kept in a market place, being observed by thousands of people.
Bitcoin is the most popular example that is intrinsically tied to blockchain technology. It is also the most controversial one since it helps to enable a multibillion-dollar global market of anonymous transactions without any governmental control. Hence it has to deal with a number of regulatory issues involving national governments and financial institutions.
However, Blockchain technology itself is non-controversial and has worked flawlessly over the years and is being successfully applied to both financial and non-financial world applications. Last year, Marc Andreessen, the doyen of Silicon Valley’s capitalists, listed the blockchain distributed consensus modeless the most important invention since the Internet itself. Johann Polychaeta from BNP Paribas wrote in the Quintessence magazine that bitcoin’s blockchain, the software that allows the digital currency to function should be considered as an invention like the steam or combustion engine that has the potential to transform the world of finance and beyond.
This is where blockchain technology comes handy. It has the potential to revolutionize the digital world by enabling a distributed consensus where each and every online transaction, past and present, involving digital assets can be verified at any time in the future. It does this without compromising the privacy of the digital assets and parties involved. The distributed consensus and unanimity are two important characteristics of blockchain technology.
WHAT IS COMMON TO BLOCKCHAIN TECHNOLOGIES?
Blockchains usually contain the following concepts:
1. A data store (database) that records changes in the data. Up to now they have most commonly been financial transactions, but you can store and record changes to any kind of data in a blockchain.
2. Replication of the data store across a number of systems in real time. ‘Broadcast’ blockchains, such as Bitcoin and Ethereum, ensure that all data is sent to all participants: everyone sees everything. Other technologies are more selective about where data is sent.
3. ‘Peer-to-peer’ rather than client-server network architecture. Data may be ‘gossiped’ to neighbors rather than broadcast by a single coordinator acting as the golden source of data.
4. Cryptographic methods such as digital signatures to prove ownership and authenticity, and hashes for references and sometimes to manage write-access.
I often describe blockchain technology as ‘A collection of technologies, a bit like a bag of Legos’. You can take different bricks out of the bag and put them together in different ways to create different results. Sometimes when discussing specific potential uses for this technology, we hear this exchange: ‘But, you don’t need a blockchain to do that. You can just use traditional technology!’ ‘So how would you do it?’ ‘Oh, some data storage, some peer-to-peer data sharing, cryptography to ensure authenticity, hashes to ensure data tampering is evident etc’. ‘But you’ve just described how blockchains work!’ So blockchains are not themselves a new invention, but instead, they are put. So blockchains are not themselves a new invention, but instead, they put together existing technologies to create new capabilities. What’s the difference between a blockchain and a database? A common database is a system which simply stores and retrieves data. The blockchain platform is more than that. It stores and retrieves existing data just as a normal database does. It also connects to other peers and listens for new data, validates new data against pre-agreed rules, then stores and broadcasts that new data to other network participants to ensure that they all share the same updated data. And it does so constantly, without manual intervention. What’s the difference between a distributed database and a distributed ledger?
Replicated databases, where data is copied in real time to multiple machines for resiliency or performance reasons are not new. Shared databases, where the workload and storage are shared, or spread around multiple machines, usually to increase speed and storage, are also not new. With distributed ledgers or blockchains, however, participants do not need to trust each other. They do not work on the assumption that the other participants are behaving honestly, so each participant individually checks everything. Richard Brown describes this in his blog202 as a difference in trust boundaries: Distributed database and Distributed ledger
Layers of Blockchain
As of this writing, the public blockchain variants such as Ethereum are in the process of maturing, and building complex applications on top of These blockchains may not be a good idea. Keep in mind that blockchain is never just a piece of technology, but a combination of business principles, economics, game theory, cryptography, and computer science engineering. Most of the real-world applications are quite complex in nature, and it is advisable to build blockchain solutions from the ground up.
The purpose of this section is only to provide you with a bird’s eye view of various blockchain layers, and delve deeper into the core fundamentals in the following chapters. To start with, let us just recollect our basic understanding of the TCP/IP protocol stack. The layered approach in the TCP/IP stack is actually a standard to achieve an open system. Having abstraction layers not only helps in understanding the stack better, but also helps in building products that are compliant to the stack to achieve an open system. Also, having the layers abstract from each other makes the system more robust and easy to maintain. Any change to any of the layers doesn’t impact the other layers. Again, the TCP/IP analogy is not to be confused with the blockchain layers. TCP/IP is a communication protocol that every Internet application uses, and so is blockchain.
Enter the blockchain. There are no agreed global standards yet that would clearly segregate the blockchain components into distinct layers. A layered heterogeneous architecture is needed, but for now that is still in the future. So, we will try to formulate blockchain layers to be able to understand the technology better and build a comparative analogy between hundreds of blockchain/Cryptocurrency variants out there in the market. Take a look at the high-level, layered representation of blockchain
Application Layer
Because of the characteristics of blockchain, such as immutability of data, transparency among participants, resilience against adversarial attacks etc., there are multiple applications being built. Certain applications are just built in the application layer, taking for granted any available “flavor” of blockchain, and some applications are built in the application layer and are interwoven with other layers in blockchain. This is the reason the application layer should be considered a part of blockchain. This is the layer where you code up the desired functionalities and make an application out of it for the end users. It usually involves a traditional tech stack for software development such as client-side programming constructs, scripting, APIs, development frameworks, etc. For the applications that treat blockchain as a backend, those applications might need to be hosted on some web servers and that might require web application development, server-side programming, and APIs, etc. Ideally, good blockchain applications do not have a client–server model, and there are no centralized servers that the clients access, which is just the way Bitcoin works.
Execution Layer
The Execution Layer is where the executions of instructions ordered by the Application Layers take place on all the nodes in a blockchain network. The instructions could be simple instructions or a set of multiple instructions in the form of a smart contract. In either case, a program or a script needs to be executed to ensure the correct execution of the transaction. All the nodes in a blockchain network have to execute the programs/scripts independently. Deterministic execution of programs/scripts on the same set of inputs and conditions always produces the same output on all the nodes, which helps avoid inconsistencies.
Semantic Layer
The Semantic Layer is a logical layer because there is an orderliness in the transactions and blocks. A transaction, whether valid or invalid, has a set of instructions that gets through the Execution Layer but gets validated in the Semantic Layer. If it is Bitcoin, then whether one is spending a legitimate transaction, whether it is a double-spend attack, whether one is authorized to make this transaction, etc., are validated in this layer. You will learn in the following chapters that Bitcoins are actually present as transactions that represent the system state. To be able to spend a Bitcoin, you have to consume one or more previous transactions and there is no notion of Accounts. This means that when someone makes a transaction, they use one of the previous transactions where they had received at least the amount they are spending now. This transaction must be validated by all the nodes by traversing previous transactions to see if it is a legitimate transaction. Ethereum, on the other hand, has the system of Accounts. This means that the account of the one making the transaction and that
of the one receiving it both get updated. Apart from the aforementioned, it is the semantic layer that defines how the blocks are linked with each other. Every block in a blockchain contains the hash of the previous block, all the way to the genesis block. Though the final state of the blockchain is achieved by the contributions from all the layers, the linking of blocks with each other needs to be defined in this layer. Depending on the use case, you might want to code up an additional functionality in this layer.
Propagation Layer
The previous layers were more of an individual phenomenon: not much coordination with other nodes in the system. The Propagation Layer is the peer-to-peer communication layer that allows the nodes to discover each other, and talk and sync with each other with respect to the current state of the network. When a transaction is made, we know that it gets broadcast to the entire network. Similarly, when a node wants to propose a valid block, it gets immediately propagated to the entire network so that other nodes could build on it, considering it as the latest block. So, transaction/block propagation in the network is defined in this layer, which ensures stability of the whole network. By design, most of the blockchains are designed such that they forward a transaction/block immediately to all the nodes they are directly connected to, when they get to know of a new transaction/block.
Consensus Layer
The Consensus Layer is usually the base layer for most of the blockchain systems. The primary purpose of this layer is to get all the nodes to agree on one consistent state of the ledger. There could be different ways of achieving consensus among the nodes, depending on the use case. Safety and security of the blockchain is ascertained in this layer. In Bitcoin or Ethereum, the consensus is achieved through proper incentive techniques called “mining.” For a public blockchain to be self-sustainable, there has to be some sort of incentivization mechanisms that not only helps in keeping the network is alive, but also enforces consensus. Bitcoin and Ethereum use a Proof of Work (PoW) consensus mechanism to randomly select a node that can propose a block. Once that block is proposed and propagated to all the nodes, they check to see if it a valid block with all legitimate transactions and that the PoW puzzle was solved properly; they add this block to their own copy of blockchain and build further on it. There are many different variants of consensus protocols such as Proof of Stake (PoS), delegated PoS (dPoS), Practical Byzantine Fault Tolerance (PBFT), etc.
Why is Blockchain Important?
We looked at the design aspects of centralized and decentralized systems and got some idea of the technical benefits of decentralized systems over centralized ones. We also learned about different layers of blockchain. Blockchain, being a decentralized peer-to-peer system, has some inherent benefits and complexities. Keep in mind that it is not a silver bullet that can address all the problem areas in the world, but there are specific cases where it is the need of the hour. There are also scenarios where blockchaining the existing solution makes it more robust, transparent, and secured. However, it can as well lead to disaster if not done the right way! Let us now keep a business and functional perspective in mind and analyze blockchain.
WHAT ARE BLOCKCHAINS GOOD FOR?
The motivations between public and private blockchains are different. Let’s consider them separately.
Public Blockchains
To date, public blockchains have been used with some success in the following areas:
1. Speculation
2. Darknet markets
3. Cross border payments
4. Initial Coin Offerings
Speculation
The main use for cryptocurrencies is undoubtedly speculation. Their prices are volatile and people make and lose a lot of money trading these coins. The fact that there are no established methods to value a cryptocurrency means that prices are likely to remain volatile for some time. This differs from traditional financial markets where pricing models help to constrain prices to within broadly understood limits. Equities have well-established pricing methodologies. Discounted forecast cash flows, book value, and enterprise value calculations can help to establish a consensus on the value of a company. Ratios such as earnings per share, price to earnings, and return on assets can help to compare share prices between similar companies. Fiat currencies trade on the basis of comparative economic data. Other traditional financial assets have other standardized pricing methodologies. Up to now, however, I have not seen credible methods for pricing cryptocurrencies or ICO tokens. This is changing—as the industry pricing cryptocurrencies or ICO tokens. This is changing—as the industry matures, pricing models are being explored, but it will take some time for These models to become widely accepted.
Cross Border Payments
While there may have been some limited success in using cryptocurrencies as a vehicle to move fiat across borders, adoption has been limited. I personally performed an experiment in 2014 when I sent $200 Singapore dollars to my friend in Indonesia205 using three methods: Western Union, bank transfer, and Bitcoin. The Bitcoin route was by far the worst user experience, and the most expensive. However, Bitcoin has become more usable since then, and I expect it to continue to improve Further.
The core problem is that in a conventional fiat-to-fiat remittance, whether through a financial services agency such as Western Union or through the banking system, there is only one exchange of currencies. through the banking system, there is only one exchange of currencies. Using cryptocurrencies, there are now two exchanges: fiat to crypto, then crypto to fiat. More exchanges mean more steps, complexity, and cost. Cross border payments were initially trumpeted as a ‘killer app’ for Bitcoin and cryptocurrencies, especially in 2014–15, but in 2018 there is less media attention for this particular use of cryptocurrency. Indeed, in June 2018, money transfer agency Western Union announced that they had been testing XRP for six months and were yet to see any savings206. Perhaps the industry is in the ‘trough of disillusionment’ in Gartner’s technology hype cycle207.
Initial Coin Offerings (ICOs)
ICOs are a new method of fundraising that became popular in 2016. Companies offer tokens to people in return for cryptocurrency. Tokens usually represent a claim on future goods or services provided by that company. Some merchants use cryptocurrency payment processors to accept cryptocurrencies from customers as payment. In 2014 and 2015, it was a cheap way for merchants to get press releases and seem innovative. However, since then many have quietly removed this payment mechanism due to lack of customer interest. I have seen public blockchains being used for other ‘fringe’ purposes, for example the storing of hashes on a blockchain to prove that some data existed at a certain point in time. I haven’t seen evidence that this use is particularly widespread.
Private Blockchains
While public blockchains have enabled censorship resistant digital cash, they were not designed to solve problems that traditional businesses have. What are the challenges within existing businesses, and how might concepts borrowed from public blockchains help improve how they Operate? Private blockchains may be useful any time a business interacts with another business to share workflows, processes, or assets. When does this other business share workflows, processes, or assets? When does this happen? Pretty much all of the time! Most businesses don’t operate in a vacuum; they need to interact with other businesses. The financial services industry was the first to invest, to understand, and to use this technology, specifically for wholesale banking and in financial markets. This makes sense, as the industry is dominated by business-to-business workflows, intermediaries, and digital assets; and the ‘back office’ had not received significant investment in decades. Perhaps the fact that Bitcoin was described as a cryptocurrency also made it interesting to Banks.
Private blockchains have been inspired by public blockchains but are being designed to meet the needs of business. They adopt some concepts from public blockchains and reject others. By relaxing the strict requirements of public blockchains around permission lessens and censorship resistance, private blockchains do not need mechanisms such as censorship resistance, private blockchains do not need mechanisms such as the energy-intensive proof-of-work mining.
Private blockchains aim to increase the quality and security of technology used in business-to-business communications. They allow unique digital assets to move freely and reliably between companies without the need to have a third party act as a record keeper. Private blockchains can provide transparent multilateral workflows in the form of smart contracts, and demonstrate that the agreed workflows are adhered to. This is what is meant by ‘trustless automation’. Instead of having to trust a business to perform as agreed, a smart contract ensures that pre-programmed processes are followed.
Business-to-business communication
Processes within an organization have, over time, been made efficient by use of internal systems, workflow tools, intranets, and data repositories. However, the sophistication of technology used to communicate between organizations has remained low. In some advanced situations, APIs (application programming interfaces) are used for machine to machine communications, but in the majority of cases we rely on emails and pdf files. It is still common for pieces of paper with wet-ink signatures to be couriered across the world.
Duplicative data, processes, and reconciliation Businesses trust their own data but not anyone else’s. This means that businesses within an ecosystem duplicate data and processes. Digital files businesses within an ecosystem duplicate data and processes. Digital files and records are often replicated within and between multiple organizations, with none of them being the golden source. Version control of documents and records is painful unless a third party is paid to be the golden source. Reconciliation only goes some way to solve these pain points.
Limitations of Centralized Systems
If you take a quick glance at the software evolution landscape, you will see that many software solutions have a centralized design. The reason is not just because they are easy to develop and maintain, but because we are used to such a design to be able to trust the system. We always need a trusted third party who can assure we are not being cheated or becoming victims of a scam. Without a prior business relationship, it is difficult to trade with someone or even scale up. One would probably not do business with someone they have never known.
Downsides of a conventional centralized system
• Trust issues
• Security issue
• Privacy issue—data sale privacy is being undermined
• Cost and time factor for transactions
Advantages of decentralized systems over centralized
• Elimination of intermediaries
• Easier and genuine verification of transactions
• Increased security with lower cost
• Greater transparency
• Decentralized and immutable
Blockchain Uses and Use Cases
In this section, we will look at some of the initiatives that are already being taken across industries such as finance, insurance, banking, healthcare, government, supply chains, IoT (Internet of Things), and media and entertainment to name a few. The possibilities are limitless, however! A true sharing economy, which was difficult to achieve in centralized systems, is possible using blockchain technology (e.g., peer-to-peer versions of Uber, AirBNB). It is also possible to enable citizens to own their identity (Self-Sovereign Digital Identity) and monetize their own data using this technology. For now, let us take a look at some of the existing use cases.
• Any type of property or asset, whether physical or digital, such as laptops, mobile phones, diamonds, automobiles, real estate, e-registrations, digital files, etc. can be registered on blockchain. This can enable these asset transactions from one person to another, maintain the transaction log, and check validity of ownerships. Also, notary services, proof of existence, tailored insurance schemes, and many more such use cases can be developed.
• There are many financial use cases being developed on blockchain such as cross-border payments, share trading, loyalty and rewards system, Know Your
Customer (KYC) among banks, etc. Initial Coin Offering (ICO) is one of the most trending use cases as of this writing. ICO is the best way of crowdsourcing today by
using cryptocurrency as digital assets. A coin in an ICO can be thought of as a digital stock in an enterprise, which is very easy to buy and trade.
• Blockchain can be used to enable “The Wisdom of Crowds” to take the lead and shape businesses, economies, and various other national phenomena by using collective wisdom! Financial and economic forecasts based on the wisdom of crowds, decentralized prediction markets, decentralized voting, as well as stocks trading can be possible on blockchain.
• The process of determining music royalties has always been convoluted. The Internet-enabled music streaming services facilitated higher market penetration, but made the royalty determination more complex. This concern can pretty much be addressed by blockchain by maintaining a public ledger of music rights ownership information as well as authorized distribution of media content.
• This is the IoT era, with billions of IoT devices everywhere and many more to join the pool. A whole bunch of different makes, models, and communication protocols makes it difficult to have a centralized system to control the devices and provide a common data exchange platform. This is also an area where blockchain can be used to build a decentralized peer-to-peer system for the IoT devices to communicate with each other. ADEPT (Autonomous Decentralized Peer-To-Peer Telemetry) is a joint initiative from IBM and Samsung that has developed a platform that uses elements of Bitcoin’s underlying design to build a distributed network of devices—a decentralized IOT. ADEPT uses three protocols: BitTorrent for file sharing, Ethereum for smart contracts, and TeleHash for peer-to-peer messaging on the platform. The IOTA foundation is another such initiative.
Summary
In this chapter, we covered the evolution of blockchain, the history of it, what it is, the design benefits, and why it is so important with some relevant use cases. In this section, we will conclude with its game-changing offerings, in line with the technology revolution. In the 1990s, mass adoption of the Internet changed the way people did business. It removed friction from creation and distribution of information. This paved the way for new markets, more opportunities, and possibilities. Similarly, blockchain is here today to take the Internet to a whole new level by removing friction along three key areas: Control, Trust, and Value.
Control:
Blockchain enabled distribution of the control by making the system decentralized.
Trust:
Blockchain is an immutable, tamper-resistant ledger. It gives a single, shared source of truth to all nodes, making the system trustless. What it means is that trust is no longer needed to transact with any unknown person or entity and is inherent by design.
Value:
Blockchain enables exchange of value in any form. One can issue and transfer assets without central entities or intermediaries.