Return-Path: <pete@petertodd.org>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id E80A2955
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Tue, 21 Jun 2016 22:10:18 +0000 (UTC)
X-Greylist: from auto-whitelisted by SQLgrey-1.7.6
Received: from outmail148109.authsmtp.co.uk (outmail148109.authsmtp.co.uk
	[62.13.148.109])
	by smtp1.linuxfoundation.org (Postfix) with ESMTP id DB498E5
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Tue, 21 Jun 2016 22:10:17 +0000 (UTC)
Received: from mail-c247.authsmtp.com (mail-c247.authsmtp.com [62.13.128.247])
	by punt22.authsmtp.com (8.14.2/8.14.2/) with ESMTP id u5LMADYe096724;
	Tue, 21 Jun 2016 23:10:13 +0100 (BST)
Received: from petertodd.org (ec2-52-5-185-120.compute-1.amazonaws.com
	[52.5.185.120]) (authenticated bits=0)
	by mail.authsmtp.com (8.14.2/8.14.2/) with ESMTP id u5LMA9Ts053061
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Tue, 21 Jun 2016 23:10:10 +0100 (BST)
Received: from [127.0.0.1] (localhost [127.0.0.1])
	by petertodd.org (Postfix) with ESMTPSA id 861104010B;
	Tue, 21 Jun 2016 22:08:07 +0000 (UTC)
Received: by localhost (Postfix, from userid 1000)
	id 9A58120217; Tue, 21 Jun 2016 18:10:08 -0400 (EDT)
Date: Tue, 21 Jun 2016 18:10:08 -0400
From: Peter Todd <pete@petertodd.org>
To: Luke Dashjr <luke@dashjr.org>,
	Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
Message-ID: <20160621221008.GB10196@fedora-21-dvm>
References: <CAJowKg+zYtUnHv+ea--srehVa5K46sjpWbHVcVGRY5x0w5XRTQ@mail.gmail.com>
	<201606212044.38931.luke@dashjr.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="WYTEVAkct0FjGQmd"
Content-Disposition: inline
In-Reply-To: <201606212044.38931.luke@dashjr.org>
User-Agent: Mutt/1.5.23 (2014-03-12)
X-Server-Quench: ec013c5d-37fc-11e6-bcde-0015176ca198
X-AuthReport-Spam: If SPAM / abuse - report it at:
	http://www.authsmtp.com/abuse
X-AuthRoute: OCd2Yg0TA1ZNQRgX IjsJECJaVQIpKltL GxAVKBZePFsRUQkR
	aQdMdAMUEkAaAgsB AmAbWVdeUV17WGI7 bghPaBtcak9QXgdq
	T0pMXVMcUQAUfG0I Yl0eVxpycQQIeX5w ZU4sCyNbXUcpcBJg
	QUkCRnAHZDJmdTJM BBVFdwNVdQJNeEwU a1l3GhFYa3VsNCMk
	FAgyOXU9MCtqYAlL TwdFKFUITA4TBDkk QAsPEX0FPHVNSjUv
	Iho9K1kaBw4NNQ0Y EGNpAQpHa3c8
X-Authentic-SMTP: 61633532353630.1038:706
X-AuthFastPath: 0 (Was 255)
X-AuthSMTP-Origin: 52.5.185.120/25
X-AuthVirus-Status: No virus detected - but ensure you scan with your own
	anti-virus system.
X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW
	autolearn=ham version=3.3.1
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
	smtp1.linux-foundation.org
Subject: Re: [bitcoin-dev] Even more proposed BIP extensions to BIP 0070
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: Tue, 21 Jun 2016 22:10:19 -0000


--WYTEVAkct0FjGQmd
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Jun 21, 2016 at 08:44:37PM +0000, Luke Dashjr via bitcoin-dev wrote:
> On Monday, June 20, 2016 5:33:32 PM Erik Aronesty via bitcoin-dev wrote:
> > BIP 0070 has been a a moderate success, however, IMO:
> >=20
> > - protocol buffers are inappropriate since ease of use and extensibilit=
y is
> > desired over the minor gains of efficiency in this protocol.  Not too l=
ate
> > to support JSON messages as the standard going forward
>=20
> IMO JSON is too prone to gratuitous inefficiency (both at network and CPU=
=20
> level), parser bugs, etc. Even the best C implementation (jansson) has se=
rious=20
> issues with Number handling.
>=20
> A few years ago, I looked into binary alternatives to JSON and concluded =
they=20
> all had problems, while it seems more than reasonable to do even dynamic=
=20
> parsing of protobuf messages. So to conclude, I prefer to stick to protob=
uf=20
> unless a clearly superior protocol turns up.

I'll second that statement.

Ease of use isn't a very good criteria for security-critical software handl=
ing
money, and the JSON standard has a very large amount of degrees of freedom =
in
how people have implemented it historically. Even protobuf I'd personally a=
void
using on that basis, as protobuf encoding isn't deterministic: you can enco=
de
the same data in multiple ways.

Unfortunately there isn't a viable alternative, so we're probably stuck with
protobuf right now for standards that want to see wide adoption in the near
future; I've got a few projects that need an alternative, which I'm working=
 on,
but that's a ways off.

--=20
https://petertodd.org 'peter'[:-1]@petertodd.org

--WYTEVAkct0FjGQmd
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature

-----BEGIN PGP SIGNATURE-----

iQEcBAEBCAAGBQJXabs9AAoJEGOZARBE6K+yzgYH+wcC2Yo+3HCrqLtUyCQGqdrR
ar2cqsQbRC11y9v6Z6xgk6lds6iWioEdLqSAYhZiMqFTqSHMj93yobsG+UNdfFgo
/ZZkpN9ZYcSNbG8K1GT1WTJgHmTJUXyeQeba1/QQEd54JbGRdKjPMw0cGRlY0pmY
mlQKLFlcJFvgNbJLoWM01lvbQyn0ZnZtTJfmE4/W2Wc7njDwKs9RHwD0qX1vYSnA
PzqdvC1hnSD85ZYi4sVLlUmg3ynD9HOxoRk4FAk9TNjeL2GVF/OLpU41f1eFamFV
f8AklVtpeou/j9KbeO09Xz77xC83ElZPbjjKtAdsAxEg9M26J2FO58DN4q4y51I=
=+xwv
-----END PGP SIGNATURE-----

--WYTEVAkct0FjGQmd--