summaryrefslogtreecommitdiff
path: root/3e/311f42f88fb74dd0a09ae9634f94292152fba5
blob: 6f080cf055f2b2b6d8f2a8e7146af5571738b2a1 (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
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
Return-Path: <hampus.sjoberg@gmail.com>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id 2853EB1D
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Fri, 14 Jul 2017 08:52:45 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.7.6
Received: from mail-qt0-f178.google.com (mail-qt0-f178.google.com
	[209.85.216.178])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 2468ECD
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Fri, 14 Jul 2017 08:52:44 +0000 (UTC)
Received: by mail-qt0-f178.google.com with SMTP id i2so57264309qta.3
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Fri, 14 Jul 2017 01:52:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to; 
	bh=JF+ImJ3B7NLi2JFYu0pwZUxzjq5bxiu1L4nqhyDAeOk=;
	b=c3UloQnSmwoeBIEbybkM2Z2WrG6zx5i1fnDlNBof0uZ0qGXS7ReNHZJtpNq2mMfreu
	qcdIwK+7Wd//9lafS7F2ZZn53y4DeO1YoqlWzwJ9QOSaupg+31K8ZylxV19VQ+x7JGU7
	aY5XAHiY4w7dL5jThIxMBVTjKtG5Wu60/swW1pn7yMC37DGdvq53CGRaBmOkehZWtJQ8
	4YuDS/slOZdfoIo08ep9N1xMq36Jm6C3g23Lol8Jz7up30oE5zdUQkGEmkCVvWqYdLqr
	/Q1GbIFJ8XYnqv/jFssHdbBIgfsE4lUEy/Fpux0nWvjaKi+/1AW7vQA2gvY5uI8y8I8m
	iWiw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=1e100.net; s=20161025;
	h=x-gm-message-state:mime-version:in-reply-to:references:from:date
	:message-id:subject:to;
	bh=JF+ImJ3B7NLi2JFYu0pwZUxzjq5bxiu1L4nqhyDAeOk=;
	b=DxR4k8kPdvPRb3YQ68rFckZ4w2ez2ZyY0KmWXDFMpIrmCf/pAuuJHUDIDCEw2qPmuA
	Zi1snj3dxCY7XLRrDiuIVCpUkhaptnpk3jlcqOlhAdoUpFQUAmwJhxjrqYRalElLfkDe
	SquhR3FnTFHy91VAEv7tAkhV6K81Do5Pl26m26wsFJdrKTXlQDBFmtCrpwImWtOICZXx
	a1RKiOJnMgRm9X0QiT3dDwLlrZ7mH703b2DooyhpGb1XZOO6T+9W1I8vgPHeybJXXIPH
	AeErooj9zDM5YS5jfSy+i4HPosNsvFSEC9Vtm2Kd6dH0NqwH/CICJecZVPGOsbqc0SXS
	Ivwg==
X-Gm-Message-State: AIVw111esSY+Mx8hbR/rAAovUrEfidYxX+AVj6z/hK1ij9GL8LTtslRz
	4errGqNu9Sy3j+nxeqwlytYBb8doedE+7nSjyg==
X-Received: by 10.237.44.7 with SMTP id f7mr10829282qtd.52.1500022363279; Fri,
	14 Jul 2017 01:52:43 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.12.186.175 with HTTP; Fri, 14 Jul 2017 01:52:42 -0700 (PDT)
In-Reply-To: <5af10ca3-8b97-f227-c09f-901bbb6176c3@osc.co.cr>
References: <0119661e-a11a-6d4b-c9ec-fd510bd4f144@gmail.com>
	<CAAS2fgRDVgdMYZo776iLwbm23aGNDWL85YgD=yF=M-0_vqJ5nQ@mail.gmail.com>
	<1c1d06a9-2e9f-5b2d-42b7-d908ada4b09e@gmail.com>
	<CAAS2fgTsjfMGw6D_OxDthSrrdLEFx2skGedLAjTwz3yCQijyug@mail.gmail.com>
	<001b20f2-1f33-3484-8ad2-1420ae1a2df5@gmail.com>
	<CAAS2fgR3FQ-wSwGwK6PDD_nZKpnBDAtM=5-fvR-smDa48xjW4Q@mail.gmail.com>
	<03cf3326-ae84-96f9-5eee-158054341eff@osc.co.cr>
	<CAAS2fgR1aGOpVoLyGWtO=Q5XU04gBMBEQARPtxMe4WnwQ2CO5w@mail.gmail.com>
	<CAP=-fx6hju0NAa-HcYzivwNbJH0HXwUL=t7iD38XAK_Fwodjng@mail.gmail.com>
	<CAFMkqK9+pvRRtcOomo6is5t8xQ2gLmGb7XaGV80TOm-eO6ZoqA@mail.gmail.com>
	<0be972b9-328c-394a-1e90-bd7a37642598@osc.co.cr>
	<CADL_X_cZc4K3k=JzVES7Jba6qqZwv0Lx7opCi8eL_GM5M01Y8A@mail.gmail.com>
	<4921ce4f-06bc-8ff1-4e70-5bd55d1ff5ca@osc.co.cr>
	<CAFMkqK-s=Xtg_40dMY7B3ecbOsjtcekHa6qFn2h8dVhuUMv=pw@mail.gmail.com>
	<5af10ca3-8b97-f227-c09f-901bbb6176c3@osc.co.cr>
From: =?UTF-8?Q?Hampus_Sj=C3=B6berg?= <hampus.sjoberg@gmail.com>
Date: Fri, 14 Jul 2017 10:52:42 +0200
Message-ID: <CAFMkqK_epizUDe4+7v2AqoWnC4L1-OALETVG-PtD9CrWrfKf4g@mail.gmail.com>
To: Dan Libby <dan@osc.co.cr>, 
	Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
Content-Type: multipart/alternative; boundary="94eb2c05df901e56310554432c5b"
X-Spam-Status: No, score=-2.2 required=5.0 tests=AC_DIV_BONANZA,BAYES_00,
	DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,
	RCVD_IN_DNSWL_LOW,RCVD_IN_SORBS_SPAM 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: Fri, 14 Jul 2017 11:54:56 +0000
Subject: Re: [bitcoin-dev] how to disable segwit in my build?
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: Fri, 14 Jul 2017 08:52:45 -0000

--94eb2c05df901e56310554432c5b
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

> sounds good, though I'm unclear on how exactly to achieve (2) given that
any party I have ever transacted with (or otherwise knows an address of
mine) can send me coins at any time.  So it seems the only possible way
to be certain is to run a node that has never published an address to a
3rd party.  Is that accurate?

Yes, as soon as you receive new Bitcoins, there's a chance that they have
been in a SegWit transaction at some point.
I'm not sure if you can see the chain of transactions for an address in
bitcoin-cli, but if that is possible, you should be able to double check
the transaction types.

> Another thing that could be done is to modify my own node so that it
actually rejects such tx, but then I have modified consensus rules
myself, thus defeating the goal of remaining with status-quo rules, and
anyway the rest of the network would accept the tx.  I guess the benefit
is that I could be certain of the remaining funds I have.

Hmm yes, if you reject a such transaction, you'll hardfork the network.
If you ignore it in your wallet, you'll be safe, but you'll lose those
bitcoins ofc.
It's a difficult situation.

> I suppose that it would be possible without modifying any rule to
construct a "certain balance" and an "uncertain balance".

Should be possible.

> Hampus, thanks for the explanation!

You're welcome!
I personally very much like and want SegWit, but I respect people that
wants to maintain the status quo, it's what will make Bitcoin strong in the
long run.

Cheers
Hampus

2017-07-14 1:20 GMT+02:00 Dan Libby via bitcoin-dev <
bitcoin-dev@lists.linuxfoundation.org>:

> Hampus, thanks for the explanation!
>
> On 07/13/2017 03:50 PM, Hampus Sj=C3=B6berg wrote:
>
> > Yes.
> > So you have two choices to be fully secure:
> > 1. Validate using the new rules of the network (in other words, run a
> > SegWit node)
> > 2. Avoid any chain of transaction that contains a SegWit transaction
>
> sounds good, though I'm unclear on how exactly to achieve (2) given that
> any party I have ever transacted with (or otherwise knows an address of
> mine) can send me coins at any time.  So it seems the only possible way
> to be certain is to run a node that has never published an address to a
> 3rd party.  Is that accurate?
>
> Another thing that could be done is to modify my own node so that it
> actually rejects such tx, but then I have modified consensus rules
> myself, thus defeating the goal of remaining with status-quo rules, and
> anyway the rest of the network would accept the tx.  I guess the benefit
> is that I could be certain of the remaining funds I have.
>
> I suppose that it would be possible without modifying any rule to
> construct a "certain balance" and an "uncertain balance".
>
> I don't intend to do such modifications! just grasping for understanding.
>
>
> > See
> > https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#Backward=
_
> compatibility
> > So the witness program is encoded in a new format that old nodes do not
> > understand.
> > This means that for old nodes, a number >0 will be put on the stack.
> > When the script is done, it will be evaluated to true (because of >0)
> > and be counted as a valid spend.
> >
> > https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki also
> > explains the new witness program more in detail (I left out some detail=
s
> > in my explanation).
>
> I read the relevant parts, thanks!
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>

--94eb2c05df901e56310554432c5b
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><div><div><div><div><div><div><div><div><div>&gt; sou=
nds good, though I&#39;m unclear on how exactly to achieve (2) given that<b=
r>
any party I have ever transacted with (or otherwise knows an address of<br>
mine) can send me coins at any time.=C2=A0 So it seems the only possible wa=
y<br>
to be certain is to run a node that has never published an address to a<br>
3rd party.=C2=A0 Is that accurate?<br><br></div>Yes, as soon as you receive=
 new Bitcoins, there&#39;s a chance that they have been in a SegWit transac=
tion at some point.<br></div>I&#39;m not sure if you can see the chain of t=
ransactions for an address in bitcoin-cli, but if that is possible, you sho=
uld be able to double check the transaction types.</div><div><br>&gt; Anoth=
er thing that could be done is to modify my own node so that it<br>
actually rejects such tx, but then I have modified consensus rules<br>
myself, thus defeating the goal of remaining with status-quo rules, and<br>
anyway the rest of the network would accept the tx.=C2=A0 I guess the benef=
it<br>
is that I could be certain of the remaining funds I have.<br><br></div>Hmm =
yes, if you reject a such transaction, you&#39;ll hardfork the network.<br>=
</div>If you ignore it in your wallet, you&#39;ll be safe, but you&#39;ll l=
ose those bitcoins ofc.<br></div>It&#39;s a difficult situation.<br><br>&gt=
; I suppose that it would be possible without modifying any rule to<br>
construct a &quot;certain balance&quot; and an &quot;uncertain balance&quot=
;.<br><br></div>Should be possible.<br><br>&gt; Hampus, thanks for the expl=
anation!<br><br></div>You&#39;re welcome!<br></div>I personally very much l=
ike and want SegWit, but I respect people that wants to maintain the status=
 quo, it&#39;s what will make Bitcoin strong in the long run.<br><br></div>=
Cheers<br></div>Hampus<br>
</div><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">2017-07-14 =
1:20 GMT+02:00 Dan Libby via bitcoin-dev <span dir=3D"ltr">&lt;<a href=3D"m=
ailto:bitcoin-dev@lists.linuxfoundation.org" target=3D"_blank">bitcoin-dev@=
lists.linuxfoundation.org</a>&gt;</span>:<br><blockquote class=3D"gmail_quo=
te" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"=
>Hampus, thanks for the explanation!<br>
<span class=3D""><br>
On 07/13/2017 03:50 PM, Hampus Sj=C3=B6berg wrote:<br>
<br>
&gt; Yes.<br>
&gt; So you have two choices to be fully secure:<br>
&gt; 1. Validate using the new rules of the network (in other words, run a<=
br>
&gt; SegWit node)<br>
&gt; 2. Avoid any chain of transaction that contains a SegWit transaction<b=
r>
<br>
</span>sounds good, though I&#39;m unclear on how exactly to achieve (2) gi=
ven that<br>
any party I have ever transacted with (or otherwise knows an address of<br>
mine) can send me coins at any time.=C2=A0 So it seems the only possible wa=
y<br>
to be certain is to run a node that has never published an address to a<br>
3rd party.=C2=A0 Is that accurate?<br>
<br>
Another thing that could be done is to modify my own node so that it<br>
actually rejects such tx, but then I have modified consensus rules<br>
myself, thus defeating the goal of remaining with status-quo rules, and<br>
anyway the rest of the network would accept the tx.=C2=A0 I guess the benef=
it<br>
is that I could be certain of the remaining funds I have.<br>
<br>
I suppose that it would be possible without modifying any rule to<br>
construct a &quot;certain balance&quot; and an &quot;uncertain balance&quot=
;.<br>
<br>
I don&#39;t intend to do such modifications! just grasping for understandin=
g.<br>
<span class=3D""><br>
<br>
&gt; See<br>
&gt; <a href=3D"https://github.com/bitcoin/bips/blob/master/bip-0141.mediaw=
iki#Backward_compatibility" rel=3D"noreferrer" target=3D"_blank">https://gi=
thub.com/bitcoin/<wbr>bips/blob/master/bip-0141.<wbr>mediawiki#Backward_<wb=
r>compatibility</a><br>
&gt; So the witness program is encoded in a new format that old nodes do no=
t<br>
&gt; understand.<br>
&gt; This means that for old nodes, a number &gt;0 will be put on the stack=
.<br>
&gt; When the script is done, it will be evaluated to true (because of &gt;=
0)<br>
&gt; and be counted as a valid spend.<br>
&gt;<br>
&gt; <a href=3D"https://github.com/bitcoin/bips/blob/master/bip-0143.mediaw=
iki" rel=3D"noreferrer" target=3D"_blank">https://github.com/bitcoin/<wbr>b=
ips/blob/master/bip-0143.<wbr>mediawiki</a> also<br>
&gt; explains the new witness program more in detail (I left out some detai=
ls<br>
&gt; in my explanation).<br>
<br>
</span>I read the relevant parts, thanks!<br>
<div class=3D"HOEnZb"><div class=3D"h5">______________________________<wbr>=
_________________<br>
bitcoin-dev mailing list<br>
<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.=
<wbr>linuxfoundation.org</a><br>
<a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" =
rel=3D"noreferrer" target=3D"_blank">https://lists.linuxfoundation.<wbr>org=
/mailman/listinfo/bitcoin-<wbr>dev</a><br>
</div></div></blockquote></div><br></div>

--94eb2c05df901e56310554432c5b--