What is the blockchain cloud service?
As previously mentioned, Oracle announced their answer to the objectives stated in the preceding strategy at Oracle Open World in the fall of 2017, namely, the ABCS. ABCS is a distributed ledger cloud platform that is preassembled and aims to be production-ready, highly secure, cost effective, and scalable. It is designed to be developer friendly, can integrate with existing enterprise applications, and interact with other blockchain networks.
With ABCS, you can create a trusted network for the exchange of B2B transactions and extend your operations beyond your business enterprise. Because of real-time information visibility across your company's ecosystem, ABCS allows you to optimize your business decisions. Due to the use of a trusted shared ledger of information, it eliminates the cumbersome offline reconciliations and accelerates transactions between participants in your network.
The underlying peer-to-peer network eliminates intermediaries and their related costs, the possible single points of failure (for example, what happens when the intermediary goes down?), and delays before a transaction is delivered to a receiving participant. ABCS provides you with the security of knowing that business-critical records are tamperproof via the mechanism of securely replicated, cryptographically-linked blocks that protect against single points of failure and insider tampering. The following diagram shows the components of the Oracle Autonomous Blockchain Cloud Service:
In short, the Oracle Autonomous Blockchain Cloud Service is a PaaS that offers a distributed ledger platform running in the cloud (and on-premises in the future), and consists of a (preassembled) network of validating nodes (or peers) that validate and update the ledger upon receiving transactions and responds to queries on the data by executing smart contracts; that is, code representing the business logic that runs on the blockchain. The number of validating nodes can be chosen by the user when setting up the network. External applications can interact with the blockchain by invoking transactions or run queries through client SDKs and REST API calls, which prompts the selected (validator) peers to run the corresponding smart contracts.
The validating nodes digitally sign the results, which are then verified by each other and sent to the ordering service. After consensus is reached on the order of transactions using PBFT voting, the transaction results are grouped into a tamperproof data block by cryptographically securing the contents. These data blocks are sent to all peer nodes in the network to be validated and appended to the ledger. Besides peers and selected validator peers, every business network has administrators for all participating partners. Service administrators can use the web console of the ABCS to configure the blockchain network (including nodes and other participants), deploy and initiate smart contacts, publish REST API access to external applications, and monitor its operations.
What differentiates the Oracle Autonomous Blockchain Cloud Service from other platforms is that it does not require any assembly to build a trusted network. It comes with a set of infrastructure and embedded resources, such as compute (virtual machine), containers (docker), storage, identity management, and event streaming, so that you can quickly set up and run your production-ready blockchain. The following diagram shows the assigned resources used for each of the blockchain components:
You can easily create your own instance of the cloud service by submitting a simple setup form and specifying a few parameters. After submitting the provisioning form (shown as follows), Oracle provisions the underlying infrastructure with the required blockchain network components (including membership, peer nodes, and ordering service), REST proxy, and an administration console. It is also possible to add partners easily in a geographic location. A partner can provision their own service instance in the Oracle Public or Private Cloud using the administration console and complete the certificate exchange (export/import process) to gain access. It is also possible to build hybrid networks and join partners already running Hyperledger Fabric outside the Oracle cloud by importing the organization's certificate into your ABCS instance (network founder).
Since the platform is built on top of Hyperledger Fabric, it lets you automate business logic by creating smart contracts. Smart contracts, also called chaincode, can be created to check conditions such as matching purchase orders, invoices, and shipping information prior to triggering payment, and updating the ledger. It also has support for event notification, a capability to publish custom events from smart contracts that trigger notifications for client SDKs, which enables applications to execute actions based on the payload of an event. With ABCS, you can define an endorsement policy when deploying a smart contract in which you can specify how many peers must endorse the result, and you can even define specific organizations' whose endorsements are required.
Another differentiator to justify using ABCS over its competitors is the integration of blockchain transactions in applications and especially in Oracle's own product portfolio. You can simply integrate existing application by invoking the available REST APIs to run transactions or queries synchronously and receive an immediate response. Using the REST API or the SDK, you can extend SaaS applications to use Oracle BCS through PaaS-for-SaaS, or build new applications in Oracle Java, Application Container, Mobile, Application Builder, Integration, or SOA Cloud Services. Oracle also offers out-of-the-box support for the ABCS through their Oracle Digital Innovation Platform for open banking and Netsuite Cloud Platform.
The final BCS differentiator as compared to running Hyperledger Fabric on your own datacenter is the ability to administer and monitor your blockchain using just a web browser. With the administration console provided, you can view the status of your network directly from the dashboard, or, by selecting among various tabs, you can navigate to view and manage the components of the blockchain (nodes, channels, and chaincodes). The following screenshot shows the operational dashboard of a Blockchain Cloud Service Instance:
You can dynamically change the configuration and easily manage your network, its peers, orders, and membership services on the fly. You can configure private channels and set permissions policies. Using the dashboard, you can monitor all network components and view channel, ledger metrics, and node logs for troubleshooting. When hosting your own Hyperledger Fabric network or node, you have to use the REST APIs or command-line tools to monitor and configure your network. In the case of ABCS, the administration console is the abstraction layer on top of these APIs since the core blockchain functionality uses Hyperledger Fabric.