Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193] helo=mx.sourceforge.net) by sfs-ml-1.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1TR6Lw-0006FG-Ng for bitcoin-development@lists.sourceforge.net; Wed, 24 Oct 2012 19:10:56 +0000 Received-SPF: pass (sog-mx-3.v43.ch3.sourceforge.com: domain of gmail.com designates 74.125.82.53 as permitted sender) client-ip=74.125.82.53; envelope-from=mh.in.england@gmail.com; helo=mail-wg0-f53.google.com; Received: from mail-wg0-f53.google.com ([74.125.82.53]) by sog-mx-3.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) id 1TR6Lv-0001VE-Qd for bitcoin-development@lists.sourceforge.net; Wed, 24 Oct 2012 19:10:56 +0000 Received: by mail-wg0-f53.google.com with SMTP id dr1so540378wgb.10 for ; Wed, 24 Oct 2012 12:10:49 -0700 (PDT) MIME-Version: 1.0 Received: by 10.180.90.201 with SMTP id by9mr4659801wib.5.1351105849719; Wed, 24 Oct 2012 12:10:49 -0700 (PDT) Sender: mh.in.england@gmail.com Received: by 10.216.236.30 with HTTP; Wed, 24 Oct 2012 12:10:49 -0700 (PDT) Received: by 10.216.236.30 with HTTP; Wed, 24 Oct 2012 12:10:49 -0700 (PDT) In-Reply-To: References: <20121024162255.GA30290@vps7135.xlshosting.net> <20121024171104.GA31766@vps7135.xlshosting.net> Date: Wed, 24 Oct 2012 21:10:49 +0200 X-Google-Sender-Auth: 58S35qqLFmBUIL8Q5hyu-wfs0DU Message-ID: From: Mike Hearn To: Gavin Andresen Content-Type: multipart/alternative; boundary=f46d0438eba939fac504ccd2d875 X-Spam-Score: -0.9 (/) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for sender-domain 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (mh.in.england[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record 1.0 HTML_MESSAGE BODY: HTML included in message 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.4 AWL AWL: From: address is in the auto white-list X-Headers-End: 1TR6Lv-0001VE-Qd Cc: Bitcoin Dev Subject: Re: [Bitcoin-development] Draft BIP for Bloom filtering X-BeenThere: bitcoin-development@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Oct 2012 19:10:56 -0000 --f46d0438eba939fac504ccd2d875 Content-Type: text/plain; charset=UTF-8 Bitcoin already keeps track of which nodes have seen what to avoid redundant inv announcements. I think if you are approaching most transactions in a block matching the filter then you would just request full blocks and do all the filtering client side On Oct 24, 2012 8:54 PM, "Gavin Andresen" wrote: > RE: sharing parts of the merkle branches when returning a 'merkleblock' : > > I think I agree that complicating the BIP for what should be a very > rare case (more than a handful of transactions in a block match the > transactions in your wallet) is the right decision. > > I want to make sure I'm understanding this bit correctly: > > "In addition, because a merkleblock message contains only a list of > transaction hashes, any transactions that the requesting node hasn't > either received or announced with an inv will be automatically sent as > well. This avoids a slow roundtrip that would otherwise be required > (receive hashes, didn't see some of these transactions yet, ask for > them)." > > Requiring serving/relaying nodes to keep track of which transactions > they have or have not sent to their peers makes me nervous. I think > requiring an extra 'inv' round-trip would be simpler to implement and > less likely to lead to some kind of DoS attack. > > -- > -- > Gavin Andresen > --f46d0438eba939fac504ccd2d875 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

Bitcoin already keeps track of which nodes have seen what to avoid redun= dant inv announcements.

I think if you are approaching most transactions in a block matching the= filter then you would just request full blocks and do all the filtering cl= ient side

--f46d0438eba939fac504ccd2d875--