diff options
author | Andrea <a.raspitzu@protonmail.com> | 2018-06-27 09:39:02 -0400 |
---|---|---|
committer | bitcoindev <bitcoindev@gnusha.org> | 2018-06-27 13:39:08 +0000 |
commit | 5a858459faab6e7ccbf557d0c6fc769f2aab0948 (patch) | |
tree | 71bacafe1e2f0cb5ba94bcfc9015cc7acb3e4413 | |
parent | 3c94f3284af95141cd3206fec8a7ca8de7480570 (diff) | |
download | pi-bitcoindev-5a858459faab6e7ccbf557d0c6fc769f2aab0948.tar.gz pi-bitcoindev-5a858459faab6e7ccbf557d0c6fc769f2aab0948.zip |
Re: [bitcoin-dev] BIP 174 thoughts
-rw-r--r-- | 40/40be85d51c52d76a4be2197db0af77518236f2 | 152 |
1 files changed, 152 insertions, 0 deletions
diff --git a/40/40be85d51c52d76a4be2197db0af77518236f2 b/40/40be85d51c52d76a4be2197db0af77518236f2 new file mode 100644 index 000000000..bbf5e0e03 --- /dev/null +++ b/40/40be85d51c52d76a4be2197db0af77518236f2 @@ -0,0 +1,152 @@ +Return-Path: <a.raspitzu@protonmail.com> +Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org + [172.17.192.35]) + by mail.linuxfoundation.org (Postfix) with ESMTPS id 626F2BC6 + for <bitcoin-dev@lists.linuxfoundation.org>; + Wed, 27 Jun 2018 13:39:08 +0000 (UTC) +X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 +Received: from mail2.protonmail.ch (mail2.protonmail.ch [185.70.40.22]) + by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 737F1619 + for <bitcoin-dev@lists.linuxfoundation.org>; + Wed, 27 Jun 2018 13:39:07 +0000 (UTC) +Date: Wed, 27 Jun 2018 09:39:02 -0400 +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; + s=default; t=1530106744; + bh=pSGeimGqM9G79v5uMprhJuzoT7uXDSbiOoQXSbpYAy0=; + h=Date:To:From:Reply-To:Subject:In-Reply-To:References:Feedback-ID: + From; + b=rjBIGkfY6b591popCr4vNqKWIq57Y1txVb0VdO/HpaDXrZx9W2C/9Ax/soRrWvlOW + sUFwbhujQ0I0fvB7G518v6Xf5P7Nvqo7DmA4446AXKHIz7vSvQ1SXIs1gkifpeLEAQ + N5LMiiMpde+Op9hq2Zp0e5Y3/ILwraTZ/+2wv91U= +To: William Casarin <jb55@jb55.com>, + Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org> +From: Andrea <a.raspitzu@protonmail.com> +Reply-To: Andrea <a.raspitzu@protonmail.com> +Message-ID: <SBu1mxevY6vaDj8jipOqQacRY02PPUHcsq30eXRaC5jwE5JKCfNuM9RNKVSQvQfup1fBfWEcANimrKbdQFFbdg4bmb2yvv7UVdLRHyuMIyc=@protonmail.com> +In-Reply-To: <87k1qk7oca.fsf@jb55.com> +References: <CAPg+sBhGMxXatsyCAqeboQKH8ASSFAfiXzxyXR9UrNFnah5PPw@mail.gmail.com> + <20180621195654.GC99379@coinkite.com> + <CAPg+sBgdQqZ8sRSn=dd9EkavYJA6GBiCu6-v5k9ca-9WLPp72Q@mail.gmail.com> + <ljk5Z_a3KK6DHfmPJxI8o9W2CkwszkUG34h0i1MTGU4ss8r3BTQ3GnTtDTfWF6J7ZqcSAmejzrr11muWqYN-_wnWw_0NFn5_lggNnjI0_Rc=@achow101.com> + <f8f5b1e3-692a-fc1e-2ad3-c4ad4464957f@satoshilabs.com> + <TGyS7Azu3inMQFv9QFn8USr9v2m5QbhDRmiOI-4FWwscUeuIB9rA7mCmZA4-kwCJOMAx92fO7XICHtE7ES_QmIYLDy6RHof1WLALskGUYAc=@achow101.com> + <c32dc90d-9919-354b-932c-f93fe329760b@satoshilabs.com> + <J0KV-aP96fSVHPkPw85N2qdKV_F5vqXt5fIFwKDp9wBjRKJ6bZpUEtzbgHyxlWW9PCXMOEVZnyUnJ-kW281ZbblbCp2sbZI_UyTP46q-PiY=@achow101.com> + <87k1qk7oca.fsf@jb55.com> +Feedback-ID: x-YXDi3m_TiFBHTDMZypFbA_HjfCQuhNiwHDBR0xli2NzJKdIoqs25GtJLT5wHvl0eyVBeRQs8LMD0l_SOtUrQ==:Ext:ProtonMail +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: quoted-printable +X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, + DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, + 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 +X-Mailman-Approved-At: Wed, 27 Jun 2018 13:42:06 +0000 +Subject: Re: [bitcoin-dev] BIP 174 thoughts +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: Wed, 27 Jun 2018 13:39:08 -0000 + +Hi William, Andrew, list, + +As noted by William there are some types missing in the global-types defini= +tion, because the number of each map for I/O must be known to the parser in= + order to use the correct definitions for the types. At the moment a parser= + reading a key-value record does not know whether it should read it as per-= +input type or per-output, a way to address this is to declare in advance th= +e number of maps and ensure they are ordered (inputs first). If you haven't= + already worked out some types for that i propose using: + +Number of inputs +- key (None, only the type): PSBT_GLOBAL_INPUT_NUMBER =3D 0x01 =20 +- value: Varint=20 + +Number of outputs +- key (none, only the type): PSBT_GLOBAL_OUTPUT_NUMBER =3D 0x02 +- value: Varint + +On another note I think we can set a hard limit on the size of the PSBT, cu= +rrently is 'legal' to produce a very large PSBT with an excessive number of= + Inputs and Outputs. By excessive I mean that even in the best case scenari= +o (using the smallest possible scriptPubKey as in P2WPKH) it is possible to= + create a PSBT that would certainly create an invalid transaction (because = +of its size) when finalized. I haven't found anything related to this in th= +e previous discussions, please ignore this if it was already proposed/discu= +ssed. + + +Cheers, Andrea. + +=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90 Original Me= +ssage =E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90 + +On June 27, 2018 8:09 AM, William Casarin via bitcoin-dev <bitcoin-dev@list= +s.linuxfoundation.org> wrote: + +> =E2=80=8B=E2=80=8B +>=20 +> Hey Andrew, +>=20 +> If I'm reading the spec right: the way it is designed right now, you +>=20 +> could create hundreds of thousands of zero bytes in the input or output +>=20 +> key-value arrays. As far as I can tell this would be considered valid, +>=20 +> as it is simply a large array of empty dictionaries. Is this right? I'm +>=20 +> worried about buffer overflows in cases where someone sends a large blob +>=20 +> of zeros to an unsuspecting implementation. +>=20 +> Also, the extensibility section reads: +>=20 +> > Additional key-value maps with different types for the key-value pairs +> >=20 +> > can be added on to the end of the format. +>=20 +> "different types for the key-value pairs", is this referring to new +>=20 +> types beyond the current global, input and output types? +>=20 +> > The number of each map that follows must be specified in the globals +> >=20 +> > section +>=20 +> Is this out of date? Since there is only one type in the global section +>=20 +> now (tx). +>=20 +> > so that parsers will know when to use different definitions of the +> >=20 +> > data types +>=20 +> I'm not sure what this means. +>=20 +> Thanks! +>=20 +> Will +>=20 +>=20 +> ------------------------------------------------ +>=20 +> https://jb55.com +>=20 +> bitcoin-dev mailing list +>=20 +> bitcoin-dev@lists.linuxfoundation.org +>=20 +> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev + + + |