Best practices for managing enterprise blockchain networks on Hyperledger
Given that you have several business partners who want to transact on the Hyperledger Fabric platform, you as the administrator would need to translate these actors into corresponding entities within the Hyperledger Fabric environment along with all the necessary supporting components. Thus first and foremost, the role of the administrator is to define the Hyperledger Fabric’s network design. When looking at a given set of requirements, you would have to identify the ideal dichotomy in such a way that allows you to support the consortium participants and transactions at the most appropriate granularity level.
For example, if you have two companies looking to jointly implement a supply chain process using Hyperledger Fabric, included in your network design will be at minimum the peer nodes for procurement, accounting, logistics, and inventory departments. Depending on the requirements, you may need to have higher granularity to support expected transactions.
As part of network implementation, Hyperledger Fabric includes the Solo built-in orderer binary to be used for local development testing purposes. For production implementation, either Kafka or Raft can be used, with Raft being the preferred method due to relatively simpler configuration and implementation effort.
There may be requirements relating to business continuity and disaster recovery. Even if your implementation is on the cloud, redundant access to the internet may be required to remove failure point.
Identity is an important aspect of operating a secure network. Hyperledger Fabric is designed to include a local crypto binary to generate crypto artifacts to help simulate users and MSP attributes, a local Certificate Authority to support local authentication and access testing, as well as the flexibility to integrate with an external Certificate Authority and crypto provider. Again here a judgement call is required to create identity at the appropriate granularity level. For example, for various design reasons, you may desire to create dedicated peer nodes to support SDK/API calls originating from a specific external entity.
Through the definition and assignment of roles and policies, the network administrator is able to control a given entity’s permission and access to resources within the Hyperledger Fabric network. Through entity definitions such as an admin, a peer, a client, and a user, the administrator can quickly define level of resource access to resources on the Fabric network. Additionally, policies can be defined to control permitted actions on the Fabric network. Endorsement policy will decide whether a given chaincode request is allowed to be processed on the network, and system policies describe the rules for access and updates to the network and channel configuration.
Part of the admin’s responsibility is to onboard new members to the network, whether that’s to stand up a real user or an embedded component such as a peer node. Members come and go as well as changing their privileges. The admin would be responsible for fulfilling membership change requests and housekeeping tasks.
The admin will collaborate with both developers and with admins at other companies to coordinate network configuration definitions, offline tasks (yes, there are a few required tasks to do offline among admins), and integration testing effort. The developer will look to the administrator on accessibility that a given chaincode has to network resources, and chaincode initialization and chaincode deployment and upgrades.
Once the network is created and running, the administrator will observe the network responsiveness and stability. Performance testing can never replace actual production monitoring, so the administrator needs to review user and system feedback and fine-tune various network attributes, including but not limited to block size, gossip intervals, polling frequency, private data management, keepalive messaging, etc. A significant advantage to Hyperledger Fabric is its elapsed time for block creation compared to other platforms like Ethereum. With optimal performance tuning, a Fabric network will provide a higher level of performance and responsiveness to network usage.
How we can help
We are a team of specialized blockchain architects and developers with several iterations of blockchain implementation projects with government and large companies. Along with our experience, our team members have authored and published numerous books on blockchain as well as books on several of the more widely-adopted blockchain platforms.
With the advent of blockchain comes the features of transaction transparency, direct peer to peer transaction, and high level of data integrity. Companies and municipalities around the world today have already begun to embrace and use blockchain. And we agree with the ever growing number of social, technology, and commerce experts that blockchain will continually gain momentum to inevitably become the new paradigm for the world.