How did blockchain technology come about? How does it solve the issue of double-spending? And how do the main types of blockchain platforms differ?
To answer these questions, the following paragraphs will give a brief overview of the different technologies that were finally combined into blockchain technology. At the end of this blog post I will point out the most significant difference between Bitcoin, Ethereum, and Hyperledger Fabric.
Before the advent of the first blockchain implementation, the Bitcoin blockchain, in 2008/2009, there had already been various attempts to create a decentralized digital currency.
The inherent challenge for a decentralized digital currency system is to prevent the possibility to double-spend the same coin to different recipients. Double-spending is relatively simple on the internet where creating digital copies is trivial.
Attempts to solve this, have not been able to overcome the need for a centralized trusted middle-man, such as a bank that prevents double-spending by maintaining a single ledger of account records. However, in order to eliminate the bank and truly decentralize a digital currency, the account ledger also needs to be distributed.
Thus, in a distributed environment every participant holds and maintains a copy of the ledger. In such a system it is highly challenging to arrive at a consensus about the right state of the ledger, especially when malicious participants are present.
There have been some attempts to accept the existence of malicious participants and to overcome challenges such as faulty information in the ledger by introducing voting-based systems. These systems enable participants to arrive at a consensus about the true state of the ledger by voting.
However, these systems are challenged by so called “Sybil attacks” in which a malicious single node can replicate votes at low cost and that way subvert the election to inject faulty transactions on the ledger.
With the advent of the Bitcoin blockchain whitepaper and its protocol implementation in 2008/2009 first proposed by the anonymous author Satoshi Nakamoto, these challenges were overcome by combining decades of research in a highly sophisticated and viable manner.
Effectively, blockchain technology overcomes Sybil attacks by making “voting” expensive through the use of a proof-of-work consensus mechanism. This effectively limits the number of votes per entity. How this works in detail will be explained in the following for the case of the Bitcoin blockchain.
Basic functioning of the Bitcoin blockchain
In the Bitcoin blockchain globally distributed nodes create payment transactions and communicate these with each other through an unstructured peer-to-peer communication network based on persistent TCP connections.
Special nodes, so called miners, collect all transactions in a block, which can be understood as a list of transactions per time period. They increment a nonce (a random number) until they find the solution to a mathematical puzzle that is computational intensive to solve but trivial to verify once a solution is found.
The first one to find the solution, communicates the block across the network where other participants can easily verify the result and update their copies of the ledger.
By adding blocks of transactions on top of each other, a chain of blocks is created, the blockchain. This blockchain includes the history of every coin and the transition of ownership since the inception of the network with the first genesis block.
As a result, every node in the network holds the same transactions in its own copy of the ledger. That way, the network is in consensus about the state of the ledger.
Why should miners mine?
With the rising popularity of the Bitcoin blockchain, the number of miners has grown steadily. As a consequence, also competition for block creation has risen. Because of that miners currently face extensive costs for computing hardware and energy consumption needed to successfully compete against other miners for solving the puzzle. These costs make “voting” for (or mining) a block expensive.
The Bitcoin protocol incentivizes them through a reward in bitcoin granted to the first miner that provides a valid block. This reward consists of transaction fees and newly minted coins. That way, miners are incentivized to keep the network running. Effectively this mechanism creates a system that maintains itself without the need for a centralized organization.
This briefly describes the way how the Bitcoin blockchain realizes consensus about the state of the ledger in a globally distributed network.
Over the years, groups have split from the Bitcoin community and have created their own versions of the Bitcoin protocol by copying and adapting the open-source code. They are referred to as “altchains”, alternative blockchains.
Although they might use some other form of consensus mechanism, the underlying principle of tying costs to votes remains the same basic means to realize decentralization. The specific technological functioning of these consensus mechanisms will be explained in more detail in the blockchain platform comparison of blog posts that follow.
Two main blockchain categories
Here however, it should be pointed out that among others, there exist two major blockchain characteristics that divide the technology in two categories:
1. Permission restrictions
Permission restrictions relate to the transaction processor parties (the miners) who submit data and are eligible to create blocks of data. Two models exist:
(1) Permissioned blockchains: Transaction processing (mining) is performed by predefined users. Thus, a node needs a permission to mine blocks.
(2) Permissionless blockchains: There are no restrictions on the identities of processors. Thus, every node can mine blocks.
2. Restricted public access to data
Restricted public access to data relates to the nodes in the network that can view blockchain data (the transactions in the blocks). Two models exist:
(1) Public blockchains: There are no restrictions on reading blockchain data. Thus, everyone can download the public blockchain.
(2) Private blockchains: Direct access to blockchain data is limited to predefined users. Thus, only accepted users have access to blockchain data.
How these two characteristics relate to each other and where you can find Bitcoin, Ethereum, and Hyperledger Fabric is depicted in the following illustration.
Usually participants that require a permissioned blockchain run a private instance of it, as is the case in Hyperledger Fabric blockchains. That way only pre-defined participants are in control of the system and outside parties cannot view data.
Currently, many companies form industry consortia to build such permissioned systems. That way they are able to share data among each other — but only among each other — without relying on a costly, trusted middleman.
It should be noted that an instance of a permissioned blockchain that is made public (top right quadrant), might theoretically be feasible, however is to my knowledge currently not implemented.
In contrast to private permissioned blockchains, both Bitcoin and Ethereum are public permissionless blockchains that allow every user to participate in transaction validation (or mining) as well as to read all transactions ever stored on the ledger.
If you would compare public permissionless blockchains such as Bitcoin and Ethereum to the Internet, private, permissioned ones such as a Hyperledger Fabric instance are similar to the Intranet where only pre-defined nodes have access to the network.
I hope this blog post helped to clarify how blockchain technology has evolved and how its basic functionality works. Also, I already introduced the main difference between Bitcoin/Ethereum and Hyperledger Fabric.
But there are a lot more differences between these three blockchains that are important to understand. Among them are scalability, smart contract functionality, and governance. These characteristics significantly impact a developer’s decision to build decentralized applications on one of the three blockchains and can eventually decide about the faith of a blockchain platform. That is why it is important to make an in-depth comparison of the three in the next blog post.
Thus, if you want to read about how Bitcoin, Ethereum, and Hyperledger Fabric differ in detail, see here.
To see an overview of all articles, go here.