Return-Path: Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by lists.linuxfoundation.org (Postfix) with ESMTP id DF7B0C000E for ; Thu, 5 Aug 2021 20:50:22 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id C16514064F for ; Thu, 5 Aug 2021 20:50:22 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org X-Spam-Flag: NO X-Spam-Score: -1.398 X-Spam-Level: X-Spam-Status: No, score=-1.398 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=no autolearn_force=no Authentication-Results: smtp4.osuosl.org (amavisd-new); dkim=pass (2048-bit key) header.d=lifewithalacrity-com.20150623.gappssmtp.com Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1zDYNi9Yj4G8 for ; Thu, 5 Aug 2021 20:50:21 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 Received: from mail-vs1-xe2c.google.com (mail-vs1-xe2c.google.com [IPv6:2607:f8b0:4864:20::e2c]) by smtp4.osuosl.org (Postfix) with ESMTPS id 8821140627 for ; Thu, 5 Aug 2021 20:50:21 +0000 (UTC) Received: by mail-vs1-xe2c.google.com with SMTP id j19so3909687vso.0 for ; Thu, 05 Aug 2021 13:50:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lifewithalacrity-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=RHqgZ+9svUWmZiR9xmy2eN0ccoF+CxyZ73YxM0PRL2Q=; b=Y3QDXPbH0NHKpfsJcmFXFnyCBVSqf0uNpIIxoeQNdolg0WUx4d1fAUA33hiyeog7vl Vx04C4ocCT4EjhvvlmjRX8Jav7GeJT/RADxrA4/tIyt94nDFAhnZ2HFkvscgwdgj0Hjm HbT1PnJ8jxAU/ILnyZxFhvAYm4sKHTIOvjc+ZhKjuW4UxEkr2fHPyHK+wmGH4UTBLERa IJE6HLdEOhzmWI26tr71uRDzpvSpj9o6RoGReND9HEZVoqf5mFsUR7EPJlfU7UUOeiDu FlQXR8EJq3RSUVhSKrGSvHIjoha5fZqtN51CqH2X/jCpIK8VQ5PdKVorYQtGCFxEL3Dk y1Mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=RHqgZ+9svUWmZiR9xmy2eN0ccoF+CxyZ73YxM0PRL2Q=; b=KFLqtSPRTv7/Vrw136bYhVGdHW9651ZCNQ2G+nftU2sRwwvYUlmRw3HkEWcH1CZKi0 Scoml+pRXrcz2OOVC6kC0slZ1J99Z2D3+fi72HmO37sjmTqTKOWOAPf9zQhqq0OgG0g6 oDlUlahoBxK1bEQ0Y9oQUAblUEIFWrktbBSrpRmJ16bUQsDOfOikcKVbI+iFJxNTJrUw w0EIVzNghpsvcRzyxUh1PswDRen1sRL4BZrfi7KnKgVHe2PV3X3RAbBlHJCRDIi9wIAp boACbnkwrCtez7TweX7YN+6XCZbUzP78Bw/lVE0wbPno5W9GaUBnPFhAz15sKycyOQCL JH4A== X-Gm-Message-State: AOAM530B8/MQ+3nK6NAJy5O1auSLNuHyeMjhKFlGBtnqIWQXzwMFp1OB oOKsZafbTs+8xTSZ18rwb/4BOiQtE5o8+4LnnUc= X-Google-Smtp-Source: ABdhPJxxEpIN9YXeyT/iq5ZQArcU1DXCA0cOzexyEN2afcD1lkVDyXfRWOyT+qx3hsqlOtIysJoaefgwk9EP9zs/VcI= X-Received: by 2002:a67:f7ca:: with SMTP id a10mr6536123vsp.7.1628196620216; Thu, 05 Aug 2021 13:50:20 -0700 (PDT) MIME-Version: 1.0 References: <1eb7b635-094c-a583-7dc0-21cea58ed1fb@achow101.com> <38AE919F-7EA2-4CF4-9AF8-7E38C7542C59@sprovoost.nl> In-Reply-To: <38AE919F-7EA2-4CF4-9AF8-7E38C7542C59@sprovoost.nl> From: Christopher Allen Date: Thu, 5 Aug 2021 13:49:43 -0700 Message-ID: To: Sjors Provoost , Bitcoin Protocol Discussion Content-Type: multipart/alternative; boundary="0000000000002c459205c8d611fa" X-Mailman-Approved-At: Thu, 05 Aug 2021 21:05:13 +0000 Subject: Re: [bitcoin-dev] BIP Proposals for Output Script Descriptors X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Aug 2021 20:50:23 -0000 --0000000000002c459205c8d611fa Content-Type: text/plain; charset="UTF-8" On Thu, Aug 5, 2021 at 8:07 AM Sjors Provoost via bitcoin-dev < bitcoin-dev@lists.linuxfoundation.org> wrote: > One thing on my wish list - for this BIP, BIP 88 (Hierarchical > Deterministic Path Templates) or yet another one - is to include a birth > date (minimum block height). E.g. tr([m/86'/0'/0']xpub.../{0-1}/*)>709631 > > And then of course there's the gap limit. Perhaps we just need a > "metadata" format to go along with descriptors to track the birth data, gap > limit and anything else you need (nonce collection for musig2 setup?). E.g. > a simple dictionary: tr([m/86'/0'/0']xpub.../{0-1}/*){dob:709631,gap:1000} > The UR standards we use in Airgap Wallet Community for interoperability (currently used by a number of recent wallets for airgap PSBT via animated QR) leverages CBOR's tagging capability, and thus explicitly supports metadata. In particular the spec reference code support optional seed birthdate as some wallet vendors really wanted that metadata. It would be trivial to support it for hd-keys, and if gap is important, we could also easily add this to the hd-keys spec as well. That is part of the reason why use CBOR for the underlying binary encoding is tagging lets us add important metadata. The UR standards themselves adds to binary CBOR encoding a very efficient transport via QRs or URLs that leverage native QR compression. See: * Video: [Blockchain Commons Technology Overview]( https://www.youtube.com/watch?v=RYgOFSdUqWY) * Articles: [URs: An Overview](Docs/ur-1-overview.md) * [A Guide to Using URs for Key Material](Docs/ur-2-keys.md) *[A Guide to Using URs for SSKRs](Docs/ur-3-sskrs.md)** * [A Guide to Using UR Request & Response](Docs/ur-99-request-response.md) * Specs: * [Research 2020-05 - Uniform Resources (UR): Encoding Structured Binary Data for Transport in URIs and QR Codes]( https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-005-ur.md ) * [Reserach 2020 - UR Type Definition for Hierarchical Deterministic (HD) Keys]( https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-007-hdkey.md ) If you have questions about these, drop by the Airgapped Wallet Community on GitHub at https://github.com/BlockchainCommons/Airgapped-Wallet-Community -- Christopher Allen --0000000000002c459205c8d611fa Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Thu, Aug 5, 2021 at 8:07 AM Sjors Prov= oost via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote:
One thing on my wish list - for this = BIP, BIP 88 (Hierarchical Deterministic Path Templates) or yet another one = - is to include a birth date (minimum block height). E.g. tr([m/86'/0&#= 39;/0']xpub.../{0-1}/*)>709631

And then of course there's the gap limit. Perhaps we just need a "= metadata" format to go along with descriptors to track the birth data,= gap limit and anything else you need (nonce collection for musig2 setup?).= E.g. a simple dictionary: tr([m/86'/0'/0']xpub.../{0-1}/*){dob= :709631,gap:1000}

The UR standards we u= se in Airgap Wallet Community for interoperability (currently used by a num= ber of recent wallets for airgap=C2=A0PSBT via animated QR) leverages CBOR&= #39;s tagging capability, and thus explicitly supports metadata. In particu= lar the spec reference code=C2=A0support=C2=A0optional seed birthdate as so= me wallet vendors really wanted that metadata.

It = would be trivial=C2=A0to support it for hd-keys, and if gap is important, w= e could also easily add this to the hd-keys spec as well. That is part of t= he reason why=C2=A0use CBOR for the underlying binary encoding is tagging l= ets us=C2=A0add=C2=A0important metadata. The UR standards=C2=A0themselves a= dds to binary CBOR encoding a very efficient transport via QRs or URLs that= leverage native QR compression.

See:
* = Video: [Blockchain Commons Technology Overview](https://www.youtube.com/watch?v=3DRYgOFSdUqW= Y)
* Articles: [URs: An Overview](Docs/ur-1-overview.md)
= =C2=A0 * [A Guide to Using URs for Key Material](Docs/ur-2-keys.md)
=C2= =A0 *[A Guide to Using URs for SSKRs](Docs/ur-3-sskrs.md)**
=C2=A0 * [A = Guide to Using UR Request & Response](Docs/ur-99-request-response.md)
* Specs:
=C2=A0 * [Research 2020-05 - Uniform Resour= ces (UR): Encoding Structured Binary Data for Transport in URIs and QR Code= s](https://github.com/BlockchainCommons/Research/blob/= master/papers/bcr-2020-005-ur.md)
=C2=A0 * [Reserach 2020 -= =C2=A0UR Type Definition for Hierarchical Deterministic (HD) Keys](https://github.com/BlockchainCommons/Research/blob/master/= papers/bcr-2020-007-hdkey.md)

If you have ques= tions about these, drop by the Airgapped Wallet Community on GitHub at=C2= =A0https://github.com/BlockchainCommons/Airgapped-Wallet-Community

-- Christopher Allen
--0000000000002c459205c8d611fa--