What’s needed to unlock the real power of blockchain and distributed apps

There’s been a lot of hand-wringing about the future of blockchain lately.

With cryptocurrency prices reaching all-time highs and total market capitalization topping $800 billion recently, everyone wants to know if we’re witnessing the second coming of the internet or the craziest bubble of all time. If you ask me, it’s a bit of both.

Today, we have blockchain projects raising hundreds of millions of dollars with little more than a whitepaper — no product, no traction, just an idea and some technical specifications. You don’t need to be in venture capital to understand this level of speculation is unsustainable. At the same time, however, we saw much the same in the early stages of the internet, and look where we are today.

I think the cryptocurrency insanity we’re seeing right now is overshadowing a lot of the potential of the underlying architecture and technology. Market speculation aside, when I look at blockchain today, I see a very exciting technology that stands to dramatically reshape our increasingly digital world.

But that doesn’t mean it will happen overnight. When CryptoKitties, a seemingly useless game for breeding, buying and selling virtual cats, can bring the world’s most promising blockchain network to a standstill, it’s clear we still have a long way to go before this technology is ready for major, real world applications.

To get there, creative and enterprising developers must overcome three major limitations that exist at the very core of blockchain: brutal latency, high compute costs and limited storage. Until then, the hundreds of billions in investment dollars flowing into cryptocurrencies like Bitcoin, Ethereum, Litecoin and others will remain little more than speculative bets. What’s more, if blockchain technology doesn’t soon catch up with investor exuberance, a major market correction is all too likely.

Brutally high latency

One of blockchain’s greatest innovations is the way it decentralizes trust by taking a consensus-based approach to verifying transactions of every kind. While this creates massive value, it also comes at a massive cost: latency — and lots of it.

That’s because when transactions are posted to the blockchain, all nodes on the network are involved in verifying and recording them. It’s a slow and redundant process that demands a great deal of processing power. It also runs counter to everything we have come to expect from software systems and the general internet. While the entire infrastructure of the internet is bending toward real time, blockchain is inherently slow.

You don’t need to be in venture capital to understand this level of speculation is unsustainable.

If blockchain is ever going to achieve widespread adoption, it needs to get a lot faster. Redundancy might be a key feature, but high latency will always be considered a bug now that we’ve all been conditioned to expect real-time interactions with technology.

High cost to compute

It’s a great irony that right at the very moment everyone is talking about unlocking parallelization and writing multi-threaded and hyper-efficient code, we suddenly have to figure out how to write efficient single-threaded code again.

This goes back to the distributed nature of blockchain’s architecture and the consensus mechanisms that verify activity on the blockchain. In this environment, the infinite parallel execution that comes from every node on the network computing every transaction means that compute costs are extremely high. In other words, there is very little excess compute power available to the network, making it an exceptionally scarce (and therefore expensive) resource.

It’s a fascinating challenge. Programmers today are used to having access to cheap and virtually unlimited processing power. Not so with blockchain.

Today, we’re seeing all this effort to relearn how to write extremely efficient software. But efficient code will only get us so far. For blockchain to gain widespread adoption, processing power will need to get much cheaper.

Adding more computers does not solve the problem; quite the opposite. The more computers on the network, the more nodes required to sync with the latest transaction history.

Highly limited storage

Similar to the way processing power on blockchain is limited and expensive, the same goes for storage.

On the blockchain, storage comes in blocks, and there’s only so much data that can fit into any given block. What’s more, the number of blocks that can be created is limited. Both of these are a consequence of every block needing to be verified and synced across every node on the network. As noted earlier, this places major limitations on processing speed and power.

It also raises important questions about how to monetize storage. With cloud platforms, you pay a monthly or annual fee for up to an infinite amount of storage. It’s all yours — as long as you keep paying. When the subscription expires, you can renew or lose access to your files (i.e. the files are deleted).

With blockchain, this model breaks down completely. Blockchain databases store the data indefinitely; it begs the question: How can you possibly go about pricing it? The data storage costs must be paid up front and they must cover not just that month but all months and years to come.

What’s the time value of data? It’s yet another open question in desperate need of a creative solution.