Announcing Taro: A New Protocol for Multi-Asset Bitcoin and Lightning 🍠💱🌍

Ryan Gentry
April 5, 2022

Today we’re excited to announce Taro, a new Taproot-powered protocol for issuing assets on the bitcoin blockchain that can be transferred over the Lightning Network for instant, high volume, low fee transactions. This announcement marks a big shift to a multi-asset Lightning Network with the potential for the world’s currencies to route through bitcoin liquidity on the network. At its core, Taro taps into the security and stability of the bitcoin network and the speed, scalability, and low fees of Lightning. Together with the new protocol, we're also announcing our Series B fundraise to further build out Lightning Network infrastructure and help Number of People Go Up. 📈

Taro enables bitcoin to serve as a protocol of value by allowing app developers to integrate assets alongside BTC in apps both on-chain and over Lightning. This expands the reach of Lightning Network as a whole, bringing more users to the network who will drive more volume and liquidity in bitcoin, and allowing people to easily transfer fiat for bitcoin in their apps. More network volume means more routing fees for node operators, who will see the benefits of a multi-asset Lightning Network without needing to support any additional assets.

We see Taro as an important step in bitcoinizing the dollar, getting the best of both worlds by 1) issuing assets like stablecoins on the most decentralized and secure blockchain, bitcoin and 2) allowing users to transact on the fastest global payments network with the lowest fees, Lightning.

Taro relies on Taproot, bitcoin’s most recent upgrade, for a new tree structure that allows developers to embed arbitrary asset metadata within an existing output. It uses Schnorr signatures for improved simplicity and scalability, and, importantly, works with multi-hop transactions over Lightning. To that end, we are releasing a series of Taro Bitcoin Improvement Proposals (BIPs) for feedback and comment from the developer community, as it is an open protocol for the community to adopt. You can learn more and read through the full Taro specification on Github.

Why Does Lightning Need More Assets?

Last year brought an explosion of growth to the Lightning Network. New users from all around the world, but especially Latam (e.g. El Salvador, Guatemala, Argentina, Brazil) and West Africa (e.g. Nigeria, Ghana), experienced instantly settled, low fee, peer-to-peer transactions without financial intermediaries for the first time. We've continually heard from people, developers, and startups in emerging markets such as Galoy, Strike, Ibex Mercado, Paxful, and Bitnob that adding stablecoin assets to Lightning would expand financial access for their communities.

bitcoin beach image
Residents of Bitcoin Beach use Lightning in El Salvador

Taro enables wallet developers to provide users with a USD-denominated balance and a BTC-denominated balance (or any number of assets) in the same wallet, trivially sending value across the Lightning Network just as they do today. Importantly, as more users are onboarded to Lightning wallets through fiat, they will be able to easily acquire and use bitcoin. This is what bringing bitcoin to billions looks like.

How does a Taro transfer over Lightning work?

Imagine Alice and Bob have a Lightning-USD (L-USD) channel with 100ofcapacity,balancedsuchthattheybothhave100 of capacity, balanced such that they both have 50 worth of inbound liquidity, and Carol and Dave have a L-USD channel with 100ofcapacity,balancedsuchthattheybothhave100 of capacity, balanced such that they both have 50 worth of inbound liquidity.

Example Taro Transaction
Example multi-hop Taro transfer

If Bob only has a BTC channel with Carol, Alice can still send 10ofLUSDtoBob,whochargesasmallroutingfeeinBTCandforwards10 of L-USD to Bob, who charges a small routing fee in BTC and forwards 10 of BTC to Carol, who charges a small routing fee in L-USD and forwards $10 of L-USD to Dave, the final destination. Taro interoperates with the existing BTC-only Lightning Network as-is, only requiring the first hop and the second-to-last hop to have L-USD liquidity.

This structure taps into the network effects and liquidity of today’s Lightning Network to route any number of assets, avoiding the need to bootstrap an entirely new network for new assets, and ensuring that bitcoin underpins all transactions on the network. It also incentivizes the growth of BTC liquidity within the Lightning Network to serve a broader multi-asset Lightning Network.

Where Does Taro Come From?

Taro makes use of the new Taproot scripting behavior (available on bitcoin as of the soft fork last November) to allow developers to embed arbitrary asset metadata within an existing output. That means no additional burden on full nodes, no burning of bitcoin via the OP_Return opcode, and that Taro assets inherit all the same double-spend protection of normal bitcoin transfers, along with additional functionality like transferability over the existing Lightning Network.

taro blog post visual design graphic 2

Because the Lightning Network is a payment channel network, it has faster settlement and lower fees than other blockchains, and retains those properties as the network scales. Bringing stablecoins to bitcoin via the Lightning Network is good for users who want access to financial services, good for app developers who want new tools, good for routing node operators who want more fees, and good for issuers who want a better experience for their users.

For more deeper technical details of the Taro protocol, you can dive into the protocol BIPs. In a nutshell, the major benefits of such a modern Taproot-native design are:

  • Scalability: a single Taproot output can contain an essentially unbounded amount of Taro assets

  • Programmability: Taro assets have an unlocking script, similar to normal Bitcoin UTXOs, enabling developers to program transfer conditions into said assets

  • Auditability: the special tree structure used by Taro allows efficient supply audits both locally within a given wallet, and also globally within the chain for an issued asset

  • Usability: asset-specific addresses enable wallets to be smart enough to prevent users from sending the wrong asset by mistake

How Do I Get Started?

The first step in getting Taro out to the world is releasing the draft protocol and its underlying components in a series of BIPs, and getting feedback from the community at large. The second step is to build the tooling that allows developers to issue and transfer arbitrary assets on-chain. The final step is to build functionality into Lightning that allows developers to open channels with Taro assets that can be sent over the existing Lightning Network. We are working on all three and invite the community to contribute.

We’re incredibly excited for companies building on the Lightning Network to be able to integrate this new protocol, be it via integration into apps or tools, or the ability to issue assets on Lightning, and let users all around the world harness the security and decentralization of the bitcoin network with assets like USD. While much of the motivation for this protocol comes from enabling fiat stablecoin value transfers over LN, Taro as proposed is a general asset issuance and transfer protocol, and it can enable both fungible and unique assets.

We hope readers will review the Taro proposal, read our documentation, contribute to the code, and most importantly, build the world's monetary network with bitcoin! 🌎

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.