Return-Path: <eric@voskuil.org>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id 61040949
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Mon, 13 Feb 2017 11:17:09 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.7.6
Received: from mail-ot0-f172.google.com (mail-ot0-f172.google.com
	[74.125.82.172])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id F236216F
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Mon, 13 Feb 2017 11:17:07 +0000 (UTC)
Received: by mail-ot0-f172.google.com with SMTP id 32so64861767oth.3
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Mon, 13 Feb 2017 03:17:07 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=voskuil-org.20150623.gappssmtp.com; s=20150623;
	h=subject:to:references:cc:from:message-id:date:user-agent
	:mime-version:in-reply-to;
	bh=/xymEjAjXCNTbr42SyXmlJuuFMTGEQ+QNhchnAUJe9g=;
	b=f6V7oDz4nt6IzQQdtZgyJ4zU6yKq/cb2P/VZbh24Vpl0yufFBVBSmPw4su44l+7cSR
	XHR5i76jOerzFYyyoRZpcfyvreSNUTrOrF9jDFTP11TLYE1oy/qUAvYObTu7dun5NK/B
	nEyE3JIN88URV4SVLc4RXtZQltOUS/MWGJ/14ssc/MS1HDJVdy/HnEzzSsxLuYbZN+g3
	mNjTDs0PpJXDXDLU/trDOBTlNbMR58+Z3T72FJ2Vy+YTmqYKpG/15TTkzsnCvzTZr96r
	gjd00qPteJk24QLWe64Ku/i/l+0vzNxVMtw92Y763CCA152zcwxTNwmC23ZBmP6Et5dA
	5kzw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=1e100.net; s=20161025;
	h=x-gm-message-state:subject:to:references:cc:from:message-id:date
	:user-agent:mime-version:in-reply-to;
	bh=/xymEjAjXCNTbr42SyXmlJuuFMTGEQ+QNhchnAUJe9g=;
	b=mQ4t87OzGuXBc7F8dCNVdQvuhGmXpWIGcr+h1eETleEKsZTRFtniTA9aaLzeXMm0VE
	56UVjexF96C4IVq8W34H10NFVDhL748HLEYYWbrl2uwqiw10l2s2F9QLx3XdUoY/Nxaw
	SJ8N02SlZp10vyJmYcefdkaBy/U4Zov5pwPC1Pj0mV08hXYfG7cnHMZ+roqlbUmDG5Eb
	dNT4NTlTXVciFwghWrmn9pWUwJEal6JyTb1/nB/1DWuHABQpKlqAEFRTfqEud37mhAVg
	oXxyNcKBZ9DABCP2OuVjBIIRs1kBxE0gkNQIxKYjcO8XGCRVKH4mb8R/t5thdHgzih11
	FCtA==
X-Gm-Message-State: AMke39l0PHdgwzynLiFojj2k9433DXBHL4JjGHQCd/aIHaQYtHsHre+oMt0BaKLIXjpwiQ==
X-Received: by 10.98.71.199 with SMTP id p68mr25497321pfi.104.1486984627240;
	Mon, 13 Feb 2017 03:17:07 -0800 (PST)
Received: from ?IPv6:2601:600:9000:d69e:29fe:db3d:631d:9499?
	([2601:600:9000:d69e:29fe:db3d:631d:9499])
	by smtp.gmail.com with ESMTPSA id
	s24sm18206109pgo.25.2017.02.13.03.17.06
	(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
	Mon, 13 Feb 2017 03:17:06 -0800 (PST)
To: Matt Corallo <lf-lists@mattcorallo.com>,
	Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>,
	Pieter Wuille <pieter.wuille@gmail.com>
References: <ba422d5e-8e96-3475-2a29-80d89fd67322@voskuil.org>
	<CAPg+sBhDjVuN6=tdvUcSY5OCdJD7s3Jp90K1qx0iRX+2WppUQQ@mail.gmail.com>
	<dde5349d-c430-ad57-30c7-77954ff1a94d@voskuil.org>
	<424C9E40-0B90-46A6-9C5E-30AE3E84E119@mattcorallo.com>
	<9ca02a65-23df-5eb4-f9bd-7e05b54ec4ea@voskuil.org>
	<9ECDD902-1D2C-4500-8FC2-4DADF46E4318@mattcorallo.com>
From: Eric Voskuil <eric@voskuil.org>
Message-ID: <0983c823-e517-2821-1398-24bc7467b364@voskuil.org>
Date: Mon, 13 Feb 2017 03:17:11 -0800
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101
	Thunderbird/45.5.1
MIME-Version: 1.0
In-Reply-To: <9ECDD902-1D2C-4500-8FC2-4DADF46E4318@mattcorallo.com>
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature";
	boundary="49wTHU7AGXBEgdaqnfV7ANW21NLQk7ai9"
X-Spam-Status: No, score=-1.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,
	DKIM_VALID, RCVD_IN_DNSWL_NONE,
	RCVD_IN_SORBS_SPAM autolearn=no version=3.3.1
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
	smtp1.linux-foundation.org
X-Mailman-Approved-At: Mon, 13 Feb 2017 11:43:51 +0000
Cc: libbitcoin@lists.dyne.org
Subject: Re: [bitcoin-dev] BIP151 protocol incompatibility
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: Mon, 13 Feb 2017 11:17:09 -0000

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--49wTHU7AGXBEgdaqnfV7ANW21NLQk7ai9
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On 02/13/2017 03:11 AM, Matt Corallo wrote:
> I believe many, if not all, of those messages are sent irrespective of =
version number.

In the interest of perfect clarity, see your code:

https://github.com/bitcoin/bitcoin/blob/master/src/net_processing.cpp#L13=
72-L1403

Inside of the VERACK handler (i.e. after the handshake) there is a peer
version test before sending SENDCMPCT (and SENDHEADERS).

I have no idea where the fee filter message is sent, if it is sent at
all. But I have *never* seen any control messages arrive before the
handshake is complete.

> In any case, I fail to see how adding any additional messages which
are ignored by old peers amounts to a lack of backward compatibility.

See preceding messages in this thread, I think it's pretty clearly
spelled out.

e

> On February 13, 2017 11:54:23 AM GMT+01:00, Eric Voskuil <eric@voskuil.=
org> wrote:
>> On 02/13/2017 02:16 AM, Matt Corallo wrote:
>>> For the reasons Pieter listed, an explicit part of our version
>> handshake and protocol negotiation is the exchange of otherwise-ignore=
d
>> messages to set up optional features.
>>
>> Only if the peer is at the protocol level that allows the message:
>>
>> compact blocks:
>>
>> https://github.com/bitcoin/bitcoin/blob/master/src/protocol.h#L217-L24=
2
>>
>> fee filter:
>>
>> https://github.com/bitcoin/bitcoin/blob/master/src/protocol.h#L211-L21=
6
>>
>> send headers:
>>
>> https://github.com/bitcoin/bitcoin/blob/master/src/protocol.h#L204-L21=
0
>>
>> filters:
>>
>> https://github.com/bitcoin/bitcoin/blob/master/src/protocol.h#L170-L19=
6
>>
>>> Peers that do not support this ignore such messages, just as if they
>> had indicated they wouldn't support it, see, eg BIP 152's handshake.
>> Not
>> sure why you consider this backwards incompatible, as I would say it's=

>> pretty clearly allowing old nodes to communicate just fine.
>>
>> No, it is not the same as BIP152. Control messages apart from BIP151
>> are
>> not sent until *after* the version is negotiated.
>>
>> I assume that BIP151 is different in this manner because it has a
>> desire
>> to negotiate encryption before any other communications, including
>> version.
>>
>> e


--49wTHU7AGXBEgdaqnfV7ANW21NLQk7ai9
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)

iQEcBAEBAgAGBQJYoZW3AAoJEDzYwH8LXOFOmOgH/iEyfUO8gJXdo5FG/5oyOwte
dc1abCKv0HezFcdwc710ZLX6Obj8/1j6tVabzdCTZSbbHmhNmj3wSbZe6gjFUzTy
2/SBm2jGmMQUlpuKI2dhBPEIg7aMGV1W0b30YphWAaqAyQm0U1qgXuBKCcyxFLR4
006o/yEf6v0RXjd9Ghd87oMGrTxfIHm0FPTovrkTakK7cr+HwBxM5rutZdB0q70o
050uCapxZYj412YsJGEJ3iCSiCbP84+RL8fYi0iiEIE+z5kTNMaGyeqyCZRaWgwH
a1yUDmPKeEbh2gwcmqUfCAgM7+AEzp39UFcEF0lhm6fbFr7ZCR4n+77hxZYXR00=
=1a34
-----END PGP SIGNATURE-----

--49wTHU7AGXBEgdaqnfV7ANW21NLQk7ai9--