Ready to start your Web3 development journey?
→ Download our guide to developing smart contracts

What Does Lightning’s Taro Proposal Mean for Stacks?

Last month, Lightning announced Taro, a proposed Bitcoin upgrade that allows for the representation of assets on Bitcoin. Let’s discuss what Taro could mean for Stacks.

Deep dive
May 13, 2022
Copy link

First, a disclaimer: Taro is a proposal. Many of the details of this proposal are to be determined, and there is no definite timeline as to when this proposal will be formalized, nor are there guarantees that the proposal would be approved and then implemented by the Bitcoin community. In other words, we are discussing a hypothetical here, and there is no certainty that any of this comes to pass.

Nevertheless, given interest from the community, I wanted to take some time to talk about what Taro might mean in the context of Stacks. 

What Is Taro?

Taro is primarily concerned with the representation of assets on Bitcoin. Taken from the second line of Lightning Labs CTO Olaoluwa Osuntokun’s draft proposal on GitHub, “Taro enables the representation of arbitrary (normal and collectibles) assets on top of Bitcoin.”

At a high level, Taro would enable two types of transfers (swaps and sends) for two types of assets (non-fungible tokens, popularly known as NFTs, and fungible tokens).

A key component in Taro is the MS-SMT data structure: a Merkle Sum, Sparse Merkle Tree. This structure enables the representation of assets, the verification of those assets, and simple rules governing how those assets can be transferred.

Some of the mechanics are actually quite complex, and I won’t go into all of the details here. If you’re curious to dive in, you can read the proposal here. But stepping back, the Taro proposal concerns a general mechanism that would allow for assets other than BTC to be represented on the Bitcoin blockchain. For instance, the current Taro proposal should enable defining new fungible tokens on Bitcoin (with properties like total supply as well as rules for sending and receiving), but the proposal doesn’t enable much more than that (e.g. creating an escrow contract or a stablecoin).

It’s too early to say whether there will be a standardized representation of fungible and non-fungible tokens in this framework (presumably there will be) or what those standards would look like.

This proposal would allow Lightning to expand the scope of what people can do on the network. Today, Lightning can only be used for BTC payments in lightning channels, and that’s it. This proposal would enable other assets represented on Bitcoin to be transferred on Lightning as well.

Envisioning Taro Integrations for Stacks

Naturally, as a result of this announcement, we received some questions of whether this impacts Stacks and how it does if so. We firmly believe that innovation on Bitcoin is net positive; a better Bitcoin means a better internet for everyone. We have a strong and positive relationship with Lightning (and with other projects building on Bitcoin). We’re not playing zero or negative sum games. A richer state representation on Bitcoin would be great for Stacks. Here’s how. 

Clarity, the smart contract programming language for Stacks, can read Bitcoin state. So in a world where Taro is implemented, you can imagine Clarity having more functions to allow Stacks to read and validate that state, giving us a deeper integration with those assets.

You could also imagine a world in which the Stacks blockchain changes its state representation to use some of those new capabilities from Taro, if and when they become available. 

We’re not playing zero or negative sum games. A richer state representation on Bitcoin would be great for Stacks.

As I mentioned above, Taro is still very much a draft with a long road ahead. It’s too early to say anything meaningful about how Stacks and Taro would integrate, but you can imagine the possibilities, and all are positive. Taro would be a win for Bitcoin, and thus for Stacks too.

Fulfilling Different Needs for Bitcoin

We are friendly with the Lightning team and support their work. At the end of the day, Lightning and Stacks fulfill different needs for Bitcoin:

  • Lightning brings payments to Bitcoin (if the Taro proposal goes through, then Bitcoin will have new asset representation functionality independent of Lightning, and Lightning would enable fast / cheap movement of those assets too).
  • Stacks brings smart contracts to Bitcoin.

Lightning is not a blockchain; it’s a peer-to-peer payment network. This means it has no global state or global history. This also means you cannot have a global smart contract state: smart contracts need that global ledger in order to function.

To be clear, that’s a feature, not a bug. Lightning is designed as a way to scale BTC payments, and it is very good at that. Scaling payments for Bitcoin is a great thing!

But, if you want to build business logic and computation around payments, or around an asset, you need a fully expressive environment as well as a global ledger in order to build that kind of complex functionality. That’s where Stacks comes in.

In that regard, Stacks and Lightning are fundamentally different but complementary projects. Both bring value to Bitcoin by fulfilling different needs for the ecosystem.


I’m excited by the possibilities that Taro brings to the table. A richer state on Bitcoin benefits Bitcoin and all of the projects on top of it, including Stacks. It’s too early to say what the impact of Taro will be, if any, but the very act of proposing improvements is important to the culture. Bitcoin itself is an innovation; it’s exciting to see other builders continuing to innovate on top of it.

Find out how Bitcoin and Stacks compare to other Web3 ecosystems in 2022 in our free guide.

Download the Guide
Copy link
Hiro news & product updates straight to your inbox
Only relevant communications. We promise we won’t spam.

Related stories