public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Andreas Schildbach <andreas@schildbach•de>
To: bitcoin-dev@lists•linuxfoundation.org
Subject: Re: [bitcoin-dev] Bitcoin Core to disable Bloom-based Filtering by default
Date: Mon, 22 Jul 2019 00:56:33 +0200	[thread overview]
Message-ID: <qh2qj1$7sg4$1@blaine.gmane.org> (raw)
In-Reply-To: <59fad2b6-9b15-ffec-116e-91d27ce29f80@mattcorallo.com>

An estimated 10+ million wallets depend on that NODE_BLOOM to be
updated. So far, I haven't heard of an alternative, except reading all
transactions and full blocks.

It goes without saying pulling the rug under that many wallets is a
disastrous idea for the adoption of Bitcoin.

> well-known DoS vectors

I asked many people, even some "core developers" at meetings, but nobody
ever was able to explain the DoS vector. I think this is just a myth.

Yes, you can set an overly blurry filter and thus cause useless traffic,
but it never exceeds just drinking from the full firehose (which this
change doesn't prohibit). So where is the point? An attacker will just
switch filtering off, or in fact has never used it.

> It is not anticipated that
> this will result in a significant lack of availability of
> NODE_BLOOM-enabled nodes in the coming years

Why don't you anticipate that? People almost never change defaults,
especially if it's not for their own immediate benefit. At the same
time, release notes in general recommend updating to the latest version.
I *do* anticipate this will reduce the number of nodes usable by a large
enough amount so that the feature will become unstable.

> clients
> which rely on the availability of NODE_BLOOM-supporting nodes on the
> P2P network should consider the process of migrating
> to a more modern (and less trustful and privacy-violating) alternative
> over the coming years.

There is no such alternative.

I strongly recommend postponing this change until an alternative exists
and then give developers enough time to implement, test and roll out.

I also think as long as we don't have an alternative, we should improve
the current filtering for segwit. E.g. testing the scripts themselves
and each scriptPubKey spent by any input against the filter would do,
and it also fixes the main privacy issue with server-side filtering
(wallets have to add two items per address to the filter).



  reply	other threads:[~2019-07-21 23:12 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-20 17:46 Matt Corallo
2019-07-21 22:56 ` Andreas Schildbach [this message]
2019-07-22  5:01   ` Matt Corallo
2019-07-22 15:58     ` Justus Ranvier
2019-07-26  7:45       ` Tamas Blummer
2019-07-22  8:32   ` Peter Todd
2019-07-22 13:25   ` Jonas Schnelli
2019-07-22 17:17     ` Luke Dashjr
2019-07-22 17:26   ` Luke Dashjr
2019-07-23 14:47   ` Andreas Schildbach
2019-07-24 13:11     ` Justus Ranvier
2019-07-25  3:04     ` Luke Dashjr
2019-07-26 10:04     ` Jonas Schnelli
2019-07-27 16:10       ` Matt Corallo
2019-07-26 16:48     ` Chris
2019-07-27 19:19     ` Luke Dashjr
2019-07-22 15:04 ` Tom Harding
2019-07-22 15:15   ` Dustin Dettmer
     [not found] ` <FF0175BF-1D1F-4AD4-9B13-99D522DBCD83@bridge21.com>
2019-08-14 15:07   ` Matt Corallo
2019-07-22 18:52 Peter
2019-07-22 20:42 ` Greg Sanders
2019-07-22 21:17 ` Luke Dashjr
2019-07-23 20:36 ` Peter Todd

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='qh2qj1$7sg4$1@blaine.gmane.org' \
    --to=andreas@schildbach$(echo .)de \
    --cc=bitcoin-dev@lists$(echo .)linuxfoundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox