Since the introduction of the bitcoin cryptocurrency in 2008, the blockchain technology has been in everyone’s mouth. In this insight, I review the three main components defining the core of any blockchain implementation using a slightly novel approach. I start by defining the asset transfer problem (ATP) that blockchain is aiming at solving. I present the key characteristics of the blockchain solution to the ATP and describe how it addresses the weaknesses of more traditional solutions. I focus on the knots and bolts behind the blockchain technology and its components. To allow you formulating a personal assessment on whether blockchain technology can solve your specific problem, I identify key assumptions, strengths, and weaknesses.
Since the introduction of bitcoin cryptocurrency in 2008 by an unknown person under the pseudonym Satoshi Nakamoto, the blockchain technology has been on everyone’s lips. Not a single conference on banking or FinTech passes without at least one talk mentioning the blockchain technology and advocating its benefits for the future of financial services. Professors M. Iansiti and K. Lakhani of the Harvard Business School even call it a foundation technology with the potential to create new foundations for our economy and social systems in their recent Harvard Business Review article The Truth about Blockchain. It remains an open question to what extend all the fuzz about blockchain is a hype. There still seems to be a mismatch between existing business problems and opportunities provided by blockchain technology. In many cases, so it seems to me, is blockchain not the most appropriate solution to the business problems posed. For example, do financial services companies really need blockchain technology to “dramatically reduce the cost of transactions” or can this be realized in a simpler way by other technologies.
To formulate a personal assessment of the merits and risks of the blockchain technology for a specific business purpose, it is important to understand its properties relating the technological aspects of blockchain to the underlying business issues.
Defining the problem
Consider the following problem which blockchain technology aims at solving: Party A owns an asset X which it wants to transfer to party B. Any solution to this problem, which I call the asset transfer problem (ATP), needs to satisfy two conditions:
- Precondition: Party A owns the asset X
- Postcondition: Party B owns the asset X and party A no longer owns the asset X
A special case of the ATP, is the handling of digital money. Other areas, where similar problems occur, are trading and settling stocks, buying precious goods, like art or diamonds, or smart contracts.
Solving the problem
At first glance, solving the ATP appears to be easy. But think again! How does party B ensure that the asset X belongs to A, and is not potentially stolen? There exist two common approaches for ensuring the precondition, that is,
- party B trusts party A’s assertion that it is the owner of asset X, e.g., when you buy a book in a bookstore you trust the bookstore to be the owner of the book, or
- there exists a (legally binding) record from a trusted third party, e.g., an entry in a register of deed or a certificate of ownership, that shows X belongs to A.
In the physical world, satisfying the postconditions is usually simple. But in a digital world, it is much harder. Indeed, the postcondition requires ensuring that party A did not make a copy of the digital item before transferring it to party B. The most common approach used is maintaining a ledger that records the ownership of the asset X and ensures single owner at any given point in time. The ledger is either maintained by an independent and trusted third party (e.g., a land register maintained by the land office) or by one of the involved parties (e.g., an account by a bank).
There exist two key weaknesses common to all traditional solutions to the ATP:
- All solutions require some sort of trust in humans, in the involved counterparty and / or into a third party.
- The handling of the asset transfer is tedious, because it requires intervention of a third party in ensuring the precondition as well as the postcondition.
Using blockchain as an alternative to solve the ATP
The idea behind using blockchain technology for solving the ATP is simple – at least in theory. It is based on replacing the trust in humans requirement (weakness 1) and the involvement of a third party (weakness 2) by an algorithm – I call it the blockchain algorithm. What does this mean? It means that if both parties A and B agree to follow the blockchain algorithm, then asset X can be transferred from A to B in such a way that the ATP’s pre- and postconditions are satisfied and no third party is involved (the transfer is a pure peer-to-peer transaction). The blockchain algorithm replaces trust in humans by trust in the validity of an algorithm. If the algorithm can be proven correct, no trust is needed at all.
Blockchain algorithm building blocks
The blockchain algorithm can be subdivided into three components, each with its unique properties, that is,
- a ledger of all historical asset transfers, recording the ownership of the assets over time,
- an algorithm for ensuring consistency and veracity, that is trustworthiness, of the data in the ledger, and
- an algorithm for updating the ledger, that is, adding asset transfers to the ledger.
The ledger – a record of asset ownership
The ledger, called the blockchain, is a continuously growing list of ordered and linked records of asset ownerships, called blocks.
Each participant in the blockchain algorithm, whether or not involved in a specific transaction, maintains a copy of the ledger. This copy is constantly updated with new asset transfer data (called the blocks of the blockchain). Rely on an explicit third party for handling the ledger can be avoided (addressing weakness 2). In addition, there is no need to trust a single central authority (addressing weakness 1).
The blockchain algorithm requires storing a full copy of the ledger by each participant, which is resource intensive, especially as historical asset transfers are never pruned / discarded from the ledger.
Ensuring consistency – using public key cryptography
The consistency of the data in the ledger is guaranteed by storing a history of all asset transfers and asset owners over time as a linked list of blocks. In addition to the asset transfer and ownership data, each block contains a timestamp and a link to the previous block. The data is encrypted and signed using public key cryptography. This ensures that the ledger is inherently robust to alterations. Once recorded, the data in a block cannot be altered retroactively.
The consistency of the data in the ledger (addressing weakness 1), is guaranteed by the block construction algorithm and the reliance on public key cryptography.
The ledger data is available to all participants as well as existing and potential parties in an asset transfer. Through the use of cryptography, the identity of the parties involved in asset transfers remains private.
Up to this date, neither the block construction, nor the cryptographic algorithms have been proven valid. But any attempt so far to disprove them have failed.
The block construction algorithm may be used to ensure tamper proven data outside the blockchain algorithm.
Updating the ledger – entering asset transfers
Updating the ledger is based on the concept of miners. Each miner solves a computationally hard mathematical problem associated with a given asset transfer. The first miner having found a solution constructs the block representing the asset transfer to be added to the ledger and sends it to all participants. A sophisticated consensus building algorithm ensures that only one miner can add a block to the ledger.
Contrary to a common belief, there is still a third party, the miners, involved in solving the ATP.
Mining is very time and energy consuming and is in contrast with the belief that blockchain technology can “dramatically reduce the cost of transactions”.
Blockchain algorithm in action
After a lot of concepts, let’s have a look at how the blockchain algorithm works in practice. Consider Benno buying a share of Amazon from Scott.
- Scott broadcasts a request to add a block containing the requested asset transfer (Scott transfers to Benno, 1 x Share of Amazon) to all participants.
- All miners competing for the block generation start mining, that is, solving a complex mathematical problem based on the requested asset transfer.
- The first miner having solved the problem generates and broadcasts the block to be added to the ledger to the network.
- All participants add the block to their copy of the ledger.
- Blockchain is one possible algorithmic solution to the ATP.
- Contrary to common beliefs, it does not eliminate third party intermediaries.
- It requires large amounts of calculation resources and significant redundant data storage capacity.
- Potential users of the blockchain algorithm should carefully review the problem they want to solve and results they are aiming at to ensure that there do not exist alternatives solutions that are more efficient, less complex, and / or cheaper.