Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id B68121ECA for ; Sat, 12 Oct 2019 13:46:47 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mail.bitaps.com (mail.bitaps.com [95.85.9.218]) by smtp1.linuxfoundation.org (Postfix) with ESMTP id 6112014D for ; Sat, 12 Oct 2019 13:46:46 +0000 (UTC) Received: from [192.168.1.51] (pppoe-46-226-64-151.prtcom.ru [46.226.64.151]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.bitaps.com (Postfix) with ESMTPSA id D593114983D for ; Sat, 12 Oct 2019 13:46:44 +0000 (UTC) From: "admin@bitaps.com" Content-Type: multipart/alternative; boundary="Apple-Mail=_D3725B48-A22F-4AE7-834C-F8AB1D5E0444" Mime-Version: 1.0 (Mac OS X Mail 12.0 \(3445.100.39\)) Date: Sat, 12 Oct 2019 17:46:43 +0400 References: To: bitcoin-dev@lists.linuxfoundation.org In-Reply-To: Message-Id: X-Mailer: Apple Mail (2.3445.100.39) X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,HTML_MESSAGE, MIME_QP_LONG_LINE autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org X-Mailman-Approved-At: Sat, 12 Oct 2019 17:41:35 +0000 Subject: Re: [bitcoin-dev] Block Batch Filters for Light Clients (Jonas Schnelli) X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Oct 2019 13:46:47 -0000 --Apple-Mail=_D3725B48-A22F-4AE7-834C-F8AB1D5E0444 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hi Jonas, Let's review case when we create filters for part of mempool or whole = mempool.=20 After new block is mined we have to verify what transactions is = confirmed from mempool. Mempool filter in design with set of = transactions make impossible use it do block filter reconstruction = because we have no mapping filter elements with transactions. This means that we need to download block filter to check what exactly = transactions are affected. Which does not give us advantages in terms of traffic savings. The idea of draft for mempool transactions filters is make possible to = reconstruct correct block filters using unconfirmed tx filters and = archive additional savings. At this moment I am working on Block Batch Filters implementation and = have same changes which will be updated in drafts as soon as I complete = all tests. Regarding unconfirmed TX filters, I came to the conclusion = that the filter should be the first 6 bytes of the address hash, this takes up a bit = more space, but allows to construct block filter. What do you mean by fingerprinting defence ? Please let me know what, in your opinion, are the disadvantages of the = per tx filter approach? Why use whole/part mempool is better? With regards Aleksey =20 =20 > 12 =D0=BE=D0=BA=D1=82. 2019 =D0=B3., =D0=B2 5:40, = bitcoin-dev-request@lists.linuxfoundation.org =D0=BD=D0=B0=D0=BF=D0=B8=D1=81= =D0=B0=D0=BB(=D0=B0): >=20 > Re: Block Batch Filters for Light Clients (Jonas Schnelli) --Apple-Mail=_D3725B48-A22F-4AE7-834C-F8AB1D5E0444 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 Hi = Jonas,

Let's review = case when we create filters for part of mempool or whole = mempool. 

After new block is mined we have to verify what transactions = is confirmed from mempool. Mempool filter in design with set of = transactions make impossible use it do block filter reconstruction = because we have no mapping filter elements with transactions.
This means that we need to download block filter to check = what exactly transactions are affected.

Which does not give us advantages in = terms of traffic savings.

The idea of draft for mempool transactions filters is make = possible to reconstruct correct block filters using unconfirmed tx = filters and archive additional savings.

At this moment I  am working on = Block Batch Filters implementation and have same changes which will be = updated in drafts as soon as I complete all tests. Regarding unconfirmed = TX filters, I came to the conclusion that the filter
should be the first 6 bytes of the address hash, this takes = up a bit more space, but allows to construct block filter.



What do you mean by =  fingerprinting defence ?

Please let me know what, in your = opinion, are the disadvantages of the per tx filter approach?

Why use whole/part = mempool is better?


With regards = Aleksey

 

 

12 =D0=BE=D0=BA=D1=82. 2019 = =D0=B3., =D0=B2 5:40, bitcoin-dev-request@lists.linuxfoundation.org = =D0=BD=D0=B0=D0=BF=D0=B8=D1=81=D0=B0=D0=BB(=D0=B0):

Re: Block Batch Filters for = Light Clients (Jonas Schnelli)

= --Apple-Mail=_D3725B48-A22F-4AE7-834C-F8AB1D5E0444--