Last week I reviewed a range of technical changes and alternatives to the current Bitcoin protocol. These and other changes are needed urgently, because, as I pointed out before, the decentralized Bitcoin network is impossible to defend in its current design.
This month has seen a repeat of the “spam attack” that occurred in July, as I predicted. The October event caused a huge backlog in transactions waiting for confirmation, simply by submitting gigantic numbers of tiny transactions. Note that there is nothing “wrong” with such transactions, indeed, many people would like to see slews of microtransactions to expand the digital economy—which would stress the network in exactly this way.
The backlog cleared out in a day or so, which is bad but not fatal. However, the swollen load had a disproportionate effect on smaller, low cost nodes, to the extent that many had to shut down. They have not returned so far, and many surely will not because they were basically running as a charity to help the whole community. This is a 10% drop in the total number of nodes in the Bitcoin network, and a 20% drop in the last year. At less than 9,000 nodes, the Bitcoin network is far short of the “whole Internet”. (As a comparison, if you are sitting in a coffee shop in any major city, there are probably 10,000 computers within 1KM of your chair.)
The other effect has been a bidding war, raising the fees on transactions in response to long queues. This basically blocks out services that seek to provide low fees, concentrating service to the wealthier clients, effectively “centralizing” the population of traders (and raising “taxes” on everyone). Note, too, that higher fees probably blocks out microtransactions.
Basically, the spam attacks affect the long tail of small, slow, and cheap nodes, pruning the weak, and raising the bar for participating in the Bitcoin network as it is currently conceived.
If this trend continues it will do deep harm to both the technology and the culture of Bitcoin. The “Bitcoin network” is a decentralized collection of thousands of computers contributing to the consensus that keeps the blockchain viable. The network is voluntary, and is intended to include anyone who wants to join. This openness is critical for the “trust” that people put in this “trustless” system. The day that the Bitcoin network becomes captive of a wealthy interest groups will be the last day that anyone takes Bitcoin seriously.
Worse, if the number of nodes is too small, the system is easier to manipulate, and many of the algorithms break down, no longer operating as they should. The general idea of the Bitcoin network is that “the Internet” is so large that it is impossible for any handful of large, high performance servers to dominate the consensus. But if the network is too small then it is quite possible for a group to amass enough power to control the transactions. End of Bitcoin.
As an engineer, I have to see the single, global ledger of Bitcoin as a point of failure and target for attacks, regardless of how many copies there may be. The underlying assumptions about the invulnerability of the peer-to=peer protocol seem to be based as much on faith as engineering.
Many of the proposed changes I have looked at elaborate the network into hierarchies or shards or both. These moves should make spam attacks more survivable, as well as providing other benefits including better response time and more options for how to use the system.
I’m not sure that these proposals will be favorable to the low-cost processors who have been spammed off the net this month. We may be moving beyond the “running a Bitcoin node in your basement” phase of the technology. If so, then Bitcoin will be changing both technically and culturally. Will it still be Bitcoin?