Published on: 2015-08-24T18:33:40+00:00
On August 20, 2015, Peter Todd posted on the bitcoin-dev mailing list about a decrease in the number of Simplified Payment Verification (SPV) clients on his high-speed nodes. He estimated the drop to be from around 5-10% to about 1%. Another member reported having 20.4% bitcoinj connections on their own connection. The email conversation between Matt Corallo and Peter Todd discussed the risks associated with relying on seed nodes for starting nodes. They considered returning any node that responds to getaddr from DNS seeds to allow clients to connect to a few DNS seeds by name, then disconnect after selecting peers based on nServices. They also briefly mentioned the need to "shard" the blockchain but dismissed it as a future problem that did not require immediate attention.In an email thread from August 21, 2015, Peter Todd reported a DoS attack on Bitcoin XT nodes involving repeated Bloom filter requests that consumed disk IO bandwidth. The proposed BIP for disabling Bloom filtering was criticized by NACK, as it only added privacy for lightweight wallets, not node operators, and no research had been conducted on the claimed DoS attack. It was seen as creating more problems than it solved and unnecessary.The email conversation between Matt Corallo and Wladimir J. van der Laan discussed rewording the statement about NODE_BLOOM being distinct from NODE_NETWORK and the ability to advertise NODE_BLOOM without NODE_NETWORK. They agreed on acknowledging the potential usefulness of advertising NODE_BLOOM in the future but left the speculation of signaling which blocks pruned nodes have for a future BIP.The discussion on the bitcoin-dev mailing list revolved around implementing a bloom filter in Bitcoin's client/server architecture. The proposed changes included BIPs, pull requests, and discussions on DoS attacks and client/server architectures. Overall, the conversation touched on various aspects of improving filtering options within Bitcoin connections.Matt Corallo suggested adding an option to select service bits to DNS seeds and emphasized the importance of caching and proper gossip protocol participation. He believed that splitting blocks into multiples was the only solution for reasonable scalability and mentioned the need to protect miners from DoS attacks. The NODE_BLOOM service bit allows peers to explicitly advertise their support for bloom filters, addressing privacy concerns and DoS risks. Node operators should be able to disable connection bloom filtering.Peter Todd noted the decrease in Bloom filter usage as lite-SPV clients moved towards using centralized servers run by wallet authors. However, he pointed out that Mycelium lost users during a stress test when their infrastructure was overloaded, prompting their move to SPV. Jeff Garzik questioned the claim about Bloom filter usage decline, but Todd explained the drop in SPV clients and the popularity of wallets like Mycelium. He also mentioned the implementation of NODE_GETUTXO, which provides infrastructure for wallets needing bloom filters.The proposal by Matt Corallo and Peter Todd aimed to extend BIP 37 by defining the NODE_BLOOM service bit to address privacy and DoS issues associated with connection bloom filtering. It included increasing the protocol version for backward compatibility and requiring DNS seeds to support specified services. Peter Todd raised concerns about scalability and privacy issues and recommended adding a bit for more scalable designs in future upgrades.In summary, the discussion focused on the need for a service bit to advertise bloom filter support explicitly. The proposed extension to BIP 37 aimed to address privacy and DoS risks associated with connection bloom filtering, improve scalability, and enhance security in the Bitcoin network.
Updated on: 2023-08-01T15:37:04.587931+00:00