summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid A. Harding <dave@dtrt.org>2019-03-24 09:29:10 -0400
committerbitcoindev <bitcoindev@gnusha.org>2019-03-24 13:30:35 +0000
commit1da81d438a1dcbf0d07ceb754c373b5df600fc30 (patch)
tree00e4d9f9cbe1ce560d7ce3f32d3d4a37d45232a1
parent375ec8e3de2f10093146ac8ac1b2d4574a30713a (diff)
downloadpi-bitcoindev-1da81d438a1dcbf0d07ceb754c373b5df600fc30.tar.gz
pi-bitcoindev-1da81d438a1dcbf0d07ceb754c373b5df600fc30.zip
Re: [bitcoin-dev] New BIP - v2 peer-to-peer message transport protocol (former BIP151)
-rw-r--r--6d/afdb34c402b85e1921db8b980d6763ef86e53b139
1 files changed, 139 insertions, 0 deletions
diff --git a/6d/afdb34c402b85e1921db8b980d6763ef86e53b b/6d/afdb34c402b85e1921db8b980d6763ef86e53b
new file mode 100644
index 000000000..33c9461ec
--- /dev/null
+++ b/6d/afdb34c402b85e1921db8b980d6763ef86e53b
@@ -0,0 +1,139 @@
+Return-Path: <dave@dtrt.org>
+Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
+ [172.17.192.35])
+ by mail.linuxfoundation.org (Postfix) with ESMTPS id 49E58A7A
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Sun, 24 Mar 2019 13:30:35 +0000 (UTC)
+X-Greylist: from auto-whitelisted by SQLgrey-1.7.6
+Received: from newmail.dtrt.org (li1228-87.members.linode.com [45.79.129.87])
+ by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 6A9E02D5
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Sun, 24 Mar 2019 13:30:33 +0000 (UTC)
+Received: from harding by newmail.dtrt.org with local (Exim 4.89)
+ (envelope-from <dave@dtrt.org>)
+ id 1h83Cp-0004GH-Q3; Sun, 24 Mar 2019 09:30:31 -0400
+Date: Sun, 24 Mar 2019 09:29:10 -0400
+From: "David A. Harding" <dave@dtrt.org>
+To: Jonas Schnelli <dev@jonasschnelli.ch>,
+ Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
+Message-ID: <20190324132910.ss2fe4nzoneazti5@email>
+References: <26A4BEC6-403C-4534-8A2D-57C71D1736FB@jonasschnelli.ch>
+MIME-Version: 1.0
+Content-Type: multipart/signed; micalg=pgp-sha256;
+ protocol="application/pgp-signature"; boundary="bhq2lx6nmnd6k5st"
+Content-Disposition: inline
+In-Reply-To: <26A4BEC6-403C-4534-8A2D-57C71D1736FB@jonasschnelli.ch>
+User-Agent: NeoMutt/20170113 (1.7.2)
+X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 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: Sun, 24 Mar 2019 14:28:52 +0000
+Subject: Re: [bitcoin-dev] New BIP - v2 peer-to-peer message transport
+ protocol (former BIP151)
+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: Sun, 24 Mar 2019 13:30:35 -0000
+
+
+--bhq2lx6nmnd6k5st
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: inline
+Content-Transfer-Encoding: quoted-printable
+
+On Fri, Mar 22, 2019 at 10:04:46PM +0100, Jonas Schnelli via bitcoin-dev wr=
+ote:
+> =3D=3D=3D v2 Messages Structure =3D=3D=3D
+>=20
+> {|class=3D"wikitable"
+> ! Field Size !! Description !! Data type !! Comments
+> [...]
+> | 1-13 || encrypted command || variable || ASCII command (or one byte sho=
+rt command ID)
+> [...]=20
+> The command field MUST start with a byte that defines the length of the A=
+SCII
+> command string up to 12 chars (1 to 12) or a short command ID (see below).
+> [...]=20
+> =3D=3D=3D=3D Short Command ID =3D=3D=3D=3D
+>=20
+> To save valuable bandwidth, the v2 message format supports message command
+> short IDs for message types with high frequency. The ID/string mapping is=
+ a
+> peer to peer arrangement and MAY be negotiated between the initiating and
+> responding peer.=20
+
+Why is this optional and only specified here for some message types
+rather than being required by v2 and specified for all message types?
+There's only 26 different types at present[1], so it seems better to
+simply make this a one-byte fixed-length field than it is to deal with
+variable size, mapping negotiation, per-peer mapping in general, and
+(once the network is fully v2) the dual-logic of being able to process
+messages either from a short ID or a full command name.
+
+Thanks,
+
+-Dave
+
+[1] src/protocol.cpp:
+
+const static std::string allNetMessageTypes[] =3D {
+ NetMsgType::VERSION,
+ NetMsgType::VERACK,
+ NetMsgType::ADDR,
+ NetMsgType::INV,
+ NetMsgType::GETDATA,
+ NetMsgType::MERKLEBLOCK,
+ NetMsgType::GETBLOCKS,
+ NetMsgType::GETHEADERS,
+ NetMsgType::TX,
+ NetMsgType::HEADERS,
+ NetMsgType::BLOCK,
+ NetMsgType::GETADDR,
+ NetMsgType::MEMPOOL,
+ NetMsgType::PING,
+ NetMsgType::PONG,
+ NetMsgType::NOTFOUND,
+ NetMsgType::FILTERLOAD,
+ NetMsgType::FILTERADD,
+ NetMsgType::FILTERCLEAR,
+ NetMsgType::REJECT,
+ NetMsgType::SENDHEADERS,
+ NetMsgType::FEEFILTER,
+ NetMsgType::SENDCMPCT,
+ NetMsgType::CMPCTBLOCK,
+ NetMsgType::GETBLOCKTXN,
+ NetMsgType::BLOCKTXN,
+};
+
+--bhq2lx6nmnd6k5st
+Content-Type: application/pgp-signature; name="signature.asc"
+
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAEBCAAdFiEEgxUkqkMp0LnoXjCr2dtBqWwiadMFAlyXhiUACgkQ2dtBqWwi
+adOvkw//bELyZ8HKRSsqxUDRfqPTgue4sdUw33mN7LmhMiQ5h80CXoYFYZgWIFh4
+E4Z/Xf1AdPJUCoc0c8FFwnlRU90/ZdjW3Ur2bCDL5VRI2jt8TkRXVuPl3e2RZ92g
+qcJ3xQ64TBVeiPqYrKjvLyHLPH3mliOMACKDwX13DhFSyt4Xzl5cwney+niia87k
+nBVnM3CeCgOTDQr+UjbU2m/etDxtR0PcMnrotT/nI6e6N25CZAUTlNE43MhYlwU/
+lsRwFfEpKQPvh56UntVygk7cV2dFxof5ZG46U7fbp7UW2nJz9U5uScejALnacXK4
+2KHEc60c1QztPQdbyki293pQbNghi2HknzdA5w3rnNSGmiCd6pVXOHXoBo/RXPsg
+YbB+WN8xe6+ryegGXM7lnq4eEbyeDTFCryTK4HqK7I8pLHlBqLEj5KPcQngH0JSZ
+C6/6J0+C+7LGMjCfII40ATTV2EHYa0/58pm5XZkMHS0t2t7kO8KgdInHHUzGCkfC
+7W3umaCWxVOsQHLFc8uym+W7hdUbe3IHqSM3AThNK7phnoOstgPIh9yIEODe/7wx
+sXpD0yYNGbKgzsesJciQq7qQ5LoBTmbwuHa28hNhHHsNvuC76JmZfMKRuf4LKEsK
+FFrCYt9nw8xmKbcix/9KpNYoADRTZrLikRRymLrkCt+IA8zDLR0=
+=T09R
+-----END PGP SIGNATURE-----
+
+--bhq2lx6nmnd6k5st--
+