Toptal acquires VironIT.com, enhancing custom software leadership

A blockchain platforms comparison

27.08.2018 Chiara,Alexey Grakov
3 Comments
A blockchain platforms comparison

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.

Comparison of different types of blockchains

Comparison of different types of blockchains. Source: Patientory 2017

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.

Characteristics of the main platforms for developing private blockchain

Ethereum

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.

Hyperledger Fabric

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].

Corda

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

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:

  • Delegated Proof-of-Stake (DPoS) algorithm: provides differentiation of voters and validators.
  • Byzantine Fault Tolerance (BFT) algorithm: implies voting protected against malicious activities

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

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.

Comparison of the private blockchain platforms

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.

A blockchain platforms comparison table

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

To summarize

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.

References

  1. P. Sandner, “Comparison of Ethereum, Hyperledger Fabric and Corda”,Frankfurt school Blockchain Center
  2. The Credits Project
  3. S.W.Cocco, G.Singh “Top 6 technical advantages of Hyperledger Fabric for blockchain networks”
  4. Credit Docs – Short presentation
  5. Why is CREDITS more secure than other blockchain platforms?
  6. Will CREDITS be able to compete with Ethereum?
  7. White Paper – Decentralized financial system CREDITS.
  8. Why is CREDITS faster than other blockchains?
  9. Consensus System Used By CREDITS Platform
  10. Blockchain in the Enterprise – How Microsoft’s Coco Framework is Making it Happen
  11. White Paper – The Coco Framework Technical Overview
  12. Enabling secure and resource-efficient blockchain networks with VOLT
  13. Microsoft blockchain vision – enterprise smart contracts, coco framework and app builder
  14. M. Gray, “Introducing Enterprise Smart Contracts”
  15. M. Gray, “Enterprise smart Contracts” (technical Whitepaper)
  16. D.T.T. Anh, R. Liu, M. Zhang, B.C. Ooi, G. Chen, J. Wang, “Untangling Blockchain: A Data Processing View of Blockchain Systems”, IEEE Transactions on Knowledge and Data Engineering – 17 Aug 2017
  17. M. Russinovich, “Announcing the Coco Framework for enterprise blockchain networks”
  18. M. Russinovich, “Introducing the Coco Framework”
  19. M. Russinovich, “Inside Coco Framework, the Foundation of Blockchain for Enterprise”
  20. Coco Framework’s git repository
  21. Official Hyperledger Fabric’s documentation
  22. What’s the Difference Between the 5 Hyperledger Blockchain Projects?
  23. Hyperledger Projects
  24. Hyperledger Resources
  25. Hyperledger Fabric IBM Blockchain
  26. Hyperledger or Coco? What CIOs Need to Know About Blockchain Frameworks
  27. Ethereum WebSite
  28. R3 Corda WebSite
Please, rate my article. I did my best!

1 Star2 Stars3 Stars4 Stars5 Stars (9 votes, average: 4.44 out of 5)
Loading…

3 responses to “A blockchain platforms comparison”

  1. zakstockwell says:

    Reply

    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.

  2. sadye_parrott says:

    Reply

    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!

  3. g says:

    Reply

    Really no matter if someone doesn’t understand afterward it’s up to
    other users that they will assist, so here it occurs.

Leave a Reply to g Cancel reply