{"id":92324,"date":"2025-03-18T04:12:43","date_gmt":"2025-03-18T04:12:43","guid":{"rendered":"https:\/\/neclink.com\/index.php\/2025\/03\/18\/what-are-they-and-what-do-they-do\/"},"modified":"2025-03-18T04:12:43","modified_gmt":"2025-03-18T04:12:43","slug":"what-are-they-and-what-do-they-do","status":"publish","type":"post","link":"https:\/\/neclink.com\/index.php\/2025\/03\/18\/what-are-they-and-what-do-they-do\/","title":{"rendered":"What Are They And What Do They Do?"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<p class=\"has-text-align-center\"><strong>Covenant :<\/strong> a usually formal, solemn, and binding agreement.\u00a0<\/p>\n<p>This word has become one of the most charged words in the Bitcoin space. They\u2019re the best thing since sliced bread. They\u2019re the most dangerous thing since the atom bomb. They aren\u2019t really going to do anything to scale Bitcoin, but they\u2019re neat.\u00a0<\/p>\n<p>Everyone has a completely different attitude towards them. We have the pro-faction, the anti-faction, the ambivalent faction. To make matters worse, covenant is frankly a very vague term in its description of mature and concrete proposals to the protocol that would be classified as covenants.\u00a0<\/p>\n<p>The degrees of difference between the functionality of different proposals that have been put forward is enormous. Some of them create entirely new design spaces for what it is possible to build on top of Bitcoin, while others strictly speaking don\u2019t add any new functionality at all, they simply optimize things that are already currently possible with a large degree of complexity and overhead.\u00a0<\/p>\n<p>Let\u2019s create a new definition specific to Bitcoin.<\/p>\n<p class=\"has-text-align-center\"><strong>Covenant : <\/strong>\u00a0any script that guarantees some, or all, of the outputs created by a transaction spending an input with a covenant script will have to fit certain specified criteria for the spending transaction to be consensus valid.\u00a0<\/p>\n<p>So in less strict terms, if a Bitcoin script currently restricts <em>who<\/em> can spend a coin by demanding an authorization proof, i.e. a cryptographic signature, or <em>when<\/em> it can be spent, i.e. after a timelock expires or the spender can show the preimage to a hash, a covenant script restricts <em>how<\/em> it can be spent, i.e. to who, how much to which person, etc. A covenant script can even restrict a coin so that it must be spent to another covenant script.\u00a0<\/p>\n<p>That last part is the core of what has made covenant such a contentious word. Many people have large reservations about adding a new way to \u201clock\u201d bitcoins that can self-propagate and ensure future coins are restricted in a similar fashion. Many people have concerns about this being used to damage fungibility or institute censorship regimes.\u00a0<\/p>\n<p>I feel it necessary to point out that both of these things can be accomplished right now, with no covenant script capability, simply by using <a href=\"https:\/\/bitcoinmagazine.com\/guides\/what-is-a-multisignature-wallet\">multisig<\/a>. Any authority can refuse to allow withdrawals to be processed from exchanges unless they are to a 2-of-2 <a href=\"https:\/\/bitcoinmagazine.com\/guides\/what-is-a-multisignature-wallet\">multisig<\/a> where that authority holds one key. From there they can simply refuse to sign transactions sending to addresses where they do not hold a required key, and establish whatever blacklist or whitelist scheme they desired opaquely and entirely off-chain.\u00a0<\/p>\n<p>That said, it is still important for Bitcoin users to have a grasp and understanding of the difference of power and flexibility between all the different covenant proposals that currently exist.\u00a0<\/p>\n<p>There are two core things that covenants seek to enable in order to apply restrictions to <em>how <\/em>coins are spent, <em>introspection<\/em> and <em>forward data carrying<\/em>.\u00a0<\/p>\n<p>Introspection is the ability to inspect different parts of the transaction that is being evaluated while trying to spend a specific coin. So for instance, if you want to restrict a coin so that it has to be spent to a specific address, you have to be able to compare the address specified in the input\u2019s covenant script to the address specified in the output of the transaction spending it. Opcodes that enable introspection are ones that give us the ability to compare different parts of the spending transaction against restrictions included in the script being evaluated. The more granular you can get with introspection concerning which particular parts of a transaction you can examine, the more powerful it becomes.\u00a0<\/p>\n<p>Forward data carrying is related to introspection, and in many ways a consequence of it, that allows you to ensure some piece of information is carried forward and included in each new covenant script so that it can be used in the next evaluation of the covenant script. This is accomplished by using introspection to restrict certain parts of the transaction so tightly that they must include the exact desired data or they are invalid. The more powerful introspective capability you have, the more flexibly you can carry data forward, and the more flexibly you can use that data.\u00a0<\/p>\n<p>This is just the first introduction to a series of articles to come over the next few weeks looking at all the major covenant proposals that are in a mature state, have received recent interest, or are conceptually critically important enough that developers agree on their usefulness but not yet a concrete design. This won\u2019t be 100% complete, but it will be relatively comprehensive. A few of them also are not strictly covenants per se, but compose very tightly with them.\u00a0<\/p>\n<p>These will include:\u00a0<\/p>\n<ol class=\"wp-block-list\">\n<li>CHECKTEMPLATEVERIFY\u00a0<\/li>\n<li>CHECKSIGFROMSTACK\u00a0<\/li>\n<li>TXHASH<\/li>\n<li>OP_VAULT<\/li>\n<li>CHECKCONTRACTVERIFY<\/li>\n<li>CAT<\/li>\n<li>TWEAKVERIFY<\/li>\n<\/ol><\/div>\n<p><br \/>\n<br \/><a href=\"https:\/\/bitcoinmagazine.com\/featured\/bitcoin-covenants-what-are-they-and-what-do-they-do\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Covenant : a usually formal, solemn, and binding agreement.\u00a0 This word has become one of the most charged words in the Bitcoin space. They\u2019re the<\/p>\n","protected":false},"author":1,"featured_media":92325,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[151],"tags":[],"class_list":["post-92324","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-crypto"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/neclink.com\/index.php\/wp-json\/wp\/v2\/posts\/92324","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/neclink.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/neclink.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/neclink.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/neclink.com\/index.php\/wp-json\/wp\/v2\/comments?post=92324"}],"version-history":[{"count":0,"href":"https:\/\/neclink.com\/index.php\/wp-json\/wp\/v2\/posts\/92324\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/neclink.com\/index.php\/wp-json\/wp\/v2\/media\/92325"}],"wp:attachment":[{"href":"https:\/\/neclink.com\/index.php\/wp-json\/wp\/v2\/media?parent=92324"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/neclink.com\/index.php\/wp-json\/wp\/v2\/categories?post=92324"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/neclink.com\/index.php\/wp-json\/wp\/v2\/tags?post=92324"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}