As the team and I tame the blockchain technology landscape, it is becoming increasingly apparent the platforms often serve quite different purposes. I am not referring to the endless debate on whether something is a “blockchain” or a “distributed ledger”. Nor am I referring to the age-old, public vs. private blockchain debate (i.e. it’s not a real blockchain unless it’s public). I’m referring to the way in which the various vendors model their data and applications.

For instance, some platforms - such as BigChainDB - model assets as non-fungible atomic units, this makes them sub-optimal for modelling problems such as equities markets. However, it makes them great for modelling assets, in the way Everledger model diamonds using BigChain.

Alternatively, some platforms, for example, model assets as fungible atomic units, this allows them to scale better - the ledger just alters balances of an asset, as opposed to updating individual atomic records. However, it would make them inappropriate for use cases such as KYC.

A third form of blockchain (such as IBM's Hyperledger) runs smart contracts, where the transactions and the resulting change of storage state is persisted to a blockchain. This makes them ideal for many use cases, but it’s not without its drawbacks. In the case of Hyperledger, it means the process spawns a number of child Docker containers (which all need to be managed).

One can also make a case for a fourth kind of blockchain - such as Ethereum - that is more of a hybrid. Hybrids not only model assets but also allow for manipulation of storage state by smart contracts. This hybrid functionality goes some way to explain the popularity of the Ethereum platform. That said, a major drawback in the case of Ethereum, is the Solidity language which has next to no tooling available.

Events are the key to unlocking blockchain's potential

I view blockchain as a complementary technology (as opposed to a central store like a database). As a result, one feature I see as critical to blockchain’s adoption is eventing. The ability to create a reactive facts architecture that decouples facts from clients of that data is truly innovative. It also allows the solution to scale internally, without the need for complex integration projects at the data layer. This can be done within the clients of those facts at a timescale suitable to the client team.

I expect the blockchain universe will go through a similar aggregation to the one witnessed in the big data ecosystem. In the same way that DataStax Enterprise now supports graph, more advanced hybrid blockchains with better tooling support will come to market in time. Thereby enforcing fewer rules and restrictions on applications developed upon them, and opening up new possibilities and use cases.
James Bowkett
A financial services software engineer specialist who always strives to incorporate the industry’s best practices and tools. With over a decade and a half of development experience using Java in an enterprise environment, he is now a principal consultant at Excelian Luxoft within the Technical Consulting practice. He is passionate about the wider software development community often attending community events and conferences (such as JAX London and QCon) and he is an Associate at the Graduate Developer Community helping to prepare undergraduates and graduates for their role in the IT industry.