Selecting a Technology Stack for Enterprise Blockchain Applications

Stefan Beyer
blackinsurance
Published in
5 min readJun 27, 2018

Blockchain systems are still a very new technology. Despite this short time of existence, the amount of technology stacks and projects is staggering. Selecting a technology for a particular use case has become a hard task. This attempt to map out the blockchain landscape form October 2017 is already outdated.

We have previously talked about implementing insurance products using smart contracts and how insurance-related assets can be represented on the blockchain. In this article, we look at the reason behind the selection of the Black Insurance technology stack, using it as an example for blockchain-based enterprise applications.

Whitelist to the Black ICO now, to secure a bonus!

Expressiveness

When selecting a platform for implementing insurance policies as smart contracts, the underlying platform needs to provide a certain number of primitives. First of all, the execution of smart contracts requires arbitrary state to be stored on the blockchain. A certain expressiveness in the modeling of this state at a higher level is also helpful. Data types, such as strings and arrays, and support for complex data-structures make it much easier to model business concepts, such as insurance policies.

Secondly, operational expressiveness is required to enable the programming of the smart contract’s logic. Turing completeness is not always necessary but is a desirable property. Turing completeness can be defined informally as the ability to computationally model any problem. Basic arithmetic and control flow operations are provided by a blockchain’s virtual machine layer. Not all virtual machines provide the same range of operations.

Finally, it is a big advantage if the underlying blockchain platform provides a means of representing assets in the form of tokens. Whilst all blockchains allow some form of digital asset representation, the complexity of such an undertaking varies greatly between platforms.

These constraints limit the choice for implementing insurance policies to, at least, a second generation blockchain that natively supports smart contracts, for example, Ethereum. People have come up with very clever ideas for implementing almost anything on the grandfather of blockchains, the original Bitcoin chain. However, the lack of expressiveness of Bitcoin’s virtual machine makes many projects unnecessarily complicated.

Performance

Blockchain applications are asynchronous in nature. A call that causes a transaction to be executed does not return a result until the transaction is confirmed by the underlying consensus protocol. Insurance policies are not real-time applications. However, as with all smart contract applications, a certain agility is required. Bitcoin’s average block time of 10 minutes means that there would be a substantial lag before transactions are confirmed. Ethereum’s 15 second block time can provide a much better experience in this sense.

However, transaction confirmation time is not the only performance limiting parameter. Overall transaction throughput, i.e. the number of transactions that can be processed per time unit, is of equal importance. Insurance policies are not as dependent on high transaction throughputs as, for example, games.

Nevertheless, it is not reasonable for enterprise applications, such as Black Insurance, to suffer from significant performance hits and transaction backlogs, because of network congestion caused by popular cat pictures collectibles. Yes, this has actually happened on the Ethereum blockchain.

Alternative solutions are implementing the system on a more scalable high-performance platform, such as EOS. The EOS chain aims to provide increased performance by relaxing decentralization. The consensus mechanism is limited to 21 validator nodes, which naturally speeds up the process.

Another approach is to use a permissioned blockchain, limited to the authenticated platform users. This has the advantage that optimized voting-based consensus protocols can be used. Black Insurance has partially gone down this road, as we will explain further on in this article.

Maturity

One limiting factor, that rules out at least an estimated 90 % of blockchain technology is maturity. Third generation blockchains, such as the above-mentioned EOS are still very experimental. In fact, most smart contract platforms are nowhere near production ready.

Ethereum, for all its faults and scalability issues, has at least proven to be relatively stable and secure. In fact, in terms of public general-purpose blockchains, it probably is the only viable platform for real-world applications. Despite this, Ethereum must still be considered experimental and many upcoming changes may alter the nature of the network significantly.

In terms of permissioned blockchains not open to the public, there are two viable and mature options for smart contract platforms: Enterprise versions of Ethereum, such as J.P. Morgan’s Quorum, and the IBM supported Hyperledger Fabric.

Privacy Paradigm

Any enterprise application of blockchain technology has to define its privacy requirements. Public blockchains are, as the name suggests, public. This means it is impossible to keep secrets. Actually, impossible is an exaggeration, as modern cryptography can work wonders. However, any privacy feature would have to be built as an additional layer and opening up the system to the whole world is a risky strategy for enterprise applications.

Permissioned blockchains usually incorporate privacy features, such as private transactions between parties. Furthermore, authentication limits the risks associated with exposing the system to the general public.

But what if you need to expose part of the system to a public blockchain and other parts are best kept private? You may wish to be able to move assets out of the closed system, in order to publicly trade them on secondary markets.

This is the case for Black Insurance. Nobody needs to know how many cars in my garage are insured, but I might wish to move my insurance payout onto a public secondary market to convert it into fiat currency I can use to repair my car at the local garage.

We have already explained in a previous article how the Black platform is split between a private blockchain and the public Ethereum network.

The Black Insurance Technology Stack

You can see from the above reasoning that a lot of thought has gone into selecting the Black Insurance technology stack. Hyperleger Fabric is used to implement the privacy-preserving smart contract environment to deploy secure insurance policies. Hyperledger Composer is used to provide a high-level abstraction to write these policies, focusing only on the business logic.

Assets can be moved to the public Ethereum blockchain, which implements the Black token as a smart contract. Hyperledger Quilt is used to provide interoperability between the two blockchains. This implementation of the Interledger Protocol allows Black tokens to be transferred between the two blockchains using atomic swap operations.

Final Thoughts

The requirements of enterprise applications require careful technology selection, which is not always compatible with the fast-moving pace of the blockchain ecosystem. In this article, we have listed the reasoning behind the selection of the Black Insurance technology stack, in order to highlight the type of considerations required by enterprise applications.

--

--

Stefan Beyer
blackinsurance

Computer Scientist with research background in Operating Systems, Distributed Systems, Fault Tolerance and Cybersecurity.