Blockchain is making a lot of ground lately. Earlier, companies struggled with adopting the technology because implementation was complex. However, solutions like the one I will speak about below provide a ‘bridge’ or an easier way to adopt Blockchain.
This blog post provides information of a component that enables a business system to use blockchain technology with little effort.
Typically, teams start on blockchain-related projects by first learning about the technology and how it helps solve a business problem. From there, they usually consider the implementation details and from our experience they struggle. It’s at this stage that the Business Blockchain Bridge can be used to help teams adopt the technology easier.
The Business Blockchain Bridge, which from here on, we refer to it as B3, is a service component that bridges the gap between a business application with the blockchain technology, saving a project lots of effort in implementing the solution. Through B3, a business application can interact with a chosen blockchain network for most of the operations typically needed. Below is the diagram where B3 sits in a business solution:
Overall Solution Architecture
B3 sits in between a business system and a blockchain network, enabling a business system to interact with another business system via a blockchain network:
Key Features of B3
- API – Based
B3 exposes APIs for business applications. These APIs are designed to enable a business application to interact with the blockchain network for business purposes. Project teams no longer need to spend the effort writing code against the blockchain network.
- Handles Transactions, Messaging Records, Token Transfers
B3 enables a business system to exchange transactions, messages and virtual asset transfers via a blockchain network.
- Flexible Data Model
B3 has a flexible, JSON-based data model for business applications. Under a generic data model and with a few fixed data elements, each business application can decide its own way of structuring its own data model and data elements. B3 does not constrain what data model each business application uses.
- Configurable Private/Public Routing
B2B or B2C interactions quite often require one-to-one or consortium-wide privacy. B3 enables this type of privacy via message routing configurations and makes sure that the information is only available to the designated party (parties).
- Supports Quorum, Multichain, Hyperledger Fabric
At the time of this blog post, B3 supports Quorum, Multichain and Hyperledger Fabric. If other blockchain protocol is to be used, all it takes is to create the protocol-specific adaptor and plug it into B3.
- Extensible/customizable Smart Contracts
Smart Contracts offered by B3 are extendable if required by a project.
Business Concepts in B3
Let’s have a look at some key concepts and terms to get you familiar with B3:
A “State” is a shared, traceable, referenceable and possibly updateable data object.
A bank account
A business transaction, such as a Purchase Order , a Request for Service
An insurance policy that an insurance company shares with contractors and banks
A Product Catalogue
A certificate, such as a diploma, proof of residence, etc.
An “application” that is sent for approvals
B3 enables businesses to exchange transactions using State objects. All transaction history is maintained on the blockchain network in a way that is immutable and verifiable.
A “Message” is a piece of information/notification that is sent from one party to another, or an event that had happened. Not updatable.
A “Message” can be just a message that is sent from one party to another (or others), or it can be associated with a “State” object. For example, two parties can have messages back-and-forth related to a specific Agreement which is represented as a State object on the blockchain network.
An “Asset” represents something of quantity and possibly of value that is fully/partially transferrable from one org to another.
- Goods changing hands from one to another
- Ownership of a full/partial thing, such as a vacation home, a pet, a company, a coal mine, a vehicle, etc.
- Contributions from suppliers to collectors
B3 enables business to define, create, transfer and consume tokens that represent real-world assets.
With B3, receivers can decide to automatically receive tokens transferred to them or to review and manually receive tokens transferred to them.
B3 keeps the logs of an asset on the blockchain. A business system can view all the activities about its “Assets”.
B3 enables businesses to collaborate with each other using these types of objects.
Data and Transmission Security
While B3 makes sure that private data can only be consumed by the targeted party or parties, B3 allows business systems to encrypt data even before sending to the designated party or parties. B3 does not log transaction data or store the transaction data anywhere else except for the configured blockchain node. Data transmission is conducted by the provided blockchain network.
APIs exposed by B3 are secured via SSL OAuth 2.0.
B3 runs on SAP BTP as a configurable service with a simple deployment model and little dependency on other services.
While typically an organization would have its own environment and blockchain node, there are possible cases that require multiple organizations share one blockchain node and even one SAP BTP Global Account. B3 supports such cases by providing each tenant a different client and “PassPhrase”.
Co-innovation Project for B3
Several co-innovation projects have been completed using B3 and has proven that B3 fits the business needs well and greatly reduced the cost and timeline.
Our team welcomes more co-innovation projects as we are growing B3 into a standard offering. Meanwhile, B3 is continually being enhanced to fit broader needs of our customers.