Bitcoin, Ethereum, and Hyperledger Fabric — which one wins?

The list of blockchains and altchains is becoming longer every day. Thus, it is time to find out: What are differences between the most important blockchain platforms, Bitcoin, Ethereum, and Hyperledger Fabric.

To do so, I will dive into how Bitcoin, Ethereum and Hyperledger Fabric work in more detail. Among a long list of blockchain characteristics, I picked out the most important ones in order to remain digestible. With the help of these characteristics and the provided blockchain comparison table at the end, you can gain a good understanding of differences between blockchain platforms and have a tool to analyze future blockchains that you might be interested in. So let’s start:

1. Permission restrictions

Permission restrictions decide whether transaction processors (miners) who submit data and are eligible to create blocks of data can do so without permission or are restricted to do so and need permission from a central authority. Two models exist:

(1) Permissioned blockchains: Transaction processing is performed by predefined users. This is the case for example in Hyperledger Fabric.

(2) Permissionless blockchains: There are no restrictions on the identities of processors, thus everyone can start mining to create blocks. This is the case in Bitcoin and Ethereum.

2. Restricted access to data

This refers to who can view (read) transaction data from the blockchain network. Two models exist:

(1) Public blockchains: There are no restrictions on reading transaction data. Everyone can download the blockchain ledger and view all transactions. This is the case with Bitcoin and Ethereum.

(2) Private blockchains: Direct access to blockchain data is limited to predefined users. Thus, only participants that are registered on the blockchain network can download the ledger. This is the case with Hyperledger Fabric.

To see a matrix of how permission restrictions and public access to data relate, see the previous blog post here.

3. The consensus mechanism used

The consensus mechanism is a means to determine consensus about all transactions and the current state of the system. The mechanism ensures that transactions will only be added to the blockchain if valid and never recorded more than once. Three models dominate currently:

(1) Proof-of-Work (PoW): Miners have to solve a computational difficult problem to ensure the validity of new transactions. (Bitcoin/Ethereum)

(2) Proof-of-Stake: Miners can create a new block depending on their investment and ownership to the system. This will be explained in more detail when talking about Ethereum later.

(3) Practical Byzantine Fault Tolerance (PBFT): This consensus mechanism is one of many that can be used in permissioned blockchains, where a new block is added if more than 2/3 of all validating peers submit the same response. Hyperledger Fabric out of the box does not provide PBFT, but offers its users to add this consensus mechanism modularly.

4. Scalability

Scalability of blockchain systems is composed of two factors:

(1) Node-scalability in blockchain networks refers to the extent to which the network can add more participants without a loss in performance.

(2) Performance scalability refers to the number of transactions processed per second impacted by the latency between transactions and each block size.

A blockchain is considered scalable if it can add thousands of globally distributed nodes while still processing thousands of transactions per second. Currently, none of the existing blockchains are really scalable. In the following figure by Vukolic, we can see a comparison of consensus mechanisms — some of which are currently in use and some of which are in development.

Current state of blockchain scalability, grey area is subject to further research (Vukolić 2016)

What we can derive from here is that a trade-off exists between performance and node scalability. Public blockchains such as Bitcoin and Ethereum make this trade-off in favor of node scalability by using Proof-of-Work (PoW) consensus mechanisms. On the contrary, a Hyperledger Fabric instance that modularly adds PBFT makes this trade-off in favor of performance scalability. For business systems of less than 20 nodes this might be a viable solution, however if you need more nodes the messaging amount between the nodes that takes place in PBFT can lower transaction throughput significantly.

As scalability remains a very important topic in the blockchain space, I will talk about the trade-offs that each blockchain takes through their respective consensus mechanisms in more detail in following blog posts. For now, it is sufficient to know that there exists the mentioned trade-off between node- and performance scalability.

5. Governance

Governance refers to the degree to which decision making power is distributed in the blockchain community. It tries to answer the question of who can make what decisions on a blockchain platform.

As you can imagine, every blockchain platform needs to be developed and maintained. Usually a core developer team performs this job. As there are many stakeholders in a blockchain network (core developers, miners, currency-exchanges, Dapp developers), decision making for new changes to the blockchain core protocol is very important and often controversial. This is a strong factor where blockchain platforms differ from each other and will be explained in detail for each of the three blockchain platforms.

6. Anonymity

Anonymity on the blockchain refers to whether the identity of a user is openly transparent.

In public permissionless blockchains, such as Bitcoin and Ethereum, users are pseudonymous because they hide their identity behind a pseudonym, their public wallet address. In private permissioned blockchains, such as Hyperledger Fabric, users usually know each other.

7. Native Currency

Native currency refers to whether the blockchain has an inherent currency. For example, Bitcoin uses its currency “bitcoin” as medium for exchange. Ethereum uses “ether”. But Hyperledger Fabric does not use an own currency.

8. Scripting

Scripting refers to the degree to which a blockchain’s programming features support the development of decentralized applications (Dapps).

Some blockchains such as Ethereum and Hyperledger Fabric provide developers with a Turing-complete scripting language. That way developers can create smart-contracts that can interact with each other and form decentralized applications.

Other blockchains, such as Bitcoin, only provide a very limited stack-based programming possibility. This makes application development very difficult and sometimes not viable.

How do Bitcoin, Ethereum, and Hyperledger Fabric differ?

In the following table, I summarize the comparison of Bitcoin, Ethereum, and Hyperledger Fabric. This comparison includes the characteristics defined above. For an in-depth explanation of these characteristics for each blockchain, simply select the links below the table.

To find out what this means in detail for each blockchain platform, in the following posts I will explain each of these characteristics for Bitcoin, Ethereum, and Hyperledger Fabric. At the end, you can gain a good understanding of the most important topics in the blockchain space.

Let’s start with Bitcoin: How does Proof-of-Work work in Bitcoin? To find out, see here.

To see an overview of all articles, go here.