Blockchains are slow and bottlenecked by limited scalability. Meanwhile, decentralized databases maintain many of the benefits of a blockchain while potentially addressing scalability. Are these systems a viable alternative?
Blockchains have become more and more mainstream in the enterprise environment. Walmart is testing supply chain solutions to track lettuce, Spotify acquired Mediachain to test content licensing solutions, and Accenture is using the blockchain to add trust to insurance contracts.
There is no doubt that blockchains will play a role in the technology roadmap of various enterprises. However, many blockchain-based production applications have one main inhibitor: scalability. Visa can perform 65,000+ transactions per second, while Ethereum is at roughly 15 transactions per second (TPS). Ethereum’s 15 TPS can also be compared to more conventional databases like MySQL 8.0, which has a queries per second rate of over 1,000,000 based on the number of users connected.
This a serious problem for companies running production applications on top of blockchain. This stems from the bottleneck that every node needs to process the transactions, meaning that despite the greater computing resources its no faster than a single node.
This is acknowledged by a Sharding FAQ on Ethereum’s GitHub wiki:
“Currently, in all blockchain protocols each node stores the entire state… This provides a large amount of security, but greatly limits scalability: a blockchain cannot process more transactions than a single node can.”
Others like Preston Byrne, an Adam Smith Institute fellow, view Ethereum’s focus on aggregating “all the world’s data” as a massive problem. Even Vitalik Buterin, the co-founder of Ethereum, has acknowledged this problem and published a post detailing a grant program for sharding and other layer 2 research.
Among the many ideas being worked on to solve this issue, blockchain-style databases have picked up a lot of attention. GUN, an open-source decentralized database, attracted investments from people like Marc Benioff—American billionaire and co-CEO of Salesforce. Amazon Web Services (AWS) launched their own version, the Quantum Ledger Database, or QLDB, even after CEO Andy Jassy claimed that “[Amazon doesn’t] build technology because we think the technology is cool,” referring to his (negative) sentiment towards the hype around blockchain.
The sometimes negative attention isn’t unwarranted. Many have applied the buzzword “blockchain” to purportedly solve a host of problems. Yet, most of these projects would benefit just as much from conventional databases and business information systems.
Meanwhile, distributed databases maintain many of the characteristics of a blockchain while solving some of the scalability issues.
Exploring Distributed Databases
There is a handful of promising distributed database systems that could complement the existing private and public blockchains available to software developers.
BigchainDB, whose partners include Microsoft, Toyota, and MongoDB, has touted their solution’s ability to balance high throughput, low latency, and query functionality with decentralization and immutability.
The project does this by adding a Byzantine Fault Tolerant (BFT) consensus system (via Tendermint) to a more conventional database, MongoDB. Each node that is part of the BigchainDB maintains their own local MongoDB database, which decentralizes the BigchainDB, while at the same time ensuring that the network has BFT-based immutability.
This allows the storage of “assets” in a global, decentralized database that is shared by multiple participants. Building on the vision of the blockchain, these projects—including IPDB (Interplanetary Database)—look to build, in their own way, decentralized ledgers into backend platforms.
Bluzelle, another decentralized database project, uses data sharding and partitioning techniques to create a more scalable and secure database. They do this by combining the scaling technology with a crypto token (BLZ) to create an incentive structure for decentralized storage. Acting as a “swarm of swarms,” Bluzelle relies on “producers” to provide the necessary resources (such as permanent storage) which distribute the data across the Bluzelle network.
Although these projects include impressive scaling technologies to improve the scalability of decentralized databases, the major breakthrough is the use of crypto tokens to incentivize participants to act in a mutually beneficial fashion. A perfect example of crypto economics, these platforms allow people to sell and buy resources that are necessary for a decentralized, peer-to-peer setting. This is done by allowing a user and provider to interact directly in a marketplace-style system for computer resources.
Impact of Decentralized Databases
The benefits and features described above are paramount to the decentralized vision of the blockchain. Eliminating control of resources from centralized service providers has merit and legitimate applications.
In these cases, the centralized service providers are the major public cloud and private cloud companies that offer storage services and database technology, such as Microsoft, Amazon, and Oracle.
Without the need to rely on these centralized providers, projects built on top of these decentralized databases have some advantages. Service downtime is a significantly smaller problem due to the resiliency of decentralized networks. Another added value is that security is also improved with the immutability provided by these services.
Blockchains aren’t the only tool that software developers can leverage for building dApps and decentralized systems. Decentralized databases offer a promising and sometimes even more effective alternative. As these technologies mature, it’s very possible they are the driving force behind the next wave of innovative products and service.Posted In: Adoption, Opinion, Technology