The disruptive Blockchain technology has found more than a thousand use cases and abundant potential in all major domains and industry verticals. While most entrepreneurs and technocrats are keen to explore blockchain in their upcoming projects, not many have the requisite budget or infrastructure. This is where open-source blockchain platforms step in. They help to develop robust prototypes at reduced costs and enhanced speeds. Efficiency and innovation are enhanced using the built-in features and technical support of these platforms. Let us dig deeper into Top Open-Source Blockchain Platforms of 2018:
Platform Evaluation Criteria
Blockchain ecosystem is flooded with open-source development platforms. To help you compare objectively all available platforms, we have evaluated three top performers against the following parameters:
- Support and documentation
- Flexibility and scalability
- Consensus and incentive mechanism
- Currency supported
On the basis of a thorough qualitative analysis, here is a compilation of the top open-source blockchain platforms of 2018, in no particular order.
Ethereum is a decentralized platform with a Turing complete contracting language that allows the development of smart contracts. Smart contracts are applications that run on top of a custom built blockchain, similar to Bitcoin’s. Ethereum’s facility to develop smart contracts allows complex applications such as financial exchanges and insurance contracts to be executed on the distributed platform. In terms of flexibility and scalability, Ethereum is far ahead of Bitcoin.
Usability: Clients are mostly developed and founded by the Ethereum Foundation but there are also a few clients developed by a community of programmers. The most popular clients offered by the Ethereum foundations are go-ethereum (Go), cpp-ethereum (C++), and pyethapp (Python). A GUI interface called Mist is also available to interact with the Ethereum client, however, Mist is not sufficient to do mining operations. To facilitate the development of smart contracts, Ethereum also provides Mix, an IDE for the Solidity language.
Support and documentation: Ethereum’s website provides links to resources for developers such as an FAQ, a dedicated Stack Exchange website and extensive documentation for Ethereum Homestead (the latest version of Ethereum) including explanations, tutorials, and examples.
Consensus Mechanism: Ethereum currently uses a proof-of-work algorithm called Ethash, which is a memory intensive consensus mechanism. As in Bitcoin, the difficulty automatically adjusts every block. Because this dataset can take a long time to generate, Ethereum clients need to generate and store future dataset in advance to prevent mining delay at the start of a new epoch.
Currency Supported: Ether is the currency supported.
Security: Data and contracts in Ethereum are encoded but not encrypted, and all data is completely public. Therefore, if sending sensitive data through the Ethereum network the user should encrypt it locally before sending it.
IBM has open sourced their Open Blockchain (OBC) project as part of the Linux Foundation’s new blockchain project. IBM’s code now forms a core part of that project as Hyperledger Fabric. The focus is to enable enterprise-level technology to create applications that solve common business solutions in a novel and progressive way.
Usability: The API offered by OBC includes REST AND JSON RPC, events, and a Software Development Kit (SDK) to allow custom applications to communicate with the network. OBC also provides a set of Command Line Interfaces (CLIs) to administer and manage the blockchain network.
Support and Documentation: OBC’s support documentation is available as a GitHub repository. It includes a whitepaper, an FAQ, a draft of the OBC protocol specification and several tutorials on how to use OBC.
Consensus Mechanism: OBC supplies two different consensus algorithms: the Byzantine Fault Tolerance (BFT) algorithm, and an augmented version of it called SIEVE to make it more suitable for business applications.
Currency Supported: OBC does not have a native currency, however, one can be created by developers for their application using chaincode.
Security: A large portion of the OBC protocol specification is dedicated to security issues, including pseudo-anonymity of users (ensuring transactions cannot be linked to users or to other transactions) using public keys and digital certificates, access control policies and network security.
Eris’ Multichain is a blockchain platform aimed at enterprise applications. Their main selling point is their capabilities based permissions, which define who can transact on the network, create smart contracts, validate transactions and many others. Eris is also a modular platform that uses Docker to allow various components to be switched in and out with other compatible components.
Support and Documentation: The Eris documentation is quite extensive, including both explanations of its features and the design decisions made during development, plus several tutorials on how to use it.
Consensus Mechanism: Again, as a modular system, Eris’s consensus mechanism depends on which component is used. The incentive mechanism is also dependent on the components used, although as Eris is a permissioned blockchain where only certain nodes have the job of validating transactions, whether or not a reward is appropriate depends on the application.
Currency Supported: Eris is intended to be used more for business logic than monetary transactions. Therefore, although the currency is dependent on how the platform is composed, it is not a focus of the platform.
Security: Eris’s security depends heavily on the components of a particular algorithm is made of. Currently, Eris’s key signing daemon is a major security flaw. In the future, any components that could be used with Eris would need to be analyzed for any security flaws
Watch this space for more analysis and reviews of blockchain platforms and tools…. & contact for Blockchain Development.