<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated></updated>
  <generator>https://nostr.ae</generator>

  <title>Nostr notes by </title>
  <author>
    <name></name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://nostr.ae/npub1xukrzempxc95ags094lgrfvnvwm7gkuwj3d98qwrzgsynskyhp9qkfzef0.rss" />
  <link href="https://nostr.ae/npub1xukrzempxc95ags094lgrfvnvwm7gkuwj3d98qwrzgsynskyhp9qkfzef0" />
  <id>https://nostr.ae/npub1xukrzempxc95ags094lgrfvnvwm7gkuwj3d98qwrzgsynskyhp9qkfzef0</id>
  <icon></icon>
  <logo></logo>




  <entry>
    <id>https://nostr.ae/nevent1qqsp6w6ut7r5adgqlh6x40nck9fjnnespxhdnckzxgqhs7q3fl4059qzyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy5wvj6qf</id>
    
      <title type="html">📅 Original date posted:2022-02-20 📝 Original message: ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsp6w6ut7r5adgqlh6x40nck9fjnnespxhdnckzxgqhs7q3fl4059qzyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy5wvj6qf" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgdsz54j5emc0cutj0qy4en46syv08f3lsgrcavcpe6evx0n6wqrsa77lae&#39;&gt;nevent1q…7lae&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-02-20&lt;br/&gt;📝 Original message:&lt;br/&gt;Morning!&lt;br/&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; For the latter case, CPFP would work and already exists.&lt;br/&gt;&amp;gt; **Unless** you are doing something complicated and offchain-y and involves&lt;br/&gt;&amp;gt; relative locktimes, of course.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;The &amp;#34;usual&amp;#34; design I recommend for Vaults contains something that is like:&lt;br/&gt;&lt;br/&gt;{&amp;lt;maturity&amp;gt; CSV &amp;lt;pk_hot&amp;gt; CHECKSIG, &amp;lt;pk_cold&amp;gt; CHECKSIG}&lt;br/&gt;or&lt;br/&gt;{&amp;lt;maturity&amp;gt; CSV &amp;lt;pk_hot&amp;gt; CHECKSIG, &amp;lt;H(tx to: &amp;lt;pk_cold&amp;gt; CHECKSIG)&amp;gt; CTV}&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;where after an output is created, it has to hit maturity before hot&lt;br/&gt;spendable but can be kicked to recovery any time before (optional: use CTV&lt;br/&gt;to actually transition on chain removing hot wallet, if cold key is hard to&lt;br/&gt;access).&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Not that this means if you&amp;#39;re waiting for one of these outputs to be&lt;br/&gt;created on chain, you cannot spend from the hot key since it needs to&lt;br/&gt;confirm on chain first. Spending from the cold key for CPFP&amp;#39;ing the hot is&lt;br/&gt;an &amp;#39;invalid move&amp;#39; (emergency key for non emergency sitch)&lt;br/&gt;&lt;br/&gt;Thus in order to CPFP, you would need a separate output just for CPFPing&lt;br/&gt;that is not subject to these restrictions, or some sort of RBF-able addable&lt;br/&gt;input/output. Or, Sponsors.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Jeremy&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/lightning-dev/attachments/20220220/92d8f0e2/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20220220/92d8f0e2/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T15:05:13&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsv5wah3jn4ve6us3v7fqulet9hcdckt0l45svr7zf5kvrlnms5psgzyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy5jqxeeg</id>
    
      <title type="html">📅 Original date posted:2022-02-18 📝 Original message: &amp;gt; ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsv5wah3jn4ve6us3v7fqulet9hcdckt0l45svr7zf5kvrlnms5psgzyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy5jqxeeg" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsfsa59fph0k9uzddzn8ctdmh48q4tjqt2484m5urh0m6su634ayvc9n0pnl&#39;&gt;nevent1q…0pnl&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-02-18&lt;br/&gt;📝 Original message:&lt;br/&gt;&amp;gt; As I said, it&amp;#39;s a new kind of pinning attack, distinct from other types&lt;br/&gt;of pinning attack.&lt;br/&gt;&lt;br/&gt;I think pinning is &amp;#34;formally defined&amp;#34; as sequences of transactions which&lt;br/&gt;prevent or make it less likely for you to make any progress (in terms of&lt;br/&gt;units of computation proceeding).&lt;br/&gt;&lt;br/&gt;Something that only increases possibility to make progress cannot be&lt;br/&gt;pinning.&lt;br/&gt;&lt;br/&gt;If you want to call it something else, with a negative connotation, maybe&lt;br/&gt;call it &amp;#34;necromancing&amp;#34; (bringing back txns that would otherwise be&lt;br/&gt;feerate/fee irrational).&lt;br/&gt;&lt;br/&gt;I would posit that we should be wholly unconcerned with necromancing -- if&lt;br/&gt;your protocol is particularly vulnerable to a third party necromancing then&lt;br/&gt;your protocol is insecure and we shouldn&amp;#39;t hamper Bitcoin&amp;#39;s forward&lt;br/&gt;progress on secure applications to service already insecure ones. Lightning&lt;br/&gt;is particularly necromancy resistant by design, but pinning vulnerable.&lt;br/&gt;This is also true with things like coinjoins which are necromancy resistant&lt;br/&gt;but pinning vulnerable.&lt;br/&gt;&lt;br/&gt;Necromancy in particular is something that isn&amp;#39;t uniquely un-present in&lt;br/&gt;Bitcoin today, and things like package relay and elimination of pinning are&lt;br/&gt;inherently at odds with making necromancy either for CPFP use cases.&lt;br/&gt;&lt;br/&gt;In particular, for the use case you mentioned &amp;#34;Eg a third party could mess&lt;br/&gt;up OpenTimestamps calendars at relatively low cost by delaying the mining&lt;br/&gt;of timestamp txs.&amp;#34;, this is incorrect. A third party can only accelerate&lt;br/&gt;the mining on the timestamp transactions, but they *can* accelerate the&lt;br/&gt;mining of any such timestamp transaction. If you have a single output chain&lt;br/&gt;that you&amp;#39;re RBF&amp;#39;ing per block, then at most they can cause you to shift the&lt;br/&gt;calendar commits forward one block. But again, they cannot pin you. If you&lt;br/&gt;want to shift it back one block earlier, just offer a higher fee for the&lt;br/&gt;later RBF&amp;#39;d calendar. Thus the interference is limited by how much you wish&lt;br/&gt;to pay to guarantee your commitment is in this block as opposed to the next.&lt;br/&gt;&lt;br/&gt;By the way, you can already do out-of-band transaction fees to a very&lt;br/&gt;similar effect, google &amp;#34;BTC transaction accelerator&amp;#34;. If the attack were at&lt;br/&gt;all valuable to perform, it could happen today.&lt;br/&gt;&lt;br/&gt;Lastly, if you do get &amp;#34;necromanced&amp;#34; on an earlier RBF&amp;#39;d transaction by a&lt;br/&gt;third party for OTS, you should be relatively happy because it cost you&lt;br/&gt;less fees overall, since the undoing of your later RBF surely returned some&lt;br/&gt;satoshis to your wallet.&lt;br/&gt;&lt;br/&gt;Best,&lt;br/&gt;&lt;br/&gt;Jeremy&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/lightning-dev/attachments/20220218/83410688/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20220218/83410688/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T15:05:09&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsr28lp0x2ewel3etqc3kj4kxlew66kk7y7ya4a7nkkz40aretjrcszyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy5kwmw7y</id>
    
      <title type="html">📅 Original date posted:2022-02-10 📝 Original message: ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsr28lp0x2ewel3etqc3kj4kxlew66kk7y7ya4a7nkkz40aretjrcszyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy5kwmw7y" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsfqusu9z4dnx2nrp57mm2z72hjt9kaj5qxg3av2yk7kqah0e98nts3436xh&#39;&gt;nevent1q…36xh&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-02-10&lt;br/&gt;📝 Original message:&lt;br/&gt;That&amp;#39;s not really pinning; painning usually refers to pinning something to&lt;br/&gt;the bottom of the mempool whereas these mechanisms make it easier to&lt;br/&gt;guarantee that progress can be made on confirming the transactions you&amp;#39;re&lt;br/&gt;interested in.&lt;br/&gt;&lt;br/&gt;Often times in these protocols &amp;#34;the call is coming inside the house&amp;#34;. It&amp;#39;s&lt;br/&gt;not a third party adding fees we are scared of, it&amp;#39;s a direct party to the&lt;br/&gt;protocol!&lt;br/&gt;&lt;br/&gt;Sponsors or fee accounts would enable you to ensure the protocol you&amp;#39;re&lt;br/&gt;working on makes forward progress. For things like Eltoo the internal&lt;br/&gt;ratchet makes this work well.&lt;br/&gt;&lt;br/&gt;Protocols which depend on in mempool replacements before confirmation&lt;br/&gt;already must be happy (should they be secure) with any prior state being&lt;br/&gt;mined. If a third party pays the fee you might even be happier since the&lt;br/&gt;execution wasn&amp;#39;t on your dime.&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;&lt;br/&gt;Jeremy&lt;br/&gt;&lt;br/&gt;On Wed, Feb 9, 2022, 10:59 PM Peter Todd 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; On Sat, Jan 01, 2022 at 12:04:00PM -0800, Jeremy via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; &amp;gt; Happy new years devs,&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; I figured I would share some thoughts for conceptual review that have&lt;br/&gt;&amp;gt; been&lt;br/&gt;&amp;gt; &amp;gt; bouncing around my head as an opportunity to clean up the fee paying&lt;br/&gt;&amp;gt; &amp;gt; semantics in bitcoin &amp;#34;for good&amp;#34;. The design space is very wide on the&lt;br/&gt;&amp;gt; &amp;gt; approach I&amp;#39;ll share, so below is just a sketch of how it could work which&lt;br/&gt;&amp;gt; &amp;gt; I&amp;#39;m sure could be improved greatly.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Transaction fees are an integral part of bitcoin.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; However, due to quirks of Bitcoin&amp;#39;s transaction design, fees are a part&lt;br/&gt;&amp;gt; of&lt;br/&gt;&amp;gt; &amp;gt; the transactions that they occur in.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; While this works in a &amp;#34;Bitcoin 1.0&amp;#34; world, where all transactions are&lt;br/&gt;&amp;gt; &amp;gt; simple on-chain transfers, real world use of Bitcoin requires support for&lt;br/&gt;&amp;gt; &amp;gt; things like Fee Bumping stuck transactions, DoS resistant Payment&lt;br/&gt;&amp;gt; Channels,&lt;br/&gt;&amp;gt; &amp;gt; and other long lived Smart Contracts that can&amp;#39;t predict future fee rates.&lt;br/&gt;&amp;gt; &amp;gt; Having the fees paid in band makes writing these contracts much more&lt;br/&gt;&amp;gt; &amp;gt; difficult as you can&amp;#39;t merely express the logic you want for the&lt;br/&gt;&amp;gt; &amp;gt; transaction, but also the fees.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Previously, I proposed a special type of transaction called a &amp;#34;Sponsor&amp;#34;&lt;br/&gt;&amp;gt; &amp;gt; which has some special consensus &#43; mempool rules to allow arbitrarily&lt;br/&gt;&amp;gt; &amp;gt; appending fees to a transaction to bump it up in the mempool.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; As an alternative, we could establish an account system in Bitcoin as an&lt;br/&gt;&amp;gt; &amp;gt; &amp;#34;extension block&amp;#34;.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;lt;snip&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; This type of design works really well for channels because the addition&lt;br/&gt;&amp;gt; of&lt;br/&gt;&amp;gt; &amp;gt; fees to e.g. a channel state does not require any sort of pre-planning&lt;br/&gt;&amp;gt; &amp;gt; (e.g. anchors) or transaction flexibility (SIGHASH flags). This sort of&lt;br/&gt;&amp;gt; &amp;gt; design is naturally immune to pinning issues since you could offer to&lt;br/&gt;&amp;gt; pay a&lt;br/&gt;&amp;gt; &amp;gt; fee for any TXID and the number of fee adding offers does not need to be&lt;br/&gt;&amp;gt; &amp;gt; restricted in the same way the descendant transactions would need to be.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; So it&amp;#39;s important to recognize that fee accounts introduce their own kind&lt;br/&gt;&amp;gt; of&lt;br/&gt;&amp;gt; transaction pinning attacks: third parties would be able to attach&lt;br/&gt;&amp;gt; arbitrary&lt;br/&gt;&amp;gt; fees to any transaction without permission. This isn&amp;#39;t necessarily a good&lt;br/&gt;&amp;gt; thing: I don&amp;#39;t want third parties to be able to grief my transaction&lt;br/&gt;&amp;gt; engines by&lt;br/&gt;&amp;gt; getting obsolete transactions confirmed in liu of the replacments I&lt;br/&gt;&amp;gt; actually&lt;br/&gt;&amp;gt; want confirmed. Eg a third party could mess up OpenTimestamps calendars at&lt;br/&gt;&amp;gt; relatively low cost by delaying the mining of timestamp txs.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Of course, there&amp;#39;s an obvious way to fix this: allow transactions to&lt;br/&gt;&amp;gt; designate&lt;br/&gt;&amp;gt; a pubkey allowed to add further transaction fees if required. Which Bitcoin&lt;br/&gt;&amp;gt; already has in two forms: Replace-by-Fee and Child Pays for Parent.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://petertodd.org&#34;&gt;https://petertodd.org&lt;/a&gt; &amp;#39;peter&amp;#39;[:-1]@petertodd.org&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/lightning-dev/attachments/20220210/bfed4525/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20220210/bfed4525/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T15:05:08&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsfv3erdyppt7868w6r8pfrmfqw6vrgsmc37z8zs656wcmhsaxnntqzyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy5mpg6cx</id>
    
      <title type="html">📅 Original date posted:2022-10-17 📝 Original ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsfv3erdyppt7868w6r8pfrmfqw6vrgsmc37z8zs656wcmhsaxnntqzyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy5mpg6cx" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrxexvcxemg2xj8mx372sjpmg6n960ehzt6gcdwfxsdyuwntr4tcs453f48&#39;&gt;nevent1q…3f48&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-10-17&lt;br/&gt;📝 Original message:Building on the most work chain is perhaps not rational in many normal&lt;br/&gt;circumstances that can come up today under the stated reference strategy:&lt;br/&gt;&lt;br/&gt;1) Take highest paying transactions that fit&lt;br/&gt;2) Mine on tips&lt;br/&gt;&lt;br/&gt;E.g., suppose:&lt;br/&gt;&lt;br/&gt;Block N: Fees = 10, reward = 1&lt;br/&gt;&lt;br/&gt;Mempool: Fees = 2&lt;br/&gt;&lt;br/&gt;Mining block N&#43;1 with the mempool leads to reward 2&#43;1 = 3, reorging leads&lt;br/&gt;to reward of up to 10 &#43; 1 &#43; c, (c &amp;lt; 2, where c is the extra transactions&lt;br/&gt;that fit). Assume instead your reward is 8, leaving 3&#43;c on the table.&lt;br/&gt;&lt;br/&gt;If you assume all other miners are tip miners, and there are two&lt;br/&gt;conflicting tips, they should pick the one with the more profit for them,&lt;br/&gt;which is the new one you made as a non-tip miner since you &amp;#34;shared&amp;#34; some&lt;br/&gt;fee.&lt;br/&gt;&lt;br/&gt;You aren&amp;#39;t particularly more likely to remine block N or N&#43;1, before&lt;br/&gt;someone builds on it, as opposed to deeper reorgs (which require larger&lt;br/&gt;incentive).&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;However, as many have pointed out, perhaps not following the simple &amp;#34;honest&lt;br/&gt;tip mining&amp;#34; strategy is bad for bitcoin, so maybe we should expect it not&lt;br/&gt;to happen often? Or other strategies to emerge around selecting&lt;br/&gt;transactions so that the next M blocks have a similar fee profile, as&lt;br/&gt;opposed to picking greedily for the next block.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;@JeremyRubin &amp;lt;&lt;a href=&#34;https://twitter.com/JeremyRubin&amp;gt&#34;&gt;https://twitter.com/JeremyRubin&amp;gt&lt;/a&gt;;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Sun, Oct 16, 2022 at 3:03 PM &amp;lt;email at yancy.lol&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; The proof-of-work also solves the problem of determining&lt;br/&gt;&amp;gt; representation in majority decision&lt;br/&gt;&amp;gt; making. If the majority were based on one-IP-address-one-vote, it&lt;br/&gt;&amp;gt; could be subverted by anyone&lt;br/&gt;&amp;gt; able to allocate many IPs. Proof-of-work is essentially&lt;br/&gt;&amp;gt; one-CPU-one-vote. The majority&lt;br/&gt;&amp;gt; decision is represented by the longest chain, which has the greatest&lt;br/&gt;&amp;gt; proof-of-work effort invested&lt;br/&gt;&amp;gt; in it. If a majority of CPU power is controlled by honest nodes, the&lt;br/&gt;&amp;gt; honest chain will grow the&lt;br/&gt;&amp;gt; fastest and outpace any competing chains. To modify a past block, an&lt;br/&gt;&amp;gt; attacker would have to&lt;br/&gt;&amp;gt; redo the proof-of-work of the block and all blocks after it and then&lt;br/&gt;&amp;gt; catch up with and surpass the&lt;br/&gt;&amp;gt; work of the honest nodes. We will show later that the probability of a&lt;br/&gt;&amp;gt; slower attacker catching up&lt;br/&gt;&amp;gt; diminishes exponentially as subsequent blocks are added.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It&amp;#39;s interesting that Nash Equilibrium isn&amp;#39;t mentioned here.  Since each&lt;br/&gt;&amp;gt; miner has the option to either contribute to the longest chain or not, even&lt;br/&gt;&amp;gt; if the miners know what strategy the other miners will use, they still&lt;br/&gt;&amp;gt; wouldn&amp;#39;t change their decision to contribute to the majority.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; For example, if I run a shop that takes rain checks, but I sell an&lt;br/&gt;&amp;gt; item to a higher bidder who didn&amp;#39;t have a hold on the item, that is&lt;br/&gt;&amp;gt; not honest, but it may be selfish profit maximizing.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It would be honest if the store policy said ahead of time they are allowed&lt;br/&gt;&amp;gt; to sell rain checks for more in such an occurrence.  Although this is a&lt;br/&gt;&amp;gt; good example of the difference between honest and rational.  I think this&lt;br/&gt;&amp;gt; means it&amp;#39;s not a Nash Equilibrium if we needed to rely on the store owner&lt;br/&gt;&amp;gt; to be honest.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Satoshi said an honest majority is required for the chain to be&lt;br/&gt;&amp;gt; extended. Honest is not really defined though. Honesty, in my&lt;br/&gt;&amp;gt; definition, is that you follow a pre specified rule, rational or not.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; My take is that &amp;#34;rational&amp;#34; is probably a better word than honest.  In&lt;br/&gt;&amp;gt; terms of a Nash Equilibrium, each participant is simply trying to maximize&lt;br/&gt;&amp;gt; their outcome and honesty doesn&amp;#39;t matter (only that participants are&lt;br/&gt;&amp;gt; rational).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It seems a lot of the RBF controversy is that Protocol developers have&lt;br/&gt;&amp;gt; aspired to make the honest behavior also be the rational behavior.&lt;br/&gt;&amp;gt; This is maybe a good idea because, in theory, if the honest behavior&lt;br/&gt;&amp;gt; is rational then we can make a weaker assumption of selfishness&lt;br/&gt;&amp;gt; maximizing a parameter.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;m curious, can RBF can be described by a Nash Equilibrium?  If yes, then&lt;br/&gt;&amp;gt; it also shouldn&amp;#39;t matter if participants are honest?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Overall, it might be nice to more tightly document what bitcoins&lt;br/&gt;&amp;gt; assumptions are in practice and what those assumptions do in terms of&lt;br/&gt;&amp;gt; properties of Bitcoin, as well as pathways to weakening the&lt;br/&gt;&amp;gt; assumptions without compromising the behaviors users expect the&lt;br/&gt;&amp;gt; network to have.  An &amp;#34;extended white paper&amp;#34; if you will.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; White paper 1.1 :D&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A last reflection is that Bitcoin is specified with an honest majority&lt;br/&gt;&amp;gt; assumption, but also has a rational dishonest minority assumption over&lt;br/&gt;&amp;gt; both endogenous (rewards) and exogenous (electricity) costs. Satoshi&lt;br/&gt;&amp;gt; did not suggest, at least as I read it, that Bitcoin works with an&lt;br/&gt;&amp;gt; rational majority assumption. (If anyone thinks these three are&lt;br/&gt;&amp;gt; similar properties you can make some trivial counterexamples)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; My take is the opposite unless I&amp;#39;m missing something.  Participants are&lt;br/&gt;&amp;gt; always incentivized to choose the rational solution (Not to waste&lt;br/&gt;&amp;gt; electricity on a minority chain).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt; -Yancy&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On 2022-10-16 19:35, Jeremy Rubin via bitcoin-dev wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The Bitcoin white paper says:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The proof-of-work also solves the problem of determining&lt;br/&gt;&amp;gt; representation in majority decision&lt;br/&gt;&amp;gt; making. If the majority were based on one-IP-address-one-vote, it&lt;br/&gt;&amp;gt; could be subverted by anyone&lt;br/&gt;&amp;gt; able to allocate many IPs. Proof-of-work is essentially&lt;br/&gt;&amp;gt; one-CPU-one-vote. The majority&lt;br/&gt;&amp;gt; decision is represented by the longest chain, which has the greatest&lt;br/&gt;&amp;gt; proof-of-work effort invested&lt;br/&gt;&amp;gt; in it. If a majority of CPU power is controlled by honest nodes, the&lt;br/&gt;&amp;gt; honest chain will grow the&lt;br/&gt;&amp;gt; fastest and outpace any competing chains. To modify a past block, an&lt;br/&gt;&amp;gt; attacker would have to&lt;br/&gt;&amp;gt; redo the proof-of-work of the block and all blocks after it and then&lt;br/&gt;&amp;gt; catch up with and surpass the&lt;br/&gt;&amp;gt; work of the honest nodes. We will show later that the probability of a&lt;br/&gt;&amp;gt; slower attacker catching up&lt;br/&gt;&amp;gt; diminishes exponentially as subsequent blocks are added.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This, Satoshi (who doesn&amp;#39;t really matter anyways I guess?) claimed&lt;br/&gt;&amp;gt; that for Bitcoin to function properly you need a majority honest&lt;br/&gt;&amp;gt; nodes.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; There are multiple behaviors one can describe as honest, and&lt;br/&gt;&amp;gt; economically rational or optimizing is not necessarily rational.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; For example, if I run a shop that takes rain checks, but I sell an&lt;br/&gt;&amp;gt; item to a higher bidder who didn&amp;#39;t have a hold on the item, that is&lt;br/&gt;&amp;gt; not honest, but it may be selfish profit maximizing.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Satoshi said an honest majority is required for the chain to be&lt;br/&gt;&amp;gt; extended. Honest is not really defined though. Honesty, in my&lt;br/&gt;&amp;gt; definition, is that you follow a pre specified rule, rational or not.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It seems a lot of the RBF controversy is that Protocol developers have&lt;br/&gt;&amp;gt; aspired to make the honest behavior also be the rational behavior.&lt;br/&gt;&amp;gt; This is maybe a good idea because, in theory, if the honest behavior&lt;br/&gt;&amp;gt; is rational then we can make a weaker assumption of selfishness&lt;br/&gt;&amp;gt; maximizing a parameter.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; However, Satoshi did not particularly bound what aspects of honesty&lt;br/&gt;&amp;gt; are important for the network, because there isn&amp;#39;t a spec defining&lt;br/&gt;&amp;gt; exactly what is honest or not. And also as soon as people are honest,&lt;br/&gt;&amp;gt; you can rely on that assumption for good effect.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; And sometimes, defining an honest behavior can be creating a higher&lt;br/&gt;&amp;gt; utility system because most people are &amp;#34;law abiding citizens&amp;#34; who&lt;br/&gt;&amp;gt; might not be short term rational. For example, one might expect that&lt;br/&gt;&amp;gt; miners would be interested in making sure lightning closes are&lt;br/&gt;&amp;gt; &amp;#34;accurate&amp;#34; because increasing the utility of lightning is good for&lt;br/&gt;&amp;gt; Bitcoin, even if it is irrational.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It seems that the NoRBF crowd want to rely on an honest majority&lt;br/&gt;&amp;gt; assumption where the honest behavior is not doing replacement if not&lt;br/&gt;&amp;gt; requested. This is really not much different than trying to close&lt;br/&gt;&amp;gt; lightning channels &amp;#34;the right way&amp;#34;.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; However, where it may be different, is that even in the presence of&lt;br/&gt;&amp;gt; honest majority, the safety of 0conf isn&amp;#39;t assured given the potential&lt;br/&gt;&amp;gt; of race conditions in the mempool. Therefore it&amp;#39;s not clear to me that&lt;br/&gt;&amp;gt; 0conf working well is something you can drive from the Honest Majority&lt;br/&gt;&amp;gt; Assumption (where honest includes first seen).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Overall, it might be nice to more tightly document what bitcoins&lt;br/&gt;&amp;gt; assumptions are in practice and what those assumptions do in terms of&lt;br/&gt;&amp;gt; properties of Bitcoin, as well as pathways to weakening the&lt;br/&gt;&amp;gt; assumptions without compromising the behaviors users expect the&lt;br/&gt;&amp;gt; network to have.  An &amp;#34;extended white paper&amp;#34; if you will.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;  It&amp;#39;s somewhat clear to me that we shouldn&amp;#39;t weaken assumptions that&lt;br/&gt;&amp;gt; only seem local to one subsystem of Bitcoin if they end up&lt;br/&gt;&amp;gt; destabilizing another system. In particular, things that decrease&lt;br/&gt;&amp;gt; &amp;#34;transaction utility&amp;#34; for end users decrease the demand for&lt;br/&gt;&amp;gt; transactions which hurts the fee market&amp;#39;s longer term viability, even&lt;br/&gt;&amp;gt; if we feel good about making an honest policy assumption into a self&lt;br/&gt;&amp;gt; interested policy assumption.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A last reflection is that Bitcoin is specified with an honest majority&lt;br/&gt;&amp;gt; assumption, but also has a rational dishonest minority assumption over&lt;br/&gt;&amp;gt; both endogenous (rewards) and exogenous (electricity) costs. Satoshi&lt;br/&gt;&amp;gt; did not suggest, at least as I read it, that Bitcoin works with an&lt;br/&gt;&amp;gt; rational majority assumption. (If anyone thinks these three are&lt;br/&gt;&amp;gt; similar properties you can make some trivial counterexamples)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Jeremy&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;&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/20221017/16a24252/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20221017/16a24252/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:15:12&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0ahcuwje4m84sl967kcskn2w292y23tj22nst3uwhl3yw2pfaluszyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy5jjkeee</id>
    
      <title type="html">📅 Original date posted:2022-10-19 📝 Original message:If ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0ahcuwje4m84sl967kcskn2w292y23tj22nst3uwhl3yw2pfaluszyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy5jjkeee" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxgvpnert4pvs4hpa9hp2rr09wsyn9z94hfx3nj5h0lj02846ymsc2aj8hd&#39;&gt;nevent1q…j8hd&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-10-19&lt;br/&gt;📝 Original message:If they do this to you, and the delta is substantial, can&amp;#39;t you sweep all&lt;br/&gt;such abusers with a cpfp transaction replacing their package and giving you&lt;br/&gt;the original txn?&lt;br/&gt;&lt;br/&gt;On Wed, Oct 19, 2022, 7:33 AM Sergej Kotliar 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; Hi all,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Chiming in on this thread as I feel like the real dangers of RBF as&lt;br/&gt;&amp;gt; default policy aren&amp;#39;t sufficiently elaborated here. It&amp;#39;s not only about the&lt;br/&gt;&amp;gt; zero-conf (I&amp;#39;ll get to that) but there is an even bigger danger called the&lt;br/&gt;&amp;gt; american call option, which risks endangering the entirety of BIP21 &amp;#34;Scan&lt;br/&gt;&amp;gt; this QR code with your wallet to buy this product&amp;#34; model that I believe&lt;br/&gt;&amp;gt; we&amp;#39;ve all come to appreciate. Specifically, in a scenario with high&lt;br/&gt;&amp;gt; volatility and many transactions in the mempools (which is where RBF would&lt;br/&gt;&amp;gt; come in handy), a user can make a low-fee transaction and then wait for&lt;br/&gt;&amp;gt; hours, days or even longer, and see whether BTCUSD moves. If BTCUSD moves&lt;br/&gt;&amp;gt; up, user can cancel his transaction and make a new - cheaper one. The&lt;br/&gt;&amp;gt; biggest risk in accepting bitcoin payments is in fact not zeroconf risk&lt;br/&gt;&amp;gt; (it&amp;#39;s actually quite easily managed), it&amp;#39;s FX risk as the merchant must&lt;br/&gt;&amp;gt; commit to a certain BTCUSD rate ahead of time for a purchase. Over time&lt;br/&gt;&amp;gt; some transactions lose money to FX and others earn money - that evens out&lt;br/&gt;&amp;gt; in the end. But if there is an _easily accessible in the wallet_ feature to&lt;br/&gt;&amp;gt; &amp;#34;cancel transaction&amp;#34; that means it will eventually get systematically&lt;br/&gt;&amp;gt; abused. A risk of X% loss on many payments that&amp;#39;s easy to systematically&lt;br/&gt;&amp;gt; abuse is more scary than a rare risk of losing 100% of one occasional&lt;br/&gt;&amp;gt; payment. It&amp;#39;s already possible to execute this form of abuse with opt-in&lt;br/&gt;&amp;gt; RBF, which may lead to us at some point refusing those payments (even with&lt;br/&gt;&amp;gt; confirmation) or cumbersome UX to work around it, such as crediting the&lt;br/&gt;&amp;gt; bitcoin to a custodial account.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; To compare zeroconf risk with FX risk: I think we&amp;#39;ve had one incident in 8&lt;br/&gt;&amp;gt; years of operation where a user successfully fooled our server to accept a&lt;br/&gt;&amp;gt; payment that in the end didn&amp;#39;t confirm. To successfully fool (non-RBF)&lt;br/&gt;&amp;gt; zeroconf one needs to have access to mining infrastructure and probability&lt;br/&gt;&amp;gt; of success is the % of hash rate controlled. This is simply due to the fact&lt;br/&gt;&amp;gt; that the network currently won&amp;#39;t propagage the replacement transaction to&lt;br/&gt;&amp;gt; the miner, which is what&amp;#39;s being discussed here. American call option risk&lt;br/&gt;&amp;gt; would however be available to 100% of all users, needs nothing beyond the&lt;br/&gt;&amp;gt; wallet app, and has no cost to the user - only upside.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Bitrefill currently processes 1500-2000 onchain payments every day. For&lt;br/&gt;&amp;gt; us, a world where bitcoin becomes de facto RBF by default, means that we&lt;br/&gt;&amp;gt; would likely turn off the BIP21 model for onchain payments, instruct&lt;br/&gt;&amp;gt; Bitcoin users to use Lightning or deposit onchain BTC to a custodial&lt;br/&gt;&amp;gt; account that we have.&lt;br/&gt;&amp;gt; This option is however not available for your typical&lt;br/&gt;&amp;gt; BTCPayServer/CoinGate/Bitpay/IBEX/OpenNode et al. Would be great to hear&lt;br/&gt;&amp;gt; from other merchants or payment providers how they see this new behavior&lt;br/&gt;&amp;gt; and how they would counteract it.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Currently Lightning is somewhere around 15% of our total bitcoin payments.&lt;br/&gt;&amp;gt; This is very much not nothing, and all of us here want Lightning to grow,&lt;br/&gt;&amp;gt; but I think it warrants a serious discussion on whether we want Lightning&lt;br/&gt;&amp;gt; adoption to go to 100% by means of disabling on-chain commerce. For me&lt;br/&gt;&amp;gt; personally it would be an easier discussion to have when Lightning is at&lt;br/&gt;&amp;gt; 80%&#43; of all bitcoin transactions. Currently far too many bitcoin users&lt;br/&gt;&amp;gt; simply don&amp;#39;t have access to Lightning, and of those that do and hold their&lt;br/&gt;&amp;gt; own keys Muun is the biggest wallet per our data, not least due to their&lt;br/&gt;&amp;gt; ease-of-use which is under threat per the OP. It&amp;#39;s hard to assess how many&lt;br/&gt;&amp;gt; users would switch to Lightning in such a scenario, the communication&lt;br/&gt;&amp;gt; around it would be hard. My intuition says that the majority of the current&lt;br/&gt;&amp;gt; 85% of bitcoin users that pay onchain would just not use bitcoin anymore,&lt;br/&gt;&amp;gt; probably shift to an alt. The benefits of Lightning are many and obvious,&lt;br/&gt;&amp;gt; we don&amp;#39;t need to limit onchain to make Lightning more appealing. As an&lt;br/&gt;&amp;gt; anecdote, we did experiment with defaulting to bech32 addresses some years&lt;br/&gt;&amp;gt; back. The result was that simply users of the wallets that weren&amp;#39;t able to&lt;br/&gt;&amp;gt; pay to bech32 didn&amp;#39;t complete the purchase, no support ticket or anything,&lt;br/&gt;&amp;gt; just &amp;#34;it didn&amp;#39;t work 🤷‍♂️&amp;#34; and user moved on. We rolled it back, and later&lt;br/&gt;&amp;gt; implemented a wallet selector to allow modern wallets to pay to bech32&lt;br/&gt;&amp;gt; while other wallets can pay to P2SH. This type of thing  is clunky, and&lt;br/&gt;&amp;gt; requires a certain level of scale to be able to do, we certainly wouldn&amp;#39;t&lt;br/&gt;&amp;gt; have had the manpower for that when we were starting out. This why I&amp;#39;m&lt;br/&gt;&amp;gt; cautious about introducing more such clunkiness vectors as they are&lt;br/&gt;&amp;gt; centralizing factors.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;m well aware of the reason for this policy being suggested and the&lt;br/&gt;&amp;gt; potential pinning attack vector for LN and other smart contracts, but I&lt;br/&gt;&amp;gt; think these two risks/costs need to be weighed against eachother first and&lt;br/&gt;&amp;gt; thoroughly discussed because the costs are non-trivial on both sides.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Sidenote: On the efficacy of RBF to &amp;#34;unstuck&amp;#34; stuck transactions&lt;br/&gt;&amp;gt; After interacting with users during high-fee periods I&amp;#39;ve come to not&lt;br/&gt;&amp;gt; appreciate RBF as a solution to that issue. Most users (80% or so) simply&lt;br/&gt;&amp;gt; don&amp;#39;t have access to that functionality, because their wallet doesn&amp;#39;t&lt;br/&gt;&amp;gt; support it, or they use a custodial (exchange) wallet etc. Of those that&lt;br/&gt;&amp;gt; have the feature - only the power users understand how RBF works, and&lt;br/&gt;&amp;gt; explaining how to do RBF to a non-power-user is just too complex, for the&lt;br/&gt;&amp;gt; same reason why it&amp;#39;s complex for wallets to make sensible non-power-user UI&lt;br/&gt;&amp;gt; around it. Current equilibrium is that mostly only power users have access&lt;br/&gt;&amp;gt; to RBF and they know how to handle it, so things are somewhat working. But&lt;br/&gt;&amp;gt; rolling this out to the broad market is something else and would likely&lt;br/&gt;&amp;gt; cause more confusion.&lt;br/&gt;&amp;gt; CPFP is somewhat more viable but also not perfect as it would require lots&lt;br/&gt;&amp;gt; of edge case code to handle abuse vectors: What if users abuse a generous&lt;br/&gt;&amp;gt; CPFP policy to unstuck past transactions or consolidate large wallets. Best&lt;br/&gt;&amp;gt; is for CPFP to be done on the wallet side, not the merchant side, but there&lt;br/&gt;&amp;gt; too are the same UX issues as with RBF.&lt;br/&gt;&amp;gt; In the end a risk-based approach to decide on which payments are&lt;br/&gt;&amp;gt; non-trivial to reverse is the easiest, taking account user experience and&lt;br/&gt;&amp;gt; such. Remember that in the fiat world card payments have up to 5%&lt;br/&gt;&amp;gt; chargebacks, whereas we in zero-conf bitcoin land we deal with &amp;#34;fewer than&lt;br/&gt;&amp;gt; 1 in a million&amp;#34; accepted transactions successfully reversed. These days we&lt;br/&gt;&amp;gt; have very few support issues related to bitcoin payments. The few that do&lt;br/&gt;&amp;gt; come in are due to accidental RBF users venting frustration about waiting&lt;br/&gt;&amp;gt; for their tx to confirm.&lt;br/&gt;&amp;gt; &amp;#34;In theory, theory and practice are the same. In practice, they are not&amp;#34;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; All the best,&lt;br/&gt;&amp;gt; Sergej Kotliar&lt;br/&gt;&amp;gt; CEO Bitrefill.com&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Sergej Kotliar&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; CEO&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Twitter: @ziggamon &amp;lt;&lt;a href=&#34;https://twitter.com/ziggamon&amp;gt&#34;&gt;https://twitter.com/ziggamon&amp;gt&lt;/a&gt;;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; www.bitrefill.com&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Twitter &amp;lt;&lt;a href=&#34;https://www.twitter.com/bitrefill&amp;gt&#34;&gt;https://www.twitter.com/bitrefill&amp;gt&lt;/a&gt;; | Blog&lt;br/&gt;&amp;gt; &amp;lt;&lt;a href=&#34;https://www.bitrefill.com/blog/&amp;gt&#34;&gt;https://www.bitrefill.com/blog/&amp;gt&lt;/a&gt;; | Angellist &amp;lt;&lt;a href=&#34;https://angel.co/bitrefill&amp;gt&#34;&gt;https://angel.co/bitrefill&amp;gt&lt;/a&gt;;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Sergej Kotliar&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; CEO&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Twitter: @ziggamon &amp;lt;&lt;a href=&#34;https://twitter.com/ziggamon&amp;gt&#34;&gt;https://twitter.com/ziggamon&amp;gt&lt;/a&gt;;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; www.bitrefill.com&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Twitter &amp;lt;&lt;a href=&#34;https://www.twitter.com/bitrefill&amp;gt&#34;&gt;https://www.twitter.com/bitrefill&amp;gt&lt;/a&gt;; | Blog&lt;br/&gt;&amp;gt; &amp;lt;&lt;a href=&#34;https://www.bitrefill.com/blog/&amp;gt&#34;&gt;https://www.bitrefill.com/blog/&amp;gt&lt;/a&gt;; | Angellist &amp;lt;&lt;a href=&#34;https://angel.co/bitrefill&amp;gt&#34;&gt;https://angel.co/bitrefill&amp;gt&lt;/a&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/20221019/bb48f09b/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20221019/bb48f09b/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:14:38&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqspa48x73jqf9wh5f5s3t9j8fv7asken2wuc4lw3a5xumtvq398m3qzyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy5772vyy</id>
    
      <title type="html">📅 Original date posted:2022-04-21 📝 Original ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqspa48x73jqf9wh5f5s3t9j8fv7asken2wuc4lw3a5xumtvq398m3qzyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy5772vyy" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs97l2f868zrddknhf5jcu87d49axhl2z9xl3suxc596nrtg4eykmg6ye5t6&#39;&gt;nevent1q…e5t6&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-04-21&lt;br/&gt;📝 Original message:Probably merits a more thorough response, but, I wanted to respond on the&lt;br/&gt;framework above:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt; 1a) can you make transactions using the new feature with bitcoin-cli,&lt;br/&gt;     eg createrawtransaction etc? (*YES)*&lt;br/&gt;&lt;br/&gt;since ~Feb 2020, this has existed:&lt;br/&gt;&lt;a href=&#34;https://github.com/JeremyRubin/bitcoin/tree/checktemplateverify-feb1-workshop&#34;&gt;https://github.com/JeremyRubin/bitcoin/tree/checktemplateverify-feb1-workshop&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;CTV hasn&amp;#39;t changed so this code should work un-rebased. The transaction&lt;br/&gt;outputs may need to be manually submitted to the network, but the covenant&lt;br/&gt;is enforced. This covers congestion control and vaults.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt; 1b) can you make transactions using the new feature with some other&lt;br/&gt;     library? *(YES)*&lt;br/&gt;Sapio, Test Framework, also &lt;a href=&#34;https://min.sc/nextc/&#34;&gt;https://min.sc/nextc/&lt;/a&gt; produced independently by&lt;br/&gt;Shesek&lt;br/&gt;&lt;br/&gt; 1c) can you make transactions using the new feature with most common&lt;br/&gt;     libraries? *(YES, kinda)*&lt;br/&gt;&lt;br/&gt;Yes, &lt;a href=&#34;https://crates.io/crates/sapio-miniscript&#34;&gt;https://crates.io/crates/sapio-miniscript&lt;/a&gt; and&lt;br/&gt;&lt;a href=&#34;https://crates.io/crates/sapio-bitcoin&#34;&gt;https://crates.io/crates/sapio-bitcoin&lt;/a&gt; have been maintained for about 1&lt;br/&gt;year, and are now taproot compatible.&lt;br/&gt;&lt;br/&gt;Sapio&amp;#39;s use of these libraries has even helped find bugs in the release&lt;br/&gt;process of Taproot for rust-bitcoin.&lt;br/&gt;&lt;br/&gt;kinda: It&amp;#39;s not _most_ common libraries, it&amp;#39;s _a_ common library. it&amp;#39;s also&lt;br/&gt;not upstreamed, because the patches would not be accepted were it to be.&lt;br/&gt;&lt;br/&gt; 2) has anyone done a usable prototype of the major use cases of the new&lt;br/&gt;    feature?* (YES)*&lt;br/&gt;&lt;br/&gt;In addition to &lt;a href=&#34;https://github.com/jamesob/simple-ctv-vault&#34;&gt;https://github.com/jamesob/simple-ctv-vault&lt;/a&gt;, there is also&lt;br/&gt;&lt;a href=&#34;https://github.com/kanzure/python-vaults&#34;&gt;https://github.com/kanzure/python-vaults&lt;/a&gt;, although it has an interesting&lt;br/&gt;bug.&lt;br/&gt;&lt;br/&gt;There&amp;#39;s also a myriad of uses shown in&lt;br/&gt;&lt;a href=&#34;https://github.com/sapio-lang/sapio/tree/master/sapio-contrib/src/contracts&#34;&gt;https://github.com/sapio-lang/sapio/tree/master/sapio-contrib/src/contracts&lt;/a&gt;&lt;br/&gt;and in &lt;a href=&#34;https://github.com/sapio-lang/sapio/tree/master/plugin-example&#34;&gt;https://github.com/sapio-lang/sapio/tree/master/plugin-example&lt;/a&gt;.&lt;br/&gt;While these aren&amp;#39;t quite &amp;#34;usable&amp;#34; as an end-to-end application, e.g.,&lt;br/&gt;something you&amp;#39;d want to put real money on, they are a part of a *massive*&lt;br/&gt;infrastructure investment in general purpose smart contract tooling for&lt;br/&gt;covenant design with CTV. That CTV can be targeted with a compiler to&lt;br/&gt;generate a wide variety of composable use cases *is* one of the use cases&lt;br/&gt;for CTV, since it enables people to design many different types of thing&lt;br/&gt;relatively easily. That is a feature of CTV! It&amp;#39;s not just for one use case.&lt;br/&gt;&lt;br/&gt;The suite of Sapio apps are less &amp;#34;production ready&amp;#34; than they could be for&lt;br/&gt;a few reasons:&lt;br/&gt;&lt;br/&gt;1) I&amp;#39;ve been working hard at pushing the limits of what is possible &amp;amp; the&lt;br/&gt;theory of it v.s. making it production ready&lt;br/&gt;2) I prioritized supporting Taproot v.s. legacy script, and much of the&lt;br/&gt;taproot tooling isn&amp;#39;t production ready&lt;br/&gt;3) Sapio is really ambitious undertaking, and it will take time to make it&lt;br/&gt;production&lt;br/&gt;&lt;br/&gt;That said, &lt;a href=&#34;https://rubin.io/bitcoin/2022/03/22/sapio-studio-btc-dev-mtg-6/&#34;&gt;https://rubin.io/bitcoin/2022/03/22/sapio-studio-btc-dev-mtg-6/&lt;/a&gt;&lt;br/&gt;tutorial was completed by people who weren&amp;#39;t me, and at the&lt;br/&gt;pleb.fi/miami2022 one of the projects was able to use sapio congestion&lt;br/&gt;control transactions as well, so it does &amp;#34;work&amp;#34;. As it matures, we&amp;#39;ll get a&lt;br/&gt;number of implemented use cases people have been excited about like DLCs,&lt;br/&gt;which are implemented here&lt;br/&gt;&lt;a href=&#34;https://github.com/sapio-lang/sapio/blob/master/sapio-contrib/src/contracts/derivatives/dlc.rs&#34;&gt;https://github.com/sapio-lang/sapio/blob/master/sapio-contrib/src/contracts/derivatives/dlc.rs&lt;/a&gt;.&lt;br/&gt;You can see the test case shows how to construct one.&lt;br/&gt;&lt;br/&gt;Why did I not focus on production grade? Well, production grade can always&lt;br/&gt;happen later, and I don&amp;#39;t think it takes as much imagination. But the main&lt;br/&gt;critique I&amp;#39;d heard of CTV was that no one could see it being used for&lt;br/&gt;anything but one or two use cases. So I built Sapio, in part, to show how&lt;br/&gt;CTV could be used for an incredibly wide and diverse set of applications,&lt;br/&gt;as opposed to the polish on them.&lt;br/&gt;&lt;br/&gt;If I knew the bar to surpass was to be polish, I probably could have taken&lt;br/&gt;a less ambitious approach with Sapio and shown like 1-2 applications&lt;br/&gt;working end-to-end. But because the main feedback I got was that CTV wasn&amp;#39;t&lt;br/&gt;powerful enough, I opted to build a very general framework for covenants&lt;br/&gt;and demonstrate how CTV fits that.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;@JeremyRubin &amp;lt;&lt;a href=&#34;https://twitter.com/JeremyRubin&amp;gt&#34;&gt;https://twitter.com/JeremyRubin&amp;gt&lt;/a&gt;;&lt;br/&gt;&lt;br/&gt;On Thu, Apr 21, 2022 at 12:05 AM Anthony Towns 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; On Wed, Apr 20, 2022 at 05:13:19PM &#43;0000, Buck O Perley via bitcoin-dev&lt;br/&gt;&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt; All merits (or lack thereof depending on your view) of CTV aside, I find&lt;br/&gt;&amp;gt; this topic around decision making both interesting and important. While I&lt;br/&gt;&amp;gt; think I sympathize with the high level concern about making sure there are&lt;br/&gt;&amp;gt; use cases, interest, and sufficient testing of a particular proposal before&lt;br/&gt;&amp;gt; soft forking it into consensus code, it does feel like the attempt to&lt;br/&gt;&amp;gt; attribute hard numbers in this way is somewhat arbitrary.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Sure. I included the numbers for falsifiability mostly -- so people&lt;br/&gt;&amp;gt; could easily check if my analysis was way off the mark.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; For example, I think it could be reasonable to paint the list of&lt;br/&gt;&amp;gt; examples you provided where CTV has been used on signet in a positive&lt;br/&gt;&amp;gt; light. 317 CTV spends “out in the wild” before there’s a known activation&lt;br/&gt;&amp;gt; date is quite a lot&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Not really? Once you can make one transaction, it&amp;#39;s trivial to make&lt;br/&gt;&amp;gt; hundreds. It&amp;#39;s more interesting to see if there&amp;#39;s multiple wallets or&lt;br/&gt;&amp;gt; similar that support it; or if one wallet has a particularly compelling&lt;br/&gt;&amp;gt; use case.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; (more than taproot had afaik).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Yes; as I&amp;#39;ve said a few times now, I think we should have had more&lt;br/&gt;&amp;gt; real life demos before locking taproot&amp;#39;s activation in. I think that&lt;br/&gt;&amp;gt; would have helped avoid bugs like Neutrino&amp;#39;s [0] and made it easier for&lt;br/&gt;&amp;gt; hardware wallets etc to have support for taproot as soon as it was active,&lt;br/&gt;&amp;gt; without having to rush around adding library support at the last minute.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [0]&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-November/019589.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-November/019589.html&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Lightning&amp;#39;s &amp;#34;two independent implementations&amp;#34; rule might be worth aspiring&lt;br/&gt;&amp;gt; too, eg.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; If we don’t think it is enough, then what number of unique spends and&lt;br/&gt;&amp;gt; use cases should we expect to see of a new proposal before it’s been&lt;br/&gt;&amp;gt; sufficiently tested?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I don&amp;#39;t really think that&amp;#39;s the metric. I&amp;#39;d go for something more like:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;  1a) can you make transactions using the new feature with bitcoin-cli,&lt;br/&gt;&amp;gt;      eg createrawtransaction etc?&lt;br/&gt;&amp;gt;  1b) can you make transactions using the new feature with some other&lt;br/&gt;&amp;gt;      library?&lt;br/&gt;&amp;gt;  1c) can you make transactions using the new feature with most common&lt;br/&gt;&amp;gt;      libraries?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;  2) has anyone done a usable prototype of the major use cases of the new&lt;br/&gt;&amp;gt;     feature?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I think the answers for CTV are:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;  1a) no&lt;br/&gt;&amp;gt;  1b) yes, core&amp;#39;s python test suite, sapio&lt;br/&gt;&amp;gt;  1c) no&lt;br/&gt;&amp;gt;  2) no&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Though presumably jamesob&amp;#39;s simple ctv vault is close to being an answer&lt;br/&gt;&amp;gt; for (2)?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; For taproot, we had,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;  1a) yes, with difficulty [1]&lt;br/&gt;&amp;gt;  1b) yes, core&amp;#39;s python test suite; kalle&amp;#39;s btcdeb sometimes worked too&lt;br/&gt;&amp;gt;  1c) no&lt;br/&gt;&amp;gt;  2) optech&amp;#39;s python notebook [2] from it&amp;#39;s taproot workshops had demos for&lt;br/&gt;&amp;gt;     musig and degrading multisig via multiple merkle paths, though I&lt;br/&gt;&amp;gt;     think they were out of date with the taproot spec for a while&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [1]&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-October/019543.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-October/019543.html&lt;/a&gt;&lt;br/&gt;&amp;gt; [2] &lt;a href=&#34;https://github.com/bitcoinops/taproot-workshop/&#34;&gt;https://github.com/bitcoinops/taproot-workshop/&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; To some extent those things are really proxies for:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;  3) how well do people actually understand the feature?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;  4) are we sure the tradeoffs being made in this implementation of the&lt;br/&gt;&amp;gt;     feature, vs other implementations or other features actually make&lt;br/&gt;&amp;gt;     sense?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;  5) how useful is the feature?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I think we were pretty confident in the answers for those questions&lt;br/&gt;&amp;gt; for taproot. At least personally, I&amp;#39;m still not super confident in&lt;br/&gt;&amp;gt; the answers for CTV. In particular:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;  - is there really any benefit to doing it as a NOP vs a taproot-only&lt;br/&gt;&amp;gt;    opcode like TXHASH? Theoretically, sure, that saves some bytes; but as&lt;br/&gt;&amp;gt;    was pointed out on #bitcoin-wizards the other day, you can&amp;#39;t express&lt;br/&gt;&amp;gt;    those outputs as an address, which makes them not very interoperable,&lt;br/&gt;&amp;gt;    and if they&amp;#39;re not interoperable between, say, an exchange and its&lt;br/&gt;&amp;gt;    users trying to do a withdraw, how useful is that really ever going&lt;br/&gt;&amp;gt;    to be?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;  - the scriptSig commitments seems very kludgy; combining multiple&lt;br/&gt;&amp;gt;    inputs likewise seems kludgy&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The continual push to rush activation of it certainly doesn&amp;#39;t increase my&lt;br/&gt;&amp;gt; confidence either. Personally, I suspect it&amp;#39;s counterproductive; better&lt;br/&gt;&amp;gt; to spend the time answering questions and improving the proposal, rather&lt;br/&gt;&amp;gt; than spending time going around in circles about activating something&lt;br/&gt;&amp;gt; people aren&amp;#39;t (essentially) unanimously confident about.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; In absence of the above, the risk of a constantly moving bar&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;d argue the bar *should* be constantly moving, in the sense that we&lt;br/&gt;&amp;gt; should keep raising it.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; To use your meme, miners know precisely what they’re mining for and what&lt;br/&gt;&amp;gt; a metric of success looks like which makes the risk/costs of attempting the&lt;br/&gt;&amp;gt; PoW worth it&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The difference between mining and R&amp;amp;D is variance: if you&amp;#39;re competing for&lt;br/&gt;&amp;gt; 50k blocks a year, you can get your actual returns to closely match your&lt;br/&gt;&amp;gt; expected return, especially if you pool with others so your probability&lt;br/&gt;&amp;gt; of success isn&amp;#39;t miniscule -- for consensus dev, you can reasonably only&lt;br/&gt;&amp;gt; work on a couple of projects a year, so your median return is likely $0,&lt;br/&gt;&amp;gt; rather than a close match to your average/expected return.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; We also have new ideas that only started coming up after Taproot&lt;br/&gt;&amp;gt; activation (TLUV and Taro for example), so there’s also the unknown of what&lt;br/&gt;&amp;gt; we could have once it becomes clear that it’s worth devoting mental energy&lt;br/&gt;&amp;gt; and financial resources towards research.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; TLUV was an offshoot of SCRIPTREPLACE which was public (though not&lt;br/&gt;&amp;gt; really published) since 2019.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; One last wrinkle with regards to using countable metrics to determine a&lt;br/&gt;&amp;gt; feature’s “worth” is that not all features are the same. Many of the use&lt;br/&gt;&amp;gt; cases that people are excited to use CTV for ([5], [6]) are very long term&lt;br/&gt;&amp;gt; in nature and targeted for long term store of value in contrast to medium&lt;br/&gt;&amp;gt; of exchange.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I mean, if those use cases are so exciting, it really doesn&amp;#39;t seem much&lt;br/&gt;&amp;gt; to ask to see them demoed live on the CTV signet that already exists?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; You can build a CTV vault in signet, but you’ll only really see a lot of&lt;br/&gt;&amp;gt; people using it when it’s to store real value on a time scale measured in&lt;br/&gt;&amp;gt; decades not minutes or days&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On the other hand, if the value is really &amp;#34;very long term&amp;#34; and there&amp;#39;s no&lt;br/&gt;&amp;gt; rush to implement these features and demo them ASAP, then it doesn&amp;#39;t seem&lt;br/&gt;&amp;gt; like there should be a rush to adapt consensus to these use cases either.&lt;br/&gt;&amp;gt; Why not wait until someone does have time to finish sketching out the&lt;br/&gt;&amp;gt; use case so they can demo them in public?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; To put another way and leave CTV out of it completely, what should an&lt;br/&gt;&amp;gt; outside, unbiased observer that doesn’t spend much time on Twitter expect&lt;br/&gt;&amp;gt; to be able to see to evaluate the readiness or acceptability of ANYPREVOUT,&lt;br/&gt;&amp;gt; TLUV,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; For ANYPREVOUT, I would like to see a toy implementation of eltoo using&lt;br/&gt;&amp;gt; it, that can handle fees and layered transactions (or has a good argument&lt;br/&gt;&amp;gt; why layered transactions aren&amp;#39;t necessary). It&amp;#39;s going to take a while&lt;br/&gt;&amp;gt; even to update LN to taproot and PTLCs though, so eltoo doesn&amp;#39;t seem like&lt;br/&gt;&amp;gt; it&amp;#39;s on the immediate horizon. Besides eltoo, I don&amp;#39;t think ANYPREVOUT&lt;br/&gt;&amp;gt; is an optimal design for covenants, so if that was the motivation and&lt;br/&gt;&amp;gt; not eltoo, maybe some other approach would be better.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; TLUV&amp;#39;s design parameters don&amp;#39;t really seem optimal (the mess with x-only&lt;br/&gt;&amp;gt; pubkeys, alternatives like OP_EVICT), so I think it&amp;#39;s still on the&lt;br/&gt;&amp;gt; whiteboard.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt; aj&lt;br/&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/20220421/4dc687ea/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220421/4dc687ea/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:07:26&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqszuhd6ang9vc7ffr3e8tpy6hh8kume30ew4f5npc60e5krchz7quqzyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy54z63uz</id>
    
      <title type="html">📅 Original date posted:2022-04-19 📝 Original message:Devs, ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqszuhd6ang9vc7ffr3e8tpy6hh8kume30ew4f5npc60e5krchz7quqzyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy54z63uz" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsy4cqdjtnqk0twphj6ewk0ud3mnh8tdew6augdxte85eg7at6mjdclry2hp&#39;&gt;nevent1q…y2hp&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-04-19&lt;br/&gt;📝 Original message:Devs,&lt;br/&gt;&lt;br/&gt;In advance of the CTV meeting today, I wanted to share what my next step is&lt;br/&gt;in advocating for CTV, as well as 7 theses for why I believe it to be the&lt;br/&gt;right course of action to take at this time.&lt;br/&gt;&lt;br/&gt;Please see the post at&lt;br/&gt;&lt;a href=&#34;https://rubin.io/bitcoin/2022/04/17/next-steps-bip119/&#34;&gt;https://rubin.io/bitcoin/2022/04/17/next-steps-bip119/&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;As always, open to hear any and all feedback,&lt;br/&gt;&lt;br/&gt;Jeremy&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;archived at:&lt;br/&gt;&lt;a href=&#34;https://web.archive.org/web/20220419172825/https://rubin.io/bitcoin/2022/04/17/next-steps-bip119/&#34;&gt;https://web.archive.org/web/20220419172825/https://rubin.io/bitcoin/2022/04/17/next-steps-bip119/&lt;/a&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/20220419/70812907/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220419/70812907/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:07:16&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsxqpkzk3a8959fkjwde5qhs45puqe5tepkev8vm45dkcmu3p3ch9czyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy5qev2mw</id>
    
      <title type="html">📅 Original date posted:2022-04-12 📝 Original message:note ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxqpkzk3a8959fkjwde5qhs45puqe5tepkev8vm45dkcmu3p3ch9czyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy5qev2mw" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsp5jq4km2ajmhn7fz833spvk4k2srhd0tf8gz8a09t7xz0l7emw3s6xwup4&#39;&gt;nevent1q…wup4&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-04-12&lt;br/&gt;📝 Original message:note of clarification:&lt;br/&gt;&lt;br/&gt;this is from the perspective of a developer trying to build infrastructure&lt;br/&gt;for covenants. from the perspective of bitcoin consensus, a covenant&lt;br/&gt;enforcing primitve would be something like OP_TLUV and less so it&amp;#39;s use in&lt;br/&gt;conjunction with other opcodes, e.g. OP_AMOUNT.&lt;br/&gt;&lt;br/&gt;One must also analyze all the covenants that one *could* author using a&lt;br/&gt;primitive, in some sense, to demonstrate that our understanding is&lt;br/&gt;sufficient. As a trivial example, you could use&lt;br/&gt;OP_DELETE_BITCOIN_ENTIRELY_IF_KNOWS_PREIMAGE_TO_X_OR_TLUV and just because&lt;br/&gt;you could use it safely for TLUV would not mean we should add that opcode&lt;br/&gt;if there&amp;#39;s some way of using it negatively.&lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;&lt;br/&gt;Jeremy&lt;br/&gt;--&lt;br/&gt;@JeremyRubin &amp;lt;&lt;a href=&#34;https://twitter.com/JeremyRubin&amp;gt&#34;&gt;https://twitter.com/JeremyRubin&amp;gt&lt;/a&gt;;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Tue, Apr 12, 2022 at 10:33 AM Jeremy Rubin &amp;lt;jeremy.l.rubin at gmail.com&amp;gt;&lt;br/&gt;wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Sharing below a framework for thinking about covenants. It is most useful&lt;br/&gt;&amp;gt; for modeling local covenants, that is, covenants where only one coin must&lt;br/&gt;&amp;gt; be examined, and not multi-coin covenants whereby you could have issues&lt;br/&gt;&amp;gt; with protocol forking requiring a more powerful stateful prover. It&amp;#39;s the&lt;br/&gt;&amp;gt; model I use in Sapio.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I define a covenant primitive as follows:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 1) A set of sets of transaction intents (a *family)*, potentially&lt;br/&gt;&amp;gt; recursive or co-recursive (e.g., the types of state transitions that can be&lt;br/&gt;&amp;gt; generated). These intents can also be represented by a language that&lt;br/&gt;&amp;gt; generates the transactions, rather than the literal transactions&lt;br/&gt;&amp;gt; themselves. We do the family rather than just sets at this level because to&lt;br/&gt;&amp;gt; instantiate a covenant we must pick a member of the family to use.&lt;br/&gt;&amp;gt; 2) A verifier generator function that generates a function that accepts an&lt;br/&gt;&amp;gt; intent that is any element of one member of the family of intents and a&lt;br/&gt;&amp;gt; proof for it and rejects others.&lt;br/&gt;&amp;gt; 3) A prover generator function that generates a function that takes an&lt;br/&gt;&amp;gt; intent that is any element of one member of the family and some extra data&lt;br/&gt;&amp;gt; and returns either a new prover function, a finished proof, or a rejection&lt;br/&gt;&amp;gt; (if not a valid intent).&lt;br/&gt;&amp;gt; 4) A set of proofs that the Prover, Verifier, and a set of intents are&lt;br/&gt;&amp;gt; &amp;#34;impedance matched&amp;#34;, that is, all statements the prover can prove and all&lt;br/&gt;&amp;gt; statements the verifier can verify are one-to-one and onto (or something&lt;br/&gt;&amp;gt; similar), and that this also is one-to-one and onto with one element of the&lt;br/&gt;&amp;gt; intents (a set of transactions) and no other.&lt;br/&gt;&amp;gt; 5) A set of assumptions under which the covenant is verified (e.g., a&lt;br/&gt;&amp;gt; multi-sig covenant with at least 1-n honesty, a multisig covenant with any&lt;br/&gt;&amp;gt; 3-n honesty required, Sha256 collision resistance, DLog Hardness, a SGX&lt;br/&gt;&amp;gt; module being correct).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; To instantiate a covenant, the user would pick a particular element of the&lt;br/&gt;&amp;gt; set of sets of transaction intents. For example, in TLUV payment pool, it&lt;br/&gt;&amp;gt; would be the set of all balance adjusting transactions and redemptions. *Note,&lt;br/&gt;&amp;gt; we can &amp;#39;cleave&amp;#39; covenants into separate bits -- e.g. one TLUV &#43; some extra&lt;br/&gt;&amp;gt; CTV paths can be &amp;#39;composed&amp;#39;, but the composition is not guaranteed to be&lt;br/&gt;&amp;gt; well formed.*&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Once the user has a particular intent, they then must generate a verifier&lt;br/&gt;&amp;gt; which can receive any member of the set of intents and accept it, and&lt;br/&gt;&amp;gt; receive any transaction outside the intents and reject it.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; With the verifier in hand (or at the same time), the user must then&lt;br/&gt;&amp;gt; generate a prover function that can make a proof for any intent that the&lt;br/&gt;&amp;gt; verifier will accept. This could be modeled as a continuation system (e.g.,&lt;br/&gt;&amp;gt; multisig requires multiple calls into the prover), or it could be&lt;br/&gt;&amp;gt; considered to be wrapped as an all-at-once function. The prover could be&lt;br/&gt;&amp;gt; done via a multi-sig in which case the assumptions are stronger, but it&lt;br/&gt;&amp;gt; still should be well formed such that the signers can clearly and&lt;br/&gt;&amp;gt; unambiguously sign all intents and reject all non intents, otherwise the&lt;br/&gt;&amp;gt; covenant is not well formed.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The proofs of validity of the first three parts and the assumptions for&lt;br/&gt;&amp;gt; them should be clear, but do not require generation for use. However,&lt;br/&gt;&amp;gt; covenants which do not easily permit proofs are less useful.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; We now can analyze three covenants under this, plain CTV, 2-3 online&lt;br/&gt;&amp;gt; multisig, 3-3 presigned &#43; deleted.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; CTV:&lt;br/&gt;&amp;gt; 1) Intent sets: the set of specific next transactions, with unbound inputs&lt;br/&gt;&amp;gt; into it that can be mutated (but once the parent is known, can be filled in&lt;br/&gt;&amp;gt; for all children).&lt;br/&gt;&amp;gt; 2) Verifier: The transaction has the hash of the intent&lt;br/&gt;&amp;gt; 3) Prover: The transaction itself and no other work&lt;br/&gt;&amp;gt; 4) Proofs of impedance: trivial.&lt;br/&gt;&amp;gt; 5) Assumptions: sha256&lt;br/&gt;&amp;gt; 6) Composition: Any two CTVs can be OR&amp;#39;d together as separate leafs&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 2-3 Multisig:&lt;br/&gt;&amp;gt; 1) Intent: All possible sets of transactions, one set selected per instance&lt;br/&gt;&amp;gt; 2) Verifier: At least 2 signed the transition&lt;br/&gt;&amp;gt; 3) Prover: Receive some &amp;#39;state&amp;#39; in the form of business logic to enforce,&lt;br/&gt;&amp;gt; only sign if that is satisfied. Produce a signature.&lt;br/&gt;&amp;gt; 4) Impedance: The business logic must cover the instance&amp;#39;s Intent set and&lt;br/&gt;&amp;gt; must not be able to reach any other non-intent&lt;br/&gt;&amp;gt; 5) Assumptions: at least 2 parties are &amp;#39;honest&amp;#39; for both liveness and for&lt;br/&gt;&amp;gt; correctness, and the usual suspects (sha256, schnorr, etc)&lt;br/&gt;&amp;gt; 6) Composition: Any two groups can be OR&amp;#39;d together, if the groups have&lt;br/&gt;&amp;gt; different signers, then the assumptions expand&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 3-3 Presigned:&lt;br/&gt;&amp;gt; Same as CTV except:&lt;br/&gt;&amp;gt; 5) Assumptions: at least one party deletes their key after signing&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;  You can also think through other covenants like TLUV in this model.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; One useful question is the &amp;#39;cardinality&amp;#39; of an intent set. The useful&lt;br/&gt;&amp;gt; notion of this is both in magnitude but also contains. Obviously, many of&lt;br/&gt;&amp;gt; these are infinite sets, but if one set &amp;#39;contains&amp;#39; another then it is&lt;br/&gt;&amp;gt; definitionally more powerful. Also, if a set of transitions is &amp;#39;bigger&amp;#39;&lt;br/&gt;&amp;gt; (work to do on what that means?) than another it is potentially more&lt;br/&gt;&amp;gt; powerful.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Another question is around composition of different covenants inside of an&lt;br/&gt;&amp;gt; intent -- e.g., a TLUV that has a branch with a CTV or vice versa. We&lt;br/&gt;&amp;gt; consider this outside the model, analysis should be limited to &amp;#34;with only&lt;br/&gt;&amp;gt; these covenants what could you build&amp;#34;. Obviously, one recursive primitive&lt;br/&gt;&amp;gt; makes all primitives recursive.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Another question is &amp;#39;unrollability&amp;#39;. Can the intents, and the intents of&lt;br/&gt;&amp;gt; the outputs of the intents, be unrolled into a representation for a&lt;br/&gt;&amp;gt; specific instantiation? Or is that set of possible transactions infinite?&lt;br/&gt;&amp;gt; How infinite? CTV is, e.g., unrollable.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Last note on statefulness: The above has baked into it a notion of&lt;br/&gt;&amp;gt; &amp;#39;statelessness&amp;#39;, but it&amp;#39;s very possible and probably required that provers&lt;br/&gt;&amp;gt; maintain some external state in order to prove (whether multisig or not).&lt;br/&gt;&amp;gt; E.g., a multisig managing an account model covenant may need to track who&lt;br/&gt;&amp;gt; is owed what. This data can sometimes be put e.g. in an op return, an extra&lt;br/&gt;&amp;gt; tapleaf branch, or just considered exogenous to the covenant. But the idea&lt;br/&gt;&amp;gt; that a prover isn&amp;#39;t just deciding on what to do based on purely local&lt;br/&gt;&amp;gt; information to an output descriptor is important.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; For Sapio in particular, this framework is useful because if you can&lt;br/&gt;&amp;gt; answer the above questions on intents, and prover/verifier generators, then&lt;br/&gt;&amp;gt; you would be able to generate tooling that could integrate your covenant&lt;br/&gt;&amp;gt; into Sapio and have things work nicely. If you can&amp;#39;t answer these questions&lt;br/&gt;&amp;gt; (in code?) then your covenant might not be &amp;#39;well formed&amp;#39;. The efficiency of&lt;br/&gt;&amp;gt; a prover or verifier is out of scope of this framework, which focuses on&lt;br/&gt;&amp;gt; the engineering &#43; design, but can also be analyzed.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Grateful for any and all feedback on this model and if there are examples&lt;br/&gt;&amp;gt; that cannot be described within it,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Jeremy&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt; @JeremyRubin &amp;lt;&lt;a href=&#34;https://twitter.com/JeremyRubin&amp;gt&#34;&gt;https://twitter.com/JeremyRubin&amp;gt&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/20220412/01e41240/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220412/01e41240/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:07:15&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswjaptl95fcva34yr5v4gw6lk37a2ejundex6f87e67ekele6lk8czyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy5v4tzzr</id>
    
      <title type="html">📅 Original date posted:2022-03-15 📝 Original message:Boker ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswjaptl95fcva34yr5v4gw6lk37a2ejundex6f87e67ekele6lk8czyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy5v4tzzr" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0aal58qyqm2wkrpqm6z63g68t2jpp2ss4v7kjst6h4qreag5uqvg9yz253&#39;&gt;nevent1q…z253&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-03-15&lt;br/&gt;📝 Original message:Boker tov bitcoin devs,&lt;br/&gt;&lt;br/&gt;A mechanism of soft-forking against activation exists.  What more do you&lt;br/&gt;&amp;gt; want?&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;Agreed -- that should be enough.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; Are we supposed to write the code on behalf of this hypothetical group of&lt;br/&gt;&amp;gt; users who may or may not exist for them just so that they can have a node&lt;br/&gt;&amp;gt; that remains stalled on Speedy Trial lockin?&lt;br/&gt;&amp;gt;&lt;br/&gt;That simply isn&amp;#39;t reasonable, but if you think it is, I invite you to&lt;br/&gt;&amp;gt; create such a fork.&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;Disagree.&lt;br/&gt;&lt;br/&gt;It is a reasonable ask.&lt;br/&gt;&lt;br/&gt;I&amp;#39;ve done it in about 40 lines of python:&lt;br/&gt;&lt;a href=&#34;https://github.com/jeremyrubin/forkd&#34;&gt;https://github.com/jeremyrubin/forkd&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Merry Christmas Jorge, please vet the code carefully before running.&lt;br/&gt;&lt;br/&gt;Peace,&lt;br/&gt;&lt;br/&gt;Jeremy&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/20220315/07cb6ea8/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220315/07cb6ea8/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:06:05&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsyypw0k7z9ts5nwv9j6348djjv2uc86jxsnl9d49fck8ch36k46xszyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy5sj3rw0</id>
    
      <title type="html">📅 Original date posted:2022-03-08 📝 Original message:Logs ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsyypw0k7z9ts5nwv9j6348djjv2uc86jxsnl9d49fck8ch36k46xszyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy5sj3rw0" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsg8tx4xuxvh8lfdqyc5yukk3azuq8n383janm32pvkxu8a38q9ckqteszy0&#39;&gt;nevent1q…szy0&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-03-08&lt;br/&gt;📝 Original message:Logs here: &lt;a href=&#34;https://gnusha.org/ctv-bip-review/2022-03-08.log&#34;&gt;https://gnusha.org/ctv-bip-review/2022-03-08.log&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Notes:&lt;br/&gt;&lt;br/&gt;1) Sapio Updates&lt;br/&gt;&lt;br/&gt;Sapio has Experimental Taproot Support now.&lt;br/&gt;See logs for how to help.&lt;br/&gt;Rust-bitcoin can also use your help reviewing, e.g.&lt;br/&gt;&lt;a href=&#34;https://github.com/rust-bitcoin/rust-miniscript/pull/305&#34;&gt;https://github.com/rust-bitcoin/rust-miniscript/pull/305&lt;/a&gt;&lt;br/&gt;Adding MuSig support for the oracle servers would be really cool, if&lt;br/&gt;someone wants a challenge.&lt;br/&gt;&lt;br/&gt;2) Transaction Sponsors&lt;br/&gt;&lt;br/&gt;What sponsors are vs. RBF/CPFP.&lt;br/&gt;Why there&amp;#39;s not a BIP # assigned (despite it being written up as a BIP&#43;impl&lt;br/&gt;in&lt;br/&gt;&lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2020-September/018168.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2020-September/018168.html&lt;/a&gt;,&lt;br/&gt;should only get a number if it seems like people agree).&lt;br/&gt;&lt;br/&gt;3) James&amp;#39; Vaults Post&lt;br/&gt;&lt;br/&gt;James&amp;#39; vaults are similar to prior art on recursive CTV vaults (Kanzure&amp;#39;s /&lt;br/&gt;Jeremy&amp;#39;s), where the number of steps = 1.&lt;br/&gt;Actually ends up being a very good design for many custody purposes, might&lt;br/&gt;be a good &amp;#34;80% of the benefit 20% of the work&amp;#34; type of thing.&lt;br/&gt;People maybe want different things out of vaults... how customizable must&lt;br/&gt;it be?&lt;br/&gt;&lt;br/&gt;4) Mailing list be poppin&amp;#39;&lt;br/&gt;&lt;br/&gt;Zmn shared a prepared remark which spurred a nice conversation.&lt;br/&gt;General sentiment that we should be careful adding crazy amounts of power,&lt;br/&gt;with great power comes great responsibility...&lt;br/&gt;Maybe we shouldn&amp;#39;t care though -- don&amp;#39;t send to scripts you don&amp;#39;t like?&lt;br/&gt;Math is scary -- you can do all sorts of bizarre stuff with more power&lt;br/&gt;(e.g., what if you made an EVM inside a bitcoin output).&lt;br/&gt;Things like OP_EVICT should be bounded by design.&lt;br/&gt;Problem X: Infrastructure issue for all more flexible covenants:&lt;br/&gt;   1) generate a transition function you would like&lt;br/&gt;   2) compile it into a script covenant&lt;br/&gt;   3) request the transition/txn you want to have happen&lt;br/&gt;    4) produce a satisifaction of the script covenant for that transaction&lt;br/&gt;   5) prove the transition function *is* what you wanted/secure&lt;br/&gt;Quantifying how hard X is for a given proposal is a good idea.&lt;br/&gt;You can prototype covenants with federations in Sapio pretty easily... more&lt;br/&gt;people should try this!&lt;br/&gt;&lt;br/&gt;5) General discuss&lt;br/&gt;People suck at naming things... give things more unique names for protocols!&lt;br/&gt;Jeremy will name something the Hot Tub Coin Machine&lt;br/&gt;Some discussion on forking, if theres any kind of consensus forming, doing&lt;br/&gt;things like&lt;br/&gt;&lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-April/018833.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-April/018833.html&lt;/a&gt;&lt;br/&gt;How much does a shot-on-goal cost / unforced errors of not making an&lt;br/&gt;activating client available precluding being able to activate&lt;br/&gt;luke-jr: never ST; ST is a reason enough to oppose CTV&lt;br/&gt;jamesob: &amp;lt;javascript&amp;gt; OP_DOTHETHING&lt;br/&gt;&lt;br/&gt;best,&lt;br/&gt;&lt;br/&gt;Jeremy&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;@JeremyRubin &amp;lt;&lt;a href=&#34;https://twitter.com/JeremyRubin&amp;gt&#34;&gt;https://twitter.com/JeremyRubin&amp;gt&lt;/a&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/20220308/1b56b098/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220308/1b56b098/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:05:51&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsve5eyuvge7xywsslc8kprl9t6ypkn9jn6g23jrs40p09kxg7d7eqzyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy56n8ntz</id>
    
      <title type="html">📅 Original date posted:2022-03-05 📝 Original message:It ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsve5eyuvge7xywsslc8kprl9t6ypkn9jn6g23jrs40p09kxg7d7eqzyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy56n8ntz" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8mu6c5x4vycdn03hl3r8c4dvse6ts69twj9y5ykjfv3fn8szef3c2xy2qk&#39;&gt;nevent1q…y2qk&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-03-05&lt;br/&gt;📝 Original message:It seems like a decent concept for exploration.&lt;br/&gt;&lt;br/&gt;AJ, I&amp;#39;d be interested to know what you&amp;#39;ve been able to build with Chia Lisp&lt;br/&gt;and what your experience has been... e.g. what does the Lightning Network&lt;br/&gt;look like on Chia?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;One question that I have had is that it seems like to me that neither&lt;br/&gt;simplicity nor chia lisp would be particularly suited to a ZK prover...&lt;br/&gt;&lt;br/&gt;Were that the explicit goal, it would seem that we could pretty easily&lt;br/&gt;adapt something like Cairo for Bitcoin transactions, and then we&amp;#39;d get a&lt;br/&gt;big privacy benefit as well as enabling whatever programming paradigm you&lt;br/&gt;find convenient (as it is compiled to a circuit verifier of some kind)...&lt;br/&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/20220305/60845e5d/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220305/60845e5d/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:05:13&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8txtem85ufshc202k8dp2cksks9skk3rw0j3akyekd9xpps0grpgzyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy5fpw6gf</id>
    
      <title type="html">📅 Original date posted:2022-01-28 📝 Original ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8txtem85ufshc202k8dp2cksks9skk3rw0j3akyekd9xpps0grpgzyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy5fpw6gf" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs98caqap6kypettza3xsczxy8a86842jsz7cevaz3dhz3yt8k9pnsq44u6x&#39;&gt;nevent1q…4u6x&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-01-28&lt;br/&gt;📝 Original message:Apologies for the double post*, but I just had a follow up idea&lt;br/&gt;that&amp;#39;s pretty interesting to me.&lt;br/&gt;&lt;br/&gt;You can make the close portion of a DLC be an &amp;#34;optimistic&amp;#34; execution with a&lt;br/&gt;choice of justice scheme. This enables closing a DLC somewhat securely&lt;br/&gt;without exposing the oracles on-chain at all.&lt;br/&gt;&lt;br/&gt;Assuming honest oracles, the only cost of this mechanism over previous is&lt;br/&gt;that you have to do a script path spend (but it can be a top-level branch,&lt;br/&gt;since it&amp;#39;s the &amp;#34;most likely&amp;#34; one).&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;For every DLC branch like:&lt;br/&gt;&lt;br/&gt;*&amp;lt;CET-hash-i&amp;gt; CHECKTEMPLATEVERIFY&lt;br/&gt;&amp;lt;attestation-point1&amp;gt; CHECKSIG&lt;br/&gt;&amp;lt;attestation-point2&amp;gt; CHECKSIGADD&lt;br/&gt;&amp;lt;attestation-point3&amp;gt; CHECKSIGADD&lt;br/&gt;2 EQUAL*&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;add a 2 branches:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;*&amp;lt;CET-hash-A&amp;gt; CHECKTEMPLATEVERIFY&lt;br/&gt;&amp;lt;Alice&amp;gt; CHECKSIG&lt;br/&gt;*&lt;br/&gt;&lt;br/&gt;*&amp;lt;CET-hash-B&amp;gt; CHECKTEMPLATEVERIFY&lt;br/&gt;&amp;lt;Bob&amp;gt; CHECKSIG*&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;This enables Alice or Bob to &amp;#34;lock in&amp;#34; a redemption of the contract&lt;br/&gt;that becomes spendable by them after &amp;lt;period&amp;gt;. CET-hash-* should&lt;br/&gt;include a nLockTime/nSequence such that it is at the same time as the&lt;br/&gt;attestation points should be known.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Where CET-hash-T sends funds to a DLC that has the following conditions:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;(cooperate):&lt;br/&gt;&lt;br/&gt;*pk_internal=musig(Alice, Bob)*&lt;br/&gt;&lt;br/&gt;or (unilateral timeout)&lt;br/&gt;&lt;br/&gt;*&amp;lt;T&amp;gt; Checksig &amp;lt;2 weeks&amp;gt; CSV*&lt;br/&gt;&lt;br/&gt;or (show oracles for this outcome)&lt;br/&gt;&lt;br/&gt;*&amp;lt;CET-hash-i&amp;gt; CHECKTEMPLATEVERIFY*&lt;br/&gt;&lt;br/&gt;*&amp;lt;attestation-point1&amp;gt; CHECKSIG&lt;br/&gt;&amp;lt;attestation-point2&amp;gt; CHECKSIGADD&lt;br/&gt;&amp;lt;attestation-point3&amp;gt; CHECKSIGADD&lt;br/&gt;2 EQUAL*&lt;br/&gt;&lt;br/&gt;or (justice with no punishment), forall j !=i:&lt;br/&gt;&lt;br/&gt;*&amp;lt;CET-hash-j&amp;gt; CHECKTEMPLATEVERIFY*&lt;br/&gt;&lt;br/&gt;*&amp;lt;attestation-point1&amp;gt; CHECKSIG&lt;br/&gt;&amp;lt;attestation-point2&amp;gt; CHECKSIGADD&lt;br/&gt;&amp;lt;attestation-point3&amp;gt; CHECKSIGADD&lt;br/&gt;2 EQUAL*&lt;br/&gt;&lt;br/&gt;or (justice with punishment), forall j!=i:&lt;br/&gt;&lt;br/&gt;*&amp;lt;CET-hash-punish-j, send funds to not-T&amp;gt; CHECKTEMPLATEVERIFY*&lt;br/&gt;&lt;br/&gt;*&amp;lt;attestation-point1&amp;gt; CHECKSIG&lt;br/&gt;&amp;lt;attestation-point2&amp;gt; CHECKSIGADD&lt;br/&gt;&amp;lt;attestation-point3&amp;gt; CHECKSIGADD&lt;br/&gt;2 EQUAL*&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Justice with punishment seems to me to be the better option since T is&lt;br/&gt;actively choosing this resolution (the CTV transition is signed), but&lt;br/&gt;justice with no punishment might be better if you think the oracles&lt;br/&gt;might screw you over and collude to steal.&lt;br/&gt;&lt;br/&gt;One interesting question is if the justice transactions can be&lt;br/&gt;&amp;#34;compressed&amp;#34; to be fewer for a given outcome. I.e., if Bob has claimed&lt;br/&gt;that the outcome is 35, and there are 100 total outcomes, do we need&lt;br/&gt;99 justice paths or is there a way to make fewer of them? Intuitively,&lt;br/&gt;it would seem so, because if we have a 8-10 threshold for picking a&lt;br/&gt;path, a 3-10 proof would be sufficient to prove Bob claimed to know&lt;br/&gt;the 8-10 falsely. However, that then means 3-10 could collude, v.s.&lt;br/&gt;the fraud proof requiring a full 8-10 counter. Things to think about!&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Best,&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Jeremy&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;* this might actually be a triple or quadruple post depending on how&lt;br/&gt;you count, I adjusted which email was the subscriber on my mailing&lt;br/&gt;list account and resultantly sent from the old address... sincere&lt;br/&gt;apologies if you are seeing this message &amp;gt;1 times to those who were on&lt;br/&gt;the CC.&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;@JeremyRubin &amp;lt;&lt;a href=&#34;https://twitter.com/JeremyRubin&amp;gt&#34;&gt;https://twitter.com/JeremyRubin&amp;gt&lt;/a&gt;;&lt;br/&gt;&amp;lt;&lt;a href=&#34;https://twitter.com/JeremyRubin&amp;gt&#34;&gt;https://twitter.com/JeremyRubin&amp;gt&lt;/a&gt;;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Fri, Jan 28, 2022 at 9:21 AM Jeremy &amp;lt;jlrubin at mit.edu&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Lloyd,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This is an excellent write up, the idea and benefits are clear.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Is it correct that in the case of a 3/5th threshold it is a total 10x *&lt;br/&gt;&amp;gt; 30x = 300x improvement? Quite impressive.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I have a few notes of possible added benefits / features of DLCs with CTV:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 1) CTV also enables a &amp;#34;trustless timeout&amp;#34; branch, whereby you can have a&lt;br/&gt;&amp;gt; failover claim that returns funds to both sides.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; There are a few ways to do this:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A) The simplest is just an oracle-free &amp;lt;STH(timeout tx)&amp;gt; CTV whereby the&lt;br/&gt;&amp;gt; timeout transaction has an absolute/relative timelock after the creation of&lt;br/&gt;&amp;gt; the DLC in question.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; B) An alternative approach I like is to have the base DLC have a branch&lt;br/&gt;&amp;gt; `&amp;lt;STH(begin timeout)&amp;gt; CTV` which pays into a DLC that is the exact same&lt;br/&gt;&amp;gt; except it removes the just-used branch and replaces it with `&amp;lt;STH(timeout&lt;br/&gt;&amp;gt; tx)&amp;gt; CTV` which contains a relative timelock R for the desired amount of&lt;br/&gt;&amp;gt; time to resolve. This has the advantage of always guaranteeing at least R&lt;br/&gt;&amp;gt; amount of time since the Oracles have been claimed to be non-live to&lt;br/&gt;&amp;gt; &amp;#34;return funds&amp;#34;  to parties participating&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 2) CTV DLCs are non-interactive asynchronously third-party unilaterally&lt;br/&gt;&amp;gt; creatable.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; What I mean by this is that it is possible for a single party to create a&lt;br/&gt;&amp;gt; DLC on behalf of another user since there is no required per-instance&lt;br/&gt;&amp;gt; pre-signing or randomly generated state. E.g., if Alice wants to create a&lt;br/&gt;&amp;gt; DLC with Bob, and knows the contract details, oracles, and a key for Bob,&lt;br/&gt;&amp;gt; she can create the contract and pay to it unilaterally as a payment to Bob.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This enables use cases like pay-to-DLC addresses. Pay-to-DLC addresses can&lt;br/&gt;&amp;gt; also be constructed and then sent (along with a specific amount) to a third&lt;br/&gt;&amp;gt; party service (such as an exchange or Lightning node) to create DLCs&lt;br/&gt;&amp;gt; without requiring the third party service to do anything other than make&lt;br/&gt;&amp;gt; the payment as requested.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 3) CTV DLCs can be composed in interesting ways&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Options over DLCs open up many exciting types of instrument where Alice&lt;br/&gt;&amp;gt; can do things like:&lt;br/&gt;&amp;gt; A) Create a Option expiring in 1 week where Bob can add funds to pay a&lt;br/&gt;&amp;gt; premium and &amp;#34;Open&amp;#34; a DLC on an outcome closing in 1 year&lt;br/&gt;&amp;gt; B) Create an Option expiring in 1 week where one-of-many Bobs can pay the&lt;br/&gt;&amp;gt; premium (on-chain DEX?).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;  See &lt;a href=&#34;https://rubin.io/bitcoin/2021/12/20/advent-23/&#34;&gt;https://rubin.io/bitcoin/2021/12/20/advent-23/&lt;/a&gt; for more concrete&lt;br/&gt;&amp;gt; stuff around this.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; There are also opportunities for perpetual-like contracts where you could&lt;br/&gt;&amp;gt; combine into one logical DLC 12 DLCs closing 1 per month that can either be&lt;br/&gt;&amp;gt; payed out all at once at the end of the year, or profit pulled out&lt;br/&gt;&amp;gt; partially at any time earlier.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 4) This satisfies (I think?) my request to make DLCs expressible as Sapio&lt;br/&gt;&amp;gt; contracts in &lt;a href=&#34;https://rubin.io/bitcoin/2021/12/20/advent-23/&#34;&gt;https://rubin.io/bitcoin/2021/12/20/advent-23/&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 5) An additional performance improvement can be had for iterative DLCs in&lt;br/&gt;&amp;gt; Lightning where you might trade over a fixed set of attestation points with&lt;br/&gt;&amp;gt; variable payout curves (e.g., just modifying some set of the CTV points).&lt;br/&gt;&amp;gt; Defer to you on performance, but this could help enable some more HFT-y&lt;br/&gt;&amp;gt; experiences for DLCs in LN&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Best,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Jeremy&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt; @JeremyRubin &amp;lt;&lt;a href=&#34;https://twitter.com/JeremyRubin&amp;gt&#34;&gt;https://twitter.com/JeremyRubin&amp;gt&lt;/a&gt;;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Mon, Jan 24, 2022 at 3:04 AM Lloyd Fournier 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; Hi dlc-dev and bitcoin-dev,&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; tl;dr OP_CTV simplifies and improves performance of DLCs by a factor of *a lot*.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;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/20220128/7ec469d9/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220128/7ec469d9/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:02:42&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9ve08rgcqa7ys6j29dn59ks58e5j8zkxk8zveyryt52zwah9v4egzyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy5g5tl4v</id>
    
      <title type="html">📅 Original date posted:2015-07-22 📝 Original message:While ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9ve08rgcqa7ys6j29dn59ks58e5j8zkxk8zveyryt52zwah9v4egzyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy5g5tl4v" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvjv9kdtymhfwr88lflga4gu9q6fuja4hyzfm4je7kejtrefzlwdc65am5w&#39;&gt;nevent1q…am5w&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-07-22&lt;br/&gt;📝 Original message:While we&amp;#39;re all debating the block size, please review this proposal to&lt;br/&gt;modestly increase the number of transactions per block.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://gist.github.com/JeremyRubin/4d17d28d5c681a93fa63&#34;&gt;https://gist.github.com/JeremyRubin/4d17d28d5c681a93fa63&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Best,&lt;br/&gt;&lt;br/&gt;Jeremy&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/20150723/79674044/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150723/79674044/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:43:14&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsflh9szpy4jkmexxsmxha2m0c7us4k5lljgvs59h8lw5a42ztlzpszyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy5c26q44</id>
    
      <title type="html">📅 Original date posted:2015-07-21 📝 Original message:I ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsflh9szpy4jkmexxsmxha2m0c7us4k5lljgvs59h8lw5a42ztlzpszyqmjcvt8vymqkn4zpukhaqd9jd3m0ezm362955upcvfzqjwzcjuy5c26q44" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstypse9pvsw2vpws4zjaj0ppwdldwv6r9ujdrpjlghfexzp9wq3hgfhha98&#39;&gt;nevent1q…ha98&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2015-07-21&lt;br/&gt;📝 Original message:I think it&amp;#39;s not a horrible idea to just add a field into the transaction&lt;br/&gt;metadata for N_SIG_OPS in the script_sig&lt;br/&gt;&lt;br/&gt;It is much simpler in implementation if the concern is complexity (once a&lt;br/&gt;transaction goes above N_SIG_OPS it could be considered invalid, number&lt;br/&gt;computed must be equal). It wouldn&amp;#39;t even need to be stored permanently as&lt;br/&gt;it can be pruned easily and recomputed later (hashes would protect against&lt;br/&gt;buggy complicated sig counting code).&lt;br/&gt;&lt;br/&gt;Furthermore, it would differentiate a branch with different counts well.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Wed, Jul 22, 2015 at 2:09 AM, Gavin Andresen 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; On Mon, Jul 20, 2015 at 4:55 PM, Gregory Maxwell &amp;lt;gmaxwell at gmail.com&amp;gt;&lt;br/&gt;&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; On Mon, Jul 20, 2015 at 7:10 PM, Gavin Andresen via bitcoin-dev&lt;br/&gt;&amp;gt;&amp;gt; &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; Mitigate a potential CPU exhaustion denial-of-service attack by limiting&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; the maximum size of a transaction included in a block.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; This seems like a fairly indirect approach. The resource being watched&lt;br/&gt;&amp;gt;&amp;gt; for is not the size (otherwise two transactions for 200k would be&lt;br/&gt;&amp;gt;&amp;gt; strictly worse than one 200k transactions) but the potential of N^2&lt;br/&gt;&amp;gt;&amp;gt; costs related to repeated hashing in checksig; which this ignores.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Yes.  The tradeoff is implementation complexity: it is trivial to check&lt;br/&gt;&amp;gt; transaction size,&lt;br/&gt;&amp;gt; not as trivial to count signature operations, because&lt;br/&gt;&amp;gt; number-of-bytes-in-transaction&lt;br/&gt;&amp;gt; doesn&amp;#39;t require any context.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; But I would REALLY hate myself if in ten years a future version of me was&lt;br/&gt;&amp;gt; struggling to&lt;br/&gt;&amp;gt; get consensus to move away from some stupid 100,000 byte transaction size&lt;br/&gt;&amp;gt; limit&lt;br/&gt;&amp;gt; I imposed to mitigate a potential DoS attack.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; So I agree, a limit on sigops is the right way to go. And if that is being&lt;br/&gt;&amp;gt; changed,&lt;br/&gt;&amp;gt; might as well accurately count exactly how many sigops a transaction&lt;br/&gt;&amp;gt; actually&lt;br/&gt;&amp;gt; requires to be validated...&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt; Gavin Andresen&lt;br/&gt;&amp;gt;&lt;br/&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;&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/20150722/6ff84cc8/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150722/6ff84cc8/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T17:42:41&#43;02:00</updated>
  </entry>

</feed>