summaryrefslogtreecommitdiff
path: root/9c/e6a9dcd65a5916582bc0dfb463a8726247b218
blob: a47c135d47c9d178a35d651ce0ba16bcd2413778 (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
Received: from sog-mx-1.v43.ch3.sourceforge.com ([172.29.43.191]
	helo=mx.sourceforge.net)
	by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
	(envelope-from <tier.nolan@gmail.com>) id 1WYLKS-0007Hw-64
	for bitcoin-development@lists.sourceforge.net;
	Thu, 10 Apr 2014 20:12:08 +0000
Received-SPF: pass (sog-mx-1.v43.ch3.sourceforge.com: domain of gmail.com
	designates 209.85.216.181 as permitted sender)
	client-ip=209.85.216.181; envelope-from=tier.nolan@gmail.com;
	helo=mail-qc0-f181.google.com; 
Received: from mail-qc0-f181.google.com ([209.85.216.181])
	by sog-mx-1.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
	(Exim 4.76) id 1WYLKR-0007BG-0O
	for bitcoin-development@lists.sourceforge.net;
	Thu, 10 Apr 2014 20:12:08 +0000
Received: by mail-qc0-f181.google.com with SMTP id x3so5000187qcv.12
	for <bitcoin-development@lists.sourceforge.net>;
	Thu, 10 Apr 2014 13:12:01 -0700 (PDT)
MIME-Version: 1.0
X-Received: by 10.224.163.73 with SMTP id z9mr23443548qax.90.1397160721525;
	Thu, 10 Apr 2014 13:12:01 -0700 (PDT)
Received: by 10.140.25.86 with HTTP; Thu, 10 Apr 2014 13:12:00 -0700 (PDT)
In-Reply-To: <CAPg+sBiRFJT6zC=7oMMzJuU-06oxgZ4Q-1kD+pCitw1JmAFs7Q@mail.gmail.com>
References: <CANEZrP04O7EqB=TqyTiC7O1K2A9R0nKJ_ssANHKg=Byum8-LtA@mail.gmail.com>
	<CA+s+GJDbYjwhpsV15a+7kCO_vTstEewVrwvqbnB=a5zOSwFC6Q@mail.gmail.com>
	<CAAS2fgStmEpiUV4Yh-qqu6sZ+VZ5SiQPwp+QA=3X5zR52ia3OA@mail.gmail.com>
	<CA+s+GJBxEC2MifJQY5-vn2zSOHo-UOm8B1vYHHOfuxq26=VscQ@mail.gmail.com>
	<CAADm4BDDJkS_xdjUn=2Yzs4B0RXTvpzpd5Z_kDRorzrn1HWSng@mail.gmail.com>
	<CANEZrP1rPZYkTLmx5GOdj67oQAgFjeaF-LCKAXpg5XsEhXYFuQ@mail.gmail.com>
	<CAADm4BB8y=k_f7CG3tyX6ruWF0w3+hU2Szv7ajLp1x7KhS56GA@mail.gmail.com>
	<CAPg+sBg88Q1Ddwsvuk3-17wO=0DF7L1wtxx4mWUoiV1=cWKhEQ@mail.gmail.com>
	<CADu7o8PD4Wkgx_X_aOHXHe8UA-OE9v5YZ4boMrX7LDVu6agfpQ@mail.gmail.com>
	<CAPg+sBiRFJT6zC=7oMMzJuU-06oxgZ4Q-1kD+pCitw1JmAFs7Q@mail.gmail.com>
Date: Thu, 10 Apr 2014 21:12:00 +0100
Message-ID: <CAE-z3OU0Y=ifGdaMKkSEJr38Rhq6pNfDeSUxF=ROiJ_0j3wh9Q@mail.gmail.com>
From: Tier Nolan <tier.nolan@gmail.com>
To: Pieter Wuille <pieter.wuille@gmail.com>
Content-Type: multipart/alternative; boundary=089e0158b03080362204f6b5d4b0
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
	(tier.nolan[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: 1WYLKR-0007BG-0O
Cc: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>,
	Paul Rabahy <prabahy@gmail.com>
Subject: Re: [Bitcoin-development] Chain pruning
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: Thu, 10 Apr 2014 20:12:08 -0000

--089e0158b03080362204f6b5d4b0
Content-Type: text/plain; charset=ISO-8859-1

On Thu, Apr 10, 2014 at 7:32 PM, Pieter Wuille <pieter.wuille@gmail.com>wrote:

> If you trust hashrate for determining which UTXO set is valid, a 51%
> attack becomes worse in that you can be made to believe a version of
> history which is in fact invalid.
>

If there are invalidation proofs, then this isn't strictly true.

If you are connected to 10 nodes and only 1 is honest, it can send you the
proof that your main chain is invalid.

For bad scripts, it shows you the input transaction for the invalid input
along with the merkle path to prove it is in a previous block.

For double spends, it could show the transaction which spent the output.

Double spends are pretty much the same as trying to spend non-existent
outputs anyway.

If the UTXO set commit was actually a merkle tree, then all updates could
be included.

Blocks could have extra data with the proofs that the UTXO set is being
updated correctly.

To update the UTXO set, you need the paths for all spent inputs.

It puts a large load on miners to keep things working, since they have to
run a full node.

If they commit the data to the chain, then SPV nodes can do local checking.

One of them will find invalid blocks eventually (even if one of the other
miners don't).

>
> --
> Pieter
>
>
> ------------------------------------------------------------------------------
> Put Bad Developers to Shame
> Dominate Development with Jenkins Continuous Integration
> Continuously Automate Build, Test & Deployment
> Start a new project now. Try Jenkins in the cloud.
> http://p.sf.net/sfu/13600_Cloudbees
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>

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

<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">On T=
hu, Apr 10, 2014 at 7:32 PM, Pieter Wuille <span dir=3D"ltr">&lt;<a href=3D=
"mailto:pieter.wuille@gmail.com" target=3D"_blank">pieter.wuille@gmail.com<=
/a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
If you trust hashrate for determining which UTXO set is valid, a 51%<br>
attack becomes worse in that you can be made to believe a version of<br>
history which is in fact invalid.<br></blockquote><div><br></div><div>If th=
ere are invalidation proofs, then this isn&#39;t strictly true.<br><br></di=
v><div>If you are connected to 10 nodes and only 1 is honest, it can send y=
ou the proof that your main chain is invalid.<br>
<br></div><div>For bad scripts, it shows you the input transaction for the =
invalid input along with the merkle path to prove it is in a previous block=
.<br><br></div><div>For double spends, it could show the transaction which =
spent the output.<br>
<br></div><div>Double spends are pretty much the same as trying to spend no=
n-existent outputs anyway.<br><br></div><div>If the UTXO set commit was act=
ually a merkle tree, then all updates could be included.<br><br></div><div>
Blocks could have extra data with the proofs that the UTXO set is being upd=
ated correctly.<br></div><div><br></div><div>To update the UTXO set, you ne=
ed the paths for all spent inputs.<br><br></div><div>It puts a large load o=
n miners to keep things working, since they have to run a full node.=A0 <br=
>
<br></div><div>If they commit the data to the chain, then SPV nodes can do =
local checking.<br><br></div><div>One of them will find invalid blocks even=
tually (even if one of the other miners don&#39;t).<br></div><blockquote cl=
ass=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;p=
adding-left:1ex">

<div class=3D"HOEnZb"><div class=3D"h5"><br>
--<br>
Pieter<br>
<br>
---------------------------------------------------------------------------=
---<br>
Put Bad Developers to Shame<br>
Dominate Development with Jenkins Continuous Integration<br>
Continuously Automate Build, Test &amp; Deployment<br>
Start a new project now. Try Jenkins in the cloud.<br>
<a href=3D"http://p.sf.net/sfu/13600_Cloudbees" target=3D"_blank">http://p.=
sf.net/sfu/13600_Cloudbees</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>
</div></div></blockquote></div><br></div></div>

--089e0158b03080362204f6b5d4b0--