I’m pretty late to the party but I’ve become fascinated by the digital currency Bitcoin and the other blockchain-based systems such as Ethereum which followed it. The latest on my radar is Filecoin, which has just entered into an ICO or ‘Initial Coin Offering’.
Part of my fascination is that, despite the commotion about them, blockchain-based systems (blockchain, for short) don’t add up.
What is blockchain?
Blockchain is a technique for solving the decentralised consensus protocol, a topic I wrote a chapter about in the textbook Distributed Systems: Concepts and Design. Roughly speaking, decentralised consensus is where computers agree upon their state through a communications procedure or protocol across a network, and do so despite certain failures or attacks, and without reliance on trusted intermediaries.
Of particular interest here is that blockchain is motivated by the creation of value at a social level, and so fits with our company theme of technology for collectivity. Bitcoin, Ethereum’s ether and Filecoin are all offered as digital currencies or cryptocurrencies – although there is room for debate about whether they are currencies in the fullest sense. Ethereum also provides processing of ‘smart contracts’, which are aimed at decentralised verification of business arrangements.
The intermediaries being eliminated are the so-called trusted third parties – the banks and other institutions through which the majority of our transactions currently flow. In the original paper on Bitcoin, its pseudonymous author Satoshi Nakamoto refers to “the inherent weaknesses of the trust based model”. He goes on to say that the “cost of mediation increases transaction costs, limiting the minimum practical transaction size and cutting off the possibility for small casual transactions.”
Another important aspect of the blockchain design, although this is orthogonal to how blockchain solves consensus, is that the parties involved in transactions can remain anonymous.
My questions about blockchain are:
- Do blockchain technologies solve the problem of trust, as their authors claim?
- Can they sustain sufficient transactional throughput?
- Are blockchain technologies secure?
- Are they environmentally friendly?
In this post I’m going to concentrate on (1) and (2). The crux of my answer is that there is a paradox in blockchain. Its attempt to eliminate trusted third parties eliminates a supposed benefit of doing so – lowered costs – and simply shifts trust from one place to another.
How consensus is reached
Blockchain is used to create a ledger of transactions which serves to solve double-spending and related problems. Unlike paper money or metal coins, digital cash is easily copied. Double-spending is where A gives B some digital cash but tries to give the same cash to C (perhaps back to A again). But we can prevent this. If we give every piece of digital cash a unique digital identifier and refer all transactions to a ledger which everyone agrees upon, then double-spending becomes impossible. Only the first transaction is allowed to succeed and any subsequent transaction with the same digital cash identifier will be detected and blocked.
Bitcoin was the first digital currency to enable that ledger to be created in a decentralised way, i.e. where the ledger is constructed collectively by computers that are peers of one another, and no one computer has a privileged position in relation to another – in particular, none is a trusted third party. Servers called miners collect transactions in blocks and thereby order them. Each block orders its own transactions, and the blocks as a whole are ordered – hence the name blockchain. Together, the miners create a ledger with a unique ordering of all transactions that ever existed.
In principle, anyone can set up a miner to work on creating the ledger. But what if enough bad guys were to collude to break the integrity of the ledger? Bad guys don’t have to obey the rules. Maybe, for example, they could break the rules in such a way as to show one version of the ledger to one party who’s been paid, and another version of the ledger to another party paid with the same digital cash, so that neither detects the double-spending.
Blockchain protocols share a mechanism for preventing bad guys from creating multiple versions of the ledger, even when they collude. All miners are required to allocate significant resources when creating new blocks in the ledger, and to prove that they have done so. Furthermore, the protocol makes it impossible for bad guys to create false blocks unless they can allocate at least 50% of all the resources. The assumption is that good guys will be in control of more than 50% of all resources.
Bitcoin, in particular, chose processing as the resource. Miners have to solve a hard computational puzzle to create a new block in the ledger, one which is soluble but takes substantial computing power. Miners are called miners because they are doing computational work in order to create new blocks in the ledger. This is known as ‘proof of work’. Furthermore, miners race one another to complete the work required for the next block. As an incentive, the first miner to complete a block is rewarded with bitcoins they can keep – on top of any transaction fees they charge.
Now we know enough to understand the paradox, which is that the attempt to solve ‘the problem of trust’ – by eliminating trusted third parties using blockchain – leads to loss of the supposed benefits of doing so.
Proof of work limits the transactional throughput of Bitcoin. The theoretical limit under current parameters is about three transactions per second. Yes, three transactions per second across the world. This is tiny. By contrast, the Visa credit card system alone manages thousands of transactions per second and can handle up to 56,000 transactions per second. Even the more recent Etherium system, which operates a different protocol but still based on blockchain and proof of work, can manage only about 25 transactions per second.
As we noted, miners charge a fee per transaction. Given that transaction throughput is so limited, the fees will be higher, the more the demand outstrips the miners’ ability to process them. The more you pay, the faster your transaction will be processed. Check out this chart of transaction fees. I have found no data on fees as a function of the value of the transaction – fees are charged according to the transaction size in bytes, not by the value of the transaction. However, yesterday (14/08/2017) the average transaction fee was over $4 (actually the bitcoin equivalent), which is hardly appropriate for “small casual transactions”.
Another way of looking at the rapid rise in fees is that they are a function not only of the scarcity of transactional bandwidth, but of what people are prepared to pay for anonymity.
And what about trust itself? In moving from, say, Visa to blockchain miners, we move from a known, regulated entity with a reputation to preserve to a dwindling set of unknown but wealthy and powerful agents. Due to intense competition, blockchain-based systems are implemented by a relatively small number of parties with sufficient resources to build very fast clusters of mining computers. The faster one can mine a given block, the more likely it is that one will receive the fee due for it, and the technology applied to mining is powerful and expensive.
By design, the blockchain protocols incentivise good behaviour. However, we are in fact trusting those miners not to raise transaction fees arbitrarily high; not to refuse to process certain transactions at all; not to threaten to switch the blockchain system off…
Alternatives to proof of work?
I have simplified somewhat. There are other parameters to blockchain, not just the type and duration of the work that has to be proved. However, inadequate transaction throughput is a fact of current implementations and proof of work contributes significantly to that. Alternatives to proof of work, i.e. solving computationally hard puzzles, have been proposed although none widely used. Filecoin, for example, is the latest system based on proof of using up storage space instead of computation. But Filechoin has yet to be implemented, and I’m unable to find transaction numbers for any system not based on proof of work.
As I will write in another post, the security of ‘proof of work’ blockchain protocols is, mathematically speaking, unproved. Let alone the alternative protocols that are being invented as I type.
Moreover, the ‘work’ in proof of work is useless and adds to greenhouse gases.
I’m particularly intrigued to know whether one could come up with a social angle on this: proof of carbon-reducing social capital in a democratic economy as a basis for a digital currency. Now that would be something.
In the meantime, many are investing in blockchain against all logic, as far as I can see. But, hey, I live in the land of Brexit.
As I began by saying, I’m new to the blockchain party and there are plenty of crypto and fintech experts out there. Am I wrong?