The number of reachable nodes has declined further following an âattackâ that overloaded the bitcoin network.
Last week, an unknown actor sent a deluge of spam that left bitcoinâs nodes â the clients that store and relay transactions â with upwards of 88,000, or 1GB worth, waiting in their collective memory pool.
As Jay Feldis from hardware node maker BitSeed explained to CoinDesk, many low-spec nodes simply could not keep up:
âEventually, the transaction backlog fills-up the RAM memory of the nodes. This causes the node computers to slow down dramatically or even freeze-up. If a node slows down too much, the bitcoin network considers it to be ineffective and âofflineâ. My guess is that most of the offline nodes just stop functioning well enough to respond.â
By Thursday, node numbers on tracking service Bitnodes had dropped 10%.
Today, despite the memory pool returning to normal (around 4MB at press time) and Core developer Jeff Garzik implementing a âquick fixâ for operators, the total number of reachable nodes â 5,030 â remains 16% lower than before the âattackâ.
Over the past year, the bitcoin network has been subject to a number of so-called âstress testsâ which has seen it flooded with many low-value transactions. While some have speculated over the legality of these actions, others have accused those behind them â namely, CoinWallet â of holding the network ransom.
While node operators cannot stop the tests â sending 1 million transactions in bitcoinâs smallest denomination, 5,430 satoshis, could cost a spammer as little as 54 BTC (or roughly $13,000) â there are now a number of proposals that could help mitigate against them.
The âquick fixâ Garzik implemented Monday, for example, is an adjustment to each nodeâs so-called âMinrelaytxfeeâ, which lets it reject transactions below a certain fee.
In the most recent release of Bitcoin Core it had been set to 0.00001 bitcoin per KB by default. This has now been increased by a factor of five to 0.00005 bitcoin per KB.
Garzik himself admits itâs an âugly workaroundâ while a more robust solution is underway, with proposals from fellow Core developers Matt Corallo, Pieter Wuille and Peter Todd currently on the table.
âPretty much everyone on the Bitcoin Core team is working on this, mostly by reviewing proposals, with a subset writing code,â Todd told CoinDesk, adding:
âThe main obstacle to doing this right has been to come up with a scheme that doesnât allow attackers to use up network bandwidth at no cost; it took a number of attempts by the Core devs to come up with a scheme that didnât have vulnerabilities in it.â
However, like any change that could impact bitcoinâs economics, not everyone agrees on exactly how this should play out, with Mike Hearnâs Bitcoin XT client taking its own route.
Some have been skeptical that nodesâ varying fees will make it difficult to price transactions â a potential problem for services which want to send transactions cheaply, for example smaller wallets.
Node operators, unlike miners, receive no newly minted bitcoins for their contribution to the network. Many are simply hobbyists who choose to run them altruistically â to keep bitcoin big, decentralised, and thus healthy.
Thomas White, who has been running multiple nodes for the past 15 months, told CoinDesk he does so because he already pays for a server which often has capacity going spare.
âAs a big bitcoin user, Iâm very aware of the importance of maintaining diversity in the network ⦠hosting the bitcoin blockchain there has no negative impacts for other projects on the hardware, while offering benefits to the bitcoin community,â he said.
Although he reported that last weekâs sudden uptick in transactions had not affected him, others with limited hard disk space were likely to suffer.
Reddit user âaaaaaaaarrrrrghâ was one of the node operators who took to the social network to express frustration during last weekâs inflated mempool. They said:
âIâve restarted my (XT) node and will try to add monitoring through Bitnodes, but otherwise, if it dies, it dies. I donât have any actual reason to be running that node, Iâm doing it out of goodwill and to support the network. If it gets too annoying, Iâll stop.â
While projects like Bitnodes â now rolled into 21 â are seeking to incentivise node operators with weekly payouts, it appears some operators simply wonât return, with this the final straw.
Redditor âIntroshineâ said they had spent $400 on hosting costs in the last year, adding: âI had to take over 28 nodes offline that could no longer handle the mempool. Also, I ran out of funds the last few months. Iâm sorry to say but theyâre not coming back.â