Productionizing Blockchain Solutions – A Pragmatic Approach

By October 25, 2017Blog

Guest post: Hitarshi Buch, Blockchain COE Lead, Wipro Ltd.

The small but ever expanding world of blockchain has slowly but surely gone past the proof-of-concept / proof-of-technology stage. Gone are the days when organizations were satisfied with prototyping on blockchain and ticking the proverbial check box by spending some dollars from their innovation budget.

Now, I am not jumping the gun and suggesting that blockchain has entered mainstream and we will see plethora of productionized blockchain solutions. At the same time, the fact remains that organizations have developed a fair understanding of blockchain and now want to know what it takes to implement a production-grade blockchain based solution. Since blockchain solutions involve a multiparty ecosystem and consortium kind of model, given below are some of the questions that need to be resolved.

  •      Who will setup the blockchain network in a multi-party ecosystem?
  •      Who will manage the onboarding / off boarding of members in the consortium e.g. adding new nodes or removing existing nodes?
  •      Where will the blockchain nodes be hosted? What type of network connectivity will be required?
  •      Who will own the blockchain network and how will it be funded?
  •      What is the total cost of ownership of the blockchain based solution?

It would be fair to assume that nobody has definite answers because firstly “it depends” on several factors such as the use case being implemented and the business agreements between different participants of the ecosystem. Second factor is the decentralized nature of blockchain, which leads stakeholders to treat this problem statement differently than any other IT system, which is where I beg to differ.

Therefore, I would like to propose a practical and pragmatic approach for productionizing blockchain solutions, which will be following a permissioned, consortium model. The first and foremost aspect is to accept the fact that some degree of centralization will be required not only for setting up the blockchain nodes and network but also to ensure a sound governance model to make the solution sustainable. At the risk of sounding too prescriptive, here are some tenets for productionizing blockchain solutions.

What? Why?
     Host the blockchain nodes and network on a cloud platform      Ease of provisioning, dynamic scaling as well as dedicated, customizable subnet

     Security and privacy concerns on cloud are unfounded – revisit the decision of why confidential/private data needs to be maintained on blockchain

     Onboarding / off-boarding of nodes can be managed centrally, mainly for private, permissioned blockchain

     Each participant can take responsibility for integrating their existing enterprise systems to their blockchain node

     Leverage a PKI management solution which is complementary to the blockchain platform being used      Participants of the blockchain network will sign transactions using digital certificates to prove their identity

     Each participant will need to securely generate and store their private keys

     Blockchain topology for production environment should ensure minimum viable configuration      Blockchain inherently supports a decentralized model but a minimum set of nodes have to be up and running to ensure business continuity

     Introducing additional nodes solely to eliminate blockchain network failure / downtime will be required

     Use decentralized storage for data availability and blockchain’s efficiency

     Storing large sized documents and/or data entities on blockchain is counter-productive as all nodes need to get synced up every time

     Off chain storage mechanism of critical data entities should be complementary to the decentralized model of blockchain

     Largest stakeholder should be the process owner and manage smart contract development lifecycle till minimum go-live of the blockchain solution      In a private, permissioned blockchain setup all parties would have to transact using the same version of smart contracts

     Largest stakeholder will have the greatest motivation to ensure that smart contract versioning and releases do not disrupt the business continuity

     Blockchain network management should be done by a 3rd party network provider      Technical complexities on provisioning, administering, monitoring and maintaining the blockchain should be contracted out to a 3rd party network provider

     Self-governing and self-healing blockchain models are not available yet

     Track contribution and consumption of consortium members on blockchain      In order to arrive at a funding / cost model, the metering of contribution and consumption of each participant can be tracked and stored in blockchain

     Subscription and invoicing can be based on this collated data once the solution stabilizes

     Largest stakeholder should be the solution sponsor till minimum go-live of the blockchain solution      This will resolve the Omni-present conundrum of who will bear the cost of ownership

     Benefits derived from the minimum go-live will help participants arrive at a workable ownership and funding model

     Implement multi-tenant DApp and integration layer which can be used by majority of participants      All participants of blockchain may not have the technology expertise or business motivation to build off chain components required to interact with blockchain

     As a bare minimum the largest stakeholder can bundle DApp and integration components, which can be deployed on each node with minimal configuration

     Formalize multiparty agreement after the initial pilot is rolled out and adopted      One of the biggest roadblocks to onboarding of participants is the inability of consortium members to arrive on common rules of engagement

     Side-stepping this obstacle at least till the pilot phase is recommended

     Adopt BPM Governance principles such as defining process owners, participant roles and responsibilities as well as measurement of process KPIs      Blockchain cannot and should not be seen as technology replacement only. The objective should be to achieve business process improvement and efficiency

     Smart contract enabled blockchain platforms are more aligned to BPM (as described in my previous blog) where the process participants are inter-enterprise rather than intra-enterprise

While there is no silver bullet for productionizing blockchain solutions, there is definitely a need to take the learnings out of successfully implemented solutions using centralized aka “traditional” methods. Certain grey areas will remain, which will only get resolved as blockchain platforms gain maturity, scalability and come bundled with tools and techniques required for production-grade adoption.