Since bitcoin has been introduced, there were high expectations of blockchain, the technology behind bitcoin. Blockchain has special characteristics that differentiate this new technology from current technologies. This article will help you to understand blockchain technology and how it can be used to simplify data communication between companies.
Blockchain is not Bitcoin
The term blockchain is currently one of the hottest buzzwords in IT. Blockchain was introduced to a wide audience in December 2017, when the price of the cryptocurrency bitcoin spiked above $ 19.000 and everyone knew someone who had invested in cryptocurrency. This abrupt price appreciation fueled the blockchain hype. However, blockchain is just a protocol, and cryptocurrencies like bitcoin are the first type of applications built on this protocol. You can compare this with the internet, where TCP/IP is the network protocol which made applications like email and websites possible. The blockchain protocol, like TCP/IP, can be used to develop all sorts of applications.
With every new technological innovation, one important question arises: how can this new technology be of any practical use? There are many use cases that explore the unique characteristics of the blockchain protocol. Most of these use cases sound promising. However, only a tiny percentage will move to production, because they do not deliver the expected value. This article focuses on the database capabilities of blockchain technology and the benefits for companies.
Blockchain is a new type of database
In essence, the blockchain protocol allows nodes to share data on a distributed database, without the need for a central intermediary. In technical terms this is referred to as distributed ledger technology. This is fundamentally different from any other database, where one central party is in full control over the database and the other participants need to trust that one party. While early blockchain databases were used in a public manner, permissioned blockchain databases enable users to control who can participate in the network. These forms of databases are of particular interest to companies, since they can control access to the network. See for further explanation on blockchain concepts, the previous articles in Compact [Spenk17] and [Hough16].
Because the use case in this article is tailored to a corporate application of blockchain, a permissioned form of blockchain will be used. In this article, it will be referred to as a ‘shared blockchain database’.
Figure 1. Central database versus shared blockchain database. [Click on the image for a larger image]
Figure 1 shows the differences between a trusted intermediary running a central database versus a shared blockchain database where the trusted intermediary controlling the database has been removed. In case of the trusted intermediary with a central database, the ownership of the database is controlled by one single entity. With a shared blockchain database, every party in the network could run a node which holds a copy of the database. Since no one has full control of the database, trust is balanced. The network is operated and controlled by all participants in the network, for which a shared governance model needs to be established. This allows the participating companies to operate the database.
Since the invention of databases, there have been many innovations regarding the types and capabilities of databases. Database innovations always created a foundation for new systems and applications that solve existing operational problems in a more efficient way. Shared blockchain databases have different characteristics compared to traditional databases. These unique characteristics enable companies to solve problems in a more efficient way. The following characteristics of the shared blockchain database distinguish this type of database from a traditional database.
Databases using a trusted intermediary work perfectly, consequently, other parties in the network have less control over the database. Shared blockchain databases remove the necessity for a trusted intermediary and replace it with an automated consensus mechanism. The consensus mechanism ensures that data is stored correctly following the shared blockchain database rules. This removes the necessity for a trusted intermediary and gives the network participants equal control over the database. Once consensus is established on the network, all nodes have the exact same copy of the database. Therefore, the data stored with all nodes are perfectly synchronized and everyone in the network has the same version of the truth.
2. Immutability of data
Network nodes will, in turn, collect transactions into blocks. The node collecting the transactions will link the blocks to the previous block using cryptographic methods. The new block will then be distributed over the network. Consensus is achieved by verifying the new block, and all nodes have the exact same copy of the chain. Due to the linking of the blocks, it is impossible to change a historic record in the database without all participants immediately getting notified. When one node changes a record in the database, consensus cannot be achieved and the change is rejected.
For example, if a historic record is amended by the trusted intermediary in the traditional central database, the other parties will not notice that this change in the database has occurred. When a party wants to identify changed records in a central database, their only option is to reconcile the central database with their own backup version of that database. With a shared blockchain database, all nodes in the network have a copy of the database. If one party decides to change historic records in the shared blockchain database, the other nodes will notice and reject these changes. Therefore, a shared blockchain database is immutable, since it does not allow historic records to be changed.
These properties of the shared blockchain database allow for use cases to be developed that are not possible using a traditional database. Particularly in situations where companies, who do not fully trust each other, want to use a shared database without one party owning the database.
Shared blockchain databases by definition reconcile data between nodes and ensure the immutability of data. Therefore, a logical application of a shared blockchain database is an interface between systems for transferring data. However, this could also be achieved using a traditional database with a trusted intermediary, which usually works fine. So, when to use a shared blockchain database? The consideration to use a shared blockchain database in a solution depends on two things. There needs to be a desire to have both decentralization and immutability of data in one database. If either one of these requirements is not desired, a shared blockchain database is not a logical choice.
Fundamental to shared blockchain database technology is that it establishes one version of the truth between nodes in the network. One version of the truth is established between two or more companies, because every node in the network has a copy of the total database. This is fundamentally different from the current way of exchanging data between systems, in which every company has its own data silo between which data is being shared.
Figure 2. Data sharing using a traditional database. [Click on the image for a larger image]
When using traditional methods for sharing data between systems, companies need interfaces between their systems. These interfaces exchange data between systems, with the disadvantage that the data is still stored in multiple databases. The data is stored in the databases of both companies, which are not reconciled. This could lead to both companies having a different version of the truth.
In the example of Figure 2, a factory wants to order some goods from their supplier. This process is set in motion when a purchase order is sent from the factory to the supplier. The purchase order is entered into the system of the factory by their purchasing department. A sales process is triggered in the sales department of the supplier where the order is entered into their system as a sales order. If either company makes a process error, different versions of the truth are stored in the databases of both companies. Fundamental to this problem is that different transactional data is stored in the database of the purchasing company and the selling company. When delivering the goods ordered, the receiving company finds out that a process error has been made, because a different quantity has been delivered. To solve the process error, both parties need to investigate where the incorrect entry has been made. The process of correcting these process errors is time consuming, and could have been prevented with the use of a shared blockchain database.
Figure 3. Data sharing using a shared blockchain database. [Click on the image for a larger image]
Figure 3 shows an overview of the same situation where systems share data via a shared blockchain database. In this example, companies still have their own database, containing valuable company data, safely stored on-premise. However, data that needs to be shared between these companies is now being stored in a shared blockchain database. The shared blockchain database works as an interface layer between the two systems, and ensures perfect reconsolidation and immutability of data. These companies now support their data-sharing process with a shared blockchain database that establishes one version of the truth.
SAP is focusing intensively on developing blockchain solutions on the SAP Cloud Platform under the brand name SAP Leonardo. SAP Leonardo allows companies to make a connection with blockchains based on virtual tables and the SAP Cloud Platform. SAP HANA Integration Service allows companies to easily connect on-premise databases with the SAP Cloud Platform. The cloud platform could then be used to connect the system with a blockchain. Currently, SAP offers integration with MultiChain and Hyperledger fabric blockchain protocols. Figure 4 is an example of how to use the SAP Cloud Platform to connect an SAP system to the blockchain.
Figure 4. Integrating blockchain with SAP system using SAP Cloud Platform. [Click on the image for a larger image]
SAP Cloud Platform in combination with SAP Leonardo makes it easy to set up and use shared blockchain database technology with your current SAP system. It is not necessary for all parties to be on the SAP systems. Nodes hosted on the SAP Could Platform could be connected via the blockchain to nodes hosted on every other cloud platform. Since this process runs entirely on the background, there is limited impact on the user. Business users in a shared blockchain database setup enter transactions the same way as without a shared blockchain database.
Shared blockchain database as the technology in your solution is a good consideration when there is a need for data sharing between systems. However, this is not a technology that magically improves every business process. Therefore, many shared blockchain database Proof of Concepts (POC) were not brought to production, because the results did not meet the expectations. The issue of most POCs is that the problem could have been solved better using a traditional database. Therefore, it is recommended to carefully check if a shared blockchain database is the logical technical choice for the solution, before starting a POC. As discussed, shared blockchain databases have important benefits over a traditional database. If there is no need in your use case for these requirements, a traditional database is likely to perform better.
- There is a need for disintermediation among all parties involved. Companies desire one version of the truth, without any intermediary or single company controlling this.
- There needs to be a desire to have a single version of the truth.
- Immutability of data is desired, once the data is stored in the database, historic records could not be modified.
This checklist helps to identify if a shared blockchain database is the right technology for a particular use case. If these statements are answered with yes, then a shared blockchain database could be the right technological choice. However, shared blockchain databases are not always more efficient or cheaper in solving the problem. Therefore, when solving a business problem with a shared blockchain database, the option of using a traditional database should always be considered.
Shared blockchain databases will optimize a variety of solutions and can be implemented using the SAP Cloud Platform. The most important step, before implementing a shared blockchain database, is to identify if a shared blockchain database is the correct technical choice. The next step is to set up an implementation project, including all stakeholders who will use the shared blockchain database. Using the KPMG implementation toolkit, we can deliver the benefits of a shared blockchain database to your organization.
Figure 5. Implementation method. [Click on the image for a larger image]
We foresee that shared blockchain databases will be the standard interface between systems where multiple companies want to establish one version of the truth of transactional data without any intermediary. Business cases for the use of a shared blockchain database consist of universal data sharing, reduction of repetitive tasks, contract automation and process optimization. When this technology gets a wider adoption, more participants will join shared blockchain database networks. As the participation grows, the data stored in these networks will generate powerful insights for all companies in the shared blockchain database network. In Figure 6, you will find an overview of all benefits shared blockchain databases could deliver when they grow into large networks between companies. The green blocks show benefits that will be accomplished when using a shared blockchain database between two parties. The blue blocks show the benefits that will be available when more complex use cases are built on the shared blockchain database.
Figure 6. Value drivers. [Click on the image for a larger image]
Figure 7 shows how a shared blockchain database is used as the interface when exchanging transactional data between two companies. In this situation purchasing/sales data is exchanged between two companies. Implementing a shared blockchain database in this process enables the following efficiencies to the business processes.
Figure 7. How to use a shared blockchain database supporting business processes. [Click on the image for a larger image]
Repetitive task reduction
Currently, different solutions are implemented to reduce repetitive tasks in Purchase-to-Pay and Order-to-Cash processes. These automation solutions aim to replace repetitive human tasks with automated computer processes. One option would be to use data from the shared blockchain database, since this is already implemented to establish one version of the truth. For example, data of a purchase order sent by a purchasing company via a shared blockchain database will be automatically received in the system of the selling company as a sales order. Therefore, the same data does not need to be entered into the system by an employee of the receiving company. The same optimization of double entry automation accounts for all process steps where data is being transferred via a shared blockchain database. This will save both parties time and effort in system entries and prevents entry errors.
Contractual business rules
Contract terms agreed between two or more parties can be stored as business rules in smart contracts on a shared blockchain database. These business rules need to be complied with when using the database. These smart contracts can automatically trigger processes, and monitor agreed contract agreements regarding the buying and selling of goods and services. A practical example where smart contracts can help solve business issues is in rebate agreements. In most companies, it is hard to correctly calculate the rebate. This is due to different systems having different timestamps. The problem arises when a purchase order is entered in system 1 on Monday and the corresponding sales order is entered in system 2 one day later. These differences in timestamp between these systems lead to a discussion on the quantities sold in a particular period. A shared blockchain database with one version of the truth solves this issue, since there is only one timestamp for the quantities sold.
Establishing a shared blockchain database between two or more companies gives companies the possibility to use these benefits in their processes.
In situations where communication of data is required between multiple parties who do not fully trust each other, shared blockchain databases can be a better solution than current technologies. Implementing a shared blockchain database in your procurement or sales process delivers multiple process benefits within one solution. KPMG has a simple methodology of implementing shared blockchain database technology in your business processes. We think shared blockchain database technology will be a market standard technology, which will revolutionize communication between companies, and later the supply chain.
[Gree15] Gideon Greenspan, Avoiding the pointless blockchain project, Multichain.org, https://www.multichain.com/blog/2015/11/avoiding-pointless-blockchain-project/, 2015.
[Hough16] G. Hough & H. Spenkelink, Blockchain. From hype to realistic expectations, Compact 2016/4, https://www.compact.nl/articles/blockchain/, 2016.
[Naka08] Satoshi Nakamoto, Bitcoin: a peer-to-peer electronic cash system, Bitcoin.org, https://bitcoin.org/bitcoin.pdf, 2008.
[Schu18] Andreas Schuster, SAP HANA Blockchain – A technical introduction, SAPHANA.com, https://blogs.saphana.com/2018/06/13/sap-hana-blockchain-technical-introduction/, 2018.
[Spenk17] H. Spenkelink, Blockchain: with great power comes great responsibility, Compact 2017/4, https://www.compact.nl/articles/blockchain-with-great-power-comes-great-responsibility/, 2017.