Watch the video for more information on Ethereum vs. Hyperledger
Over the past year, Distributed Ledger Technology (DLT) has stirred a lot of interest and enthusiasm across multiple industries. A distributed ledger is a type of database spread across multiple sites, regions, or participants. Every record stored in the distributed ledger is timestamped and has its very own cryptographic signature which is used to both validate and secure the network.
Enterprises are looking into distributed ledger technology to process, validate or authenticate transactions or other types of data exchanges in a more secure and scalable way. There are a wide-range of open-source projects that are available to developers looking to build applications using this technology. Two of the leading platforms in this space are Ethereum and Hyperledger. If you are contemplating which one to use in your project. This blog will give you a little more insight into the core paradigms of both these technologies and hopefully will help guide your decision.
Ethereum
Ethereum is an open source platform that enables developers to build and deploy decentralised applications. Ethereum was proposed in late 2013 by Vitalik Buterin, a cryptocurrency researcher and developer. Ethereum officially launched in July of 2015 and has gained a lot of traction as a platform of choice for a lot of Applications as well as for the creation and launch of ICOs. It is a public blockchain network with it’s own built-in cryptocurrency called Ether.
Ethereum has smart contracts that define rules and penalties around an agreement and also enforces those obligations. In Ethereum, smart contracts are treated as autonomous scripts or stateful decentralized applications that are stored in the Ethereum blockchain for later execution. Instructions embedded in Ethereum contracts are paid for in ether (or more technically "gas") and can be implemented in a variety of scripting languages. Ethereum currently uses a proof of work (PoW) protocol but the plan is to update its network to proof of stake (PoS).
Two important and related concepts you’ll need to understand before working with Ethereum are the Ethereum Virtual Machine and gas. We won’t get into all the details here but at a high level the Ethereum Virtual Machine (EVM) is a distributed global computer where all smart contracts are executed. Given that smart contracts run in the EVM, there must be a mechanism to limit the resources used by each contract. Every single operation that is executed inside the EVM is actually simultaneously executed by every node in the network. This is why gas exists. An Ethereum transaction contract code can trigger data reads and writes, do expensive computations like using cryptographic primitives, make calls (send messages) to other contracts, etc. Each of these operations have a cost measured in gas, and each gas unit consumed by a transaction must be paid for in Ether. This price is deducted from the Ethereum account sending the transaction. Transactions also have a gas limit parameter that is an upper bound on how much gas the transaction can consume, and is used as a safe-guard against programming errors that could deplete an account’s funds. If you are looking for more information or an instructor-led ethereum training course Blockchain Training Alliance has an in depth course.
Hyperledger
Hyperledger doesn’t refer to a specific technology, but rather it is a Linux Foundation banner project for multiple blockchain and DLT technologies which support the collaborative development of blockchain-based distributed ledgers. each of which have slightly different characteristics. These frameworks include:
- Hyperledger Fabric
- Hyperledger Sawtooth
- Hyperledger Iroha
- Hyperledger Indy
- Hyperledger Burrow
Hyperledger Fabric is a permissioned blockchain infrastructure providing a modular architecture with a delineation of roles between the nodes in the infrastructure, execution of Smart Contracts and configurable consensus and membership services.
A Fabric Network comprises "Peer nodes", which execute chaincode, access ledger data, endorse transactions and interface with applications. Fabric is primarily aimed at integration projects, in which a DLT is required, offering no user facing services other than an SDK for Node.js, Java and golang.
Fabric supports executes Smart Contracts (called "chaincode" in Fabric) in golang, Javascript and Java, and is therefore potentially more flexible than a closed Smart Contract language.
For the purposes of this article we will consider Hyperledger Fabric to compare and contrast with Ethereum. Both of which are highly flexible, open sourced blockchain technologies that enable the building of various applications using distributed ledgers. They both have the ability encode Smart Contract as well as to build more robust applications that leverage blockchain technologies.
Both are supported by a large variety array of major enterprises. Most notably Ethereum is backed by the major tech giant Microsoft; while Hyperledger Fabric was introduced and supported by IBM. If you are looking to learn more about Hyperledger, an instructor-led Hyperledger training course is currently being deliverd by Blockchain Training Alliance .
Ethereum vs. Hyperledger Fabric
The most fundamental difference between Ethereum and Hyperledger is the way they are designed and their target audience. Ethereum with it's EVM, smart contract and public blockchain is mostly targeted towards applications that are distributed in nature. On the other hand, Fabric has a very modular architecture and provides a lot of flexibility in terms of what you want to use and what you don't. It's pretty much a la carte and is targeted at businesses wanting to streamline their process by leveraging blockchain technology. For example, it is not possible in Ethereum to have a transaction visible to someone, but not visible to others (a requirement that is very common in business). Fabric allows this and much more.
Ethereum’s permissionless mode of operation and its total transparency comes at the cost of performance scalability and privacy. Fabric solves performance scalability and privacy issues by permissioned mode of operation and specifically by using a BFT algorithm and fine-grained access control. Further, the modular architecture allows Fabric to be customized to a multitude of applications. An analogy to a versatile toolbox can be drawn.
Ethereum also has a built in cryptocurrency (eth) and thus can be a very good match for applications that need this inbuilt. However, this could also be a disadvantage as there are several use cases where the cryptocurrency is not really needed.
Ethereum has a really matured ecosystem and makes the development of smart contract and business logic really simple. At the moment it is easier to find Ethereum application developers than it is to find Fabric developers. Fabric on the other hand is pretty new on the block and just warming up and has the potential to become the platform of choice for enterprise level applications especially those that don’t need an underlying cryptocurrency and the overhead of a public, consensus based network.