The hidden dangers of blockchain: An essential guide for enterprise use

public://pictures/Peter.Wayner.jpg
Peter Wayner, Author, Independent

Few of today's buzzwords generate more curiosity and confusion than bitcoin and blockchain. Perhaps it's the news of insanely large fortunes appearing almost out of thin air, or maybe it's the seductive freedom of an electronic transaction mechanism that is said to be frictionless and perfect.

Most of the hype focuses on the currencies such as the most famous one, bitcoin, and the thousands of other so-called alt-coin. These may or may not be as viable as the dollar or as sound as the pound, depending on your political leanings. But however you feel, their exchange value has shifted since you started reading this sentence.

Blockchain is the boring, respectable cousin, the version of the technology that is ready to bring all of this frictionless, dispute-free magic to enterprises everywhere. It's a clever, encrypted data structure that forms the foundation for these currencies, and many people are wondering what other problems can be solved with it. There's hardly a back-office process or recordkeeping database that can't be transformed, at least in devotees' visions.

Here's how to discern the buzz from the reality and figure out where blockchain technology can be helpful to the enterprise.

Application Security Research Update: The State of App Sec in 2018

Blockchain's promise ...

Does blockchain deserve the hype? Advocates promise that the cryptographic mathematics embedded in blockchain offer: 1) a decentralized mechanism that is 2) stable, 3) error-free, 4) low-cost, and 5) scalable.

All of these claims are generally correct, at least when observed from a distance without much attention to the details. The problem is that none is true in an absolute sense when you really stare at the system. Blockchain's mechanisms can deliver approximations that work most of the time, but ultimately there are enough fault lines and limitations that leave the system vulnerable.

... and its problems

Many of the limitations of blockchain can be seen by looking at bitcoin, the most famous implementation and a testing ground for ideas. The issues with bitcoin don't always apply directly to every single version of blockchain, but the systems share the same philosophical limitations.

Sometimes a better blockchain can be engineered that resists some of the problems haunting bitcoin, but often they have ended up having the same issues. Here are some of the most glaring.

Decentralization is expensive

Updates to the blockchain that tracks bitcoin ownership rely on an algorithm that requires users to solve time-consuming and computationally expensive mathematical problems—the so-called proof of work—to keep the process honest.

The amount of electricity to drive these calculations is outrageous, leading some miners to steal the power. Some blockchains use simpler mechanisms, but they still add layers of software complexity that is expensive to develop and get correct.

Decentralization is hard to guarantee

As bitcoin grew more valuable, several coalitions developed expensive custom hardware to dominate the mining. The few groups with the capital and the expertise are the only ones that can make these custom chips, and everyone else is unable to compete at solving the mathematical puzzles.

In theory, the algorithm is still decentralized and anyone can try to compete, but in practice only those with the right hardware can justify the cost to win a seat at the virtual table. That leaves control in the hands of a few.

Private blockchains are just databases with cryptographic signatures 

Some of the most efficient blockchains are said to be "private"; they leave control in the hands of a few central groups. Decentralization purists mock them because they've traded away the dream and put some central power in control.

Identity is hard to manage

Users define their identity with a cryptographic key and must keep their part secret. If someone gets a copy of the key, they can impersonate the so-called owner, a danger that has led many bitcoin users to store their bitcoin on thumb drives in old-fashioned bank vaults.

Impersonation, of course, is much worse if the blockchain tracks something of value, because the impersonators are usually going to steal the digital goods.

Lost identities are a bigger problem

If the key is lost or destroyed—something that is surprisingly easy—control of the assets on the blockchain is lost to everyone. Forever.

Many wonder how many coins on the blockchain are frozen for all of eternity, controlled by some key that wasn't backed up correctly. It's bad enough when a fortune disappears because someone lost control of it, but it can be worse for everyone if some general assets used by society are frozen in time.

Imagine if some blockchain tracked ownership of real estate and the key to some important chunk of land disappeared.

Regular dispute mechanisms don’t work 

If someone loses a trial, the court can order banks to transfer money to the winner. But if an owner of an asset on the blockchain doesn't want to use the key to sign off on the transaction, there's nothing anyone can do.

Control of the asset depends upon control of the key. But if we insist that people share copies of their keys in case this happens, then we create a vulnerability that might be exploited.

Giving a human power to fix a blockchain destroys the purpose 

We could create some kind of super-court system or magistrate who could fix the problems with lost keys or failed transactions. But that would destroy the central power of the blockchain and make all of the mining and updating algorithms mere rituals. The human with the power ends up being the final arbiter—just like with the current system.

Blockchain isn't as permanent as we're told

After all the calculations and complex mathematics, the decision about whether to accept new transactions onto the ledger depends upon some if-then statement. And that if-then statement can be reprogrammed by the people who write the code running on the dominant fork.

[ Webinar: Get Started with Seamless App Sec in a Single Day (Jan. 23) ]

More blockchain follies

The best way to understand how all of the wonderful mathematics can't fix the fragile, brittle interface with the real world is to look at how the community "fixed" the blockchain after a hacker was able to steal a fortune of ether coins invested in the DAO, a kind of venture capital fund for the cryptocurrency world.

When the magnitude of the theft became understood, the programmers who dominated the Ethereum code decided they couldn't just ignore the fraud, the typical response to smaller crimes. So they decided to return the stolen coins to their previous owners by invalidating some of the transactions. They "fixed" the problem by writing in exceptions to the blockchain update routines to ignore some old transactions.

If this can be done once, it can be done by anyone in the future. Whoever controls the code that updates the ledger has the power to rewrite the past. All of the complexity of the mathematics is just theater, because nothing can bind the people in the future to obey transactions from the past.

Use it, but cautiously

Are these reasons enough to give up on blockchains and cryptocurrencies entirely? Not at all. The digital signatures can add an additional layer of assurance to any back-office process. The cryptography can reduce fraud and prevent some simple attacks.

But anyone who wants to adopt blockchains for their enterprise should keep these limitations in mind. All of the cryptography can help smooth the transactions, build trust where there is none, and reduce some of the disputes. But it can't offer the perfection that some promise. There's a gap between the ephemeral world of mathematics and the real world that can't be completely closed.