Posted by Olaoluwa Osuntokun
Oct 18, 2023/20:20 UTC
Lightning Labs has released tapd v0.3.0-alpha, the first software release that supports the Taproot Asset Protocol on mainnet. The deterministic+reproducible release can be found on GitHub at this link: https://github.com/lightninglabs/taproot-assets/releases/tag/v0.3.0. A blog post announcing the launch of the protocol can be found here: https://lightning.engineering/posts/2023-10-18-taproot-assets-v0.3/.
For those interested in monitoring usage and activity of the protocol, Lightning Labs is running two Universes servers. The mainnet server can be accessed at this link: https://universe.lightning.finance/v1/taproot-assets/universe/roots, while the testnet server can be accessed here: https://testnet.universe.lightning.finance/v1/taproot-assets/universe/roots. REST API documentation for the Universe servers is available at this link: https://lightning.engineering/api-docs/api/taproot-assets/rest-endpoints. Users can also interact directly with the servers via gRPC.
Users have the ability to run their own Universe server and federate with other universe servers using the relevant tapcli universe federation
command. A technical specification for the Universe/Multiverse protocol can be found in the BIP at this link: https://github.com/Roasbeef/bips/blob/bip-tap-pr/bip-tap-universe.mediawiki.
At a high level, a Universe server is used by clients to verify new asset issuance, archive off-chain transaction data, and transmit proof information for transfers. The Universe data structure is an authenticated merkle-sum sparse merkle tree that maps an (outpoint, scriptKey)
tuple to proof data. In the initial version of the protocol, the scriptKey
is a taproot output public key.
Bitcoin transactions are signed and verified under the hood, as the protocol maps a logical state transition to a 1-in-1-out Bitcoin transaction. The mapping from an asset state transition to a virtual transaction can be found in this link: https://github.com/Roasbeef/bips/blob/bip-tap-pr/bip-tap-vm.mediawiki.
One interesting aspect of reusing Bitcoin Script in the first asset script version is that higher-level applications can use a familiar PSBT-like structure (vPSBTs) to construct off-chain multi-party interactions. An example of using PSTBs, vPSBTs, and SIGHASH_NONE
on the TAP layer to construct a protocol for non-interactive, non-custodial swaps can be found in this GitHub issue: https://github.com/lightninglabs/taproot-assets/issues/577.
Lightning Labs looks forward to experimentation and feedback for this mainnet alpha release, with the aim of continuing to evolve and improve the protocol. The team expresses gratitude to all those who experimented with earlier versions and provided critical feedback that made this release possible.
TLDR
We’ll email you summaries of the latest discussions from authoritative bitcoin sources, like bitcoin-dev, lightning-dev, and Delving Bitcoin.
We'd love to hear your feedback on this project?
Give Feedback