Blockchain Explained (Part 1)
"Blockchain and blockchain-related topics are increasingly discussed and studied nowadays. I became deeply interested in the blockchain myself and decided to write a series of articles on the topic. Why?" Jérôme Kehrli
Because the blockchain has tremendous potential for fraud prevention and cyber security. With this series of articles, we will explore how the blockchain will change the cyber risk game.
This first article introduces the blockchain concept, presents what it is in the light of its initial deployment in the Bitcoin project, key problems solved by blockchain, and the blockchain operation principle.
In the second, we will dig into the technical aspects to complete our thorough introduction to blockchain. Concrete business applications and evolutions will be discussed in an article to follow in the coming weeks.
The principles and fundamentals of blockchain come initially from the design work on the Bitcoin. Most of this article focuses on the design and the principle of the blockchain put in place in the Bitcoin system.
Some recent (Blockchain 2.0) implementations differ slightly while still sharing most genes with the original blockchain, making all that is presented below valid from a conceptual perspective in these other implementations as well.
1. What is a blockchain?
1.1 Some definitions
Answering this question is somewhat tricky. I will give three definitions that do a pretty good job in answering this question.
A blockchain is the technology running bitcoin.
The blockchain is a technology that underlies bitcoin - conceived in 2008 and first implemented in 2009 - where it serves as the public ledger for all transactions. The blockchain technology was conceived by Satoshi Nakamoto, a virtual identity which is believed nowadays to belong to a group rather than a single individual.
A blockchain is a distributed database that maintains a continuously-growing list of records called blocks, which are secured from tampering and revision.
A blockchain consists of blocks that hold batches of valid transactions. Each block includes the hash of the prior block in the blockchain, linking the two. The linked blocks form a chain.
In addition to a secure hash based history, any blockchain database has a specified algorithm for scoring different versions of the history so that one with a higher value can be selected over others. Peers supporting the database don't have the exact same version of the history at all times, but fall to eventual consistency.
My definition, slightly different from Wikipedia's, underlines the key aspects of blockchain technology, as opposed to the blockchain data structure on which Wikipedia's definition focuses:
A blockchain is a secured protocol enabling peer-to-peer exchanges on a distributed network in a secured, public and non-repudiable way.
I guess all these three definitions are valid and each provides some valuable information. I do however prefer mine (well that's a surprise ...) since it underlines, what I believe are the very key aspects of the blockchain.
A blockchain is first and foremost a certification infrastructure that would benefit all applications relying on it. It is fundamentally an application protocol more than anything else since it consists of individual behavior specifications that eventually lead to a distributed, peer-to-peer, message broadcast-based and secured information database.
1.2 A tiny little bit of history
The blockchain architecture and principles were first designed for Bitcoin as a solution to the problem of making a database both secured and widely distributed. The block chain is the main innovation of Bitcoin.
As of 2014, "Blockchain 2.0" was a term used in the distributed blockchain database field. Blochchain 2.0 is an evolution of the initial blockchain intent where pretty much only transaction from a sender to a receiver could be stored. In this new paradigm, instead of simple transactions, the exchanges happen around so-called "Smart Contracts", actually pretty complete applications implemented in specific scripting languages.
The Economist described one implementation of this second-generation programmable blockchain as coming with "a programming language that allows users to write more sophisticated smart contracts, thus creating invoices that pay themselves when a shipment arrives or share certificates which automatically send their owners dividends if profits reach a certain level."
1.3 Introduction example
Let's imagine the following example, which we will use throughout this article to illustrate the blockchain principles:
- Sally is running a little online shop and sells various kinds of clothes. Sally's little shop only accepts PayPal transactions.
- Bob is an online buyer who just discovered Sally's online clothing shop. He found a nice suit there and wants to buy it.
- Bob needs to pay Sally, using PayPal, before she sends him the suit.
2. Key problem solved by the blockchain
Banking is a system of intermediaries across the spectrum - ranging from payment networks (e.g. MasterCard, Visa etc.), to Clearinghouses in Capital Markets to Banks, etc. And the reason these intermediaries exist is to establish trust between two parties who do not know each other.
A Blockchain stands behind every bitcoin ever created, upholding the proof of ownership. The innovation is its openness in parallel with its security, which ensures that the currency is tamper proof.
2.1 Back on the introduction example
Remember Bob and Sally's transaction above? This is how it happens in practice, with all the intermediaries.
This traditional model suffers from several drawbacks:
- The financial system is opaque, lacks transparency and fairness.
- None of these intermediaries are volunteers. They work for money and get paid for their services. The transaction costs money to both the buyer and the seller. There are interest rates, fees, surcharges, etc. EFTs in Europe can cost 25 euros. Credit transactions can cost a good percentage of the transaction.
- All these exchanges are error prone. Credit card information gets stolen. Banks may make mistakes.
- An account holder is eventually not even the actual owner of his/her account. In reality, the bank owns the account. Funds can be garnished, even frozen completely.
- Banks and other payment processors like PayPal, Visa, and MasterCard may refuse to process payments for certain legal entities.
- Financial exchanges are slow. Checking and low-cost wire services take days to complete.
2.2 Centralization and clearing houses
A clearing house is a financial institution that provides clearing and settlement services for financial and commodities derivatives, and securities transactions. These transactions may be executed on a futures exchange or securities exchange, as well as off-exchange in the over-the-counter (OTC) market.
A clearing house stands between two clearing firms (also known as member firms or clearing participants) and its purpose is to reduce the risk of one (or more) clearing firm failing to honor its trade settlement obligations. A clearing house reduces the settlement risks by netting offsetting transactions between multiple counter-parties.
Buyers and sellers use intermediaries because they may not trust the other party, but they trust that the intermediary will assure the transaction is completed faithfully. This is the fundamental role of a clearing house as illustrated below:
The clearing house provides protection to the problems:
- How do you ensure some funds will not be spent twice?
- How do you ensure that the transaction sender actually has the funds?
In addition, the clearing house holds the central transaction ledger. The problem with these central ledgers, or clearing houses is that when one bank sends money to another, no physical currency changes hands. Banks and settlement systems use central electronic ledgers to track assets. But such central ledgers - or clearing houses - can be slow and inefficient, often relying on faxes or manual input.
This not only wastes time but also racks up fees. The system is also open to hacking and fraud. The recent SWIFT Hackings clearly demonstrates system’s vulnerability. These central institutions charge fees to cover such risks, of course as well as many other services. But the price is high and prevents, for instance, micro-payments that are not able to support the charge asked by these central structures.
2.3 Here comes the blockchain – decentralization and security
In contrast to today's networks, distributed ledgers eliminate the need for central authorities to certify ownership and clear transactions. They can be open, verifying anonymous actors in the network, or they can be closed and require actors in the network to be already identified.
The best known existing use for the distributed ledgers is the cryptocurrency bitcoin.
Eliminating the need for the central ledger is precisely the core intent of a blockchain. All protocols put in place address the need of making the system public, permanent, distributed and secure.
A distributed ledger (also called shared ledger) is a consensus of replicated, shared, and synchronized digital data geographically spread across multiple sites, countries, and/or institutions. Every node in the decentralized system has a copy of the blockchain. No centralized "official" copy exists and no user is "trusted" more than any other.
Users of Distributed Ledger Technology (DLT) significantly benefit from the efficiencies and economics by creating a more robust environment for real-time and secure data sharing. Contrary to common belief, the Bitcoin blockchain is not the only distributed ledger, in fact, many other users of Distributed Ledger Technology use different methodologies to achieve the same consensus (e.g. Ripple, MultiChain, HyperLedger Project).
A blockchain is mostly a distributed ledger but not all distributed ledgers are blockchains. Although the term "blockchain" is used more frequently than "distributed ledger" in discussions, a blockchain is only one of the many types of data structures that provide secure and valid achievement of distributed consensus.
The Bitcoin blockchain, and similar bockchains, which uses "Proof-of-Work" mining, is the most publicly proven method used to achieve distributed consensus
This leads us to another definition of a blockchain :
A blockchain is a type of distributed ledger, comprised of unchangeable, digitally recorded data in packages called blocks.
3. Operation of the blockchain
3.1 A simplified view of the blockchain
When discussing the blockchain technology, one refers to the block chain itself and the network built around it as well as all protocols involved.
All of this can be represented this way, under a simplified form:
Key aspects are :
- The blockchain network is a peer-to-peer network of independent nodes communicating together by message broadcasting.
- The key component of the network is the blockchain. Every node has its own copy of the blockchain
- A node is not necessarily connected to every other node, but at least to some of them.
The blockchain itself is a list of blocks. These digitally recorded "blocks" of data are stored in a linear chain. Each block in the chain contains data (e.g. bitcoin transactions) and is cryptographically hashed. Each block includes the hash of the prior block in the blockchain, linking the two, ensuring all data in the overall "blockchain" has not been tampered with and remains unchanged.
This has the effect of creating a chain of blocks from the genesis block to the current block. Each block is guaranteed to come after the previous block chronologically because the previous block's hash would otherwise not be known. Each block is also computationally impractical to modify once it has been in the chain for a while because every block after it would also have to be regenerated. The linked blocks form a chain.
3.2 The Bitcoin blockchain
A block chain is a transaction database shared by all nodes participating in a system based on the Bitcoin protocol. A full copy of a currency's block chain contains every transaction ever executed in the currency. With this information, one can find out how much value belonged to each address at any point in history.
For any block on the chain, there is only one path to the genesis block. Coming from the genesis block, however, there can be forks.
One-block forks are created from time to time when two blocks are created just a few seconds apart. When that happens, generating nodes build onto whichever one of the blocks they received first. Whichever block ends up being included in the next block becomes part of the main chain because that chain is longer.
The block chain is broadcasted to all nodes on the networking using a flood protocol.
3.3 Operation principle overview
The initial blockchain; running the Bitcoin system; provides distributed, public and secured storage of bitcoin transactions.
The operation principle is straightforward to understand:
- A user wants to pay another user with bitcoins, and he/she broadcasts a transaction to the network.
- Miners add the transaction as they receive it to their current block; i.e. the one they are currently working on.
- Randomly, one of the miners may win the lottery and "mine" the block (we'll get back to that).
- At that moment, this new "definitive" block is broadcasted to the network and added to everyone's copy of the blockchain.
This is illustrated in the following visualization:
3.4 Miners and the "Proof-of-Work"
For a block to be accepted by network participants, miners must complete a proof-of-work which covers all the data in the block.
The difficulty of this work is adjusted to limit the rate at which new blocks can be generated by the network to one every 10 minutes. Due to the very low probability of successful generation, this makes it unpredictable which worker computer in the network will be able to generate the next block.
The proof-of-work is a piece of data which is difficult (costly, time-consuming) to produce but easy for others to verify and satisfies certain requirements. Producing a proof-of-work can be a random process with low probability so that a lot of trial and error is required on average before a valid proof-of-work is generated.
Bitcoin uses the Hashcash proof-of-work system. For a block to be valid it must hash to a value less than the current target; this means that each block indicates that work has been done generating it. Each block contains the hash of the preceding block, thus each block has a chain of blocks that together contain a large amount of work.
Changing a block (which can only be done by making a new block containing the same predecessor) requires regenerating all successors and redoing the work they contain. This protects the block chain from tampering. The most widely used proof-of-work scheme is based on SHA-256 and was introduced as a part of Bitcoin.
The mining process works this way:
Did you enjoy reading this article? You can now read the second part discussing technical aspects of the blockchain.