Decentralized apps, or dApps, operating on the blockchain face a singular problem: scalability. Take a look at Bitcoin 10 transactions per second (TPS) limit, compared to Visa’s 24,000 TPS. While a handful of high-quality projects and companies have partly surmounted this challenge with sidechaining and sharding, nonscalability has inhibited the progress of many otherwise promising blockchain projects. DApp scaling frameworks may be an early solution on which to build greater and wider blockchain scalability in the future, and it’s worth examining what they are and why they’re so important.
DApps, or decentralized apps, use blockchain technology to deliver value in a peer-to-peer fashion. Blockchain is a decentralized, trustless, peer-to-peer ledger that allows users to transact between each other without a centralized authority through an encrypted medium.
While outwardly beneficial, this structure is intrinsically problematic. Imagine if every transaction or purchase you made had to be confirmed by a network of other people before it was completed. This property, the consensus protocol, is one of blockchain’s greatest strengths and weaknesses: for a blockchain to work, every node participating in it has to confirm every transaction that happens on it.
This massively increases transaction immutability, verifiability and transparency, but also makes its transaction per second (TPS) speed very low. Slow processes rarely scale. More unfortunate is that without scalability, blockchain technology cannot reach mainstream usage: at the time of this writing, only about 8 million people globally use any form of cryptocurrency – to reach mainstream usage, 800 million people must use it, and on a consistent basis. Though this may suggest that this is a chicken-and-egg problem, the reality is that the blockchain space can solve its own problems with the right resources.
DApp scaling frameworks are one way. They are bundles of code inside blockchain protocols that allow distributed apps to become even more distributed, letting a blockchain scale its TPS and allow more transactions than ever before. Unfortunately, not very many developers have access to these, and the few that do only built the earliest versions of this technology, leaving questions about the value of this innovation.
Many developers will especially agree that dApps are currently terrible to interact with. They’re slow, confusing, and rely on 3rd-party software which consumers can’t readily use. Yet the chief issue here is speed. Without scale, dApps can’t increase their TPS, the key performance measurement of all distributed systems. And without high DPS, user acquisition eventually wanes. There are fixes for this problem, but little implementation and even less progress on their collective maturation. They exist in five categories, below:
1. Low-Level Optimizations
2. Parallel Blockchains (“sharding”)
3. Homogenous Vertical Scaling
4. Heterogeneous Vertical Scaling
5. Heterogeneous Interconnected Multichains
6. Multilayered dApp development toolboxes
There’s not much to be said for the solutions in the first category. Most of them – consensus algorithms, PoS migrations, parallel processing on transactions and code optimizations in the EVM – are low-level and impermanent band-aids to the deeper problem.
The best of the solutions in the second, third, and fourth categories are at this stage still in the proof-of-concept phase, being built almost exclusively by and for Ethereum and Bitcoin such as Ethereum Plasma and the Lightning Network. These are getting the most traction here only because they’re developing out of Bitcoin and Ethereum, but are nontheless still are very early-stage.
The idea behind Plasma is to take smart contracts, give them self-governing and self-execution properties to let the Ethereum root chain essentially create buds or “shards”. These shards are sidechains each monitoring one aspect of a transaction instead of putting that combined pressure on the root chain. This method of splitting transactions into sidechains dramatically increases TPS.
Comparatively, Lightning Network is a system that acts as a second-layer payment protocol parallel to the root blockchain, featuring a peer-to-peer system allowing cryptocurrency micropayments to be transacted via two-way payment channels, never delegating custody of funds. Both platforms are examples of how some blockchain companies are using secondary and tertiary parallel blockchains to scale their TPS.
Concepts like Polkadot—scalable heterogeneous multichains—provide foundations for later functionality in the area of relay-chains, where the goal is to build validatable, globally connected, frequently-changing data structures on top of these frameworks.
Companies like MenloOne—multilayered dApp development toolboxes—create and deploy digital tools for dApp developers to use when they’re building. They include:
- A layer for communication.
- A layer for governance (given lack of server admins to ban malicious users in a decentralized network).
- A local wallet for smooth transactions (no more MetaMask popups).
- A core layer, a network of content nodes which cache mirror versions of blockchain data.
These incorporate fragmented systems to make dApp development easier for professionals. Together, solutions in these categories are working to help top blockchains scale TPS to thousands per second. To eventually become adopted by the mainstream public, these frameworks will need to use a variety of different tools to make transactions effortless for blockchains to process.
What do you think about the scalability of blockchains today? Is it a problem for you or are you unaffected? Let us know in the comments below!