With every organization looking at blockchain platform for solving the long standing problems in their respective areas and domain, it is often by default a blockchain platform is selected for the application development. It is imperative that sufficient effort and time is spent on understanding the needs and requirements of the application vis-à-vis the blockchain platform features so that a proper fit is made. It should not left to just the development team to decide on this issue as once the implementation is under way major hurdles, both business and technical, may crop up and stall the project. This note presents a list of criteria for evaluating the blockchain platforms before zeroing in on the target environment so as to avoid heartburn as the project gets underway.

Purpose

The most important factor to consider blockchain implementation is its objective or purpose for which it is built. This is often overlooked by many implementation teams. Many popular blockchains are specialized for cryptocurrencies, which is not a surprise as these are based on the first Bitcoin’s blockchain codebase. There are blockchains which provide ways to use it in non-financial applications by enabling support for significant data storage within transactions. For example, some implementation store information off the blockchain, then create a hash of that data and submit it in a blockchain transaction. Since the hash is stored on the blockchain it can be referenced by anyone to validate the same. However, these implementations have limitations for full blown business use cases, so cryptocurrency blockchains may not be a good fit for general applications. It is imperative that the core objective of the blockchain implementation is understood before adopting for use in a business case.

Usability

Ease of use is another important aspect to consider before selecting a blockchain for application development. Some blockchain implementation require downloading and keeping the full set of nodes while others have lightweight clients that allow access to the blockchain’s network without the need for complete set. Apart from this, it is necessary to find out if the blockchain implementation is in open source; this feature can come in handy if there is a need to fork and create new set of mining rules for the potential application. Other factors affecting the usability are the number of methods available for interacting with the platform, viz., APIs, GUI and user clients. Reviewing the programming language support of the blockchain platform can help in deciding it usage for potential applications. Platforms using standard tools and languages are easier to adopt and use. Additional factors to look for are documentation, number of active user community groups and online support.

Governance

The governance of a blockchain can also impact how it operates and what it can do. Thus, one should consider who controls access to the ecosystem, and who enforces decisions to make changes to the blockchain. If it is an open source activity there is high possibility that new ideas and approaches can be discussed and get implemented. Most blockchains require consensus from all participants in order to agree to a change on the blockchain. Some platforms which are in closed groups have a less flexibility and it may be difficult to utilize the blockchain for their specific application.

Performance

This is another key aspect for blockchain usage. Performance is measuring how fast transactions are accepted by the blockchain’s network, how much bandwidth it uses, how much blockchain data needs to be stored, and in what way the data must be stored. Metrics like numbers of blocks are added to the blockchain, block and transaction sizes, and transaction rates are important to consider. Depending on the application requirement and type, performance and latency needs to be thoroughly verified before selecting the platform.

Scalability

Scalability is the ability of the platform to behave as consistently as the network size, the number of nodes and transaction per second increase. Most blockchain implementations degrade as the number of nodes increase. This is a mandatory metric that needs to be studied as blockchain applications are typically global in nature and have the inherent need to scale, going forward.

Security

Some business applications are looking at blockchain technology because of the enhanced security features that it offers. Security of transaction data, user anonymity and the security of the blockchain itself need to be considered before planning on using it for a business application.

Evaluation Criteria for Blockchain

Availability

Decision on weather application data needs to be publicly accessible or should it reside within a private group will determine on the type of blockchain to use — public or private / permissioned. Efforts should be made to see if the blockchain platform is deployable in both the modes.

Consensus and Incentive

Cost of consensus and the difficulty of consensus algorithm play a part in deciding on a blockchain platform. This will determine the power consumption and overall gas expense for running the application. Reviewing the incentive scheme will help in determining to see if it is encouraging enough for miners to participate. This will make the platform popular and acceptable within the development community. Openness of the consensus algorithm also has to be evaluated for any future modifications. In some applications, there would be a need to customize the consensus algorithms, it is essential to see if the blockchain is flexible enough to support this feature.

Transaction and Storage Cost

Depending on the kind of application that is being deployed on blockchain, the cost of transaction and / or storage can play a crucial role in deciding on its fitment to a domain. More and more business applications need large storage for fulfilling the use cases. Blockchain storage is at a premium; ability of the blockchain to provide for data storage can determine its usage. If it does not support large data store, we need to determine if there are hooks within the framework to use external distributed data stores.

Limitations and Flexibility

Flexible platforms are general purpose blockchain implementation, which are not just for a specific domain or for that matter crypto-currencies. These platforms are more profitable and are more likely to inspire innovation. Any platform that could support a variety of applications is a big advantage. A quick survey of number of applications using a blockchain platform can indicate the degree of flexibility offered by the platform.

We are using blockchain to build the NanoHealthCare Ecosystem. Join our telegram community to know what is our motivation behind doing this.