Ethereum vs Hyperledger- Which is better?

Yohann Pereira
Upstate Interactive
6 min readJun 11, 2019

For those new to developing blockchain applications, one of the most frequently asked questions is, “Which blockchain solution should I use?” Of the many solutions available, Ethereum and Hyperledger are currently the most popular on the market. If you’re uncertain about which to adopt for your blockchain application, this article will help you with that.

Ethereum:

Ethereum is a public blockchain and distributed computing platform that is completely decentralized. This means each participant(node) in the network has and maintains the same copy of the blockchain on their respective node. When any new block is added to the blockchain, that basically means that this new block has to be added on each node’s respective blockchain. Ethereum uses the concept of gas to limit the processing each node will have to do by assigning a cost of gas to each transaction to be executed. This cost is paid using ether, Ethereum’s native utility token

Ethereum has multiple networks and the use of ether to trade publicly, is on the network called “mainnet”. There are other networks like Ropsten, Rinkeby that are mainly used to test your Ethereum apps. You can create your own Ethereum network as well, though the ether on your network won’t be valued the same as ether on the mainnet. What remains the same, however, is the underlying infrastructure of Ethereum such as using gas to execute transactions, ether as currency, consensus protocols, all defined by the Ethereum ecosystem and their collection of open standards.

A simple Ethereum app tech stack:

  • Solidity is the primary programming language used with Ethereum.
  • Truffle is among the most popular frameworks used to develop and test apps on Ethereum.
  • Ganache can be used to create an Ethereum blockchain for your dapp and interactions with the network can be done via CLI.
  • Additionally, if a full-stack web app is being developed, the Web3 library can be used to interact with the Ethereum application.
  • A client like Metamask can be used to connect user accounts via Web3 and connect to the Ethereum network.

When to use Ethereum?

  • If your application is open to everyone equally: Out of the box, applications developed on Ethereum are public blockchains. This means, anyone can create a node and every node on the network has an exact copy of the blockchain. In order to create private blockchains on Ethereum, 3rd party solutions like Kaleido can be used.
  • If you prefer a community steered by developers: Unlike Hyperledger where decisions are essentially made by large, centralized companies, developers can easily contribute to the direction and strategy for Ethereum.
  • Comfortable relying on 3rd party open source packages and tools. Given Ethereum is an open platform, many of the tools used to build Ethereum dapps rely on other open source projects. For example, security in your Ethereum dapps can be enhanced by using OpenZeppelin’s “battled-tested library” of secure smart contracts.

Hyperledger:

Hyperledger is a project from the The Linux Foundation. It is backed by several large companies from various industries like banking, supply chain, IOT, etc. The Hyperledger project is actually an umbrella project, containing various smaller projects like Hyperledger Fabric, Indy, Composer, etc. All of these smaller projects collectively form the Hyperledger Greenhouse ecosystem.

The Hyperledger ecosystem

The different projects within Hyperledger are categorized into frameworks and tools. Frameworks are the essential building blocks of your blockchain app and any of the tools can be used in conjunction with a framework to assist with app development. All projects within hyperledger are open source. However, the direction of the project heads is led by members of a steering committee consisting of representatives from many large corporations. This is because becoming a member requires paying a fee which can be up to $250K USD which essentially allows only large companies to be involved in the decision making processes.

A simple Hyperledger app tech stack:

  • Hyperledger Fabric is the most popular framework used and its SDKs can be used to create smart contracts. There are SDKs available for Python, Java,NodeJS and REST.
  • Write your code in Java/Node/Python to interact with the network, make transactions, create contracts, etc.
  • An alternative approach is to use Hyperledger Composer which creates an abstraction over Fabric and makes it much simpler to create contracts and transactions. It also provides sample apps and provides a user-friendly UI for developing contracts. Composer is also available online and can be used to create and test networks from your browser.
  • Docker is used to containerize your application and Fabric already contains scripts that simply need to be run to start a network and deploy your application.

When to use Hyperledger?

  • If your application is B2B focused: The Hyperledger project was created with a focus on using blockchains for B2B purposes. In B2B apps, businesses may not want to keep sensitive data on public blockchains. For this, frameworks like Hyperledger Fabric provide out of the box support for creating private blockchains where nodes can have private blockchains which are not present on other nodes on the network. For example in 2017, IBM and Maersk announced the use of blockchain using Hyperledger Fabric to manage the supply chain for container shipping.
  • If you want to define your own blockchain infrastructure: Hyperledger projects allow you to define the underlying infrastructure of the blockchain from consensus algorithms to which nodes can decrypt which block on the blockchain. This level of flexibility is important if the business rules of your application requires fine tuning of the blockchain. For example, if your application is used to verify or sign documents, it won’t need any virtual currencies and the blockchain may need to be stored on a private channel so it can be accessed by only relevant nodes instead of being stored publicly on all of the nodes within the network.
  • Comfortable using in-house tools backed by large companies instead of 3rd party open source tools: Hyperledger provides tools like Composer, Aries etc. to aid in development. These tools are backed by TheLinuxFoundation. Many of the frameworks like Fabric and Indy are also CII compliant to ensure security, change control, etc.

Conclusion:

In theory, both Ethereum and Hyperledger can be used to create the application you need. However, achieving your business requirements on one platform may be easier as compared to another. If your application deals with virtual currencies and engages in equal access to the public, like providing services such as gaming, subscriptions, trading etc. then the Ethereum platform will likely be easier for you to work with. If your application is less focused on equal access to the public and more focused on B2B processes like supply chain, auditing, insurance etc. then Hyperledger may be the better solution for you.

Regarding the future of both projects, Hyperledger is backed by many large companies so its not going obsolete anytime soon. Ethereum is run by developers and a lot of companies have emerged building on top of this platform. Predicting which platform may continue to be relevant, at this point in time at least, cannot be said with certainty. But it’s safe to say that the future of both frameworks depends ultimately on the applications that emerge from them.

Interested in learning more about Ethereum development?

--

--