Hype cheapens the hyped, because right things are made wrong through exaggeration. And this could not be further from the truth concerning the topic of blockchain. Yes, blockchain; the killer of corruption; the disruptor of intermediaries; the technology that will save Africa; the all-encompassing-all-problem-solving blockchain…

The hype surrounding blockchain and its supposed infinite applications, has bred a class of Coin Gurus, a class of blockchain and ICO Experts, whose purpose in their career is to mindlessly champion the many wonders of blockchain and smart contract technology, often while understanding very little about the technology, and even less about the companies they try to blockchainize.

The blockchain was built for one specific purpose only: the peer to peer transfer of scarce digital assets. And as with any technology that is specialized to do a single thing, it often doesn’t perform well when applied to other things. Because of this, the applications of blockchain technology are incredibly limited. Moreover, incorrect implementation of blockchain technology will result in a slower, more expensive, and less user-friendly system, without any additional benefits that the blockchain was supposed to bring.

Blockchain’s Are Useless (By Themselves).

Blockchains are databases, and like any other database (such as an SQL Server, or a Microsoft Excel worksheet) its only function is to store, delete, or retrieve data as requested by other applications. Blockchains are different in that you are unable to delete old data and can only add data to the database in a linear chronological order that does not change the existing data on the blockchain.

As Blockchain Developer Jimmy Song said “The main thing distinguishing a blockchain from a normal database is that there are specific rules about how to put data into the database. That is, it cannot conflict with some other data that’s already in the database (consistent), it’s append-only (immutable), and the data itself is locked to an owner (ownable)”.

With this information, even a technically-unsavvy person can see the massive ways in which blockchains are limited. Take the inability to delete old data from the blockchain as an example, in what system is it beneficial to make data undeletable? At least in a matrixed Excel spreadsheet I can easily delete and append old data!

So, What Was the Innovation Here Again?

The easiest way to explain the innovation surrounding blockchains is by using the internet as an example. The internet has enabled humans to communicate and share knowledge directly with each other (peer to peer), bypassing traditional intermediaries, such as TV stations, radio channels, and newspapers. When we transfer money over the internet though, people generally still rely upon centralized institutions such as banks or Paypal to validate and facilitate these money transfers. The problem with this system is that these institutions are single points of failure, and only works so long as we trust these operators. What if, instead of delegating the task of sending money to centralized operators, we can have a decentralized peer to peer payment system, that removes the traditional intermediaries of internet payment.

This system already exists, and it’s called Bitcoin, a system that allows you to exchange money on a peer to peer network without the need to rely on a centralized operator or financial institution. The history of all bitcoin transactions is stored on the common database that is the bitcoin blockchain. The bitcoin blockchain is shared amongst all the network participants who contribute to the verification and the validation of these transactions.

For blockchains to work, a lot of people must hold a copy of the blockchain, so when anyone tries to modify data from that blockchain’s history, the fraud becomes apparent to all participants in the network. The more people that hold a copy of the blockchain, the more decentralized the system becomes, because there are less points of failures in the verification and validation of data.

If, on the other hand, relatively few people hold a copy of the blockchain, then the system is still limited by the drastically lowered efficiency of having multiple copies of the database, without obtaining the positive benefit of being censorship-resistant due to the decentralization.

In short, the innovation of an open and permissionless blockchain is that it allows people to transfer scarce digital assets such as money without a central operator having the power to approve, facilitate, or stop the transaction and confiscate the assets. Truth be told, this is the only technologically-sound use of a blockchain to date.

Smart Contracts Shouldn’t Be Put on Blockchains, If Coined At All.

These days, blockchain hype is always accompanied with an unhealthy dose of smart contracts hype. I often question whether these projects know the implications of their poor technical choice of putting a smart contract on a blockchain database. Though the fact that they want to do this in the first place just validates my suspicion that these teams are either clueless about blockchains, or smart contracts, but likely both…

In short, a smart contract is a contract that that you can’t read. I don’t say this to belittle you, my reader. I mean to emphasize that most people are not technically inclined to understand the contents of a smart contract (most people can barely understand the contents of a regular contract).

Most people, as participants in the contract, are not developers, so when they look at a smart contract, which is supposed to make their lives easier, they have no idea what it says or does. All that is happening is that more counterparties are being introduced into the process of contract drafting, reviewing, and signing.

What previously only required this…

Now requires this…

Jokes aside, I’m sure you know what I’m getting at.

There are regular contracts, which are readable and understandable by most people. Then there are smart contracts, in which this readable and understandable series of logic is processed by a developer into computer logic, that one hundred percent will have bugs, that will then be executed and stored on a blockchain forever, which will also prevent you from issuing any changes on the buggy contract.

The poor use case of running a smart contract on blockchains is evident because the daily active usage of these smart contract applications is incredibly low compared to applications on centralized servers. But more on this later.

So, Smart contracts:

1. Are highly inefficient because they add unnecessary counterparties to the process of contract signing. The person that will be bound by the content of the contract isn’t a developer and has to trust that the contract was correctly translated to code.

2. Are highly wasteful if executed on the blockchain, because contracts don’t need to be stored on decentralized databases forever, and doing so would only increase the cost of executing these contracts.

3. Will always have bugs, unless it’s a very simple smart contract, such as a “multi-signature transaction”, in which case it should not be called a smart contract.

Giving smart contracts the benefit of the doubt: let’s assume there are geniuses out there that can write bug-free smart contracts. The moment your smart contract ‘touches’ the real world, you will run into problems with the oracles.

Oracles in this scenario are people, machines, or mechanisms that feed the smart contract information about the rest of the world. For example, if there is a smart contract bet between two people on the Apple stock price, the smart contract would obviously need a source to reference the Apple stock price from. The source of the Apple stock price is the oracle. Let’s take the NASDAQ as an example, most people find the NASDAQ a trustworthy source for obtaining the Apple stock price. However, there are annual occasions in which the NASDAQ displays inaccurate prices! This inaccuracy will put the entire bet at risk, because the bet might be executed based on false information.

This is still a relatively easy smart contract to build, and the example also does not consider malicious parties actively trying to corrupt the oracles (making the oracles submit information that favours themselves). More sophisticated smart contracts would undoubtably require a multitude of real-world data inputs that might not be so easy to obtain, and trust… Which is exactly why I believe that the next leaps in blockchain applications will come from solving the oracle problem.

The Next Frontiers of Innovation:

The words ‘blockchain’ and ‘smart-contracts’ have been used for many years now to sell ideas that are impractical. These concepts claim they have the security of a decentralized blockchain, with the efficiency of a centralized system. The people championing these projects want the best of both worlds, without realizing that the abomination they’ve built has the worst of both worlds. The inefficiency of blockchains and the single point of failure of a centralized system.

Blockchains ARE revolutionary, thought not in a “we’re running an AI on top of a blockchain, which will disrupt the logistics and supply chain management industry” sense, but in a simple sense that now human beings from all around the world are able to store and transact scarce digital assets in a censorship-resistant way. I predict the main innovation in blockchain technology will only serve to make its technology more censorship-resistant, more technologically efficient, and more user friendly, in that order.

Smart contracts on the other hand will only gain popularity as our technology continues to push for automation. But does this mean our smart contracts need to be decentralized? Or should we prioritize functionality, and have the technology on which smart contract are built reflect that? In the end, the markets will push towards the latter. The clear majority of smart contracts between entities will never have to be executed in a decentralized manner and stored on all the blockchain nodes for eternity. Oracle technology however, will continuously be improved upon to make smart contracts more useful. And the businesses that manage to create oracle solutions within their industry verticals will eventually live to dominate them.