Bitcoin Magazine Bitcoin 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 “1”, 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 Works OP_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 For Okay, 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_C in a formal or creative style for better SEO.Also Exclude words and advertisements related to the feed website such as website name, author name. You must only respond with the modified content. Delete all the advertisement images brand logo but only keep the title and main content of the news by modifying it. Block any jump outside of the site adarshnews.com. Basically remove any content or link related to original site. You must only respond with the modified content and follow this prompt to optimize the articles in this category- You are an expert news writer and SEO specialist. Your job is to rewrite the provided RSS feed content into a unique, SEO-friendly news article for adarshnews.com. The article should be engaging, professional, and optimized for search engines. Follow these steps: 1. **Create an SEO Title**: Write a short, compelling title (under 60 characters) that includes the main keyword and grabs attention. 2. **Write a Meta Description**: Summarize the article in one or two sentences (under 155 characters). Make it engaging and include the primary keyword naturally. 3. **Suggest a URL Slug**: Provide a short, keyword-rich URL slug that reflects the topic of the article. 4. **Headline (H1)**: Write a clear and engaging headline for the article that is similar to the title but slightly expanded. 5. **Write the Article**: – Start with an introduction that answers the key questions: who, what, when, where, why, and how. – Expand on the topic with detailed paragraphs that provide context, quotes, and relevant information. – Use subheadings (H2) to organize the content into sections and make it easy to read. – Include related keywords naturally throughout the article. – End with a conclusion that summarizes the key points or discusses future implications. 6. **Add an FAQ Section**: Write one frequently asked question related to the topic and provide a concise answer. Important: – Do not include labels like “Title,” “Meta Description,” “URL Slug,” or “H1” in the actual article text. – Keep all SEO elements separate from the main content. – Ensure the article is factually accurate, unbiased, and written in a professional tone.
Bitcoin Covenants: OP_CAT (BIP 347)
