Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id E4ECEB3F for ; Fri, 24 Feb 2017 01:09:49 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from outmail149082.authsmtp.co.uk (outmail149082.authsmtp.co.uk [62.13.149.82]) by smtp1.linuxfoundation.org (Postfix) with ESMTP id 19D7C175 for ; Fri, 24 Feb 2017 01:09:48 +0000 (UTC) Received: from mail-c232.authsmtp.com (mail-c232.authsmtp.com [62.13.128.232]) by punt20.authsmtp.com (8.14.2/8.14.2/) with ESMTP id v1O19k7J057337; Fri, 24 Feb 2017 01:09:46 GMT 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 v1O19jKq094658 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 24 Feb 2017 01:09:46 GMT Received: from [127.0.0.1] (localhost [127.0.0.1]) by petertodd.org (Postfix) with ESMTPSA id 8877940014; Fri, 24 Feb 2017 01:09:44 +0000 (UTC) Received: by localhost (Postfix, from userid 1000) id C444A204AB; Thu, 23 Feb 2017 20:09:43 -0500 (EST) Date: Thu, 23 Feb 2017 20:09:43 -0500 From: Peter Todd To: Bram Cohen Message-ID: <20170224010943.GA29218@savin.petertodd.org> References: <20170223011506.GC905@savin.petertodd.org> <20170223235105.GA28497@savin.petertodd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="XsQoSWH+UP9D9v3l" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-Server-Quench: ee91d9f7-fa2d-11e6-829f-00151795d556 X-AuthReport-Spam: If SPAM / abuse - report it at: http://www.authsmtp.com/abuse X-AuthRoute: OCd2Yg0TA1ZNQRgX IjsJECJaVQIpKltL GxAVKBZePFsRUQkR aQdMdAYUHlAWAgsB AmEbW1VeUFR7XWU7 bghPaBtcak9QXgdq T0pMXVMcUgQXABVb fV8eWx10cg0IeX14 YUMsCyVSXRBzI0Fg FB9WQXAHZDJmdWgd WRZFdwNVdQJNdxoR b1V5GhFYa3VsNCMk FAgyOXU9MCtqYA0d aAwRMV8ICWMuJHYQ Sh4DGzQzHEoDLwAA X-Authentic-SMTP: 61633532353630.1037: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 Cc: Bitcoin Protocol Discussion Subject: Re: [bitcoin-dev] A Better MMR Definition X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Feb 2017 01:09:50 -0000 --XsQoSWH+UP9D9v3l Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Feb 23, 2017 at 04:49:01PM -0800, Bram Cohen wrote: > On Thu, Feb 23, 2017 at 3:51 PM, Peter Todd wrote: >=20 > > On Thu, Feb 23, 2017 at 03:13:43PM -0800, Bram Cohen wrote: > > > > > > I can't speak to MMRs (they look a bit redundant with the actual > > blockchain > > > history to my eye) but circling back to utxo commitments, the benefits > > are > > > > In what way do you see MMRs as redundant? > > >=20 > You can readily prove something is in the TXO or STXO set using the actual > blockchain, and the proofs will be nice and compact because even light > nodes are expected to already have all the historical headers. >=20 > What you can't do with MMRs or the blockchain is make a compact proof that > something is still in the utxo set, which is the whole point of utxo > commitments. I think you've misunderstood what TXO commitments are. From my article: "A merkle tree committing to the state of all transaction outputs, both spe= nt and unspent, can provide a method of compactly proving the current state of= an output." -https://petertodd.org/2016/delayed-txo-commitments#txo-commitments: I'm proposing that we commit to not just the set of transaction outputs, but also the current *state* of those outputs, with the same commitment structu= re. Concretely, each leaf node in the TXO commitment tree needs to commit to - = at minimum - the outpoint (txid:n) and spent/unspent status (possibly structur= ally as mentioned elsewhere in this thread). It's probably also valuable to comm= it to the scriptPubKey, nValue, as well, though technically that's redundant as the txid already commits to that (there's some implementation options here). > It's totally reasonable for full nodes to independently update and > recalculate the utxo set as part of their validation process. The same > can't be done for a balanced version of the txo set because it's too big. Why would you commit to a balanced version of the TXO set? I'm proposing committing to an insertion-ordered list, indexed by txout #. > Relying on proofs as a crutch for using the full txo set would badly > exacerbate the already extant problem of miners doing spv mining, and > increase the bandwidth a full validating node had to use by a multiple. >=20 > This whole conversation is badly sidetracked. If people have comments on = my > merkle set I'd like to engage further with them, but mmrs need to be argu= ed > independently on their own merits before being used as a counterpoint to > utxo commitments. Hmm? That's exactly what I'm doing. Also, as per the above, I think you've misunderstood what my TXO commitment proposal is. --=20 https://petertodd.org 'peter'[:-1]@petertodd.org --XsQoSWH+UP9D9v3l Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- iQEcBAEBCAAGBQJYr4fUAAoJECSBQD2l8JH7UfUH/AvnHiGtP5/Y2XezQqp67cgW nnQIH8ep28NF7yaUH5qSeK2ONrm53qYJog6wEsFYmxlED4Jx4muH/RQb+NjA/zDt QvmOTmsq43Io6YWBlOGBSioXoG/Nzb1C5iNfkLThNUIqbcOMBk+KZWj5hy/iNKE9 pruOWvEteWwnK//YZVo7KJktYVoq6uyxQrkf74828FLf6GR4EgP2F9o2lnCwIL5f kwaY71uKguk89l8AdlHJ70ti600SG/D24h8Pa+u2LdEYDE404PF+cjS3d/XtPN/b TJ+4DPTo52gheHNhDp8UlSE/NwTYtjszfONR7uSiQaDFBMmQKByvDlW/kEkdlIg= =Zw33 -----END PGP SIGNATURE----- --XsQoSWH+UP9D9v3l--