Architecting a blockchain solution for the enterprise

Share
  • November 20, 2018

Cryptocurrency was a massive buzzword across all sectors of technology and finance last year, but since then the whole cryptocurrency hype has seen a downfall. While the future of cryptocurrencies is still unknown for the most part, its dominance in real economy is yet to be understood. However, I would like to discuss here is the underlying technology that cryptocurrencies are based on, specifically Blockchain and various distributed ledger technology platforms such as Hyperledger, Ethereum, NEM, and more.

    Blockchain Whitepaper 2018

    Free: Blockchain Technology Whitepaper

    If building a blockchain from scratch is beyond your current scope, the blockchain technology whitepaper is worth a look. Experts from the field share their know-how, tips and tricks, development advice, and strategy for becoming a blockchain master.

Choosing between different blockchain solutions

Recently, I was approached by a firm that is in the process of digitizing medical records of citizens of an African nation. They wanted to not only control access to the medical records via biometric recognition and authentication, but also put technology in place to ensure that the medical records were immutable once they were in the system. The key points for consideration were:

  • Permission based access
  • Scalability and latency
  • Immutability and data integrity

While we looked at several private blockchain solutions like Waves, NEM, or Corda, we noticed that Hyperledger Fabric stood out amongst all of them time and time again for both this use case as well as others we had been working on.

The key decisions that ruled in favor of Hyperledger Fabric were:

  • Permissioned Framework
  • Ability to run complex queries
  • Scalability and cost of hosting/maintenance
  • Maturity (in comparison to other solutions)
  • Golang

Most of the promising solutions that I come across lack the maturity needed for such a big implementation. There are hardly a few systems that are being used in large scale enterprise production environments.

SEE ALSO: The ultimate guide to Blockchain programming for new developers

Challenges in utilizing blockchain

One of the challenges worth pointing out is the concurrency challenge we have had around using Hyperledger, especially in our use case. We needed to provide a provision in the system to allow write and read multiple operations on the same object concurrently.

In this situation, the use case is:

  • A patient visits a clinic
  • Patient’s identity is confirmed
  • Object access is granted to the clinic
  • Object can be updated
  • Record which user altered the object.

Even though the chances of same object being written simultaneously was rare, we still had to account for a situation where the write request for the object was pending while read access was requested. This could potentially invalidate the state of the read.

SEE ALSO: How can blockchain help boost cybersecurity?

This is how the first version of architecture looked like:

blockchain

Figure 1: Our architecture.

The second challenge we faced was the deployment. Hyperledger focuses heavily on Docker. Luckily, our DevOps team at Systango was accustomed to using it in pretty much in every project we undertake.

SEE ALSO: How cryptographic algorithms and hashing keep blockchain secure

While we have deployed the system in production, its usage is still at a very early stage. It’s hard to comment on the system’s scalability as of yet. However, in the sandbox environment, we tested it with 1,500 concurrent transactions and it performed fairly well.

For an in-depth review of the architecture, deployment challenges and key learnings of other projects, please join me at my session at the Blockchain Technology Conference. I’ll be going over all this and more there.

 

Vinita Rathi will be delivering a talk at Blockchain Technology Conference on Tuesday, November 20 that goes over what blockchain is, functional blockchain solution designs, and the five pillars of an enterprise blockchain solution design.

“Architecting an enterprise blockchain solution: Key considerations”

you do

The post Architecting a blockchain solution for the enterprise appeared first on JAXenter.

Source : JAXenter