I have long argued that the blockchain – the system that
underpins Bitcoin – is a real fintech innovation, whereas Bitcoin itself is a by-product.
But not everyone agrees that blockchain is such a wonderful idea and that it is
a flawed system. It is thus worth digging a little deeper into the workings of
blockchain to assess some of the pros and cons.
There are two key elements associated with blockchain: How it works and why it works. The ‘how’ is a routine process of transaction
verification designed to ensure that each transaction is valid. One way to do
this is to add a timestamp to each transaction and adding it to a chain of time
stamped transactions. This is validated by a complex proof-of-work algorithm that
cannot be changed without redoing all previous steps in the proof-of-work
chain. This makes use of an algorithm known as a ‘cryptographic hash function’
which converts a numerical input of arbitrary length into an output of fixed
length. This process is resource intensive and has to be run numerous times
before the hash function generates an output that is accepted by the rest of
the blockchain community. One feature of the system is that it is difficult to
work back from the output to the input, thus preventing miners from working out
how to falsify previous blocks. This is similar to procedures used to encrypt
website passwords which prevent hackers from being able to work out users’
passwords by viewing the encrypted data.
The ‘why’ of blockchain is also interesting. It
effectively offers a solution to the long-standing game theory puzzle which has
bamboozled generations of computer scientists – the Byzantine Generals problem.
Cracking this problem offers an insight into how a decentralised ledger system
can operate. To get a handle on it, consider a thought experiment in which a
group of generals (>2) are assumed to be outside a city, each with an army,
and all want to invade the city. It is known that if at least half attack at
the same time, they will be successful. But if they do not co-ordinate their
plans to ensure they can muster the requisite number for the assault, they will
be unsuccessful. They must thus collude in planning their attack, but the
generals face three problems: they must (a) know whether their messages get
through in the first place; (b) receive an acknowledgment indicating that the
plans have been accepted and (c) verify that the information passed between
them is true.
Computer scientists have struggled for 40 years to derive a
network solution which will overcome all three of these problems simultaneously
but finally the blockchain appears to have managed it. Since the blockchain is
arranged on a peer-to-peer basis, messages are transmitted to a user’s immediate
peers and the information disseminates quickly through the system. Thus, unless
the user’s connection is faulty, condition (a) is satisfied. Condition (b) is
satisfied once all other users in the system validate the proposed change to
the ledger.
But before users are prepared to validate these changes,
they must be sure that condition (c) is satisfied. The trick to ensuring that
people send true information across the network is to make the history of all
transactions publicly available and the cost of providing false information prohibitively
high. In the case of our Byzantine generals, in which they are each shuttling messages
back and forth between themselves, a potential traitor must be able to falsify
all messages – including those in which he had no hand in writing. If we impose
a constraint on the time each general has to reply to the message sent from one
of the others, it becomes ever more difficult to falsify the results of
communication between third parties.
In the case of Bitcoin miners, the costs
of doing the number crunching in order to falsify all historical transactions
is so high that there is no apparent gain from doing so. In short, if we attach
a cost to sending a message and ensure that only one person can send a message
at a time, the authenticity of the blockchain is guaranteed.
So far, so good. Moreover, the blockchain offers the
security advantage that information does not sit merely on one system, but is distributed
across many, and may thus be less susceptible to denial-of-service attacks. But
it may not be immune to hacking. For example, if sufficient computing power can
be corralled to gain access to more than 50% of the systems linked to the
network, the integrity of the chain will be compromised. This is not believed
to be possible at present, but there may come a day when the power unleashed by
quantum computers is such that it can overwhelm existing networks.
There is also a question of what sort of transactions are
suitable for recording on a blockchain which is increasingly used to design
smart contracts. The smaller blockchains upon which they rely might be easier
to circumvent than the huge public networks which underpin Bitcoin, precisely
because the smaller number of participants makes it easier for parties to collude
(this blog post discusses such an example). If the complex and expensive proof-of-work algorithms can be undermined in
small networks, blockchain may not offer the security benefits for private
sector transactions which are often claimed. Consequently, as the Bitcoin
experience demonstrates, it may be more suitable for large-scale networks (e.g.
maintaining driving licence or social security records). But the bigger the
network, the higher the energy costs of maintaining it – a cost which is an inevitable
consequence of providing the desired level of security.
I still happen to believe that blockchain has a future. It
may not be the all singing, all dancing product which its proponents believe,
but it does represent a major breakthrough in computing technology. It may prove to be a solution which has not yet found the right problem to solve.