Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 924B52C for ; Sun, 24 Jun 2018 08:19:12 +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 A3F2512E for ; Sun, 24 Jun 2018 08:19:11 +0000 (UTC) Date: Sun, 24 Jun 2018 04:19:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=default; t=1529828349; bh=SEhOEO8hXrQAsBvb8CWe322dfnw9IM0VMENtT7ilD1M=; h=Date:To:From:Cc:Reply-To:Subject:In-Reply-To:References: Feedback-ID:From; b=Al7uPGNJ9ybjiDjlScoQLuxIqRuCJ69gEVbGWJIRELfXbL+xPpDKDzIpsOs1wJKBO t9OphAjSk9lBWte+pMeUN+5cARrc61JCK0arU0JqvV8v3cwbWI2iwcHYR6J/pOp8YE Mmm6aevE1pfuBoUSX9bAIGkZTf1IkdZdjzc994Kk= To: Andrew Chow , Bitcoin Protocol Discussion From: Andrea Reply-To: Andrea Message-ID: In-Reply-To: References: <21a616f5-7a17-35b9-85ea-f779f20a6a2d@satoshilabs.com> <20180621195654.GC99379@coinkite.com> <87zhzlbfq5.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: Sun, 24 Jun 2018 12:26:11 +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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 24 Jun 2018 08:19:12 -0000 Hi,=20 I think in the revised spec we can remove completely the "global types" as = a map or even as typed record. Since there is only one type (the transactio= n) and it's compulsory to have one (and only one) we could just drop the de= finition of global type and the key associated with it, simply after the he= ader + separator there must be a transaction.=E2=80=8B=E2=80=8B Having read= all the discussion i also agree having per-input key derivation and per-ou= tput data is a lot more handy for signers, no special feeling regarding the= encoding.Looking forward for the test vectors and the new spec. 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 23, 2018 10:33 PM, Andrew Chow via bitcoin-dev wrote: > =E2=80=8B=E2=80=8B >=20 > On 06/23/2018 10:00 AM, William Casarin wrote: >=20 > > Since we're still considering the encoding, I wonder if it would be a > >=20 > > good idea to have a human-readible part like lightning invoices[1]? >=20 > I don't think that is necessary. >=20 > > Then perhaps you could drop the magic code as well? >=20 > The magic is still necessary for the binary format in order to prevent >=20 > normal transaction deserializers from accidentally deserializing a psbt. >=20 > > Also we could do a base encoding that excludes + and / characters, such > >=20 > > as base62 (gmp-style). It's easier to copy/paste (double clicking a > >=20 > > string stops at / or + in base64 encodings). >=20 > While that would be ideal, I think it is better to use an encoding that >=20 > most wallets already support. Most wallets already have Base64 decoding >=20 > available so that they can decode signed messages which also use Base64 >=20 > encoding. I think it is unnecessary to introduce another encoding. >=20 > On 06/23/2018 11:27 AM, Peter D. Gray wrote: >=20 > > Personally, I don't think you should spec an encoding. It should be bin= ary only and hex for developers and JSON interfaces. My thinking is that PS= BT's are not user-visible things. They have a short lifetime and are nothin= g something that is "stored" or referenced much later. Hex is good enough a= nd has no downsides as an excoding except for density. >=20 > I think what will end up happening though is that, at least in the >=20 > beginning, PSBTs will primarily be strings that people end up copy and >=20 > pasting. Since a PSBT can get pretty large, the strings are rather >=20 > cumbersome to move around, especially as hex. At least with Base64 the >=20 > strings will be smaller. >=20 > > On the other hand, suggesting a filename extension (probably .PSBT?) an= d a mime-type to match, are helpful since wallets and such will want to reg= ister with their operating systems to become handlers of those mimetypes. R= eally that's a lot more important for interoperability at this point, than = an encoding. >=20 > Agreed. I will include those in the BIP. >=20 > > Looking forward to test vectors, and I might have more to say once my c= ode can handle them (again). > >=20 > > Feedback on the BIP as it stands now: > >=20 > > - Appendix A needs an update, and I suggest defining symbols (PK_PART= IAL_SIG =3D=3D 0x02) for the numeric key values. This helps implementers as= we don't all define our own symbols and/or use numeric constants in our co= de. >=20 > Okay. >=20 > > - Those tables are just not working. Might want to reformat as descri= ptive lists, point form, or generally anything else... sorry. >=20 > I will try my best to fix that. Mediawiki sucks... >=20 > Andrew >=20 > bitcoin-dev mailing list >=20 > bitcoin-dev@lists.linuxfoundation.org >=20 > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev