Bitcoin Core developers have been trying to squash a cockroach of a bug that has bothered full node operators since 2020. This month, it seems like they might have finally exterminated the pesky disk fill attack once and for all.
The disk fill attack physically annoys the machines that operate full nodes. Attackers use commands like LogPrintf, LogInfo, LogWarning, or LogError to force the hard drives of victims to excessively write superfluous data to disk.
Especially for cheap or older nodes that use non-flash storage with a spinning disk, this excessive logging overwhelms their hard drives, filling it with pointless data.
Read more: High severity bug in Bitcoin Core affects 17% of full nodes
Even for storage drives that use flash storage, excessive writes degrade the disk and can even crash the machine altogether.
Ending Bitcoin’s disk fill attack
In Bitcoin Core Pull Request (PR) 32604, which revived 21603 which revived 21559, which revived 19995—yes, the chain of extermination attempts spans five years—senior Bitcoin Core developer Gloria Zhao merged bug patch 2d59977 into master branch production last week.
The commit passed 19 checks, and no developer indicated NACK (negative acknowledgement), a vote that would have indicated disapproval of this change.
Developers are hopeful that once this patch proliferates across the Bitcoin network with the next release of Bitcoin Core, the disk fill attack might finally die. The latest version of Bitcoin Core is 29.0, released April 14. Core typically releases upgrades every few months.
As a voluntary software package that does not allow automatic updates, full node operators must always choose to manually upgrade their software.
About 16% of node operators are running version 29.0. Other nodes run older versions of the software.