SAP HANA Blockchain – A technical introduction
There is likely no other topic in the IT Industry that generates as much controversy these days as blockchain. Some believe blockchain to be the biggest revolution since the dawn of the internet. Others see it as an overhyped waste of resources with no practical applications. Certain is: Everybody seems to be talking about it.
In an ecosystem dominated by startups, one huge challenge that remains is how blockchain can be integrated into enterprise applications. Last week at SAPPHIRE in Orlando, SAP officially launched SAP Cloud Platform blockchain. SCP blockchain enables customers and partners to build and extend applications with blockchain technology. As such, it is the basis for adding distributed ledger technology to SAP solutions. Unique, however, is the integration of SCP blockchain service with SAP Leonardo, allowing the combination of blockchain with other straight-edge technologies like the Internet of Things.
A great addition to this is SAP HANA Blockchain, which connects any SAP HANA database to the most popular enterprise blockchain platforms. This provides very interesting capabilities that were previously unheard of in the blockchain ecosystem. This blog is the first in a series of blogs on SAP HANA Blockchain. It introduces the technical concept and the different components, as well as the upcoming beta program.
I highly recommend to also check out Daniel Schneiss – Global Head of HANA Development – blog on how SAP HANA Blockchain brings business and blockchain data together.
What is blockchain?
If this blog is not the first thing you’re reading about blockchain, you might have heard this phrase before: “Blockchain is not Bitcoin”. If you haven’t heard it before, well, you have now.
Blockchain is a technological concept, while Bitcoin is an implementation of that concept. A distributed ledger, formed across a peer-to-peer network of independently controlled nodes. Every participant on this network has a copy of and instant access to all data and – at least in public blockchains – is equal to all other participants. There is no central authority that approves or declines transactions, but consensus about the “one truth” is achieved algorithmically. Once a transaction has been stored on the blockchain and consensus is achieved, it is secured cryptographically, which makes it inherently impossible to tamper with (or at least very, very, very hard).
These characteristics open a wide range of applications and there have been numerous publications. I won’t reiterate on that topic, but rather recommend a couple of resources to get an overview.
- Enterprise Blockchains and the Data Integration Challenge
- The blockchain voyage – from the Bitcoin network to Blockchain-as-a-Service
- Business Opportunities and Caveats of Blockchains – Part 1
- Business Opportunities and Caveats of Blockchains – Part 2
From a technical point of view, a blockchain is basically a linked list of blocks, with each block containing a number of transactions. Each block contains a hash of the previous block – a cryptographic fingerprint that uniquely identifies a block and all its content. If only one bit of the block changes – for example by tampering with a transaction – the hash value changes as well, which effectively breaks the chain and invalidates all subsequent blocks and transactions. This makes blockchain almost impossible to tamper with. In case of Bitcoin, for example, establishing an alternative transaction history requires control of at least 50% of the computational resources of the network. With a power consumption rivaling countries like Ireland, this can be considered practically impossible.
SAP HANA – yet another Blockchain platform?
Neither SAP Cloud Platform Blockchain nor SAP HANA are a blockchain platform like Bitcoin, Ethereum or Hyperledger fabric. Blockchain is a concept based on collaboration and interoperability. SAPs strategy is not to establish yet another platform and create an SAP-centric blockchain ecosystem, but to integrate into existing enterprise blockchain platforms. SCP Blockchain currently supports Hyperledger fabric (SAP being a premier member of the Linux Foundations Hyperledger project) and MultiChain. With its modular approach, other blockchain platforms can be added easily in the future.
SCP Blockchain connects to any supported blockchain network via a cloud service on SAP Cloud Platform. SAP HANA Blockchain establishes a link between this cloud service and SAP HANA, which results in a representation of on-chain data in SAP HANA as a set of regular column store tables. Technically, this requires two components.
- SAP HANA Blockchain service – A cloud service that is deployed with SAP Leonardo blockchain.
- SAP HANA Blockchain adapter – An SDI connector that is deployed with your SAP HANA instance, available via the SAP ONE support launchpad (formerly Service Marketplace).
The SAP HANA blockchain adapter subscribes to the HANA blockchain service in the cloud, which in turn communicates with the SAP Blockchain service. The interplay of the different components ensures that transactions submitted to the blockchain are replicated into SAP HANA. This replication works bi-directionally, meaning that transactions inserted in SAP HANA also find their way back to the blockchain, where they can be consumed by other applications.
For a great visual introduction on how SAP HANA blockchain works, I recommend this Lab Preview.
Easily combine on- and off-chain data
Some of the characteristics of blockchain make it necessary to carefully evaluate what data can and should be stored on the blockchain. Some of the reasons are legal or regulatory. Data protection is a great example, especially in the context of the EUs General Data Protection Regulation (GDPR). Others are performance-related. Storing data on a blockchain is always more expensive than storing it on a central data store. It must be replicated to all participants, verified, hashes must be generated, etc. It’s usually much more economical if you keep the data footprint on the blockchain low.
As a result, a typical business application will most likely store most of the data “off-chain” in a conventional data store, while only necessary data is stored “on-chain” on the actual blockchain. Now, how do we get on- and off-chain data together again?
In a domain dominated by startups, the integration of on-chain data with an enterprise-grade database platform like SAP HANA is unique. With all on-chain data available in SAP HANAs column store through the default SQL interface, combining this data with off-chain data becomes trivial. On-chain data is accessible by all of SAP HANA’s advanced analytic engines. This allows simple SQL queries to quickly access a specific excerpt of data, as well as complex scenarios combining local and remote data sources, leveraging SAP HANA’s graph, spatial and text search engines and even HANA’s machine learning capabilities.
Availability and beta program
SAP HANA Blockchain will enter a phase of controlled availability in early July 2018, for which you can already register today. This gives you access to SAP HANA blockchain at the earliest point in time and to an exclusive support channel that connects you directly to SAP HANA’s product management and engineering.
>> Go to registration @ SAP Customer Influence
Those lacking a dedicated SAP HANA database will be happy to hear that SAP HANA Blockchain is fully supported by the free-of-charge SAP HANA express edition.
In case of any questions regarding the public beta program, feel free to reach out to SAP_HANA_blockchain_service_beta_program@sap.com.