1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
|
Return-Path: <admin@bitaps.com>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
[172.17.192.35])
by mail.linuxfoundation.org (Postfix) with ESMTPS id B68121ECA
for <bitcoin-dev@lists.linuxfoundation.org>;
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 <bitcoin-dev@lists.linuxfoundation.org>;
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 <bitcoin-dev@lists.linuxfoundation.org>;
Sat, 12 Oct 2019 13:46:44 +0000 (UTC)
From: "admin@bitaps.com" <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: <mailman.4271.1570844414.8631.bitcoin-dev@lists.linuxfoundation.org>
To: bitcoin-dev@lists.linuxfoundation.org
In-Reply-To: <mailman.4271.1570844414.8631.bitcoin-dev@lists.linuxfoundation.org>
Message-Id: <D8F63ECB-83D6-4F98-BEE3-4E467D8E2379@bitaps.com>
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 <bitcoin-dev.lists.linuxfoundation.org>
List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>,
<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>,
<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=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
<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D"">Hi =
Jonas,<div class=3D""><br class=3D""></div><div class=3D"">Let's review =
case when we create filters for part of mempool or whole =
mempool. </div><div class=3D""><br class=3D""></div><div =
class=3D"">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.</div><div =
class=3D"">This means that we need to download block filter to check =
what exactly transactions are affected.</div><div class=3D""><br =
class=3D""></div><div class=3D"">Which does not give us advantages in =
terms of traffic savings.</div><div class=3D""><br class=3D""></div><div =
class=3D"">The idea of draft for mempool transactions filters is make =
possible to reconstruct correct block filters using unconfirmed tx =
filters and archive additional savings.</div><div class=3D""><br =
class=3D""></div><div class=3D"">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</div><div =
class=3D"">should be the first 6 bytes of the address hash, this takes =
up a bit more space, but allows to construct block filter.</div><div =
class=3D""><br class=3D""></div><div class=3D""><br class=3D""></div><div =
class=3D""><br class=3D""></div><div class=3D"">What do you mean by =
fingerprinting defence ?</div><div class=3D""><br =
class=3D""></div><div class=3D"">Please let me know what, in your =
opinion, are the disadvantages of the per tx filter approach?</div><div =
class=3D""><br class=3D""></div><div class=3D"">Why use whole/part =
mempool is better?</div><div class=3D""><br class=3D""></div><div =
class=3D""><br class=3D""></div><div class=3D"">With regards =
Aleksey</div><div class=3D""><br class=3D""></div><div =
class=3D""> </div><div class=3D""><br class=3D""></div><div =
class=3D""> </div><div class=3D""><div><br class=3D""><blockquote =
type=3D"cite" class=3D""><div class=3D"">12 =D0=BE=D0=BA=D1=82. 2019 =
=D0=B3., =D0=B2 5:40, <a =
href=3D"mailto:bitcoin-dev-request@lists.linuxfoundation.org" =
class=3D"">bitcoin-dev-request@lists.linuxfoundation.org</a> =
=D0=BD=D0=B0=D0=BF=D0=B8=D1=81=D0=B0=D0=BB(=D0=B0):</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: =
12px; font-style: normal; font-variant-caps: normal; font-weight: =
normal; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; =
display: inline !important;" class=3D"">Re: Block Batch Filters for =
Light Clients (Jonas Schnelli)</span></div></blockquote></div><br =
class=3D""></div></body></html>=
--Apple-Mail=_D3725B48-A22F-4AE7-834C-F8AB1D5E0444--
|