Blockchain technology has come a long way since Bitcoin was first announced in 2008. General purpose smart contract platforms, such as Ethereum, allow the computational modeling of almost any concept. Decentralized applications are now a reality, and we have seen everything from tradeable cat picture collectibles (CryptoKitties) to serious enterprise applications, such as supply chain management and insurance policy platforms.

While the technology that has made all this possible is still evolving very quickly, several missing concepts are holding back blockchain technology from reaching its full potential.

This blog post dives into three of them.

Scalability

Scalability is measured in the maximum number of transactions per second. There is no doubt that the biggest issue holding us back right now is scalability. If the popularity of tradeable cat pictures can almost bring the biggest blockchain network to a standstill, we have a problem.

Scalability is actually a tough problem to solve. The reason for this is that scalability is directly incompatible with other blockchain properties. ethereum founder, Vitalik Buterin calls this the Scalability Trilemma.

The trilemma refers to three conflicting properties: Scalability, Security, and Decentralization. According to Buterin, it is possible to maximize two out of three properties, but not all three.

Consequently, to increase scalability one of the other two properties has to be relaxed. We can see this in practice in many third generation blockchain projects that aim at high performance. The EOS platform, for example, reduces the number of validators in the consensus algorithm to only 21 nodes, introducing a degree of centralization.

Approaches to solving the scalability problem can be divided into on-chain solution and off-chain solutions. On-chain solutions typically consist in optimizing the consensus mechanisms, such as Ethereum’s upcoming move to Proof of Stake, or in tweaking specific blockchain parameters, such as the block size increases discussed in Bitcoin’s infamous scaling debate.

Off-chain solutions are based on the premise that not all operations need the strict consistency requirements provided by the blockchain. In computer science terms, the blockchain provides sequential consistency in a Byzantine failure model. In lay terms, this just means that all nodes see all the transactions in exactly the same sequence. It also means that the blockchain works even if nodes fail to report correct transactions (whether because of technical failure or malicious intent). Off-chain solutions propose secondary layers that relax these requirements and use the blockchain as a settlement layer. Bitcoin’s Lightning Network and Ethereum’s Raiden Network are two examples in the development of such solutions.

Somewhere in between on-chain and off-chain solutions, there are several techniques that divide the blockchain into different pieces in order to distribute the load. Usually, all full nodes in a blockchain network have to maintain the whole system state and process all transactions. By splitting up the chain, some sets of nodes maintain only a subset of the whole chain. This division of the blockchain can be done vertically, according to application-specific boundaries, or horizontally, according to some arbitrary criteria, for example, node identifiers.

Sharding is an example of the latter, dividing the blockchain into so-called shards, the way this is done in database management systems. Sidechains consist in nodes maintaining an application-specific part of the blockchain they are interested in, using the main chain as a settlement layer. Plasma is a sidechain extension for the Ethereum network. Lisk, on the other hand, is a completely new sidechain-based blockchain proposal.

As all these approaches have their individual pros and cons. It is likely that we will need to adopt various solutions to get anywhere near the scalability required.

Oracles — Reliable External Data Feeds

For a blockchain to impact industry sectors as much as it has promised us, it has to interact with external systems. So-called oracles provide smart contracts with the data feeds needed to automate processes. For example, a shipping tracking application requires information about the shipment. Otherwise, there is nothing to track.

The issue with external data feeds is that they represent the very problem the blockchain is meant to resolve, namely, the reliance on a trusted third party.

Several questions spring to mind: How can we trust the origin of the data? How can we trust the integrity of the data? And finally, how to trust the data provider?

Answering these questions is not easy. A few approaches are viable to provide reliable oracles. First of all, the origin and integrity of the data may be verified using off-chain trusted computing models, such as TLSNotary proofs, or even in combination with hardware solutions, for example, Intel’s Software Guard Extensions.

This still leaves us with the problem of having to trust a third-party data provider. The only currently viable solution to this is using a network of oracles and an incentive mechanism to give data providers a reason to be honest. The Chainlink Oracle service provides such a solution.

Cryptoeconomic Primitives

The final piece of the puzzle for successful blockchain adoption are so-called crypto economic primitives. These can be defined as cryptography-backed economic tools (primitives) that allow the construction of innovative blockchain applications.

In the physical world, economic primitives have developed over centuries. Many of these primitives are still useful in the digital era but do not cover all the possibilities the blockchain provides.

The creation of a genuinely decentralized economy requires new primitives.

The most commonly used primitive currently applied in blockchain applications is the cryptographic token. Most economic blockchain applications use tokens to represent programmable assets.

Higher-level primitives are currently in their infancy. Examples include token curated registries, curved bonding and prediction markets. The former two incentivize users to curate reliable information, whereas the latter incentivizes the correct prediction of future events. Stablecoins, such as Maker DAO’s DAI, could also be classed as a crypto economic primitive, aiming to provide a tool to counter market volatility.

Two things are required for crypto economic primitives to flourish: evolution into valuable sets of primitives and standardization. Evolution is the natural means of an ecosystem to figure out what does and what does not work. A certain amount of trial and error is inevitable.

Standardization is also needed to make sure we make these new primitives reusable and work together, in the same way, we have created a standard interface for fungible tokens with the ERC-20 standard.

Final Thoughts

The above three upgrades are fundamental for blockchain technology to live up to its full potential.

Scalability and oracles are the technical foundations for making new applications work in practice, whereas crypto economic primitives are the abstractions we need, to adapt our current economic model to the digital era.

Swish is dedicated to advancing the entire blockchain ecosystem, including incorporating these primitives in its applications and developing or extending them as needed to make them reliable. Interested in learning more? Let’s chat.