summaryrefslogtreecommitdiff
path: root/ad
diff options
context:
space:
mode:
authorOlaoluwa Osuntokun <laolu32@gmail.com>2023-09-06 12:01:20 -0700
committerbitcoindev <bitcoindev@gnusha.org>2023-09-06 19:01:34 +0000
commitc1e3db1ae1d1b21e53815dc19e840658cf7169c1 (patch)
treec85f02ceff0ef5db583fb3ec494dbddc4155656b /ad
parent89b4925ecb64105600fd785f75bd27786e9ad02d (diff)
downloadpi-bitcoindev-c1e3db1ae1d1b21e53815dc19e840658cf7169c1.tar.gz
pi-bitcoindev-c1e3db1ae1d1b21e53815dc19e840658cf7169c1.zip
[bitcoin-dev] BIP-????: The Taproot Assets Protocol
Diffstat (limited to 'ad')
-rw-r--r--ad/7f44f7ab37975d0ecaca19b612b2a6b5ef0aec249
1 files changed, 249 insertions, 0 deletions
diff --git a/ad/7f44f7ab37975d0ecaca19b612b2a6b5ef0aec b/ad/7f44f7ab37975d0ecaca19b612b2a6b5ef0aec
new file mode 100644
index 000000000..eeea24ccf
--- /dev/null
+++ b/ad/7f44f7ab37975d0ecaca19b612b2a6b5ef0aec
@@ -0,0 +1,249 @@
+Return-Path: <laolu32@gmail.com>
+Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137])
+ by lists.linuxfoundation.org (Postfix) with ESMTP id DA0E2C0032
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Wed, 6 Sep 2023 19:01:34 +0000 (UTC)
+Received: from localhost (localhost [127.0.0.1])
+ by smtp4.osuosl.org (Postfix) with ESMTP id BEA0C410E5
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Wed, 6 Sep 2023 19:01:34 +0000 (UTC)
+DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org BEA0C410E5
+Authentication-Results: smtp4.osuosl.org;
+ dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com
+ header.a=rsa-sha256 header.s=20221208 header.b=IcEeJfJ8
+X-Virus-Scanned: amavisd-new at osuosl.org
+X-Spam-Flag: NO
+X-Spam-Score: -1.848
+X-Spam-Level:
+X-Spam-Status: No, score=-1.848 tagged_above=-999 required=5
+ tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
+ DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
+ FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001,
+ HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
+ SPF_PASS=-0.001] autolearn=ham autolearn_force=no
+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 UsSu-R42NC9c
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Wed, 6 Sep 2023 19:01:33 +0000 (UTC)
+Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com
+ [IPv6:2607:f8b0:4864:20::62b])
+ by smtp4.osuosl.org (Postfix) with ESMTPS id 240CA4089D
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Wed, 6 Sep 2023 19:01:33 +0000 (UTC)
+DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 240CA4089D
+Received: by mail-pl1-x62b.google.com with SMTP id
+ d9443c01a7336-1c0d0bf18d7so1284365ad.0
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Wed, 06 Sep 2023 12:01:33 -0700 (PDT)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=gmail.com; s=20221208; t=1694026892; x=1694631692;
+ darn=lists.linuxfoundation.org;
+ h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
+ :date:message-id:reply-to;
+ bh=dq8wr5qh32dCCyTG6yf1OXrVWaKdKHYEOlwvXOfQjWc=;
+ b=IcEeJfJ8Gaz/DiR23JP22W4NTsVXaqlqflolEPg93NeIR6QEUc18C4vPAv3KcjDfXw
+ +eekqtkYw7/kykNof8qNjdp7ToDFzwl8CcXbdbUJsgevq6ml8rjGmm1UFWdZ2in/1r6q
+ W0iHsqB96xBzMT2c6VVZHXTmX40La4PR+OhmBKt6DAXGeo1NXt9W7qTebfWA9jym69JY
+ k5vZlaOlNyyczN6/VoGBSIv+sCLdamQSxnh+cnPm4U3sw7P6Df1Hyic8lqVuAq/VEZpw
+ ZIQfZXkc/FpYIft45roYbfOXISmneP4rdnn2nRnWnpxJ3l+5OG6f4EwwQQGMVJewbe3D
+ oXEA==
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=1e100.net; s=20221208; t=1694026892; x=1694631692;
+ h=to:subject:message-id:date:from:mime-version:x-gm-message-state
+ :from:to:cc:subject:date:message-id:reply-to;
+ bh=dq8wr5qh32dCCyTG6yf1OXrVWaKdKHYEOlwvXOfQjWc=;
+ b=WXI2/P1UWAh9PmkWGvq3rBRtB/g19286d1rAuamvtNVIUTzky+idkhApAMYl3Gzg6l
+ P65clB+s+zahAACBer6bT9I5CercY4owBlCpnd14K2s9YX7NPUuADhaBTgQwE4EKqBkk
+ jjFGcAIg1godH9zNPLNtboTnagXwpuH3z94S9IQ+XcpBOMOb9P0+n07Y+lcEwOEo/6zj
+ V3TKZhGvMPbWtFrd9bifiiOTcFt7wpsMlp8+fFXaZwQx24gtKDbofSDZ0FiB1gMf/aqj
+ BdAZvUo0hJXH3AOrTzq8VSXPVlsKla85oqducNOPn+QIYZ0nmAkwFTRjVjZSlZVQEK6l
+ tFxQ==
+X-Gm-Message-State: AOJu0YzA4gOvdwSwtvr6vljMUe50Dhqpri4sz2wv/B+cC70HY1uYArPX
+ oiVGEMxOms39wYsqtyFUXLExjJYoSteuZ3UgWgVaEazHf1nSFA==
+X-Google-Smtp-Source: AGHT+IHJjoz1Dyth+kwiDRtzEEfP0zhbGIZWTyOTu5Ef8RnJNsHbeU2UxsWjPbqL0BOepDj7fUHYGaWTV2plQWy5Ui8=
+X-Received: by 2002:a17:90a:5ae6:b0:26b:5ba4:4948 with SMTP id
+ n93-20020a17090a5ae600b0026b5ba44948mr13966103pji.12.1694026891958; Wed, 06
+ Sep 2023 12:01:31 -0700 (PDT)
+MIME-Version: 1.0
+From: Olaoluwa Osuntokun <laolu32@gmail.com>
+Date: Wed, 6 Sep 2023 12:01:20 -0700
+Message-ID: <CAO3Pvs_rPObfsPiPuDd9iWP677WQTsBGs0_ZuwVwHf3OTJcZzQ@mail.gmail.com>
+To: Arnoud Kouwenhoven - Pukaki Corp via bitcoin-dev
+ <bitcoin-dev@lists.linuxfoundation.org>
+Content-Type: multipart/alternative; boundary="00000000000022a10c0604b55f05"
+Subject: [bitcoin-dev] BIP-????: The Taproot Assets Protocol
+X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
+X-Mailman-Version: 2.1.15
+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, 06 Sep 2023 19:01:35 -0000
+
+--00000000000022a10c0604b55f05
+Content-Type: text/plain; charset="UTF-8"
+
+After more than a year of tinkering, iterating, simplifying, and
+implementing, I'm excited to officially publish (and request BIP numbers
+for) the Taproot Assets Protocol. Since the initial publishing we've
+retained the same spec/document structure, with the addition of a new BIP
+that describes the vPSBT format (which are PSBTs for the TAP layer). Each
+BIP now also contains a set of comprehensive test vectors (to be further
+expanded over time.
+
+https://github.com/bitcoin/bips/pull/1489
+
+As the complete set of documents is large, we omit them from this email.
+
+The breakdown of the BIPs are as follows:
+
+ * `bip-tap-mssmt`: describes the MS-SMT (Merkle-Sum Sparse Merkle Tree)
+ data structure used to store assets and various proofs.
+
+ * `bip-tap`: describes the Taproot Assets Protocol validation and state
+ transition rules.
+
+ * `bip-tap-addr`: describes the address format used to send and receive
+ assets.
+
+ * `bip-tap-vm`: describes the initial version of the off-chain TAP VM used
+ to lock and unlock assets.
+
+ * `bip-tap-vpsbt`: describes a vPSBT (virtual PSBT) which is a series
+ custom types on top of the existing PSBT protocol to facilitate more
+ elaborate asset related transactions.
+
+ * `bip-tap-proof-file`: describes the flat file format which is used to
+ prove and verify the provenance of an asset
+
+ * `bip-tap-universe`: describes the Universe server construct, which is an
+ off-chain index into TAP data on-chain, used for: proof distribution,
+ asset boostraping, and asset transaction archiving.
+
+Some highlights of the additions/modifications of the BIPs since the initial
+drafts were published last year:
+
+ * Test JSON vectors for each BIP document now included.
+
+ * The Universe construct for initial verification of assets, distributing
+ asset proofs, and transaction archiving is now further specified. A
+ naive and tree based syncing algorithm, along with a standardized
+ REST/gRPC interface are now in place.
+
+ * The asset group key structure (formerly known as asset key families) has
+ been further developed. Group keys allow for the creation of assets that
+ support ongoing issuance. A valid witness of a group key during the
+ minting process allows otherwise disparate assets to be considered
+ fungible, and nested under the same sub-tree. A group key is itself just
+ a taproot output key. This enables complex issuance conditions such as:
+ multi-sig threshold, hash chain reveal, and any other conditions
+ expressible by script (and eventually beyond!).
+
+ * New versioning bytes across the protocol to ensure extensibility and
+ upgradability in a backwards compatible manner where possible. The asset
+ metadata format now has been re-worked to only commit to a hash of the
+ serialized meta data. Asset metadata can now also have structured data,
+ key-value or otherwise.
+
+ * Observance of re-org protection for asset proofs. The file format now
+ also uses an incremental hash function to reduce memory requirements
+ when added a new transition to the end of the file.
+
+ * Specification of the vPSBT protocol [1] which is the analogue of normal
+ PSBTs for the TAP layer. The packet format specifies custom key/value
+ pairs for the protocol describes an aggregate TAP transaction. After the
+ packet is signed by all participants, it's "anchored" into a normal
+ Bitcoin transaction by committing to the resulting output commitments
+ and witnesses.
+
+We've also made significant advancements in our initial implementation [2],
+with many wallets, explorers, services, and businesses working with us to
+test and iterate on both the protocol and the implementation. We're actively
+working on our next major release, which will be a major milestone towards
+the eventual mainnet deployment of the protocol!
+
+
+-- Laolu
+
+[1]: https://lightning.engineering/posts/2023-06-14-virtual-psbt/
+[2]: https://github.com/lightninglabs/taproot-assets
+
+--00000000000022a10c0604b55f05
+Content-Type: text/html; charset="UTF-8"
+Content-Transfer-Encoding: quoted-printable
+
+<div dir=3D"ltr">After more than a year of tinkering, iterating, simplifyin=
+g, and<br>implementing, I&#39;m excited to officially publish (and request =
+BIP numbers<br>for) the Taproot Assets Protocol. Since the initial publishi=
+ng we&#39;ve<br>retained the same spec/document structure, with the additio=
+n of a new BIP<br>that describes the vPSBT format (which are PSBTs for the =
+TAP layer). Each<br>BIP now also contains a set of comprehensive test vecto=
+rs (to be further<br>expanded over time.<div><br></div><div><a href=3D"http=
+s://github.com/bitcoin/bips/pull/1489">https://github.com/bitcoin/bips/pull=
+/1489</a></div><div><br></div><div>As the complete set of documents is larg=
+e, we omit them from this email.=C2=A0<br><br>The breakdown of the BIPs are=
+ as follows:<br><br>=C2=A0 * `bip-tap-mssmt`: describes the MS-SMT (Merkle-=
+Sum Sparse Merkle Tree)<br>=C2=A0 =C2=A0 data structure used to store asset=
+s and various proofs.<br><br>=C2=A0 * `bip-tap`: describes the Taproot Asse=
+ts Protocol validation and state<br>=C2=A0 =C2=A0 transition rules.<br><br>=
+=C2=A0 * `bip-tap-addr`: describes the address format used to send and rece=
+ive<br>=C2=A0 =C2=A0 assets.<br><br>=C2=A0 * `bip-tap-vm`: describes the in=
+itial version of the off-chain TAP VM used<br>=C2=A0 =C2=A0 to lock and unl=
+ock assets.<br><br>=C2=A0 * `bip-tap-vpsbt`: describes a vPSBT (virtual PSB=
+T) which is a series<br>=C2=A0 =C2=A0 custom types on top of the existing P=
+SBT protocol to facilitate more<br>=C2=A0 =C2=A0 elaborate asset related tr=
+ansactions.<br><br>=C2=A0 * `bip-tap-proof-file`: describes the flat file f=
+ormat which is used to<br>=C2=A0 =C2=A0 prove and verify the provenance of =
+an asset<br><br>=C2=A0 * `bip-tap-universe`: describes the Universe server =
+construct, which is an<br>=C2=A0 =C2=A0 off-chain index into TAP data on-ch=
+ain, used for: proof distribution,<br>=C2=A0 =C2=A0 asset boostraping, and =
+asset transaction archiving.<br><br>Some highlights of the additions/modifi=
+cations of the BIPs since the initial<br>drafts were published last year:<b=
+r><br>=C2=A0 * Test JSON vectors for each BIP document now included.<br><br=
+>=C2=A0 * The Universe construct for initial verification of assets, distri=
+buting<br>=C2=A0 =C2=A0 asset proofs, and transaction archiving is now furt=
+her specified. A<br>=C2=A0 =C2=A0 naive and tree based syncing algorithm, a=
+long with a standardized<br>=C2=A0 =C2=A0 REST/gRPC interface are now in pl=
+ace.<br><br>=C2=A0 * The asset group key structure (formerly known as asset=
+ key families) has<br>=C2=A0 =C2=A0 been further developed. Group keys allo=
+w for the creation of assets that<br>=C2=A0 =C2=A0 support ongoing issuance=
+. A valid witness of a group key during the<br>=C2=A0 =C2=A0 minting proces=
+s allows otherwise disparate assets to be considered<br>=C2=A0 =C2=A0 fungi=
+ble, and nested under the same sub-tree. A group key is itself just<br>=C2=
+=A0 =C2=A0 a taproot output key. This enables complex issuance conditions s=
+uch as:<br>=C2=A0 =C2=A0 multi-sig threshold, hash chain reveal, and any ot=
+her conditions<br>=C2=A0 =C2=A0 expressible by script (and eventually beyon=
+d!).<br><br>=C2=A0 * New versioning bytes across the protocol to ensure ext=
+ensibility and<br>=C2=A0 =C2=A0 upgradability in a backwards compatible man=
+ner where possible. The asset<br>=C2=A0 =C2=A0 metadata format now has been=
+ re-worked to only commit to a hash of the<br>=C2=A0 =C2=A0 serialized meta=
+ data. Asset metadata can now also have structured data,<br>=C2=A0 =C2=A0 k=
+ey-value or otherwise.<br><br>=C2=A0 * Observance of re-org protection for =
+asset proofs. The file format now<br>=C2=A0 =C2=A0 also uses an incremental=
+ hash function to reduce memory requirements<br>=C2=A0 =C2=A0 when added a =
+new transition to the end of the file.<br><br>=C2=A0 * Specification of the=
+ vPSBT protocol [1] which is the analogue of normal<br>=C2=A0 =C2=A0 PSBTs =
+for the TAP layer. The packet format specifies custom key/value<br>=C2=A0 =
+=C2=A0 pairs for the protocol describes an aggregate TAP transaction. After=
+ the<br>=C2=A0 =C2=A0 packet is signed by all participants, it&#39;s &quot;=
+anchored&quot; into a normal<br>=C2=A0 =C2=A0 Bitcoin transaction by commit=
+ting to the resulting output commitments<br>=C2=A0 =C2=A0 and witnesses.<br=
+><br>We&#39;ve also made significant advancements in our initial implementa=
+tion [2],<br>with many wallets, explorers, services, and businesses working=
+ with us to<br>test and iterate on both the protocol and the implementation=
+. We&#39;re actively<br>working on our next major release, which will be a =
+major milestone towards<br>the eventual mainnet deployment of the protocol!=
+<br><br><br>-- Laolu<br><br>[1]: <a href=3D"https://lightning.engineering/p=
+osts/2023-06-14-virtual-psbt/">https://lightning.engineering/posts/2023-06-=
+14-virtual-psbt/</a> <br>[2]: <a href=3D"https://github.com/lightninglabs/t=
+aproot-assets">https://github.com/lightninglabs/taproot-assets</a><br></div=
+></div>
+
+--00000000000022a10c0604b55f05--
+