What is the Real Problem with Bitcoin?

1 Oct

 

There is currently a capacity crisis in the Bitcoin processing system. Or if there isn’t already, there will be soon. Informed estimates predict that at current expansion rates, the infrastructure will be unable to support the volume of transactions per second (tps) by the end of 2016.

A software patch, Bitcoin XT, has been released which will increase the ‘block’ size, i.e. number of recorded transactions which can be processed at one time. To date, Bitcoin XT has been adopted by 9.5% of the network. But because Bitcoin is open source, any change must be approved by the majority of the network, a device which was intended to keep its workings transparent and libertarian.

A fork in the road

A fork in the road: Bitcoin XT vs Bitcoin Core

A Fork in the Works

Two well-known Bitcoin developers have forced the issue by designating that if Bitcoin XT is adopted by 75% of the network of miners by 2016, the larger block size will become mandatory for all those who accept the change. Whereas currently the old protocol Bitcoin Core and Bitcoin XT are mutually compatible, after the change this will no longer be the case. Users will have to elect to use one or the other. The currencies will have ‘forked’ in two.

There is some antipathy towards a forced uptake of Bitcoin XT by the major Chinese mining pools. Taken together, the biggest Chinese miners comprise over half the network. COO of BTCChina, for example, has told journalists that BTCChina and the wider Chinese mining community “has decided not to adopt Bitcoin XT. The foundation of Bitcoin is consensus and what we need is for core devs to reach consensus on changes to Bitcoin Core. Without that consensus from the core devs, it falls upon the mining community to maintain the stability of Bitcoin, and that is what we will continue to do.”

This reflects a wider contention about the upgrade, which is the larger block size will restrict transaction processing to those who can afford the necessarily superior computing power. Therefore Bitcoin mining will become largely centralised to large corporations and its founder Satoshi’s egalitarian vision will be lost.

More than One Way to Skin a Kitten

The ‘gold standard’ of processing capability is credit card giant Visa’s online payment network. To scale up to Visa’s transaction volume of 45,000/tps would amount to almost 8 gigabytes per Bitcoin block, on average every 10 minutes (assuming an average of 300 bytes per bitcoin transaction.)

In fact, several possible solutions have been proposed. One of these, aspects of which have been implemented already in the Swedish-origin micropayment system built by Strawpay, advocates creating a payment system completely independent of the blockchain; bilateral payments between individuals or organisations would be netted and only periodically cleared. This is the Bitcoin Lightning Network proposal.

The difference between the theory and the reality of the system which has put it into practice is that Ström, Strawpay’s payment protocol, does not facilitate transactions directly between the two parties. This would involve keeping a secure, encrypted payment channel permanently open which at a high processing volume would be very expensive and bandwidth-heavy. Instead it uses a ‘promissary note’, a device which verifies the value transferred but it is only redeemable by the recipient.

This ‘hub and spoke’ system, which involves several identity verification steps, using a signing ‘key’ (usually a number randomly generated through a proprietary algorithm), takes place between nodes which can be continents apart. In contrast, there is only one signatory in Bitcoin – the sender – and it is possible to do this offline.The transaction is processed by whichever Bitcoin mining node, or collectively a mining pool, is in the closest locality.

The Lightning Network proposal is well argued and at first sight seems persuasive. To use the explanation of the papers’ authors, Joseph Poon and Thaddeus Dryja, transactions would be sent “over a network of micropayment channels (aka payment channels or transaction channels) whose transfer of value occurs off-blockchain.” The net value of the transactions made between two counterparties would be calculated, and transmitted to the blockchain for clearing.

To quote again, because they explain it better than I could: “Micropayment channels create a relationship between two parties to perpetually update balances, deferring the transaction broadcast to the blockchain in a single transaction netting out the total balance between those two parties. This permits the financial relationships between two parties to be trustlessly deferred to a later date, without risk of counterparty deficit…

The output is encumbered by a hash if the parties’ first signature is provided. Two sets of keys from both participants are used to enforce the ability to broadcast the spending transaction depending on whether R from hash (R) is known.”

But… Complexity does not Enhance Connectivity

Some, among them Bitcoin XT developer Mike Hearn, have argued the Bitcoin Lightning Network’s proposal for an entirely new network of nodes, and a protocol to govern their relationship with the Bitcoin blockchain, is over-complicating matters. The infrastructure proposed, as explained above, would not necessarily use any less bandwidth.

Hearn, who admittedly has a vested interest in justifying his own solution, nevertheless has very valid criticisms of the Lightning Network System. The first is that the proposed payment hubs are ‘stateful,’ which means they must be regularly backed up and be relied on not to crash out. Otherwise the record of transactions will be lost. Whereas if a Bitcoin node disappears, it is irrelevant because “all software that accesses the P2P network knows how to recover from a node suddenly vanishing.”

If a Bitcoin node suffers from data loss, the user can just reinstall it and it will re-calculate the data. If it gets hacked, nothing can really be stolen because the transaction log is indelible and is public property.

Another point is that the proposed system of secured payments would under ‘graph traversal’, where node-to-node communications would go back and forth several times to create, transmit and verify signatures. With Bitcoin, the payment process occurs in more of a ‘flood fill,’ to borrow Hearn’s terminology, so the transaction can be verified locally.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: