Skip to content

Commit

Permalink
bip-tap: define the new asset v1 (segwit version)
Browse files Browse the repository at this point in the history
For this version, the asset commitment for wallets strips out the
witness field before constructing the leaf of the SMT tree.
  • Loading branch information
Roasbeef committed Oct 17, 2023
1 parent cc3e1ce commit 3d5c97f
Showing 1 changed file with 17 additions and 1 deletion.
18 changes: 17 additions & 1 deletion bip-tap.mediawiki
Original file line number Diff line number Diff line change
Expand Up @@ -557,7 +557,6 @@ where:
(TODO(roasbeef): merkle sum commitment over input set as well? enables probabilistic validation?)


An asset leaf serves to store structured data related to an asset, as well as
the series of previous input asset witnesses needed to verify the proper
transfer of an asset leaf. The input structure here resembles the normal
Expand Down Expand Up @@ -590,6 +589,23 @@ also that each new split/merge results in a valid split set (via the
<code>split_commitment_root</code> which is included in the computed witness
sighash).

======Defined Asset Versions======

Today two asset versions are defined, these versions govern the way the asset
leaf TLV is serialized within proofs files, and also the serialization used for
the leaf commitment in the MS-SMT tree.

Defined <code>taproot_asset_version</code>s:

* '''v0 (0)''': The base asset version. This version was the first version
utilized, and confers so special behavior to serializations or semantics.

*'''v1 (1)''': The second asset version (v1), also known as the "segwit" asset
version. For this asset version, when serializing the asset TLV within the leaf
of an MS-SMT tree (for holding assets), the <code>asset_witness</code> field
MUST always be omitted. This enables protocol that nest layers of unsigned
transactions, like payment channels.

===Asset Creation===

The creation of an asset resembles any other Bitcoin transaction, albeit it
Expand Down

0 comments on commit 3d5c97f

Please sign in to comment.