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.
|● 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.