Ethereum, Hyperledger or IOTA for enterprises — where are the differences?

Thomas Mueller
evan.network
Published in
14 min readJun 15, 2018

In my last blogpost I have already given an answer to the question, when do companies need blockchain technology and I have talked about the key requirements of a blockchain for enterprises. In this article I want to focus now on the technology itself. As mentioned in my last article, there are three technologies stand out in the field of enterprise blockchain technology: Hyperledger Fabric, Ethereum and IOTA.

And all of these different solutions go out and claim:

“I am the miracle cure for all of your problems in business.”

But that is not true. There is no blockchain wonderland out there at least as far as I know.

This the reason why, even though it’s a big challenge, I try to compare the technologies based on the criteria’s, set out in my last article:

  • Capability of handling the decentralised data storage
  • Degree of data security and privacy support
  • Possibility to support Tokenization for digital business models
  • Extend in which Smart Contracts are supported
  • Ensuring the immutability of data
  • Guaranteed permanent availability of data
Photo by Markus Spiske on Unsplash

Hyperledger (Fabric)

Overview

Hyperledger is not a single solution but it’s a lot of technologies from different companies, organized under the umbrella of the Linux foundation. The most well-known part of Hyperledger is the Hyperledger Fabric, initiated, developed and promoted by IBM. So when I speak about Hyperledger in the following explanation, I’m actually talking about Hyperledger Fabric.

Hyperledger Fabric positions itself as a blockchain for B2B applications. It stands for high-performance distributed ledger technology. Through various concepts such as private transactions, which are only visible to the parties involved, they can only be used in private environments in which all participants are known. The system has a highly modular design, so that different components can be used depending on the application. You can see the extensive experience of IBM in client server-based architectures in every part of architecture of the Hyperledger Fabric.

Decentralized Data Storage

From a technology point of view, the platform uses a lot of well-known database and data streaming technologies. So does the consensus-mechanism for instance utilize Apache Kafka, a well-established stream processing platform.

To achieve higher performance, the data is not read directly from the ledger itself, but from the state database, which can be based on CouchDB technology. All these components and their interaction are known from classic distributed database projects and have been supplemented under the name Hyperledger Factory by a ledger, which now also brings manipulation security into the already known distributed data storage. Hyperledger Fabric is a powerful but also a very monolithic system with many similarities to traditional client server-based systems. If a performant distributed data processing is your only requirement for your blockchain application and you have the ability to run large IT-projects, Hyperledger Fabric can be a good choice.

For an architectural deep dive I can recommend this architecture document.

Data Security and Privacy

Hyperledger comes along with all the things you need to build a secure distributed system. Especially the concept of private transactions which are accessible only by the involved parties, ensures a higher degree of confidentiality. Somewhat difficult is the matter of trust. Due to the private chain approach and the system design relying on central components and coordinated databases, the degree of digitization of cooperative business models is limited to the trust in the owner of the blockchain platform.

Tokenization support

Hyperledger doesn’t support tokenization in its core. The system and the underlying components are designed with a focus on distributed data bases instead of decentralized application platforms. That’s why you will not find a tokenization layer in the architecture. Sure, you can build a token-like construct also with Hyperledger Fabric but it’s not an open standard and therefore limited to the specific use case for what you implement it. This problem goes far beyond the exchange of cryptocurrencies because you can’t exchange value and trust between different applications or across different chains naturally. This is a strong limitation for building decentralized business ecosystems, especially in comparison to the capabilities of Ethereum as a competitor.

Smart Contracts

The Smart Contract Framework of Hyperledger is called “Chaincode”, which runs inside a Docker-container. This is a very fast in execution but complicate in distribution because the code and code-updates have to be deployed manually across all participating containers. Beside the deployment and maintenance efforts it’s also worth to know that chaincode is non-deterministic. Especially in truly decentralized environments, be deterministic is a very important feature because it prevents negative effects if the Smart Contract contains errors. So for instance it’s possible to build infinite loops with Hyperledger chaincode.

Immutability & Persistency

Immutability is usually equated with unchangeability of data and this is certainly also an essential aspect. All distributed ledger systems ensure that the data cannot be changed. Immutability also includes how trust is implemented in the blockchain architecture itself. In the case of Hyperledger Fabric, the entire architecture is based on dependency on a few centrally acting participants or a very closed, cartel-like group of participants. This may be a valid approach for use cases that are exclusively designed for the participants itself, for blockchain architectures that want to achieve independence from a central authority, the technology is rather less suitable. In terms of data persistence, Hyperledger Fabric can benefit from years of knowledge of IBM from distributed databases and client-server architectures. The persistence of the data is easily achieved here.

Summary

All in all, Hyperledger Fabric is an excellent distributed database toolset that is comparable in architecture with classic distributed databases. It’s basically a monolithic system, which due to its massive modularity and configurability goes along with a very high configuration and management effort. Hyperledger Fabric is therefore particularly suitable for use cases in which data is to be exchanged with high performance between a closed group of companies. Due to its monolithic, very classical architecture, Hyperledger Fabric is unsuitable for creating real distributed applications.

Due to the missing token layer, Hyperledger Fabric is in my opinion not suitable for implementing decentralized business models based on the digitization of assets.

Photo by Peter John Maridable on Unsplash

Ethereum

Overview

Ethereum is a blockchain platform, which was designed to build decentralized applications.

First and foremost, the Ethereum technology is connected with the public Ethereum blockchain. What only a few people know, it is also possible to use Ethereum technology and operate it as a private or consortium blockchain. In one of my articles from last year, I already gave a small decision support how to choose the appropriate blockchain operation model. Almost all comparisons between Ethereum and Hyperledger, which can be found, aim at a comparison of Hyperledger as private chain versus Ethereum as public chain. This is like comparing SUVs with sports cars by only looking at the off-road capability.

I would therefore like to base this comparison on Ethereum technology as a private chain solution, a scenario which, in my view, is the only one that can be used by most companies in the near future.

Decentralized Data Storage

Even though the architectures of Hyperledger Fabric and Ethereum are completely different, both technologies meet the requirements for decentralized, distributed data storage. In contrast to Hyperledger, Ethereum has anchored decentralization in the architecture. As will be explained in more detail later, Ethereum provides all functions for true decentralized applications.

Data Security and Privacy

Due to its original focus on the public chain, Ethereum offers a less extensive range of enterprise and data privacy functions than Hyperledger Fabric. Frameworks like evan.network or Quorum, which extend the Ethereum core technology, jump into this gap. Quorum is a blockchain technology derived from Ethereum, whereas evan.network offers additional enterprise functions, but is based on the standard Ethernet technology and can be operated in a public as well as in a private chain.

Tokenization support

Tokenization support is one of the biggest strengths of Ethereum. To be able to judge the significance of this functionality, you have to understand the concept of tokenization. In general, tokenization is often equated with cryptocurrencies.

This is wrong.

The possibility of tokenization is one of the decisive factors for new, data-driven business models. This includes the generation of digital representations of various real assets, which can be services, products or also intangible assets. If a company is able to tokenize its services and products, these can be combined and consumed with other services of other companies.

This allows tokenized offers from different partners to be combined into new digital business models and their automated coordination and administration.

With these new business models in mind, Ethereum was designed from the ground up in the direction of tokenization and is thus an infrastructure on which companies can create digital assets and digital business models.

Smart Contracts

Just as in Hyperledger, Ethereum relies on Smart Contracts. Whereas Smart Contracts (chaincode) are operated as separate instances running in docker containers in Hyperledger, Smart Contracts are integrated into the core architecture at Ethereum. Ethereum can be described as a blockchain with a built-in programming language. The Ethereum Virtual Machine (EVM) handles the internal state and the distributed computation of Smart Contracts. One can imagine Ethereum with the EVM as a large distributed computer that maintains a trustful internal status, executes code and controls coordination between the blockchain nodes.

Another concept in Ethereum, which is of great importance in enterprise use, are the so-called distributed apps (Đapps), which are directly linked to Smart Contracts and enable a user interaction for them. Đapps also runs on EVM, that means, applications are distributed over Ethereum can be deployed without additional infrastructure such as web servers, databases and storage.

Immutability & Persistency

Just like Hyperledger, Ethereum ensures that the data cannot be manipulated. Ethereum is moreover a blockchain that can be operated completely decentralized, without the need for a controlling authority or consortium. The unchangeability is ensured by the architecture. However, this only applies to the public chain. In the area of private or consortium chains the governance depends on the specific chain-architecture. In private chains you will mostly have a central authority similar to that what I have already mentioned in the Hyperledger description. Due to the architecture makes it possible, you can build truly decentralized consortium chains with Ethereum (whereas the only central point is the surrounding organization who takes the responsibility of the consortium chain from a legal point of view)

Summary

Ethereum has not the same database processing capabilities as Hyperledger Fabric. In cases where it is purely a matter of exchanging data in an environment of partner companies, a distributed database such as Hyperledger is certainly an advantage. Ethereum always brings its advantages when it comes to the exchange of digital values in a trustless ecosystem of independent participants. The possibilities of tokenizing physical goods and their transfer between unknown partners and the possibility of trustful cooperation without intermediary via Smart Contracts is offered only by Ethereum. The highest degree of decentralization can be found in the public chain. Since this is not usable for many companies today, private and consortium blockchains come into the game. Based on the token standards, interoperability between different public and private blockchains can be achieved, to create a viable digital ecosystem for various business cases.

Photo by Pietro Jeng on Unsplash

IOTA

Overview

Last but not least I will take a look at IOTA, which takes a completely different approach than the two technologies mentioned above from an architectural perspective. IOTA considers itself as a data layer for the Industrial Internet of Things. In contrast to a blockchain, it relies on a directed acyclic graph (tangle) which attempts to correct inefficiencies of the current blockchain protocols. As the name suggests, IOTA (internet of things association) focuses on the machine and the possibility of carrying out transactions between machines without human interaction.

In Germany in particular, IOTA has attracted a lot of attention through partnerships such as Volkswagen or Bosch. Let’s take a look at how the technology stands in the field of blockchain and distributed ledger technologies.

Decentralized Data Storage

With both Ethereum and Hyperledger, the issuing and approving of transaction data is separated. A conceptually big difference between IOTA and the aforementioned technologies is that this is done here in a single role. An IOTA network consists of nodes that both generate and confirm transactions.

To write a transaction to the graph, nodes must confirm two preceding transactions determined by an algorithm. These confirmations create a constantly growing graph, which is a big difference to the linear structure of a blockchain. IOTA is the first “feeless” blockchain DLT system, which can be attributed to the fact that transactions do not involve any explicit costs. However, feeless is actually not correct, since the necessary confirmation of the two transactions using the proof of work algorithm is also a cost in itself.

As far as decentralization is concerned, IOTA is still a long way behind the promises. The protocol currently implemented is neither decentralized nor trusting, as it uses a number of central components to maintain its functionality. The most important central function is a coordinator node, which regularly provides milestone transactions that are considered valid by all other nodes. This is necessary to control the network in a certain direction and to prevent too large a distribution.

Snapshots are also taken regularly to limit the size of the network. These snapshots are, like the coordinator, solely controlled by the IOTA foundation. I will discuss the snapshots later, as they prevent the network from providing a permanent representation of the data, which, apart from centrality, is the more critical point for many applications.

In future, the central components should also be decentralized, when exactly this will take place and how this will happen.

Data Security and Privacy

Until now IOTA included a few measures for data privacy. Data can be written into the tangle by IOT devices after performing a proof of work and read by nodes listening to the channel (subscriber). The announced “Masked Authenticated Messaging” should bring relief. This data communication protocol enables the creation and reception of encrypted data streams. Only authorized subscribers are able to read the encrypted data streams. Encryption and access authorization should ensure data integrity, which is a prerequisite for numerous business use cases. However, Masked Authenticated Messaging is not yet available.

Tokenization support

IOTA has a different concept to blockchain platforms like Ethereum. It was designed to enable an efficient exchange of data between machines and therefore no tokenization of values is part of the platform. A direct comparability with regard to tokenization is therefore not possible (which does not represent a disadvantage, however, but is conceptually justified). If we look at the possibilities of supporting the IOT-economy, the platform still has some challenges to solve on the way to complete adaptation. Besides the already mentioned possibility of encrypting the data streams, the support of the device-economy is still critical.

The feeless concept of IOTA requires a simple proof of works directly on the IOT devices. The computing power required for this is much lower than that required for proof of work at Bitcoin and public Ethereum, but is still not suitable for devices with very low processing power. If all devices are able to communicate with each other via IOTA in the future, then either the proof of work complexity must be lowered even more (which would no longer offer valid spam protection) or the computing power of the IOT-devices must increase significantly. Here IOTA strongly focuses on the future replacement of today’s binary devices by ternary devices.

Smart Contracts

Currently there is no support for Smart Contracts within IOTA. Smart Contracts are on IOTAs roadmap for a while and lastly announced again with the introduction of Qubic. Currently it’s just an announcement and we will see what it is when it is available or at least a whitepaper describes what it should be. What could be challenging is the implementation of a Smart Contract layer on top of the current IOTA protocol due to it doesn’t provide a permanent transaction history (see next part). But this is all very speculative and that’s why I stick to the conclusion for today: Smart Contracts are not currently supported by IOTA.

Immutability & Persistency

IOTAs data structure, the directed acyclic graph (DAG) is created by adding new data to the Tangle by referencing and verifying two previous transactions. Every time a transaction (it is called site) is added, the tangle grows and always reference the previous transaction. So in theory, you can reference the genesis site, created at the beginning of the network, from every newly created site.

But in reality, that is not possible due to a mechanism called “Snapshots”. With snapshoting the IOTA foundation erases the history of the network on a regular basis. This is necessary to keep the Tangle lightweight and prevent it from getting too large. This is good for IOTA nodes as they do not need to store the entire Tangle history. The bad thing is, that IOTA lacks in auditability and transparency because there are no verifiable sources to reconstruct the transaction history. I think this auditability is not necessary for many machine to machine communications. Why do I need the sensor data from last month? But it’s absolutely necessary for building reliable services and trustless contract systems.

From my point of view, snapshots are the main reason why a smart contract based trustless value transfer system will not work with IOTA. And this is the main differentiation to blockchain based systems like Ethereum (or Hyperledger). In a future version, IOTA plans to introduce permanodes to store the entire tangle history. It could be a solution, but we will see how permanodes will operate within a feeless transaction system.

Summary

It's hard to compare IOTA and blockchain based systems. I think IOTA is a good choice and a great possibility for exchanging data between machines in a fast and feeless way. To succeed in this area, a lot of challenges have to be solved. Centralization, fast transaction processing and low processing power requirements are some examples. But there is a big market in the field of machine economy and there are huge possibilities to integrate fast data exchange protocols like IOTA to reliable smart contract systems like Ethereum. I am wondering why IOTA always try to compete against blockchain instead of solving all the remaining challenges to succeed in the machine economy or to cooperate with already functioning blockchain solutions.

Photo by Matt Nelson on Unsplash

Conclusion

Basically, it is really hard to compare these different technologies, especially because only Ethereum is at the end a real blockchain. As always in life, there is no simple answer to the question of what is right and what is wrong.

But let’s try it.

Hyperledger Fabric is always a good option if you are looking for a base to work with few and well-known partners to share your data and cooperate together in a digital way. Are you looking instead for a possibility to create real decentralized networks without a central middleman, you should probably use Ethereum to do it. Like all Blockchain technologies today, Ethereum itself is not enterprise ready. But there are some frameworks like for example evan.network, who gives you the possibility to build your own applications on blockchain in a secure and easy way.

IOTA is a really special topic. The communication around IOTA want to make you believe, that IOTA is the answer of all the questions in the area of industry 4.0 or IOT. But there are far more promises than working solutions. For all the core requirements of an enterprise-level blockchain, IOTA has ideas, but that’s the point, they’re just ideas. Nothing that can be implemented today in practice-relevant cases. The basic idea behind IOTA, to use it for microtransactions specially for M2M communication, is brilliant.
Whether IOTA will ever be a real alternative to building decentralized networks has to be proven.

In my opinion, it is much more about how IOTA can be useful integrated into existing Blockchain solutions instead of IOTA competing with Blockchain solutions.

Schematic representation of the differences between the systems

Acknowledgements:

I would like to acknowledge Stev Heinert and Thomas Herbst who supported the creation of this article.

Follow us on Twitter — evan_ntwrk!

--

--

Thomas Mueller
evan.network

Initiator of the evan.network and CEO of evan GmbH. Passionate about holacracy, self-sovereign identity and the web of trust. All opinions are my own