Validating Metaprotocols in Bitcoin Script w/ Covenants
Metaprotocols built on Bitcoin such as the Taproot Assets Protocol define new rules for transactions containing specific committed metadata (eg: a new leaf in the tapscript tree). A sub-class of these protocols in the client-side validation paradigm rely on special nodes that validate these transaction with auxiliary information to overlay a new consensus system on top of Bitcoin. However as Bitcoin Script isn't aware of these meta protocols, it's possible to mine a transaction that is valid for Bitcoin consensus, but invalid from the PoV of a metaprotocol. In this talk, we'll explore how we can use covenants to incrementally make Bitcoin Script aware of these metaprotocols, which unlocks the door to new scaling solution and expressibility on Bitcoin.