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
285
286
287
288
289
|
Return-Path: <earonesty@gmail.com>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
[172.17.192.35])
by mail.linuxfoundation.org (Postfix) with ESMTPS id 2A8B2B6E
for <bitcoin-dev@lists.linuxfoundation.org>;
Thu, 20 Apr 2017 16:14:21 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.7.6
Received: from mail-qt0-f179.google.com (mail-qt0-f179.google.com
[209.85.216.179])
by smtp1.linuxfoundation.org (Postfix) with ESMTPS id E647B10E
for <bitcoin-dev@lists.linuxfoundation.org>;
Thu, 20 Apr 2017 16:14:19 +0000 (UTC)
Received: by mail-qt0-f179.google.com with SMTP id m36so49274978qtb.0
for <bitcoin-dev@lists.linuxfoundation.org>;
Thu, 20 Apr 2017 09:14:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=mime-version:sender:in-reply-to:references:from:date:message-id
:subject:to:cc;
bh=wnurzJ7A2LKsO8Sd1fQMmUEmHfkC2CwESMUsWcTL1wQ=;
b=MImVyseiDgDcr1xQT7xdUrX22h/NmIA5+hy3Sos2EL330xE8lV+he6ybpuMt+7201A
fxwOsWg9V0dPiqBU6uplcTt9AzlbKs6I1Y/AWBeMwVKebtuS6RyXe16FDG1v5K8DQCew
Quq2DGKWQpd/c2f/tJ++IU1fCRcOwcynSFDagfczRGR8/7tabBbIOs6TeQOAw9moW2BW
TsYeGwqKowfiq8ESkvGcY/GBoUVjMhfS3FLLd99BPaHsd9ymhkifmtiBBZe/G165Opve
jqLtqfAzrPlhHQKm8H6/+4e3WJ6XWTeJ1SkFjwENZC5Ys6vcofadHKnpRodLtq1jnTOO
axxw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:sender:in-reply-to:references:from
:date:message-id:subject:to:cc;
bh=wnurzJ7A2LKsO8Sd1fQMmUEmHfkC2CwESMUsWcTL1wQ=;
b=S2nQE0BKLCErzuTy8WkR4ACCESd8iOWR8PsISgaAeQPKt8U2QYi+g57IzufE6l5VJ/
FqfT8Z4cXUDud5NrDZoXI5elDoj16lEVRql2+Y2SnLLhMw2Aq3z2RalCFYzsPX3SaBEG
R0C8yyvVd22ubQ24Xsby06V1fYMtNFJOAMDyen1DRDnmHunzYC/vDl21fTk5XEkBGiTG
3mSVaEknay7BFuihLWRlkTu8Hzg8tEBLDmmPK1DOj9dDtjk3QYZMcyMu/Sgmhbz9yh8V
oquIJAzLJUWU7LGbc9YSccO+Djn1z2hWwnNJfMoAx4scHHhVVRj55ZdqBMdQ5oQEfXf2
dhoQ==
X-Gm-Message-State: AN3rC/6jXv5fzo39EyvNerfyUrj/JML8TcgcViNTd1NmKqu5jg60kBA0
t8F560JCApRfIoOHdCRxWZBNUEwA8g==
X-Received: by 10.200.43.17 with SMTP id 17mr8223068qtu.199.1492704859044;
Thu, 20 Apr 2017 09:14:19 -0700 (PDT)
MIME-Version: 1.0
Sender: earonesty@gmail.com
Received: by 10.200.0.146 with HTTP; Thu, 20 Apr 2017 09:14:18 -0700 (PDT)
In-Reply-To: <1492554557.1625.4.camel@mmci.uni-saarland.de>
References: <CAJowKgJ38kA_vPGF6KpKEnrRzStrk-Mj87bttaOw-dvLW675Jw@mail.gmail.com>
<CAJowKgK4j=sL2vh1bxWh2WWw0vw1PuxfJ39JW7bQS-UDzKh6CQ@mail.gmail.com>
<CAJowKgKAnrMKiLdONrXJtGQYhYgRSXq7JNWrY=zUEMvw4WSX9w@mail.gmail.com>
<CAJowKgL-NB0zF-Ud52Jr6n0Fo-uV=bXzVAFMOKmhAVA0RdRVuQ@mail.gmail.com>
<CAJowKgJGZJMondTmsdOLdqqY1mf9S+TaB8UmdCtsLF6PA2RSJw@mail.gmail.com>
<CAJowKg+gZcNO+-sdmt55KOt+zuN+8m7Hiqh77s9=gYpyszDwmA@mail.gmail.com>
<CAJowKgKC4+6vv0QUH_DRASVqU4jui-iXG6TDgEpGUHRkVwJFqg@mail.gmail.com>
<CAJowKgKH2h1QwpEvZ30OuEUsTCg1OoD6JcuXdmS+d_pKpygFcQ@mail.gmail.com>
<CAJowKg+EJGXA5=LjJhCo1YevQtBubEftSNPfnzE4b5ESCwrUMg@mail.gmail.com>
<CAJowKgLQCqL37oCzkJc8gPnUCkPYtF6G8_7Ug4AP5FpTOonBWQ@mail.gmail.com>
<CAJowKgJ-eoF6ZCKrWbJQDcMK8-jTZxD+J_6tGAyfXz+HYrqmXg@mail.gmail.com>
<CAJowKgKEVxS9OCg=Lioc1gRAy1Ftc27bp3nr2R9MQX-VQ9PrhQ@mail.gmail.com>
<CALxbBHVY6_Xuq4Si9yQ0+dL_9DTCdwiWLDFStzFO2xRvHzTyBQ@mail.gmail.com>
<1492554557.1625.4.camel@mmci.uni-saarland.de>
From: Erik Aronesty <erik@q32.com>
Date: Thu, 20 Apr 2017 12:14:18 -0400
X-Google-Sender-Auth: 9p3kMJkyp98LHh67m_mw5vdh69c
Message-ID: <CAJowKgK=B2=fSwz5cqPLzMtyo-uDiNCOy9q+C39DJkaQ5h8U_Q@mail.gmail.com>
To: Tim Ruffing <tim.ruffing@mmci.uni-saarland.de>
Content-Type: multipart/alternative; boundary=001a11c0342ae0c058054d9b6ef8
X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,
DKIM_VALID, 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: Thu, 20 Apr 2017 16:16:23 +0000
Cc: Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
Subject: Re: [bitcoin-dev] Transaction signalling
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: Thu, 20 Apr 2017 16:14:21 -0000
--001a11c0342ae0c058054d9b6ef8
Content-Type: text/plain; charset=UTF-8
I agree, addresses create vulnerability, an OP_RETURN signal seems the
safest way to go for UA signalling. I can model a BIP after BIP9, with
some discussion of how to properly collect statistics, and the ability for
nodes to activate features based on an "economic majority" defined in this
way.
On Tue, Apr 18, 2017 at 6:29 PM, Tim Ruffing via bitcoin-dev <
bitcoin-dev@lists.linuxfoundation.org> wrote:
> I don't have an opinion on whether signaling is a good idea in general.
>
> However I don't think that using addresses is a good idea, because this
> has privacy implications. For example, it makes it much easier to link
> the addresses, e.g., inputs with change address. (The change address
> votes for the same proposal as the input address.)
>
> Tim
>
> On Tue, 2017-04-18 at 18:07 +0000, Christian Decker via bitcoin-dev
> wrote:
> > I really like the idea of extending signalling capabilities to the
> > end-users. It gives stakeholders a voice in the decisions we take in
> > the network, and are a clear signal to all other involved parties. It
> > reminds me of a student thesis I supervised some time ago [1], in
> > which we explored various signalling ideas.
> >
> > I think we have a number of fields that may be used for such a
> > signalling, e.g., OP_RETURN, locktime, and output scripts. I think
> > OP_RETURN is probably not the field you'd want to use though since it
> > adds data that needs to be transferred, stored for bootstrap, and
> > outputs in the UTXO would need to be tagged with additional
> > information. Locktime has the advantage of being mostly a freeform
> > field for values in the past, but it clashes with other uses that may
> > rely on it. Furthermore, it is the transaction creator that specifies
> > the locktime, hence the signal trails one hop behind the current
> > owner, i.e., the actual stakeholder.
> >
> > I think probably the best field to signal would be the output
> > script. It is specified by the recipient of the funds, i.e., the
> > current owner, and is already stored in the UTXO, so a single pass
> > can
> > tally up the votes. We could for example use the last 4 bits of the
> > pubkey/pubkeyhash to opt in (3 leading 0 bits) and the vote (0/1
> > depending on the stakeholders desired signal). We'd need to define
> > similar semantics for other script types, but getting the standard
> > scripts to be recognized should be simple.
> >
> > In the spirit of full disclosure I'd like to also mention some of the
> > downsides of voting this way. Unlike the OP_RETURN proposal, users
> > that do not intend to signal will also be included in the tally. I'd
> > expect the signals of these users to be random with a 50% chance of
> > either outcome, so they should not influence the final result, but
> > may
> > muddy the water depending on what part of the population is
> > signalling. The opt-in should make sure that the majority of votes
> > are
> > actually voluntary votes, and not just users that randomly select a
> > pubkey/pubkeyhash, and can be adjusted as desired, though higher
> > values require more grinding on behalf of the users.
> >
> > The grinding may also exacerbate some problems we already have with
> > the HD Wallet lookahead, since we now skip a number of addresses, so
> > we should not require too many opt-in bits.
> >
> > So there are some problems we'd need to tackle, but I'm really
> > excited
> > about this, as it could provide data to make informed decisions, and
> > should put an end to the endless speculation about the will of the
> > economic majority.
> >
> > Cheers,
> > Christian
> >
> > [1] http://pub.tik.ee.ethz.ch/students/2015-HS/SA-2015-30.pdf
> > _______________________________________________
> > bitcoin-dev mailing list
> > bitcoin-dev@lists.linuxfoundation.org
> > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>
--001a11c0342ae0c058054d9b6ef8
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div>I agree, addresses create vulnerability, an OP_RETURN=
signal seems the safest way to go for UA signalling.=C2=A0=C2=A0 I can mod=
el a BIP after BIP9, with some discussion of how to properly collect statis=
tics, and the ability for nodes to activate features based on an "econ=
omic majority" defined in this way.<br></div></div><div class=3D"gmail=
_extra"><br><div class=3D"gmail_quote">On Tue, Apr 18, 2017 at 6:29 PM, Tim=
Ruffing via bitcoin-dev <span dir=3D"ltr"><<a href=3D"mailto:bitcoin-de=
v@lists.linuxfoundation.org" target=3D"_blank">bitcoin-dev@lists.linuxfound=
ation.org</a>></span> wrote:<br><blockquote class=3D"gmail_quote" style=
=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I don=
9;t have an opinion on whether signaling is a good idea in general.<br>
<br>
However I don't think that using addresses is a good idea, because this=
<br>
has privacy implications. For example, it makes it much easier to link<br>
the addresses, e.g., inputs with change address. (The change address<br>
votes for the same proposal as the input address.)<br>
<br>
Tim<br>
<br>
On Tue, 2017-04-18 at 18:07 +0000, Christian Decker via bitcoin-dev<br>
wrote:<br>
<div class=3D"HOEnZb"><div class=3D"h5">> I really like the idea of exte=
nding signalling capabilities to the<br>
> end-users. It gives stakeholders a voice in the decisions we take in<b=
r>
> the network, and are a clear signal to all other involved parties. It<=
br>
> reminds me of a student thesis I supervised some time ago [1], in<br>
> which we explored various signalling ideas.<br>
><br>
> I think we have a number of fields that may be used for such a<br>
> signalling, e.g., OP_RETURN, locktime, and output scripts. I think<br>
> OP_RETURN is probably not the field you'd want to use though since=
it<br>
> adds data that needs to be transferred, stored for bootstrap, and<br>
> outputs in the UTXO would need to be tagged with additional<br>
> information. Locktime has the advantage of being mostly a freeform<br>
> field for values in the past, but it clashes with other uses that may<=
br>
> rely on it. Furthermore, it is the transaction creator that specifies<=
br>
> the locktime, hence the signal trails one hop behind the current<br>
> owner, i.e., the actual stakeholder.<br>
><br>
> I think probably the best field to signal would be the output<br>
> script. It is specified by the recipient of the funds, i.e., the<br>
> current owner, and is already stored in the UTXO, so a single pass<br>
> can<br>
> tally up the votes. We could for example use the last 4 bits of the<br=
>
> pubkey/pubkeyhash to opt in (3 leading 0 bits) and the vote (0/1<br>
> depending on the stakeholders desired signal). We'd need to define=
<br>
> similar semantics for other script types, but getting the standard<br>
> scripts to be recognized should be simple.<br>
><br>
> In the spirit of full disclosure I'd like to also mention some of =
the<br>
> downsides of voting this way. Unlike the OP_RETURN proposal, users<br>
> that do not intend to signal will also be included in the tally. I'=
;d<br>
> expect the signals of these users to be random with a 50% chance of<br=
>
> either outcome, so they should not influence the final result, but<br>
> may<br>
> muddy the water depending on what part of the population is<br>
> signalling. The opt-in should make sure that the majority of votes<br>
> are<br>
> actually voluntary votes, and not just users that randomly select a<br=
>
> pubkey/pubkeyhash, and can be adjusted as desired, though higher<br>
> values require more grinding on behalf of the users.<br>
><br>
> The grinding may also exacerbate some problems we already have with<br=
>
> the HD Wallet lookahead, since we now skip a number of addresses, so<b=
r>
> we should not require too many opt-in bits.<br>
><br>
> So there are some problems we'd need to tackle, but I'm really=
<br>
> excited<br>
> about this, as it could provide data to make informed decisions, and<b=
r>
> should put an end to the endless speculation about the will of the<br>
> economic majority.<br>
><br>
> Cheers,<br>
> Christian<br>
><br>
> [1] <a href=3D"http://pub.tik.ee.ethz.ch/students/2015-HS/SA-2015-30.p=
df" rel=3D"noreferrer" target=3D"_blank">http://pub.tik.ee.ethz.ch/<wbr>stu=
dents/2015-HS/SA-2015-30.<wbr>pdf</a><br>
</div></div><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@l=
ists.<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.<wb=
r>org/mailman/listinfo/bitcoin-<wbr>dev</a><br>
______________________________<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>
--001a11c0342ae0c058054d9b6ef8--
|