<oembed><type>rich</type><version>1.0</version><author_name>npub1xqcwcttsyk0a64d63crrwsxp88pa42np37rw87hrfn4uku78g2aqltcnns</author_name><author_url>https://nostr.ae/npub1xqcwcttsyk0a64d63crrwsxp88pa42np37rw87hrfn4uku78g2aqltcnns</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2022-02-12&#xA;📝 Original message:&gt; in the case of a multisig/non-consensus based system, exit from that&#xA;restriction is still possible&#xA;&#xA;But why do we care if someone reduces the value of coins they own by&#xA;permanently encumbering them in some way? Burning coins permanently&#xA;encumbers them so much they can&#39;t be spent at all. If the worry is&#xA;depleting the supply of sats, don&#39;t worry, the amount of value lost by&#xA;those encumbered is gained but the rest of the coins. Just like burning,&#xA;encumbering your coins in a way that devalues them is a donation to the&#xA;rest of us.&#xA;&#xA;Could you clarify what harm there is to those who choose not to accept such&#xA;encumbered coins? Or are you just saying that those who do accept such&#xA;encumbered coins may be harmed by doing so?&#xA;&#xA;On Sat, Feb 12, 2022, 06:11 darosior via bitcoin-dev &lt;&#xA;bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&#xA;&gt; Such a construct would present dangerous implications to the fungibility&#xA;&gt; of individual UTXOs by introducing a totally different risk model in being&#xA;&gt; paid with such a coin compared to any other coin not encumbered by such a&#xA;&gt; condition&#xA;&gt;&#xA;&gt;&#xA;&gt; How is that different from being paid in an altcoin?&#xA;&gt; It seems to me that being able to say &#34;sorry, your money isn&#39;t good here&#34;&#xA;&gt; is at the heart of Bitcoin&#39;s security (similarly to enforcing the network&#xA;&gt; rules with your node). If someone can coerce you into using another&#xA;&gt; currency, you&#39;ve already lost.&#xA;&gt;&#xA;&gt; Now there is left the influence on the system of an user being coerced&#xA;&gt; into using gov coin (on another chain) or an encumbered bit coin. Sure the&#xA;&gt; latter would decrease the supply available, but that&#39;s already possible to&#xA;&gt; do today.&#xA;&gt;&#xA;&gt; ------- Original Message -------&#xA;&gt; Le vendredi 11 février 2022 à 7:12 PM, digital vagabond via bitcoin-dev &lt;&#xA;&gt; bitcoin-dev at lists.linuxfoundation.org&gt; a écrit :&#xA;&gt;&#xA;&gt; This is Shinobi (can verify out of band at @brian_trollz on Twitter, I&#xA;&gt; only signed up to the list with this email to read initially, but feel like&#xA;&gt; I should reply to this as I think I am one of the only people in this space&#xA;&gt; who has voiced concerns with recursive covenants).&#xA;&gt;&#xA;&gt; My concerns don&#39;t really center specifically around recursion itself&#xA;&gt; necessarily, but unbounded recursion in combination with too much&#xA;&gt; generality/flexibility in what types of conditions future UTXOs can be&#xA;&gt; encumbered with based on the restriction of such covenants. Forgive the&#xA;&gt; hand waiving arguments without getting into specific opcodes, but I would&#xA;&gt; summarize my concerns with a hypothetical construct that I believe would be&#xA;&gt; incredibly damaging to fungibility. Imagine a covenant design that was&#xA;&gt; flexible enough to create an encumbrance like this: a script specifies a&#xA;&gt; specific key in a multisig controlled by some authority figure (or a branch&#xA;&gt; in the script that would allow unilateral control by such an authority),&#xA;&gt; and the conditions of the covenant would perpetually require than any spend&#xA;&gt; from the covenant can only be sent to a script involving that key from said&#xA;&gt; authority, preventing by consensus any removal of that central authorities&#xA;&gt; involvement in control over that UTXO. Such a construct would present&#xA;&gt; dangerous implications to the fungibility of individual UTXOs by&#xA;&gt; introducing a totally different risk model in being paid with such a coin&#xA;&gt; compared to any other coin not encumbered by such a condition, and also&#xA;&gt; potentially introduce a shift in the scope of what a 51% attack could&#xA;&gt; accomplish in terms of permanent consequences attempting to coerce coins&#xA;&gt; into such covenants, as opposed to right now only being able to accomplish&#xA;&gt; censorship or temporary network disruption.&#xA;&gt;&#xA;&gt; I know that such a walled garden could easily be constructed now with&#xA;&gt; multisig and restrictions on where coins can be withdrawn to from exchanges&#xA;&gt; or whatever place they initially purchased from, as is demonstrated by the&#xA;&gt; implementation of the Asset Management Platform by Blockstream for use on&#xA;&gt; Liquid with regulated equity tokens, but I think the important distinction&#xA;&gt; between such non-consensus system designed to enforce such restrictions and&#xA;&gt; a recursive covenant to accomplish the same is that in the case of a&#xA;&gt; multisig/non-consensus based system, exit from that restriction is still&#xA;&gt; possible under the consensus rules of the protocol. If such a construct was&#xA;&gt; possible to build with a recursive covenant enforced by consensus, coins&#xA;&gt; encumbered by such a covenant would literally be incapable of escaping&#xA;&gt; those restrictions without hardforking the protocol, leaving any such UTXOs&#xA;&gt; permanently non-fungible with ones not encumbered by such conditions.&#xA;&gt;&#xA;&gt; I&#39;m not that deeply familiar with all the working pieces involved in the&#xA;&gt; recent TXHASH + CSFS proposal, and whether such a type of overly (IMO)&#xA;&gt; generalized recursion would be possible to construct, but one of the&#xA;&gt; reasons CTV does not bother me in terms of such concerns is the inability&#xA;&gt; to infinitely recurse in such a generalized way given the requirements to&#xA;&gt; exactly specify the destination of future spends in constructing a chain of&#xA;&gt; CTV encumbrances. I&#39;d very much appreciate any feedback on my concerns, and&#xA;&gt; if this side tracks the discussion I apologize, but I felt given the issue&#xA;&gt; has been mentioned a few times in this thread it was appropriate for me to&#xA;&gt; voice the concerns here so they could be addressed directly.&#xA;&gt;&#xA;&gt; On Fri, Feb 11, 2022 at 11:42 AM James O&#39;Beirne via bitcoin-dev &lt;&#xA;&gt; bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&gt;&#xA;&gt;&gt; I don&#39;t oppose recursive covenants per se, but in prior posts I have&#xA;&gt;&gt; expressed uncertainty about proposals that enable more &#34;featureful&#34;&#xA;&gt;&gt; covenants by adding more kinds of computation into bitcoin script.&#xA;&gt;&gt;&#xA;&gt;&gt; Not that anyone here is necessarily saying otherwise, but I am very&#xA;&gt;&gt; interested in limiting operations in bitcoin script to &#34;verification&#34; (vs.&#xA;&gt;&gt; &#34;computation&#34;) to the extent practical, and instead encouraging general&#xA;&gt;&gt; computation be done off-chain. This of course isn&#39;t a new observation and I&#xA;&gt;&gt; think the last few years have been very successful to that effect, e.g. the&#xA;&gt;&gt; popularity of the &#34;scriptless scripts&#34; idea and Taproot&#39;s emphasis on&#xA;&gt;&gt; embedding computational artifacts in key tweaks.&#xA;&gt;&gt;&#xA;&gt;&gt; My (maybe unfounded?) worry about opcodes like OP_CAT and OP_TX is that&#xA;&gt;&gt; more logic will live in script than is necessary, and so the burden to&#xA;&gt;&gt; verify the chain may grow and the extra &#34;degrees of freedom&#34; in script may&#xA;&gt;&gt; make it harder to reason about. But I guess at this point there aren&#39;t&#xA;&gt;&gt; alternative means to construct new kinds of sighashes that are necessary&#xA;&gt;&gt; for some interesting covenants.&#xA;&gt;&gt;&#xA;&gt;&gt; One thing I like about CTV is that it buys a lot of functionality without&#xA;&gt;&gt; increasing the &#34;surface area&#34; of script&#39;s design. In general I think there&#xA;&gt;&gt; is a lot to be said for this &#34;jets&#34;-style approach[0] of codifying the&#xA;&gt;&gt; script operations that you&#39;d actually want to do into single opcodes. This&#xA;&gt;&gt; adds functionality while introducing minimal surface area to script, giving&#xA;&gt;&gt; script implementers more flexibility for, say, optimization. But of course&#xA;&gt;&gt; this comes at the cost of precluding experimentation, and probably&#xA;&gt;&gt; requiring more soft-forking. Though whether the place for script&#xA;&gt;&gt; experimentation using more general-purpose opcodes on the main chain is&#xA;&gt;&gt; another interesting debate...&#xA;&gt;&gt;&#xA;&gt;&gt; Sorry for going a little off-topic there.&#xA;&gt;&gt;&#xA;&gt;&gt; [0]: https://medium.com/blockstream/simplicity-jets-release-803db10fd589&#xA;&gt;&gt;&#xA;&gt;&gt;&#xA;&gt;&gt; On Thu, Feb 10, 2022 at 7:55 PM David A. Harding via bitcoin-dev &lt;&#xA;&gt;&gt; bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&gt;&gt;&#xA;&gt;&gt;&gt; On Mon, Feb 07, 2022 at 08:34:30PM -0800, Jeremy Rubin via bitcoin-dev&#xA;&gt;&gt;&gt; wrote:&#xA;&gt;&gt;&gt; &gt; Whether [recursive covenants] is an issue or not precluding this sort&#xA;&gt;&gt;&gt; &gt; of design or not, I defer to others.&#xA;&gt;&gt;&gt;&#xA;&gt;&gt;&gt; For reference, I believe the last time the merits of allowing recursive&#xA;&gt;&gt;&gt; covenants was discussed at length on this list[1], not a single person&#xA;&gt;&gt;&gt; replied to say that they were opposed to the idea.&#xA;&gt;&gt;&gt;&#xA;&gt;&gt;&gt; I would like to suggest that anyone opposed to recursive covenants speak&#xA;&gt;&gt;&gt; for themselves (if any intelligent such people exist). Citing the risk&#xA;&gt;&gt;&gt; of recursive covenants without presenting a credible argument for the&#xA;&gt;&gt;&gt; source of that risk feels to me like (at best) stop energy[2] and (at&#xA;&gt;&gt;&gt; worst) FUD.&#xA;&gt;&gt;&gt;&#xA;&gt;&gt;&gt; -Dave&#xA;&gt;&gt;&gt;&#xA;&gt;&gt;&gt; [1]&#xA;&gt;&gt;&gt; https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-July/019203.html&#xA;&gt;&gt;&gt; [2]&#xA;&gt;&gt;&gt; http://radio-weblogs.com/0107584/stories/2002/05/05/stopEnergyByDaveWiner.html&#xA;&gt;&gt;&gt; (thanks to AJ who told me about stop energy one time when I was&#xA;&gt;&gt;&gt; producing it)&#xA;&gt;&gt;&gt;&#xA;&gt;&gt;&gt; _______________________________________________&#xA;&gt;&gt;&gt; bitcoin-dev mailing list&#xA;&gt;&gt;&gt; bitcoin-dev at lists.linuxfoundation.org&#xA;&gt;&gt;&gt; https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#xA;&gt;&gt;&gt;&#xA;&gt;&gt; _______________________________________________&#xA;&gt;&gt; bitcoin-dev mailing list&#xA;&gt;&gt; bitcoin-dev at lists.linuxfoundation.org&#xA;&gt;&gt; https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#xA;&gt;&gt;&#xA;&gt;&#xA;&gt; _______________________________________________&#xA;&gt; bitcoin-dev mailing list&#xA;&gt; bitcoin-dev at lists.linuxfoundation.org&#xA;&gt; https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#xA;&gt;&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220212/582bc544/attachment-0001.html&gt;</html></oembed>