This English-language post is derived from original content written in Japanese. You can view the original post here
Today I will focus on Orb’s proprietary platform software called Orb DLT (Distributed Ledger Technology). Specifically, let’s look at the history and design principles of this revolutionary software product.
Orb DLT Overview
Orb DLT is a platform software designed to support transaction processing and management for financial and contract applications. It is cost-effective, easy-to-use, and enables complex financial and contract transactions with high availability, scalability, and security in private or consortium networks.
History of Orb DLT
Prior to Orb DLT, Orb developed a blockchain based* proprietary platform software called Orb1. First, I will talk about the history behind this; in short, I will talk about why we stopped developing Orb1 and shifted to develop new platform Orb DLT.
(*) NOTE: blockchain has not been universally well-defined yet, but we refer to the technology and implementations for consensus and data management in Bitcoin as “blockchain” here.
Several years ago in the blockchain community people were discussing interesting technological concepts such as decentralization and tamper-evidence in transaction systems, which had not really been discussed anywhere else before. Orb is one of many companies interested in these technologies, and we firmly believe that they are disruptive technologies in the world of financial transactions.
But, we are a little skeptical about blockchain technology in terms of its applicability to B2B-focused enterprise applications and services. This is mainly because it is mainly designed for public P2P applications like Bitcoin and it doesn’t really make sense to provide services and platforms based on public P2P systems to private companies. In other words, it does not seem to be logically possible because one can’t control the quality of services for customers with public P2P-based software even though when those customers pay for the services.
To account for this lack of control, there were some trials that used blockchain in private networks. However, I think these trials were putting the cart before the horse due to blockchain being designed for public P2P networks.
Additionally, even though blockchain is designed for executing financial transactions, it does not necessarily exploit the technology of database systems and distributed systems which have a very long history successfully handling such applications. To be honest, I have been in this field for a long time as both an engineer and as an academic researcher, so I was a little distrustful of blockchain.
However, it is not constructive to be overly critical about potentially innovative technologies. So, we started our discussion and exploration to identify the essential properties of blockchain and decided to develop a blockchain-based platform to understand more about the technology through our own experiences. This was the Orb1 project.
From Orb1 to Orb DLT
Orb1 was a pretty unique and interesting system, but there was still a big gap between its architecture and the way we want to run our business.
First, you can’t have exact consensus between public participant nodes with blockchain because the various “proof-of-X” consensus protocols commit decisions based on majority agreement from an unknown total number of participants. This means that transactions in blockchain can not achieve total transaction finality and atomicity. We wrote a paper on this very subject for the ICDCS workshop in 2015 because it was not well discussed at that time in the community.
In Orb1, we solved this issue by creating managed super-nodes with the authority to commit on decisions. It was a good approach from the point of view of exploiting the capabilities of the existing blockchain asset, but it was also the only way we could logically take to achieve finality with blockchain.
As a matter of course, Orb1 shares the drawbacks of blockchain because it is blockchain-based. For example, it uses “flooding” for data sharing and copies data lazily to participants. Thus, the intermediate state of copying to a network can be observable from the outside. This means that the blockchain can only achieve eventual consistency in a replicated state machine.
There were some other blockchain-specific issues as well. For example, it was hard to achieve high scalability due to the fact that the blockchain copies all data to every node, and it was also hard to achieve high parallelism in appending blocks due to the fact that a blockchain is essentially a linked-list.
By working through these issues with blockchain, we acquired a good amount of knowledge and experience. And in discussing them with our customers and partners, we heard that the novel properties that they expected from blockchain in a B2B or enterprise market came down to two things: First is that they wanted to achieve high security, availability and scalability by running and managing transaction systems in decentralized way with multiple equal owners(1). Secondly is that they wanted to make data tamper-evident even when it has been tampered with by an insider.
In this way, we understand the actual market requirements to be orthogonal to blockchain features and technology, and additionally that they can be realized highly efficiently by extending the existing state of the art distributed database technology(2). Thus about a year and a half ago we stopped the active development of Orb1, and started research and development of Orb DLT as our market-adapted platform software solution.
(1) It is recently called a “consortium” use case.
(2) These extensions comprise Orb’s proprietary patent-pending technologies.
It is not our intention to criticize Bitcoin and the blockchain in Bitcoin at all. I personally think blockchains are a disruptive technology. Use cases might be limited because of the public peer-to-peer nature of the system, but “proof-of-X” consensus protocols and other technologies are very interesting. My point simply is, this doesn’t mean that they are necessarily useful in enterprise markets.
The Design Principle of Orb DLT
Orb DLT is a decentralized transaction system with data tamper-evidence designed for meeting enterprise financial and contract market requirements.
It realizes not only decentralized transactions and tamper evidence with our patent-pending technologies, but also settlement finality (atomicity), strong replica consistency, high scalability and high availability, which are extremely important in financial applications.
In other words, Orb DLT is a platform software which beats the blockchain-based competition by combining our unique, proprietary approach to transaction finality and replica consistency with the beneficial properties of blockchain technology such as decentralized transaction processing and tamper evidence, while at the same time eliminating the common drawbacks of blockchains such as poor performance, scalability, and availability. It is designed for consortium and private use cases, but it is not designed for public domains where you can find Bitcoin and other blockchain solutions.
Please take a look at the slides attached at the bottom to see how Orb DLT compares to other blockchain competitors such as HyperLedger Fabric.
Orb DLT Architecture
Orb DLT is comprised of three components; Apollo, Core and Toolbox. Apollo is a decentralized data operating system which executes data processing and management without a central computer in a multiple-cluster environment spread across the globe. Apollo is comprised of 3 sub-components: Transaction, Analytics and Storage, which execute and manage transaction processing, analytical queries, simple storage respectively.
Core is a feature-rich middleware layer to help application developers rapidly create domain-specific transaction-based applications. There are several modules in Core such as CoinCore, AccountCore and QueryCore. In CoinCore, you can flexibly define coins and their behavior based on various application needs with simple configuration files. Comparatively, blockchain solutions require developers to build custom functionality from scratch.
Toolbox is a set of SDKs and libraries to enable applications development on Core to be easy. For example, they provide functionality to make a connection between Core and external systems in such as deposit, settlement and clearing.
Please take a look at the product page in our web site for a little more detail.
This was just a short introduction to Orb DLT. Please also take a look at the slides below for more detail. We are planning to expand more on the details of Orb DLT implementations and their characteristic features in future posts.