Currently, there are two large-scale blockchain platforms, Hyperledger Fabric and Ethereum, that provide users with different opportunities for building their own blockchains. Ethereum is a public blockchain best-suited for building public networks where everyone can access and track changes in the data on the chain. Hyperledger Fabric is a permissioned blockchain suitable for building close networks with permissioned access and member identification. We had the chance to interview Andrew Zubko, Applicature CTO, in order to gain an overview of the differences in usability, purposes, and tools on the Ethereum and Hyperledger platforms.
Andrew, what’s the difference between public and permissioned blockchains?
The main difference between public and permissioned blockchains is that the public blockchain can be accessed by anyone, and permissioned blockchain can be accessed only by a linked number of people. Additionally, public blockchain opens different varieties of public resources for building. For instance, you can build an escrow system trusted by every participant of the network. In a network based on the permissioned blockchain, all peers are trusted and go through an identification process.
For users, what are the benefits of Hyperledger compared to the Ethereum platform? What advantages does it offer?
The most popular Hyperledger blockchain is Fabric. Hyperledger Fabric is a completely permissioned blockchain in terms of all its attributes. As for Ethereum, on the one hand, it’s a public blockchain; and on the other, it’s a permissioned blockchain. Briefly, to compare these two types of blockchain and their suitability for the building public nets, I would always choose Ethereum. It has all the tools and consensus algorithms suitable for the building of public networks. Hyperledger Fabric can’t be used to build public chains. And when we are talking about the permissioned blockchain, Hyperledger Fabric is choice number one. It allows participants to manage who can access their smart contracts, who can access their blockchain validators, and so on. There are other blockchains that are in my preferred list for permission, and I would say that Ethereum is number four or five. It’s not well-suited to permissioned chains, but it can also be used for that.
Ok, what about scalability issues then?
In terms of scalability, we can look at several items. The first is how the blockchain network is scalable: how many nodes can participate in it. And, in this case, Ethereum is highly scalable. It can contain thousands of nodes compared to Hyperledger Fabric, which can have up to 50-60 nodes because of its consensus algorithm. When it comes to scalability issues, speed, performance, and transaction throughput, scalability plays a very important role. Ethereum supports two consensus algorithms, including proof-of-work and proof-of-authority. Proof-of-work provides slow confirmation of transactions. It can be super fast on low complexity, which then makes the network very vulnerable to hacking. Right now, on the Ethereum platform, around 8 transactions are processed per second, which is very slow.
The second consensus algorithm, proof-of-authority, provides 200-300 transactions per second. It can be cheap because it doesn’t require a lot of mathematical computation. It just signs the block with a private key and publishes it on the network. Similarly, Hyperledger Fabric also has a delegated proof-of-stake algorithm that provides similar throughput comparable to Ethereum’s proof-of-authority. Ethereum and Hyperledger Fabric are comparable in terms of throughput using proof-of-Authority of Ethereum and the native consensus algorithm of Hyperledger Fabric. However, in terms of node scalability, Ethereum wins the game.
Which companies manage Hyperledger? Why have they decided to create this platform?
Hyperledger is managed by non-profit company called the Linux Foundation. Hyperledger Fabric was launched by several enterprises, including Digital Asset and IBM. They launched this platform for building enterprise blockchains because of the huge number of possibilities provided by blockchain for incorporation purposes. Blockchain provides immutability of data and automation of some business processes in an extremely secure way. Every participant in the network can be confident that all business processes are executed correctly.
I can provide you with a bright use case: open data. This trend means that governments and companies are publishing data publicly so everyone can easily access the data. As you know, this data cannot be modified by middlemen in any way. By employing blockchain for use cases, the storage of data will be unchangeable and will stay the same from the beginning. New means of automation enable very fast payments in which all parties can trust each other. Blockchain helps the real world in a lot of different ways.
Could you tell me about popular Hyperledger projects? Maybe you know Iroha, Indy, Quilt, Grid, Fabric, and others. How do they differ?
So, Hyperledger has a quite big list of projects, and the first one that made the Hyperledger foundation well-known in the crowd was Hyperledger Fabric. This is a permissioned blockchain. Another Hyperledger project is Iroha. This is similar to the Ethereum blockchain. This is the Ethereum Virtual Machine placed from scratch in a secure environment. It can also be used for permissioned use cases and the execution of smart contracts. Another one is Hyperledger Indy. Its main goal is to provide a decentralized identity. It has different tools and libraries. Other Hyperledger tools, including Iroha, are useful for blockchain building with consensus algorithms, and so on. When we are talking about Hyperledger, this is the foundation. It has a lot of blockchains, but one of the most popular is Hyperledger Fabric. Then you can name Iroha and others. They have specific use cases.
You also mentioned Hyperledger Quilt. This is a tool for blockchain interoperability that allows the sending transactions of in a secure manner on different blockchains. I can also mention Hyperledger Explorer, which allows you to view which transactions are processed on other blockchains. Hyperledger Explorer was initially contributed by IBM, Intel, and DTCC. Day by day, the Hyperledger Foundation is growing, and it has great potential to launch new projects to help different industries and enterprises implement blockchain in their businesses. Also, I could mention one more good project: Hyperledger Composer, which drastically simplifies the development of chain codes for Hyperledger Fabric.
Why does Hyperledger have problems with scalability, and are there any ways of solving this?
Hyperledger Fabric has problems with scaling horizontally. It has the temptation of efficiently sinking transactions between nodes, and as mentioned earlier, it has a limit of 50-60 nodes. Unfortunately, there is no way to improve this scalability.
What is “Membership Service Providers”? What possibilities does it provide participants in a network?
That is a very broad question. Could you clarify a little bit more, please?
Actually, this is a special tool that allows participants in a network to be identified. I’ve read it on BlockGeeks.
Exactly. This is how other nodes can connect to your network. It has abstractions like organizations and divisions you can find in the structure. It’s responsible for authentication through certificates.
Why is that important?
So, this is how we can identify which nodes should be able to access our network. Permissioned Ethereum provides participants in the network with access to the blockchain through the use of IP addresses. In Hyperledger Fabric, you can even issue certificates that will allow identification of each member of the network. Only valid members can connect to your network.
Could you please explain the concept of the network built on Hyperledger Fabric? I mean, how do participants in the network interact with each other?
One of the most important parts of Hyperledger Fabric is chain codes. These are smart contracts in Fabric that execute business logic. Participants in the network can deploy codes on-chain and execute some parts of it. This is the main way people interact with each other through blockchain.
How can you make Hyperledger and EVM interact with each other? How can you create a network, add participants to the network, and issue tokens on Hyperledger Fabric?
You can issue tokens in Fabric. Tokens allow storage of extra value. This can be achieved on any blockchain that supports smart contracts. Ethereum has developed the ERC-20 token standard. This is a smart-contract standard with a specific list of methods. There’s a list of rules to which the tokens must conform.
Everyone who utilizes Fabric to build smart contracts can issue tokens from scratch by themselves. How to combine Ethereum with Hyperledger Fabric is a hot topic. Hyperledger Fabric adopts everyone to work with other blockchains. And everyone tries to solve this by themselves. One of the projects from Hyperledger Foundation is Hyperledger Fabric. But this is just one of the options, and everyone wants to create their own solutions. We have developed our own solution called Fluence that provides blockchain interoperability.
Could you please tell us more about Fluence? Is this a decentralized app? What possibilities does it provide its users?
This is not a decentralized app. This is a centralized app that can be hosted by itself in the cloud. It consists of several main components. The first is a blockchain getaway that allows services to create apps that interact with different blockchains. So, the main goal was to obtain different blockchains. It happens pretty often that developers start to develop applications or platforms using just one blockchain at some point in time. Very often, it doesn’t suit their purposes. They might choose one blockchain because of lack of experience, have to implement all their logic with different blockchains. We are solving this by providing one API to execute different blockchains.
The second component is the simplification of tracking what has happened and sending transactions to different blockchains. The third component is a smart-contract template in which we are creating different frameworks for different practicals. This is about Fluence.
Could you tell us more about your own experience of interaction with Hyperledger? Has Applicature used Hyperledger to build their own smart contracts?
Hyperledger Fabric is suitable when we really don’t need a public network or, I should say, smart-contract blockchain code deployments to public networks. All data should be stored accessibly for a limited number of parties, and that means it will be not exposed to the entire net. Then you should select permissioned blockchain.
The best choice currently is Hyperledger Fabric. It has a community growing, and different useful tools. What are their use cases? It could be intra-banking software that transfers assets between different banks; supply chains; or government processes when we want to define organization structure and provide some rules about who can execute or sign transactions. It’s also can be placed on the blockchain. It will be immutable, and no one will be able to access the data. Plus, it provides the ability to integrate private-public keys for signing transactions. Public nets, including Ethereum, enable the building of applications or smart contracts geared toward the crowd. Their main goal is to allow different participants to interact with your smart contracts. So, some of the most popular use cases for the public blockchain is the gambling, gaming, governance of public companies by their participants, and banking.
Has Applicature used Hyperledger to build smart contracts?
Yeah, we are using Hyperledger Fabric to build solutions, mostly for customers who are looking permissioned solutions that can interact with blockchain.
Which industries is Hyperledger Fabric most popular in?
Fintech, supply chain, and banking. These are the most important industries implementing Fabric right now, from my perspective.
Could you list the main reasons for businesses to incorporate blockchain in their in-product process? Why is it so important currently?
Blockchain provides another level of secure data storage and automation. Currently, there are existing business processes that could be optimized by using blockchain or developed for use by the blockchain. Any processes that require paperwork can be placed on the blockchain to be automated, and will then require very little human attention. All logic will be called by smart contacts and executed on the blockchain in a trustworthy way. This means all the parties will understand that the process will be executed only in one specific way, not in another. It can be applied to lower-ranking workers just to automate processes, or for interaction between parties. An example of the supply chain could be tracking the delivery process or supply process. But it can also contain routing logic when it decides the route products should travel. All of this critical business logic can be placed on the blockchain and executed only in one specific way.
What platform could you advise businesses to choose in order to build their blockchain? Please list the main reasons for this.
I would advise not building a blockchain from scratch. I would advise using an existing blockchain network, or platforms like Hyperledger Fabric or Corda. To implement public solutions, this could be Ethereum or another public blockchain.