Today, Blockchain is disrupting traditional industry operating models worldwide. With ongoing research and greater understanding of how this distributed ledger technology works, the use of Blockchain in new application areas is steadily increasing.
At HCL, we built our first few Blockchain applications and encountered similar challenges each time:
- Management of participant identities
- Similarity across common transactions while implementing varied data models to describe assets
- Portions of the chaincode/smart contracts being boilerplate (‘codelets’ in our definition): blocks of code that could be replicated with little modification
- Building several small integration elements on-need-basis to make Blockchain applications interact with rest of the IT ecosystem
Essentially, we were writing similar codes to implement similar decisions. That’s when we decided, an optimized method of reusing and managing our efforts was required.
Towards A Robust Blockchain Application Platform
Most Blockchain applications today are written as static, tightly-tied, one-time application code & deployed as smart contracts/chaincodes together with a UI layer sitting on top. Such applications directly leverage business-functionality-agnostic blockchain engines in market (ex: Hyperledger, Ethereum)
These Blockchain engines provide a horizontal, business-agnostic mechanism to write any application on top of it. While that is good for first few test-and-trials, it quickly becomes problematic when many such applications need to be written for Blockchains.This is compounded by several problems common to many blockchain applications:
- Evolving use cases necessitate organizing code to manage use case changes effectively
- Deliver end-to-end security with other integrated applications
- Include non-Blockchain elements such as enterprise SSO, document storage outside Blockchain etc.
- Different Blockchain applications may use different Blockchain engines
In future, organizations will need to participate in multiple blockchains, but not want to have to go through a separate integration effort of their systems of record for each blockchain. Instead they would like to have a proxy that is integrated with the systems of record that facilitate participation in multiple blockchains
A Blockchain application platform that sits between future Blockchain business applications and the enterprise Blockchain engine is the way forward
CoTrust PlatformSM – HCL’s Blockchain Application Platform
CoTrust PlatformSM is HCL’s Blockchain Application Platform that sits on top of key Enterprise Blockchain Engines, leveraging base capabilities within them.
It offers prewritten services facilitating Blockchain Business Application Development and Management.
Key features include:
- Managed platform: Hosted, ready to use platform for incubating enterprise Blockchain use cases with pre-written services
- Frictionless on-boarding: Automated and easy on-boarding for organizations, people, and devices
- End-to-end security: Protection of sensitive data, to be read only by specified parties
- Structured APIs: Well defined domain-specific APIs to interact with information on Blockchain in a secure manner.
- Rich Insights: Analytics driven intelligent decision making using trusted information from enterprise Blockchain
The CoTrust PlatformSM delivers its capabilities through pre-written Foundation and Enhanced Services. The services come with multiple adapters – allowing creation of configurable applications which can use one / or a combination of Authentication and Authorization models, work with multiple types of Blockchain Engines, and can be used for creating business-focussed applications for several domains. All CoTrust services are available as secure APIs.
CoTrust PlatformSM Services:
- Configuration Service
- Provides extensibility
- Makes other Foundation Services extensible by managing capabilities to: work with different Blockchain Engines, different databases, different authentication sources, different authorization mechanisms etc.
- Identity Service
- Manages Application Authentication to access Blockchain-based applications
- Service is configurable to authenticate user, IT applications and devices from Database, Blockchain Certificate, and Active Directory
- Allows the Blockchain participant associated with a transaction to be identified by a publicly registered identity or a private identity
- Access Service
- Manages Authorization to make API calls
- Configurable to authorize user from Database, Blockchain Certificate
- All authorizations are recorded on the Blockchain
- Entity Service
- Allows generic entities to be managed (CRUD) over Blockchain. Together with Template Service, this helps manage extensible domain-specific data models in blockchain.
- Changes to entity/asset definitions are versioned so that it is clear what version of the data model a transaction followed
- Defines the types of transfers that an asset can be subject to (ownership, custody, lien holder, etc.)
- Entity Collection Service
- Manages Group Entities / Assets
- Template Service
- Provides templatization capability allowing generic Entity / Entity Collection services
- Search Service
- Provides capability to search Entities / Entity Collections and related transaction information
- Notification Service
- Provides subscription-based capability to send notification / alert for all system transactions
- Operations & Management Service
- Cache (configurable) certain parts of Blockchain Application (Blockchain adapter, authentication token etc.)
- Other Blockchain Application operations monitoring capabilities
- Auditing / Compliance Service
- Services to flag transactions not meeting pre-defined checks/ compliance parameters
- Capability to deliver detailed auditing information around Blockchain transactions.
- Document Management Service
- Store and Manage documents securely outside Blockchain
CoTrust PlatformSM for application management: Do you need it?
Consider using the CoTrust PlatformSM if you are:
- In the early stages of incubating Blockchain use cases, striving for accelerated go-to-market
- In the advanced stages of your Blockchain journey, looking to achieve operational manageability and end-to-end security
- Participating in an existing Blockchain application where introducing the CoTrust PlatformSM will enable scalability with minimal integration effort
- Basically, it is advantageous across the entire Blockchain journey
Live scenarios: CoTrust PlatformSM Use Cases
The CoTrust PlatformSM is being used today for Blockchain Applications across industries – examples include: Provenance in Supply Chain, KYC in Financial Services, Royalty Management for Media, Medical Records Management in Healthcare, Settlements Scenarios, and Invoice Discounting.
If you are working on an interesting Blockchain use case, drop us a line at Blockchain@hcl.com to know how the CoTrust PlatformSM can help you.