Bitcoin Node Numbers Fall After Spam Transaction "Attack"
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'.
Under stress
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 legalityof 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.
Altruism
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 withweekly 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."
The leader in blockchain news, CoinDesk is a media outlet that strives for the highest journalistic standards and abides by a strict set of editorial policies. CoinDesk is an independent operating subsidiary of Digital Currency Group, which invests in cryptocurrencies and blockchain startups.
相關文章
- LeetCode之Sum of Even Numbers After Queries(Kotlin)LeetCodeKotlin
- google2016面試題-count of smaller numbers after selfGo面試題
- Mysql異常刨析:Could not commit JDBC transaction;No operations allowed after statement closedMySqlMITJDBC
- SPAM/SAINT update(轉載)AI
- CRS can not Start After Node Reboot (文件 ID 733260.1)boot
- 每個 node 應用可能存在的 timing-attack 安全漏洞
- Spam Or Ham讀書筆記筆記
- studying Bitcoin
- SAP打補丁(Tcode:SPAM)
- spam和saint的用法介紹AI
- Basket Fall 2-Gravity!
- bitcoin原始碼分析原始碼
- Vulnhub實戰-FALL靶機?
- Moto Rider-Do not fallIDE
- padding oracle attack相關之padding oracle attackpaddingOracle
- 400多種Numbers模板 DesiGN for Numbers Templates for macMac
- Bitcoin類錢包命令
- Intent scheme URL attackIntentScheme
- Bitcoin序列化庫使用
- 通過 Golang 買賣 BitcoinGolang
- bitcoin: 何為燃燒地址
- Bitcoin程式碼之MerkleTree
- Bitcoin 實驗的定論
- bitcoin 與存在性證明
- Bitcoin: 計算 Merkle Tree
- Codeforces - Jzzhu and Numbers
- different random numbers generatorrandom
- Collecting Numbers II
- Linux伺服器---郵件服務spamLinux伺服器
- Unsortbin attack原理及分析
- Activity Transaction
- Bitcoin Gold 遭遇雙花攻擊Go
- jQuery after()jQuery
- oracle set transaction read only與dbms_transaction實現事務transaction控制Oracle
- linux symbolic link attack tutorialLinuxSymbol
- HTTP Slow Attack測試工具SlowHTTPTestHTTP
- BTCC<Bitcoin+Blockchain> Hiring GolangerBlockchainGolang
- bitcoin OP_CHECKSIG 交易驗籤