X

Blockchain Tables in Oracle Database: Technology Convergence

Mark Rakhmilevich
Senior Director, Blockchain Product Management

When Oracle announced Machine Learning capabilities in Oracle Database a few years ago, some people undoubtedly questioned the wisdom of putting AI/ML in a traditional database system. A couple years later and we see real-world customers reporting significant benefits of the Autonomous Database (ADW and ATP varieties) that provide greater performance and security while drastically lowering labor costs. Beyond using AI/ML to improve the database operations, Oracle Machine Learning has enabled SQL and PL/SQL access to scalable in-database implementations of machine learning algorithms using Apache Zeppelin-based notebook technology. This enables data scientists, citizen data scientists, and data analysts to work with machine learning solutions from preparation through deployment – all in the Autonomous Database. 

Technology convergence isn’t limited to AI/ML. A few month after last summer’s release of our enterprise-grade Oracle Blockchain Platform (OBP) built on Linux Foundation’s Hyperledger Fabric open source project, some customers raised requirements about performing analytics on blockchain ledger transactions. At the OOW 2018, Oracle demonstrated, and soon thereafter released, the rich history database feature for OBP, which asynchronously streams blockchain state and transaction history into ADW and other Oracle databases using pre-built schema to enable rich analytics and BI capabilities on near real-time blockchain updates.  More convergence and marrying of open source blockchain and traditional database capabilities to enable unique enterprise benefits.

At the most recent OOW this month Larry Ellison and Juan Loaiza announced new converged features in Oracle Autonomous Database, including the new Blockchain Table type. Among the many blockchain events at OOW 2019, this one stood out.  Our experience over the last few years working with customers deploying blockchain technology showed that not every project requires full capabilities of blockchain technology and the related complexity of introducing a completely new technology stack into their IT environment.  Some customers want to leverage the tamper-resistance and non-repudiation properties of the blockchain in use cases that do not involve multiple organizations. Blockchain Tables enable customers to use Oracle Database when they need highly tamper-resistant data management but do not require distributing the ledger across multiple organizations or relying on a decentralized trust model. They can also be used to improve data integrity and fraud protections of services provided by central authorities, such as an Escrow company, a SaaS service provider, Trade Exchange, or a Central Bank.

Why is Oracle Database Providing a Blockchain Table?

There are a number of applications where customers would benefit from user fraud protection and administrator fraud protection.  Not only are insider attacks the most difficult to identify, but having your user’s or DBA’s credentials spearfished could open up a lot of critical data to an external hacker. Blockchain tables provide stronger database security by protecting against user fraud where someone rewrites their history, deletes certain data, or encrypts it for ransom. 

It can also provide identity fraud protection – the optional signing of row data with the PKI signatures based on the user’s private key protects against users or admins impersonating a different database user, or database user claiming that someone else was impersonating them.

In addition, it can protect against DBA actions if you enable encryption and use Oracle Database Vault.  And if you are concerned about admins with full root access subverting these levels of added protection, you can implement a “Trust but Verify” model by periodically copying cryptographic hashes and user signatures to external stores.  No matter what happens, even if your database was rolled back to a previous point in time and subsequent inserts replaced with fraudulent entries, you could compare the hashes and PKI signatures against the external audit log to verify data integrity and detect any tampering.

The result is an easy-to-use but highly tamper-resistant centralized data management option that transparently supports existing applications, and enables users and developers to leverage the rich set of Oracle development tools and environments, including SQL, PL/SQL, JDBC, etc.  It also provides very high insert rates compared to a decentralized blockchain because commits do not require consensus.  It’s going to be built into Oracle Database 20c – in the cloud, on-premises, and part of Autonomous Database. And it can be used together with regular tables and many other database features, including the aforementioned Machine Learning capabilities thanks to technology convergence in Oracle Database.

How Do I determine whether to use Blockchain Tables or Blockchain Platform?

Here’s a summary comparison of Database Blockchain Tables and Blockchain Platform:

Common attributes of Blockchain Tables and Blockchain Platform:

  • Append-only data
  • Chaining using cryptographic hashing for tamper-resistance
  • Digitally signed updates (optional in Blockchain Tables, mandatory in Blockchain Platform transactions)

Additional Blockchain Tables Features or Attributes

  • Built-in database backup and archiving, partitioning, access control
  • Higher throughput for insert transactions
  • Programming model using SQL and PL/SQL
  • No new infrastructure required beyond Oracle Database

Common use cases that benefit from Blockchain Tables include maintaining a centralized immutable transaction log/audit trail, storing compliance data (e.g., used in SOX 404-covered financial reporting, SEC compliance reporting, FDA reporting for clinical trials, etc.), using it for financials / accounting ledger/sub-ledger tables, legal hold data, centralized chain of custody or provenance information.

Additional Blockchain Platform Features or Attributes

  • Distributed ledger replicated across organizations
  • Multi-signature, decentralized trust
  • Smart contracts executed across multiple nodes
  • Open-source based and inter-operable with other Hyperledger Fabric blockchain nodes

Common use cases that benefit from Blockchain Platform include decentralized record keeping/audit trail, supply chain provenance & authenticity across a trading community, multi-party exchange transactions – payments, funds-transfer, asset tokenization, marketplaces, etc., digital identity or certifications across multiple issuers, business transactions based on multi-party object/document matching & reconciliation, multi-brand loyalty systems, Know-Your-Customer (KYC) solutions in financial services or Know-Your-Supplier (KYS) solutions in supply chain ecosystems.

For more information about Blockchain Tables, follow this Oracle Blockchain blog, which covers all the news of Oracle Blockchain offerings:

Join the discussion

Comments ( 4 )
  • Luke Porter Tuesday, December 17, 2019
    This sounds promising, but isn’t the real goal for blockchain table functionality to be able to easily access every state of the database? By only providing an append capability, the developer still has the significant overhead of writing workable code to query it. Working with a cryptographically locked history table is not providing enough for the developer. The next step is to provide facilities which allow corrections and updates to be made (ie re writing history) yet keep data integrity in tact for all states of the database. Not being able to provide real world requirements of updates and corrections has broken a multitude of projects.
    FusionLDB from Ld8a Ltd (ld8a.com) is an offering coming out of the Oracle Global Start Up programme which makes this next step possible. It also crptographically locks table row records but importantly makes it easy for developers to access all states of a database where the data integrity is fully relationally maintained (ie referential integrity is maintained without a coding requirement by the developer). It is available on Oracle Autonomous Database and is a great option for organisations looking to deploy system of record applications now and in the future. It is also a good vision for where the Oracle Blockchain table functionality can be headed. The problem with the Blockchain table as described above is that the data structure of the tables is not enough and the key influencers (the seasoned developers) will ignore it because they can already do this by other equally workable ways.
  • Jim Stamos (Architect, Oracle Database Development Thursday, December 19, 2019
    Luke,

    We are in the early phases of enterprise adoption of blockchains, and all the blockchain use cases are not yet well understood or even imagined.

    The first release of blockchain tables enables building applications that use a centralized, tamper-resistant blockchain. We did not want to limit the functionality of blockchain tables to a single use case such as bitemporal model support. Many use cases, such as audit logs and transaction logs, do not need temporal support and can immediately benefit from using a blockchain table. I agree that more blockchain infrastructure can be helpful for certain use cases, and that infrastructure can be provided by developers, third parties (such as Ld8a Ltd), or perhaps in the future by Oracle.
  • techimply01 Thursday, January 23, 2020
    very nice article. easy to understand. this article cleared my all ambiguities regarding smart contracts and solidity. thanks alot.Software Development
  • sailajaN Saturday, June 6, 2020
    A great piece that sheds much needed light on some of the great theoretical/ideological debates in the contemporary crypto space. At CleanApp Foundation, we appreciate the emphasis on pragmatism, and emphasis on Blockchain/DTL/Crypto projects that offer real social utility. Looking forward to engaging more with your crew!
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.