Frequently asked questions about the Taro protocol.
Taro is a novel Taproot-based protocol that defines how assets can be issued/used on the bitcoin blockchain. Assets issued with the Taro protocol are held in bitcoin utxos and are transferred as part of regular bitcoin transactions.
Taro lets you issue all kinds of assets on bitcoin, both unique and fungible. There are no technical limits to what these assets can represent, including stablecoins, shares, tickets, ownership rights or art. Assets can be programmed using Taro’s asset scripts, allowing for a broad range of functionality similar to bitcoin transactions. From an initial protocol design and prioritization perspective, Lightning Labs is focused on stablecoins’ use cases first.
Taro uses Merkle trees known as a ‘Merkle Sum, Sparse Merkle Tree (MS-SMT)’ and Taptweak to commit to information defining an asset’s creation and ownership.
Taro requires Taproot to function efficiently, as Taptweak makes it possible to commit to arbitrary data without additional overhead on the blockchain. Taproot allows Taro to be scalable, economical, and privacy enhancing.
Taro is a protocol. The Taro protocol is released under the BSD-2-Clause license, also known as the “simplified BSD license,” making it free to use and build upon. The best way to invest in Taro is to build on top of it.
Taro minimizes its on-chain footprint by storing all necessary metadata off-chain. It further optimizes how UTXOs are used by allowing multiple assets to be controlled by the same output, and aggregate multiple transactions into a single UTXO. Taro on the Lightning Network vastly improves on the scalability of other on-chain or sharded off-chain protocols while allowing for the highest degree of self-sovereignty.
Once the protocol is released, information about asset issuance may be obtained either directly from an issuer, through a Taro universe or from Lightning Labs’s products.
A Taro universe is a repository of assets and their proofs. A universe may serve information about a single or multiple asset types (e.g. a specific stablecoin or all stablecoins). It may hold information about which assets have been issued, their quantity, and rules as well as hold proofs about recent transfers. The criteria for releasing this information is up to a universe or universe operator.
A pocket universe is a way to collectively store Taro assets and use the protocol without giving up ownership of assets. This pocket universe is a single party (or federation) maintaining a Taro commitment that includes assets that they can't unilaterally move themselves. A pocket universe controls the Taproot key to a UTXO, but not the keys to the (possibly multiple) Taro assets held in that UTXO. Asset holders can use the pocket universe to batch their transactions in an efficient manner.
Taro does not require you to keep or scan the entire blockchain. Similar to running a Lightning Network node, your Taro client only requires proofs about the existence of specific transactions relating to its assets, which can be obtained in ‘Neutrino’ mode, also known as BIP157.
To issue and transact Taro assets, bitcoin transactions need to be made, which generally require transaction fees paid in BTC. Each output also needs to carry with it a small number of satoshis to be valid.
Once the initial implementation and protocol is released, anyone will be able to issue assets with Taro using a Taro client or a paid service. Once the asset has been issued and its genesis transaction is confirmed on the blockchain, your asset is live and can be transferred or deployed into a Lightning Network channel.
When minting a Taro asset, you define its rules. It is possible to limit the total supply of your asset or to leave it uncapped to create additional assets later. These supply controls are enforced through cryptographic means in the Taro client.
Your Taro wallet will need to store Taproot keys as well as Taro keys, plus the knowledge of which assets were held in which UTXOs. How such data is stored and backed up will be up to the wallet developer. If a user loses their asset proof information, it’s possible for a Universe to serve the proof back to the user.
To send Taro assets to somebody else, they will need to first provide you their Taro address. This address contains information about the asset and public keys necessary for holding the asset. The address format is designed to help prevent Taro assets from being lost or unrecoverable.
Typically, a Taro transaction will carry on-chain fees, which are paid to bitcoin miners similar to a regular bitcoin transaction. When transacting Taro assets off-chain, you may pay routing fees to Lightning Network nodes instead. When using a pocket universe, grouped transactions can share on-chain fees.
Taro assets can be deployed into a Lightning Network channel in a similar manner as bitcoin. When a route denominated in the relevant asset exists, the asset can be routed through it, otherwise it can be trustlessly swapped for BTC and its value is routed to the destination, where it may be swapped back or into a different asset. Ultimately, the majority of this process will be obfuscated to the end user and handled by nodes and wallets.
Edge liquidity describes the concept that some Lightning Network nodes, with which you have Taro asset channels, may be willing to swap their value to BTC and back, allowing you to use your Taro assets to pay for any Lightning Network invoice, or receive any asset by issuing a standard Lightning invoice.
The Taro protocol does not prescribe how edge nodes and Taro asset holders agree on a price -- though a few options can be supported. As long as both agree on a rate, any Taro asset can be swapped for BTC and its value transmitted through the broader Lightning Network.
Edge nodes’ liquidity has some optionality properties, but this optionality will be priced by the market. Nodes, which offer this optionality, can decline to facilitate the quoted swap and users can avoid nodes which don’t perform frequently. Ergo, Taro doesn’t have a “free option problem” which can exist in cross-chain atomic swaps.
The owner of a Taro asset does not need to own an equivalent amount of bitcoin to be able to send or receive amounts denominated in their asset. However, a route must exist between the sender and receiver with sufficient liquidity -- either in bitcoin or the Taro asset.