Taproot Assets Benefits
Taproot Assets
There is a lot of confusion in the Bitcoin-space on asset protocols like Taproot Assets, Ordinals and RGB. This confusion makes a lot of sense, asset protocols are very complex and there isn't a lot of accessible information. I'm a fan of both Taproot Assets and Ordinals, I've written both a Taproot Assets wallet and a Ordinals indexer and dealt with a lot of the same confusion, it takes a lot of time and digging to understand these protocols.
What is Taproot?
Before anything else you need to the underlying technology that makes assets on Bitcoin possible. Taproot (aka BIP 341) is a soft fork on Bitcoin combining a couple proposals: Schnorr signatures, new OP codes (i.e. CHECKSIGFROMSTACK
) and Merkle Branches (aka MAST).
What is a Merkle Branch?
Merkle Branches are fundamental for saving space on-chain with Tapscripts (aka Taproot Scripts). Merkle Branches break up a script into a Merkle Tree, revealing only the path of execution used to get to the final result on-chain.
Example:
x = 10 y = 20 if x == 10 { if y == 10 { return "a" } if y == 20 { return "b" } } if x == 20 { return "c" }
Once merkelized, only the green components will be revealed on-chain.
What is Taproot Assets?
Taproot Assets is a asset protocol created by Olaoluwa Osuntokun (aka Roasbeef) of Lightning Labs. Taproot Assets leverage Merkle Branches to store assets instead of scripts and rely on Universes to store data.
TODO: clarify on the merkle branch system.
.
What is a Universe?
A Universe is a federated service that stores metadata (i.e. images, text, etc) about assets alongside their proof files.
What is a proof file?
Proof files store any interaction you've made with Taproot Assets with a reference to the signature on-chain, this is used for client-side validation.
Taproot Assets vs. Ordinals.
What are Ordinals?
Ordinals (aka Inscriptions) are an asset protocol used to store arbitrary data on-chain. Ordinals store data by creating a tapscript with un-executed code, this script is called an envelope.
Here's an example of what an envelope looks like:
OP_FALSE OP_IF # the header, this indicates the envelope contains an Ordinal. OP_PUSH "ord" OP_PUSH 1 # the MIME type of the content. OP_PUSH "text/plain; charset=utf-8" OP_PUSH 0 # the value of the content, which can broken up into multiple OP_PUSH
s depending on size. OP_PUSH "Hello, world!" OP_ENDIF
Censorship (Pro. Taproot Assets, Con. Ordinals)
When using Taproot Assets, interactions look just like normal Taproot transactions as they just store a signature, they have a very low on-chain footprint. Ordinals on the other hand store everything on-chain, so they have a very high on-chain footprint.
Ordinals are very easy to censor, they've already been censored by proponents like Luke Dash Jr.'s Ocean Mining. While with Taproot Assets, you'd have to block Taproot entirely to censor it.
Envelopes are not an intended feature of Taproot as Merkle Branches are only intended to store only the executed portion of the script. This leaves a lot of uncertainty on the future of Ordinals, it's possible they will be censored on Bitcoin Core in the future.
Scale (Pro. Taproot Assets, Con. Ordinals)
Taproot Assets can be aggregated, without trust in the aggregator and without a limit, meaning Taproot Assets can scale with just a single transaction on-chain with little to no cost to the client. Ordinals need to commit everything on-chain, so unlike signatures they can't be aggregated so in a high fee environment they become prohibitively expensive.
Lightning (Pro. Taproot Assets, Con. Ordinals)
While yet to be seen, Taproot Assets will be compatible with the Lightning network granting the ability to send fungible tokens near instantly. Taproot Assets related features are likely to be prioritized in LND given it's being created by the same company. Ordinals has not yet discussed this feature.
Complexity (Con. Taproot Assets, Pro. Ordinals)
Ordinals is a very simple protocol, you could understand the basics very quickly. Taproot Assets are very complex, the knowledge needed to implement Taproot Assets from scratch is immense and while Lightning Labs has made a good effort to create documentation I've struggled personally to have a good understanding of Taproot Assets without digging deeply into the tapd codebase.
Harm (Pro. Taproot Assets, Con. Ordinals)
As summarized in Censorship
and Scale
, Ordinals both take up a large amount of storage and harm existing on-chain functionality at scale. This creates a clash in use-cases Bitcoin can support.
Indexing (Pro. Taproot Assets, Con. Ordinals)
Taproot Assets rely on Universes and proof files, which are fairly lightweight with no initial syncing time. Ordinals indexers are very expensive to run, since they need to analyze every UTXO on-chain, this leads to more users relying on a centralized indexer to validate interactions whom could act in bad faith due to little client-side validation.