Blockchain speeds & the scalability debate

I’m writing a series of posts about blockchain infrastructure, and in particular how it impacts on blockchain and crypto startups. In Part 1, I discussed blockchain size and the key differences between Bitcoin’s blockchain and Ethereum’s. I concluded that blockchain size doesn’t have a significant impact on startups; it’s only relevant to miners and others who want an archive of the entire blockchain.

However, the speed of transactions on the most popular public blockchains does has an impact on startups. Indeed, transaction speed is at the center of concerns about the scalability of blockchains like Bitcoin and Ethereum.

When we’re talking about transaction speed, we’re really talking about how long it takes for an individual transaction to be confirmed.

We’re not talking about how long it takes for a block to be added to the public ledger. In Bitcoin, each block is a maximum of 1 MB and will always take about 10 minutes to be mined, as specified in the Bitcoin white paper. The expected block time in Ethereum is much quicker, 10-19 seconds. That’s mainly because its block sizes are much smaller – currently around 20-30kb.

Regardless of their differences, block mining in both Bitcoin and Ethereum is a stable mechanism and doesn’t typically deviate from the expected times.

What isn’t stable is how long it takes for an individual transaction to be added to the blockchain.

Bitcoin transaction speeds

On average Bitcoin processes about 7 transactions per second, which makes it pretty slow compared to Ethereum (15) and Ripple (the fastest major cryptocurrency, at 1,500 per second). Visa does 24,000 transactions per second.

As for individual transactions, it can take anywhere from ten minutes to many days for it to be confirmed. Here’s the average confirmation time over the past 60 days, according to Blockchain.info:

Average Confirmation Time

As you can see, the latest figure at time of writing was 55 minutes. But so far this year, it’s gone as low as 9.76 minutes and as high as 190 hours (nearly 8 days).

Why the variance? It comes down to two main factors:

  1. The amount of network activity
  2. Transaction fees

Normally you can expect to pay a fee of around $1. But when the network gets very busy, the fees go up. This happened in December, during the bull run. Media reported an average transaction fee of $28 during this period.

This volatility in transaction time makes it difficult for Bitcoin to be used as a payment mechanism. Alternative cryptocurrencies, like Bitcoin Cash and Ripple, have on average much quicker transaction times and lower fees.

However, Bitcoin’s developer community has come up with two solutions to this problem: SegWit and Lightning Network. SegWit (Segregated Witness) allows for more transactions per block, as explained here by Coindesk:

By separating signature and transactional data, SegWit reduces the “weight” of transactions, which creates more room in any given block. This does not increase the network’s block size limit, but it does increase the volume of possible transactions.

Prominent exchanges like Coinbase and GDAX now support SegWit, so that has helped lower fees again.

As for Lightning Network, without getting too complicated, it enables transactions to happen “off chain” and the end result added to the blockchain later. This requires trusted nodes, so it’s not as decentralized as confirming transactions directly on Bitcoin’s blockchain. It’s still an experimental technology.

To summarise, despite teething problems in Bitcoin transactions – especially over December and January – SegWit and Lightning Network are promising solutions to these problems.

Ethereum transaction speeds

As always, Ethereum is more complicated. The actual block time is consistent: around 15 seconds currently. But it doesn’t tell the whole story…

Ethereum BlockTime History

As noted above, the Ethereum blockchain can only do roughly 15 transactions per second. But while block time is fairly consistent, when there are a lot of transactions to process it can lead to long queues.

We saw this play out in December, when the CryptoKitties craze reached a peak and clogged up the Ethereum network. This is the pending transactions queue at that time:

At the CryptoKitties peak, the queue was 20,000-25,000 transactions.

That said, even now Etherscan shows an average queue of around 15,000-20,000 transactions. Compare that to earlier in 2017 when it was only a few thousand. This is likely due to the ever-increasing number of ICOs launching on the Ethereum platform, which means a lot more transactions are taking place.

Ethereum hopes to combat the transaction queue problem with various solutions. One is “sharding,” which Coindesk defined here:

‘Sharding’ draws from a traditional scaling technique called ‘database sharding’, which effectively breaks a database into pieces and puts each part on a different server.

Like Bitcoin’s developers, Ethereum is also exploring off-chain solutions. One is called Raiden, which is Ethereum’s version of Bitcoin’s Lightning Network. Another off-chain solution being developed is Plasma, which uses “a series of smart contracts to create hierarchical trees of sidechains.”

Conclusion

It’s beyond the scope of this blog to analyze the technicalities of all the Bitcoin and Ethereum scaling solutions I’ve mentioned (follow the links if you’d like the tech details). What I hope to have made clear is that while there are issues with individual transaction times on public blockchains currently, both Bitcoin and Ethereum are putting in a lot of developer effort to resolve these problems.

The reality is that public blockchains are growing rapidly, as more people buy cryptocurrencies and more startups launch. Ethereum’s situation seems more pressing than Bitcoin’s, simply due to the number of ICOs that are using Ethereum. So they’re most at risk, I would suggest, if scaling can’t be sorted and its transaction queue brought under control.

More in this series: Infrastructure trends part 1: blockchain size