Preface – This post is part of the Blockchain on SAP Cloud Platform series.
Table of Contents
Smart contracts brought a new vision to improve for existing enterprise systems. These enterprises have multiple ledgers/data base with replicated data that is based upon duplicated business logics. The only problem with the smart contracts that was stopping their use in banking sectors were their data privacy. In July 2015, J.P. Morgan Chase & Co., an American multinational investment bank introduced an enterprise-ready distributed ledger and smart contract platform known as Quorum which processes private transactions within a permissioned group of known participants. In this article we will do implement Quorum on SAP Cloud Platform.
In another article, we have discussed “Hyperledger Fabric on SAP Cloud Platform”. This article is similar to it. Here we will explore Quorum and discuss how SAP has integrated it in to its SAP Cloud Platform. Before we start with Quorum platform, it is recommended to read What is Blockchain?
What is Quorum
Quorum is a blockchain platform built upon Ethereum. It is a private/permissioned blockchain network. To achieve data privacy, Quorum utilizes cryptography and segmentation.
As per Quorum whitepaper, A Quorum transaction contains the following:
- The recipient: the one sending the money
- Signature identifying the sender: to authenticate the sender
- An amount of ether (although having an ether balance is not required within Quorum): This is the amount that gets transferred
- An optional list of parties that the transaction should be private to: If the transaction is among multiple parties
- An optional data field (containing hash in the case of private transaction): This makes the transaction private and secure
Consensus in Quorum
According to oxford dictionary, the meaning of consensus is “A general agreement”. A consensus in a Blockchain is a mechanism of validating a transaction based on general agreement i.e. an agreement of more than 51% voters in Quorum.
In Quorum, consensus has been termed as Quorum Chain Consensus. Quorum Chain Consensus utilizes voting-based consensus mechanism.
For example, Gargi sends $100 worth of Ether to Rudra, Gargi will lose 100$ worth of Ether from her wallet, and Rudra will gain 100$ worth of Ether in his wallet. It needs to be validated or verified that if Gargi had 100$ worth Ether in her wallet or not. This can be validated by the voters in the Quorum Blockchain and if more that 51% voters agreed upon this transaction, then only the transaction will be validated.
Implementation of Quorum using SAP Cloud Platform
In the above diagram, it has been shown “how SAP Cloud Platform communicates with a Quorum Node”. To explore more about Quorum Architecture please refer here.
Setup of Quorum on Cloud Platform
To implement Quorum on SAP Cloud Platform, we need to setup our trial Global Account on SAP Cloud Platform and create a Quorum enabled sub-account. Then only we can proceed with the implementation.
Follow the following steps to enable Quorum on your SAP Cloud Platform:
Step 01: Go to your SAP cloud platform Cockpit and if you don’t have trial account, go here and click Free Trial and then select region as Europe (Rot) – US East(VA).
Step 02: Create a sub account there by giving your desired display name and subdomain name.
Step 03: Click Entitlements button from the left menu bar and it will display the list of entitlements.
Step 04: Inside Entitlements menu we can see Edit button. Click it to change the mode to editable. Scroll down to Quorum as shown below:
Add dev and channel nodes by clicking addition button icon ‘+’.
Step 05: Click your sub account to open it, as shown below. Click Spaces and create a new space to that space. Also give all the authorization as shown below:
Step 06: Click on the newly space created. Select Service Marketplace and scroll down to Quorum. Click to open it as shown below:
Once the initial setup of Quorum is achieved. Then you can create your own nodes and instances by following Hands on Exercise to create your own SAP Quorum service.