Bitcoin was revolutionary as both a monetary system and a piece of technology when it was first launched. It wasn't long before others understood that, at least on the technology side, the blockchain idea birthed from Bitcoin could have applications outside of the cryptocurrency space. Thus, Ethereum was born. And with it came the possibility of using blockchain to build new applications.
Those applications, known as decentralized apps (dapps), have now been in development for a few years. Yet the dapp concept really hasn't caught on among developers. Complicating matters is an apparent disconnect between blockchain for cryptocurrency and blockchain for everything else.
If you have some time to kill, do a little research into the most popular dapps now on the market. You will discover a few key things. First, there are not a whole lot of dapps out there when measured as a percentage of the total number of usable applications. Second, the most popular among them only boast a few thousand users. And third, the vast majority of them are gambling apps.
So what's going on? Why is blockchain, which has been a darling of the technology world for the last eight years or so, not being harnessed for its capabilities outside of cryptocurrency? It turns out that there isn't just one thing standing in the way. There are multiple hindrances to a bigger and better dapp ecosystem. Let us take a look at them.
1. Lack of scalability
Almost all the blame for blockchain not taking its rightful place in the software world is normally laid at the feet of scalability. This seems to be the catch-all issue when blockchain enthusiasts find themselves having to defend their favorite technology against claims that it will never amount to anything.
Let us be clear about one thing: scalability is not the only issue hindering dapp adoption. It is an issue nonetheless, so it cannot be overlooked by this post. Any computing platform without scalability is essentially dead on arrival. Lack of scalability equates to an inability to grow, expand, and adapt.
Blockchain is brilliant as a means of creating a digital ledger with decentralization, immutability, and robust security at its core. It has proved to be the lifeblood of cryptocurrency. Blockchain's nature as an advanced ledger system has also made it a great platform for payment protocols and gambling apps. But that is about as far as it goes.
Unfortunately, hand-in-hand with the lack of scalability is a lack of speed. Because blockchain does not scale well, it becomes more cumbersome over time. Anyone who knows how Bitcoin mining works understands this basic principle. If you are not familiar with Bitcoin mining, perhaps a basic primer is in order.
How mining works
Bitcoin mining is the process of earning rewards by doing the work necessary to maintain the Bitcoin network. Let's say you make an online purchase using BTC. The data from that purchase is sent across the Bitcoin network to be received by all the network nodes. Those nodes are high-powered computers with specialized software.
The nodes process the transaction data and, when they all agree, the transaction is finalized and added to the blockchain. The thing to understand about the blockchain is that it continually grows. This means that every new block added to the chain also makes the chain longer. The longer the chain gets, the more computing power required to maintain the network.
The result is an inability to speed up transaction times without adding significantly more hardware to the equation. Eventually you reach a point of diminished returns. That's where Bitcoin is right now. Without systemic changes in how transactions are processed, Bitcoin speeds are not likely to increase. Changes are coming in a new technology known as the Lightning Network, but that's a different topic for a different post.
Lack of exposure
Another hindrance to widespread dapp development is a lack of exposure. Simply put, there is no centralized marketplace through which dapp developers can distribute their software. There may be a few small websites here and there, but there is nothing for dapp even comparable to the Apple and Google application platforms.
This is a problem. If you are an app developer relying on what you develop to pay your bills, you have to be able to sell your products. And if you are as smart a business owner as you are a software developer, you're going to go where the customers are. The problem is that your customers are not looking for dapps. They are looking for Apple, Android, iOS, and Microsoft apps.
In this regard, the plight of dapps is really a chicken and egg kind of thing. Developers would supply the apps if customers wanted them. But then again, customers are hesitant to even consider dapps because the supply and infrastructure are not there. We have a vicious cycle and no way to break it.
Should developers just create dapps en masse with the goal of flooding the market and thereby generating interest? Should customers embrace every dapp out there - even if they don't need it - as a way of encouraging more developers to get involved?
Lack of incentive
While you ponder the answer to those questions, we will move on to the next hindrance: a lack of incentive. This lack of incentive exists among developers who might otherwise create some very good dapps. As things currently stand, there is little motivating them to do the work necessary.
Dapps are a different kind of software. As such, developers have to learn new languages to create them. They must learn how to use new tools and develop software in new environments. It is a lot of work just to get to the point of being able to create your first dapp.
There is a similar learning curve for developing mobile apps as well. But mobile apps have a built-in incentive. That incentive is being able to tap into a market consisting of billions of people who now use smartphones and tablets. There is no comparable audience for dapps right now. So where is the incentive to go through all the work necessary to develop them?
The vast majority of dapps these days are developed by either hobbyists or professionals who serve a niche clientele. The small number who do make good money on dapps are developing for targeted customers in targeted industries. Outside of such specialized projects, there is little chance that a new dapp will get enough exposure to become a commercial success.
Lack of necessity
Underscoring all the other deficiencies is a lack of necessity. This final hindrance to widespread dapp adoption is the most difficult of all to accept among blockchain enthusiasts. Yet it is what it is. There does not appear to be a genuine need for blockchain technology outside of the cryptocurrency space. Moreover, dapp developers have not been able to create a need on their own.
We previously published a post discussing how the reality of blockchain's limits is finally settling in among those in the technology sector. One of the points discussed in that post is the reality that blockchain is not the technology solution for every problem.
In the that post we discussed the fact that there are certain kinds of data that don't do well in a blockchain environment. There are certain kinds of applications that cannot work in a truly decentralized environment. There may be instances in which the need for new software does not include the need for immutability and permissionless management. In all these scenarios, other types of software are more appropriate.
Logistics is one of the sectors that is said to be ripe for blockchain development. On the surface, that makes sense. Logistics relies on an ongoing series of transactions that could be managed quite well by blockchain and smart contracts. But is there a need to leave behind current systems in favor of blockchain?
In a word, no. Logistics operate just fine in the database environment. Yes, databases do have their weaknesses. But there is nothing so critically wrong with the database environment to require a switch to something entirely new. The benefits of adopting blockchain are just not there for logistics enterprises. Until such benefits exist, no one is going to make the jump.
The future of dapps
We have finally arrived at the point of having to seriously consider the future of dapps. There is little doubt that blockchain will continue as the engine of cryptocurrency. We also know that the financial services sector is starting to embrace blockchain for cross-border payments and settlements. All such applications are exactly what blockchain was created for.
Outside of that, no one really knows. The disconnect between blockchain and dapps is real and recognized. Yet solutions are fleeting. Could it be that dapps do not have any real future? It is possible. In the meantime, there are organizations working on solutions rooted in the Linux kernel. If they can solve the scalability problem and reduce the learning curve for developers, they may be onto something. Time will tell.