<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2023-06-07T01:23:15Z</updated>
  <generator>https://njump.me</generator>

  <title>Nostr notes by Nadav Ivgi [ARCHIVE]</title>
  <author>
    <name>Nadav Ivgi [ARCHIVE]</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://njump.me/npub1f2w9pm06c4k9ay8rst7757thahg2tfrtd0n645zxrtsqwhvaysrswydpll.rss" />
  <link href="https://njump.me/npub1f2w9pm06c4k9ay8rst7757thahg2tfrtd0n645zxrtsqwhvaysrswydpll" />
  <id>https://njump.me/npub1f2w9pm06c4k9ay8rst7757thahg2tfrtd0n645zxrtsqwhvaysrswydpll</id>
  <icon></icon>
  <logo></logo>




  <entry>
    <id>https://njump.me/nevent1qqsxv5q0s3e23q04tyv9klutna2mu75ykxd256gd0gkuvtwzzg372jczyp9fc58dltzkch5suwp0m6newlkapfdydd4702ksgcdwqp6an5jqwydymtv</id>
    
      <title type="html">📅 Original date posted:2022-04-29 📝 Original ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsxv5q0s3e23q04tyv9klutna2mu75ykxd256gd0gkuvtwzzg372jczyp9fc58dltzkch5suwp0m6newlkapfdydd4702ksgcdwqp6an5jqwydymtv" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspvyqm7kugr8q47qc3yn022p3yjhk7s5l880hpuskcqqxpx4np4wgu6jr5n&#39;&gt;nevent1q…jr5n&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-04-29&lt;br/&gt;📝 Original message:Here&amp;#39;s a summary of the trade-offs I see for using APO as a CTV alternative:&lt;br/&gt;&lt;br/&gt;1. The resulting txids are not stable.&lt;br/&gt;&lt;br/&gt;CTV commits to enough tx information such that given the txid:vout of the&lt;br/&gt;covenant-encumbered output, you can predict the txid of the spending tx&lt;br/&gt;permitted by CTV (and of the entire transaction graph descending from it).&lt;br/&gt;&lt;br/&gt;This property could be important for some of the proposed CTV use-cases,&lt;br/&gt;like channel factories.&lt;br/&gt;&lt;br/&gt;2. APO will only be available on Taproot, which some people might prefer to&lt;br/&gt;avoid for long-term multi-decade vault storage due to QC concerns. (also&lt;br/&gt;see my previous post on this thread [0])&lt;br/&gt;&lt;br/&gt;3. Higher witness satisfaction cost of roughly 3x vbytes vs CTV-in-Taproot&lt;br/&gt;(plus 33 extra vbytes vs CTV-in-segwitv0 *in the case of a single CTV&lt;br/&gt;branch*, for the taproot control block. with more branches CTV-in-taproot&lt;br/&gt;eventually becomes preferable).&lt;br/&gt;&lt;br/&gt;4. Higher network-wide full-node validation costs (checking a signature is&lt;br/&gt;quite more expensive than hashing, and the hashing is done in both cases).&lt;br/&gt;&lt;br/&gt;5. As APO is currently spec&amp;#39;d, it would suffer from the half-spend problem:&lt;br/&gt;if you have multiple outputs encumbered under an APO covenant that requires&lt;br/&gt;the same tx sigmsg hash, it becomes possible to spend all of them together&lt;br/&gt;as multiple inputs in a single transaction and burn the extra to mining&lt;br/&gt;fees.&lt;br/&gt;&lt;br/&gt;If I&amp;#39;m not mistaken, I believe this makes the simple-apo-vault&lt;br/&gt;implementation [1] vulnerable to spending multiple vaulted outputs of the&lt;br/&gt;same denomination together and burning all but the first one. I asked the&lt;br/&gt;author for a more definitive answer on twitter [2].&lt;br/&gt;&lt;br/&gt;Fixing this requires amending BIP 118 with some new sigmsg flags (making&lt;br/&gt;the ANYONECANPAY behaviour optional, as mentioned in the OP).&lt;br/&gt;&lt;br/&gt;This is definitely possible but also means that APO as-is isn&amp;#39;t a&lt;br/&gt;CTV-replacement candidate, without first going through some more design and&lt;br/&gt;review iterations.&lt;br/&gt;&lt;br/&gt;shesek&lt;br/&gt;&lt;br/&gt;[0]&lt;br/&gt;&lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-April/020326.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-April/020326.html&lt;/a&gt;&lt;br/&gt;[1] &lt;a href=&#34;https://github.com/darosior/simple-anyprevout-vault&#34;&gt;https://github.com/darosior/simple-anyprevout-vault&lt;/a&gt;&lt;br/&gt;[2] &lt;a href=&#34;https://twitter.com/shesek/status/1519874493434544128&#34;&gt;https://twitter.com/shesek/status/1519874493434544128&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Fri, Apr 22, 2022 at 2:23 PM darosior via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; I would like to know people&amp;#39;s sentiment about doing (a very slightly&lt;br/&gt;&amp;gt; tweaked version of) BIP118 in place of&lt;br/&gt;&amp;gt; (or before doing) BIP119.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; SIGHASH_ANYPREVOUT and its precedent iterations have been discussed for&lt;br/&gt;&amp;gt; over 6 years. It presents proven and&lt;br/&gt;&amp;gt; implemented usecases, that are demanded and (please someone correct me if&lt;br/&gt;&amp;gt; i&amp;#39;m wrong) more widely accepted than&lt;br/&gt;&amp;gt; CTV&amp;#39;s.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; SIGHASH_ANYPREVOUTANYSCRIPT, if its &amp;#34;ANYONECANPAY&amp;#34; behaviour is made&lt;br/&gt;&amp;gt; optional [0], can emulate CTV just fine.&lt;br/&gt;&amp;gt; Sure then you can&amp;#39;t have bare or Segwit v0 CTV, and it&amp;#39;s a bit more&lt;br/&gt;&amp;gt; expensive to use. But we can consider CTV&lt;br/&gt;&amp;gt; an optimization of APO-AS covenants.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; CTV advocates have been presenting vaults as the flagship usecase.&lt;br/&gt;&amp;gt; Although as someone who&amp;#39;ve been trying to&lt;br/&gt;&amp;gt; implement practical vaults for the past 2 years i doubt CTV is necessary&lt;br/&gt;&amp;gt; nor sufficient for this (but still&lt;br/&gt;&amp;gt; useful!), using APO-AS covers it. And it&amp;#39;s not a couple dozen more virtual&lt;br/&gt;&amp;gt; bytes that are going to matter for&lt;br/&gt;&amp;gt; a potential vault user.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If after some time all of us who are currently dubious about CTV&amp;#39;s stated&lt;br/&gt;&amp;gt; usecases are proven wrong by onchain&lt;br/&gt;&amp;gt; usage of a less efficient construction to achieve the same goal, we could&lt;br/&gt;&amp;gt; roll-out CTV as an optimization.  In&lt;br/&gt;&amp;gt; the meantime others will have been able to deploy new applications&lt;br/&gt;&amp;gt; leveraging ANYPREVOUT (Eltoo, blind&lt;br/&gt;&amp;gt; statechains, etc..[1]).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Given the interest in, and demand for, both simple covenants and better&lt;br/&gt;&amp;gt; offchain protocols it seems to me that&lt;br/&gt;&amp;gt; BIP118 is a soft fork candidate that could benefit more (if not most of)&lt;br/&gt;&amp;gt; Bitcoin users.&lt;br/&gt;&amp;gt; Actually i&amp;#39;d also be interested in knowing if people would oppose the&lt;br/&gt;&amp;gt; APO-AS part of BIP118, since it enables&lt;br/&gt;&amp;gt; CTV&amp;#39;s features, for the same reason they&amp;#39;d oppose BIP119.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [0] That is, to not commit to the other inputs of the transaction (via&lt;br/&gt;&amp;gt; `sha_sequences` and maybe also&lt;br/&gt;&amp;gt; `sha_amounts`). Cf&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/bitcoin/bips/blob/master/bip-0118.mediawiki#signature-message&#34;&gt;https://github.com/bitcoin/bips/blob/master/bip-0118.mediawiki#signature-message&lt;/a&gt;&lt;br/&gt;&amp;gt; .&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [1] &lt;a href=&#34;https://anyprevout.xyz/&#34;&gt;https://anyprevout.xyz/&lt;/a&gt; &amp;#34;Use Cases&amp;#34; section&lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220429/08486216/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220429/08486216/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T23:08:03Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsr6av756y540j2dxe5wgrqd5xkssqtk8v4m2s26sq7wkt02ld02dqzyp9fc58dltzkch5suwp0m6newlkapfdydd4702ksgcdwqp6an5jqwpchkjd</id>
    
      <title type="html">📅 Original date posted:2022-04-25 📝 Original ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsr6av756y540j2dxe5wgrqd5xkssqtk8v4m2s26sq7wkt02ld02dqzyp9fc58dltzkch5suwp0m6newlkapfdydd4702ksgcdwqp6an5jqwpchkjd" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0l26er23q208aa76klzqzq7m5m2pgmapz0z5mnqpqsaznyc2ml0sxslv38&#39;&gt;nevent1q…lv38&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-04-25&lt;br/&gt;📝 Original message:darosior via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; i doubt CTV is necessary nor sufficient for this&lt;br/&gt;&lt;br/&gt;I would be interested to hear more on this.&lt;br/&gt;&lt;br/&gt;Is it not necessary because you can exchange and store pre-signed&lt;br/&gt;transactions instead?&lt;br/&gt;&lt;br/&gt;What purpose is it not sufficient for? There are some vault designs out&lt;br/&gt;there that are able to achieve interesting properties with CTV, like James&lt;br/&gt;O&amp;#39;Beirne&amp;#39;s simple-ctv-vault:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://github.com/jamesob/simple-ctv-vault&#34;&gt;https://github.com/jamesob/simple-ctv-vault&lt;/a&gt;&lt;br/&gt;(the basic design expressed in Minsc:&lt;br/&gt;&lt;a href=&#34;https://min.sc/nextc/#gist=001cf1fcb0e24ca9f3614c4db9bfe57d:4&#34;&gt;https://min.sc/nextc/#gist=001cf1fcb0e24ca9f3614c4db9bfe57d:4&lt;/a&gt;)&lt;br/&gt;&lt;br/&gt;On Fri, Apr 22, 2022 at 2:23 PM darosior via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; I would like to know people&amp;#39;s sentiment about doing (a very slightly&lt;br/&gt;&amp;gt; tweaked version of) BIP118 in place of&lt;br/&gt;&amp;gt; (or before doing) BIP119.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; SIGHASH_ANYPREVOUT and its precedent iterations have been discussed for&lt;br/&gt;&amp;gt; over 6 years. It presents proven and&lt;br/&gt;&amp;gt; implemented usecases, that are demanded and (please someone correct me if&lt;br/&gt;&amp;gt; i&amp;#39;m wrong) more widely accepted than&lt;br/&gt;&amp;gt; CTV&amp;#39;s.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; SIGHASH_ANYPREVOUTANYSCRIPT, if its &amp;#34;ANYONECANPAY&amp;#34; behaviour is made&lt;br/&gt;&amp;gt; optional [0], can emulate CTV just fine.&lt;br/&gt;&amp;gt; Sure then you can&amp;#39;t have bare or Segwit v0 CTV, and it&amp;#39;s a bit more&lt;br/&gt;&amp;gt; expensive to use. But we can consider CTV&lt;br/&gt;&amp;gt; an optimization of APO-AS covenants.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; CTV advocates have been presenting vaults as the flagship usecase.&lt;br/&gt;&amp;gt; Although as someone who&amp;#39;ve been trying to&lt;br/&gt;&amp;gt; implement practical vaults for the past 2 years i doubt CTV is necessary&lt;br/&gt;&amp;gt; nor sufficient for this (but still&lt;br/&gt;&amp;gt; useful!), using APO-AS covers it. And it&amp;#39;s not a couple dozen more virtual&lt;br/&gt;&amp;gt; bytes that are going to matter for&lt;br/&gt;&amp;gt; a potential vault user.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If after some time all of us who are currently dubious about CTV&amp;#39;s stated&lt;br/&gt;&amp;gt; usecases are proven wrong by onchain&lt;br/&gt;&amp;gt; usage of a less efficient construction to achieve the same goal, we could&lt;br/&gt;&amp;gt; roll-out CTV as an optimization.  In&lt;br/&gt;&amp;gt; the meantime others will have been able to deploy new applications&lt;br/&gt;&amp;gt; leveraging ANYPREVOUT (Eltoo, blind&lt;br/&gt;&amp;gt; statechains, etc..[1]).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Given the interest in, and demand for, both simple covenants and better&lt;br/&gt;&amp;gt; offchain protocols it seems to me that&lt;br/&gt;&amp;gt; BIP118 is a soft fork candidate that could benefit more (if not most of)&lt;br/&gt;&amp;gt; Bitcoin users.&lt;br/&gt;&amp;gt; Actually i&amp;#39;d also be interested in knowing if people would oppose the&lt;br/&gt;&amp;gt; APO-AS part of BIP118, since it enables&lt;br/&gt;&amp;gt; CTV&amp;#39;s features, for the same reason they&amp;#39;d oppose BIP119.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [0] That is, to not commit to the other inputs of the transaction (via&lt;br/&gt;&amp;gt; `sha_sequences` and maybe also&lt;br/&gt;&amp;gt; `sha_amounts`). Cf&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/bitcoin/bips/blob/master/bip-0118.mediawiki#signature-message&#34;&gt;https://github.com/bitcoin/bips/blob/master/bip-0118.mediawiki#signature-message&lt;/a&gt;&lt;br/&gt;&amp;gt; .&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [1] &lt;a href=&#34;https://anyprevout.xyz/&#34;&gt;https://anyprevout.xyz/&lt;/a&gt; &amp;#34;Use Cases&amp;#34; section&lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220425/cd6fa22e/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220425/cd6fa22e/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T23:08:02Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs0c4957ae96aklvs6yvzr2cfks8lpjvmcnnw9nf8gdayaj9c5yvfszyp9fc58dltzkch5suwp0m6newlkapfdydd4702ksgcdwqp6an5jqww958dp</id>
    
      <title type="html">📅 Original date posted:2022-04-25 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs0c4957ae96aklvs6yvzr2cfks8lpjvmcnnw9nf8gdayaj9c5yvfszyp9fc58dltzkch5suwp0m6newlkapfdydd4702ksgcdwqp6an5jqww958dp" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2s5h0f3hswlwm50wwrglaa283z2x9le2f4j86n7jevslphee4v5gcef2ym&#39;&gt;nevent1q…f2ym&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-04-25&lt;br/&gt;📝 Original message:On Mon, Apr 25, 2022 at 1:36 PM Billy Tetrud via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; If you unvault an output to your hot wallet, the thief could be lying in&lt;br/&gt;wait, ready to steal those funds upon them landing.&lt;br/&gt;&lt;br/&gt;One way to mitigate some of the risk is to split up your UTXOs so that your&lt;br/&gt;hot wallet exposure is limited.&lt;br/&gt;&lt;br/&gt;&amp;gt; However, if you compare it against a multisig wallet (eg 2 of 3), you can&lt;br/&gt;see that while theft of a single key would never result in any theft in&lt;br/&gt;that setup, it could in a CTV vault.&lt;br/&gt;&lt;br/&gt;These are two orthogonal things though. You can have a CTV vault where the&lt;br/&gt;hot key signer is a multisig to get the advantages of both. In this case&lt;br/&gt;the addition of a CTV-based unvaulting procedure is an improvement compared&lt;br/&gt;to not using it.&lt;br/&gt;&lt;br/&gt;shesek&lt;br/&gt;&lt;br/&gt;On Mon, Apr 25, 2022 at 1:36 PM Billy Tetrud via bitcoin-dev &amp;lt;&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; @Matt&lt;br/&gt;&amp;gt; &amp;gt;  both of which are somewhat frustrating limitations, but not security&lt;br/&gt;&amp;gt; limitations, only practical ones.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; So I think the first limitation you mentioned (that if your hot wallet&amp;#39;s&lt;br/&gt;&amp;gt; key gets stolen you need) can be legitimately considered a security&lt;br/&gt;&amp;gt; limitation. Not because you need to rotate your keys, but because you might&lt;br/&gt;&amp;gt; *not know* your hot wallet key has been stolen. If you unvault an output to&lt;br/&gt;&amp;gt; your hot wallet, the thief could be lying in wait, ready to steal those&lt;br/&gt;&amp;gt; funds upon them landing. At that point, you would then know your hot wallet&lt;br/&gt;&amp;gt; key was compromised and could rotate your vault keys in order to prevent&lt;br/&gt;&amp;gt; further theft. However, the fact that there is a clear theft vulnerability&lt;br/&gt;&amp;gt; is something I would say should be considered a &amp;#34;security limitation&amp;#34;.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; As you mentioned, this is of course also a security limitation of a hot&lt;br/&gt;&amp;gt; wallet, so this setup definitely has a lot of advantages over a simple hot&lt;br/&gt;&amp;gt; wallet. However, if you compare it against a multisig wallet (eg 2 of 3),&lt;br/&gt;&amp;gt; you can see that while theft of a single key would never result in any&lt;br/&gt;&amp;gt; theft in that setup, it could in a CTV vault. The other trade offs there&lt;br/&gt;&amp;gt; are ones of practicality and convenience.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This isn&amp;#39;t to say a CTV vault wouldn&amp;#39;t be useful. Just that it has&lt;br/&gt;&amp;gt; significant trade offs.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; @Russel&lt;br/&gt;&amp;gt; &amp;gt; the original MES vault .. commits to the destination address during&lt;br/&gt;&amp;gt; unvaulting&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I see. Looking at the MES16 paper, OP_COV isn&amp;#39;t described clearly enough&lt;br/&gt;&amp;gt; for me to understand that it does that. However, I can imagine how it&lt;br/&gt;&amp;gt; *might* do that.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; One possibility is that the intended destination is predetermined and&lt;br/&gt;&amp;gt; hardcoded. This wouldn&amp;#39;t be very useful, and also wouldn&amp;#39;t be different&lt;br/&gt;&amp;gt; than how CTV could do it, so I assume that isn&amp;#39;t what you envisioned this&lt;br/&gt;&amp;gt; doing.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I can imagine instead that the definition of the pattern could be&lt;br/&gt;&amp;gt; specified as a number indicating the number of stack items in the pattern,&lt;br/&gt;&amp;gt; followed by that number of stack items. If that&amp;#39;s how it is done, I can see&lt;br/&gt;&amp;gt; the user inputting an intended destination script (corresponding to the&lt;br/&gt;&amp;gt; intended destination address) which would then be somehow rotated in to the&lt;br/&gt;&amp;gt; right spot within the pattern, allowing the pattern to specify the coins&lt;br/&gt;&amp;gt; eventually reaching an address with that script. However, this could be&lt;br/&gt;&amp;gt; quite cumbersome, and would require fully specifying the scripts along the&lt;br/&gt;&amp;gt; covenant pathways leading to a fair amount of information duplication&lt;br/&gt;&amp;gt; (since scripts must be specified both in the covenant and in spending the&lt;br/&gt;&amp;gt; subsequent output). Both of these things would seem to make OP_COV in&lt;br/&gt;&amp;gt; practice quite an expensive opcode to spend with. It also means that, since&lt;br/&gt;&amp;gt; the transactor must fully specify the script, its not possible to take&lt;br/&gt;&amp;gt; advantage of taproot&amp;#39;s script hiding capabilities (were it to send to a&lt;br/&gt;&amp;gt; taproot address).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; However, my assumptions might be incorrect. If you think OP_COV would be a&lt;br/&gt;&amp;gt; useful opcode, I would encourage you to write up a complete specification.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; What ways can we build a secured vault that commits to the destination&lt;br/&gt;&amp;gt; address?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Some kind of passed-through state allows doing this. With OP_COV (if my&lt;br/&gt;&amp;gt; assumptions above are correct), the intended destination can be passed&lt;br/&gt;&amp;gt; through the output script pattern(s). With my own proposed&lt;br/&gt;&amp;gt; op_pushoutputstack&lt;br/&gt;&amp;gt; &amp;lt;&lt;a href=&#34;https://github.com/fresheneesz/bip-efficient-bitcoin-vaults/blob/main/pos/bip-pushoutputstack.md&amp;gt&#34;&gt;https://github.com/fresheneesz/bip-efficient-bitcoin-vaults/blob/main/pos/bip-pushoutputstack.md&amp;gt&lt;/a&gt;;,&lt;br/&gt;&amp;gt; state is passed as an attachment on the output more directly. Curious what&lt;br/&gt;&amp;gt; you think about that proposal.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Are there elegant ways of building secure vaults by using CTV plus&lt;br/&gt;&amp;gt; something else.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Since CTV predefines all the transactions that can happen under its&lt;br/&gt;&amp;gt; control, passed state like this can&amp;#39;t help because any dynamic state would&lt;br/&gt;&amp;gt; change the template and render the CTV transaction invalid. I don&amp;#39;t see any&lt;br/&gt;&amp;gt; way of solving this problem for CTV.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;m curious how you think op_cat could enable this with CTV (other than&lt;br/&gt;&amp;gt; the cat&#43;schnorr tricks that don&amp;#39;t require CTV at all).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Sat, Apr 23, 2022 at 2:31 PM Russell O&amp;#39;Connor via bitcoin-dev &amp;lt;&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Okay, Matt explained to me the intended application of CTV vaults off&lt;br/&gt;&amp;gt;&amp;gt; list, so I have a better understanding now.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; The CTV vault scheme is designed as an improvement over the traditional&lt;br/&gt;&amp;gt;&amp;gt; management of hot-wallets and cold-wallets.  The CTV vault is logically on&lt;br/&gt;&amp;gt;&amp;gt; the &amp;#34;cold-side&amp;#34; and lets funds be sent from the &amp;#34;cold&amp;#34; side to *one&amp;#39;s own*&lt;br/&gt;&amp;gt;&amp;gt; the hot wallet after the unvaulting delay.  In this case, the hot wallet&lt;br/&gt;&amp;gt;&amp;gt; funds are always at risk, so it isn&amp;#39;t unexpected that those funds could be&lt;br/&gt;&amp;gt;&amp;gt; stolen.  After all, that is how hot wallets are today.  The advantage is&lt;br/&gt;&amp;gt;&amp;gt; that funds can be moved from the &amp;#34;cold&amp;#34; side without needing to dig out the&lt;br/&gt;&amp;gt;&amp;gt; cold keys.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; The MES vault scheme applies to a different scenario.  In the MES case it&lt;br/&gt;&amp;gt;&amp;gt; is the hot funds are inside the vault, and it is the hot key that unvaults&lt;br/&gt;&amp;gt;&amp;gt; the funds and sends them to *customer&amp;#39;s addresses* after a delay.  If the&lt;br/&gt;&amp;gt;&amp;gt; hot-key is used in any unauthorised way, then funds can be sent to the&lt;br/&gt;&amp;gt;&amp;gt; address of the cold key (the MES vault actually does something fancy in&lt;br/&gt;&amp;gt;&amp;gt; case of recovery, but it could be adapted to simply send funds to a cold&lt;br/&gt;&amp;gt;&amp;gt; wallet).&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; The MES vault lie somewhere between &amp;#34;better&amp;#34; and &amp;#34;different&amp;#34; when&lt;br/&gt;&amp;gt;&amp;gt; compared to the CTV vault.  If one is unwilling to use the MES vault on the&lt;br/&gt;&amp;gt;&amp;gt; hot side and have every withdrawl vetted, then, while you could use the MES&lt;br/&gt;&amp;gt;&amp;gt; design on the cold side like the CTV vault, it wouldn&amp;#39;t really offer you&lt;br/&gt;&amp;gt;&amp;gt; any advantages over a CTV vault.  However, if you are interested in&lt;br/&gt;&amp;gt;&amp;gt; managing all your payments through a vault (as I&amp;#39;ve been imagining) then&lt;br/&gt;&amp;gt;&amp;gt; the CTV vault comes across as ineffective when compared to an MES style&lt;br/&gt;&amp;gt;&amp;gt; vault.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; On Sat, Apr 23, 2022 at 2:24 PM Matt Corallo &amp;lt;lf-lists at mattcorallo.com&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Still trying to make sure I understand this concern, let me know if I&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; get this all wrong.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; On 4/22/22 10:25 AM, Russell O&amp;#39;Connor via bitcoin-dev wrote:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; It&amp;#39;s not the attackers *only choice to succeed*.  If an attacker&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; steals the hot key, then they have&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; the option to simply wait for the user to unvault their funds of their&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; own accord and then race /&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; outspend the users transaction with their own.  Indeed, this is what&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; we expect would happen in the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; dark forest.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Right, a key security assumption of the CTV-based vaults would be that&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; you MUST NOT EVER withdraw&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; more in one go than your hot wallet risk tolerance, but given that your&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; attack isn&amp;#39;t any worse than&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; simply stealing the hot wallet key immediately after a withdraw.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; It does have the drawback that if you ever get a hot wallet key stole&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; you have to rotate all of your&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; CTV outputs and your CTV outputs must never be any larger than your hot&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; wallet risk tolerance&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; amount, both of which are somewhat frustrating limitations, but not&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; security limitations, only&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; practical ones.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; And that&amp;#39;s not even mentioning the issues already noted by the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; document regarding fee management,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; which would likely also benefit from a less constrained design for&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; covenants.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Of course I&amp;#39;ve always been in favor of a less constrained covenants&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; design from day one for ten&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; reasons, but that&amp;#39;s a whole other rabbit hole :)&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220425/4fb056eb/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220425/4fb056eb/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T23:07:46Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs0nc2cxydup2hqq39aq5hkuh33spud949k7wu5q9dvsz94pvurmrczyp9fc58dltzkch5suwp0m6newlkapfdydd4702ksgcdwqp6an5jqwn5myfg</id>
    
      <title type="html">📅 Original date posted:2020-06-25 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs0nc2cxydup2hqq39aq5hkuh33spud949k7wu5q9dvsz94pvurmrczyp9fc58dltzkch5suwp0m6newlkapfdydd4702ksgcdwqp6an5jqwn5myfg" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgwhp67fpv7pa6p3qwpssfmtz9f46vhy2nrm0evn8grlghepd3ggsxmwc0e&#39;&gt;nevent1q…wc0e&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2020-06-25&lt;br/&gt;📝 Original message:Hi ZmnSCPxj,&lt;br/&gt;&lt;br/&gt;You are of course correct. I had considered the effect of reorgs, but the&lt;br/&gt;email seemed to be getting too lengthy to mention that too.&lt;br/&gt;&lt;br/&gt;You would need a few spare blocks in which Bob won&amp;#39;t be accused of bribery&lt;br/&gt;as a safety margin, which does reduce the time frame in which Alice can get&lt;br/&gt;her transaction confirmed in order to have a valid bribery fraud. This&lt;br/&gt;seems workable if the time frame was long enough (over a few hours should&lt;br/&gt;be sufficient, assuming we consider reorgs of over 3-4 blocks to be&lt;br/&gt;unlikely), but could indeed be problematic if the time frame is already&lt;br/&gt;short to begin with.&lt;br/&gt;&lt;br/&gt;Nadav&lt;br/&gt;&lt;br/&gt;On Thu, Jun 25, 2020 at 7:04 AM ZmnSCPxj &amp;lt;ZmnSCPxj at protonmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Good morning Nadav,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; I and some number of Lightning devs consider this to be sufficient&lt;br/&gt;&amp;gt; disincentive to Bob not attacking in the first place.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; An additional disincentive could be introduced in the form of bribery&lt;br/&gt;&amp;gt; proofs for failed attempts.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; If we assume that &amp;#34;honest&amp;#34; users of the LN protocol won&amp;#39;t reveal their&lt;br/&gt;&amp;gt; timelocked transactions before reaching the timelock expiry (they shouldn&amp;#39;t&lt;br/&gt;&amp;gt; anyway because standard full node implementations won&amp;#39;t relay them), we can&lt;br/&gt;&amp;gt; prove that Bob attempted bribery and failed to an outside observer by&lt;br/&gt;&amp;gt; showing Bob&amp;#39;s signed timelocked transaction, spending an output that was in&lt;br/&gt;&amp;gt; reality spent by a different transaction prior to the locktime expiry,&lt;br/&gt;&amp;gt; which should not be possible if Bob had waited.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Unfortunately this could be subject to an inversion of this attack.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Alice can wait for the timelock to expire, then bribe miners to prevent&lt;br/&gt;&amp;gt; confirmation of the Bob timelocked transaction, getting the Alice&lt;br/&gt;&amp;gt; hashlocked transaction confirmed.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Now of course you do mention &amp;#34;prior to the locktime expiry&amp;#34; but there is&lt;br/&gt;&amp;gt; now risk at around locktime.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Particularly, &amp;#34;natural&amp;#34; orphaned blocks and short-term chainsplits can&lt;br/&gt;&amp;gt; exist.&lt;br/&gt;&amp;gt; Bob might see that the locktime has arrived and broadcast the signed&lt;br/&gt;&amp;gt; timelocked transaction, then Alice sees the locktime has not yet arrived&lt;br/&gt;&amp;gt; (due to short-term chainsplits/propagation delays) and broadcast the signed&lt;br/&gt;&amp;gt; hashlocked transaction, then in the end the Alice side of the short-term&lt;br/&gt;&amp;gt; chainsplit is what solidifies into reality due to random chance on which&lt;br/&gt;&amp;gt; miner wins which block.&lt;br/&gt;&amp;gt; Then Bob can now be accused of bribery, even though it acted innocently;&lt;br/&gt;&amp;gt; it broadcasted the timelock branch due to a natural chainsplit but Alice&lt;br/&gt;&amp;gt; hashlocked branch got confirmed.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Additional complications can be added on top to help mitigate this edge&lt;br/&gt;&amp;gt; case but more complex == worse in general.&lt;br/&gt;&amp;gt; For example it could &amp;#34;prior to locktime expiry&amp;#34; can ignore a few blocks&lt;br/&gt;&amp;gt; before the actual timelock, but this might allow Bob to mount the attack by&lt;br/&gt;&amp;gt; initiating its bribery behavior earlier by those few blocks.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Finally, serious attackers would just use new pseudonyms, the important&lt;br/&gt;&amp;gt; thing is to make pseudonyms valuable and costly to lose, so it is&lt;br/&gt;&amp;gt; considered sufficient that LN nodes need to have some commitment to the LN&lt;br/&gt;&amp;gt; in the form of actual channels (which are valuable, potentially&lt;br/&gt;&amp;gt; money-earning constructs, and costly to set up).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Other HTLC-using systems, such as the &amp;#34;SwapMarket&amp;#34; being proposed by Chris&lt;br/&gt;&amp;gt; Belcher, could use similar disincentivizing; I know Chris is planning a&lt;br/&gt;&amp;gt; fidelity bond system for SwapMarket makers, for example, which would mimic&lt;br/&gt;&amp;gt; the properties of LN channels (costly to set up, money-earning).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt; ZmnSCPxj&lt;br/&gt;&amp;gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20200625/b7933c5a/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20200625/b7933c5a/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:25:39Z</updated>
  </entry>

</feed>