summaryrefslogtreecommitdiff
path: root/34/369001bfa3e7fc7ecb00f891321c74ab63d3ae
blob: 4085f362d7a97ab03c0fb2b904d8826a9dbd264d (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
Return-Path: <jlrubin@mit.edu>
Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])
 by lists.linuxfoundation.org (Postfix) with ESMTP id C6F85C0051
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Fri, 21 Aug 2020 21:17:47 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by whitealder.osuosl.org (Postfix) with ESMTP id C2A80887C3
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Fri, 21 Aug 2020 21:17:47 +0000 (UTC)
X-Virus-Scanned: amavisd-new at osuosl.org
Received: from whitealder.osuosl.org ([127.0.0.1])
 by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id kRPBMfmeyIPi
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Fri, 21 Aug 2020 21:17:47 +0000 (UTC)
X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6
Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11])
 by whitealder.osuosl.org (Postfix) with ESMTPS id DA1FA887C0
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Fri, 21 Aug 2020 21:17:46 +0000 (UTC)
Received: from mail-ed1-f49.google.com (mail-ed1-f49.google.com
 [209.85.208.49]) (authenticated bits=0)
 (User authenticated as jlrubin@ATHENA.MIT.EDU)
 by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 07LLHiKi027500
 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NOT)
 for <bitcoin-dev@lists.linuxfoundation.org>; Fri, 21 Aug 2020 17:17:45 -0400
Received: by mail-ed1-f49.google.com with SMTP id l23so2679064edv.11
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Fri, 21 Aug 2020 14:17:45 -0700 (PDT)
X-Gm-Message-State: AOAM531HyfOhCywHCXtBVUp3xyIaXY1c18uHndABNuzx4YRrp+biuq4I
 ToNjHozzLZPsx4qsEpy/IIZTyLXpjcKsQSKN6EY=
X-Google-Smtp-Source: ABdhPJwslBBWVfllmXoeoH8rX71DsS9P6CMlNrpg/Y/xNOKfRHIcXfRIftTud66PZZyk8ii+AyDzDf8TOSE+UqIHLvQ=
X-Received: by 2002:aa7:d45a:: with SMTP id q26mr4646702edr.95.1598044664317; 
 Fri, 21 Aug 2020 14:17:44 -0700 (PDT)
MIME-Version: 1.0
References: <A26FA2BC-50E5-4635-95E4-56AAA969C9DA@mattcorallo.com>
 <B514142F-382B-4D49-B68D-0115ECBD1D79@voskuil.org>
 <CAD5xwhi9zVp3nOhFy3Hia_Md++Gdz+F5Kat_bbbZwBcmPhMGZA@mail.gmail.com>
 <b6198e1a-c30b-358a-9673-247a7c305913@mattcorallo.com>
 <CAD5xwhhrz8SMQ4bA6eD2VRwqmMEzVv7NmrD8kDnPfqJy092bKQ@mail.gmail.com>
In-Reply-To: <CAD5xwhhrz8SMQ4bA6eD2VRwqmMEzVv7NmrD8kDnPfqJy092bKQ@mail.gmail.com>
From: Jeremy <jlrubin@mit.edu>
Date: Fri, 21 Aug 2020 14:17:32 -0700
X-Gmail-Original-Message-ID: <CAD5xwhjdLJvMd5gpKQXfW5Tr9RV0GTakA0pD3-xzQLHd_nY1OA@mail.gmail.com>
Message-ID: <CAD5xwhjdLJvMd5gpKQXfW5Tr9RV0GTakA0pD3-xzQLHd_nY1OA@mail.gmail.com>
To: Jeremy <jlrubin@mit.edu>
Content-Type: multipart/alternative; boundary="0000000000008d4be305ad69c454"
Cc: Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
Subject: Re: [bitcoin-dev] Generalizing feature negotiation when new p2p
 connections are setup
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: Fri, 21 Aug 2020 21:17:47 -0000

--0000000000008d4be305ad69c454
Content-Type: text/plain; charset="UTF-8"

As for an example of where you'd want multi-round, you could imagine a
scenario where you have a feature A which gets bugfixed by the introduction
of feature B, and you don't want to expose that you support A unless you
first negotiate B. Or if you can negotiate B you should never expose A, but
for old nodes you'll still do it if B is unknown to them. An example of
this would be (were it not already out without a feature negotiation
existing) WTXID/TXID relay.

The SYNC primitve simply codifies what order messages should be in and when
you're done for a phase of negotiation offering something. It can be done
without, but then you have to be more careful to broadcast in the correct
order and it's not clear when/if you should wait for more time before
responding.


On Fri, Aug 21, 2020 at 2:08 PM Jeremy <jlrubin@mit.edu> wrote:

> Actually we already have service bits (which are sadly limited) which
> allow negotiation of non bilateral feature support, so this would supercede
> that.
> --
> @JeremyRubin <https://twitter.com/JeremyRubin>
> <https://twitter.com/JeremyRubin>
>

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

<div dir=3D"ltr"><div><span class=3D"gmail_default" style=3D"font-family:ar=
ial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">As for an exampl=
e of where you&#39;d want multi-round, you could imagine a scenario where y=
ou have a feature A which gets bugfixed by the introduction of feature B, a=
nd you don&#39;t want to expose that you support A unless you first negotia=
te B. Or if you can negotiate B you should never expose A, but for old node=
s you&#39;ll still do it if B is unknown to them. An example of this would =
be (were it not already out without a feature negotiation existing) WTXID/T=
XID relay.<br></span></div><div><span class=3D"gmail_default" style=3D"font=
-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><br></=
span></div><div><span class=3D"gmail_default" style=3D"font-family:arial,he=
lvetica,sans-serif;font-size:small;color:rgb(0,0,0)">The SYNC primitve simp=
ly codifies what order messages should be in and when you&#39;re done for a=
 phase of negotiation offering something. It can be done without, but then =
you have to be more careful to broadcast in the correct order and it&#39;s =
not clear when/if you should wait for more time before responding.</span><b=
r></div><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote"><div dir=
=3D"ltr" class=3D"gmail_attr">On Fri, Aug 21, 2020 at 2:08 PM Jeremy &lt;<a=
 href=3D"mailto:jlrubin@mit.edu">jlrubin@mit.edu</a>&gt; wrote:<br></div><b=
lockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-le=
ft:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div style=
=3D"font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)=
">Actually we already have service bits (which are sadly limited) which all=
ow negotiation of non bilateral feature support, so this would supercede th=
at.<br clear=3D"all"></div><div><div dir=3D"ltr"><div dir=3D"ltr">--<br><a =
href=3D"https://twitter.com/JeremyRubin" target=3D"_blank">@JeremyRubin</a>=
<a href=3D"https://twitter.com/JeremyRubin" target=3D"_blank"></a></div></d=
iv></div></div></blockquote></div></div>

--0000000000008d4be305ad69c454--