Blockchain as an emerging technology has not yet reached the ground level and yet the disruptive technology has seen five generations. While the first two generations, Bitcoin and Ethereum were public, permissionless blockchains, Hyperledger Fabric, Corda and Quorum are private and permissioned blockchains.
Why this paradigm shift in technology when it was aimed to be a decentralized, permissionless technology? Because over public, permissionless blockchains, the data control doesn’t remain with a central entity. However, across industries, businesses wish to safeguard information and don’t wish third parties to access their sensitive data.
Ethereum being one of the most grown blockchain platform has facilitated the development of these enterprise blockchains. As a technology, Ethereum introduced Smart contracts to the world and because of the functionality and flexibility of smart contracts, Ethereum has the largest number of use cases specifically in the case of enterprise blockchains.
When one looks at the whitepaper of Hyperledger Fabric, Corda and Quorum, it seems like all three took the open source code of Ethereum with very different visions in mind. Hyperledger Fabric built by IBM and Linux Foundation aims to offer modular and extendable framework which can be adopted across industries, from healthcare to supply chain to real estate to banking. Corda, the R3 consortium product is designed and developed to record and automate legal agreements between identifiable parties. Quorum developed by JP Morgan aims to provide the Financial Service Industry with a permissioned enterprise blockchain that supports transaction and contract privacy.
Participation of Peers
In the conventional data storage systems, it is one entity who gets to keep a copy of the ledger. As a result, it is this entity who gets to control the data and has a say over which data is contributed and which parties are allowed to contribute to that data. In the case of all three Hyperledger Fabric, Corda and Quorum, as they are permissioned enterprise blockchains, the participation is restricted. The participants are selected in advance and the network access is restricted to these members only.
In case of Hyperledger Fabric, the understanding of consensus is broad, and it encircles the entire transaction flow beginning with initiating a transaction to the network and then committing it in the ledger. Like mentioned in the Hyperledger Fabric Blog, that the architecture of this blockchain is radically different from order-execute model of other blockchains. Fabric executes the transactions before finally committing it on the blockchain. This helps the blockchain to execute multiple nodes thus increasing the overall performance and scalability of the blockchain.
In Corda, the concept of block and chains becomes state changes and transactions. Being developed by financial institutions and banks, this blockchain aims to achieve more scalability and resolve the privacy concerns faced by the banks. This happens in Corda by including “Notaries” in the network. The Notaries perform the function of the miners, they are the ones who validate the transactions. If a transaction is validated and timestamped by a notary, it can be included in the immutable chain. Notaries can be centralized (eg. R3 or the banks) or they can be distributed.
Quorum uses a consensus protocol called “QuorumChain”. The consensus here is relatively straightforward and a consensus is reached by simple majority voting. A certain number of nodes are relegated with the voting rights. These nodes only verify the transaction. Quorum uses Raft-based and Istanbul BFT for better fault tolerance, faster block time and better transaction finality.
When it comes to smart contract, Hyperledger Fabric uses “Chaincode” as the business logic of the technology. Chaincode takes the leverage from in-built trust of blockchain technology and underling consensus from the peers. Fabric also allows you to write the ‘Chaincode’ aka smart contract code in any standard programming language. Smart Contract can be written in either Node.js n or Go and in future releases Fabric can support other programming languages like Java.
In Corda, the smart contracts don’t simply contain code, but in addition they support legal prose. The reason behind supporting both can be cited with the fact that the blockchain is designed for highly regulated financial and banking services environment. The legal prose better known as Ricardian Contract run to ensure that the required signatures are obtained transaction validity is achieved. For R3’s Corda, the Smart Contract can be written using Java or Kotin programming languages.
Quorum, soft forked from Ethereum supports both public and private contracts. The public contracts are built with Solidity whereas the private contracts which allows to specify which nodes in the network have the access to execute the contract. What’s more to understand here is that Quorum privacy design impose constraints, a private contract cannot be updated to a public contract and vice-versa.
Hyperledger Fabric supports no cryptocurrency although the platform does support tokens. A native currency or digital token can be developed on Fabric with Chaincode.
Corda and Quorum don’t support currency as of now in order to safeguard the blockchain.
Summary: Hyperledger Fabric vs. Corda vs. Quorum
To sum up, the examined permssioned blockchains Fabric, Corda and Quorum offer privacy, enhances the performance of the blockchain with scalability and offer fine grained access control.
As Corda and Quorum are both consciously designed as DLT for the Banking and Financial Industry, the main focus is on financial services transactions. The architectural designs are simple when compared to Fabric.
As the framework of Fabric is modular it is pretty likely that it can be altered to resemble Corda or Quorum’s feature. There are efforts as of now only which seek to integrate Corda into the Hyperledger project. As a result, both Quorum and Corda cannot be seen as competition rather more as a complement.