summaryrefslogtreecommitdiff
path: root/39/335dba478b13c6ca641699de8cfc3bbf7fbfb1
blob: 99baaba677ec1c96d8a67a57ae82af4e4521b150 (plain)
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
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192]
	helo=mx.sourceforge.net)
	by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
	(envelope-from <decker.christian@gmail.com>) id 1Rhhzj-00072u-Hq
	for bitcoin-development@lists.sourceforge.net;
	Mon, 02 Jan 2012 13:32:07 +0000
Received-SPF: pass (sog-mx-2.v43.ch3.sourceforge.com: domain of gmail.com
	designates 74.125.82.175 as permitted sender)
	client-ip=74.125.82.175;
	envelope-from=decker.christian@gmail.com;
	helo=mail-we0-f175.google.com; 
Received: from mail-we0-f175.google.com ([74.125.82.175])
	by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
	(Exim 4.76) id 1Rhhzi-0005Vb-CN
	for bitcoin-development@lists.sourceforge.net;
	Mon, 02 Jan 2012 13:32:07 +0000
Received: by werm13 with SMTP id m13so11050788wer.34
	for <bitcoin-development@lists.sourceforge.net>;
	Mon, 02 Jan 2012 05:32:00 -0800 (PST)
Received: by 10.216.135.69 with SMTP id t47mr32404412wei.42.1325511120173;
	Mon, 02 Jan 2012 05:32:00 -0800 (PST)
MIME-Version: 1.0
Received: by 10.227.159.201 with HTTP; Mon, 2 Jan 2012 05:31:19 -0800 (PST)
In-Reply-To: <jdrds3$3tf$1@dough.gmane.org>
References: <jdrds3$3tf$1@dough.gmane.org>
From: Christian Decker <decker.christian@gmail.com>
Date: Mon, 2 Jan 2012 14:31:19 +0100
Message-ID: <CALxbBHU7f1m+p45RHLhN-VGBoXJEi62x5mZUiAe_d5D-5Ga7yA@mail.gmail.com>
To: Elden Tyrell <tyrell.elden@gmail.com>
Content-Type: multipart/alternative; boundary=0016e6de16b176bce604b58b9ba2
X-Spam-Score: -0.6 (/)
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
	(decker.christian[at]gmail.com)
	-0.0 SPF_PASS               SPF: sender matches SPF record
	1.0 HTML_MESSAGE           BODY: HTML included in message
	-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
	author's domain
	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
X-Headers-End: 1Rhhzi-0005Vb-CN
Cc: bitcoin-development@lists.sourceforge.net
Subject: Re: [Bitcoin-development] does "stubbing" off Merkle trees reduce
 initial download bandwidth?
X-BeenThere: bitcoin-development@lists.sourceforge.net
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <bitcoin-development.lists.sourceforge.net>
List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe>
List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development>
List-Post: <mailto:bitcoin-development@lists.sourceforge.net>
List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help>
List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe>
X-List-Received-Date: Mon, 02 Jan 2012 13:32:07 -0000

--0016e6de16b176bce604b58b9ba2
Content-Type: text/plain; charset=ISO-8859-1

It can speed up the initial chain download. A newly created wallet will
have only new key-pairs, hence no incoming transactions (unless we have a
key collision, which is unlikely). So there is no need for a bootstrapping
node to download the chain with transactions. The chain itself can be
verified without the transactions. Later full blocks would be required to
detect usable inputs for future outgoing transactions. As long as you
verify the very last blocks in the chain you can be sure that all
preceeding blocks were also valid.

HTH,
Chris

On Mon, Jan 2, 2012 at 6:04 AM, Elden Tyrell <tyrell.elden@gmail.com> wrote:

> Satoshi's paper mentions that storage requirements for the blockchain
> can be reduced by deleting transactions whose outputs have been spent.
>
> If I understand correctly, this technique can only be used for reducing
> *storage* requirements, not *bandwidth* needed for the initial chain
> download by a high-security client that doesn't trust any of its peers
> -- right?
>
> The rule is "trust the longest valid chain of blocks".  Part of a block
> being "valid" is that each transaction's inputs are unspent and their
> sum exceeds the transaction's outputs unless it is a coinbase.  This
> cannot be verified for "stubbed out" transactions -- they have outputs
> but no inputs, and aren't coinbases.  So a paranoid client booting up
> for the first time needs to be given an un-stubbed chain, right?
>
> Of course, if a client decided to accept a stubbed blocks only when the
> sum of the difficulties in the blocks after it exceeds some number N,
> then attacking it could be made very expensive by picking a large
> enough N.
>
> Please let me know if I have misunderstood something.
>
>
>
>
> ------------------------------------------------------------------------------
> Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
> infrastructure or vast IT resources to deliver seamless, secure access to
> virtual desktops. With this all-in-one solution, easily deploy virtual
> desktops for less than the cost of PCs and save 60% on VDI infrastructure
> costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>

--0016e6de16b176bce604b58b9ba2
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

It can speed up the initial chain download. A newly created wallet will hav=
e only new key-pairs, hence no incoming transactions (unless we have a key =
collision, which is unlikely). So there is no need for a bootstrapping node=
 to download the chain with transactions. The chain itself can be verified =
without the transactions. Later full blocks would be required to detect usa=
ble inputs for future outgoing transactions. As long as you verify the very=
 last blocks in the chain you can be sure that all preceeding blocks were a=
lso valid.<br>

<br>HTH,<br>Chris<br><br><div class=3D"gmail_quote">On Mon, Jan 2, 2012 at =
6:04 AM, Elden Tyrell <span dir=3D"ltr">&lt;<a href=3D"mailto:tyrell.elden@=
gmail.com">tyrell.elden@gmail.com</a>&gt;</span> wrote:<br><blockquote clas=
s=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;pad=
ding-left:1ex">

Satoshi&#39;s paper mentions that storage requirements for the blockchain<b=
r>
can be reduced by deleting transactions whose outputs have been spent.<br>
<br>
If I understand correctly, this technique can only be used for reducing<br>
*storage* requirements, not *bandwidth* needed for the initial chain<br>
download by a high-security client that doesn&#39;t trust any of its peers<=
br>
-- right?<br>
<br>
The rule is &quot;trust the longest valid chain of blocks&quot;. =A0Part of=
 a block<br>
being &quot;valid&quot; is that each transaction&#39;s inputs are unspent a=
nd their<br>
sum exceeds the transaction&#39;s outputs unless it is a coinbase. =A0This<=
br>
cannot be verified for &quot;stubbed out&quot; transactions -- they have ou=
tputs<br>
but no inputs, and aren&#39;t coinbases. =A0So a paranoid client booting up=
<br>
for the first time needs to be given an un-stubbed chain, right?<br>
<br>
Of course, if a client decided to accept a stubbed blocks only when the<br>
sum of the difficulties in the blocks after it exceeds some number N,<br>
then attacking it could be made very expensive by picking a large<br>
enough N.<br>
<br>
Please let me know if I have misunderstood something.<br>
<br>
<br>
<br>
---------------------------------------------------------------------------=
---<br>
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don&#39;t need a compl=
ex<br>
infrastructure or vast IT resources to deliver seamless, secure access to<b=
r>
virtual desktops. With this all-in-one solution, easily deploy virtual<br>
desktops for less than the cost of PCs and save 60% on VDI infrastructure<b=
r>
costs. Try it free! <a href=3D"http://p.sf.net/sfu/Citrix-VDIinabox" target=
=3D"_blank">http://p.sf.net/sfu/Citrix-VDIinabox</a><br>
_______________________________________________<br>
Bitcoin-development mailing list<br>
<a href=3D"mailto:Bitcoin-development@lists.sourceforge.net">Bitcoin-develo=
pment@lists.sourceforge.net</a><br>
<a href=3D"https://lists.sourceforge.net/lists/listinfo/bitcoin-development=
" target=3D"_blank">https://lists.sourceforge.net/lists/listinfo/bitcoin-de=
velopment</a><br>
</blockquote></div><br>

--0016e6de16b176bce604b58b9ba2--