The buzz around blockchain has already created a global industry that aims to develop and capitalize on the huge potential of this technology.
Blockchain started as a public permissionless technology. Since then, other types of blockchains have been created, each for its own specific set of use cases. Public/permissionless blockchains are open, decentralized and slow. Private/permissioned blockchains are closed and centralized, either partially or completely. They’re also more efficient to streamline business processes.
In this article, you’ll find blockchain platform comparison. We have analyzed the following platforms for developing private Blockchain: Ethereum, Hyperledger Fabric, Corda, Credits, and Coco.
Ethereum follows a “permissionless” network, as all the participants of the network have to agree upon to reach the consensus. The consensus is reached by the Proof of Work (POW) mechanism. The consequences are that it impacts the performance of the transaction processing as the number of participants can be high.
Ethereum framework pays the nodes in the form of the virtual currency “Ether”, which help in the process of mining blocks to reach consensus. Also, Ethereum as a framework is a generic blockchain platform and, therefore, it could be applicable in different industries’ scenarios. The smart contracts in Ethereum are written in Solidity.
It implements no privacy on the network, anyone can view everyone else’s transactions.
The Hyperledger Fabric project, included in the Linux Foundation’s Hyperledger one, is emerging as the de-facto standard for enterprise blockchain platforms like the IBM Blockchain Platform and others. It is pointed as “the most popular private blockchain” [16]. It follows a “permissioned network and expects only the participants within the network to reach consensus. Thus, it enhances the privacy and the performances are improved. Unlike Ethereum, Hyperledger Fabric provides different roles to the participants within the network (Ex: Peers, Endorsers and Orderers).
The smart contracts in Hyperledger Fabric are written in Go or Java and they are termed as “Chaincode”. Hyperledger Fabric does not require a cryptocurrency for mining to reach consensus.
Hyperledger Fabric is a highly modular and configurable blockchain platform. Its versatility makes it optimizable for a broad range of industry use cases including banking, finance, insurance, healthcare, human resources, supply chain and even digital music delivery [23].
R3’s Corda [30] follows a “permissioned” network and the consensus is reached only with the parties involved in the transaction. Consensus is achieved via Transaction validity (smart contracts run to ensure that the required signatures are obtained) and Transaction Uniqueness (to ensure that the transaction is the unique consumer of all the input, to avoid double spending).
The smart contracts in Corda contain code and, additionally, contain a legal prose (Ricardian Contract). The smart contracts are written in Kotlin or Java. Corda has been explicitly designed for the highly regulated environment of the financial services industry.
Credits — is autonomous blockchain platform based on the principles of peer-to-peer network. It is a decentralized system for direct interaction of its members. Credits provides a new technical decision and conceptual scheme of interaction. The system incorporates the users of the network providing them opportunities for creating and using financial services. Every member of the blockchain is able to offer a service as long as to use different services. For the operations are used tokens — Credits (CS).
The consensus mechanism used by the CREDITS platform is based on a combination of two mechanisms:
The key phases encompassing the consensus reaching process in the CREDITS network selection consist of head node and trusted nodes, the voting of selected nodes on transactions, ledger recording protected against any hacking scams. [9]
The system implements “permissioning”. It differentiates the nodes in common, trusted and main nodes, depending on their purpose.
The system uses the CREDITS currency. The cost of a transaction can vary depending on the network load [7].
Coco is presented as a blockchain ledger framework and not as a platform. This is to underline the fact that it aims to integrate with any blockchain development platform, such as Ethereum. The idea is to add the Coco strengths to well-established, existing platforms, that can benefit from Coco’s enhancements in terms of performance, confidentiality and governance. [10]
The Coco Framework is designed to support pluggable consensus algorithms. The plans were to initially integrate Paxos-like consensus algorithms and Caesar consensus, an algorithm from Microsoft Research, however, Coco networks can be built with other consensus algorithms. [11] [12]
In the Microsoft Blockchain vision [13], the Coco framework works in combination with the Enterprise Smart Contracts architecture, which introduces separation of concerns in implementation by modularizing data, logic, contract participants and external dependencies [14]. Enterprise Smart Contracts provide a set of components, that can be combined to create contract templates that when executed, provide the privacy, scale, performance and management capabilities expected in an enterprise system [15].
In the Coco network, there are two types of actors: members (who govern the network) and participants (who do not have any operational control). Despite this separation of roles, a Coco Network does not have to have both types of actors (this modality could be used when, for example, a consortium decide that all parties should have equal responsibilities and permissions) and an actor could have both member and participant identities (as a means of separating business and administrative transactions) [11].
Scalability tests showed as results a throughput of around 1600 transactions per second and latencies in the low hundreds of milliseconds [11].
Unfortunately, despite the fact it has been announced the 10th of August 2017 [17], and that some video presentations have been published [18] [19], the source code is still not available for testing and deploying. In the official git repository, it is said that “Microsoft plans to open source the Coco Framework code in 2018” [20]. The community of developers is still waiting for the release.
All of these platforms have very different visions in mind with respect to possible fields of application. Development of both Hyperledger and Corda is driven by concrete use cases, whereas use cases in both Corda and Credits are drawn from the financial services industry. Hyperledger Fabric provides a modular and extendable architecture that can be employed in various industries, from banking and healthcare over to supply chains. Ethereum also presents itself as completely independent of any specific field of application. However, in contrast to Hyperledger Fabric, it is not modularity, that stands out but the provision of a generic platform for all kinds of transactions and applications [1]. Coco has been thought for enterprise solutions and, as well as Hyperledger, it aims to integrate with different blockchain development platforms.
The following table provides a summary of these five solutions.
Characteristic | Ethereum | Hyperledger Fabric | R3 Corda | Credits |
Coco |
Description of platform | Generic blockchain platform | Modular blockchain platform | Specialized distributed ledger platform for financial industry | Blockchain platform with a decentralized ledger technology | Blockchain ledger framework |
Programming Language | Solidity | Go, Java | Kotlin | Java, Javascript | C++, C#. Different languages for smart contracts |
Governance | Ethereum developers | Linux Foundation | R3 | Credits project [2] | Microsoft |
Open source | yes | yes | No/restrictions | yes | yes |
Consensus | Mining based on proof-of-work (PoW) Ledger Level | Broad understanding of consensus that allows multiple approaches; Transaction Level | Specific understanding of consensus (i.e. Notary nodes); Transaction Level | New Consensus dPoS + BFT | Paxos-like and Caesar consensus, or other consensus algorithms |
Smart Contracts | Smart contract code | Smart Contract code | Smart Contract code; Smart Level Contract (legal prose) | Self-executing smart contracts | Enterprise smart contracts |
Currency | Ether; Tokens via smart contract | None; Tokens via chaincode | None | internal cryptocurrency | None |
Permissioning | no | Fine-grained permissions | Coarse-grained permissions | Fine-grained permissions | Coarse-grained permissions |
Transaction Confirmation Time | ~12 sec | “Instantaneous” | “Instantaneous” | “Instantaneous” | “Instantaneous” |
Transaction Cost | A fee must be paid | No fee | No fee | There’s a cost in CREDITS currency | No fee |
Privacy | No | Yes | Yes | Yes | Yes |
From the analysis that has been carried out, it emerges that the Microsoft Coco Framework is trying to follow the same logic of modularity of the Linux Foundation’s Hyperledger project. They emphasize the difference from platform and framework, saying that the Coco framework can integrate with any blockchain platform, but this is actually what the Hyperledger already does.
The Hyperledger project, indeed, divides its work into five sub-projects: Hyperledger Fabric, Hyperledger Sawtooth, Hyperledger Indy, Hyperledger Burrow, and Hyperledger Iroha [24]. Every one of these projects started with a certain use case in mind, but for bringing something unique and applicable to other contexts. The Hyperledger umbrella strategy encourages the re-use of common building blocks and enables rapid innovation of DLT (Distributed-Ledger Technology) components [25]. As we said, the Hyperledger Fabric project is emerging as the de-facto standard for enterprise blockchain, but thanks to the modularity approach, the key strengths coming from the others subprojects can be easily integrated.
In addition to this, the Hyperledger has already an entire community working on it with lots of resources already available [26] [23] [27]. In contrary, the Coco Framework developed from the Azure branch of Microsoft, even if it is claimed to be open source, it has not yet been released and the resources available are very poor in comparison.
Considering all above, we can conclude, that, according to our experience and to the carried analysis, the Hyperledger Fabric and Credits frameworks are those, that – at the moment – emerge with respect to the others for capabilities, final quality and security.
Modularity and flexibility are the two key feature of Hyperledger Fabric that makes it suitable for supporting distributed ledger solutions on permissioned networks for a wide range of industries [3]. Hyperledger Fabric is a good choice in case you want a private blockchain to which you can add the companies/persons that have permission to access. It can rely on the support of a large community and, according to several experts, it remains the only established blockchain solution for enterprise [28] [16].
On the other hand, the Credits project started for facing the drawbacks of the existing solutions for a blockchain implementation [4] [7] and, thanks to new approaches, it manages to tackle the information security problems [5], to solve the transaction speed problem [6] and to provide a low cost transaction, full-scale extended smart contracts and millions of transactions per second [8].
We hope this post has given you enough information to choose a Blockchain platform for your project.
If you have any application idea that can leverage Blockchain then I would like to hear from you. Feel free to comment below and we will catch up soon.
zakstockwell says:
I’m really impressed with your writing skills and also with the structure for your weblog. Is this a paid topic or did you modify it your self?
Anyway keep up the excellent high-quality writing, it’s
rare to peer a nice weblog like this one these days.
sadye_parrott says:
Excellent website. Plenty of helpful info here.
I am sending it to a few friends ans also sharing in delicious.
And of course, thank you for your sweat!
g says:
Really no matter if someone doesn’t understand afterward it’s up to
other users that they will assist, so here it occurs.