X

Best Practices from Oracle Development's A‑Team

Blockchain’s impact on operations; what you need to know and how to get started.

Nick Goddard
Director | Cloud Solution Architecture

Blockchain as a topic of conversation has been around for some time, but what is happening when it comes to perceptions, adoption and use cases? Having been involved with Blockchain over the last few years, there are many opinions; some conflicting, many supporting, but the general acceptance that it is here to stay. There is a lot of information out there, but there are still many that are uncertain and unsure when it comes to this perceived specialist topic. For my master’s degree dissertation, I focussed on the adoption of Blockchain and what needs to be in place for a successful uptake across global markets, so I have studied at depth the technology, use-cases and the environments that need or require it. This blog will touch on some of those findings; as the results were drawn from a global audience with across various industries, but I will also try and demystify the topic and, in layman terms provide some practical guidance on where the best use could be, what you need to think about before adopting, what and where Oracle is focussed on in this regard to help our customers get the most out of the solution to support efficiency in operations. It is this last point I would like to re-iterate, efficiency in operations. In a previous blog, I discussed business continuity for PaaS, where I concentrated the topic around cost vs risk, in-line with one’s organisational risk appetite and regulations. Here, again, the cost vs risk discussion together with regulations also emerge, and, from my experience working with CIO’s and CTOs on the adoption of Blockchain, it is these areas that are extremely important when evaluating the benefit of Blockchain to create efficiency in operations.

I will also reference some practical steps in setting up and getting you started. Whether you are a business leader, wanting to know what we at Oracle are doing; after all, we have the best database in the world; we would say that, but we truly believe it! Or, you are a technologist looking for more context with some hands-on examples on how to get started with the Oracle Blockchain, with any luck, I’ll give you what you are looking for. 

So, before I get into the details, let us level set on where Blockchain came from; the philosophy behind it and where the focus is.

The birth of Blockchain stems from the need to create a traceable and permanent record for the emergence of bitcoin; a crypto-currency. This traceable transaction ledger was the heart of bitcoin as the philosophy behind cryptocurrency was the removal of banking and financial institutions; the broker of traditional currency. This decentralisation approach took the power away from banks and put it in the hand of, well, the hard-drives of, ‘nodes’ in the blockchain network. These distributed nodes act as a consortium and the transaction verification requires a consensus approach, removing the dependency on a single entity.

Tokenisation is the term in Blockchain that is used for the exchanged value. This value can symbolise anything. Initially centred on the digital currency, bitcoin, but now this can be expanded to anything; physical or virtual. The data surrounding this is encrypted. Blockchain uses Private and Public keys to log the data in ‘blocks’, with each block being added to a chain. Once the block is added it cannot be removed or altered, thus creating a permanent record of transactions.

The members in the Blockchain network are physically distributed away from each other and a full node participant will have a full copy of the ledger, and when a transaction is performed a consensus is required from the other nodes in the network before the ‘handshake’ can occur.

This method allows for tracking and tracing of transactions that are logged, which cannot be disputed, making such a compelling concept. Bitcoin adopted this ledger approach moving the theory into reality, but now as digital interactions are becoming increasingly ingrained in organisational operations, the Blockchain technology is constantly being explored and evaluated with other use-cases.

The consensus is, yes, it can be used outside of Bitcoin and there are many compelling examples of where and how it can be deployed. We are seeing a lot of interest in Blockchain and there are some substantial use-cases where it can be deployed. If you are looking into where and how you could leverage this, you need to look at where in your business you need to be able to track back and verify something. Talking to CIOs this seems to be the macro-level entry conversation around Blockchain. It serves as a solution should you need to prove/justify or report back on ‘something’ that changes hands throughout the operations process of a business. Another reason for this becoming more compelling is the onset of two dimensions in the global economy. [1] The globalisation of e-commerce with the free movement of goods across borders and [2] the growing presence of Corporate Social Responsibility (CSR).

Having spent over a year researching and analysing Blockchain, it is my working theory that these two discreet areas are some of the strongest catalysts to adopting a technology that enables track and trace of assets; tangible or non-tangible.

To give you some context on where I see Blockchain supporting business operations out-side of cryptocurrency, I have summarised a few of the areas that I appraised. These were: 

  • Supply Chain
  • Taxation and Transfer Pricing
  • Corporate Social Responsibility

There are many other potentials uses for this technology, but for standard inter-company operations, these 3 areas were reviewed for feasibility towards Blockchain helping and aiding a traceability solution.

Supply Chain is a wildly recognised area where Blockchain can add value. Its applicability is the most understood and known in both IT and operational circles and is an area that Oracle is focusing Chaincode and Application User Interface design, through our Supply Chain solution. There is an accepted position that Blockchain could create trust and transparency between two parties in the supply chain creating efficiencies, removing intermediary process for verification of contract term fulfilment, price management and cross border taxation management.

Taxation and Transfer Pricing.
Trade between organisations who operate across-borders, Blockchain could support operations to allow for the appropriate taxation tracking when using a transactional profit split method; ascertaining the combined profits made by two or more businesses that operate together and gain a profit which needs to be split. 
Blockchain’s ability to underpin the transaction by tracking each aspect of the fiscal-chain of events, may be able to help and support accounting practices in tracking and recognising where the correct taxation is need to be applied. 

Corporate Social Responsibility (CSR).
Consumers are becoming morally focussed and a link is forming between consumer spending and an organisation's Ethical position. Research suggest those that become sensitive to the ethical conditions surrounding the production of goods, gain prominence with consumers as noted in the Moral Foundation Theory (MFT). This centres on the five psychological aspects of morality. 
•    No harm to others. 
•    Fairness to all. 
•    Loyalty. 
•    Authority. 
•    Purity.

In global markets where consumers have more choice, businesses work hard to create unique differentiation that leverage business ethics in their strategy to build consumer trust 


CSR and ethical shopping are becoming more present at the heart of business-consumer marketing strategies, as they create a competitive advantage in their markets that connect to customers moral values; and the statements are backed up with detailed research.

So here we are now talking about ethics in consumer purchasing and you wanted to know about Blockchain and what Oracle is doing. Well, this is just my point, technology enables you to deliver a corporate strategy; so, before looking into the newest and coolest tech, we always start with the business. Anyone that knows me, knows my approach is business first and how can we de-risk the strategy and investments we make in any technology spend.

If you have been doing your research you may well have seen the Blockchain hype cobbled together in some sort. For all the supporters, there is your fair share of detractors. And I would say, quite right too!

The reason there is a lot of negative press around Blockchain as it was heralded as the game-changing solution in the world of tech. Many people made many predictions way too quickly for some and with this distributed press coverage on Blockchain, some took exception and muddied the waters. From the work that we at Oracle are doing, we always look at business first, what problem needs solving and then mapping the technology second. We are starting at the business, doing our homework in macroeconomic shifts. The work I did personally in the market dynamics of Blockchain adoption centred on the term used in economics ‘the barrier to enter’. In the research, several barriers were preventing mainstream adoption, but I want to focus on the technical ones here. For your reference, the non-technical barriers were people’s comfort/decision making when it comes to emerging technology and understanding where a technology solution can fit in a business environment. This can simply be categorised as ‘knowledge and awareness’.

Back to technology. The biggest barrier was lack of front-end application UI to connect to Blockchain. For an end-to-end solution, you need the Blockchain ledger, a Chaincode and a user application with an easy-to-use user interface. Part of the stagnant take-up was the additional cost of building out the application/UI and Chaincode; hiring people in, if skills didn’t exist. It was just plain hard for some people.

So what is Oracle doing about this ‘hard part’. Well, we have been working with businesses, listening to them and they want applications too!

People don’t want technology for technology sake, they want solutions to problems. Technology is that enabler to create efficiency in operation. This may be me being obvious, but I have to be blunt.

I recall a conversation at a user forum where I was presenting and a delegate said to me, help me understand how I can use this technology. The conversation flowed and I repeated what I wrote above, let’s start with the business.

So, let’s now turn to get started and creating a Blockchain instance and seeing what you can do with Oracle’s Blockchain offering.

First, you need an account. We offer a free 30-day trial and this is the quickest way of getting your hands on our technology.

Go to:https://www.oracle.com/uk/cloud/free/#free-cloud-trial

  1. Create an account, adding the relevant details.
  2. You will be asked for a credit card. No money is taken, it is a holding transaction should after the 30days, you start to consume services.
  3. Click Finish.
  4. Accept the terms and conditions and complete the sign-up process.

What happens after the free trial? Oracle offers a Free-Tier service, which will give you use of certain services for free, during the life of the account. To know more about what you get please see here:  https://www.oracle.com/cloud/free/

What provisioning shape to use?

Oracle offers you 3 options. These are:

  • Developer
  • Enterprise-X1
  • Enterprise-X4

If you are getting started and looking to learn and develop, well you guessed it, the developer option is for you. X1 and X4 Enterprise are for production, with X4 being for a large enterprise. It has more features and is sized for scale and performance suitable for a track and trace solution on a large scale.

Next, when you go to create a platform instance you have 2 options, create a new network where future participants can join, or create a participant one where you can join an existing network.

The Oracle PSM Service Manager also provides a CLI to create an instance using the REST.API

curl -X POST \

-u <username>:<password> \

https://<PSM_endpoint>/paas/api/v1.1/instancemgmt/<Your_Identity_Domain>/services/OABCSINST/instances

-H "Content-Type: application/vnd.com.oracle.oracloud.provisioning.Service+json" \

-H "X-ID-TENANT-NAME: <Your_Identity_Domain>" \

-d "@service_payload.json" \

The service_payload.json file will be in the format of:

{

"serviceName": "your_service_name",

"appSize":"developer",

"serviceLevel": "PAAS",

"region":"your_region"

"organizationType": "true",

"numberOfPeersDev": "8",

"managedSystemType": "oracle",

"enableNotification":"true",

"notificationEmail":"your_email_address"

}

Once you have created the instance you will receive an email once completed.

When you have received notification that your login has been created, navigate to your Blockchain console, signing in with your administrator credentials.

 

Ok, now you have created your Blockchain network, you will want to use it. If this is your first time, here is a basic overview of the ‘program’ that runs on top of the Blockchain network. We covered the basic of the Blockchain platform is the ledger previously, which is a distributed tamper-resistant database, an indelible record of events, or records as they are commonly referred to. The program that runs on-top is known as the ‘chaincode’. The chaincode that implements the business logic of the way that the program interacts with the ledger. In essence, think of the chaincode as the smart-contract that applies the logic to achieve the proposed/desired outcome by verifying the result can happen. In the initial use case of Bitcoin, if one wanted to sell some Bitcoin, the chaincode would verify that the seller does have it to sell.

A record created by a chaincode is aligned solely to that chaincode and it cannot be read/edited by any other chaincode.

At Oracle, we appreciate that not everyone can write a chaincode out of the box. So, to address this, we provide several sample chaincode’s to get you going. If you want to write your own logic, you’ll need to code either in Java, node.js or Go. This blog won’t go into custom chaincode development.

More information can be found here: https://docs.oracle.com/en/cloud/paas/blockchain-cloud/user/write-chaincode.html#GUID-64153568-41D2-40E6-9F66-EF384AFEC8E9

Installing a sample chaincode.

From the Dashboard, select ‘Developer Tools’

You will notice there is a detail Chaincode development section, with information on how to get started, but to explore the samples click samples.

Select a sample chaincode and then click install. For this blog and the screenshots that follow, I used the “Car Dealer” sample chaincode.

Choose your peers, selecting peer0 and peer1 and then choose your preferred language, then click install.

Once installed you will need to Instantiate the Chaincode. In the Instantiate area, you will need to select the channel, for this, choose ‘default’ and then select the REST proxy to enable the Chaincode. Once you have selected your values, click ‘Instantiate and Enable in REST Proxy’

Click on Invoke, fill out the details as per the required format, click execute.

For this test I used the following information:

“Produce Vehicle part” (to initiate the creation of car part that will transfer throughout the supply chain)

“Serial Number”: “ng123”

“Assembler”: “assembl123name”

“Name”: “percadler” (vehicle part name)

Owner: ng0123

Navigate to Channels, choose your Channel, click Ledger, then locate your Block id and click on it.

Once you are on your block id, under TxID (Transaction ID), click the arrow to reveal the details of the transaction, verifying the transaction table has “Success”.

 

Now we have created the vehicle part and logged it in the Blockchain with its Transaction ID, lets now transfer the part to another user.

To transfer the Vehicle Part, go back to Developer Tools, click Samples and within the car dealer sample, click Invoke.

To verify that the Vehicle part has been transferred, go back to Channels and navigate to Ledger, by selecting the Channel name.

In the screenshot, you will now see a preceding block number in the ledger summary, #6. In my example below, there is an additional block, #5 as I verified the transaction shortly after creation.

Again, by clicking on the latest block you will reveal the TxID, which is different from the TxID on creation; with date and status showing the Vehicle Part was successfully transferred to obcs-user from ng0123.

Returning to the Dashboard, you will see the number of Blocks and User transactions with an overview/status of the creation, verification and transfer of the vehicle part.

---

In this blog, I highlighted the background and the business drivers on what Oracle is doing with Blockchain and how to get started with the technology. I showed how to create an instance using a default sample chaincode to demonstrate the sequential logging of transactions.

For organisations to adopt this as part of their operations, you will require developing front end applications to interface with the Blockchain network. These applications will need to Interface with the chaincode; the logic that you would like to deploy. For this, there are two ways. 1, to use the Blockchain REST API or, 2, the native Hyperledger SDK to work with.

Oracle is building out great applications to complement Blockchain, should you not have the skills to build them yourself. For your convenience, I have listed the go-to pages for you here for some case studies.

Application solutions

https://www.oracle.com/uk/applications/blockchain/

Case studies:

https://blogs.oracle.com/blockchain/the-next-generation-of-electric-cars-verified-by-blockchain

 

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha