Revisiting NODE_BLOOM: Proposed BIP



Summary:

This document is a revised copy of a message discussing the potential negative effects of encouraging more people aside from bitcoinj to use HTTP seeding. The message suggests that a DNS seed section should be added but later decides against it. Instead, the message advises adding the option to select service bits to DNS seeds as soon as possible. The message also touches on BIP 37, Connection Bloom filtering, by defining a service bit to allow peers to advertise that they support bloom filters explicitly. It also bumps the protocol version to allow peers to identify old nodes that allow bloom filtering of the connection despite lacking the new service bit. The motivation behind this change is that BIP 37 did not specify a service bit for the bloom filter service, thus implicitly assuming that all nodes that serve peers data support it. However, the connection filtering algorithm proposed in BIP 37 has been shown to provide little to no privacy, as well as being a large DoS risk on some nodes. Therefore, allowing node operators to disable connection bloom filtering is a much-needed feature.Finally, the message notes that Bloom filters have scaling issues and that each application of the filter has to scan the entire blockchain. This could be problematic with future block size increases, and it conflicts with some proposals to "shard" the blockchain. Thus, future upgrades may require a bit to handle more scalable designs.


Updated on: 2023-05-19T21:37:20.743408+00:00