Taproot Assets on Mainnet: A New Era for Bitcoin and Beyond 🌅

Ryan Gentry
October 18, 2023

Today we're excited to release the mainnet alpha of the Taproot Assets daemon, providing a feature-complete developer experience for issuing, managing, and exploring stablecoins or other assets on the bitcoin blockchain. This release also begins forward compatibility, which means the protocol will not have any more breaking changes that would affect assets issued on mainnet. This mainnet release of the protocol supports on-chain functionality, with Lightning support coming soon.

This release marks the dawn of a new era for bitcoin. With Taproot Assets v0.3, builders have all the tools needed to make bitcoin a multi-asset network, but in a scalable manner that upholds bitcoin's core values. We believe this new era for bitcoin will see a myriad of global currencies issued as Taproot Assets, and the world's foreign exchange transactions settled instantly over the Lightning Network. These new Taproot Assets Lightning transactions will route through the existing bitcoin liquidity at the core of the network, allowing routing nodes to forward Taproot Assets transactions on Lightning without ever knowing it, extending bitcoin's global network effects and bolstering the blockchain's incredibly secure foundation. This is how we make bitcoin the global routing network for the internet of money. This is how we bitcoinize the dollar and the world's financial assets. Join us! 🧙

We are incredibly grateful to the bitcoin developer community for its support in providing feedback on the protocol, testing the software, and building the first products for end users. Early adopters have continually iterated with our team over the last several months of testnet development, minting nearly 2,000 assets on testnet and syncing their nodes with our Universe server, a repository holding all the information needed for a wallet to initialize and download the state of a specific Taproot Asset, over 420,000 times. We can't wait to see what mainnet adoption brings!

The Taproot Assets daemon is available in the most recent Polar release, a popular tool for rapid prototyping amongst application developers, and in litd v0.12, the bundle of Lightning Labs tools including lnd for node operations, liquidity management tools loopd and poold, accounting tools faraday, and now tapd for multi-asset support. To get started with the Taproot Assets daemon: read the Install section, download the daemon release, review the API documentation, and read the getting started guide. Note that while this release supports mainnet, the alpha tag indicates that we expect the community to test it for potential bugs. For an extensive explanation on how Taproot Assets works, take a deep dive into the BIPs and our documentation.

Bitcoinizing the Dollar, and the World's Financial Assets

Chart from The Block via Hard Yaka

Against the backdrop of El Salvador making bitcoin legal tender in 2021, the Lightning community experienced an explosion of growth especially in emerging markets. Users all around the world are enjoying instantly settled, low fee, peer-to-peer bitcoin transactions without financial intermediaries. One major request we at Lightning Labs continue to hear from the builders serving these users is to give them the tools to add stablecoins to their applications using bitcoin infrastructure. The user demand for stablecoins is just overwhelming. Stablecoin issuers holding more US Treasuries than major developed countries like Germany and South Korea signifies the importance of these assets globally, and gives a sense of scale for the global user demand.

This demand exists, as Blockworks reported last week, because stablecoins are simply "a better product than local currencies in emerging economies." Their digital nature provides a better user experience in terms of accessibility, custody, and global utility. Additionally, over 2 billion people live under double or triple digit inflation in their local currencies, making a stablecoin's price stability relative to the dollar even more attractive. We believe that Taproot Assets bringing stablecoins to bitcoin wallets will only accelerate the process of bringing bitcoin to those billions of people.

Further, developers have been experimenting with real world assets like gold, US Treasuries, corporate bonds with programmatic coupon payments, and more. We believe bitcoin's global liquidity, decentralization, and security provides the optimal platform upon which to bring these experiments to mass market, and are excited to support their development on Taproot Assets.

Stablecoin users, especially those in emerging markets, are pragmatic and simply want the lowest fees with the fastest settlement time. As it turns out, the Lightning Network was designed to provide that exact experience on top of bitcoin's unparalleled security and decentralization. With Taproot Assets, we're bringing all of this global user demand back to bitcoin and Lightning. And with stablecoins integrated into Lightning wallets, users will be able to stack sats with minimal friction as their circumstances allow for it, bringing bitcoin to billions.

Build on Mainnet with the New Taproot Assets v0.3

For developers looking to build today, version 0.3 of the Taproot Assets protocol provides the complete set of tools to start issuing, managing, and exploring mainnet assets on-chain.

Feature-Complete Issuance and Redemption APIs 💰

First, the asset issuance APIs have been improved based on developer feedback to fit the expected flows of mainnet usage. Tranched issuance, that is minting multiple sets of assets at different times that retain fungibility, is now fully supported. Issuers will sign new tranches of issued assets with a group_key, which allows users to automatically verify that the new issuance is fungible with old tranches. Additionally, Taproot Assets v0.3 includes new asset-burn APIs to facilitate when asset issuers do redemptions. By provably destroying the assets from the supply with this burn feature, issuers can then securely release the real world assets that they represented on-chain. By uploading the proofs of these burn transactions to a public Universe, issuers can then automatically communicate this action to the public and ensure their users have the most up-to-date asset information.

Asynchronous Receive Functionality ✅

Next, for on-chain Taproot Assets transactions, users will need to send and receive assets without both parties being online at the same time. For receivers, that means providing the ability to generate an address that anybody can send to at any time. Taproot Assets v0.3 accomplishes this by giving developers tools to add a proof-retrieval Uniform Resource Identifier (URI) to an on-chain address. The receiver's wallet will then sync with the specific Universe server detailed by that URI in order to download the off-chain proof data they will need to send their newly received assets in the future. This feature will be handled in the background by the user's wallet to preserve the seamless experience of asynchronous receive.

Multiverse Mode for Universes 🌌

Universes are the repositories that hold all the information needed for a Taproot Asset wallet to initialize and sync the state of a specific Taproot Asset. Multiple Universe servers can be operated as a federation that all stay in sync for a given asset, so even if the issuer's server is offline a receiver can have many different data sources to verify the sender's assets are legitimate.

A main feature of Taproot Assets v0.3 is the introduction of Multiverse functionality. Multiverse mode allows a given Universe server to support multiple assets, and importantly all the relevant transaction history for each asset. This allows developers to acquire and host all the data required to build out the familiar block explorer experience for end users.

Scalability, Security, and Developer Experience Improvements 💪

Finally, developing a mainnet alpha version of the Taproot Assets daemon required significant improvements in security, scalability, and developer experience. On the scalability front, the new release includes a build-loadtest command that will allow developers to conduct stress tests on the software themselves. We have used this extensively internally to validate that the software is ready for mainnet deployments, and are now providing it to developers to perform their own validation. To support DevOps teams in ensuring their infrastructure is handling the load of the daemon, we have also included the ability to report metrics to Prometheus, the popular monitoring system and time series database, so developers can better visualize the performance of their software.

Regarding security, Taproot Assets v0.3 adds more secure proofs with block height and header validation, limitations on proof decoding to prevent resource exhaustion, reorg safety in the case of forks from the bitcoin mainnet blockchain, and a host of other lower-level updates detailed in the release notes.

An important milestone is the addition of protocol versioning for all upgradable parts of the protocol. This provides developers with the forward compatibility guarantee required to issue assets on mainnet today and know they will still be usable if protocol enhancements occur. Additionally, test vectors are now produced for the Bitcoin Improvement Proposals (BIPs) enabling developers to verify the integrity of the protocol by re-implementing it themselves. Finally, this release includes a host of command-line improvements based on extensive feedback to provide the smoothest developer experience. Bitcoin developers will recognize familiar tooling like Schnorr signatures, partially signed bitcoin transactions (PSBTs), and witness fields throughout this release, we can't wait to see what you build!

Onwards to a Multi-Asset Lightning Network

We are incredibly excited to be launching the mainnet alpha of the Taproot Assets protocol with the feature-complete functionality detailed above. With this release completed, our focus will shift to the ultimate goal of Taproot Assets: making Lightning a multi-asset network. Specifically, we aim to provide stablecoin support for users in a borderless financial world. Once we have completed the payment channel functionality of the protocol, users will be able to send and receive the currency of their choice over the Lightning Network, using the existing bitcoin liquidity as a global routing currency and Medium of Exchange. Leveraging a distributed liquidity network to serve a global market will be a major paradigm shift for how global money flows operate. Instead of having to start from scratch, asset issuers and users alike will be able to leverage the existing network effects of the Lightning Network, from the bitcoin liquidity to the market of routing nodes to the broad ecosystem of integrated wallets, exchanges, merchants, and more.

Two major features were needed before development could begin on incorporating payment channel functionality into the Taproot Assets Protocol, and making a multi-asset Lightning Network. Both of those have been shipped: unannounced Taproot channels are now running in production with lnd v0.17, and the draft specification for Taproot Asset Protocol channels has been published as a bitcoin Lightning Improvement Proposal (bLIP). With this work completed, and the mainnet alpha of the Taproot Assets daemon released, nothing will stop us from bringing the ability to send and receive Taproot Assets over the Lightning Network to the developer community, and we can't wait to put that software in your hands 🔜.

Join the Taproot Assets Developer Community!

As previously noted, the bitcoin developer community has been busy building new experiences with the protocol's on-chain capabilities. These new tools will give said developers the power and confidence to move their projects from prototypes into production. On last week's community call, a number of these developers showcased the applications they are developing with Taproot Assets, and we were astounded by the progress that's been made! Joltz Rewards, Nostr Assets, Royllo, Deezy, Speed, DFX Swiss, and Tiramisu Wallet are collectively building out the Taproot Assets infrastructure of web wallets, mobile wallets, open source SDKs, asset explorers, developer tools, and nostr integrations, with more coming every day! The developer enthusiasm to start building with Taproot Assets is infectious, and with mainnet support now available we expect to see the number of Taproot Assets applications expand rapidly.

Want to get started exploring Taproot Assets? Download the daemon, check out the API documentation, and read the getting started guide. For a more extensive technical explanation on how Taproot Assets works, take a deep dive into the BIPs and our documentation. If you haven't already, join our Slack community, follow us on Twitter, attend the Taproot Assets Community Calls, contribute a PR, or subscribe to our newsletter!

About the authorRyan Gentry

Ryan holds an MSc in Electrical and Computer Engineering from Georgia Tech and a BS in Aerospace Engineering from the University of Texas. Prior to joining Lightning Labs, he spent two years on the deal team as Lead Analyst for Multicoin Capital. Ryan graduated from UT in 2014 and went to work for Intel as a Controls Engineer. He caught the Bitcoin bug in 2017 while building Internet of Things prototypes when he realized all of these Things were going to need some way to pay each other and USD wasn't going to cut it.

Ryan holds an MSc in Electrical and Computer Engineering from Georgia Tech and a BS in Aerospace Engineering from the University of Texas. Prior to joining Lightning Labs, he spent two years on the deal team as Lead Analyst for Multicoin Capital. Ryan graduated from UT in 2014 and went to work for Intel as a Controls Engineer. He caught the Bitcoin bug in 2017 while building Internet of Things prototypes when he realized all of these Things were going to need some way to pay each other and USD wasn't going to cut it.