Subject: Re: [bitcoin-dev] Revisiting NODE_BLOOM: Proposed BIP

From: Peter Todd <[email-masked]>
Date: Thu, 20 Aug 2015 22:55:35 -0700

On Fri, Aug 21, 2015 at 01:48:23AM -0400, Jeff Garzik via bitcoin-dev wrote:
> If this is widely deployed + enabled, what is the impact to current wallets
> in use?

See my comment on the recently-opened issue, reproduced below. In short,
not all that much, especially if we adopt my suggestion of having the
Core implementation accept and respond to bloom filter requests from
non-upgraded clients regardless of whether or not NODE_BLOOM was set
until some fixed upgrade deadline in the future.

    Note that since the last time NODE_BLOOM was proposed, the landcape for
    (lite-)SPV clients has changed significantly in a few key ways:

    1) @mikehearn's [Cartographer](https://github.com/mikehearn/httpseed)
    seed protocol has been created and deployed in production to allow
    (lite-)SPV clients to find nodes supporting arbitrary service bits,
    notable NODE_GETUTXOs.

    2) Bloom filter usage has declined significantly, as lite-SPV clients
    are moving towards using centralized, trusted, servers run by the wallet
    authors. For instance
    [Mycelium](https://github.com/mycelium-com/wallet),
    [GreenBits](https://github.com/greenaddress/GreenBits),
    [AirBitz](https://www.reddit.com/r/Bitcoin/comments/3etohn/whats_wrong_with_breadwallet/ctirou5),
    and [Electrum](https://electrum.org/#home) all fall in this category.

    3) Bloom filters [have been found](http://eprint.iacr.org/2014/763) to
    have severe privacy issues, offering essentially no privacy at all.
    Under many threat models a small number of trusted servers pose less
    privacy security risk than connecting to random, sybil-attackable, peers
    using unencrypted connections and giving those peers very accurate
    wallet contents information.

    4) Finally, Bloom filters still have [unsolved DoS attack
    issues](https://www.reddit.com/r/Bitcoin/comments/3hjak7/the_hard_work_of_core_devs_not_xt_makes_bitcoin/cu9xntf?context=3),
    that will get significantly worse under upcoming blocksize increase
    proposals.

    Re: service bit identifier, I'd just pick 1<<3

    -https://github.com/bitcoin/bitcoin/issues/6578#issuecomment-133226943

-- 
'peter'[:-1]@petertodd.org
00000000000000000402fe6fb9ad613c93e12bddfc6ec02a2bd92f002050594d