Bitcoin Covenants: OP_CAT (BIP 347)
By: bitcoin magazine|2025/05/02 19:30:04
0
Share
Bitcoin MagazineBitcoin Covenants: OP_CAT (BIP 347)This is the fifth article in a series deep diving into individual covenant proposals that have reached a point of maturity meriting an in-depth breakdown.OP_CAT, put forward for reactivation in tapscript by Ethan Heilman and Armin Sabouri in BIP 347, is not a covenant. It was an opcode that was originally included in the first release of Bitcoin for manipulating data elements on the stack. It was deactivated in 2010 with the release of Bitcoin 0.3.10 along with a number of other opcodes due to concerns of denial of service attacks that could crash nodes. A global maximum limit of 520 bytes for any individual item on the stack while executing a script was also added. You should already have a basic understanding of how script evaluation on the stack works, and the basic pieces of a bitcoin transaction, so there isn’t really much pre-requisite explaining necessary for OP_CAT. While OP_CAT may not be a covenant in and of itself, it can emulate covenants due to a quirk in how Schnorr signatures work. This is a pretty in depth topic, fully explained here by Andrew Poelstra from Blockstream, so I’ll just stick with a high level view. Every elliptic curve has a generator point, which is essentially “0”, that is used in the elliptic curve math for key generation and signing. With Schnorr, you can sign using the generator point as a key, and give or take a few bytes that you have to sign repeatedly to get right, the resulting signature is actually the same hash of the transaction you signed. Set aside the mechanics of how that works mathematically for now, and just remember for later that these “weird” signatures allow you to get the current transactions TXID on the stack. How OP_CAT WorksOP_CAT takes the top two data items on the stack and concatenates them together. So if the top two items on the stack are “1” and “2”, OP_CAT removes both of them and then puts “12” on top of the stack. That’s it. What Is OP_CAT Useful ForOkay, so what’s the big deal? Why is everyone freaking out about OP_CAT even though it’s so simple the explanation of how it works didn’t even take a full paragraph to write? Two reasons, although given the nature of OP_CAT I can give no guarantees these are the only two reasons. OP_CAT allows the construction and verification of merkle trees directly on the stack, which opens the door to some interesting behavior and functionality. It also allows emulation of covenants enabling full granular introspection due to the “weird” Schnorr signatures mentioned above. Merkle proof verification is a key component of Taproot, but the way it is implemented merkle tree verification only occurs in the context of verifying that a tapscript spending path is committed to in the root Schnorr public key in the output script of the coin being spent. Taproot does not support generic merkle proof verification. OP_CAT allows this in a totally generic manner. Simply providing the leaf hash(es) and then interior hash nodes in the right order and calling OP_CAT successively will allow you to reconstruct a merkle root hash, and compare against a pre-defined hash in the script. You could do this to provide unilateral withdrawal paths for shared UTXOs like in CatVM, you could make transactions dependent on other transactions having been included in a block with valid work, you can make a transaction dependent on pretty much any condition that can be verified with a merkle proof. Now, for the covenant emulation that enables full introspection. What you are trying to do is ensure that a transaction has to have certain characteristics to be valid. Remember now that the “weird” signature gets the hash of the transaction on the stack. A transaction signature isn’t actually done over the raw transaction, it’s done over its hash. This allows us to do something interesting. You can construct very complicated and convoluted scripts using OP_CAT to take the individual raw pieces of the transaction as part of the witness, and slowly put them together on the stack with OP_CAT. Along the way, individual pieces of the transaction can be checked against predefined hashes by just hashing them and using OP_EQUAL. At the end of the script you have the full transaction on the stack itself, and can append the necessary data to it and then hash it, once again comparing it with OP_EQUAL, this time against the “weird” signature. If that check passes, a normal CHECKSIG can be run and as long as the “weird” signature was made with the transaction being spent, everything executes as valid. The OP_EQUAL checks of individual pieces of the transaction along the way guarantee that those pieces of the transaction are exactly what they should be. If any of them fails verification, the transaction is invalid. This enforces the emulated covenants. At the end, if the transaction hash constructed with OP_CAT and the “weird’ signature match, then the final CHECKSIG guarantees that the transaction constructed with OP_CAT and checked against the emulated covenant matches the actual transaction being spent at the time. Closing ThoughtsOP_CAT blows open the doors of introspection and forward data carrying completely. Introspection can be accomplished to any granular degree desired, with each individual field of the transaction being able to be independently committed to. It enables all the same introspective capabilities that TXHASH does, and then some. The capability to verify generic merkle proofs is also a powerful functionality, but brings into question how that capability will be used, and what type of incentives that could create. Bitcoin scripts could be constructed requiring some transaction be made on external blockchain systems, as long as they use merkle trees built with the hash functions available in Bitcoin script. While OP_CAT is itself not a covenant, it allows full emulation of covenants with a much less efficient blockchain footprint (and potential for developers to make mistakes and burn money). It is a proposal that despite being incredibly simple itself, should be approached cautiously given the massive design space it opens up. This post Bitcoin Covenants: OP_CAT (BIP 347) first appeared on Bitcoin Magazine and is written by Shinobi.
You may also like
Morning Report | One week after the full implementation of the EU MiCA, 21 stablecoin issuers and over 270 crypto service providers have obtained regulatory qualifications; Microsoft lays off 4,800 employees, with Xbox accounting for about 3,200 of the...
July 7 Market Important Events Overview
Morning News | SK Hynix officially launches the marketing promotion process for its U.S. stock listing; the Central Cyberspace Administration announces the results of the first phase of rectifying AI application chaos, with over 14,000 non-compliant pr...
July 6 Market Important Events Overview
How has Binance's stock business performed in the 30 days since its launch?
Emerging market buying supported the first wave of demand.
Blockchain Capital Partner: AI is rewriting the fundamental unit of labor
The rise of AI is rewriting the basic unit of labor from "positions" and "companies" to "tasks." When programmable labor meets programmable currency, a production line without companies, salary systems, or HR becomes possible for the first time.
Can Open USD support Stripe's ambitions?
Stripe collaborates with multiple parties to launch OUSD, not only challenging the dominance of USDC but also exposing its trillion-dollar ambition to transition from a "payment interface" to a "next-generation funds settlement network."
Founder of Baixing.com: I believe half of the statement that large language models devour everything
The internet has been shouting for so many years about devouring everything. Has it really devoured everything now? Is it the internet that devours everything, or is it the large models that devour everything? Both are devouring, and nothing is left?
A "legal" robbery? Attackers emptied the BonkDAO treasury by buying tickets
Handing over the keys to the vault to a public vote where "anyone can spend money to participate," without sufficient oversight mechanisms, even the most legitimate governance ideals may turn into the most convenient tools for attackers.
Should You Buy Bitcoin Now? What the Data Says After a 50% Pullback
Should you buy Bitcoin now? Explore Bitcoin's nearly 50% pullback, ETF outflows, on-chain data, Strategy's BTC sale, and historical trends to assess whether July 2026 is a buying opportunity.
WEEX P2P now supports BDT & LKR—Merchant Recruitment Now Open
To make crypto deposits easier, WEEX has officially launched its P2P trading platform and continues to expand fiat support. We're excited to announce that the Bangladeshi Taka (BDT) and Sri Lankan Rupee (LKR) are now available on WEEX P2P!
The cryptocurrency industry has become a traditional industry
For entrepreneurs and retail investors still in this industry, they should either embrace the current changes or explore the next unpredictable field in cryptocurrency.
Chip frenzy cooling down? Morgan Stanley's Wilson: Funds are shifting towards AI supercomputing giants like Microsoft and Amazon
Morgan Stanley's chief equity strategist Wilson pointed out that the momentum in the semiconductor sector is waning, with the Philadelphia Semiconductor Index having dropped nearly 14% from its peak. Funds are shifting towards AI supercomputing giants like Microsoft, Amazon, and Meta, as well as sec...
Morning Report | Vitalik outlines Ethereum's long-term roadmap, Lean Ethereum will become the third major iteration; SK Hynix seeks to attract more AI investors by listing in the U.S
July 5 Market Important Events Overview
Trump, the best stock trader among U.S. presidents
Trump has almost turned the presidency into a business and maximized the conversion of presidential influence into commercial profits.
From ByteDance to Financial Freedom: How did "Byte Brother" Leto develop his investment judgment skills to achieve a turnaround of 30 million?
Speak with data and signals, validate judgments with A/B tests, and seek asymmetric returns with limited risk exposure.
Selling coins despite a loss of 55 million dollars, the faith in Strategy has reached the interest payment date
The moment faith was securitized, Bitcoin became a bill.
OUSD False Cooperation Controversy? The Credit Game of Stablecoins and Endorsements by Giants
The success of stablecoins does not rely on rallying a group of alliance members for marketing, but rather on whether they have real use cases and genuine users.
Q-Day Countdown: Will Quantum Computing End Cryptocurrency?
In the face of dormant coins being plundered by quantum computing power, should we firmly uphold the unalterable bottom line of "code is law," or should we enforce a soft fork to freeze legacy assets?
The ten years of Cloud on the Air: From corner coffee to global financial infrastructure
How did a remittance company grow into a financial infrastructure that can replace SWIFT; when it really reaches this scale, how should stablecoins be positioned for it; and what can AI integrate into this infrastructure?
Morning Report | One week after the full implementation of the EU MiCA, 21 stablecoin issuers and over 270 crypto service providers have obtained regulatory qualifications; Microsoft lays off 4,800 employees, with Xbox accounting for about 3,200 of the...
July 7 Market Important Events Overview
Morning News | SK Hynix officially launches the marketing promotion process for its U.S. stock listing; the Central Cyberspace Administration announces the results of the first phase of rectifying AI application chaos, with over 14,000 non-compliant pr...
July 6 Market Important Events Overview
How has Binance's stock business performed in the 30 days since its launch?
Emerging market buying supported the first wave of demand.
Blockchain Capital Partner: AI is rewriting the fundamental unit of labor
The rise of AI is rewriting the basic unit of labor from "positions" and "companies" to "tasks." When programmable labor meets programmable currency, a production line without companies, salary systems, or HR becomes possible for the first time.
Can Open USD support Stripe's ambitions?
Stripe collaborates with multiple parties to launch OUSD, not only challenging the dominance of USDC but also exposing its trillion-dollar ambition to transition from a "payment interface" to a "next-generation funds settlement network."
Founder of Baixing.com: I believe half of the statement that large language models devour everything
The internet has been shouting for so many years about devouring everything. Has it really devoured everything now? Is it the internet that devours everything, or is it the large models that devour everything? Both are devouring, and nothing is left?
Customer Support:@weikecs
Business Cooperation:@weikecs
Quant Trading & MM:bd@weex.com
VIP Program:support@weex.com
