summaryrefslogtreecommitdiff
path: root/7c/a1cbf32077a3815ea8c5bc2a88a358fb9f2380
blob: df4c8f1c4daf34ee5a573114699961246c5a9528 (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
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
Return-Path: <jlrubin@mit.edu>
Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137])
 by lists.linuxfoundation.org (Postfix) with ESMTP id D8DCFC000A
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Tue,  6 Apr 2021 21:31:47 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by smtp4.osuosl.org (Postfix) with ESMTP id BA5E2414E0
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Tue,  6 Apr 2021 21:31:47 +0000 (UTC)
X-Virus-Scanned: amavisd-new at osuosl.org
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level: 
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5
 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3,
 SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from smtp4.osuosl.org ([127.0.0.1])
 by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id NgPBC4gJmn_J
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Tue,  6 Apr 2021 21:31:46 +0000 (UTC)
X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0
Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11])
 by smtp4.osuosl.org (Postfix) with ESMTPS id B759140F93
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Tue,  6 Apr 2021 21:31:45 +0000 (UTC)
Received: from mail-il1-f169.google.com (mail-il1-f169.google.com
 [209.85.166.169]) (authenticated bits=0)
 (User authenticated as jlrubin@ATHENA.MIT.EDU)
 by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 136LVhIs023632
 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NOT)
 for <bitcoin-dev@lists.linuxfoundation.org>; Tue, 6 Apr 2021 17:31:44 -0400
Received: by mail-il1-f169.google.com with SMTP id z9so14430825ilb.4
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Tue, 06 Apr 2021 14:31:44 -0700 (PDT)
X-Gm-Message-State: AOAM533NEFeDRuk5o6V5CkNDG1mvRfZLv9gLtiQ7Zh075Yl0GDVaO1PA
 MP3dNeDa1FVUR7XgC2KXWL0QDWqtBo0scwBxRmo=
X-Google-Smtp-Source: ABdhPJzG59x8t9ujuYPCGhxLT/Z2FWsrvtwfBgC2SEFMQK/Y6XWdvPAHGPwjIaq2zsVSKqHqSc8eOUhjtd/fGi+Ng1o=
X-Received: by 2002:a05:6e02:1242:: with SMTP id
 j2mr233946ilq.105.1617744703405; 
 Tue, 06 Apr 2021 14:31:43 -0700 (PDT)
MIME-Version: 1.0
From: Jeremy <jlrubin@mit.edu>
Date: Tue, 6 Apr 2021 14:31:31 -0700
X-Gmail-Original-Message-ID: <CAD5xwhiofHqRkzgDKAW5yqecju0PLj9AUUn1FngwFVmLM5Jzfg@mail.gmail.com>
Message-ID: <CAD5xwhiofHqRkzgDKAW5yqecju0PLj9AUUn1FngwFVmLM5Jzfg@mail.gmail.com>
To: Bitcoin development mailing list <bitcoin-dev@lists.linuxfoundation.org>
Content-Type: multipart/alternative; boundary="00000000000062441005bf548a73"
Subject: [bitcoin-dev] Taproot Activation Meeting Notes,
	April 6th: The CoinFlip
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.15
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: Tue, 06 Apr 2021 21:31:48 -0000

--00000000000062441005bf548a73
Content-Type: text/plain; charset="UTF-8"

Bitcoin Developers,

The second fortnightly taproot activation meeting has just concluded. Below
are my notes:

1) On AJ's mods to MTP
   - luke-jr is still NACK any MTP related thing
   - It is generally uncontested that the Mods are fine; that it should be
LOT (via LAST_CHANCE) compatible
   - it does make MTP a bit harder to review, but not unacceptably so
2) On selecting between MTP and Height
   - There are some benefits to MTPs
   - There are some benefits to Heights
   - Both are technically probably OK to use for Taproot
   - Both about as hard/easy to review (some think height has fewer edge
conditions)
   - AJ and Andrew Chow are going to see if they can unify approaches
3) Timeline + CoinFlip
   - Many present at the meeting preferred to work together to compromise
and reach consensus to stick to the timeline from the last meeting over
either height or MTP.
   - as such a coinflip is being run via `bitcoin-cli getblockhash
$((678059+20)) | cut -b64 | grep -q '[02468ace]' && echo MTP || echo
height` (that's about 13 blocks from writing).
   - If it comes up MTP, contributors mentioned below will work towards
moving MTP forwards.
   - If it comes up height, contributors mentioned below will work towards
moving height forwards.
   - You can pre-commit to following this path by responding in the next
hour or so, or also choose to abide by it async
   - If in the next day or so, AJ and Andrew Chow reach a compromise
between approaches that is compatible with the timeline of getting to a RC1
with deployment, then that can be considered on its merits in preference of
either of the existing approaches.
    - If this approach fails at helping move towards consensus on an
approach, then we will have to push back the timeline most likely for a
core release (or an emergent group will have to offer a community release)

The following folks in the meeting agreed to abide by the flip:

- roasbeef
- benthecarman
- harding
- jonatack
- rgrant
- copumpkin (in DM)
- Emcy
- jeremyrubin

There were also several folks, anonymously, who said essentially that they
don't want to commit to a flip but if it works it works and they'd roll
with it.

As noted, if you want to +1 on to coinflip before it settles, feel free to
do in response here or IRC. It's also fine to just abide by it after the
fact as well.

------------------

Personal comment on coin flip: A coinflip seems like an odd choice for a
technical decision. But let me excerpt some quotes from the meeting.

[4/6/21 12:26] <jeremyrubin> We are super lucky that both achow101 and aj
are such competent developers that we have not one but two fantastic PRs to
look at
[4/6/21 12:26] <jeremyrubin> At the same time, we have two PRs to look at
[4/6/21 12:28] <jeremyrubin> In this section I'd like to remind people to
check dug-in opinions at the door, what matters here is if we can agree on
a plan of action and get the bulk of everyone on the same page. That said,
there are nuanced technical points to examine that favour either approach
[4/6/21 12:28] <jeremyrubin> I think the differences between MTP and height
are less important than working towards a single PR to review

[4/6/21 13:09] <harding> I think both MTP and heights are fine for mainnet,
so one of them having an advantage for test networks seems worth
considering.

[4/6/21 13:09] <rgrant> This topic seems to be winding down.  I'm hearing:
that signet configuration isn't a dealbreaker but there is technical debt
incurred if we ignore it; MTP-based activation (read: celebration parties)
can be known weeks in advance if parameters are chosen well; and that code
reviews matter.  Coinflip seems to be winning.

[4/6/21 13:45] <jeremyrubin> people selecting coinflip because they think
the interest in timeline outweighs any individual perceived technical
benefit
[4/6/21 13:45] <jeremyrubin> it's not a don't care, it's a recognition
there are two decent proposals with different tradeoffs
[4/6/21 13:45] <jeremyrubin> and a desire to break stalemate on it mutually
and voluntarily

[4/6/21 13:49] <copumpkin> IMO coinflip is more of an acknowledgment that
the two CRs differ largely in shed color and that we all want the shed, and
don't care as much about its color
[4/6/21 13:49] <BlueMatt> what copumpkin said
[4/6/21 13:50] <copumpkin> (not to minimize the differences between them,
but gotta keep the big picture in mind and not die on hills that don't need
dead people on them)

We have two good options, and coinflip is people agreeing to put aside
minute preferences on two acceptable options for the big picture. As such,
I think that a coinflip is appropriately used in this circumstance,
although I recognize the sentiment that some may feel it's treating
development a little too *flippantly*.

Rough consensus and running code.

Best,

Jeremy

--
@JeremyRubin <https://twitter.com/JeremyRubin>
<https://twitter.com/JeremyRubin>

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

<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:arial,he=
lvetica,sans-serif;font-size:small;color:#000000">Bitcoin Developers,</div>=
<div class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-seri=
f;font-size:small;color:#000000"><br></div><div class=3D"gmail_default" sty=
le=3D"font-family:arial,helvetica,sans-serif;font-size:small;color:#000000"=
>The second fortnightly taproot activation meeting has just concluded. Belo=
w are my notes:<br></div><div class=3D"gmail_default" style=3D"font-family:=
arial,helvetica,sans-serif;font-size:small;color:#000000"><br></div><div cl=
ass=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif;font-=
size:small;color:#000000">1) On AJ&#39;s mods to MTP</div><div class=3D"gma=
il_default" style=3D"font-family:arial,helvetica,sans-serif;font-size:small=
;color:#000000">=C2=A0=C2=A0 - luke-jr is still NACK any MTP related thing<=
/div><div class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans=
-serif;font-size:small;color:#000000">=C2=A0=C2=A0 - It is generally uncont=
ested that the Mods are fine; that it should be LOT (via LAST_CHANCE) compa=
tible</div><div class=3D"gmail_default" style=3D"font-family:arial,helvetic=
a,sans-serif;font-size:small;color:#000000">=C2=A0=C2=A0 - it does make MTP=
 a bit harder to review, but not unacceptably so</div><div class=3D"gmail_d=
efault" style=3D"font-family:arial,helvetica,sans-serif;font-size:small;col=
or:#000000">2) On selecting between MTP and Height</div><div class=3D"gmail=
_default" style=3D"font-family:arial,helvetica,sans-serif;font-size:small;c=
olor:#000000">=C2=A0=C2=A0 - There are some benefits to MTPs</div><div clas=
s=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif;font-si=
ze:small;color:#000000">=C2=A0=C2=A0 - There are some benefits to Heights</=
div><div class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-=
serif;font-size:small;color:#000000">=C2=A0=C2=A0 - Both are technically pr=
obably OK to use for Taproot</div><div class=3D"gmail_default" style=3D"fon=
t-family:arial,helvetica,sans-serif;font-size:small;color:#000000">=C2=A0=
=C2=A0 - Both about as hard/easy to review (some think height has fewer edg=
e conditions)<br></div><div class=3D"gmail_default" style=3D"font-family:ar=
ial,helvetica,sans-serif;font-size:small;color:#000000">=C2=A0=C2=A0 - AJ a=
nd Andrew Chow are going to see if they can unify approaches<br></div><div =
class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif;fon=
t-size:small;color:#000000">3) Timeline + CoinFlip</div><div class=3D"gmail=
_default" style=3D"font-family:arial,helvetica,sans-serif;font-size:small;c=
olor:#000000">=C2=A0=C2=A0 - Many present at the meeting preferred to work =
together to compromise and reach consensus to stick to the timeline from th=
e last meeting over either height or MTP.</div><div class=3D"gmail_default"=
 style=3D"font-family:arial,helvetica,sans-serif;font-size:small;color:#000=
000">=C2=A0=C2=A0 - as such a coinflip is being run via `bitcoin-cli getblo=
ckhash $((678059+20)) | cut -b64 | grep -q &#39;[02468ace]&#39; &amp;&amp; =
echo MTP || echo height` (that&#39;s about 13 blocks from writing).</div><d=
iv class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif;=
font-size:small;color:#000000">=C2=A0=C2=A0 - If it comes up MTP, contribut=
ors mentioned below will work towards moving MTP forwards.</div><div class=
=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif;font-siz=
e:small;color:#000000">=C2=A0=C2=A0 - If it comes up height, contributors m=
entioned below will work towards moving height forwards.</div><div class=3D=
"gmail_default" style=3D"font-family:arial,helvetica,sans-serif;font-size:s=
mall;color:#000000">=C2=A0=C2=A0 - You can pre-commit to following this pat=
h by responding in the next hour or so, or also choose to abide by it async=
</div><div class=3D"gmail_default" style=3D"font-family:arial,helvetica,san=
s-serif;font-size:small;color:#000000">=C2=A0=C2=A0 - If in the next day or=
 so, AJ and Andrew Chow reach a compromise between approaches that is compa=
tible with the timeline of getting to a RC1 with deployment, then that can =
be considered on its merits in preference of either of the existing approac=
hes.</div><div class=3D"gmail_default" style=3D"font-family:arial,helvetica=
,sans-serif;font-size:small;color:#000000">=C2=A0=C2=A0=C2=A0 - If this app=
roach fails at helping move towards consensus on an approach, then we will =
have to push back the timeline most likely for a core release (or an emerge=
nt group will have to offer a community release)</div><div class=3D"gmail_d=
efault" style=3D"font-family:arial,helvetica,sans-serif;font-size:small;col=
or:#000000"><br></div><div class=3D"gmail_default" style=3D"font-family:ari=
al,helvetica,sans-serif;font-size:small;color:#000000">The following folks =
in the meeting agreed to abide by the flip:</div><div class=3D"gmail_defaul=
t" style=3D"font-family:arial,helvetica,sans-serif;font-size:small;color:#0=
00000"><br></div><div class=3D"gmail_default" style=3D"font-family:arial,he=
lvetica,sans-serif;font-size:small;color:#000000">- roasbeef</div><div clas=
s=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif;font-si=
ze:small;color:#000000">- benthecarman</div><div class=3D"gmail_default" st=
yle=3D"font-family:arial,helvetica,sans-serif;font-size:small;color:#000000=
"></div><div class=3D"gmail_default" style=3D"font-family:arial,helvetica,s=
ans-serif;font-size:small;color:#000000">- harding</div><div class=3D"gmail=
_default" style=3D"font-family:arial,helvetica,sans-serif;font-size:small;c=
olor:#000000">- jonatack</div><div class=3D"gmail_default" style=3D"font-fa=
mily:arial,helvetica,sans-serif;font-size:small;color:#000000">- rgrant</di=
v><div class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-se=
rif;font-size:small;color:#000000">- copumpkin (in DM)</div><div class=3D"g=
mail_default" style=3D"font-family:arial,helvetica,sans-serif;font-size:sma=
ll;color:#000000">- Emcy<br></div><div class=3D"gmail_default" style=3D"fon=
t-family:arial,helvetica,sans-serif;font-size:small;color:#000000">- jeremy=
rubin</div><div class=3D"gmail_default" style=3D"font-family:arial,helvetic=
a,sans-serif;font-size:small;color:#000000"><br></div><div class=3D"gmail_d=
efault" style=3D"font-family:arial,helvetica,sans-serif;font-size:small;col=
or:#000000">There were also several folks, anonymously, who said essentiall=
y that they don&#39;t want to commit to a flip but if it works it works and=
 they&#39;d roll with it.</div><div class=3D"gmail_default" style=3D"font-f=
amily:arial,helvetica,sans-serif;font-size:small;color:#000000"><br></div><=
div class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif=
;font-size:small;color:#000000">As noted, if you want to +1 on to coinflip =
before it settles, feel free to do in response here or IRC. It&#39;s also f=
ine to just abide by it after the fact as well.<br></div><div class=3D"gmai=
l_default" style=3D"font-family:arial,helvetica,sans-serif;font-size:small;=
color:#000000"><br></div><div class=3D"gmail_default" style=3D"font-family:=
arial,helvetica,sans-serif;font-size:small;color:#000000">-----------------=
-</div><div class=3D"gmail_default" style=3D"font-family:arial,helvetica,sa=
ns-serif;font-size:small;color:#000000"><br></div><div class=3D"gmail_defau=
lt" style=3D"font-family:arial,helvetica,sans-serif;font-size:small;color:#=
000000">Personal comment on coin flip: A coinflip seems like an odd choice =
for a technical decision. But let me excerpt some quotes from the meeting.<=
br></div><div class=3D"gmail_default" style=3D"font-family:arial,helvetica,=
sans-serif;font-size:small;color:#000000"><br></div><div class=3D"gmail_def=
ault" style=3D"font-family:arial,helvetica,sans-serif;font-size:small;color=
:#000000">[4/6/21 12:26] &lt;jeremyrubin&gt; We are super lucky that both a=
chow101 and aj are such competent developers that we have not one but two f=
antastic PRs to look at</div><div class=3D"gmail_default" style=3D"font-fam=
ily:arial,helvetica,sans-serif;font-size:small;color:#000000">[4/6/21 12:26=
] &lt;jeremyrubin&gt; At the same time, we have two PRs to look at</div><di=
v class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif;f=
ont-size:small;color:#000000">[4/6/21 12:28] &lt;jeremyrubin&gt; In this se=
ction I&#39;d like to remind people to check dug-in opinions at the door, w=
hat matters here is if we can agree on a plan of action and get the bulk of=
 everyone on the same page. That said, there are nuanced technical points t=
o examine that favour either approach<br>[4/6/21 12:28] &lt;jeremyrubin&gt;=
 I think the differences between MTP and height are less important than wor=
king towards a single PR to review</div><div class=3D"gmail_default" style=
=3D"font-family:arial,helvetica,sans-serif;font-size:small;color:#000000"><=
br></div><div class=3D"gmail_default" style=3D"font-family:arial,helvetica,=
sans-serif;font-size:small;color:#000000">[4/6/21 13:09] &lt;harding&gt; I =
think both MTP and heights are fine for mainnet, so one of them having an a=
dvantage for test networks seems worth considering.</div><div class=3D"gmai=
l_default" style=3D"font-family:arial,helvetica,sans-serif;font-size:small;=
color:#000000"><br></div><div class=3D"gmail_default" style=3D"font-family:=
arial,helvetica,sans-serif;font-size:small;color:#000000">[4/6/21 13:09] &l=
t;rgrant&gt; This topic seems to be winding down.=C2=A0 I&#39;m hearing: th=
at signet configuration isn&#39;t a dealbreaker but there is technical debt=
 incurred if we ignore it; MTP-based activation (read: celebration parties)=
 can be known weeks in advance if parameters are chosen well; and that code=
 reviews matter.=C2=A0 Coinflip seems to be winning.<br></div><div class=3D=
"gmail_default" style=3D"font-family:arial,helvetica,sans-serif;font-size:s=
mall;color:#000000"><br></div><div class=3D"gmail_default" style=3D"font-fa=
mily:arial,helvetica,sans-serif;font-size:small;color:#000000">[4/6/21 13:4=
5] &lt;jeremyrubin&gt; people selecting coinflip because they think the int=
erest in timeline outweighs any individual perceived technical benefit<br>[=
4/6/21 13:45] &lt;jeremyrubin&gt; it&#39;s not a don&#39;t care, it&#39;s a=
 recognition there are two decent proposals with different tradeoffs<br>[4/=
6/21 13:45] &lt;jeremyrubin&gt; and a desire to break stalemate on it mutua=
lly and voluntarily </div><div class=3D"gmail_default" style=3D"font-family=
:arial,helvetica,sans-serif;font-size:small;color:#000000"><br></div><div c=
lass=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif;font=
-size:small;color:#000000">[4/6/21 13:49] &lt;copumpkin&gt; IMO coinflip is=
 more of an acknowledgment that the two CRs differ largely in shed color an=
d that we all want the shed, and don&#39;t care as much about its color<br>=
</div><div class=3D"gmail_default" style=3D"font-family:arial,helvetica,san=
s-serif;font-size:small;color:#000000">[4/6/21 13:49] &lt;BlueMatt&gt; what=
 copumpkin said<br></div><div class=3D"gmail_default" style=3D"font-family:=
arial,helvetica,sans-serif;font-size:small;color:#000000">[4/6/21 13:50] &l=
t;copumpkin&gt; (not to minimize the differences between them, but gotta ke=
ep the big picture in mind and not die on hills that don&#39;t need dead pe=
ople on them)</div><div class=3D"gmail_default" style=3D"font-family:arial,=
helvetica,sans-serif;font-size:small;color:#000000"><br></div><div class=3D=
"gmail_default" style=3D"font-family:arial,helvetica,sans-serif;font-size:s=
mall;color:#000000">We have two good options, and coinflip is people agreei=
ng to put aside minute preferences on two acceptable options for the big pi=
cture. As such, I think that a coinflip is appropriately used in this circu=
mstance, although I recognize the sentiment that some may feel it&#39;s tre=
ating development a little too <i>flippantly</i>.<br></div><div class=3D"gm=
ail_default" style=3D"font-family:arial,helvetica,sans-serif;font-size:smal=
l;color:#000000"><br></div><div class=3D"gmail_default" style=3D"font-famil=
y:arial,helvetica,sans-serif;font-size:small;color:#000000">Rough consensus=
 and running code.<br></div><div class=3D"gmail_default" style=3D"font-fami=
ly:arial,helvetica,sans-serif;font-size:small;color:#000000"><br></div><div=
 class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif;fo=
nt-size:small;color:#000000">Best,</div><div class=3D"gmail_default" style=
=3D"font-family:arial,helvetica,sans-serif;font-size:small;color:#000000"><=
br></div><div class=3D"gmail_default" style=3D"font-family:arial,helvetica,=
sans-serif;font-size:small;color:#000000">Jeremy<br></div><br clear=3D"all"=
><div><div dir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gmail_si=
gnature"><div dir=3D"ltr">--<br><a href=3D"https://twitter.com/JeremyRubin"=
 target=3D"_blank">@JeremyRubin</a><a href=3D"https://twitter.com/JeremyRub=
in" target=3D"_blank"></a></div></div></div></div>

--00000000000062441005bf548a73--