<?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/npub103ycruxnchhvja33mcnnkfdkgd0s7vlqlfkvufcdm5lnhpuh6f4q82kpam.rss" />
  <link href="https://nostr.ae/npub103ycruxnchhvja33mcnnkfdkgd0s7vlqlfkvufcdm5lnhpuh6f4q82kpam" />
  <id>https://nostr.ae/npub103ycruxnchhvja33mcnnkfdkgd0s7vlqlfkvufcdm5lnhpuh6f4q82kpam</id>
  <icon></icon>
  <logo></logo>




  <entry>
    <id>https://nostr.ae/nevent1qqsfs9e9g0aaeaserhrzx6zgxmn44njm5vcsjjmfpvrrzzlk4p535mszyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5my39qq</id>
    
      <title type="html">📅 Original date posted:2023-05-08 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsfs9e9g0aaeaserhrzx6zgxmn44njm5vcsjjmfpvrrzzlk4p535mszyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5my39qq" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstl5n33yec8qzaf8t79m6ny9d74c8ttp03vhr2wct0clsdn9jml7qndva4l&#39;&gt;nevent1q…va4l&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-05-08&lt;br/&gt;🗒️ Summary of this message: Michael Folkson suggests adding more moderators to the lightning-dev mailing list due to the increasing number of emails and intertwined discussions.&lt;br/&gt;📝 Original message:&lt;br/&gt;Perhaps we need another moderator or two for the lightning-dev mailing list? There are already a lot of emails on the bitcoin-dev mailing list and so despite my views on the trend of Bitcoin and Lightning discussion becoming increasingly intertwined it probably makes sense to keep both bitcoin-dev and lightning-dev lists and just bump the number of moderators on lightning-dev.&lt;br/&gt;&lt;br/&gt;Thanks&lt;br/&gt;Michael&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at protonmail.com&lt;br/&gt;GPG: A2CF5D71603C92010659818D2A75D601B23FEE0F&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Learn about Bitcoin: &lt;a href=&#34;https://www.youtube.com/@portofbitcoin&#34;&gt;https://www.youtube.com/@portofbitcoin&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Monday, May 8th, 2023 at 22:07, Vincenzo Palazzo &amp;lt;vincenzopalazzodev at gmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; &amp;gt; Is there a better place to have public communication? Unfortunately since one off topic email was sent here, it&amp;#39;s been a ghost town. It appears that there&amp;#39;s many emails being held and only one moderator that checks them once a week.&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Would hate to see this list die but wondering if there&amp;#39;s a better place for discussions?&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I think currently the list is the most accessible way that we have.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I am not aware of any other tools that are as accessible as the list archive&lt;br/&gt;&amp;gt; to search for some history, and also to allow people in 10 years from now to&lt;br/&gt;&amp;gt; implement some of the ideas proposed these days.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; But I would agree to change communication tools if we do not lose these&lt;br/&gt;&amp;gt; two properties.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Cheers.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Vincent.&lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; Lightning-dev mailing list&lt;br/&gt;&amp;gt; Lightning-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&lt;/a&gt;
    </content>
    <updated>2023-06-19T19:42:05&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8yprd7hgea3nsdashfjdqty3hx2uq258r4p8lec5qs7xrnj76q7qzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5p3cqpq</id>
    
      <title type="html">📅 Original date posted:2023-04-18 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8yprd7hgea3nsdashfjdqty3hx2uq258r4p8lec5qs7xrnj76q7qzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5p3cqpq" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0avn97svkhkjr9acy57w0yys9weldqf2qtw5wgkp046jxlrhw35qy2pn6a&#39;&gt;nevent1q…pn6a&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-04-18&lt;br/&gt;🗒️ Summary of this message: The dysfunction in the Bitcoin Core project has led to the idea of a Knots style Bitcoin implementation integrated with Core Lightning, as a tighter coupling between the full node and the Lightning node could eventually make sense.&lt;br/&gt;📝 Original message:&lt;br/&gt;Any thoughts on this from the Core Lightning contributors? The way I see it with upcoming proposed changes to default policy (primarily though not exclusively for Lightning) and a soft fork activation attempt of APO/APOAS (primarily though not exclusively for Lightning) that a tighter coupling between the full node and the Lightning node could eventually make sense. In a world where transaction fees were much higher you&amp;#39;d think almost every full node would also want to be a Lightning node and so the separation of concerns would make less sense. Having two separate P2P networks and two separate P2P protocols also wouldn&amp;#39;t make much sense in this scenario. You could obviously still opt out of Lightning P2P messages if you weren&amp;#39;t interested in Lightning.&lt;br/&gt;&lt;br/&gt;The alternative would be just to focus on Knots style consensus compatible forks of Core with limited additional functionality. But I think we&amp;#39;ve reached the point of no return on Core dominance and not having widely used &amp;#34;distros&amp;#34;. As the ecosystem scales systems and processes should be constantly evolving and improving and to me if anything Core&amp;#39;s seem to be going backwards.&lt;br/&gt;&lt;br/&gt;Thanks&lt;br/&gt;Michael&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at [protonmail.com](&lt;a href=&#34;http://protonmail.com/&#34;&gt;http://protonmail.com/&lt;/a&gt;)&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Saturday, January 14th, 2023 at 20:26, Michael Folkson &amp;lt;michaelfolkson at protonmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; I tweeted this [0] back in November 2022.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;#34;With the btcd bugs and the analysis paralysis on a RBF policy option in Core increasingly thinking @BitcoinKnots and consensus compatible forks of Core are the future. Gonna chalk that one up to another thing @LukeDashjr was right about all along.&amp;#34;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A new bare bones Knots style Bitcoin implementation (in C&#43;&#43;/C) integrated with Core Lightning was a long term idea I had (and presumably many others have had) but the dysfunction on the Bitcoin Core project this week (if anything it has been getting worse over time, not better) has made me start to take the idea more seriously. It is clear to me that the current way the Bitcoin Core project is being managed is not how I would like an open source project to be managed. Very little discussion is public anymore and decisions seem to be increasingly made behind closed doors or in private IRC channels (to the extent that decisions are made at all). Core Lightning seems to have the opposite problem. It is managed effectively in the open (admittedly with fewer contributors) but doesn&amp;#39;t have the eyeballs or the usage that Bitcoin Core does. Regardless, selfishly I at some point would like a bare bones Bitcoin and Lightning implementation integrated in one codebase. The Bitcoin Core codebase has collected a lot of cruft over time and the ultra conservatism that is needed when treating (potential) consensus code seems to permeate into parts of the codebase that no one is using, definitely isn&amp;#39;t consensus code and should probably just be removed.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The libbitcoinkernel project was (is?) an attempt to extract the consensus engine out of Core but it seems like it won&amp;#39;t achieve that as consensus is just too slippery a concept and Knots style consensus compatible codebase forks of Bitcoin Core seem to still the model. To what extent you can safely chop off this cruft and effectively maintain this less crufty fork of Bitcoin Core also isn&amp;#39;t clear to me yet.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Then there is the question of whether it makes sense to mix C and C&#43;&#43; code that people have different views on. C&#43;&#43; is obviously a superset of C but assuming this merging of Bitcoin Core and Core Lightning is/was the optimal final destination it surely would have been better if Core Lightning was written in the same language (i.e. with classes) as Bitcoin Core.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;m just floating the idea to (hopefully) hear from people who are much more familiar with the entirety of the Bitcoin Core and Core Lightning codebases. It would be an ambitious long term project but it would be nice to focus on some ambitious project(s) (even if just conceptually) for a while given (thankfully) there seems to be a lull in soft fork activation chaos.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Thanks&lt;br/&gt;&amp;gt; Michael&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [0]: &lt;a href=&#34;https://twitter.com/michaelfolkson/status/1589220155006910464?s=20&amp;amp;t=GbPm7w5BqS7rS3kiVFTNcw&#34;&gt;https://twitter.com/michaelfolkson/status/1589220155006910464?s=20&amp;amp;t=GbPm7w5BqS7rS3kiVFTNcw&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt; Michael Folkson&lt;br/&gt;&amp;gt; Email: michaelfolkson at [protonmail.com](&lt;a href=&#34;http://protonmail.com/&#34;&gt;http://protonmail.com/&lt;/a&gt;)&lt;br/&gt;&amp;gt; Keybase: michaelfolkson&lt;br/&gt;&amp;gt; PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&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/20230418/a61cc0c7/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20230418/a61cc0c7/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T15:13:03&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsr8s2tprgztx48d3rpurzxl5gy0zlzjw2nq6jk9cep9gwje40fuygzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5lzn40l</id>
    
      <title type="html">📅 Original date posted:2023-05-10 📝 Original message: ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsr8s2tprgztx48d3rpurzxl5gy0zlzjw2nq6jk9cep9gwje40fuygzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5lzn40l" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsx4k82zlcvppstdddcu26t8gjdvgt6eakhu753y049j9wat24zfvgz6prty&#39;&gt;nevent1q…prty&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-05-10&lt;br/&gt;📝 Original message:&lt;br/&gt;&amp;gt;From my perspective it really comes down to whether you want security *guarantees* or data to assist you in making probabilistic judgments about future behavior. Reputation data or reputation systems will never give you guarantees for the reasons Christian explains. But reputation data is better than nothing and depending on the quality and granularity of the data could be considerably better than nothing. In the most basic case of deciding on a potential channel counterparty I would much rather choose a counterparty who has demonstrated competence and reliability over a number of years than a channel counterparty who has just joined the network and who I know nothing about. Similarly a Lightning node that hasn&amp;#39;t carried a jamming attack for multiple years despite having the opportunity to is a much better bet than a Lightning node of which I know nothing.&lt;br/&gt;&lt;br/&gt;Now where it sits on the software stack assuming a user opts into such a reputation &amp;#34;service&amp;#34; (plugin maybe or more likely an API) is I think what in essence this discussion is about. As I&amp;#39;ve already stated previously and which I agree with Christian on is that it isn&amp;#39;t/shouldn&amp;#39;t be a protocol or a P2P gossiping issue. In the same way as we have multiple Lightning explorers (1ML, Amboss etc) that aren&amp;#39;t part of the Lightning protocol or part of the &amp;#34;core&amp;#34; of a Lightning node you can expect there would be competing reputation data providers and services. Also many users for privacy and/or other reasons won&amp;#39;t be interested in using or participating in (to the extent they can opt out if the data is public) a reputation service.&lt;br/&gt;&lt;br/&gt;So yeah I think I&amp;#39;m somewhere in between Christian&amp;#39;s and Antoine&amp;#39;s perspectives here. I do think there are interesting projects, services or even businesses in this area of reputation but it isn&amp;#39;t a protocol/P2P gossiping issue or a &amp;#34;core&amp;#34; of a Lightning node issue.&lt;br/&gt;&lt;br/&gt;Thanks&lt;br/&gt;Michael&lt;br/&gt;&lt;br/&gt;[0]: &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-November/003766.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-November/003766.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at protonmail.com&lt;br/&gt;GPG: A2CF5D71603C92010659818D2A75D601B23FEE0F&lt;br/&gt;Learn about Bitcoin: &lt;a href=&#34;https://www.youtube.com/@portofbitcoin&#34;&gt;https://www.youtube.com/@portofbitcoin&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Wednesday, May 10th, 2023 at 12:57, Christian Decker &amp;lt;decker.christian at gmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; Hi Antoine,&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; this is an intrinsic issue with reputation systems, and the main&lt;br/&gt;&amp;gt; reason I&amp;#39;m sceptical w.r.t. their usefulness in lightning.&lt;br/&gt;&amp;gt; Fundamentally any reputation system bases their expectations for the&lt;br/&gt;&amp;gt; future on experiences they made in the past, and they are thus always&lt;br/&gt;&amp;gt; susceptible to sudden behavioral changes (going rogue from a prior&lt;br/&gt;&amp;gt; clean record) and whitewashing attacks (switching identity, abusing&lt;br/&gt;&amp;gt; any builtin bootstrapping method for new users to gain a good or&lt;br/&gt;&amp;gt; neutral reputation before turning rogue repeatedly).&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; This gets compounded as soon as we start gossiping about reputations,&lt;br/&gt;&amp;gt; since now our decisions are no longer based just on information we can&lt;br/&gt;&amp;gt; witness ourselves, or at least verify its correctness, and as such an&lt;br/&gt;&amp;gt; attacker can most likely &amp;#34;earn&amp;#34; a positive reputation in some other&lt;br/&gt;&amp;gt; part of the world, and then turn around and attack the nodes that&lt;br/&gt;&amp;gt; trusted the reputation shared from those other parts.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I&amp;#39;d be very interested in how many repeat interactions nodes get from&lt;br/&gt;&amp;gt; individual senders, since that also tells us how much use we can get&lt;br/&gt;&amp;gt; out of local-only reputation based systems, and I wouldn&amp;#39;t be&lt;br/&gt;&amp;gt; surprised if, for large routing nodes, we have sufficient data for&lt;br/&gt;&amp;gt; them to make an informed decision, while the edges may be more&lt;br/&gt;&amp;gt; vulnerable, but they&amp;#39;d also be used by way fewer senders, and the&lt;br/&gt;&amp;gt; impact of an attack would also be proportionally smaller.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt; Christian&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; On Mon, May 8, 2023 at 10:26 PM Antoine Riard antoine.riard at gmail.com wrote:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Hi *,&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Our suggestion is to start simple with a binary endorsement field. As&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; we learn more, we will be better equipped to understand whether a&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; more expressive value is required.&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; I think the HTLC endorsement scheme as proposed is still suffering from a vulnerability as local reputation can be built up during periods of low routing fees, endorsement gained and then abused during periods of high routing fees. Therefore, it sounds to me this scheme should aim for some reputational transitivity between incoming traffic and outgoing traffic. Namely, the acquisition cost of the local reputation should be equal to the max timevalue damage that one can inflict on a routing node channel accessible from its local counterparty granting this high-level of reputation.&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; I don&amp;#39;t know if this can be fixed by ensuring permanent link-level &amp;#34;gossip&amp;#34; where counterparties along a payment path expose their reputation heuristics to guarantee this transitivity, or it&amp;#39;s a fundamental issue with a point-to-point approach like HTLC endorsement.&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Opened an issue on the repository to converge on a threat model:&lt;br/&gt;&amp;gt; &amp;gt; &lt;a href=&#34;https://github.com/ClaraShk/LNJamming/pull/13&#34;&gt;https://github.com/ClaraShk/LNJamming/pull/13&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; I still think building data gathering infrastructure for Lightning is valuable as ultimately any jamming mitigation will have to adapt its upfront fees or reputation acquisition cost in function of HTLC traffic and market forces.&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Looking forward to giving an update on Staking Credentials [0], an end-to-end approach to mitigate channel jamming.&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Best,&lt;br/&gt;&amp;gt; &amp;gt; Antoine&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; [0] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-November/003754.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-November/003754.html&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Le dim. 30 avr. 2023 à 03:57, Carla Kirk-Cohen kirkcohenc at gmail.com a écrit :&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Hi list,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Some updates on channel jamming!&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; # Next Call&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; - Monday 01 May @ 15:00 UTC&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; - &lt;a href=&#34;https://meet.jit.si/UnjammingLN&#34;&gt;https://meet.jit.si/UnjammingLN&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; - Agenda: &lt;a href=&#34;https://github.com/ClaraShk/LNJamming/issues/12&#34;&gt;https://github.com/ClaraShk/LNJamming/issues/12&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; # Data Gathering&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; During these weekly calls, we&amp;#39;ve come to agreement that we would like&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; to gather data about the use of HTLC endorsement and local reputation&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; tracking for jamming mitigation. A reminder of the full scheme is&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; included at the end of this email, and covered more verbosely in [1].&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; We have a few goals in mind:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; - Observe the effect of endorsement in the steady state with&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; logging-only implementation.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; - Gather real-world data for use in future simulation work.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; - Experiment with different algorithms for tracking local reputation.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; The minimal changes required to add HTLC endorsement are outlined in [2].&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Our suggestion is to start simple with a binary endorsement field. As&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; we learn more, we will be better equipped to understand whether a&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; more expressive value is required.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; With this infrastructure in place, we can start to experiment with&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; various local reputation schemes and data gathering, possibly even&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; externally to LN implementations in projects like circuitbreaker [3].&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; We&amp;#39;d be interested to hear whether there&amp;#39;s any appetite to deploy using&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; an experimental TLV value?&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; # Reputation Scheme&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; - Each node locally tracks the reputation of its direct neighbors.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; - Each node allocates, per its risk tolerance:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; - A number of slots reserved for endorsed HTLCs from high reputation&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; peers.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; - A portion of liquidity reserved for endorsed HTLCs from high&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; reputation peers.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; - Forwarding of HTLCs:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; - If a HTLC is endorsed by a high reputation peer, it is forwarded&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; as usual with endorsed = 1.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; - Otherwise, it is forwarded with endorsed = 0 if there are slots and&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; liquidity available for unknown HTLCs.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Endorsement and reputation are proposed as the first step in a two part&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; scheme for mitigating channel jamming:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; - Reputation for slow jams which are easily detected as misbehavior.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; - Unconditional fees for quick jams that are difficult to detect, as&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; they can always fall under a target threshold.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Looking forward to discussing further in the upcoming call!&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Best,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Carla and Clara&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; [1] &lt;a href=&#34;https://gist.github.com/carlaKC/be820bb638624253f3ae7b39dbd0e343&#34;&gt;https://gist.github.com/carlaKC/be820bb638624253f3ae7b39dbd0e343&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; [2] &lt;a href=&#34;https://github.com/lightning/bolts/pull/1071&#34;&gt;https://github.com/lightning/bolts/pull/1071&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; [3] &lt;a href=&#34;https://github.com/lightningequipment/circuitbreaker&#34;&gt;https://github.com/lightningequipment/circuitbreaker&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Lightning-dev mailing list&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Lightning-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; &amp;gt; Lightning-dev mailing list&lt;br/&gt;&amp;gt; &amp;gt; Lightning-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&lt;/a&gt;&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; Lightning-dev mailing list&lt;br/&gt;&amp;gt; Lightning-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&lt;/a&gt;
    </content>
    <updated>2023-06-09T15:08:48&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsxjru2rs8ak5h400cvexd73j7jpv0xn626qgeghx4rju39ty7p59szyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5fe8uav</id>
    
      <title type="html">📅 Original date posted:2022-11-26 📝 Original message: Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxjru2rs8ak5h400cvexd73j7jpv0xn626qgeghx4rju39ty7p59szyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5fe8uav" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgk2chuntfwunddu9pzlxjklgqpvfhqpt5g0ygu9tguchu9af48xgka3e2x&#39;&gt;nevent1q…3e2x&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-11-26&lt;br/&gt;📝 Original message:&lt;br/&gt;Hi Antoine&lt;br/&gt;&lt;br/&gt;I&amp;#39;ve got a lot to catch up on re channel jamming but just to say I&amp;#39;m deeply skeptical about attempting to embed a reputation layer or reputation credentials into the Lightning protocol. Admittedly I&amp;#39;m somewhat of a curious amateur in the field of reputation systems but a number of people (me included) have had to look into reputation systems in the past for projects/startups they were working on and centralized​​ reputation systems are absolute minefields to manage effectively though some corporations do manage it. Decentralized reputation systems baked into a protocol is just a step too far. All you need is one edge case where the attacker can ensure an innocent party is blamed and the reputation system falls apart. The protocol developer is in the position of assessing who is telling the truth out of two opposing viewpoints on Reddit etc.&lt;br/&gt;&lt;br/&gt;I do think reputation systems will play a key part in a future Lightning Network (to some extent they already are with sites like 1ML and Amboss) but they won&amp;#39;t be managed by protocol devs, they will be managed by multiple flavors of companies and projects (hopefully open source but most likely closed source too, for profit, non-profit etc) who are free to use whatever metrics and weigh those metrics however they like. The protocol just can&amp;#39;t afford to expand into areas where there is case by case judgment and statistical analysis required. It will become bloated, ineffective and put protocol developers in the position of deciding who ultimately receives routing fees rather than just enabling payments can get from A to B. Identity is easier, you either control a private key or you don&amp;#39;t. Reputation is much more difficult, there will be some attacks where a probabilistic assessment will need to be made on who the perpetrator of the attack was. You don&amp;#39;t add that to the (already long) list of protocol developers&amp;#39; responsibilities.&lt;br/&gt;&lt;br/&gt;So feel free to continue to explore reputation and reputation systems but a strong warning that this is likely not solved at the protocol level. Decisions protocol developers make will impact what data can be collected and how easy that data is to collect (there are already some tricky trade-offs with regards to privacy, routing success and transparency for when things go wrong) but beyond that protocol developers should leave it to others. I&amp;#39;ve included some links to some additional reading on reputation systems in case you are interested.&lt;br/&gt;&lt;br/&gt;Thanks&lt;br/&gt;Michael&lt;br/&gt;&lt;br/&gt;[0]: &lt;a href=&#34;https://www.amazon.com/Building-Reputation-Systems-Randy-Farmer/dp/059615979X/&#34;&gt;https://www.amazon.com/Building-Reputation-Systems-Randy-Farmer/dp/059615979X/&lt;/a&gt;&lt;br/&gt;[1]: &lt;a href=&#34;https://medium.com/openbazaarproject/decentralized-reputation-in-openbazaar-1a577fac5175&#34;&gt;https://medium.com/openbazaarproject/decentralized-reputation-in-openbazaar-1a577fac5175&lt;/a&gt;&lt;br/&gt;[2]: &lt;a href=&#34;https://www.bitrated.com/faq&#34;&gt;https://www.bitrated.com/faq&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at [protonmail.com](&lt;a href=&#34;http://protonmail.com/&#34;&gt;http://protonmail.com/&lt;/a&gt;)&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Monday, November 21st, 2022 at 06:01, Antoine Riard &amp;lt;antoine.riard at gmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Hi LN Devs,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; tl;dr A formalization of a reputation-based scheme to solve channel jamming is proposed. The system relies on &amp;#34;credentials&amp;#34; issued by routing hops and requested to be attached to each HTLC forward request. The &amp;#34;credentials&amp;#34; can be used by a reputation algorithm to reward/punish payment senders and allocate channel liquidity resources efficiently. The &amp;#34;credentials&amp;#34; initial distribution can be bootstrapped leveraging one-time upfront fees paid toward the routing hops. Afterwards, the &amp;#34;credentials&amp;#34; subsequent distribution can rely on previous HTLC traffic.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A protocol description can be found here, with few extensions already to the BOLTs:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/lightning/bolts/pull/1043&#34;&gt;https://github.com/lightning/bolts/pull/1043&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; There is also a work-in-progress proof-of-concept in LDK (on top of our coming soon^TM HTLC intercepting API):&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/lightningdevkit/rust-lightning/pull/1848&#34;&gt;https://github.com/lightningdevkit/rust-lightning/pull/1848&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This work builds on previous reputation-scheme research [0] [1]. It also integrates the more recent proposals of upfront fees as a straightforward mechanism to bootstrap the reputation system. Bootstrapping the system with more economically cost-effective privacy-preserving UTXO ownership proofs not only add another layer of engineering complexity, there is still a proof size vs proof generation/validation trade-off to arbiter between ZKP cryptosystems.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Rather to seek for a game-theory equilibrium defined as a breakeven point as in the latest unconditional fee research [2], this proposal aims to use reputation credentials to allow HTLC traffic-shaping. This not only should protect against jamming situations (either malicious&lt;br/&gt;&amp;gt; or spontaneous) but also allow active HTLC traffic-shaping, where a routing hop can allow extended channel liquidity lockups based on accumulated reputation (e.g for hold-invoices). This is also a reduced overhead cost, as upfront fees are only paid at bootstrap, or when the HTLC forward behavior can be qualified as &amp;#34;whitewashing&amp;#34; from the routing hop viewpoint.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It should be noted, this current reputation-credential architectural framework assumes credentials distribution at the endpoint of the network. However, the framework should be flexible enough for the credentials to be harvested by the LSPs, and then distributed in a secondary fashion to their spokes, when they need it, or even attached transparently thanks to trampoline. So one design intuition, there is no strong attachment of the reputation to the endpoint HTLC sender, even if the protocol is described in a &amp;#34;flat&amp;#34; view for now.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Let&amp;#39;s evaluate quickly this mitigation proposal against a few criterias emerged from recent research.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The mitigation is effective, in the sense a routing hop can apply a proportional relationship between the acquisition of the reputation and the amount of liquidity resources credited in function of said reputation. In a period of steady state, the reputation acquisition cost can be downgraded to 0. In periods of channel congestion, the reputation credentials to liquidity units translation can be severed, in the limit of routing hop acceptable competitiveness.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The mitigation is incentive-compatible, if the credentials are not honored by their issuers, the HTLC senders can evict them from the routing network view for a while. The successful usage of credentials can lead to more credentials allocated for longer and more capacity-intensive channel lockups. In case of HTLC failure, the failure source could be forgiven by routing hops to maintain the worthiness of the sender credentials.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The mitigation can be made transparent from the user, as the credentials harvesting can be done automatically from a pre-allocated budget, similar to the fee-bumping reserves requirement introduced by anchor output. At the end of today, if we take modern browsers as an example, the average user doesn&amp;#39;t check manually the TLS certificates (for what they&amp;#39;re worth...).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The mitigation can conserve high-level privacy, as the usage of blinded signature (or another equivalent cryptosystem breaking signature/message linking) should allow the credentials issued during a preliminary phase to be undistinguishable during the redeem/usage phase. New CPU/memory DoS vectors due to the credentials processing should be watched out.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; About the ease of implementation, there are few protocol messages to modify, a HTLC intercepting API is assumed as supported by the implementation, onion messages support is also implied, landing EC blinded signature in libsecp256k1-zkp shouldn&amp;#39;t be a big deal, routing algorithms adaptations might be more serious but still reasonable. The &amp;#34;credentials-to-liquidity&amp;#34; allocation algorithms are likely the new real beast, though I don&amp;#39;t think any reputation scheme can spare them.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; There could be a concern about the centralization inertia introduced by a reputation system. Intuitively, the argument can be made that any historical tracking (such as routing buckets) favor established LN incumbents at the gain of efficiency. A counter-argument can be made, a new routing hop can lower the acquisition cost of its issued credentials to attract more HTLC traffic (accepting higher jamming risk).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On the ecosystem impacts, it should be studied that this proposal would impact things like inbound channel routing fees [3], ratecard [4] or flow-control valve [5] and the whole liquidity toolchain. Hopefully, we don&amp;#39;t significantly restrain the design space for future LN protocol upgrades.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On the proposal modularity and flexibility, each routing node has oversight on its routing policy, acquisition methods, credentials to liquidity rate. New acquisition methods can be experimented or deployed when ready, e.g stakes certificates with only e2e upgrade. The credentials themselves could have &amp;#34;innate&amp;#34; expiration time if we use things like short-lived ZKP [6]. The credentials framework can be extended beyond solving jamming, as a generalized risk-management framework for Bitcoin decentralized financial network, e.g transaction signature exchange ordering in multi-party transactions [7] or finding reliable Coinjoin counterparties.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Feedback welcome.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt; Antoine&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [0] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-November/002884.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-November/002884.html&lt;/a&gt;&lt;br/&gt;&amp;gt; [1] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-August/003673.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-August/003673.html&lt;/a&gt;&lt;br/&gt;&amp;gt; [2] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-November/003740.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-November/003740.html&lt;/a&gt;&lt;br/&gt;&amp;gt; [3] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-July/003643.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-July/003643.html&lt;/a&gt;&lt;br/&gt;&amp;gt; [4] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-September/003685.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-September/003685.html&lt;/a&gt;&lt;br/&gt;&amp;gt; [5] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-September/003686.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/lightning-dev/2022-September/003686.html&lt;/a&gt;&lt;br/&gt;&amp;gt; [6] &lt;a href=&#34;https://eprint.iacr.org/2022/190.pdf&#34;&gt;https://eprint.iacr.org/2022/190.pdf&lt;/a&gt;&lt;br/&gt;&amp;gt; [7] &lt;a href=&#34;https://github.com/lightning/bolts/pull/851#issuecomment-1290727242&#34;&gt;https://github.com/lightning/bolts/pull/851#issuecomment-1290727242&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/lightning-dev/attachments/20221126/0a8f484f/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20221126/0a8f484f/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T15:07:27&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqszpw8zl3aegrjtzh3r6grz0cvpndfh27hyrw6zkujmc0patf7txjqzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5g3ujp3</id>
    
      <title type="html">📅 Original date posted:2018-08-01 📝 Original message: ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqszpw8zl3aegrjtzh3r6grz0cvpndfh27hyrw6zkujmc0patf7txjqzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5g3ujp3" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswx89c6ve3r9nvt9sq7p6rtddfq4fh0e2zun0fg5zju8s48uf2scsewfznu&#39;&gt;nevent1q…fznu&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2018-08-01&lt;br/&gt;📝 Original message:&lt;br/&gt;Thanks for this ZmnSCPxj, very interesting.&lt;br/&gt;&lt;br/&gt;A couple of follow ups please:&lt;br/&gt;&lt;br/&gt;1) Poon-Dryja (LN penalty), Decker-Wattenhofer and Decker-Osuntokun-Russell&lt;br/&gt;(eltoo) just refer to the process for claiming funds when an old state is&lt;br/&gt;broadcast? Poon-Dryja doesn&amp;#39;t require a soft fork but&lt;br/&gt;Decker-Osuntokun-Russell does?&lt;br/&gt;2) How does Decker-Wattenhofer claim funds when an old state is broadcast?&lt;br/&gt;&lt;br/&gt;On Wed, Aug 1, 2018 at 11:36 AM, ZmnSCPxj via Lightning-dev &amp;lt;&lt;br/&gt;lightning-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Good morning list,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Recently, somebody on the IRC channel, asked regarding smart contracts&lt;br/&gt;&amp;gt; being transported via LN.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Indeed, this is theoretically possible, provided the &amp;#34;smart contract&amp;#34; is&lt;br/&gt;&amp;gt; implementable as a Bitcoin SCRIPT.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Afterwards, I opined that, for transportation of *arbitrary* contracts,&lt;br/&gt;&amp;gt; Poon-Dryja is superior to either Decker-Wattenhofer or&lt;br/&gt;&amp;gt; Decker-Osuntokun-Russell.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; So, first, my other opinions:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 1.  The only smart contract you really want to transport is HTLC (or&lt;br/&gt;&amp;gt; equivalent in scriptless script).  There really is no point in transporting&lt;br/&gt;&amp;gt; any other contract on LN.  HTLCs can even be used to implement&lt;br/&gt;&amp;gt; (nontransferable) swap options, and can be composed (at the cost of&lt;br/&gt;&amp;gt; increasing CLTV limits on backoff) to create multi-step swaps.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 2.  Decker-Osuntokun-Russell &amp;#34;eltoo&amp;#34; is far superior to Poon-Dryja&lt;br/&gt;&amp;gt; &amp;#34;LN-penalty&amp;#34; in everything else, except transportation of *arbitrary*&lt;br/&gt;&amp;gt; contracts.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Now, ultimately any Bitcoin SCRIPT may be expressed as a Boolean&lt;br/&gt;&amp;gt; computation whether or not the contract has been fulfilled by the&lt;br/&gt;&amp;gt; transaction that attempts to claim it.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; So I introduce, an arbitrary contract C, ostensibly to be transported over&lt;br/&gt;&amp;gt; LN.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; And I introduce our transactions, as so: [scriptSig, redeemScript] -&amp;gt;&lt;br/&gt;&amp;gt; redeeming transaction&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; To transport C over a channel between nodes A and B, under Poon-Dryja, we&lt;br/&gt;&amp;gt; first have a channel anchoring transaction onchain:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [/*arbitrary*/, A &amp;amp;&amp;amp; B] -&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Now suppose the entire output is to be put into a contract C. Under&lt;br/&gt;&amp;gt; Poon-Dryja, we create the below symmetrical series of transactions, with&lt;br/&gt;&amp;gt; only the anchoring transaction existing onchain:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [/*arbitrary*/, A &amp;amp;&amp;amp; B] -&amp;gt; [signA signB, (revoke) || (A &amp;amp;&amp;amp; B &amp;amp;&amp;amp; C)] -&amp;gt;&lt;br/&gt;&amp;gt; [signA signB witnessCbyA, revoke || (A &amp;amp;&amp;amp; CSV)] /* held by A */&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [/*arbitrary*/, A &amp;amp;&amp;amp; B] -&amp;gt; [signA signB, (revoke) || (A &amp;amp;&amp;amp; B &amp;amp;&amp;amp; C)] -&amp;gt;&lt;br/&gt;&amp;gt; [signA signB witnessCbyB, revoke || (B &amp;amp;&amp;amp; CSV)] /* held by B */&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Where (revoke) is the revocation key, whose derivation requires both A and&lt;br/&gt;&amp;gt; B, and whose half is kept secret by the A (resp. B) until they both agree&lt;br/&gt;&amp;gt; to revoke the old state.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Of note is that the only additional condition added to C is (A &amp;amp;&amp;amp; B),&lt;br/&gt;&amp;gt; which makes sense since the contract is between nodes A and B (and which&lt;br/&gt;&amp;gt; would be implicitly required by the funding transaction anyway).  The&lt;br/&gt;&amp;gt; (revoke) || does not affect the enforcement of C if the revocation key is&lt;br/&gt;&amp;gt; not yet revealed; once the revocation key is revealed, that revokes the&lt;br/&gt;&amp;gt; entire sequence of transactions (which is why (revoke) || appears in both&lt;br/&gt;&amp;gt; the second and third transactions above).  In particular, the&lt;br/&gt;&amp;gt; CSV-encumberance does not affect claiming of C; it encumbers the claiming&lt;br/&gt;&amp;gt; of the money, but does not interact with C itself.  Thus, any CLTV&lt;br/&gt;&amp;gt; conditions in C will not be interefered with by the CSV-encumberance on the&lt;br/&gt;&amp;gt; *next* transaction.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Note also that only signA and signB for the final transaction needs to be&lt;br/&gt;&amp;gt; shared; the witnessC can presumably be fulfilled by each side themselves&lt;br/&gt;&amp;gt; automatically.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On the other hand, under Decker-Osuntokun-Russell eltoo, the transaction&lt;br/&gt;&amp;gt; series is:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [/*arbitrary*/, A &amp;amp;&amp;amp; B] -&amp;gt; [signA signB, (CSV &amp;amp;&amp;amp; A &amp;amp;&amp;amp; B) || (CLTV &amp;amp;&amp;amp; A &amp;amp;&amp;amp;&lt;br/&gt;&amp;gt; B)] -&amp;gt; [nSequence signA signB, C]&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Now the above is massively simpler with no additional SCRIPT that needs to&lt;br/&gt;&amp;gt; be written, around the transported contract C --- but the CSV in the second&lt;br/&gt;&amp;gt; transaction, is now potentially interfering with the operation of the&lt;br/&gt;&amp;gt; contract C, as the final transaction cannot be enforced onchain until the&lt;br/&gt;&amp;gt; CSV has been satisfied.  This is in contrast with the Poon-Dryja case,&lt;br/&gt;&amp;gt; where the contract C appears immediately on the second transaction in the&lt;br/&gt;&amp;gt; sequence, and can be enforced, as soon as it appears onchain.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; (In eltoo, the (CTLV &amp;amp;&amp;amp; A &amp;amp;&amp;amp; B) branch of the intermediate contract is the&lt;br/&gt;&amp;gt; &amp;#34;update&amp;#34; path, and the CLTV required is always a past Unix Epoch time, so&lt;br/&gt;&amp;gt; this CLTV cannot interfere with the contract C).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The above consideration, is why I suppose that, *for arbitrary contracts*,&lt;br/&gt;&amp;gt; Poon-Dryja is superior.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Simply, the conclusion is that Decker-Osuntokun-Russell channels require a&lt;br/&gt;&amp;gt; CSV that may interfere with the contract C if C is time-sensitive (i.e. has&lt;br/&gt;&amp;gt; a CLTV or CSV itself), whereas Poon-Dryja requires CSV only for&lt;br/&gt;&amp;gt; revocability, and the CSV cannot prevent the enforcement of time-sensitive&lt;br/&gt;&amp;gt; C.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Indeed, as I pointed out, even when transporting HTLCs,&lt;br/&gt;&amp;gt; Decker-Osuntokun-Russell will require consideration of the CSV on top of&lt;br/&gt;&amp;gt; the CLTV-deltas imposed by intermediary nodes, with weights complicated by&lt;br/&gt;&amp;gt; the fact that CLTV-deltas are summed together but the highest CSV is added&lt;br/&gt;&amp;gt; to the CLTV total, which does not mix well with typical route-finding&lt;br/&gt;&amp;gt; algorithms (most of which assume a simple summing of costs, which&lt;br/&gt;&amp;gt; CLTV-deltas use but CSVs on Decker-Osuntokun-Russell do not since highest&lt;br/&gt;&amp;gt; is used).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In almost all other ways, Poon-Dryja is inferior:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 1.  Does not use nLockTime in a sufficiently clever way.&lt;br/&gt;&amp;gt; 2.  Dangerous &amp;#34;toxic waste&amp;#34; (old revoked transactions) which (1) you&lt;br/&gt;&amp;gt; should not recover from your backups and (2) you should not let your worst&lt;br/&gt;&amp;gt; enemy find, because they can publish those onchain and make you LOSE MONEY.&lt;br/&gt;&amp;gt; 3.  Symmetrical chains of transactions, different for both parties,&lt;br/&gt;&amp;gt; instead of a single chain.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In addition, arbitrary contracts are not really particularly useful.&lt;br/&gt;&amp;gt; HTLCs seem to me an important building block for digital value transfers,&lt;br/&gt;&amp;gt; and they (and their equivalents under scriptless) are sufficient for most&lt;br/&gt;&amp;gt; practical transfers.  Thus, moving forward, Decker-Osuntokun-Russell&lt;br/&gt;&amp;gt; remains a superior technology over Poon-Dryja.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt; ZmnSCPxj&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; Lightning-dev mailing list&lt;br/&gt;&amp;gt; Lightning-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at gmail.com&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 92D6 0159 214C FEE3&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/20180801/47c76b51/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20180801/47c76b51/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T14:51:17&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsz0njm4d6c5uy3xsvg2qqlungk4za66ac54jh9ytpep2dw9d4rzpszyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5vhjfdm</id>
    
      <title type="html">📅 Original date posted:2023-05-11 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsz0njm4d6c5uy3xsvg2qqlungk4za66ac54jh9ytpep2dw9d4rzpszyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5vhjfdm" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs20x8esz60xxuq0yaw5ewq6yl3c0dx3ms7679sx35a866p33cdeks6qcn8r&#39;&gt;nevent1q…cn8r&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-05-11&lt;br/&gt;🗒️ Summary of this message: The process of reporting vulnerabilities in Bitcoin Core through a small group of individuals may not be scalable for all bug reports, and public reporting may be appropriate in some cases. Delicate trade-offs exist between wider collaboration and keeping knowledge of the issue within a smaller group.&lt;br/&gt;📝 Original message:Hi alicexbt&lt;br/&gt;&lt;br/&gt;The vulnerability reporting process requires communication and resolution via a small group of individuals [0] rather than through open collaboration between any contributors on the repo. There are clearly examples where the process is critically needed, the most obvious past example being the 2018 inflation bug [1]. However, it doesn&amp;#39;t scale for all bug reports and investigations to go through this tiny funnel. For an issue that isn&amp;#39;t going to result in loss of onchain funds and doesn&amp;#39;t seem to present a systemic issue (e.g. network DoS attack, inflation bug) I&amp;#39;m of the view that opening a public issue was appropriate in this case especially as the issue initially assumed it was only impacting nodes running in debug mode (not a mode a node in production is likely to be running in).&lt;br/&gt;&lt;br/&gt;An interesting question though and I&amp;#39;m certainly happy to be corrected by those who have been investigating the issue. Some delicate trade-offs involved including understanding and resolving the issue faster through wider collaboration versus keeping knowledge of the issue within a smaller group.&lt;br/&gt;&lt;br/&gt;Thanks&lt;br/&gt;Michael&lt;br/&gt;&lt;br/&gt;[0]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/blob/master/SECURITY.md&#34;&gt;https://github.com/bitcoin/bitcoin/blob/master/SECURITY.md&lt;/a&gt;&lt;br/&gt;[1]: &lt;a href=&#34;https://bitcoincore.org/en/2018/09/20/notice/&#34;&gt;https://bitcoincore.org/en/2018/09/20/notice/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at [protonmail.com](&lt;a href=&#34;http://protonmail.com/&#34;&gt;http://protonmail.com/&lt;/a&gt;)&lt;br/&gt;GPG: A2CF5D71603C92010659818D2A75D601B23FEE0F&lt;br/&gt;&lt;br/&gt;Learn about Bitcoin: &lt;a href=&#34;https://www.youtube.com/@portofbitcoin&#34;&gt;https://www.youtube.com/@portofbitcoin&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Tuesday, May 9th, 2023 at 03:47, alicexbt via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Hi Bitcoin Developers,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; There is an open issue in bitcoin core repository which was created last week: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/issues/27586&#34;&gt;https://github.com/bitcoin/bitcoin/issues/27586&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I think this should have been reported privately as vulnerability instead of creating a GitHub issue even if it worked only in debug mode. Some users in the comments have also experienced similar issues without debug build used for bitcoind. I have not noticed any decline in the number of listening nodes on bitnodes.io in last 24 hours so I am assuming this is not an issue with majority of bitcoin core nodes. However, things could have been worse and there is nothing wrong in reporting something privately if there is even 1% possibility of it being a vulnerability. I had recently reported something to LND security team based on a closed issue on GitHub which eventually was not considered a vulnerability: &lt;a href=&#34;https://github.com/lightningnetwork/lnd/issues/7449&#34;&gt;https://github.com/lightningnetwork/lnd/issues/7449&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In the CPU usage issue, maybe the users can run bitcoind with bigger mempool or try other things shared in the issue by everyone.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This isn&amp;#39;t the first time either when vulnerability was reported publicly: &lt;a href=&#34;https://gist.github.com/chjj/4ff628f3a0d42823a90edf47340f0db9&#34;&gt;https://gist.github.com/chjj/4ff628f3a0d42823a90edf47340f0db9&lt;/a&gt; and this was even exploited on mainnet which affected some projects.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This email is just a request to consider the impact of any vulnerability if gets exploited could affect lot of things. Even the projects with no financial activity involved follow better practices.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; /dev/fd0&lt;br/&gt;&amp;gt; floppy disk guy&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Sent with [Proton Mail](&lt;a href=&#34;https://proton.me/&#34;&gt;https://proton.me/&lt;/a&gt;) secure email.&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/20230511/021610dd/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20230511/021610dd/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:21:42&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqstlsya4x0e549kqj0u9vgmxek8vwprl42jpnwfuqxt8vgp9mw5tfczyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5j34lvp</id>
    
      <title type="html">📅 Original date posted:2023-05-01 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqstlsya4x0e549kqj0u9vgmxek8vwprl42jpnwfuqxt8vgp9mw5tfczyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5j34lvp" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsr4n0ea8raf6xxltzpvh6qxvw8rhcwfj5n24huj3f0q40r46eg0askuh52d&#39;&gt;nevent1q…h52d&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-05-01&lt;br/&gt;🗒️ Summary of this message: A proposal to add new opcode functionality to existing scripts with no deeper introspection needed, similar to APO and CTV proposals.&lt;br/&gt;📝 Original message:Hi Salvatore&lt;br/&gt;&lt;br/&gt;Can you clarify for me which bucket this proposal sits? We have APO, CTV, OP_VAULT etc that are proposals to add additional functionality to SegWit version 1, Tapleaf version 0 scripts. We have Simplicity that would need a new Tapleaf version (e.g. Tapleaf version 1). And then there are CISA like proposals that would need a new SegWit version (e.g. SegWit version 2). It looks to me like your proposal is in the first bucket (same as APO, CTV etc) as it is just introducing new opcode functionality to existing script with no deeper introspection needed but previous and current discussion of fraud proofs, MATT frameworks etc made me initially think it was going to require more than that.&lt;br/&gt;&lt;br/&gt;Thanks&lt;br/&gt;Michael&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at [protonmail.com](&lt;a href=&#34;http://protonmail.com/&#34;&gt;http://protonmail.com/&lt;/a&gt;)&lt;br/&gt;GPG: A2CF5D71603C92010659818D2A75D601B23FEE0F&lt;br/&gt;&lt;br/&gt;Learn about Bitcoin: &lt;a href=&#34;https://www.youtube.com/@portofbitcoin&#34;&gt;https://www.youtube.com/@portofbitcoin&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Monday, April 24th, 2023 at 20:37, Salvatore Ingala via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Hello list,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; TL;DR: the core opcodes of MATT can build vaults with a very similar design&lt;br/&gt;&amp;gt; to OP_VAULT. Code example here:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/bitcoin-inquisition/bitcoin/compare/24.0...bigspider:bitcoin-inquisition:matt-vault&#34;&gt;https://github.com/bitcoin-inquisition/bitcoin/compare/24.0...bigspider:bitcoin-inquisition:matt-vault&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In my previous emails about the MATT proposal for smart contracts in&lt;br/&gt;&amp;gt; bitcoin [1], I mostly focused on proving its generality; that is, it&lt;br/&gt;&amp;gt; allows arbitrary smart contracts thanks to fraud proofs.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; While I still find this &amp;#34;completeness&amp;#34; result compelling, I spent more time&lt;br/&gt;&amp;gt; thinking about the framework itself; the construction is not very interesting&lt;br/&gt;&amp;gt; if it turns simple things into complicated ones. Luckily, this is not the case.&lt;br/&gt;&amp;gt; In particular, in this email we will not merkleize anything (other than taptrees).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This post describes some progress into formalizing the semantics of the core&lt;br/&gt;&amp;gt; opcodes, and demonstrates how they could be used to create vaults that seem&lt;br/&gt;&amp;gt; comparable to the ones built with OP_VAULT [2], despite using general purpose&lt;br/&gt;&amp;gt; opcodes.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; An implementation and some minimal tests matching the content of this&lt;br/&gt;&amp;gt; e-mail can be found in the link above, using the bitcoin-inquisition as the&lt;br/&gt;&amp;gt; base branch.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Note that the linked code is not well tested and is only intended for&lt;br/&gt;&amp;gt; exploratory and demonstrative purposes; therefore, bugs are likely at this&lt;br/&gt;&amp;gt; stage.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ##########################&lt;br/&gt;&amp;gt; # PART 1: MATT&amp;#39;s core&lt;br/&gt;&amp;gt; ##########################&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In this section, I will discuss plausible semantics for the core opcodes for MATT.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The two core opcodes are defined below as OP_CHECKINPUTCONTRACTVERIFY and&lt;br/&gt;&amp;gt; OP_CHECKOUTPUTCONTRACTVERIFY.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; (the initial posts named them OP_CHECK{INPUT,OUTPUT}COVENANTVERIFY)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; They enhance Script with the following capabilities:&lt;br/&gt;&amp;gt; - decide the taptree of the output&lt;br/&gt;&amp;gt; - embed some (dynamically computed) data in the output&lt;br/&gt;&amp;gt; - access the embedded data in the current UTXO (if any)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The opcodes below are incomplete, as they only control the output&amp;#39;s Script and&lt;br/&gt;&amp;gt; not the amounts; more on that below.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Other than that, the semantics should be quite close to the &amp;#34;right&amp;#34; one for&lt;br/&gt;&amp;gt; the MATT framework.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ### The opcodes&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; case OP_CHECKINPUTCONTRACTVERIFY:&lt;br/&gt;&amp;gt; {&lt;br/&gt;&amp;gt; // OP_CHECKINPUTCONTRACTVERIFY is only available in Tapscript&lt;br/&gt;&amp;gt; if (sigversion == SigVersion::BASE || sigversion == SigVersion::WITNESS_V0) return set_error(serror, SCRIPT_ERR_BAD_OPCODE);&lt;br/&gt;&amp;gt; // (x d -- )&lt;br/&gt;&amp;gt; if (stack.size() &amp;lt; 2)&lt;br/&gt;&amp;gt; return set_error(serror, SCRIPT_ERR_INVALID_STACK_OPERATION);&lt;br/&gt;&amp;gt; valtype&amp;amp; x = stacktop(-2);&lt;br/&gt;&amp;gt; valtype&amp;amp; d = stacktop(-1);&lt;br/&gt;&amp;gt; if (x.size() != 32 || d.size() != 32)&lt;br/&gt;&amp;gt; return set_error(serror, SCRIPT_ERR_INVALID_STACK_OPERATION);&lt;br/&gt;&amp;gt; const XOnlyPubKey nakedXOnlyKey{Span&amp;lt;const unsigned char&amp;gt;{x.data(), x.data() &#43; 32}};&lt;br/&gt;&amp;gt; const uint256 data(d);&lt;br/&gt;&amp;gt; if (!execdata.m_internal_key.has_value())&lt;br/&gt;&amp;gt; return set_error(serror, SCRIPT_ERR_UNKNOWN_ERROR); // TODO&lt;br/&gt;&amp;gt; // Verify that tweak(lift_x(x), d) equals the internal pubkey&lt;br/&gt;&amp;gt; if (!execdata.m_internal_key.value().CheckDoubleTweak(nakedXOnlyKey, &amp;amp;data, nullptr))&lt;br/&gt;&amp;gt; return set_error(serror, SCRIPT_ERR_WRONGCONTRACTDATA);&lt;br/&gt;&amp;gt; popstack(stack);&lt;br/&gt;&amp;gt; popstack(stack);&lt;br/&gt;&amp;gt; }&lt;br/&gt;&amp;gt; break;&lt;br/&gt;&amp;gt; case OP_CHECKOUTPUTCONTRACTVERIFY:&lt;br/&gt;&amp;gt; {&lt;br/&gt;&amp;gt; // OP_CHECKOUTPUTCONTRACTVERIFY is only available in Tapscript&lt;br/&gt;&amp;gt; if (sigversion == SigVersion::BASE || sigversion == SigVersion::WITNESS_V0) return set_error(serror, SCRIPT_ERR_BAD_OPCODE);&lt;br/&gt;&amp;gt; // (out_i x taptree d -- )&lt;br/&gt;&amp;gt; if (stack.size() &amp;lt; 4)&lt;br/&gt;&amp;gt; return set_error(serror, SCRIPT_ERR_INVALID_STACK_OPERATION);&lt;br/&gt;&amp;gt; int out_i = CScriptNum(stacktop(-4), fRequireMinimal).getint();&lt;br/&gt;&amp;gt; valtype&amp;amp; x = stacktop(-3);&lt;br/&gt;&amp;gt; valtype&amp;amp; taptree = stacktop(-2);&lt;br/&gt;&amp;gt; valtype&amp;amp; d = stacktop(-1);&lt;br/&gt;&amp;gt; auto outps = checker.GetTxvOut();&lt;br/&gt;&amp;gt; // Return error if the evaluation context is unavailable&lt;br/&gt;&amp;gt; if (!outps)&lt;br/&gt;&amp;gt; return set_error(serror, SCRIPT_ERR_UNKNOWN_ERROR); // TODO&lt;br/&gt;&amp;gt; if (x.size() != 32 || taptree.size() != 32 || (d.size() != 0 &amp;amp;&amp;amp; d.size() != 32))&lt;br/&gt;&amp;gt; return set_error(serror, SCRIPT_ERR_INVALID_STACK_OPERATION);&lt;br/&gt;&amp;gt; if (out_i &amp;lt; 0 || out_i &amp;gt;= (int)outps-&amp;gt;size())&lt;br/&gt;&amp;gt; return set_error(serror, SCRIPT_ERR_INVALID_STACK_OPERATION);&lt;br/&gt;&amp;gt; const XOnlyPubKey nakedXOnlyKey{Span&amp;lt;const unsigned char&amp;gt;{x.data(), x.data() &#43; 32}};&lt;br/&gt;&amp;gt; const uint256 data(d);&lt;br/&gt;&amp;gt; const uint256 *data_ptr = (d.size() == 0 ? nullptr : &amp;amp;data);&lt;br/&gt;&amp;gt; const uint256 merkle_tree(taptree);&lt;br/&gt;&amp;gt; CScript scriptPubKey = outps-&amp;gt;at(out_i).scriptPubKey;&lt;br/&gt;&amp;gt; if (scriptPubKey.size() != 1 &#43; 1 &#43; 32 || scriptPubKey[0] != OP_1 || scriptPubKey[1] != 32)&lt;br/&gt;&amp;gt; return set_error(serror, SCRIPT_ERR_WRONGCONTRACTDATA);&lt;br/&gt;&amp;gt; const XOnlyPubKey outputXOnlyKey{Span&amp;lt;const unsigned char&amp;gt;{scriptPubKey.data() &#43; 2, scriptPubKey.data() &#43; 34}};&lt;br/&gt;&amp;gt; // Verify that taptweak(tweak(lift_x(x), d), taptree) equals the internal pubkey&lt;br/&gt;&amp;gt; if (!outputXOnlyKey.CheckDoubleTweak(nakedXOnlyKey, data_ptr, &amp;amp;merkle_tree))&lt;br/&gt;&amp;gt; return set_error(serror, SCRIPT_ERR_WRONGCONTRACTDATA);&lt;br/&gt;&amp;gt; popstack(stack);&lt;br/&gt;&amp;gt; popstack(stack);&lt;br/&gt;&amp;gt; popstack(stack);&lt;br/&gt;&amp;gt; popstack(stack);&lt;br/&gt;&amp;gt; }&lt;br/&gt;&amp;gt; break;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ### Commentary&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; CheckDoubleTweak function (implemented in the branch) gets an x-only pubkey,&lt;br/&gt;&amp;gt; optionally some data, and optionally taptree&amp;#39;s merkle root.&lt;br/&gt;&amp;gt; It verifies that the x-only pubkey being tested equals the given naked pubkey,&lt;br/&gt;&amp;gt; optionally tweaked with the embedded data, optionally tweaked with the tagged&lt;br/&gt;&amp;gt; hash of the merkle tree per BIP-0341 [3].&lt;br/&gt;&amp;gt; Making both the tweaks optional allows to simplify the code, and also to obtain&lt;br/&gt;&amp;gt; more compact scripts in some spending paths.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In words:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; - OP_CHECKINPUTCONTRACTVERIFY: verify that the current input&amp;#39;s internal key&lt;br/&gt;&amp;gt; contains some embedded data (which would typically be passed through the&lt;br/&gt;&amp;gt; witness stack)&lt;br/&gt;&amp;gt; - OP_CHECKOUTPUTCONTRACTVERIFY: verify that a given output is a certain P2TR&lt;br/&gt;&amp;gt; output script containing the desired embedded data.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; TBD if the tweaking used for the embedded data tweak should use a tagged hash;&lt;br/&gt;&amp;gt; omitted for simplicity in this demo implementation.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ### Amount preservation&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In the code above and in the linked demo implementation, the opcodes only&lt;br/&gt;&amp;gt; operate on the scriptPubkey; a complete implementation would want to make sure&lt;br/&gt;&amp;gt; that amounts are correctly preserved.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The most direct and general way to address this would be to allow direct&lt;br/&gt;&amp;gt; introspection on the output amounts. This has the complication that output&lt;br/&gt;&amp;gt; amounts require 64-bits arithmetics, as discussed in the context of other&lt;br/&gt;&amp;gt; proposals, for example: [4].&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; One more limited approach that works well for many interesting contracts&lt;br/&gt;&amp;gt; is that of the deferred checks, implemented in OP_VAULT [2].&lt;br/&gt;&amp;gt; The idea is that all the amounts of the inputs that commit to the same output&lt;br/&gt;&amp;gt; script with OP_CHECKOUTPUTCONTRACTVERIFY are added together, and the script&lt;br/&gt;&amp;gt; interpreter requires that the amount of that output is not smaller than the&lt;br/&gt;&amp;gt; total amount of those inputs. This check is therefore transaction-wide rather&lt;br/&gt;&amp;gt; than being tested during the input&amp;#39;s script evaluation.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This behaviour is adequate for vaults and likely suitable for many other&lt;br/&gt;&amp;gt; applications; however, it&amp;#39;s not the most general approach. I didn&amp;#39;t try to&lt;br/&gt;&amp;gt; implement it yet, and defer the decision on the best approach to a later time.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ### Extensions&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The opcodes above are not enough for the full generality of MATT: one would&lt;br/&gt;&amp;gt; need to add an opcode like OP_SHA256CAT to allow the data embedding to commit&lt;br/&gt;&amp;gt; to multiple pieces of data.&lt;br/&gt;&amp;gt; This is not used in today&amp;#39;s post, therefore I left it out of these code examples.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It would be easy to extend OP_CHECKOUTPUTCONTRACTVERIFY to also apply for&lt;br/&gt;&amp;gt; an arbitrary input (typically, different from the currently executed one); there&lt;br/&gt;&amp;gt; are likely use cases for that, allowing to define contracts with more complex&lt;br/&gt;&amp;gt; cross-input semantics, but I preferred to keep things simple.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Of course, one could also entirely replace CICV/COCV with generic full&lt;br/&gt;&amp;gt; introspection on inputs/output&amp;#39;s program, plus opcodes for elliptic curve math&lt;br/&gt;&amp;gt; and tagged hashes.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ##########################&lt;br/&gt;&amp;gt; # PART 2: Vaults with MATT&lt;br/&gt;&amp;gt; ##########################&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In the rest of this post, I will document the first attempt at creating a vault&lt;br/&gt;&amp;gt; using the opcodes described.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; While not an attempt at cloning exactly the functionality of OP_VAULT [2],&lt;br/&gt;&amp;gt; it borrows heavily from the excellent work that was done there.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In particular, it also inherits the choice of using OP_CTV as a primitive,&lt;br/&gt;&amp;gt; building on top of the bitcoin-inquisition&amp;#39;s current branch that has already&lt;br/&gt;&amp;gt; merged OP_CTV. Reasonable vaults would be possible without CTV, but they&lt;br/&gt;&amp;gt; would be less efficient, particularly in the case of sending to many addresses&lt;br/&gt;&amp;gt; in a single unvaulting flow.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ### Distilling OP_VAULT&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Abstracting from the implementation details, I mentally model a vault as a&lt;br/&gt;&amp;gt; simple state machine with 2 states: [V] and [U]:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [V]: the initial vault UTXO(s);&lt;br/&gt;&amp;gt; [U]: the utxo produced by the &amp;#34;trigger transaction&amp;#34; during unvaulting.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On the typical path: one or more [V] UTXOs are sent to the [U] state, and after&lt;br/&gt;&amp;gt; a timelock set on [U] expires, [U] is spent to one or several destinations.&lt;br/&gt;&amp;gt; Crucially, the destination outputs and amounts are already decided when [V] is&lt;br/&gt;&amp;gt; spent into [U].&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; At any time before the funds are spent from [U], they can always be spent by&lt;br/&gt;&amp;gt; sending them to some specified recovery path.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; There are two key elements that are part of OP_VAULT&amp;#39;s semantics, and could be&lt;br/&gt;&amp;gt; generalized:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; − Forcing the script/amount of the next stepon&lt;br/&gt;&amp;gt; − Storing some data for future Script&amp;#39;s access (in the vault&amp;#39;s case, a hash&lt;br/&gt;&amp;gt; that commits to the final withdrawal transaction).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; CICV/COCV generalize both to arbitrary scripts (taptrees) and state machines,&lt;br/&gt;&amp;gt; and to dynamical and witness-dependent data embedded in the pubkey of a P2TR&lt;br/&gt;&amp;gt; output.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ### Vault parameters&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A contract that represents a vault has the following parameters (hardcoded in&lt;br/&gt;&amp;gt; the script when the vault is created):&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; - alternate_pk: a key that can be used any time.&lt;br/&gt;&amp;gt; - spend_delay: the relative timelock before the withdrawal can be finalized;&lt;br/&gt;&amp;gt; - recover_pk: a pubkey for a P2TR output where funds can be sent at any time.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The alternate_pk is a pubkey that can optionally be used as the key-path&lt;br/&gt;&amp;gt; spending condition for both states [V] and [U]. If such a spending condition is not&lt;br/&gt;&amp;gt; desired, it can be replaced with a NUMS point, making the key-path unspendable.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The spend_delay is the number of blocks that must be mined before the final&lt;br/&gt;&amp;gt; withdrawal transaction&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In this example we also use an unvault_pk needed to authorize the unvaulting&lt;br/&gt;&amp;gt; process (that is, spend [V] into [U]); this could be replaced with any miniscript&lt;br/&gt;&amp;gt; or other conditions expressible in Script.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ### P2TR structure for [V] (vault)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; internal key: alternate_pk&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Script 1: &amp;#34;trigger&amp;#34;&lt;br/&gt;&amp;gt; # witness: &amp;lt;out_i&amp;gt; &amp;lt;ctv-hash&amp;gt;&lt;br/&gt;&amp;gt; {&lt;br/&gt;&amp;gt; &amp;lt;alternate_pk&amp;gt;,&lt;br/&gt;&amp;gt; &amp;lt;merkle root of U&amp;#39;s taptree&amp;gt;,&lt;br/&gt;&amp;gt; 2, OP_ROLL,&lt;br/&gt;&amp;gt; OP_CHECKOUTPUTCONTRACTVERIFY,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;lt;unvault_pk&amp;gt;&lt;br/&gt;&amp;gt; OP_CHECKSIG&lt;br/&gt;&amp;gt; }&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Script 2: &amp;#34;recover&amp;#34;&lt;br/&gt;&amp;gt; # witness: &amp;lt;out_i&amp;gt;&lt;br/&gt;&amp;gt; {&lt;br/&gt;&amp;gt; recover_pk,&lt;br/&gt;&amp;gt; OP_0, # no data tweak&lt;br/&gt;&amp;gt; OP_0, # no taptweak&lt;br/&gt;&amp;gt; OP_CHECKOUTPUTCONTRACTVERIFY,&lt;br/&gt;&amp;gt; OP_TRUE&lt;br/&gt;&amp;gt; }&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The &amp;#34;trigger&amp;#34; script requires in the witness an output index and the ctv-hash&lt;br/&gt;&amp;gt; that describes the withdrawal transaction.&lt;br/&gt;&amp;gt; COCV forces the output to contain the ctv-hash as embedded data.&lt;br/&gt;&amp;gt; That&amp;#39;s followed by the unvaulting condition − in this example, a simple&lt;br/&gt;&amp;gt; signature check.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The &amp;#34;recover&amp;#34; script doesn&amp;#39;t require any signature, and it simply forces&lt;br/&gt;&amp;gt; the output specified in the witness to be a P2TR output with recover_pk as its&lt;br/&gt;&amp;gt; pubkey.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; (Omitting the &amp;#34;recover&amp;#34; script in [V] would reduce the size of the witness by&lt;br/&gt;&amp;gt; 32 bytes in the expected case, and might be preferred for some users)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ### P2TR structure for [U] (unvaulting state)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; internal key: alternate_pk (tweaked with ctv_hash)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Script 1: &amp;#34;withdrawal&amp;#34;&lt;br/&gt;&amp;gt; # witness: &amp;lt;ctv_hash&amp;gt;&lt;br/&gt;&amp;gt; {&lt;br/&gt;&amp;gt; OP_DUP,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; # check that the top of the stack is the&lt;br/&gt;&amp;gt; # embedded data in the current input&lt;br/&gt;&amp;gt; &amp;lt;alternate_pk&amp;gt;, OP_SWAP,&lt;br/&gt;&amp;gt; OP_CHECKINPUTCONTRACTVERIFY,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; # Check timelock&lt;br/&gt;&amp;gt; &amp;lt;spend_delay&amp;gt;,&lt;br/&gt;&amp;gt; OP_CHECKSEQUENCEVERIFY,&lt;br/&gt;&amp;gt; OP_DROP,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; # Check that the transaction output is as expected&lt;br/&gt;&amp;gt; OP_CHECKTEMPLATEVERIFY&lt;br/&gt;&amp;gt; }&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Script 2: &amp;#34;recover&amp;#34;&lt;br/&gt;&amp;gt; # witness: &amp;lt;out_i&amp;gt;&lt;br/&gt;&amp;gt; {&lt;br/&gt;&amp;gt; &amp;lt;recover_pk&amp;gt;,&lt;br/&gt;&amp;gt; OP_0,&lt;br/&gt;&amp;gt; OP_0,&lt;br/&gt;&amp;gt; OP_CHECKOUTPUTCONTRACTVERIFY,&lt;br/&gt;&amp;gt; OP_TRUE&lt;br/&gt;&amp;gt; }&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The &amp;#34;withdrawal&amp;#34; finalizes the transaction, by checking that the timelock expired and&lt;br/&gt;&amp;gt; the outputs satisfy the CTV hash that was committed to in the previous transaction.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The &amp;#34;recover&amp;#34; script is identical as before.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ### Differences with OP_VAULT vaults&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Here I refer to the latest version of OP_VAULT at the time of writing. [5]&lt;br/&gt;&amp;gt; It is not a thorough analysis.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Unlike the implementation based on OP_VAULT, the [V] utxos don&amp;#39;t have an option&lt;br/&gt;&amp;gt; to add an additional output that is sent back to the same exact vault.&lt;br/&gt;&amp;gt; Supporting this use case seems to require a more general way of handling the&lt;br/&gt;&amp;gt; distribution of amounts than what I discussed in the section above: that would&lt;br/&gt;&amp;gt; in fact need to be generalized to the case of multiple&lt;br/&gt;&amp;gt; OP_CHECKOUTPUTCONTRACTVERIFY opcodes executed for the same input.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; By separating the ctv-hash (which is considered &amp;#34;data&amp;#34;) from the scripts in the&lt;br/&gt;&amp;gt; taptree, one entirely avoids the need to dynamically create taptrees and&lt;br/&gt;&amp;gt; replace leaves in the covenant-encumbered UTXOs; in fact, the taptrees of [V]&lt;br/&gt;&amp;gt; and [U] are already set in stone when [V] utxos are created, and only the&lt;br/&gt;&amp;gt; &amp;#34;data&amp;#34; portion of [U]&amp;#39;s scriptPubKey is dynamically computed. In my opinion,&lt;br/&gt;&amp;gt; this makes it substantially easier to program &amp;#34;state machines&amp;#34; that control the&lt;br/&gt;&amp;gt; behavior of coins, of which vaults are a special case.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I hope you&amp;#39;ll find this interesting, and look forward to your comments.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Salvatore Ingala&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [1] - &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-November/021223.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-November/021223.html&lt;/a&gt;&lt;br/&gt;&amp;gt; [2] - &lt;a href=&#34;https://github.com/bitcoin/bips/pull/1421&#34;&gt;https://github.com/bitcoin/bips/pull/1421&lt;/a&gt;&lt;br/&gt;&amp;gt; [3] - &lt;a href=&#34;https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki&#34;&gt;https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki&lt;/a&gt;&lt;br/&gt;&amp;gt; [4] - &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-September/019420.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-September/019420.html&lt;/a&gt;&lt;br/&gt;&amp;gt; [5] - &lt;a href=&#34;https://github.com/bitcoin/bips/blob/7112f308b356cdf0c51d917dbdc1b98e30621f80/bip-0345.mediawiki&#34;&gt;https://github.com/bitcoin/bips/blob/7112f308b356cdf0c51d917dbdc1b98e30621f80/bip-0345.mediawiki&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/20230501/6f94a2a7/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20230501/6f94a2a7/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:21:10&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsdc263g4rat68pr32q9ja0ksnhtszsj8n8wynsfsdsegm5j94pp2qzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx55669tr</id>
    
      <title type="html">📅 Original date posted:2023-04-19 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsdc263g4rat68pr32q9ja0ksnhtszsj8n8wynsfsdsegm5j94pp2qzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx55669tr" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgwhac3shgjfggahf9fqmecnurkvm66t2qdds3y2kxq45a9etsgrgs7dd7l&#39;&gt;nevent1q…dd7l&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-04-19&lt;br/&gt;🗒️ Summary of this message: Communication on merge decisions in Bitcoin Core is important to avoid frustration and chaos. Defining &amp;#34;enough&amp;#34; reviews and ACKs is crucial, especially for high-risk pull requests. Lack of communication can lead to controversial decisions and potential harm to the project&amp;#39;s value. Creating a nonprofit to fund Bitcoin Core contributors is a solution, but it&amp;#39;s irrelevant if current maintainers refuse to discuss merge decisions and block long-term contributors from becoming maintainers.&lt;br/&gt;📝 Original message:Hi alicexbt&lt;br/&gt;&lt;br/&gt;&amp;gt; I don&amp;#39;t think commentary is required for each pull request that gets merged with enough reviews, ACKs and no controversy.&lt;br/&gt;&lt;br/&gt;The problem is defining what is &amp;#34;enough&amp;#34;. &amp;#34;Enough&amp;#34; is determined by the quality of the review, the expertise of the reviewer(s), the complexity of the pull request and most importantly what risks a merge of the pull request poses. When there is zero communication on merge decisions (both merging and not merging over a long period of time) it creates frustration and worse vacuums and soft fork activation chaos. It is a complete black box. The vast majority of merge decisions are uncontroversial but it would still be nice to have a comment saying something like:&lt;br/&gt;&lt;br/&gt;&amp;#34;This pull request only has 2 ACKs but it is low risk, relatively simple and is unlikely to be reviewed by anybody else in the near term&amp;#34;&lt;br/&gt;&lt;br/&gt;&amp;#34;This pull request is a consensus change, extremely high risk and is unlikely to be merged in the near term&amp;#34;&lt;br/&gt;&lt;br/&gt;On the rare occasions when merge decisions are controversial communication becomes a lot more important. If some maintainers aren&amp;#39;t responsive on IRC and refuse to discuss merge decisions what can we expect in future? We wake up one day, a contentious consensus change has been merged with little review in advance of a release window and the maintainer won&amp;#39;t discuss why they have merged it. This isn&amp;#39;t a toy anymore, it is supporting hundreds of billions of dollars of value and could end up supporting a lot more. It is surely completely unreasonable to let maintainers merge or not merge whatever they like with no explanation and no willingness to discuss their merge decisions.&lt;br/&gt;&lt;br/&gt;&amp;gt; So I&amp;#39;ll add that if you wish to have more decentralization in Bitcoin Core funding, you can start by creating a nonprofit, gathering donations, and funding somebody who works on Bitcoin Core.&amp;#34; &lt;br/&gt;&lt;br/&gt;As I responded on the pull request if any long term contributor from this alternative nonprofit is blocked from being a maintainer and current maintainers refuse to discuss merge decisions it is irrelevant. To contribute you need a maintainer to merge your pull request(s) and to spend your review time wisely you need to know what pull request(s) could viably be merged by a maintainer. Otherwise you&amp;#39;re just wasting your time. We not only have opacity on merge decisions for normal pull requests (e.g. code) we also now have opacity on decisions for the addition of new maintainers. I was always under the impression that any long term contributor who demonstrated over time that they were sufficiently competent, qualified and able to contribute both through opening pull requests and reviewing other people&amp;#39;s pull requests could become a maintainer. To me and many others (until it was blocked by two maintainers for 5 months) Vasil met this criteria. This not only impacts Vasil&amp;#39;s and others&amp;#39; commitment to the project but it impacts what pull requests are ultimately reviewed and merged. What is the point of spending time opening or reviewing a pull request if the current maintainers won&amp;#39;t look at it or are unqualified to review it and hence won&amp;#39;t merge it?&lt;br/&gt;&lt;br/&gt;Gloria&amp;#39;s advice effectively boils down to spend months setting up a non-profit, spend years becoming a long term contributor to the project and then you can have the honor of being blocked from becoming a maintainer and have your contributions stunted by the current maintainers with no recourse or ability to discuss their merge decisions. So yeah thanks for repeating that advice but I&amp;#39;m sure most would rather pass and do something else.&lt;br/&gt;&lt;br/&gt;Thanks&lt;br/&gt;Michael&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at protonmail.com&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Wednesday, April 19th, 2023 at 13:24, alicexbt &amp;lt;alicexbt at protonmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; Hi Michael,&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I was initially sad about the politics in Vasil&amp;#39;s pull request, written about it and also tried to document the process. Still think he deserves to be a maintainer. Although I have some counter arguments:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Maintainers merge a pull request and provide no commentary on why they’ve merged it.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I don&amp;#39;t think commentary is required for each pull request that gets merged with enough reviews, ACKs and no controversy.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Maintainers leave a pull request with many ACKs and few (if any) NACKs for months and provide no commentary on why they haven&amp;#39;t merged it&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; This could be considered normal in pull requests that involve code changes.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; The difference between say previous maintainers like Wladimir and some of the current maintainers is that previous maintainers were extremely responsive on IRC.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Unfair to expect every human to behave the same or work similarly. Sometimes the unresponsiveness could be to avoid controversies and heated debates that go off-topic.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; One farcical recent example 0 was the pull request to add Vasil Dimov as a maintainer where despite many ACKs from other maintainers and other long term contributors two maintainers (fanquake and Gloria) refused to discuss it on the pull request or on IRC. It took almost 5 months for Gloria to comment on the pull request despite many requests from me on the PR and on IRC. I even requested that they attend the weekly Core Dev IRC meeting to discuss it which they didn’t attend.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; - Maintainers should be free to avoid involvement in a pull request. As long as a subset of maintainers have an opinion on the pull request, things should be fine.&lt;br/&gt;&amp;gt; - I agree with Gloria&amp;#39;s comment: &amp;#34;I had not NACKed this either because my opinion could change over time, NACKs are sometimes needlessly interpreted as personal attacks, and Brink has been antagonized on Twitter each time multiple grantees have similar opinions about this. So I&amp;#39;ll add that if you wish to have more decentralization in Bitcoin Core funding, you can start by creating a nonprofit, gathering donations, and funding somebody who works on Bitcoin Core.&amp;#34; Last part of this comment also solves the problem shared in other thread related to new bitcoin implementation. Brink needs some competition and bitcoin core needs more reviewers.&lt;br/&gt;&amp;gt; - I also agree with Andrew&amp;#39;s comment: &amp;#34;frankly, I think opinions aren&amp;#39;t being shared because of potential backlash from aggressive users such as yourself and bytes1440000&amp;#34;&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Maintainers and long term contributors (if they commented at all) were gently enthusiastic (Concept ACKing etc) without ACKing that it was ready to merge. A long term observer of the Core repo would have known that it wasn’t ready to merge or ready to attempt to activate (especially given it was a consensus change) but a casual observer would have only seen Concept ACKs and ACKs with 3 stray NACKs. Many of these casual observers inflated the numbers on the utxos.org site 4 signalling support for a soft fork activation attempt.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; - I don&amp;#39;t see anything wrong with sharing honest opinion if someone agrees with the concept. It does not make a pull request ready to get merged.&lt;br/&gt;&amp;gt; - utxos.org is an external site maintained by Jeremy with opinions on BIP 119. Everyone is free to maintain such lists and I think you had also created one as GitHub gist.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; I will probably write about bitcoin-inquisition/default signet in a future email as I do think the perception that it is “the one and only” staging ground for consensus changes is dangerous 6 if the maintainer(s) on that project have the same inclinations as a subset of the Core maintainers.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; This perception (if exists) can be killed by creating a custom signet, maintaining it differently, get more reviews, testing and share details with community regularly.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; /dev/fd0&lt;br/&gt;&amp;gt; floppy disk guy&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 0: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/25871#issuecomment-1381654564&#34;&gt;https://github.com/bitcoin/bitcoin/pull/25871#issuecomment-1381654564&lt;/a&gt;&lt;br/&gt;&amp;gt; 1: &lt;a href=&#34;https://bitcoin-irc.chaincode.com/bitcoin-core-dev/2023-01-12#883748&#34;&gt;https://bitcoin-irc.chaincode.com/bitcoin-core-dev/2023-01-12#883748&lt;/a&gt;&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Sent with Proton Mail secure email.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; ------- Original Message -------&lt;br/&gt;&amp;gt; On Tuesday, April 18th, 2023 at 6:10 PM, Michael Folkson via bitcoin-dev bitcoin-dev at lists.linuxfoundation.org wrote:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Communication has been a challenge on Bitcoin Core for what I can tell the entire history of the project. Maintainers merge a pull request and provide no commentary on why they’ve merged it. Maintainers leave a pull request with many ACKs and few (if any) NACKs for months and provide no commentary on why they haven&amp;#39;t merged it. I can only speculate on why and it probably depends on the individual maintainer. Sometimes it will be poor communication skills, sometimes it will be a desire to avoid accountability, sometimes it will be fear of unreasonable and spiteful legal action if they mistakenly merge a pull request that ends up containing a bug. But search through the pull requests on Bitcoin Core and you will rarely see a rationale for a merge decision. The difference between say previous maintainers like Wladimir and some of the current maintainers is that previous maintainers were extremely responsive on IRC. If you disagreed with a merge decision or thought it had been merged prematurely they would be happy to discuss it on IRC. In present times at least a subset of the current maintainers are not responsive on IRC and will refuse to discuss a merge decision. One farcical recent example 0 was the pull request to add Vasil Dimov as a maintainer where despite many ACKs from other maintainers and other long term contributors two maintainers (fanquake and Gloria) refused to discuss it on the pull request or on IRC. It took almost 5 months for Gloria to comment on the pull request despite many requests from me on the PR and on IRC. I even requested that they attend the weekly Core Dev IRC meeting to discuss it which they didn’t attend.&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; A pull request to add a maintainer isn’t a normal pull request. Generally pull requests contain a lot more lines of code than a single line adding a trusted key. Not merging a pull request for a long period of time can be extremely frustrating for a pull request author especially when maintainers and long term contributors don’t comment on the pull request and the pull request is stuck in “rebase hell”. Clearly it is the lesser evil when compared to merging a harmful or bug ridden pull request but poor non-existent communication is not the only way to prevent this. Indeed it creates as many problems as it solves.&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Another farcical recent(ish) example was the CTV pull request 1 that ultimately led to a contentious soft fork activation attempt that was called off at the last minute. If you look at the comments on the pull request there were 3 individuals (including myself) who NACKed the pull request and I think it is fair to say that none of us would be considered long term contributors to Bitcoin Core. I have criticised Jeremy Rubin multiple times for continuing to pursue a soft fork activation attempt when it was clear it was contentious 3 but if you look at the pull request comments it certainly isn’t clear it was. Maintainers and long term contributors (if they commented at all) were gently enthusiastic (Concept ACKing etc) without ACKing that it was ready to merge. A long term observer of the Core repo would have known that it wasn’t ready to merge or ready to attempt to activate (especially given it was a consensus change) but a casual observer would have only seen Concept ACKs and ACKs with 3 stray NACKs. Many of these casual observers inflated the numbers on the utxos.org site 4 signalling support for a soft fork activation attempt.&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; I set out originally to write about the controls and processes around merges on the default signet (bitcoin-inquisition 5) but it quickly became obvious to me that if communication around Core merges/non-merges is this weak you can hardly expect it to be any better on bitcoin-inquisition/default signet where there is no real monetary value at stake. I will probably write about bitcoin-inquisition/default signet in a future email as I do think the perception that it is “the one and only” staging ground for consensus changes is dangerous 6 if the maintainer(s) on that project have the same inclinations as a subset of the Core maintainers.&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; As I stated at the beginning there is an element to this which is not individual(s) specific and an adverse reaction to outright malicious actors external to any of these projects. I do not think any of the current maintainers on Core or bitcoin-inquisition are outright malicious even if a subset of them consistently frustrate me with their lack of transparency and accountability. But this issue isn&amp;#39;t going away and I&amp;#39;m sure we&amp;#39;ll hear more on this from others in the coming months. To me it is a straight choice of taking transparency and accountability much more seriously or failing that investing more heavily (time and resources) in consensus compatible forks of Core and treating Core like it is a proprietary &amp;#34;open source&amp;#34; project where merge decisions are not explained or justified in the open.&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; --&lt;br/&gt;&amp;gt; &amp;gt; Michael Folkson&lt;br/&gt;&amp;gt; &amp;gt; Email: michaelfolkson at protonmail.com&lt;br/&gt;&amp;gt; &amp;gt; Keybase: michaelfolkson&lt;br/&gt;&amp;gt; &amp;gt; PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3
    </content>
    <updated>2023-06-08T01:20:37&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsxjc4ys9m9zu84h922dcqvhxqmsn873xpg2r5rgh8wcquzt0p3nzgzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5a820qz</id>
    
      <title type="html">📅 Original date posted:2023-04-19 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxjc4ys9m9zu84h922dcqvhxqmsn873xpg2r5rgh8wcquzt0p3nzgzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5a820qz" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsfugpyyzdykv2qk4wymg4ys2ymgh74ep7mkxnltwqnp8pa9pmazeqr9j95g&#39;&gt;nevent1q…j95g&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-04-19&lt;br/&gt;🗒️ Summary of this message: Discussion on BIP 118 and BIP 119 for Bitcoin covenant tech. James O&amp;#39;Beirne needs BIP 119/OP_CTV for his latest vault design. More experimentation needed.&lt;br/&gt;📝 Original message:Hi Erik&lt;br/&gt;&lt;br/&gt;&amp;gt; yes, the code itself was far less contentious than the weird stab at forking the network&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; there remains a real chance that bip 119 is the simplest and most flexible and reasonably safe covenant tech for many use cases&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; although im partial to 118 as well because lightning is a killer app and it makes batch channels more efficient&lt;br/&gt;&lt;br/&gt;This is moving off the intended subject of the email although latest thoughts on BIP 118 and BIP 119 are an interesting separate topic. Perhaps start a new thread? The latest afaik is that both have been merged in bitcoin-inquisition [0] (default signet) and James O&amp;#39;Beirne concluded that he needed BIP 119/OP_CTV for his latest vault design that includes a new proposed opcode OP_VAULT (BIP 345) [1]. Designing and building vaults with the various proposed opcodes and sighash flags (and Simplicity when it is ready) is definitely what I hoped to see after the chaos of the attempted CTV activation. Hopefully more people will be drawn into this research and development area, I think it is a really interesting one [2] so I&amp;#39;m a bit bemused more people aren&amp;#39;t following James and the Revault team and doing their own research and experimentation. I think darosior&amp;#39;s (Revault) current view [3] is BIP 118/APO is sufficient for the vaults he wants to build. But yeah needs more informed views and you only really get a more informed view by trying to design and build things and realizing what you need or what is missing. It isn&amp;#39;t convincing to embark on a soft fork activation process just because a couple of informed individuals want it.&lt;br/&gt;&lt;br/&gt;Thanks&lt;br/&gt;Michael&lt;br/&gt;&lt;br/&gt;[0]: &lt;a href=&#34;https://github.com/bitcoin-inquisition/bitcoin&#34;&gt;https://github.com/bitcoin-inquisition/bitcoin&lt;/a&gt;&lt;br/&gt;[1]: &lt;a href=&#34;https://github.com/bitcoin/bips/pull/1421&#34;&gt;https://github.com/bitcoin/bips/pull/1421&lt;/a&gt;&lt;br/&gt;[2]: &lt;a href=&#34;https://www.youtube.com/watch?v=S2lTfS5qMJE&#34;&gt;https://www.youtube.com/watch?v=S2lTfS5qMJE&lt;/a&gt;&lt;br/&gt;[3]: &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-April/020276.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-April/020276.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at [protonmail.com](&lt;a href=&#34;http://protonmail.com/&#34;&gt;http://protonmail.com/&lt;/a&gt;)&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Wednesday, April 19th, 2023 at 01:56, Erik Aronesty &amp;lt;erik at q32.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; yes, the code itself was far less contentious than the weird stab at forking the network&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; there remains a real chance that bip 119 is the simplest and most flexible and reasonably safe covenant tech for many use cases&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; although im partial to 118 as well because lightning is a killer app and it makes batch channels more efficient&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Tue, Apr 18, 2023, 7:39 PM Michael Folkson via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Communication has been a challenge on Bitcoin Core for what I can tell the entire history of the project. Maintainers merge a pull request and provide no commentary on why they’ve merged it. Maintainers leave a pull request with many ACKs and few (if any) NACKs for months and provide no commentary on why they haven&amp;#39;t merged it. I can only speculate on why and it probably depends on the individual maintainer. Sometimes it will be poor communication skills, sometimes it will be a desire to avoid accountability, sometimes it will be fear of unreasonable and spiteful legal action if they mistakenly merge a pull request that ends up containing a bug. But search through the pull requests on Bitcoin Core and you will rarely see a rationale for a merge decision. The difference between say previous maintainers like Wladimir and some of the current maintainers is that previous maintainers were extremely responsive on IRC. If you disagreed with a merge decision or thought it had been merged prematurely they would be happy to discuss it on IRC. In present times at least a subset of the current maintainers are not responsive on IRC and will refuse to discuss a merge decision. One farcical recent example [0] was the pull request to add Vasil Dimov as a maintainer where despite many ACKs from other maintainers and other long term contributors two maintainers (fanquake and Gloria) refused to discuss it on the pull request or on IRC. It took almost 5 months for Gloria to comment on the pull request despite many requests from me on the PR and on IRC. I even requested that they attend the weekly Core Dev IRC meeting to discuss it which they didn’t attend.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; A pull request to add a maintainer isn’t a normal pull request. Generally pull requests contain a lot more lines of code than a single line adding a trusted key. Not merging a pull request for a long period of time can be extremely frustrating for a pull request author especially when maintainers and long term contributors don’t comment on the pull request and the pull request is stuck in “rebase hell”. Clearly it is the lesser evil when compared to merging a harmful or bug ridden pull request but poor non-existent communication is not the only way to prevent this. Indeed it creates as many problems as it solves.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Another farcical recent(ish) example was the CTV pull request [1] that ultimately led to a contentious soft fork activation attempt that was called off at the last minute. If you look at the comments on the pull request there were 3 individuals (including myself) who NACKed the pull request and I think it is fair to say that none of us would be considered long term contributors to Bitcoin Core. I have criticised Jeremy Rubin multiple times for continuing to pursue a soft fork activation attempt when it was clear it was contentious [3] but if you look at the pull request comments it certainly isn’t clear it was. Maintainers and long term contributors (if they commented at all) were gently enthusiastic (Concept ACKing etc) without ACKing that it was ready to merge. A long term observer of the Core repo would have known that it wasn’t ready to merge or ready to attempt to activate (especially given it was a consensus change) but a casual observer would have only seen Concept ACKs and ACKs with 3 stray NACKs. Many of these casual observers inflated the numbers on the utxos.org site [4] signalling support for a soft fork activation attempt.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I set out originally to write about the controls and processes around merges on the default signet (bitcoin-inquisition [5]) but it quickly became obvious to me that if communication around Core merges/non-merges is this weak you can hardly expect it to be any better on bitcoin-inquisition/default signet where there is no real monetary value at stake. I will probably write about bitcoin-inquisition/default signet in a future email as I do think the perception that it is “the one and only” staging ground for consensus changes is dangerous [6] if the maintainer(s) on that project have the same inclinations as a subset of the Core maintainers.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; As I stated at the beginning there is an element to this which is not individual(s) specific and an adverse reaction to outright malicious actors external to any of these projects. I do not think any of the current maintainers on Core or bitcoin-inquisition are outright malicious even if a subset of them consistently frustrate me with their lack of transparency and accountability. But this issue isn&amp;#39;t going away and I&amp;#39;m sure we&amp;#39;ll hear more on this from others in the coming months. To me it is a straight choice of taking transparency and accountability much more seriously or failing that investing more heavily (time and resources) in consensus compatible forks of Core and treating Core like it is a proprietary &amp;#34;open source&amp;#34; project where merge decisions are not explained or justified in the open.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; [0]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/25871&#34;&gt;https://github.com/bitcoin/bitcoin/pull/25871&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; [1]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/21702&#34;&gt;https://github.com/bitcoin/bitcoin/pull/21702&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; [2]: &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-April/020386.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-April/020386.html&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; [3]: &lt;a href=&#34;https://gist.github.com/michaelfolkson/352a503f4f9fc5de89af528d86a1b718&#34;&gt;https://gist.github.com/michaelfolkson/352a503f4f9fc5de89af528d86a1b718&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; [4]: &lt;a href=&#34;https://utxos.org/signals/&#34;&gt;https://utxos.org/signals/&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; [5]: &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-September/020921.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-September/020921.html&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; [6]: &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-September/020948.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-September/020948.html&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; --&lt;br/&gt;&amp;gt;&amp;gt; Michael Folkson&lt;br/&gt;&amp;gt;&amp;gt; Email: michaelfolkson at [protonmail.com](&lt;a href=&#34;http://protonmail.com/&#34;&gt;http://protonmail.com/&lt;/a&gt;)&lt;br/&gt;&amp;gt;&amp;gt; Keybase: michaelfolkson&lt;br/&gt;&amp;gt;&amp;gt; PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;-------------- 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/20230419/77bcfdc9/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20230419/77bcfdc9/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:20:35&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqst2cvst6k3sacsq62ur3kv4jwzygsged45etc8mzszm2405swlz5czyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5wmeqav</id>
    
      <title type="html">📅 Original date posted:2023-04-18 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqst2cvst6k3sacsq62ur3kv4jwzygsged45etc8mzszm2405swlz5czyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5wmeqav" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9mn4ejw2tn687gz03tuwjqq5saf6fgdhd0u5uzt9eg9rjj6khvzgwvyqcw&#39;&gt;nevent1q…yqcw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-04-18&lt;br/&gt;🗒️ Summary of this message: Communication has been a long-standing issue in Bitcoin Core, with maintainers often failing to provide rationale for merge decisions or engage in discussion. This can lead to frustration and delays for pull request authors.&lt;br/&gt;📝 Original message:Communication has been a challenge on Bitcoin Core for what I can tell the entire history of the project. Maintainers merge a pull request and provide no commentary on why they’ve merged it. Maintainers leave a pull request with many ACKs and few (if any) NACKs for months and provide no commentary on why they haven&amp;#39;t merged it. I can only speculate on why and it probably depends on the individual maintainer. Sometimes it will be poor communication skills, sometimes it will be a desire to avoid accountability, sometimes it will be fear of unreasonable and spiteful legal action if they mistakenly merge a pull request that ends up containing a bug. But search through the pull requests on Bitcoin Core and you will rarely see a rationale for a merge decision. The difference between say previous maintainers like Wladimir and some of the current maintainers is that previous maintainers were extremely responsive on IRC. If you disagreed with a merge decision or thought it had been merged prematurely they would be happy to discuss it on IRC. In present times at least a subset of the current maintainers are not responsive on IRC and will refuse to discuss a merge decision. One farcical recent example [0] was the pull request to add Vasil Dimov as a maintainer where despite many ACKs from other maintainers and other long term contributors two maintainers (fanquake and Gloria) refused to discuss it on the pull request or on IRC. It took almost 5 months for Gloria to comment on the pull request despite many requests from me on the PR and on IRC. I even requested that they attend the weekly Core Dev IRC meeting to discuss it which they didn’t attend.&lt;br/&gt;&lt;br/&gt;A pull request to add a maintainer isn’t a normal pull request. Generally pull requests contain a lot more lines of code than a single line adding a trusted key. Not merging a pull request for a long period of time can be extremely frustrating for a pull request author especially when maintainers and long term contributors don’t comment on the pull request and the pull request is stuck in “rebase hell”. Clearly it is the lesser evil when compared to merging a harmful or bug ridden pull request but poor non-existent communication is not the only way to prevent this. Indeed it creates as many problems as it solves.&lt;br/&gt;&lt;br/&gt;Another farcical recent(ish) example was the CTV pull request [1] that ultimately led to a contentious soft fork activation attempt that was called off at the last minute. If you look at the comments on the pull request there were 3 individuals (including myself) who NACKed the pull request and I think it is fair to say that none of us would be considered long term contributors to Bitcoin Core. I have criticised Jeremy Rubin multiple times for continuing to pursue a soft fork activation attempt when it was clear it was contentious [3] but if you look at the pull request comments it certainly isn’t clear it was. Maintainers and long term contributors (if they commented at all) were gently enthusiastic (Concept ACKing etc) without ACKing that it was ready to merge. A long term observer of the Core repo would have known that it wasn’t ready to merge or ready to attempt to activate (especially given it was a consensus change) but a casual observer would have only seen Concept ACKs and ACKs with 3 stray NACKs. Many of these casual observers inflated the numbers on the utxos.org site [4] signalling support for a soft fork activation attempt.&lt;br/&gt;&lt;br/&gt;I set out originally to write about the controls and processes around merges on the default signet (bitcoin-inquisition [5]) but it quickly became obvious to me that if communication around Core merges/non-merges is this weak you can hardly expect it to be any better on bitcoin-inquisition/default signet where there is no real monetary value at stake. I will probably write about bitcoin-inquisition/default signet in a future email as I do think the perception that it is “the one and only” staging ground for consensus changes is dangerous [6] if the maintainer(s) on that project have the same inclinations as a subset of the Core maintainers.&lt;br/&gt;&lt;br/&gt;As I stated at the beginning there is an element to this which is not individual(s) specific and an adverse reaction to outright malicious actors external to any of these projects. I do not think any of the current maintainers on Core or bitcoin-inquisition are outright malicious even if a subset of them consistently frustrate me with their lack of transparency and accountability. But this issue isn&amp;#39;t going away and I&amp;#39;m sure we&amp;#39;ll hear more on this from others in the coming months. To me it is a straight choice of taking transparency and accountability much more seriously or failing that investing more heavily (time and resources) in consensus compatible forks of Core and treating Core like it is a proprietary &amp;#34;open source&amp;#34; project where merge decisions are not explained or justified in the open.&lt;br/&gt;&lt;br/&gt;[0]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/25871&#34;&gt;https://github.com/bitcoin/bitcoin/pull/25871&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;[1]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/21702&#34;&gt;https://github.com/bitcoin/bitcoin/pull/21702&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;[2]: &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-April/020386.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-April/020386.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;[3]: &lt;a href=&#34;https://gist.github.com/michaelfolkson/352a503f4f9fc5de89af528d86a1b718&#34;&gt;https://gist.github.com/michaelfolkson/352a503f4f9fc5de89af528d86a1b718&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;[4]: &lt;a href=&#34;https://utxos.org/signals/&#34;&gt;https://utxos.org/signals/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;[5]: &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-September/020921.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-September/020921.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;[6]: &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-September/020948.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-September/020948.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at [protonmail.com](&lt;a href=&#34;http://protonmail.com/&#34;&gt;http://protonmail.com/&lt;/a&gt;)&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&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/20230418/dd827725/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20230418/dd827725/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:20:34&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0sfkpnypsj89m2lx7g6drnw9pf592z6nszx9lrv5d7q5uf5pxwtgzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx57w9egf</id>
    
      <title type="html">📅 Original date posted:2023-02-08 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0sfkpnypsj89m2lx7g6drnw9pf592z6nszx9lrv5d7q5uf5pxwtgzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx57w9egf" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszuakzs8p0uz6c574z7eh6lhcdcx94sxhvnslz5h5dt2dhjmzlfkg5up0gs&#39;&gt;nevent1q…p0gs&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-02-08&lt;br/&gt;🗒️ Summary of this message: A bug in Taproot allows the same Tapleaf to be repeated multiple times, incurring different Tapfee rates. The countermeasure is to know the entire Taptree.&lt;br/&gt;📝 Original message:Hi Andrew&lt;br/&gt;&lt;br/&gt;&amp;gt; There is a bug in Taproot that allows the same Tapleaf to be repeated multiple times in the same Taproot, potentially at different Taplevels incurring different Tapfee rates.&lt;br/&gt;&amp;gt;&amp;gt; The countermeasure is that you should always know the entire Taptree when interacting with someone&amp;#39;s Tapspend.&lt;br/&gt;&lt;br/&gt;I wouldn&amp;#39;t say it is a &amp;#34;bug&amp;#34; unless there is a remedy for the bug that wasn&amp;#39;t (and retrospectively should have been) included in the Taproot design. In retrospect and assuming you could redesign the Taproot consensus rules again today would you prevent spending from a valid P2TR address if a repeated Tapleaf hash was used to prove that a spending path was embedded in a Taproot tree? That&amp;#39;s the only thing I can think of to attempt to remedy this &amp;#34;bug&amp;#34; and it would only be a partial protection as proving a spending path exists within a Taproot tree only requires a subset of the Tapleaf hashes.&lt;br/&gt;&lt;br/&gt;I only point this out because there seems to be a push to find &amp;#34;bugs&amp;#34; and &amp;#34;accidental blowups&amp;#34; in the Taproot design currently. No problem with this if there are any, they should definitely be highlighted and discussed if they do exist. The nearest to a possible inferior design decision thus far that I&amp;#39;m aware of is x-only pubkeys in BIP340 [0].&lt;br/&gt;&lt;br/&gt;Thanks&lt;br/&gt;Michael&lt;br/&gt;&lt;br/&gt;[0]: &lt;a href=&#34;https://btctranscripts.com/london-bitcoin-devs/2022-08-11-tim-ruffing-musig2/#a-retrospective-look-at-bip340&#34;&gt;https://btctranscripts.com/london-bitcoin-devs/2022-08-11-tim-ruffing-musig2/#a-retrospective-look-at-bip340&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at [protonmail.com](&lt;a href=&#34;http://protonmail.com/&#34;&gt;http://protonmail.com/&lt;/a&gt;)&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Tuesday, February 7th, 2023 at 18:35, Russell O&amp;#39;Connor via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; There is a bug in Taproot that allows the same Tapleaf to be repeated multiple times in the same Taproot, potentially at different Taplevels incurring different Tapfee rates.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The countermeasure is that you should always know the entire Taptree when interacting with someone&amp;#39;s Tapspend.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Tue, Feb 7, 2023 at 1:10 PM Andrew Poelstra via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Some people highlighted some minor problems with my last email:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; On Tue, Feb 07, 2023 at 01:46:22PM &#43;0000, Andrew Poelstra via bitcoin-dev wrote:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;snip&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [1] &lt;a href=&#34;https://bitcoin.sipa.be/miniscript/&#34;&gt;https://bitcoin.sipa.be/miniscript/&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [2] In Taproot, if you want to prevent signatures migrating to another&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; branch or within a branch, you can use the CODESEPARATOR opcode&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; which was redisegned in Taproot for exactly this purpose... we&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; really did about witness malleation in its design!&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; In Taproot the tapleaf hash is always covered by the signature (though&lt;br/&gt;&amp;gt;&amp;gt; not in some ANYONECANPAY proposals) so you can never migrate signatures&lt;br/&gt;&amp;gt;&amp;gt; between tapbranches.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I had thought this was the case, but then I re-confused myself by&lt;br/&gt;&amp;gt;&amp;gt; reading BIP 341 .... which has much of the sighash specified, but not&lt;br/&gt;&amp;gt;&amp;gt; all of it! The tapleaf hash is added in BIP 342.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; If you want to prevent signatures from moving around *within* a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; branch,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; And this sentence I just meant to delete :)&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; --&lt;br/&gt;&amp;gt;&amp;gt; Andrew Poelstra&lt;br/&gt;&amp;gt;&amp;gt; Director of Research, Blockstream&lt;br/&gt;&amp;gt;&amp;gt; Email: apoelstra at wpsoftware.net&lt;br/&gt;&amp;gt;&amp;gt; Web: &lt;a href=&#34;https://www.wpsoftware.net/andrew&#34;&gt;https://www.wpsoftware.net/andrew&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; The sun is always shining in space&lt;br/&gt;&amp;gt;&amp;gt; -Justin Lewis-Webster&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;-------------- 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/20230208/6a71e08e/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20230208/6a71e08e/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:19:27&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9lnwpm8qge8g6nfte7rzt45fe2medvqxlenag8d8p2mvfkxy97hgzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5fdm902</id>
    
      <title type="html">📅 Original date posted:2023-01-14 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9lnwpm8qge8g6nfte7rzt45fe2medvqxlenag8d8p2mvfkxy97hgzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5fdm902" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsq7f3he9gzee6nfvvcpk4a0waxsezvs9en0hn7mks4qpqxyfhct6s6rlvut&#39;&gt;nevent1q…lvut&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-01-14&lt;br/&gt;🗒️ Summary of this message: Michael Folkson suggests that a bare bones Knots style Bitcoin implementation integrated with Core Lightning may be the future due to dysfunction in Bitcoin Core&amp;#39;s management.&lt;br/&gt;📝 Original message:I tweeted this [0] back in November 2022.&lt;br/&gt;&lt;br/&gt;&amp;#34;With the btcd bugs and the analysis paralysis on a RBF policy option in Core increasingly thinking @BitcoinKnots and consensus compatible forks of Core are the future. Gonna chalk that one up to another thing @LukeDashjr was right about all along.&amp;#34;&lt;br/&gt;&lt;br/&gt;A new bare bones Knots style Bitcoin implementation (in C&#43;&#43;/C) integrated with Core Lightning was a long term idea I had (and presumably many others have had) but the dysfunction on the Bitcoin Core project this week (if anything it has been getting worse over time, not better) has made me start to take the idea more seriously. It is clear to me that the current way the Bitcoin Core project is being managed is not how I would like an open source project to be managed. Very little discussion is public anymore and decisions seem to be increasingly made behind closed doors or in private IRC channels (to the extent that decisions are made at all). Core Lightning seems to have the opposite problem. It is managed effectively in the open (admittedly with fewer contributors) but doesn&amp;#39;t have the eyeballs or the usage that Bitcoin Core does. Regardless, selfishly I at some point would like a bare bones Bitcoin and Lightning implementation integrated in one codebase. The Bitcoin Core codebase has collected a lot of cruft over time and the ultra conservatism that is needed when treating (potential) consensus code seems to permeate into parts of the codebase that no one is using, definitely isn&amp;#39;t consensus code and should probably just be removed.&lt;br/&gt;&lt;br/&gt;The libbitcoinkernel project was (is?) an attempt to extract the consensus engine out of Core but it seems like it won&amp;#39;t achieve that as consensus is just too slippery a concept and Knots style consensus compatible codebase forks of Bitcoin Core seem to still the model. To what extent you can safely chop off this cruft and effectively maintain this less crufty fork of Bitcoin Core also isn&amp;#39;t clear to me yet.&lt;br/&gt;&lt;br/&gt;Then there is the question of whether it makes sense to mix C and C&#43;&#43; code that people have different views on. C&#43;&#43; is obviously a superset of C but assuming this merging of Bitcoin Core and Core Lightning is/was the optimal final destination it surely would have been better if Core Lightning was written in the same language (i.e. with classes) as Bitcoin Core.&lt;br/&gt;&lt;br/&gt;I&amp;#39;m just floating the idea to (hopefully) hear from people who are much more familiar with the entirety of the Bitcoin Core and Core Lightning codebases. It would be an ambitious long term project but it would be nice to focus on some ambitious project(s) (even if just conceptually) for a while given (thankfully) there seems to be a lull in soft fork activation chaos.&lt;br/&gt;&lt;br/&gt;Thanks&lt;br/&gt;Michael&lt;br/&gt;&lt;br/&gt;[0]: &lt;a href=&#34;https://twitter.com/michaelfolkson/status/1589220155006910464?s=20&amp;amp;t=GbPm7w5BqS7rS3kiVFTNcw&#34;&gt;https://twitter.com/michaelfolkson/status/1589220155006910464?s=20&amp;amp;t=GbPm7w5BqS7rS3kiVFTNcw&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at [protonmail.com](&lt;a href=&#34;http://protonmail.com/&#34;&gt;http://protonmail.com/&lt;/a&gt;)&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&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/20230114/306cd5ac/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20230114/306cd5ac/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:18:38&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsy8tac4v7sthptdmaag58rtqcj5d9342m3se94usxapg6ygvdes7qzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5tmhf7s</id>
    
      <title type="html">📅 Original date posted:2022-12-05 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsy8tac4v7sthptdmaag58rtqcj5d9342m3se94usxapg6ygvdes7qzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5tmhf7s" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszjnwquyupm4y80tkllq04tf3mxcqmg9mthxjx0j9urda49faqu6qysfvu9&#39;&gt;nevent1q…fvu9&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-12-05&lt;br/&gt;📝 Original message:&amp;gt; That said, a sufficiently incentivized actor (like Daniel Lipshitz or Muun wallet developers) could work on a fork and run several nodes with such functionality.&lt;br/&gt;&lt;br/&gt;Daniel Lipshitz has been working on BSV apparently [0] so I guess anything is possible with him. But as others have said turning a mempool policy issue (users have always been free to choose whatever policy they like with zero chain split risk) into a consensus issue and a contentious soft fork issue at that would not be advised. I highly doubt any of the long term Muun contributors would want to support a contentious soft fork and fight a consensus rule war on this.&lt;br/&gt;&lt;br/&gt;[0]: &lt;a href=&#34;https://coingeek.com/gap600-ceo-daniel-lipshitz-talks-bsv-powered-stablecoins-on-coingeek-backstage-video/&#34;&gt;https://coingeek.com/gap600-ceo-daniel-lipshitz-talks-bsv-powered-stablecoins-on-coingeek-backstage-video/&lt;/a&gt;&lt;br/&gt;--&lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at [protonmail.com](&lt;a href=&#34;http://protonmail.com/&#34;&gt;http://protonmail.com/&lt;/a&gt;)&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Monday, December 5th, 2022 at 16:12, Rijndael via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Good morning,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; That sounds like a very dangerous mode of operation. You can already hand a transaction to a miner privately. I hand a transaction to a miner with some reasonable fee, and then I go and broadcast a different transaction with a minimal fee that spends the same inputs. The whole network (including the miner I handed the tx to) could all be running with a strict first-seen mempool policy, but we can still have a situation where the miner creates a block with a different transaction from what you see in your mempool. If anytime this happens, the nodes running your proposed rule drop the block, then anyone can fork those nodes off the network whenever they want.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Even outside of adversarial settings, Bitcoin doesn&amp;#39;t (and doesn&amp;#39;t attempt to) promise consistency across mempools. Making a consensus rule that enforces mempool consistency is a recipe for (unintended?) chainsplits.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; - rijndael&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On 12/5/22 7:20 AM, El_Hoy via bitcoin-dev wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; The only option I see against the attack Peter Todd is doing to opt-in RBF and 0Conf bitcoin usage is working on a bitcoin core implementation that stops propagation of full-rbf replaced blocks. Running multiple of such nodes on the network will add a risk to miners that enable full-rbf that would work as an incentive against that.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Obviously that would require adding an option on bitcoin core (that is not technically but politically difficult to implement as Petter Todd already have commit access to the main repository).&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; That said, a sufficiently incentivized actor (like Daniel Lipshitz or Muun wallet developers) could work on a fork and run several nodes with such functionality. As far as I understand the percolation model, with 10 to 20 nodes running such a rule would create a significant risk for full-rbf miners.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Regards.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; --- Eloy&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; On Tue, Nov 15, 2022 at 11:43 AM Peter Todd via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; On Tue, Nov 15, 2022 at 03:36:08PM &#43;1000, Anthony Towns via bitcoin-dev wrote:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; On Tue, Nov 08, 2022 at 01:16:13PM -0500, Peter Todd via bitcoin-dev wrote:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; FYI I&amp;#39;ve gotten a few hundred dollars worth of donations to this effort, and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; have raised the reward to about 0.02 BTC, or $400 USD at current prices.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Seems like this has been mostly claimed (0.014btc / $235, 9238sat/vb):&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; I&amp;#39;m turning it back on when (if) the mempool settles down. I&amp;#39;ve got more than&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; enough donations to give another run at it (the majority was donated privately&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; FWIW). There&amp;#39;s a risk of the mempool filling up again of course; hard to avoid&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; that.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Right now of course it&amp;#39;s really easy to double spend with the obvious&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; low-fee/high-fee method as the min relay fee keeps shifting.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://mempool.space/tx/397dcbe4e95ec40616e3dfc4ff8ffa158d2e72020b7d11fc2be29d934d69138c&#34;&gt;https://mempool.space/tx/397dcbe4e95ec40616e3dfc4ff8ffa158d2e72020b7d11fc2be29d934d69138c&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; The block it was claimed in seems to have been about an hour after the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; default mempool filled up:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://twitter.com/murchandamus/status/1592274621977477120&#34;&gt;https://twitter.com/murchandamus/status/1592274621977477120&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; That block actually seems to have included two&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; alice.btc.calendar.opentimestamps.org txs, the other paying $7.88&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (309sat/vb):&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://mempool.space/tx/ba9670109a6551458d5e1e23600c7bf2dc094894abdf59fe7aa020ccfead07cf&#34;&gt;https://mempool.space/tx/ba9670109a6551458d5e1e23600c7bf2dc094894abdf59fe7aa020ccfead07cf&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; The second is because I turned down the full-rbf reward to more normal fee&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; levels. There&amp;#39;s also another full-rbf double-spend from the Bob calendar, along&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; the same lines: 7e76b351009326a574f3120164dbbe6d85e07e04a7bbdc40f0277fcb008d2cd2&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; I double-spent the txin of the high fee tx that got mined. But I mistakenly had&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; RBF enabled in that double-spend, so while it propagated initially, I believe&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; it was replaced when something (someone?) rebroadcast the high-fee 397dcb tx.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Timeline (utc) to me looks like:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; - 13:12 - block 763148 is mined: last one that had a min fee &amp;lt; 1.5sat/vb&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; - 13:33 - f503868c64d454c472859b793f3ee7cdc8f519c64f8b1748d8040cd8ce6dc6e1&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; is announced and propogates widely (1.2sat/vb)&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; - 18:42 - 746daab9bcc331be313818658b4a502bb4f3370a691fd90015fabcd7759e0944&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; is announced and propogates widely (1.2sat/vb)&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; - 21:52 - ba967010 tx is announced and propogates widely, since&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; conflicting tx 746daab9 has been removed from default&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; mempools&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; - 21:53 - murch tweets about default mempool filling up&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; - 22:03 - 397dcbe4 tx is announced and propogates widely, since&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; conflicting tx f503868 has already been removed from default&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; mempools&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Is that 22:03 time for 397 from your node&amp;#39;s logs? It was originally announced&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; hours earlier. From one of my full-rbf nodes:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 2022-11-14T14:08:37Z [mempool] replacing tx 764867062b67fea61810c3858d587da83a28290545e882935a32285028084317 with 397dcbe4e95ec40616e3dfc4ff8ffa158d2e72020b7d11fc2be29d934d69138c for 0.00468 additional fees, -1 delta bytes&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; - 22:35 - block 763189 is mined&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; - 22:39 - block 763190 is mined&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; - 23:11 - block 763191 is mined&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; - 23:17 - block 763192 is mined including 397dcbe4&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; miningpool.observer reports both 397dcbe4 and ba967010 as missing in the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; first three blocks, and gives similar mempool ages for those txs to what&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; my logs report:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://miningpool.observer/template-and-block/0000000000000000000436aba59d8430061e0e50592215f7f263bfb1073ccac7&#34;&gt;https://miningpool.observer/template-and-block/0000000000000000000436aba59d8430061e0e50592215f7f263bfb1073ccac7&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://miningpool.observer/template-and-block/00000000000000000005600404792bacfd8a164d2fe9843766afb2bfbd937309&#34;&gt;https://miningpool.observer/template-and-block/00000000000000000005600404792bacfd8a164d2fe9843766afb2bfbd937309&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://miningpool.observer/template-and-block/00000000000000000004a3073f58c9eae40f251ea7aeaeac870daeac4b238fd1&#34;&gt;https://miningpool.observer/template-and-block/00000000000000000004a3073f58c9eae40f251ea7aeaeac870daeac4b238fd1&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; That presumably means those pools (AntPool twice and &amp;#34;unknown&amp;#34;) are&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; running with large mempools that didn&amp;#39;t kept the earlier 1.2sat/vb txs.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; To be clear, you think that AntPool and that other exchange is running with a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; larger than normal max mempool size limit? You mean those miners *did* keep the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; earlier 1.2sat/vb tx?&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; The txs were mined by Foundry:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://miningpool.observer/template-and-block/00000000000000000001382a226aedac822de80309cca2bf1253b35d4f8144f5&#34;&gt;https://miningpool.observer/template-and-block/00000000000000000001382a226aedac822de80309cca2bf1253b35d4f8144f5&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; This seems to be pretty good evidence that we currently don&amp;#39;t have any&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; significant hashrate mining with fullrbf policies (&amp;lt;0.5% if there was a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; high fee replacement available prior to every block having been mined),&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; despite the bounty having been collected.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Oh, we can put much lower bounds on that. I&amp;#39;ve been running OTS calendars with&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; full-rbf replacements for a few months without clear evidence of a full-rbf&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; replacement. While there was good reason to think some miners were mining&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; full-rbf before a few years back, they probably didn&amp;#39;t bother to reapply their&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; patches each upgrade. `mempoolfullrbf=1` is much simpler to use.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; --&lt;br/&gt;&amp;gt;&amp;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;&amp;gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;-------------- 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/20221205/60f49caa/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20221205/60f49caa/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:17:21&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqstrv4v5e847k5dmmlrsf6zr2kqd2wmuempuvgajzksl4p4ap9vj7szyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5namsl2</id>
    
      <title type="html">📅 Original date posted:2022-09-12 📝 Original message:Hi Ali ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqstrv4v5e847k5dmmlrsf6zr2kqd2wmuempuvgajzksl4p4ap9vj7szyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5namsl2" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsfxycmpctxsx7nrdljcx27ns0dz467nshh9ezpgxesc4jah8t5xjskm44qa&#39;&gt;nevent1q…44qa&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-09-12&lt;br/&gt;📝 Original message:Hi Ali&lt;br/&gt;&lt;br/&gt;&amp;gt; do you or anyone else in the Socratic know of any research to this that&amp;#39;s don&amp;#39;t involve a trade-off of theft or online connectivity?&lt;br/&gt;&lt;br/&gt;Any generation of a signature(s), whether that be single key (e.g. OP_CHECKSIG), multisig with multiple signatures going onchain (e.g. OP_CHECKMULTISIG, OP_CHECKSIGADD) or key aggregation multisig with only a single signature going onchain (e.g. OP_CHECKSIG), requires private key(s) and hence has concerns with regards to security and theft of those private keys. Clearly funds locked behind any kind multisig arrangement is better than no multisig arrangement as otherwise theft of a single private key can result in loss of funds.&lt;br/&gt;&lt;br/&gt;With regards to connectivity or interactivity key aggregation multisig does increase the interactivity requirements so if you wanted to minimize interactivity requirements you&amp;#39;d probably stick to OP_CHECKMULTISIG, OP_CHECKSIGADD that only requires you to generate a signature and then pass it onto the next signer.&lt;br/&gt;&lt;br/&gt;&amp;gt; ROAST and Liquid is perhaps the farthest I know of that addresses this problem, but it&amp;#39;s using centralized nodes right now. I was thinking, maybe these federated nodes can be decentralized into a few of these &amp;#34;lite nodes&amp;#34; managed by each service wanting a payment, that make a threshold signature out of many subscribers paying at the same time.&lt;br/&gt;&lt;br/&gt;I&amp;#39;m not sure what you mean here. In the realm of generating signatures there isn&amp;#39;t really a concept of a &amp;#34;lite node&amp;#34;. That makes more sense in the realm of verification where you may or may not be doing full verification. In the generating signatures realm you are either contributing to the aggregated signature or generating a standalone signature yourself. If you are not doing either of those and aren&amp;#39;t doing some kind of coordination then you are entirely irrelevant to the scheme. In the case of Liquid there is a 11-of-15 threshold signature arrangement where currently 11 signatures go onchain when funds are moved but if Liquid used a key aggregation scheme like FROST only a single signature would need to go onchain. With regards to centralization/decentralization you could increase the 11-of-15 to say a 22-of-30. Or you could have a nested MuSig/FROST scheme behind one of the 11 signers of the 11-of-15. But you can&amp;#39;t get around the fact that you are either generating a signature that ultimately contributes to the moving of the funds or you aren&amp;#39;t. If you aren&amp;#39;t generating a signature then you are just verifying the signature(s) that go onchain like all other full nodes on the network.&lt;br/&gt;&lt;br/&gt;Thanks&lt;br/&gt;Michael&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at [protonmail.com](&lt;a href=&#34;http://protonmail.com/&#34;&gt;http://protonmail.com/&lt;/a&gt;)&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Sunday, September 11th, 2022 at 08:43, Ali Sherief &amp;lt;ali at notatether.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Hi Michael.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I read the transcript of the Socratic and I have to say that it is quite detailed and touches a lot of problems including the well-known theft/offline problems which also has forms elsewhere such as for passwords.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; My question is, do you or anyone else in the Socratic know of any research to this that&amp;#39;s don&amp;#39;t involve a trade-off of theft or online connectivity?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ROAST and Liquid is perhaps the farthest I know of that addresses this problem, but it&amp;#39;s using centralized nodes right now. I was thinking, maybe these federated nodes can be decentralized into a few of these &amp;#34;lite nodes&amp;#34; managed by each service wanting a payment, that make a threshold signature out of many subscribers paying at the same time.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; - Ali&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/20220912/f261ff41/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220912/f261ff41/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:13:19&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqwyhnt3hwg4q60k4n6fnqkc9g5qu7c9u5kx0sh9gmdp49646kasczyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx55lxdwa</id>
    
      <title type="html">📅 Original date posted:2022-09-08 📝 Original message:Hi We ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqwyhnt3hwg4q60k4n6fnqkc9g5qu7c9u5kx0sh9gmdp49646kasczyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx55lxdwa" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrzuz9svy4wt35e0ncqjg93qzlu765hphu4em2r06a74ett9kdl2cwwle06&#39;&gt;nevent1q…le06&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-09-08&lt;br/&gt;📝 Original message:Hi&lt;br/&gt;&lt;br/&gt;We had an online Socratic on August 11th with Tim Ruffing (co-author of MuSig2 draft BIP) and Elizabeth Crites (co-author of research papers on MuSig(2), FROST). It was previously announced here [0] but ended up being rescheduled.&lt;br/&gt;&lt;br/&gt;The transcript is here [1], the video is here [2] and a reading list collecting together a number of resources on MuSig(2), FROST, ROAST etc is here [3].&lt;br/&gt;&lt;br/&gt;We discussed a retrospective look at BIP340, handling x-only public keys in MuSig2 and the proposed TLUV covenant opcode, the history from initially broken MuSig1 through MuSig-DN to MuSig2, how MuSig2 and FROST compare for multisig schemes (i.e. n-of-n), why MuSig2 doesn&amp;#39;t use proofs of possession and the current state of the draft MuSig2 BIP.&lt;br/&gt;&lt;br/&gt;We covered a lot of topics and it was rather long (~2.5 hours) so check out the transcript or video if you are interested in any of the above topics. Many thanks to those who participated.&lt;br/&gt;&lt;br/&gt;Jonas Nick recently tweeted [4] that the MuSig2 BIP [5] is approaching a stable version 1.0 which should be helpful to those who are interested (or already!) using it in the wild.&lt;br/&gt;&lt;br/&gt;[0]: &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-July/020772.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-July/020772.html&lt;/a&gt;&lt;br/&gt;[1]: &lt;a href=&#34;https://btctranscripts.com/london-bitcoin-devs/2022-08-11-tim-ruffing-musig2/&#34;&gt;https://btctranscripts.com/london-bitcoin-devs/2022-08-11-tim-ruffing-musig2/&lt;/a&gt;&lt;br/&gt;[2]: &lt;a href=&#34;https://www.youtube.com/watch?v=TpyK_ayKlj0&#34;&gt;https://www.youtube.com/watch?v=TpyK_ayKlj0&lt;/a&gt;&lt;br/&gt;[3]: &lt;a href=&#34;https://gist.github.com/michaelfolkson/5bfffa71a93426b57d518b09ebd0998c&#34;&gt;https://gist.github.com/michaelfolkson/5bfffa71a93426b57d518b09ebd0998c&lt;/a&gt;&lt;br/&gt;[4}: &lt;a href=&#34;https://twitter.com/n1ckler/status/1567168267025874944&#34;&gt;https://twitter.com/n1ckler/status/1567168267025874944&lt;/a&gt;&lt;br/&gt;[5]: &lt;a href=&#34;https://github.com/jonasnick/bips/blob/musig2/bip-musig2.mediawiki&#34;&gt;https://github.com/jonasnick/bips/blob/musig2/bip-musig2.mediawiki&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at [protonmail.com](&lt;a href=&#34;http://protonmail.com/&#34;&gt;http://protonmail.com/&lt;/a&gt;)&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&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/20220908/f6918882/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220908/f6918882/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:13:19&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsyv80947da0j6tgvgsmg7gsgj9udc0nl4ed3da3wc5wh2xuxl9caczyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5megg4m</id>
    
      <title type="html">📅 Original date posted:2022-07-23 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsyv80947da0j6tgvgsmg7gsgj9udc0nl4ed3da3wc5wh2xuxl9caczyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5megg4m" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszrr2nfuqn36cs0c64f2lgf03vwqw7gsjxm8cqejr0mp6n5ufhf0s3equts&#39;&gt;nevent1q…quts&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-07-23&lt;br/&gt;📝 Original message:Hi Antoine&lt;br/&gt;&lt;br/&gt;This looks great and I can certainly see progress being made in a number of directions on this. I thought you did a great job with the L2 onchain support workshops and I&amp;#39;m sure you&amp;#39;ll do a great job moving this forward.&lt;br/&gt;&lt;br/&gt;One cautionary word from someone who is probably still feeling the effects of burn out from the activation drama earlier in the year. No process can guarantee community consensus at the end of it especially if some of those who we consider experts in this area only tentatively participate. The personal attacks and ignoring of views counter to those who were pushing an activation attempt really should not be repeated. (Especially if this process is seeking to include those who we consider experts in this area and don&amp;#39;t want their participation to be perceived as tacit approval of whatever is attempted next.)&lt;br/&gt;&lt;br/&gt;As long as this is understood and agreed by participants I can only see positives coming out of this. But please let&amp;#39;s not repeat the activation drama from earlier in the year because a process with a subset of those who we would consider experts in this area come to a view and then try to ram that view down everyone&amp;#39;s throats by attempting activation at the end of it. Maybe this will result in community consensus on covenant proposal(s) going forward but also maybe it won&amp;#39;t. Either outcome is fine. At the very least research will progress and work will be carried out that moves us in a positive direction.&lt;br/&gt;&lt;br/&gt;Thanks&lt;br/&gt;Michael&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at [protonmail.com](&lt;a href=&#34;http://protonmail.com/&#34;&gt;http://protonmail.com/&lt;/a&gt;)&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Wednesday, July 20th, 2022 at 21:42, Antoine Riard via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Hi,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Discussions on covenants have been prolific and intense on this mailing list and within the wider Bitcoin technical circles, I believe however without succeeding to reach consensus on any new set of contracting primitives satisfying the requirements of known covenant-enabled use-cases. I think that&amp;#39;s a fact to deplore as covenants would not only offer vast extensions of the capabilities of Bitcoin as a system, i.e enabling new types of multi-party contract protocols. But also empowering Bitcoin on its fundamental value propositions of store of value (e.g by making vaults more flexible) and payment system (e.g by making realistic channel factories/payment pools).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If we retain as a covenant definition, a spending constraint restricting the transaction to which the spent UTXO can be spent, and enabling to program contracts/protocols at the transaction-level instead of the script-level, the list of Script primitives proposed during the last years has grown large : ANYPREVOUT [0], CHECKSIGFROMSTACK [1], CHECK_TEMPLATE_VERIFY [2], TAPROOT_LEAF_UPDATE_VERIFY [3], TXHASH [4], PUSHTXDATA [5], CAT [6], EVICT [7], Grafroot delegation [8], SIGHASH_GROUP [9], MERKLEBRANCHVERIFY [10] and more than I can&amp;#39;t remember. Of course, all the listed primitives are at different states of formalization, some already fully fleshed-out in BIPs, other still ideas on whiteboard, yet they all extend the range of workable multi-party contract protocols.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Indeed this range has grown wild. Without aiming to be exhaustive (I&amp;#39;m certainly missing some interesting proposals lost in the abyss of bitcointalk.org), we can mention the following use-cases: multi-party stateful contracts [11], congestion trees [12], payment pools [13], &amp;#34;eltoo&amp;#34; layered commitments [14], programmable vaults [15], multi-events contracts [16], blockchain-as-oracle bets [17], spacechains [18], trustless collateral lending [19], ...&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Minding all those facts, I would say the task of technical evaluation of any covenant proposal sounds at least two fold. There is first reasoning about the enabled protocols on a range of criterias such as scalability, efficiency, simplicity, extensibility, robustness, data confidentiality, etc. Asking questions like what are the interactions between layers, if any ? Or how robust is the protocol, not just interactivity failure between participant nodes but in the face of mempools spikes or internet disruption ? Or if the performance is still acceptable on shared resources like blockspace or routing tables if everyone is using this protocol ? Or if the protocol minimizes regulatory attack surface or centralization vectors ?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Though once this step is achieved, there is still more reasoning work to evaluate how good a fit is a proposed Script primitive, the efficiency/simplicity/ease to use trade-offs, but also if there are no functionality overlap or hard constraints on the use-cases design themselves or evolvability w.rt future Script extensions or generalization of the opcode operations.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Moreover, if you would like your evaluation of a covenant proposal to be complete, I don&amp;#39;t believe you can squeeze the implications with the mempool rules and combination with any consistent fee-bumping strategy. To say things politely, those areas have been a quagmire of vulnerabilities, attacks and defects for second-layers Bitcoin protocols during the last years [20].&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Considering the abundant problem-space offered by covenants, I believe there is a reasonable groundwork to pursue in building the use-cases understanding (e.g prototype, pseudo-specification, documentation, ...) and building consensus on the framework of criterias on which to evaluate them [21]. It might raise a really high bar for any covenant proposal compared to previous softforks, however I think it would adequately reflect the growth in Bitcoin complexity and funds at stakes during the last years.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Moving towards this outcome, I would like to propose a new covenant open specification process, in the same spirit as we have with the BOLTs or dlcspecs. We would have regular meetings (biweekly/monthly ?), an open agenda where topics of discussion can be pinned in advance and documentation artifacts would be built with time driven by consensus (e.g 1st phase could be to collect, pseudo-specify and find champion(s) for known use-cases ?) and no timeframe. Starting date could be September / October / November (later, 2023 ?), giving time for anyone interested in such a covenant process to allocate development and contribution bandwidth in function of their involvement interest.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Learning from the good but specially from the bad with setting up the L2 onchain support meetings last year, I think it would be better to keep the agenda open, loose and free as much we can in a &amp;#34;burn-the-roadmap&amp;#34; spirit, avoiding to create a sense of commitment or perceived signaling in the process participants towards any covenant solution. I would guess things to be experimental and evolutionary and folks to spend the first meetings actually to express what they would like the covenant process to be about (and yes that means if you&amp;#39;re a domain expert and you find the pace of things too slow sometimes, you have to learn to handle your own frustration...).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In a &amp;#34;decentralize-everything&amp;#34; fashion, I believe it would be good to have rotating meeting chairs and multiple covenant documentation archivists. I&amp;#39;m super happy to spend the time and energy bootstrapping well such covenant process effort, though as it&amp;#39;s Bitcoin learn to decentralize yourself.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;m really curious what the outcome of such a covenant process would look like. We might end up concluding that complex covenants are too unsafe by enabling sophisticated MEV-attacks against LN [22]. Or even if there is an emergent technical consensus, it doesn&amp;#39;t mean there is a real market interest for such covenant solutions. That said, I&amp;#39;m not sure if it&amp;#39;s really a subject of concern when you&amp;#39;re reasoning as a scientist/engineer and you value technical statements in terms of accuracy, systematic relevance and intrinsic interest.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Overall, my motivation to kick-start such a process stays in the fact that covenants are required building blocks to enable scalable payments pools design like CoinPool. I believe payments pools are a) cool and b) a good shot at scaling Bitcoin as a payment system once we have reached scalability limits of Lightning, still under the same security model for users. However, as a community we might sense it&amp;#39;s not the good timing for a covenant process. I&amp;#39;m really fine with that outcome as there are still holes to patch in LN to keep me busy enough for the coming years.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Zooming out, I believe with any discussion about covenants or other soft forks, the hard part isn&amp;#39;t about coming up with the best technical solution to a set of problems but in the iterative process where all voices are listened to reach (or not) consensus on what is actually meant by &amp;#34;best&amp;#34; and if the problems are accurate. The real physics of Bitcoin is the physics of people. It&amp;#39;s a work of patience.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Anyways, eager to collect feedbacks on what the ideal covenant specification process looks like. As usual, all opinions and mistakes are my own.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt; Antoine&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [0] &lt;a href=&#34;https://github.com/bitcoin/bips/blob/master/bip-0118.mediawiki&#34;&gt;https://github.com/bitcoin/bips/blob/master/bip-0118.mediawiki&lt;/a&gt;&lt;br/&gt;&amp;gt; [1] &lt;a href=&#34;https://bitcoinops.org/en/topics/op_checksigfromstack/&#34;&gt;https://bitcoinops.org/en/topics/op_checksigfromstack/&lt;/a&gt;&lt;br/&gt;&amp;gt; [2] &lt;a href=&#34;https://github.com/bitcoin/bips/blob/master/bip-0119.mediawiki&#34;&gt;https://github.com/bitcoin/bips/blob/master/bip-0119.mediawiki&lt;/a&gt;&lt;br/&gt;&amp;gt; [3] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-September/019419.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-September/019419.html&lt;/a&gt;&lt;br/&gt;&amp;gt; [4] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-January/019813.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-January/019813.html&lt;/a&gt;&lt;br/&gt;&amp;gt; [5] &lt;a href=&#34;https://github.com/jl2012/bips/blob/vault/bip-0ZZZ.mediawiki&#34;&gt;https://github.com/jl2012/bips/blob/vault/bip-0ZZZ.mediawiki&lt;/a&gt;&lt;br/&gt;&amp;gt; [6] &lt;a href=&#34;https://medium.com/blockstream/cat-and-schnorr-tricks-i-faf1b59bd298&#34;&gt;https://medium.com/blockstream/cat-and-schnorr-tricks-i-faf1b59bd298&lt;/a&gt;&lt;br/&gt;&amp;gt; [7] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-February/019926.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-February/019926.html&lt;/a&gt;&lt;br/&gt;&amp;gt; [8] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-February/015700.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-February/015700.html&lt;/a&gt;&lt;br/&gt;&amp;gt; [9] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-July/019243.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-July/019243.html&lt;/a&gt;&lt;br/&gt;&amp;gt; [10] &lt;a href=&#34;https://github.com/bitcoin/bips/blob/master/bip-0116.mediawiki&#34;&gt;https://github.com/bitcoin/bips/blob/master/bip-0116.mediawiki&lt;/a&gt;&lt;br/&gt;&amp;gt; [11] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-January/019808.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-January/019808.html&lt;/a&gt;&lt;br/&gt;&amp;gt; [12] &lt;a href=&#34;https://github.com/bitcoin/bips/blob/master/bip-0119.mediawiki#Congestion_Controlled_Transactions&#34;&gt;https://github.com/bitcoin/bips/blob/master/bip-0119.mediawiki#Congestion_Controlled_Transactions&lt;/a&gt;&lt;br/&gt;&amp;gt; [13] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2020-June/017964.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2020-June/017964.html&lt;/a&gt;&lt;br/&gt;&amp;gt; [14] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-January/002448.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-January/002448.html&lt;/a&gt;&lt;br/&gt;&amp;gt; [15] &lt;a href=&#34;http://fc17.ifca.ai/bitcoin/papers/bitcoin17-final28.pdf&#34;&gt;http://fc17.ifca.ai/bitcoin/papers/bitcoin17-final28.pdf&lt;/a&gt;&lt;br/&gt;&amp;gt; [16] &lt;a href=&#34;https://github.com/ariard/talk-slides/blob/master/advanced-contracts.pdf&#34;&gt;https://github.com/ariard/talk-slides/blob/master/advanced-contracts.pdf&lt;/a&gt;&lt;br/&gt;&amp;gt; [17] &lt;a href=&#34;https://blog.bitmex.com/taproot-you-betcha/&#34;&gt;https://blog.bitmex.com/taproot-you-betcha/&lt;/a&gt;&lt;br/&gt;&amp;gt; [18] &lt;a href=&#34;https://gist.github.com/RubenSomsen/c9f0a92493e06b0e29acced61ca9f49a#spacechains&#34;&gt;https://gist.github.com/RubenSomsen/c9f0a92493e06b0e29acced61ca9f49a#spacechains&lt;/a&gt;&lt;br/&gt;&amp;gt; [19] &lt;a href=&#34;https://gist.github.com/RubenSomsen/bf08664b3d174551ab7361ffb835fcef&#34;&gt;https://gist.github.com/RubenSomsen/bf08664b3d174551ab7361ffb835fcef&lt;/a&gt;&lt;br/&gt;&amp;gt; [20] &lt;a href=&#34;https://github.com/jamesob/mempool.work&#34;&gt;https://github.com/jamesob/mempool.work&lt;/a&gt;&lt;br/&gt;&amp;gt; [21] &lt;a href=&#34;https://github.com/bitcoinops/bitcoinops.github.io/pull/806&#34;&gt;https://github.com/bitcoinops/bitcoinops.github.io/pull/806&lt;/a&gt;&lt;br/&gt;&amp;gt; [22] &lt;a href=&#34;https://blog.bitmex.com/txwithhold-smart-contracts/&#34;&gt;https://blog.bitmex.com/txwithhold-smart-contracts/&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/20220723/7b57f683/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220723/7b57f683/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:12:02&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsx7y5w6ahydr8fgd44pmhpyygpqgnrejcmnjm7r67s39hkdg95jpszyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5j3n4g6</id>
    
      <title type="html">📅 Original date posted:2022-07-17 📝 Original message:Thanks ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsx7y5w6ahydr8fgd44pmhpyygpqgnrejcmnjm7r67s39hkdg95jpszyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5j3n4g6" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0g6pqa4uvy6zjh3zdslregqs5mj0vyartkhmh5lcqnylxy8ksu0g8r4wpv&#39;&gt;nevent1q…4wpv&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-07-17&lt;br/&gt;📝 Original message:Thanks for this Jonas. One question that was asked on Telegram (credit: Antoine D) and isn&amp;#39;t clear to me skimming the blog post and the draft BIP is whether half aggregation needs a new output type or not like we expect cross input signature aggregation (CISA) to [0]. My understanding is Schnorr signature batch verification (no aggregation of signatures) can be done today but half aggregation and CISA would need a soft fork and potentially a new output type in addition.&lt;br/&gt;&lt;br/&gt;(I know this work is in its early stages and won&amp;#39;t be proposed for a soft fork anytime soon. A few of us are just trying to get a basic sketch in our heads of what they require and whether they could be enabled in the same upgrade.)&lt;br/&gt;&lt;br/&gt;[0]: &lt;a href=&#34;https://bitcoin.stackexchange.com/questions/106240/will-cross-input-signature-aggregation-need-a-new-output-type/&#34;&gt;https://bitcoin.stackexchange.com/questions/106240/will-cross-input-signature-aggregation-need-a-new-output-type/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at protonmail.com&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Friday, July 8th, 2022 at 16:53, Jonas Nick via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; Half-aggregation has been mentioned several times on this list in various&lt;br/&gt;&amp;gt; contexts. To have a solid basis for discussing applications of half-aggregation,&lt;br/&gt;&amp;gt; I think it&amp;#39;s helpful to have a concrete specification of the scheme and a place&lt;br/&gt;&amp;gt; for collecting supplemental information like references to cryptographic&lt;br/&gt;&amp;gt; security proofs. You can find the BIP draft at&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/ElementsProject/cross-input-aggregation/blob/master/half-aggregation.mediawiki&#34;&gt;https://github.com/ElementsProject/cross-input-aggregation/blob/master/half-aggregation.mediawiki&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Similar to BIP-340, this BIP draft specifies only the cryptographic scheme and&lt;br/&gt;&amp;gt; does not prescribe specific applications. It has not received an extensive&lt;br/&gt;&amp;gt; security review yet. Thanks to Elliott Jin and Tim Ruffing for the review so&lt;br/&gt;&amp;gt; far. One new feature that the specified scheme has is &amp;#34;incremental aggregation&amp;#34;&lt;br/&gt;&amp;gt; which allows aggregating additional BIP-340 signatures into an existing&lt;br/&gt;&amp;gt; half-aggregate signature.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; While BIP-340 has a pseudocode specification and a reference implementation in&lt;br/&gt;&amp;gt; python, this BIP draft has a formal specification written in hacspec [0] and&lt;br/&gt;&amp;gt; auxiliary pseudocode. The formal specification is a mathematically precise&lt;br/&gt;&amp;gt; description of the scheme, which paves the way for computer-aided formal proofs.&lt;br/&gt;&amp;gt; Software tools (&amp;#34;proof assistants&amp;#34;) allow proving properties about the formal&lt;br/&gt;&amp;gt; specification (&amp;#34;no integer overflow&amp;#34;) and apply formal software verification&lt;br/&gt;&amp;gt; (&amp;#34;implementation is behaviorally equivalent to the spec&amp;#34;). I don&amp;#39;t have concrete&lt;br/&gt;&amp;gt; plans (nor the skillset) to use these techniques. Still, I think this is an&lt;br/&gt;&amp;gt; exciting area to explore because it has the potential to increase the Bitcoin&lt;br/&gt;&amp;gt; ecosystem&amp;#39;s robustness significantly and has little downside. Since hacspec&amp;#39;s&lt;br/&gt;&amp;gt; syntax is a subset of Rust&amp;#39;s syntax, one can use the standard rust toolchain to&lt;br/&gt;&amp;gt; compile, execute and test the specification.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; You can find a blog post that gives a broader context at&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://blog.blockstream.com/half-aggregation-of-bip-340-signatures/&#34;&gt;https://blog.blockstream.com/half-aggregation-of-bip-340-signatures/&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [0] &lt;a href=&#34;https://github.com/hacspec/hacspec&#34;&gt;https://github.com/hacspec/hacspec&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;
    </content>
    <updated>2023-06-08T01:11:19&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsvysaw7n3c8ewead6xm0yw6wfp6ghapevd24ksr7jqh7rlsywxkwqzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5qes5e5</id>
    
      <title type="html">📅 Original date posted:2022-04-24 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsvysaw7n3c8ewead6xm0yw6wfp6ghapevd24ksr7jqh7rlsywxkwqzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5qes5e5" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs24c9yuvndml99xpf3q2j6ex55xnyywj2au6206j9kyttvsqfml0s0sq6kv&#39;&gt;nevent1q…q6kv&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-04-24&lt;br/&gt;📝 Original message:Hi Jorge&lt;br/&gt;&lt;br/&gt;&amp;gt; Can we agree now that resisting a bip8 proposal is simpler and cleaner than resisting a speedy trial proposal?&lt;br/&gt;&lt;br/&gt;Personally I&amp;#39;d rather stick to one challenge at a time :) Currently we are facing a contentious soft fork activation attempt of CTV using an alternative client which we expect [1] to be a Speedy Trial deployment. Once this is resolved we can discuss the lessons and observations that come out of this.&lt;br/&gt;&lt;br/&gt;&amp;gt; Is there any PR to actively resist the proposal on bitcoin core?&lt;br/&gt;&lt;br/&gt;Not currently. Unless this becomes really, really messy and starts to pose a true existential threat to Bitcoin itself I think it best that attempts to actively resist the proposal are done outside of Bitcoin Core in an alternative client(s). Contrary to what some CTV proponents say getting anything consensus related into Bitcoin Core is extremely difficult (especially at short notice). There is no BDFL or Linus Torvalds like figure, there are a large number of contributors (and maintainers) who all have differing personal views. Hence directing people to have this discussion on a particular PR in the Bitcoin Core repo seems to me to be counterproductive and a massive distraction to other work that is going on on Bitcoin Core. We&amp;#39;ve already started to see online attacks on Bitcoin Core by CTV proponents [2] claiming an &amp;#34;old guard trying to assert dictatorship over the Bitcoin protocol&amp;#34;. It is nonsense of course but directing that nonsense to the Bitcoin Core repo is surely not the right way to go.&lt;br/&gt;&lt;br/&gt;As I&amp;#39;ve said in previous emails there is a Libera (and Freenode now) IRC channel ##ursf that has been set up to discuss an alternative client. We&amp;#39;ll get a conversation log up too. And of course we wait for confirmation on what the Speedy Trial deployment parameters for this attempted CTV soft fork are going to be.&lt;br/&gt;&lt;br/&gt;[1]: &lt;a href=&#34;https://blog.bitmex.com/op_ctv-summer-softfork-shenanigans/&#34;&gt;https://blog.bitmex.com/op_ctv-summer-softfork-shenanigans/&lt;/a&gt;&lt;br/&gt;[2]: &lt;a href=&#34;https://twitter.com/ProofOfKeags/status/1517574210691887105?s=20&amp;amp;t=_jgRh3kkYP3kn1qLuzGXrQ&#34;&gt;https://twitter.com/ProofOfKeags/status/1517574210691887105?s=20&amp;amp;t=_jgRh3kkYP3kn1qLuzGXrQ&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at [protonmail.com](&lt;a href=&#34;http://protonmail.com/&#34;&gt;http://protonmail.com/&lt;/a&gt;)&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Saturday, April 23rd, 2022 at 21:40, Jorge Timón &amp;lt;jtimon at jtimon.cc&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; I&amp;#39;ve been calling them &amp;#34;controversial softforks&amp;#34; for long.&lt;br/&gt;&amp;gt; I hate to be right some times, but I guess I&amp;#39;m happy that I&amp;#39;m not the only one who distrusts jeremy rubin anymore.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Can we agree now that resisting a bip8 proposal is simpler and cleaner than resisting a speedy trial proposal?&lt;br/&gt;&amp;gt; I guess now we don&amp;#39;t need to discuss it in hypothetical terms anymore, do we?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Is there any PR to actively resist the proposal on bitcoin core?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Thu, Apr 21, 2022 at 8:16 PM Michael Folkson via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Ok so we&amp;#39;ve had to scramble a bit as I don&amp;#39;t think anyone except perhaps Jeremy thought that there would be a Speedy Trial signaling period for a CTV soft fork planned to start on May 5th [1]. That is two weeks away.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; (I have to take what he says at face value. I can understand why one would be skeptical.)&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Understandably this has angered and surprised a few people including some of those who have voiced opposition to a CTV soft fork activation being attempted in the first place [2].&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; As I&amp;#39;ve said in a previous post [3] the Bitcoin Core 23.0 release candidate (and older versions) does not include any CTV code or CTV activation code. If a miner runs Bitcoin Core 23.0 out the box it will not signal for CTV. If by some chance CTV was to activate through some other software release Bitcoin Core releases would not apply CTV rules but they also wouldn&amp;#39;t reject blocks that apply CTV rules. Hence it is prudent to prepare for an eventuality where the miner signaling threshold might be reached but the community wants to prevent the attempted soft fork from activating. (I personally don&amp;#39;t think a 90 percent miner signaling threshold will be reached but I wouldn&amp;#39;t want to bet Bitcoin&amp;#39;s future on it.)&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I&amp;#39;ve tentatively labelled this effort a User Resisted Soft Fork (URSF) but I&amp;#39;m open to better names. I certainly don&amp;#39;t want to discourage those who dislike or oppose UASFs from contributing to this effort and potentially ultimately running a URSF release. If you don&amp;#39;t want this rushed CTV soft fork to activate we are all on the same side whatever we call it.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; For now I&amp;#39;ve set up a ##ursf channel on Libera IRC to monitor developments and discuss working on an additional release that if run may ultimately reject blocks that signal for CTV.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; The intention of this would be to provide additional direction and incentive to miners that the community does not want this soft fork to be activated. To repeat running a Bitcoin Core release will not signal for a CTV soft fork out the box. If a miner runs a Bitcoin Core release it will not signal for CTV.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Apologies that this is rushed. But as always with Jeremy caution and conservatism seems to be thrown out the window and we have to react to that. It goes without saying that this is not how Bitcoin consensus changes should be attempted.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; [1]: &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;&amp;gt;&amp;gt; [2]: &lt;a href=&#34;https://gist.github.com/michaelfolkson/352a503f4f9fc5de89af528d86a1b718&#34;&gt;https://gist.github.com/michaelfolkson/352a503f4f9fc5de89af528d86a1b718&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt; [3]: &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-April/020235.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-April/020235.html&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; --&lt;br/&gt;&amp;gt;&amp;gt; Michael Folkson&lt;br/&gt;&amp;gt;&amp;gt; Email: michaelfolkson at [protonmail.com](&lt;a href=&#34;http://protonmail.com/&#34;&gt;http://protonmail.com/&lt;/a&gt;)&lt;br/&gt;&amp;gt;&amp;gt; Keybase: michaelfolkson&lt;br/&gt;&amp;gt;&amp;gt; PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;-------------- 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/20220424/18ffef7b/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220424/18ffef7b/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:07:54&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs80d5cq9mp73d9alg0mct5aa44qrxycshhqgcs4mgs2kc9pswda3gzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx55dqvdu</id>
    
      <title type="html">📅 Original date posted:2022-04-22 📝 Original ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs80d5cq9mp73d9alg0mct5aa44qrxycshhqgcs4mgs2kc9pswda3gzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx55dqvdu" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrezjhgewud88m47ygfmv0tred0m7kj6zcrsddz9h9xyjqhx40lec5seqjy&#39;&gt;nevent1q…eqjy&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-04-22&lt;br/&gt;📝 Original message:I&amp;#39;m going to keep this short as I&amp;#39;m sure you are not interested in discussion on supposedly &amp;#34;unhinged&amp;#34; takes. Plus I know you support this soft fork activation attempt, you have heard the arguments from various people against attempting it and if you don&amp;#39;t believe by now that soft forks should have community consensus before they are attempted nothing will convince you.&lt;br/&gt;&lt;br/&gt;&amp;gt; Resisting changes that don&amp;#39;t affect you&lt;br/&gt;&lt;br/&gt;The consensus rules are essentially what define Bitcoin. Bitcoin is nothing without well defined and rarely changing consensus rules. If they can be changed by a subset of the community against the wishes of another subset of the community then we may as well accept that all soft fork proposals will eventually get activated because all soft fork proposals will be able to get a subset of the community to support them. (There are a lot of proposals out there.) Decentralized decision making requires that we collectively set high bars when considering making changes to the most important and dangerous part of Bitcoin. Once consensus rules are changed they generally need a hard fork to revert. This is Bitcoin 101. I really shouldn&amp;#39;t need to explain this to you. There was a lot of work done by a large number of people to slowly build community consensus around Taproot. You seem to be arguing that that work was pointless because ultimately Taproot doesn&amp;#39;t affect the community. If you don&amp;#39;t like it don&amp;#39;t use it right? Just keep quiet? Nothing to do with you? Gosh....&lt;br/&gt;&lt;br/&gt;&amp;gt; You&amp;#39;ve gone from saying you won&amp;#39;t NACK the proposal on its own to intentionally cause consensus forks to block its enforcement.&lt;br/&gt;&lt;br/&gt;Can you provide a link? If there was community consensus a single NACK from me would be pointless. I&amp;#39;m assuming that&amp;#39;s the context in which it was said. I&amp;#39;ve been consistent on wanting community consensus before any soft fork is attempted. If there is community consensus it doesn&amp;#39;t matter what I think. This is not a proposal that currently has community consensus and you are seeking to attempt to activate it anyway. Look at some of the individuals on this list. Only yesterday Matt Corallo, Adam Back, Murch, Bob McElrath etc were arguing online this should not be attempted. Perhaps you want to call their takes &amp;#34;unhinged&amp;#34; too?&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://gist.github.com/michaelfolkson/352a503f4f9fc5de89af528d86a1b718&#34;&gt;https://gist.github.com/michaelfolkson/352a503f4f9fc5de89af528d86a1b718&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;I&amp;#39;m happy to discuss anything with those who are on the fence or who are genuinely trying to come to a view on this. But I won&amp;#39;t be responding again to people like Jeremy, Keagan etc who I know perfectly well understand these arguments, ignore them and proceed regardless.&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at [protonmail.com](&lt;a href=&#34;http://protonmail.com/&#34;&gt;http://protonmail.com/&lt;/a&gt;)&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Friday, April 22nd, 2022 at 12:36 AM, Keagan McClelland &amp;lt;keagan.mcclelland at gmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Good day Michael,&lt;br/&gt;&amp;gt;&amp;gt; and discuss working on an additional release that if run may ultimately reject blocks that signal for CTV.&lt;br/&gt;&amp;gt; This seems silly to me.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The structure of CTV is imbuing an OP_NOP with script semantics. Resisting changes that don&amp;#39;t affect you is not consistent with the ideals of people being able to structure their own private agreements as they see fit...aka freedom. It seems needlessly coercive to try and resist CTV in this way. CTV is ultimately an opt-in proposal. If you don&amp;#39;t like the risk/benefit ratio, you can simply not generate scripts that contain CTV checks. Conservatism and apathy are something I can understand, but resisting CTV via an escalating soft fork is not conservatism or apathy, it&amp;#39;s fundamental opposition. What is it that you hope to accomplish by blocking others from using a new opcode? According to your formal statement, you haven&amp;#39;t really opposed CTV on fundamental grounds so much as vaguely questioning whether or not it is the &amp;#34;best tool for the job&amp;#34;...as if anyone really has the capacity to judge that for a diverse group with varying interests and use cases that may differ substantially from their own.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; There are really two ways to effectively resist this change: 1. reject all blocks during the lockin period, 2. reject all blocks that include OP_CTV in the script.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Regardless of which method you choose, it is ultimately going to be a far more forceful/invasive consensus change than CTV was in the first place. So have fun trying to explain yourself out of that one. You&amp;#39;ve gone from saying you won&amp;#39;t NACK the proposal on its own to intentionally cause consensus forks to block its enforcement. Did you change your mind or something?&lt;br/&gt;&amp;gt;&amp;gt; Hence it is prudent to prepare for an eventuality where the miner signaling threshold might be reached but the community wants to prevent the attempted soft fork from activating. (I personally don&amp;#39;t think a 90 percent miner signaling threshold will be reached but I wouldn&amp;#39;t want to bet Bitcoin&amp;#39;s future on it.)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Making the statement that &amp;#34;the community doesn&amp;#39;t want this to activate&amp;#34; as if it&amp;#39;s some kind of foregone conclusion is a pretty bold claim. I think you&amp;#39;ll be surprised at how broad support actually is. To contrast your second citation, here&amp;#39;s the set of people who have endorsed the proposal, along with a handful of people opposed (such as yourself): &lt;a href=&#34;https://utxos.org/signals/&#34;&gt;https://utxos.org/signals/&lt;/a&gt;. If you are aware of others who are opposed, it would be worth your time to solicit a statement from them that can be put on the signals page. Absent that, it seems appropriate to assume that the overwhelming majority of people who have opined on the subject are for it.&lt;br/&gt;&amp;gt;&amp;gt; But as always with Jeremy caution and conservatism seems to be thrown out the window and we have to react to that. It goes without saying that this is not how Bitcoin consensus changes should be attempted.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; What an unhinged take. The level of effort put into gathering consensus for CTV has set the bar higher than Taproot. Taproot didn&amp;#39;t have the level of outreach effort that CTV does, and the complexity in taproot is significantly larger than for CTV. You didn&amp;#39;t seem to have a problem organizing that activation process. That proposal was opened for public discussion in Jan&amp;#39;20, merged in Oct&amp;#39;20, and you were organizing activation discussions as early as Jan&amp;#39;21. The design of CTV has been *final* since Feb&amp;#39;20, a month after Taproot was opened for public discussion. There&amp;#39;s a ton of Proof-of-Concept code that has been written to test out use cases for CTV, but for Taproot it still doesn&amp;#39;t look like we&amp;#39;ll have MuSig for a while longer (I heard a year, but someone can correct me on that if I&amp;#39;m wrong), and wallet support for Taproot wasn&amp;#39;t fleshed out until after activation. Characterizing Jeremy&amp;#39;s efforts as throwing caution and conservatism out the window is hypocritical at best and malicious at worst.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Finally, I think it is worth stating that if Bitcoin adopts a culture where a willfully ignorant set of people can block changes that have no impact on them, despite a large constituency wanting those changes, then Bitcoin kind of deserves the slow deterioration that will result from that. I don&amp;#39;t really find that future appealing and so I think that trying to find ways to activate non-invasive changes should be everyone&amp;#39;s goal, *even if* they personally may not have an immediate use case, or have a slight preference for alternate solutions. The exception to this is any introduction of systemic risk. Not all soft-forks are equal, and therefore the meta-consensus requirements for getting them activated should vary based on how broadly consequential the change is.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Feel free to resist this if you want. In some sense that&amp;#39;s what the Speedy Trial procedure is for. However, I think your case would be more compelling if you actually had some sort of affirmative argument for why CTV induces systemic risk to non-users of the opcode. Expressing uncertainty over whether it is the globally optimal solution (to a problem that cannot be globally defined due to diverse interests) is not persuasive to me and many others in the community.&lt;br/&gt;&amp;gt; Keagan&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Thu, Apr 21, 2022 at 12:16 PM Michael Folkson via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Ok so we&amp;#39;ve had to scramble a bit as I don&amp;#39;t think anyone except perhaps Jeremy thought that there would be a Speedy Trial signaling period for a CTV soft fork planned to start on May 5th [1]. That is two weeks away.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; (I have to take what he says at face value. I can understand why one would be skeptical.)&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Understandably this has angered and surprised a few people including some of those who have voiced opposition to a CTV soft fork activation being attempted in the first place [2].&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; As I&amp;#39;ve said in a previous post [3] the Bitcoin Core 23.0 release candidate (and older versions) does not include any CTV code or CTV activation code. If a miner runs Bitcoin Core 23.0 out the box it will not signal for CTV. If by some chance CTV was to activate through some other software release Bitcoin Core releases would not apply CTV rules but they also wouldn&amp;#39;t reject blocks that apply CTV rules. Hence it is prudent to prepare for an eventuality where the miner signaling threshold might be reached but the community wants to prevent the attempted soft fork from activating. (I personally don&amp;#39;t think a 90 percent miner signaling threshold will be reached but I wouldn&amp;#39;t want to bet Bitcoin&amp;#39;s future on it.)&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I&amp;#39;ve tentatively labelled this effort a User Resisted Soft Fork (URSF) but I&amp;#39;m open to better names. I certainly don&amp;#39;t want to discourage those who dislike or oppose UASFs from contributing to this effort and potentially ultimately running a URSF release. If you don&amp;#39;t want this rushed CTV soft fork to activate we are all on the same side whatever we call it.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; For now I&amp;#39;ve set up a ##ursf channel on Libera IRC to monitor developments and discuss working on an additional release that if run may ultimately reject blocks that signal for CTV.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; The intention of this would be to provide additional direction and incentive to miners that the community does not want this soft fork to be activated. To repeat running a Bitcoin Core release will not signal for a CTV soft fork out the box. If a miner runs a Bitcoin Core release it will not signal for CTV.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Apologies that this is rushed. But as always with Jeremy caution and conservatism seems to be thrown out the window and we have to react to that. It goes without saying that this is not how Bitcoin consensus changes should be attempted.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; [1]: &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;&amp;gt;&amp;gt; [2]: &lt;a href=&#34;https://gist.github.com/michaelfolkson/352a503f4f9fc5de89af528d86a1b718&#34;&gt;https://gist.github.com/michaelfolkson/352a503f4f9fc5de89af528d86a1b718&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt; [3]: &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-April/020235.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-April/020235.html&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; --&lt;br/&gt;&amp;gt;&amp;gt; Michael Folkson&lt;br/&gt;&amp;gt;&amp;gt; Email: michaelfolkson at [protonmail.com](&lt;a href=&#34;http://protonmail.com/&#34;&gt;http://protonmail.com/&lt;/a&gt;)&lt;br/&gt;&amp;gt;&amp;gt; Keybase: michaelfolkson&lt;br/&gt;&amp;gt;&amp;gt; PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;-------------- 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/20220422/f136410f/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220422/f136410f/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:07:53&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsgy0n5y0shfeuh8vklpkraqa5l89veqsnx0d3z6w0d0vam4z9pl8qzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5zwn9cd</id>
    
      <title type="html">📅 Original date posted:2022-04-20 📝 Original message:Ok ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsgy0n5y0shfeuh8vklpkraqa5l89veqsnx0d3z6w0d0vam4z9pl8qzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5zwn9cd" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqn39xlr6mygsvh8avxz3s3rqcc307mpj5n547lnzag7qxhs8hk9szx63sv&#39;&gt;nevent1q…63sv&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-04-20&lt;br/&gt;📝 Original message:Ok last one. Whatever you say and whatever personal attacks you come up with I&amp;#39;m not responding after this one :)&lt;br/&gt;&lt;br/&gt;&amp;gt; Where can I see the use cases you have built out in recent years? Do you have a writeup in which you compare CTV to existing covenant enabling proposals? Do you have a strong reason to favour a different proposal? Have you written any code?&lt;br/&gt;&lt;br/&gt;You don&amp;#39;t seem to quite understand the asymmetry here. I (and the rest of the community excluding Jeremy) am not a full time CTV developer or full time CTV advocate. There are a number of soft fork proposals I am interested in and attempting to follow in addition to all the work that is going around Taproot etc. But if you/Jeremy want to make a change to the consensus rules the onus is on you to get community review and community consensus. I am not demanding the consensus rules be changed. I am quite happy to wait until there is community consensus over a particular soft fork like there was with Taproot.&lt;br/&gt;&lt;br/&gt;I have looked into CTV a considerable number of times now. I have asked 5 of the 6 CTV related questions on Bitcoin StackExchange at the time of writing [1], 2 of which I have attempted to answer. Does this mean I understand as much about Jeremy about CTV? Of course not. But if you believe that soft forks should have community consensus it is up to you/Jeremy to address concerns from curious, relatively informed, skeptical people like me. I am not convinced at the time of writing that CTV is the best tool for the job on any of its intended use cases. On this I don&amp;#39;t think even Jeremy is convinced as when asked to compare CTV to alternatives he often just says it is ready and other proposals aren&amp;#39;t.&lt;br/&gt;&lt;br/&gt;&amp;gt; In contrast, Jeremy has been doing exactly what you are proposing. He wrote the BIP, implemented it, explained use cases in detail, spoke at conferences, organised workshops, and built the Sapio framework for the community to experiment with covenants. He even puts his money where his mouth is and offers a bug bounty for any security flaw in the code.&lt;br/&gt;&lt;br/&gt;I&amp;#39;m not entirely sure where you are going with this. That because Jeremy has worked really hard on it for a long time we should activate it without community consensus? I&amp;#39;m sorry that&amp;#39;s not how consensus changes work or how they should work. Personally I very much doubt I will ever attempt to change the consensus rules with one of my proposals. I struggle to follow all of the work and the proposals others work on and at least for now believe others are much more qualified than me to design and code up consensus code changes. So again there is an asymmetry if you are going down the comparing Jeremy&amp;#39;s goals with my own.&lt;br/&gt;&lt;br/&gt;&amp;gt; I think by framing his contributions as &amp;#34;immature&amp;#34; you are disrespecting all the work he put into BIP-119.&lt;br/&gt;&lt;br/&gt;I think CTV is an immature proposal given what I&amp;#39;ve said already about it not being at all clear it is the best tool for any of its intended use cases.&lt;br/&gt;&lt;br/&gt;&amp;gt; If you are not willing to do what you are suggesting for years why should anybody else do it? Should the entire community stall progress on covenants until somebody else works on what you think is ideal?&lt;br/&gt;&lt;br/&gt;Others are currently working on alternative proposals to CTV (CAT, CSFS, TLUV, Simplicity, arguably APO depending on the use case etc). I haven&amp;#39;t asked them to, they already are. As far as I know (they can correct me if wrong) those working on alternative proposals don&amp;#39;t support an upcoming activation of CTV. You can try to make this personal all you want and write snide comments if it makes you feel better. But I doubt it is the right approach to getting more review of a soft fork proposal.&lt;br/&gt;&lt;br/&gt;&amp;gt; Bike shedding is just as big of an issue as &amp;#34;contentious soft forks&amp;#34;. Pointless activation drama is a huge issue of bitcoin protocol development because it is so draining. Some of the most respected devs do not participate in activation politics anymore because it harms their health. That&amp;#39;s nuts. If you really want to be of service to the Bitcoin community you should work on what you think is the right path forward and not just criticise Jeremy for progressing with his excellent work.&lt;br/&gt;&lt;br/&gt;If you have a magic wand to wave away activation drama and create an activation method that the entire community is happy with I&amp;#39;d love to see it. That magic wand would have got a few months of my life back in 2021 that I&amp;#39;ll never get back.&lt;br/&gt;&lt;br/&gt;As I said no more responses from me. I am going to go back to a transcript on FROST, one of the many exciting things people are working on that is Taproot related and what I believe the focus should be on at least until there is clear community consensus for a future soft fork.&lt;br/&gt;&lt;br/&gt;[1]: &lt;a href=&#34;https://bitcoin.stackexchange.com/questions/tagged/bip119-checktemplateverify&#34;&gt;https://bitcoin.stackexchange.com/questions/tagged/bip119-checktemplateverify&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at [protonmail.com](&lt;a href=&#34;http://protonmail.com/&#34;&gt;http://protonmail.com/&lt;/a&gt;)&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Wednesday, April 20th, 2022 at 20:46, Robin Linus via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Hi Michael,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Thank you for your reply. You wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I have a better (and safer) way forward which is to continue to build out use cases of CTV, convince the community it is the best tool for the job (whatever use case(s) that is), compare it to other existing covenant enabling proposals on those use cases and then get to a point where the community is confident that it is activating a proposal(s) that will stand the test of time.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Where can I see the use cases you have built out in recent years? Do you have a writeup in which you compare CTV to existing covenant enabling proposals? Do you have a strong reason to favour a different proposal? Have you written any code?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;ve seen pages of text of you complaining about details of CTV activation but nothing tangible that would prove that you are actually interested in real progress on covenants.&lt;br/&gt;&amp;gt; In contrast, Jeremy has been doing exactly what you are proposing. He wrote the BIP, implemented it, explained use cases in detail, spoke at conferences, organised workshops, and built the Sapio framework for the community to experiment with covenants. He even puts his money where his mouth is and offers a bug bounty for any security flaw in the code.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; You may not like that way forward because it requires a lot of work, a lot of time and a lot of patience.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A lot of work, a lot of time and a lot of patience is exactly what Jeremy has been investing for years. I think by framing his contributions as &amp;#34;immature&amp;#34; you are disrespecting all the work he put into BIP-119. If you could point me to essays of you thoughtfully comparing various covenant proposals then I could see your point, but you&amp;#39;re only ranting on other people&amp;#39;s work which requires no real effort and it doesn&amp;#39;t contribute much. If you are not willing to do what you are suggesting for years why should anybody else do it? Should the entire community stall progress on covenants until somebody else works on what you think is ideal?&lt;br/&gt;&amp;gt; Bike shedding is just as big of an issue as &amp;#34;contentious soft forks&amp;#34;. Pointless activation drama is a huge issue of bitcoin protocol development because it is so draining. Some of the most respected devs do not participate in activation politics anymore because it harms their health. That&amp;#39;s nuts. If you really want to be of service to the Bitcoin community you should work on what you think is the right path forward and not just criticise Jeremy for progressing with his excellent work.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Looking forward to check out your contributions!&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt; Robin&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/20220420/697e178e/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220420/697e178e/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:07:19&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs2wjz3qa0akn63uumr48a7sxcdsr58dh867vw9s7wgtu6w72j6urgzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5jjg697</id>
    
      <title type="html">📅 Original date posted:2022-04-20 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs2wjz3qa0akn63uumr48a7sxcdsr58dh867vw9s7wgtu6w72j6urgzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5jjg697" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstpmmseyehfuldjxmz0l2ftkvauwmdemvepfklvuus3jn2cymdqlqhdq3a4&#39;&gt;nevent1q…q3a4&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-04-20&lt;br/&gt;📝 Original message:Hi Robin&lt;br/&gt;&lt;br/&gt;I was in two minds to respond because I feel I am just repeating myself from previous emails to this list [1], [2], [3]. I&amp;#39;m not sure whether you have read those posts or are just blocking them out because you disagree with them. I also don&amp;#39;t think much (anything?) has changed since I wrote those emails a few months ago.&lt;br/&gt;&lt;br/&gt;&amp;gt; Honestly, the reasons you mentioned here [1] do not make much sense to me and it feels like your attitude is not very constructive as you do not suggest a better way forward.&lt;br/&gt;&lt;br/&gt;I have a better (and safer) way forward which is to continue to build out use cases of CTV, convince the community it is the best tool for the job (whatever use case(s) that is), compare it to other existing covenant enabling proposals on those use cases and then get to a point where the community is confident that it is activating a proposal(s) that will stand the test of time.&lt;br/&gt;&lt;br/&gt;You may not like that way forward because it requires a lot of work, a lot of time and a lot of patience. It is certainly easier to agitate for a soft fork on a mailing list. But that would be &amp;#34;my&amp;#34; and other people&amp;#39;s way forward who think only the best proposals should get into Bitcoin consensus rules and those worthy of taking on the chain split risk.&lt;br/&gt;&lt;br/&gt;&amp;gt; It&amp;#39;s not clear to me what you want because you just keep opposing CTV without trying to make better suggestions. What do you want?&lt;br/&gt;&lt;br/&gt;There are a number of competing covenant enabling proposals out there. I don&amp;#39;t know if they are better or not for specific use cases. I also don&amp;#39;t think there is consensus on that yet. Mainnet should not be treated like testnet, signet or an altcoin. It isn&amp;#39;t for experimenting with new consensus rules or proving that something is useful. That should be done elsewhere.&lt;br/&gt;&lt;br/&gt;&amp;gt; Your other arguments mostly discuss soft forks in general. This is a different topic though. I think it is not a good idea to mix that up.&lt;br/&gt;&lt;br/&gt;Any soft fork introduces chain split risk into the equation. Taproot had overwhelming community consensus so it had much less chain split risk. A contentious soft fork activation attempt contains a lot more chain split risk. When discussing whether to attempt to activate soft forks you have to appreciate that important fact. To ignore that seems bizarre to me.&lt;br/&gt;&lt;br/&gt;But as I said I&amp;#39;m repeating myself. If we have to do this contentious soft fork activation attempt exercise we have to do it and get it over with. The kind of work and progress I was hoping to see on CTV use cases over many months (and/or years) doesn&amp;#39;t seem to be happening. Instead we just have a flame war every couple of months on the mailing list over whether CTV should be activated or not and rehash all the same arguments in an environment in which nothing (anything?) has moved forward.&lt;br/&gt;&lt;br/&gt;[1]: &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-October/019535.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-October/019535.html&lt;/a&gt;&lt;br/&gt;[2]: &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-January/019728.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-January/019728.html&lt;/a&gt;&lt;br/&gt;[3]: &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-January/019731.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-January/019731.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at [protonmail.com](&lt;a href=&#34;http://protonmail.com/&#34;&gt;http://protonmail.com/&lt;/a&gt;)&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Wednesday, April 20th, 2022 at 18:13, Robin Linus via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Dear Michael,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Firstly, I think it is great that you do share enthusiasm for &amp;#34;vaults, eltoo constructions, payment pools etc&amp;#34;. Many people see covenants (or covenant-like features) as one of the most important upgrades currently in the pipe line because it enables so many important use cases and interesting areas of research. In particular vaults and scalability solutions.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; However, I have tried to figure out why you invest so much time and effort to oppose CTV. Honestly, the reasons you mentioned here [1] do not make much sense to me and it feels like your attitude is not very constructive as you do not suggest a better way forward.&lt;br/&gt;&amp;gt; You wrote &amp;#34;This research and experimentation should mature before considering activation&amp;#34; even though you know that BIP-119 has been finalised more than two years ago. Also the implementation has been reviewed extensively and it has matured for years. So, your framing of &amp;#34;experimentation&amp;#34; and &amp;#34;premature activation&amp;#34; just doesn&amp;#39;t reflect the truth here. Even your argument is already more than a year old...&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Additionally, you do not address that CTV is intentionally designed to be the most simple and conservative upgrade towards full-featured covenants. CTV only enables a feature that is already possible today using a trusted party. Opposing this conservative approach means you are either in favour of activating a more powerful feature or you do not want covenants at all. It&amp;#39;s not clear to me what you want because you just keep opposing CTV without trying to make better suggestions. What do you want?&lt;br/&gt;&amp;gt; Your other arguments mostly discuss soft forks in general. This is a different topic though. I think it is not a good idea to mix that up. And claiming that CTV implies continuous soft forks is again dishonest framing. It suggests that covenants were just a random idea of Jeremy even though you know that many reputable bitcoin developers have been researching this topic for years. Truth is Jeremy does a great service to the community by facing this draining activation drama to make trustless covenants possible.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Now, in your most recent email your main concern seems to be a potential chain split. This is again a weak argument against CTV because your concerns apply to any upgrade. Furthermore, you are increasing this risk by opposing CTV without trying to find a common way forward to activate covenants. This doesn&amp;#39;t serve bitcoin. I think it would be better for everyone if you would invest your time in trying to formulate a better solution. Covenants are too important to just oppose them because of inaccurate framing or because of opposition to soft forks in general.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt; Robin&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [1] &lt;a href=&#34;https://github.com/JeremyRubin/utxos.org/issues/27&#34;&gt;https://github.com/JeremyRubin/utxos.org/issues/27&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ------- Original Message -------&lt;br/&gt;&amp;gt; On Wednesday, April 20th, 2022 at 3:24 PM, Michael Folkson via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; The client has a Speedy trial release similar to Taproots with parameters proposed to be....&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; As I&amp;#39;ve said before I was hoping we&amp;#39;d avoid this exercise. Best case, it wastes the time of people who could be working on all sorts of valuable projects for the ecosystem. Worst case, we take a Russian roulette style gamble with a chain split.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; But here&amp;#39;s a summary of the basic facts:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; The latest Bitcoin Core release candidate (23.0) does not contain any new soft fork code, either CTV code or any new activation code. Running Bitcoin Core 23.0 out the box will not signal for any new soft fork and will not enforce any new soft fork rules (CTV or otherwise). Of course it will continue to enforce Taproot rules as Taproot activated last year.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; There are a number of individuals who have stated opposition to attempting to activate a CTV soft fork in the near term:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://gist.github.com/michaelfolkson/352a503f4f9fc5de89af528d86a1b718&#34;&gt;https://gist.github.com/michaelfolkson/352a503f4f9fc5de89af528d86a1b718&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Most of those individuals haven&amp;#39;t logged their opposition on Jeremy&amp;#39;s site:&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://utxos.org/signals/&#34;&gt;https://utxos.org/signals/&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Hence their views haven&amp;#39;t been included or discussed in Jeremy&amp;#39;s latest blog post.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Chain split risk&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I can&amp;#39;t predict how many full nodes and miners will run Jeremy&amp;#39;s client attempting to activate CTV. One would expect that many will continue to run versions of Bitcoin Core that will not enforce CTV rules and will not activate it. But whether Jeremy&amp;#39;s client will be a majority, significant minority, insignificant minority of full nodes and miners would be speculation on my part. (Personally I highly doubt those running Jeremy&amp;#39;s client will be a majority which leaves a significant minority and insignificant minority as the most likely options).&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Jeremy&amp;#39;s client is intending to use Speedy Trial presumably with similar parameters to that used for Taproot. That would mean seeking 90 percent of miners to signal for this CTV soft fork activation attempt.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Assuming 90 percent of miners don&amp;#39;t signal for it in one of the Speedy Trial windows then the activation attempt will have failed and it will be back in Jeremy&amp;#39;s court whether he tries again with a different activation attempt.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Assuming 90 percent of miners do signal for it (unlikely in my opinion but presumably still a possibility) then the CTV soft fork could activate unless full nodes resist it. This resistance would most likely be in the form of a UASF style client which rejects blocks that apply the CTV rules and/or includes transactions that don&amp;#39;t meet the CTV rules post activation. We would now be in chain split territory with two different assets and blockchains like we had with BTC and BCH.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; If I oppose this activation attempt and the associated chain split risk what should I do?&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Firstly, you can register your opposition to this soft fork activation attempt on Jeremy&amp;#39;s site: &lt;a href=&#34;https://utxos.org/signals/&#34;&gt;https://utxos.org/signals/&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; It seems Jeremy will continue this activation attempt regardless but it will be useful for others to see clearly that this a contentious soft fork activation attempt and act accordingly. So far only 3 individuals&amp;#39; opposition is registered on his site.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Secondly, if it is looking like 90 percent (or whatever percentage Jeremy uses) of miners are going to signal for a CTV soft fork then you can consider joining a UASF style effort to resist the soft fork activation attempt. I will certainly seek to participate and will continue to inform this list of efforts in this direction.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; The saddest thing is that if Jeremy&amp;#39;s soft fork activation attempt causes the uncertainty, confusion and disruption I fear it could it will make future soft forks that do have community consensus orders of magnitude harder to pull off. There are a number of soft fork proposals that I&amp;#39;m personally excited about (enabling covenants, eltoo, Simplicity, CISA etc) that long term we might get with a sensible approach to only activating soft forks that have community consensus. But the more uncertainty, confusion and disruption we create over contentious soft forks the more dangerous any soft fork of any form will appear. The primary focus will need to be resisting soft forks that don&amp;#39;t have community consensus and ensuring Bitcoin doesn&amp;#39;t splinter into a large number of different assets/blockchains with different combinations of soft forks active.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; So if you oppose this soft fork activation attempt please voice your opposition, run full node software that doesn&amp;#39;t include CTV and CTV activation code such as Bitcoin Core and if/when necessary and available run full node software that proactively rejects application of the CTV rules.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; --&lt;br/&gt;&amp;gt;&amp;gt; Michael Folkson&lt;br/&gt;&amp;gt;&amp;gt; Email: michaelfolkson at [protonmail.com](&lt;a href=&#34;http://protonmail.com/&#34;&gt;http://protonmail.com/&lt;/a&gt;)&lt;br/&gt;&amp;gt;&amp;gt; Keybase: michaelfolkson&lt;br/&gt;&amp;gt;&amp;gt; PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; ------- Original Message -------&lt;br/&gt;&amp;gt;&amp;gt; On Tuesday, April 19th, 2022 at 18:31, Jeremy Rubin via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Devs,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; In advance of the CTV meeting today, I wanted to share what my next step is in advocating for CTV, as well as 7 theses for why I believe it to be the right course of action to take at this time.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Please see the post at &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;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; As always, open to hear any and all feedback,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Jeremy&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; archived at: &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/20220420/87aa6c18/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220420/87aa6c18/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:07:18&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsfy3l9fetmf2r997h3yc00ez8lqk8wyqcc3fyd7ll0pgy298lxv9qzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx50xpelm</id>
    
      <title type="html">📅 Original date posted:2022-04-20 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsfy3l9fetmf2r997h3yc00ez8lqk8wyqcc3fyd7ll0pgy298lxv9qzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx50xpelm" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszuhd6ang9vc7ffr3e8tpy6hh8kume30ew4f5npc60e5krchz7quqvjusw0&#39;&gt;nevent1q…usw0&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-04-20&lt;br/&gt;📝 Original message:&amp;gt; The client has a Speedy trial release similar to Taproots with parameters proposed to be....&lt;br/&gt;&lt;br/&gt;As I&amp;#39;ve said before I was hoping we&amp;#39;d avoid this exercise. Best case, it wastes the time of people who could be working on all sorts of valuable projects for the ecosystem. Worst case, we take a Russian roulette style gamble with a chain split.&lt;br/&gt;&lt;br/&gt;But here&amp;#39;s a summary of the basic facts:&lt;br/&gt;&lt;br/&gt;The latest Bitcoin Core release candidate (23.0) does not contain any new soft fork code, either CTV code or any new activation code. Running Bitcoin Core 23.0 out the box will not signal for any new soft fork and will not enforce any new soft fork rules (CTV or otherwise). Of course it will continue to enforce Taproot rules as Taproot activated last year.&lt;br/&gt;&lt;br/&gt;There are a number of individuals who have stated opposition to attempting to activate a CTV soft fork in the near term:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://gist.github.com/michaelfolkson/352a503f4f9fc5de89af528d86a1b718&#34;&gt;https://gist.github.com/michaelfolkson/352a503f4f9fc5de89af528d86a1b718&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Most of those individuals haven&amp;#39;t logged their opposition on Jeremy&amp;#39;s site:&lt;br/&gt;&lt;a href=&#34;https://utxos.org/signals/&#34;&gt;https://utxos.org/signals/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Hence their views haven&amp;#39;t been included or discussed in Jeremy&amp;#39;s latest blog post.&lt;br/&gt;&lt;br/&gt;Chain split risk&lt;br/&gt;&lt;br/&gt;I can&amp;#39;t predict how many full nodes and miners will run Jeremy&amp;#39;s client attempting to activate CTV. One would expect that many will continue to run versions of Bitcoin Core that will not enforce CTV rules and will not activate it. But whether Jeremy&amp;#39;s client will be a majority, significant minority, insignificant minority of full nodes and miners would be speculation on my part. (Personally I highly doubt those running Jeremy&amp;#39;s client will be a majority which leaves a significant minority and insignificant minority as the most likely options).&lt;br/&gt;&lt;br/&gt;Jeremy&amp;#39;s client is intending to use Speedy Trial presumably with similar parameters to that used for Taproot. That would mean seeking 90 percent of miners to signal for this CTV soft fork activation attempt.&lt;br/&gt;&lt;br/&gt;Assuming 90 percent of miners don&amp;#39;t signal for it in one of the Speedy Trial windows then the activation attempt will have failed and it will be back in Jeremy&amp;#39;s court whether he tries again with a different activation attempt.&lt;br/&gt;&lt;br/&gt;Assuming 90 percent of miners do signal for it (unlikely in my opinion but presumably still a possibility) then the CTV soft fork could activate unless full nodes resist it. This resistance would most likely be in the form of a UASF style client which rejects blocks that apply the CTV rules and/or includes transactions that don&amp;#39;t meet the CTV rules post activation. We would now be in chain split territory with two different assets and blockchains like we had with BTC and BCH.&lt;br/&gt;&lt;br/&gt;If I oppose this activation attempt and the associated chain split risk what should I do?&lt;br/&gt;&lt;br/&gt;Firstly, you can register your opposition to this soft fork activation attempt on Jeremy&amp;#39;s site: &lt;a href=&#34;https://utxos.org/signals/&#34;&gt;https://utxos.org/signals/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;It seems Jeremy will continue this activation attempt regardless but it will be useful for others to see clearly that this a contentious soft fork activation attempt and act accordingly. So far only 3 individuals&amp;#39; opposition is registered on his site.&lt;br/&gt;&lt;br/&gt;Secondly, if it is looking like 90 percent (or whatever percentage Jeremy uses) of miners are going to signal for a CTV soft fork then you can consider joining a UASF style effort to resist the soft fork activation attempt. I will certainly seek to participate and will continue to inform this list of efforts in this direction.&lt;br/&gt;&lt;br/&gt;The saddest thing is that if Jeremy&amp;#39;s soft fork activation attempt causes the uncertainty, confusion and disruption I fear it could it will make future soft forks that do have community consensus orders of magnitude harder to pull off. There are a number of soft fork proposals that I&amp;#39;m personally excited about (enabling covenants, eltoo, Simplicity, CISA etc) that long term we might get with a sensible approach to only activating soft forks that have community consensus. But the more uncertainty, confusion and disruption we create over contentious soft forks the more dangerous any soft fork of any form will appear. The primary focus will need to be resisting soft forks that don&amp;#39;t have community consensus and ensuring Bitcoin doesn&amp;#39;t splinter into a large number of different assets/blockchains with different combinations of soft forks active.&lt;br/&gt;&lt;br/&gt;So if you oppose this soft fork activation attempt please voice your opposition, run full node software that doesn&amp;#39;t include CTV and CTV activation code such as Bitcoin Core and if/when necessary and available run full node software that proactively rejects application of the CTV rules.&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at [protonmail.com](&lt;a href=&#34;http://protonmail.com/&#34;&gt;http://protonmail.com/&lt;/a&gt;)&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Tuesday, April 19th, 2022 at 18:31, Jeremy Rubin via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Devs,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In advance of the CTV meeting today, I wanted to share what my next step is in advocating for CTV, as well as 7 theses for why I believe it to be the right course of action to take at this time.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Please see the post at &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;&amp;gt;&lt;br/&gt;&amp;gt; As always, open to hear any and all feedback,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Jeremy&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; archived at: &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/20220420/e4f13a10/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220420/e4f13a10/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:07:17&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs2f2s6neuyjgu62cc5n8qtxhz79rgd8jxg7ug6szhxntp8t3f4wsqzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5wzd43u</id>
    
      <title type="html">📅 Original date posted:2022-02-05 📝 Original message:Thanks ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs2f2s6neuyjgu62cc5n8qtxhz79rgd8jxg7ug6szhxntp8t3f4wsqzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5wzd43u" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswp3amenhgu50muzhelchrh36dv8kfnhh4u4f302xg6g04dje805q243j7k&#39;&gt;nevent1q…3j7k&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-02-05&lt;br/&gt;📝 Original message:Thanks for this Bastien (and Gloria for initially posting about this).&lt;br/&gt;&lt;br/&gt;I sympathetically skimmed the eclair PR (&lt;a href=&#34;https://github.com/ACINQ/eclair/pull/2113&#34;&gt;https://github.com/ACINQ/eclair/pull/2113&lt;/a&gt;) dealing with replaceable transactions fee bumping.&lt;br/&gt;&lt;br/&gt;There will continue to be a (hopefully) friendly tug of war on this probably for the rest of Bitcoin&amp;#39;s existence. I am sure people like Luke, Prayank etc will (rightfully) continue to raise that Lightning and other second layer protocols shouldn&amp;#39;t demand that policy rules be changed if there is a reason (e.g. DoS vector) for those rules on the base network. But if there are rules that have no upside, introduce unnecessary complexity for no reason and make Lightning implementers like Bastien&amp;#39;s life miserable attempting to deal with them I really hope we can make progress on removing or simplifying them.&lt;br/&gt;&lt;br/&gt;This is why I think it is important to understand the rationales for introducing the rules in the first place (and why it is safe to remove them if indeed it is) and being as rigorous as possible on the rationales for introducing additional rules. It sounds like from Gloria&amp;#39;s initial post we are still at a brainstorming phase (which is fine) but knowing what we know today I really hope we can learn from the mistakes of the original BIP 125, namely the Core implementation not matching the BIP and the sparse rationales for the rules. As Bastien says this is not criticizing the original BIP 125 authors, 7 years is a long time especially in Bitcoin world and they probably weren&amp;#39;t thinking about Bastien sitting down to write an eclair PR in late 2021 (and reviewers of that PR) when they wrote the BIP in 2015.&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at [protonmail.com](&lt;a href=&#34;http://protonmail.com/&#34;&gt;http://protonmail.com/&lt;/a&gt;)&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Monday, January 31st, 2022 at 3:57 PM, Bastien TEINTURIER via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Hi Gloria,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Many thanks for raising awareness on these issues and constantly pushing&lt;br/&gt;&amp;gt; towards finding a better model. This work will highly improve the&lt;br/&gt;&amp;gt; security of any multi-party contract trying to build on top of bitcoin&lt;br/&gt;&amp;gt; (because most multi-party contracts will need to have timeout conditions&lt;br/&gt;&amp;gt; and participants will need to make some transactions confirm before a&lt;br/&gt;&amp;gt; timeout happens - otherwise they may lose funds).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; For starters, let me quickly explain why the current rules are hard to&lt;br/&gt;&amp;gt; work with in the context of lightning (but I believe most L2 protocols&lt;br/&gt;&amp;gt; will have the same issues). Feel free to skip this part if you are&lt;br/&gt;&amp;gt; already convinced.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ## Motivation&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The biggest pain point is BIP 125 rule 2.&lt;br/&gt;&amp;gt; If I need to increase the fees of a time-sensitive transaction because&lt;br/&gt;&amp;gt; the feerate has been rising since I broadcast it, I may need to also pay&lt;br/&gt;&amp;gt; high fees just to produce a confirmed utxo that I can use. I&amp;#39;m actually&lt;br/&gt;&amp;gt; paying a high fee twice instead of once (and needlessly using on-chain&lt;br/&gt;&amp;gt; space, our scarcest asset, because we could have avoided that additional&lt;br/&gt;&amp;gt; transaction!).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It also has some annoying &amp;#34;non-determinism&amp;#34;.&lt;br/&gt;&amp;gt; Imagine that my transaction has been evicted from my mempool because its&lt;br/&gt;&amp;gt; feerate was too low. I could think &amp;#34;Great, that means I don&amp;#39;t have to&lt;br/&gt;&amp;gt; apply BIP 125 restrictions, I can just fund this transaction as if it&lt;br/&gt;&amp;gt; were a new one!&amp;#34;. But actually I do, because my transaction could still&lt;br/&gt;&amp;gt; be in miner&amp;#39;s mempools and I have no way of knowing it...this means that&lt;br/&gt;&amp;gt; whenever I have broadcast a transaction, I must assume that I will&lt;br/&gt;&amp;gt; always need to abide by whatever replacement rules the network applies.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Fortunately, as far as I understand it, this rule only exists because of&lt;br/&gt;&amp;gt; a previous implementation detail of bitcoin core, so there&amp;#39;s simply no&lt;br/&gt;&amp;gt; good reason to keep it.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The second biggest pain point is rule 3. It prevents me from efficiently&lt;br/&gt;&amp;gt; using my capital while it&amp;#39;s unconfirmed. Whenever I&amp;#39;m using a big utxo&lt;br/&gt;&amp;gt; to fund a transaction, I will get a big change output, and it would&lt;br/&gt;&amp;gt; really be a waste to be unable to use that change output to fund other&lt;br/&gt;&amp;gt; transactions. In order to be capital-efficient, I will end up creating&lt;br/&gt;&amp;gt; descendant trees for my time-sensitive transactions. But as Gloria&lt;br/&gt;&amp;gt; explained, replacing all my children will cost me an absurdly large&lt;br/&gt;&amp;gt; amount of fees. So what I&amp;#39;m actually planning to do instead is to RBF&lt;br/&gt;&amp;gt; one of the descendants high enough to get the whole tree confirmed.&lt;br/&gt;&amp;gt; But if those descendants&amp;#39; timeouts were far in the future, that&amp;#39;s a&lt;br/&gt;&amp;gt; waste, I paid a lot more fees for them than I should have. I&amp;#39;d like to&lt;br/&gt;&amp;gt; just replace my transaction and republish the invalidated children&lt;br/&gt;&amp;gt; independently.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Rule 4 doesn&amp;#39;t hurt as much as the two previous ones, I don&amp;#39;t have too&lt;br/&gt;&amp;gt; much to say about it.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; To be fair to the BIP 125 authors, all of these scenarios were very hard&lt;br/&gt;&amp;gt; to forecast at the time this BIP was created. We needed years to build&lt;br/&gt;&amp;gt; on those rules to get a better understanding of their limitations and if&lt;br/&gt;&amp;gt; the rationale behind them made sense in the long term.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ## Proposals&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I believe that now is a good time to re-think those, and I really like&lt;br/&gt;&amp;gt; Gloria&amp;#39;s categorization of the design constraints.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;d like to propose a different way of looking at descendants that makes&lt;br/&gt;&amp;gt; it easier to design the new rules. The way I understand it, limiting the&lt;br/&gt;&amp;gt; impact on descendant transactions is only important for DoS protection,&lt;br/&gt;&amp;gt; not for incentive compatibility. I would argue that after evictions,&lt;br/&gt;&amp;gt; descendant transactions will be submitted again (because they represent&lt;br/&gt;&amp;gt; transactions that people actually want to make), so evicting them does&lt;br/&gt;&amp;gt; not have a negative impact on mining incentives (in a world where blocks&lt;br/&gt;&amp;gt; are full most of the time).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;m curious to hear other people&amp;#39;s thoughts on that. If it makes sense,&lt;br/&gt;&amp;gt; I would propose the following very simple rules:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 1. The transaction&amp;#39;s ancestor absolute fees must be X% higher than the&lt;br/&gt;&amp;gt; previous transaction&amp;#39;s ancestor fees&lt;br/&gt;&amp;gt; 2. The transaction&amp;#39;s ancestor feerate must be Y% higher than the&lt;br/&gt;&amp;gt; previous transaction&amp;#39;s ancestor feerate&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I believe it&amp;#39;s completely ok to require increasing both the fees and&lt;br/&gt;&amp;gt; feerate if we don&amp;#39;t take descendants into account, because you control&lt;br/&gt;&amp;gt; your ancestor set - whereas the descendant set may be completely out of&lt;br/&gt;&amp;gt; your control.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This is very easy to use by wallets, because the ancestor set is easy to&lt;br/&gt;&amp;gt; obtain. And an important point is that the ancestor set is the same in&lt;br/&gt;&amp;gt; every mempool, whereas the descendant set is not (your mempool may have&lt;br/&gt;&amp;gt; rejected the last descendants, while other people&amp;#39;s mempools may still&lt;br/&gt;&amp;gt; contain them).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Because of that reason, I&amp;#39;d like to avoid having a rule that relies on&lt;br/&gt;&amp;gt; some size of the replaced descendant set: it may be valid in your&lt;br/&gt;&amp;gt; mempool but invalid in someone else&amp;#39;s, which makes it exploitable for&lt;br/&gt;&amp;gt; pinning attacks.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I believe these rules are incentive compatible (again, if you accept&lt;br/&gt;&amp;gt; the fact that the descendants will be re-submitted and mined as well,&lt;br/&gt;&amp;gt; so their fees aren&amp;#39;t lost).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Can we choose X and Y so that these two rules are also DoS-resistant?&lt;br/&gt;&amp;gt; Unfortunately I&amp;#39;m not sure, so maybe we&amp;#39;ll need to add a third rule to&lt;br/&gt;&amp;gt; address that. But before we do, can someone detail what it costs for a&lt;br/&gt;&amp;gt; node to evict a descendant tree? Given that bitcoin core doesn&amp;#39;t allow&lt;br/&gt;&amp;gt; chains of more than 25 transactions, the maximum number of transactions&lt;br/&gt;&amp;gt; being replaced will be bounded by 25 * N (where N is the number of&lt;br/&gt;&amp;gt; outputs of the transaction being replaced). If it&amp;#39;s just O(n) pruning of&lt;br/&gt;&amp;gt; a graph, maybe that&amp;#39;s ok? Or maybe we make X or Y depend on the number&lt;br/&gt;&amp;gt; of outputs of the transaction being replaced (this would need very&lt;br/&gt;&amp;gt; careful thoughts)?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If you made it this far, thanks for reading!&lt;br/&gt;&amp;gt; A couple of comments on the previous messages:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Currently, if we see a transaction&lt;br/&gt;&amp;gt;&amp;gt; that has the same txid as one in the mempool, we reject it as a&lt;br/&gt;&amp;gt;&amp;gt; duplicate, even if the feerate is much higher. It&amp;#39;s unclear to me if&lt;br/&gt;&amp;gt;&amp;gt; we have a very strong reason to change this, but noting it as a&lt;br/&gt;&amp;gt;&amp;gt; limitation of our current replacement policy.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I don&amp;#39;t see a strong reason from an L2 protocol&amp;#39;s point of view yet, but&lt;br/&gt;&amp;gt; there are many unkown unknowns. But from a miner incentive&amp;#39;s point of&lt;br/&gt;&amp;gt; view, we should keep the transaction with the higher feerate, shouldn&amp;#39;t&lt;br/&gt;&amp;gt; we? In that case it&amp;#39;s also a more efficient use of on-chain space, which&lt;br/&gt;&amp;gt; is a win, right?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; We might have a more-or-less long transition period during which we support both...&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Yes, this is a long term thing.&lt;br/&gt;&amp;gt; Even if bitcoin core releases a new version with updated RBF rules, as a&lt;br/&gt;&amp;gt; wallet you&amp;#39;ll need to keep using the old rules for a long time if you&lt;br/&gt;&amp;gt; want to be safe.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; But it&amp;#39;s all the more reason to try to ship this as soon as possible,&lt;br/&gt;&amp;gt; this way maybe our grand-children will be able to benefit from it ;)&lt;br/&gt;&amp;gt; (just kidding on the timespan obviously).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt; Bastien&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Le lun. 31 janv. 2022 à 00:11, Antoine Riard via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; a écrit :&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Hi Gloria,&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Thanks for this RBF sum up. Few thoughts and more context comments if it can help other readers.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; For starters, the absolute fee pinning attack is especially&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; problematic if we apply the same rules (i.e. Rule #3 and #4) in&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Package RBF. Imagine that Alice (honest) and Bob (adversary) share a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; LN channel. The mempool is rather full, so their pre-negotiated&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; commitment transactions&amp;#39; feerates would not be considered high&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; priority by miners. Bob broadcasts his commitment transaction and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; attaches a very large child (100KvB with 100,000sat in fees) to his&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; anchor output. Alice broadcasts her commitment transaction with a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; fee-bumping child (200vB with 50,000sat fees which is a generous&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 250sat/vB), but this does not meet the absolute fee requirement. She&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; would need to add another 50,000sat to replace Bob&amp;#39;s commitment&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; transaction.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Solving LN pinning attacks, what we&amp;#39;re aiming for is enabling a fair feerate bid between the counterparties, thus either forcing the adversary to overbid or to disengage from the confirmation competition. If the replace-by-feerate rule is adopted, there shouldn&amp;#39;t be an incentive for Bob to&lt;br/&gt;&amp;gt;&amp;gt; pick up the first option. Though if he does, that&amp;#39;s a winning outcome for Alice, as one of the commitment transactions confirms and her time-sensitive second-stage HTLC can be subsequently confirmed.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; It&amp;#39;s unclear to me if&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; we have a very strong reason to change this, but noting it as a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; limitation of our current replacement policy. See [#24007][12].&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Deployment of Taproot opens interesting possibilities in the vaults/payment channels design space, where the tapscripts can commit to different set of timelocks/quorum of keys. Even if the pre-signed states stay symmetric, whoever is the publisher, the feerate cost to spend can fluctuate.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; While this isn&amp;#39;t completely broken, and the user interface is&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; secondary to the safety of the mempool policy&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I think with L2s transaction broadcast backend, the stability and clarity of the RBF user interface is primary. What we could be worried about is a too-much complex interface easing the way for an attacker to trigger your L2 node to issue policy-invalid chain of transactions. Especially, when we consider that an attacker might have leverage on chain of transactions composition (&amp;#34;force broadcast of commitment A then commitment B, knowing they will share a CPFP&amp;#34;) or even transactions size (&amp;#34;overload commitment A with HTLCs&amp;#34;).&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; * If the original transaction is in the top {0.75MvB, 1MvB} of the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; mempool, apply the current rules (absolute fees must increase and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; pay for the replacement transaction&amp;#39;s new bandwidth). Otherwise, use a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; feerate-only rule.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; How this new replacement rule would behave if you have a parent in the &amp;#34;replace-by-feerate&amp;#34; half but the child is in the &amp;#34;replace-by-fee&amp;#34; one ?&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; If we allow the replacement of the parent based on the feerate, we might decrease the top block absolute fees.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; If we block the replacement of the parent based on the feerate because the replacement absolute fees aren&amp;#39;t above the replaced package, we still preclude a pinning vector. The child might be low-feerate junk and even attached to a low ancestor-score branch.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; If I&amp;#39;m correct on this limitation, maybe we could turn off the &amp;#34;replace-by-fee&amp;#34; behavior as soon as the mempool is fulfilled with a few blocks ?&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; * Rate-limit how many replacements we allow per prevout.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Depending on how it is implemented, though I would be concerned it introduces a new pinning vector in the context of shared-utxo. If it&amp;#39;s a hardcoded constant, it could be exhausted by an adversary starting at the lowest acceptable feerate then slowly increasing while still not reaching&lt;br/&gt;&amp;gt;&amp;gt; the top of the mempool. Same if it&amp;#39;s time-based or block-based, no guarantee the replacement slot is honestly used by your counterparty.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Further, an above-the-average replacement frequency might just be the reflection of your confirmation strategy reacting to block schedule or mempools historical data. As long as the feerate penalty is paid, I lean to allow replacement.&lt;br/&gt;&amp;gt;&amp;gt; (One solution could be to associate per-user &amp;#34;tag&amp;#34; to the LN transactions, where each &amp;#34;tag&amp;#34; would have its own replacement slots, but privacy?)&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; * Rate-limit transaction validation in general, per peer.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I think we could improve on the Core&amp;#39;s new transaction requester logic. Maybe we could bind the peer announced flow based on the feerate score (modulo validation time) of the previously validated transactions from that peer ? That said, while related to RBF, it sounds to me that enhancing Core&amp;#39;s rate-limiting transaction strategy is a whole discussion in itself [0]. Especially ensuring it&amp;#39;s tolerant to the specific requirements of LN &amp;amp; consorts.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; What should they be? We can do some arithmetic to see what happens if&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; you start with the biggest/lowest feerate transaction and do a bunch&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; of replacements. Maybe we end up with values that are high enough to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; prevent abuse and make sense for applications/users that do RBF.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; That&amp;#39;s a good question.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; One observation is that the attacker can always renew the set of DoSy utxos to pursue the attack. So maybe we could pick up constants scaled on the block size ? That way an attacker would have to burn fees, thus deterring them from launching an attack. Even if the attackers are miners, they have to renounce their income to acquire new DoSy utxos. If a low-fee period, we could scale up the constants ?&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Overall, I think there is the deployment issue to warn of. Moving to a new set of RBF rules implies for a lot of Bitcoin applications to rewrite their RBF logics. We might have a more-or-less long transition period during which we support both...&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt;&amp;gt; Antoine&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; [0] &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/21224&#34;&gt;https://github.com/bitcoin/bitcoin/pull/21224&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Le jeu. 27 janv. 2022 à 09:10, Gloria Zhao via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; a écrit :&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Hi everyone,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; This post discusses limitations of current Bitcoin Core RBF policy and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; attempts to start a conversation about how we can improve it,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; summarizing some ideas that have been discussed. Please reply if you&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; have any new input on issues to be solved and ideas for improvement!&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Just in case I&amp;#39;ve screwed up the text wrapping again, another copy can be&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; found here: &lt;a href=&#34;https://gist.github.com/glozow/25d9662c52453bd08b4b4b1d3783b9ff&#34;&gt;https://gist.github.com/glozow/25d9662c52453bd08b4b4b1d3783b9ff&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; ## Background&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Please feel free to skip this section if you are already familiar&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; with RBF.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Nodes may receive *conflicting* unconfirmed transactions, aka&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &amp;#34;double spends&amp;#34; of the same inputs. Instead of always keeping the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; first transaction, since v0.12, Bitcoin Core mempool policy has&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; included a set of Replace-by-Fee (RBF) criteria that allows the second&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; transaction to replace the first one and any descendants it may have.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Bitcoin Core RBF policy was previously documented as BIP 125.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; The current RBF policy is documented [here][1]. In summary:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 1. The directly conflicting transactions all signal replaceability&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; explicitly.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 2. The replacement transaction only includes an unconfirmed input if&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; that input was included in one of the directly conflicting&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; transactions.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 3. The replacement transaction pays an absolute fee of at least the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; sum paid by the original transactions.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 4. The additional fees pays for the replacement transaction&amp;#39;s&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; bandwidth at or above the rate set by the node&amp;#39;s *incremental relay&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; feerate*.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 5. The sum of all directly conflicting transactions&amp;#39; descendant counts&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; (number of transactions inclusive of itself and its descendants)&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; does not exceed 100.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; We can split these rules into 3 categories/goals:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; - **Allow Opting Out**: Some applications/businesses are unable to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; handle transactions that are replaceable (e.g. merchants that use&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; zero-confirmation transactions). We (try to) help these businesses by&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; honoring BIP125 signaling; we won&amp;#39;t replace transactions that have not&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; opted in.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; - **Incentive Compatibility**: Ensure that our RBF policy would not&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; accept replacement transactions which would decrease fee profits&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; of a miner. In general, if our mempool policy deviates from what is&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; economically rational, it&amp;#39;s likely that the transactions in our&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; mempool will not match the ones in miners&amp;#39; mempools, making our&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; fee estimation, compact block relay, and other mempool-dependent&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; functions unreliable. Incentive-incompatible policy may also&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; encourage transaction submission through routes other than the p2p&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; network, harming censorship-resistance and privacy of Bitcoin payments.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; - **DoS Protection**: Limit two types of DoS attacks on the node&amp;#39;s&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; mempool: (1) the number of times a transaction can be replaced and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; (2) the volume of transactions that can be evicted during a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; replacement.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Even more abstract: our goal is to make a replacement policy that&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; results in a useful interface for users and safe policy for&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; node operators.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; ## Motivation&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; There are a number of known problems with the current RBF policy.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Many of these shortcomings exist due to mempool limitations at the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; time RBF was implemented or result from new types of Bitcoin usage;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; they are not criticisms of the original design.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; ### Pinning Attacks&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; The most pressing concern is that attackers may take advantage of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; limitations in RBF policy to prevent other users&amp;#39; transactions from&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; being mined or getting accepted as a replacement.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; #### SIGHASH_ANYONECANPAY Pinning&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; BIP125#2 can be bypassed by creating intermediary transactions to be&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; replaced together. Anyone can simply split a 1-input 1-output&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; transaction off from the replacement transaction, then broadcast the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; transaction as is. This can always be done, and quite cheaply. More&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; details in [this comment][2].&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; In general, if a transaction is signed with SIGHASH\_ANYONECANPAY,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; anybody can just attach a low feerate parent to this transaction and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; lower its ancestor feerate. Even if you require SIGHASH\_ALL which&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; prevents an attacker from changing any outputs, the input can be a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; very low amount (e.g. just above the dust limit) from a low-fee&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; ancestor and still bring down the ancestor feerate of the transaction.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; TLDR: if your transaction is signed with SIGHASH\_ANYONECANPAY and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; signals replaceability, regardless of the feerate you broadcast at, an&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; attacker can lower its mining priority by adding an ancestor.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; #### Absolute Fee&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; The restriction of requiring replacement transactions to increase the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; absolute fee of the mempool has been described as &amp;#34;bonkers.&amp;#34; If the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; original transaction has a very large descendant that pays a large&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; amount of fees, even if it has a low feerate, the replacement&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; transaction must now pay those fees in order to meet Rule #3.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; #### Package RBF&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; There are a number of reasons why, in order to enable Package RBF, we&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; cannot use the same criteria.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; For starters, the absolute fee pinning attack is especially&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; problematic if we apply the same rules (i.e. Rule #3 and #4) in&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Package RBF. Imagine that Alice (honest) and Bob (adversary) share a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; LN channel. The mempool is rather full, so their pre-negotiated&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; commitment transactions&amp;#39; feerates would not be considered high&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; priority by miners. Bob broadcasts his commitment transaction and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; attaches a very large child (100KvB with 100,000sat in fees) to his&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; anchor output. Alice broadcasts her commitment transaction with a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; fee-bumping child (200vB with 50,000sat fees which is a generous&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 250sat/vB), but this does not meet the absolute fee requirement. She&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; would need to add another 50,000sat to replace Bob&amp;#39;s commitment&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; transaction.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Disallowing new unconfirmed inputs (Rule #2) in Package RBF would be&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; broken for packages containing transactions already in the mempool,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; explained [here][7].&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Note: I originally [proposed][6] Package RBF using the same Rule #3&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; and #4 before I realized how significant this pinning attack is. I&amp;#39;m&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; retracting that proposal, and a new set of Package RBF rules would&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; follow from whatever the new individual RBF rules end up being.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; #### Same Txid Different Witness&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Two transactions with the same non-witness data but different&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; witnesses have the same txid but different wtxid, and the same fee but&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; not necessarily the same feerate. Currently, if we see a transaction&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; that has the same txid as one in the mempool, we reject it as a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; duplicate, even if the feerate is much higher. It&amp;#39;s unclear to me if&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; we have a very strong reason to change this, but noting it as a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; limitation of our current replacement policy. See [#24007][12].&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; ### User Interface&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; #### Using Unconfirmed UTXOs to Fund Replacements&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; The restriction of only allowing confirmed UTXOs for funding a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; fee-bump (Rule #2) can hurt users trying to fee-bump their&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; transactions and complicate wallet implementations. If the original&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; transaction&amp;#39;s output value isn&amp;#39;t sufficient to fund a fee-bump and/or&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; all of the user&amp;#39;s other UTXOs are unconfirmed, they might not be able&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; to fund a replacement transaction. Wallet developers also need to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; treat self-owned unconfirmed UTXOs as unusable for fee-bumping, which&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; adds complexity to wallet logic. For example, see BDK issues [#144][4]&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; and [#414][5].&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; #### Interface Not Suitable for Coin Selection&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Currently, a user cannot simply create a replacement transaction&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; targeting a specific feerate or meeting a minimum fee amount and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; expect to meet the RBF criteria. The fee amount depends on the size of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; the replacement transaction, and feerate is almost irrelevant.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Bitcoin Core&amp;#39;s `bumpfee` doesn&amp;#39;t use the RBF rules when funding the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; replacement. It [estimates][13] a feerate which is &amp;#34;wallet incremental&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; relay fee&amp;#34; (a conservative overestimation of the node&amp;#39;s incremental&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; relay fee) higher than the original transaction, selects coins for&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; that feerate, and hopes that it meets the RBF rules. It never fails&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Rule #3 and #4 because it uses all original inputs and refuses to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; bump a transaction with mempool descendants.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; This is suboptimal, but is designed to work with the coin selection&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; engine: select a feerate first, and then add fees to cover it.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Following the exact RBF rules would require working the other way&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; around: based on how much fees we&amp;#39;ve added to the transaction and its&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; current size, calculate the feerate to see if we meet Rule #4.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; While this isn&amp;#39;t completely broken, and the user interface is&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; secondary to the safety of the mempool policy, we can do much better.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; A much more user-friendly interface would depend *only* on the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; fee and size of the original transactions.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; ### Updates to Mempool and Mining&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Since RBF was first implemented, a number of improvements have been&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; made to mempool and mining logic. For example, we now use ancestor&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; feerates in mining (allowing CPFP), and keep track of ancestor&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; packages in the mempool.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; ## Ideas for Improvements&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; ### Goals&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; To summarize, these seem to be desired changes, in order of priority:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 1. Remove Rule #3. The replacement should not be *required* to pay&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; higher absolute fees.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 2. Make it impossible for a replacement transaction to have a lower&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; mining score than the original transaction(s). This would eliminate&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; the `SIGHASH\_ANYONECANPAY` pinning attack.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 3. Remove Rule #2. Adding new unconfirmed inputs should be allowed.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 4. Create a more helpful interface that helps wallet fund replacement&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; transactions that aim for a feerate and fee.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; ### A Different Model for Fees&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; For incentive compatibility, I believe there are different&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; formulations we should consider. Most importantly, if we want to get&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; rid of the absolute fee rule, we can no longer think of it as &amp;#34;the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; transaction needs to pay for its own bandwidth,&amp;#34; since we won&amp;#39;t always&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; be getting additional fees. That means we need a new method of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; rate-limiting replacements that doesn&amp;#39;t require additional fees every&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; time.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; While it makes sense to think about monetary costs when launching a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; specific type of attack, given that the fees are paid to the miner and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; not to the mempool operators, maybe it doesn&amp;#39;t make much sense to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; think about &amp;#34;paying for bandwidth&amp;#34;. Maybe we should implement&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; transaction validation rate-limiting differently, e.g. building it&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; into the P2P layer instead of the mempool policy layer.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Recently, Suhas gave a [formulation][8] for incentive compatibility&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; that made sense to me: &amp;#34;are the fees expected to be paid in the next&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; (N?) blocks higher or lower if we process this transaction?&amp;#34;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; I started by thinking about this where N=1 or `1 &#43; p`.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Here, a rational miner is looking at what fees they would&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; collect in the next block, and then some proportion `p` of the rest of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; the blocks based on their hashrate. We&amp;#39;re assuming `p` isn&amp;#39;t *so high*&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; that they would be okay with lower absolute fees in the next 1 block.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; We&amp;#39;re also assuming `p` isn&amp;#39;t *so low* that the miner doesn&amp;#39;t care&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; about what&amp;#39;s left of the mempool after this block.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; A tweak to this formulation is &amp;#34;if we process this transaction, would&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; the fees in the next 1 block higher or lower, and is the feerate&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; density of the rest of the mempool higher or lower?&amp;#34; This is pretty&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; similar, where N=1, but we consider the rest of the mempool by feerate&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; rather than fees.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; ### Mining Score of a Mempool Transaction&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; We are often interested in finding out what&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; the &amp;#34;mining score&amp;#34; of a transaction in the mempool is. That is, when&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; the transaction is considered in block template building, what is the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; feerate it is considered at?&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Obviously, it&amp;#39;s not the transaction&amp;#39;s individual feerate. Bitcoin Core&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [mining code sorts][14] transactions by their ancestor feerate and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; includes them packages at a time, keeping track of how this affects the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; package feerates of remaining transactions in the mempool.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; *ancestor feerate*: Ancestor feerate is easily accessible information,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; but it&amp;#39;s not accurate either, because it doesn&amp;#39;t take into account the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; fact that subsets of a transaction&amp;#39;s ancestor set can be included&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; without it. For example, ancestors may have high feerates on their own&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; or we may have [high feerate siblings][8].&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; TLDR: *Looking at the current ancestor feerate of a transaction is&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; insufficient to tell us what feerate it will be considered at when&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; building a block template in the future.*&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; *min(individual feerate, ancestor feerate)*: Another&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; heuristic that is simple to calculate based on current mempool tooling&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; is to use the [minimum of a transaction&amp;#39;s individual score and its&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; ancestor score][10] as a conservative measure. But this can&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; overestimate as well (see the example below).&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; *min ancestor feerate(tx &#43; possible ancestor subsets)* We can also&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; take the minimum of every possible ancestor subset, but this can be&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; computationally expensive since there can be lots and lots of ancestor&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; subsets.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; *max ancestor feerate(tx &#43; possible descendant subsets)*: Another idea&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; is to use the [maximum ancestor score of the transaction &#43; each of its&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; descendants][9]. This doesn&amp;#39;t work either; it has the same blindspot&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; of ancestor subsets being mined on their own.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; #### Mining Score Example&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Here&amp;#39;s an example illustrating why mining score is tricky to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; efficiently calculate for mempool transactions:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Let&amp;#39;s say you have same-size transactions A (21sat/vB), B (1sat/vB),&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; C(9sat/vB), D(5sat/vB).&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; The layout is: grandparent A, parent B, and two children C and D.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; ```&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; A&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; ^&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; B&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; ^ ^&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; C D&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; ```&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; A miner using ancestor packages to build block templates will first&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; include A with a mining score of 21. Next, the miner will include B and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; C with a mining score of 6. This leaves D, with a mining score of 5.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Note: in this case, mining by ancestor feerate results in the most&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; rational decisions, but [a candidate set-based approach][10] which&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; makes ancestor feerate much less relevant could&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; be more advantageous in other situations.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Here is a chart showing the &amp;#34;true&amp;#34; mining score alongside the values&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; calculating using imperfect heuristics described above. All of them&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; can overestimate or underestimate.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; ```&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; A B C D&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; mining score | 21 | 6 | 6 | 5 |&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; ancestor feerate | 21 | 11 | 10.3 | 9 |&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; min(individual, ancestor) | 21 | 1 | 9 | 5 |&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; min(tx &#43; ancestor subsets) | 21 | 1 | 5 | 3 |&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; max(tx &#43; descendants subsets) | 21 | 9 | 9 | 5 |&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; ```&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Possibly the best solution for finding the &amp;#34;mining score&amp;#34; of a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; transaction is to build a block template, see what feerate each&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; package is included at. Perhaps at some cutoff, remaining mempool&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; transactions can be estimated using some heuristic that leans&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; {overestimating, underestimating} depending on the situation.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Mining score seems to be relevant in multiple places: Murch and I&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; recently [found][3] that it would be very important in&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &amp;#34;ancestor-aware&amp;#34; funding of transactions (the wallet doesn&amp;#39;t&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; incorporate ancestor fees when using unconfirmed transactions in coin&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; selection, which is a bug we want to fix).&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; In general, it would be nice to know the exact mining priority of&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; one&amp;#39;s unconfirmed transaction is. I can think of a few block/mempool&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; explorers who might want to display this information for users.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; ### RBF Improvement Proposals&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; After speaking to quite a few people, here are some suggestions&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; for improvements that I have heard:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; * The ancestor score of the replacement must be {5, 10, N}% higher&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; than that of every original transaction.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; * The ancestor score of the replacement must be 1sat/vB higher than&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; that of every original transaction.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; * If the original transaction is in the top {0.75MvB, 1MvB} of the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; mempool, apply the current rules (absolute fees must increase and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; pay for the replacement transaction&amp;#39;s new bandwidth). Otherwise, use a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; feerate-only rule.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; * If fees don&amp;#39;t increase, the size of the replacement transaction must&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; decrease by at least N%.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; * Rate-limit how many replacements we allow per prevout.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; * Rate-limit transaction validation in general, per peer.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Perhaps some others on the mailing list can chime in to throw other&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; ideas into the ring and/or combine some of these rules into a sensible&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; policy.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; #### Replace by Feerate Only&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; I don&amp;#39;t think there&amp;#39;s going to be a single-line feerate-based&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; rule that can incorporate everything we need.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; On one hand, a feerate-only approach helps eliminate the issues&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; associated with Rule #3. On the other hand, I believe the main concern&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; with a feerate-only approach is how to rate limit replacements. We&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; don&amp;#39;t want to enable an attack such as:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 1. Attacker broadcasts large, low-feerate transaction, and attaches a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; chain of descendants.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 2. The attacker replaces the transaction with a smaller but higher&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; feerate transaction, attaching a new chain of descendants.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 3. Repeat 1000 times.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; #### Fees in Next Block and Feerate for the Rest of the Mempool&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Perhaps we can look at replacements like this:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 1. Calculate the directly conflicting transactions and, with their&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; descendants, the original transactions. Check signaling. Limit the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; total volume (e.g. can&amp;#39;t be more than 100 total or 1MvB or something).&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 2. Find which original transactions would be in the next ~1 block. The&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; replacement must pay at least this amount &#43; X% in absolute fees. This&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; guarantees that the fees of the next block doesn&amp;#39;t decrease.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 3. Find which transactions would be left in the mempool after that ~1&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; block. The replacement&amp;#39;s feerate must be Y% higher than the maximum&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; mining score of these transactions. This guarantees that you now have&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; only *better* candidates in your after-this-block mempool than you did&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; before, even if the size and fees the transactions decrease.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; 4. Now you have two numbers: a minimum absolute fee amount and a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; minimum feerate. Check to see if the replacement(s) meet these&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; minimums. Also, a wallet would be able to ask the node &amp;#34;What fee and&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; feerate would I need to put on a transaction replacing this?&amp;#34; and use&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; this information to fund a replacement transaction, without needing to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; guess or overshoot.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Obviously, there are some magic numbers missing here. X and Y are&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; TBD constants to ensure we have some kind of rate limiting for the&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; number of replacements allowed using some set of fees.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; What should they be? We can do some arithmetic to see what happens if&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; you start with the biggest/lowest feerate transaction and do a bunch&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; of replacements. Maybe we end up with values that are high enough to&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; prevent abuse and make sense for applications/users that do RBF.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; ### Mempool Changes Need for Implementation&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; As described in the mining score section above,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; we may want additional tooling to more accurately assess&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; the economic gain of replacing transactions in our mempool.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; A few options have been discussed:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; * Calculate block templates on the fly when we need to consider a&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; replacement. However, since replacements are [quite common][11]&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; and the information might be useful for other things as well,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; it may be worth it to cache a block template.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; * Keep a persistent block template so that we know what transactions&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; we would put in the next block. We need to remember the feerate&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; at which each transaction was included in the template, because an&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; ancestor package may be included in the same block template in&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; multiple subsets. Transactions included earlier alter the ancestor&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; feerate of the remaining transactions in the package. We also need&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; to keep track of the new feerates of transactions left over.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; * Divide the mempool into two layers, &amp;#34;high feerate&amp;#34; and &amp;#34;low&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; feerate.&amp;#34; The high feerate layer contains ~1 block of packages with&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; the highest ancestor feerates, and the low feerate layer contains&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; everything else. At the edge of a block, we have a Knapsacky problem&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; where the next highest ancestor feerate package might not fit, so we&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; would probably want the high feerate layer ~2MvB or something to avoid&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; underestimating the fees.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; ## Acknowledgements&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Thank you to everyone whose RBF-related suggestions, grievances,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; criticisms and ideas were incorporated in this document:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Andrew Chow, Matt Corallo, Suhas Daftuar, Christian Decker,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Mark Erhardt, Lloyd Fournier, Lisa Neigut, John Newbery,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Antoine Poinsot, Antoine Riard, Larry Ruane,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; S3RK and Bastien Teinturier.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Thanks for reading!&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Best,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Gloria&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [1]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/blob/master/doc/policy/mempool-replacements.md&#34;&gt;https://github.com/bitcoin/bitcoin/blob/master/doc/policy/mempool-replacements.md&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [2]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/23121#issuecomment-929475999&#34;&gt;https://github.com/bitcoin/bitcoin/pull/23121#issuecomment-929475999&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [3]: &lt;a href=&#34;https://github.com/Xekyo/bitcoin/commit/d754b0242ec69d42c570418aebf9c1335af0b8ea&#34;&gt;https://github.com/Xekyo/bitcoin/commit/d754b0242ec69d42c570418aebf9c1335af0b8ea&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [4]: &lt;a href=&#34;https://github.com/bitcoindevkit/bdk/issues/144&#34;&gt;https://github.com/bitcoindevkit/bdk/issues/144&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [5]: &lt;a href=&#34;https://github.com/bitcoindevkit/bdk/issues/414&#34;&gt;https://github.com/bitcoindevkit/bdk/issues/414&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [6]: &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-September/019464.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-September/019464.html&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [7]: &lt;a href=&#34;https://gist.github.com/glozow/dc4e9d5c5b14ade7cdfac40f43adb18a#new-unconfirmed-inputs-rule-2&#34;&gt;https://gist.github.com/glozow/dc4e9d5c5b14ade7cdfac40f43adb18a#new-unconfirmed-inputs-rule-2&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [8]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/23121#discussion_r777131366&#34;&gt;https://github.com/bitcoin/bitcoin/pull/23121#discussion_r777131366&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [9]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/22290#issuecomment-865887922&#34;&gt;https://github.com/bitcoin/bitcoin/pull/22290#issuecomment-865887922&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [10]: &lt;a href=&#34;https://gist.github.com/Xekyo/5cb413fe9f26dbce57abfd344ebbfaf2#file-candidate-set-based-block-building-md&#34;&gt;https://gist.github.com/Xekyo/5cb413fe9f26dbce57abfd344ebbfaf2#file-candidate-set-based-block-building-md&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [11]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/22539#issuecomment-885763670&#34;&gt;https://github.com/bitcoin/bitcoin/pull/22539#issuecomment-885763670&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [12]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/24007&#34;&gt;https://github.com/bitcoin/bitcoin/pull/24007&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [13]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/blob/1a369f006fd0bec373b95001ed84b480e852f191/src/wallet/feebumper.cpp#L114&#34;&gt;https://github.com/bitcoin/bitcoin/blob/1a369f006fd0bec373b95001ed84b480e852f191/src/wallet/feebumper.cpp#L114&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [14]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/blob/cf5bb048e80d4cde8828787b266b7f5f2e3b6d7b/src/node/miner.cpp#L310-L320&#34;&gt;https://github.com/bitcoin/bitcoin/blob/cf5bb048e80d4cde8828787b266b7f5f2e3b6d7b/src/node/miner.cpp#L310-L320&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;-------------- 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/20220205/3641f38d/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220205/3641f38d/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:03:12&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsyel3l7h747pxy0p3n7hmgkq0g8xd44p0e6p5tn0mmutfaf3v6tvqzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx57gk6px</id>
    
      <title type="html">📅 Original date posted:2021-10-11 📝 Original message:I was ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsyel3l7h747pxy0p3n7hmgkq0g8xd44p0e6p5tn0mmutfaf3v6tvqzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx57gk6px" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvx8ja7zxw3cf0ym0p582hpfpnwtmvf0cfmyfkqxcpsepvy02ju5gr0xckd&#39;&gt;nevent1q…xckd&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-10-11&lt;br/&gt;📝 Original message:I was hoping to delay this post as long as possible because there are so many interesting and important things to discuss other than soft forks and consensus changes that seem to have taken a backseat this year due to Taproot activation. In addition, there seems to be a world of opportunity to leverage the upcoming Taproot soft fork that risks getting drowned out by speculating on the next soft fork.&lt;br/&gt;&lt;br/&gt;There is clearly nothing wrong with some individuals continuously working on, designing and refining new possible consensus changes and whoever is interested is free to follow and participate in those discussions. This is Bitcoin, no one let alone me can decide what people should focus on. Indeed I intend to allocate a portion of my time to following and understanding the trade-offs of current and future soft fork proposals. However, in this post I will argue against frequent soft forks with a single or minimal set of features and instead argue for infrequent soft forks with batches of features.&lt;br/&gt;&lt;br/&gt;I fully understand the desire and motivation to get consensus changes into Bitcoin as quickly as possible when certain use cases depend on them. However, the robustness, security and ability to resist harmful or suboptimal changes to the system is clearly the ultimate priority. The more frequently soft forks are attempted the harder it is for the community to ensure harmful or suboptimal changes don’t creep into the consensus rules. I am well aware of how much community mindshare Taproot activation demanded this year. This is how it should be. The community should be informed and vigilant when the consensus rules are changed. Every full node will either immediately on activation or in future enforce these consensus rule changes and so it is in the interests of every full node operator that these changes have been subject to the ultimate levels of community review and rigorous testing. Attempting them frequently either requires continuous community monitoring or an acceptance that an unneeded or harmful consensus change could easily creep into Bitcoin. Neither of these options seem acceptable to me. It is not reasonable to ask all the different segments of the community to dedicate full time resources to stay on top of proposed consensus changes. Hence treating a pull request to a Bitcoin implementation that requires a soft fork like any other pull request is shortsighted.&lt;br/&gt;&lt;br/&gt;Merging soft fork code into a Bitcoin implementation&lt;br/&gt;&lt;br/&gt;The code for a soft fork should not be merged into a Bitcoin implementation, let alone activation parameters (discussed later), until the maintainers of that implementation are comfortable that the entirety of that soft fork has sufficient community consensus. This includes what many consider the reference implementation and dominant implementation on the network, Bitcoin Core. A soft fork pull request cannot and should not be treated like any other pull request which can be merged with anything from 1 to 10 ACKs from long term or newer contributors. The act of merging a pull request that is part of a proposed soft fork is an acknowledgement by the maintainer(s) of that implementation that they consider the entirety of that proposed soft fork to have community consensus. That includes what is included in that soft fork as well as what isn’t. If there is a prevailing view that the current design could be improved, could feasibly be replaced by something superior in future or merely hasn’t been subject to sufficient community review it should not be merged.&lt;br/&gt;&lt;br/&gt;Of course there is no ultimate authority to enforce that this happens, Bitcoin is an entirely voluntary system. A contentious or disputed soft fork can be merged into a Bitcoin implementation at any time but doing this is opening the door to the schism, disruption and waste of developer hours that we saw in 2017. Personally I think we’ll see an attempt to activate a contentious soft fork at some point in the long term future (Murphy’s Law) but any attempt to do so should be strongly discouraged. It should be made clear to any individual(s) that attempt this of the knock on impacts and potential short term damage they are inflicting on the entire ecosystem. Longer term I have confidence in Bitcoin’s ability to survive whatever happens but allocating significant community resources to resist an unnecessary contentious soft fork (or even regular contentious soft forks) is not an optimal use of those resources.&lt;br/&gt;&lt;br/&gt;Soft fork activation&lt;br/&gt;&lt;br/&gt;Miner signaling is a tool for signaling readiness. It is not voting for the soft fork or expressing support for the soft fork. There should not be any attempt to facilitate miner signaling until there is sufficient community consensus (the mining community is a subset of the community) on the soft fork. Merging activation parameters or encouraging miner signaling before it is clear there is community consensus on the entirety of the soft fork is putting the cart before the horse.&lt;br/&gt;&lt;br/&gt;Taproot showed it was possible through the sustained efforts of many individuals and many organizations to achieve overwhelming community consensus for a soft fork. It is obviously impossible to get 100 percent consensus but Taproot appeared to get close to that. I did not identify any resistance whatsoever to merging Taproot PRs or the objective of getting Taproot activated although there was one long term contributor who effectively NACKed Taproot based on quantum resistance concerns.&lt;br/&gt;&lt;br/&gt;Activation method and activation parameters ended up being more challenging to obtain overwhelming community consensus. Although I and a number of others participated in multiple open IRC meetings and spent months on IRC trying to find a way to get Taproot activated with at least rough consensus a number of disagreements remain. I don’t think these are necessarily showstoppers for future soft forks and assuming Taproot activates safely next month they ended up not being showstoppers for Taproot. However, it is clear the bar that was achieved regarding community consensus for the Taproot soft fork wasn’t met for the activation method and activation parameters. In a world where there isn’t overwhelming community consensus on the activation method, the activation parameters and what to do if the first activation attempt fails we have to accept that soft fork activations contain downside risk on top of the already acknowledged risks of bugs, consensus divergences and botched implementations of soft fork features. To layer on top a level of uncertainty over whether there is community consensus for the actual soft fork seems unacceptable to me.&lt;br/&gt;&lt;br/&gt;This is an important additional argument for infrequent soft forks with batches of features rather than frequent soft forks with a single feature. If there is a chain split risk every time you attempt a soft fork you should not casually attempt a soft fork frequently or with abandon. There has to be community consensus that the upsides of the soft fork are sufficient to take on these downside risks of disruption or worse chain splits. I was of the strong personal view that the upsides outweighed the downside risks for Taproot activation in 2021 but this is a judgment we as a community will have to make for each and every future proposed soft fork. It is easy to get excited about shiny new features. It is harder to ensure harmful or suboptimal changes don’t creep into the consensus rules and harder yet to minimize the risk of chain splits if soft forks are attempted frequently.&lt;br/&gt;&lt;br/&gt;--&lt;br/&gt;&lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at protonmail.com&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&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/20211011/500ca9d1/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20211011/500ca9d1/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:00:00&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqszpy24g5j5wxltkqa89rgavncq7g759ert8nsczjchnuy7ndkhlgqzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5hz868q</id>
    
      <title type="html">📅 Original date posted:2021-04-10 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqszpy24g5j5wxltkqa89rgavncq7g759ert8nsczjchnuy7ndkhlgqzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5hz868q" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2gw8tne6nvpqnt4jqw7e0fpteu8h4tfselnxgwsumdwd8hvn0l8cy7zj5y&#39;&gt;nevent1q…zj5y&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-04-10&lt;br/&gt;📝 Original message:Hi Bitcoin Mechanic&lt;br/&gt;&lt;br/&gt;I will attend but I will be looking at Core PR #21377 over the next&lt;br/&gt;couple of days and I would encourage other reviewers to review that PR&lt;br/&gt;too. If that PR is merged into Core I would strongly recommend any&lt;br/&gt;alternative release be fully compatible with the activation parameters&lt;br/&gt;in Core.&lt;br/&gt;&lt;br/&gt;We can discuss in the meeting what we think the cut off date should be&lt;br/&gt;for when Core should no longer be a consideration. Personally I think&lt;br/&gt;(and hope) we will see progress on #21377 in the coming days.&lt;br/&gt;&lt;br/&gt;For the sake of the mailing list Bitcoin Mechanic has set up a meeting&lt;br/&gt;to discuss an alternative release to Core with Taproot activation&lt;br/&gt;code.&lt;br/&gt;&lt;br/&gt;Thanks&lt;br/&gt;Michael&lt;br/&gt;&lt;br/&gt;&amp;gt; Taproot activation meeting on IRC - Tuesday 13th April 19:00 UTC&lt;br/&gt;&lt;br/&gt;&amp;gt; The focus of the meeting will be ratifying the Taproot activation plan previously discussed at the March 16th meeting (aka 2021-03 Plan Y as summarized here):&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://docs.google.com/spreadsheets/d/1K3pmH09yXLTHGV3wqFZGR3ei7QVwtdEwo0PjI2NHD3w/edit#gid=0&#34;&gt;https://docs.google.com/spreadsheets/d/1K3pmH09yXLTHGV3wqFZGR3ei7QVwtdEwo0PjI2NHD3w/edit#gid=0&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; While there was never any consensus reached on the LOT parameter, there appears to be consensus on BIP8 and the remaining parameters, and more than sufficient support for LOT=True to proceed safely.&lt;br/&gt;&lt;br/&gt;&amp;gt; Miners will have 18 months in which to signal and accelerate activation. If not, taproot will activate regardless.&lt;br/&gt;&lt;br/&gt;&amp;gt; With a majority of the economy running this it will guarantee eventual lock-in of taproot with the smallest chance of a chain split.&lt;br/&gt;&lt;br/&gt;&amp;gt; As a reminder, the channel is also open for ongoing discussion 24/7, and there is a web chat client here:&lt;br/&gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://webchat.freenode.net/?channel=##taproot-activation&#34;&gt;https://webchat.freenode.net/?channel=##taproot-activation&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; Best,&lt;br/&gt;&lt;br/&gt;&amp;gt; Bitcoin Mechanic&lt;br/&gt;&lt;br/&gt;&amp;gt; Sent with [ProtonMail](&lt;a href=&#34;https://protonmail.com/&#34;&gt;https://protonmail.com/&lt;/a&gt;) Secure Email.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at gmail.com&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3
    </content>
    <updated>2023-06-07T20:31:32&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8pramcca7dplurehfefjqvwlz9fsk3ewh343cg8wtsa9kkwdnsrszyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx58kdq0x</id>
    
      <title type="html">📅 Original date posted:2021-02-18 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8pramcca7dplurehfefjqvwlz9fsk3ewh343cg8wtsa9kkwdnsrszyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx58kdq0x" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsq27mqx02csks4n97hf5ln5r0hgn9lpcnccwgfv3kcvlej0rq6jugc2w7kt&#39;&gt;nevent1q…w7kt&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-02-18&lt;br/&gt;📝 Original message:&amp;gt; getting unlucky and hitting a 4-block reorg that happens to include a&lt;br/&gt;double-spend and some PR around an exchange losing millions would be worse&lt;br/&gt;than having Taproot is good.&lt;br/&gt;&lt;br/&gt;We are at the point where an upgrade that confers significant long term&lt;br/&gt;benefits for the whole ecosystem is not as important as bad short term PR?&lt;br/&gt;That is a depressing outlook if that is what you believe.&lt;br/&gt;&lt;br/&gt;Even in that worst case scenario exchanges should not lose money if they&lt;br/&gt;are competent and are able to manage that risk.&lt;br/&gt;&lt;br/&gt;On Thu, Feb 18, 2021 at 2:42 PM Matt Corallo &amp;lt;lf-lists at mattcorallo.com&amp;gt;&lt;br/&gt;wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; We&amp;#39;ve had several softforks in Bitcoin which, through the course of their&lt;br/&gt;&amp;gt; activation, had a several-block reorg. That&lt;br/&gt;&amp;gt; should be indication enough that we need to very carefully consider&lt;br/&gt;&amp;gt; activation to ensure we reduce the risk of that as&lt;br/&gt;&amp;gt; much as absolutely possible. Again, while I think Taproot is a huge&lt;br/&gt;&amp;gt; improvement and am looking forward to being able to&lt;br/&gt;&amp;gt; use it, getting unlucky and hitting a 4-block reorg that happens to&lt;br/&gt;&amp;gt; include a double-spend and some PR around an&lt;br/&gt;&amp;gt; exchange losing millions would be worse than having Taproot is good.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Matt&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On 2/18/21 09:26, Michael Folkson wrote:&lt;br/&gt;&amp;gt; &amp;gt; Thanks for your response Matt. It is a fair challenge. There is always&lt;br/&gt;&amp;gt; going to be an element of risk with soft forks,&lt;br/&gt;&amp;gt; &amp;gt; all we can do is attempt to minimize that risk. I would argue that risk&lt;br/&gt;&amp;gt; has been minimized for Taproot.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; You know (better than I do in fact) that Bitcoin (and layers built on&lt;br/&gt;&amp;gt; top of it) greatly benefit from upgrades such as&lt;br/&gt;&amp;gt; &amp;gt; Taproot. To say we shouldn&amp;#39;t do Taproot or any future soft forks because&lt;br/&gt;&amp;gt; there is a small but real risk of chain splits&lt;br/&gt;&amp;gt; &amp;gt; I think is shortsighted. Indeed I think even if we collectively decided&lt;br/&gt;&amp;gt; not to do any future soft fork upgrades ever&lt;br/&gt;&amp;gt; &amp;gt; again on this mailing list that wouldn&amp;#39;t stop soft fork attempts from&lt;br/&gt;&amp;gt; other people in future.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; I don&amp;#39;t think there is anything else we can do to minimize that risk for&lt;br/&gt;&amp;gt; the Taproot soft fork at this point though I&amp;#39;m&lt;br/&gt;&amp;gt; &amp;gt; open to ideas. To reiterate that risk will never be zero. I don&amp;#39;t think&lt;br/&gt;&amp;gt; I see Bitcoin as fragile as you seem to (though&lt;br/&gt;&amp;gt; &amp;gt; admittedly you have a much better understanding than me of what happened&lt;br/&gt;&amp;gt; in 2017).&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; The likely scenario for the Taproot soft fork is LOT turns out to be&lt;br/&gt;&amp;gt; entirely irrelevant and miners activate Taproot&lt;br/&gt;&amp;gt; &amp;gt; before it becomes relevant. And even the unlikely worst case scenario&lt;br/&gt;&amp;gt; would only cause short term disruption and&lt;br/&gt;&amp;gt; &amp;gt; wouldn&amp;#39;t kill Bitcoin long term.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; On Thu, Feb 18, 2021 at 2:01 PM Matt Corallo &amp;lt;lf-lists at mattcorallo.com&lt;br/&gt;&amp;gt; &amp;lt;mailto:lf-lists at mattcorallo.com&amp;gt;&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;     If the eventual outcome is that different implementations (that have&lt;br/&gt;&amp;gt; material *transaction processing* userbases,&lt;br/&gt;&amp;gt; &amp;gt;     and I’m not sure to what extent that’s true with Knots) ship&lt;br/&gt;&amp;gt; different consensus rules, we should stop here and not&lt;br/&gt;&amp;gt; &amp;gt;     activate Taproot. Seriously.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;     Bitcoin is a consensus system. The absolute worst outcome at all&lt;br/&gt;&amp;gt; possible is to have it fall out of consensus.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;     Matt&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     On Feb 18, 2021, at 08:11, Michael Folkson via bitcoin-dev &amp;lt;&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt;&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     ﻿&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     Right, that is one option. Personally I would prefer a Bitcoin Core&lt;br/&gt;&amp;gt; release sets LOT=false (based on what I have&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     heard from Bitcoin Core contributors) and a community effort&lt;br/&gt;&amp;gt; releases a version with LOT=true. I don&amp;#39;t think users&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     should be forced to choose something they may have no context on&lt;br/&gt;&amp;gt; before they are allowed to use Bitcoin Core.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     My current understanding is that roasbeef is planning to set&lt;br/&gt;&amp;gt; LOT=false on btcd (an alternative protocol&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     implementation to Bitcoin Core) and Luke Dashjr hasn&amp;#39;t yet decided&lt;br/&gt;&amp;gt; on Bitcoin Knots.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     On Thu, Feb 18, 2021 at 11:52 AM ZmnSCPxj &amp;lt;ZmnSCPxj at protonmail.com&lt;br/&gt;&amp;gt; &amp;lt;mailto:ZmnSCPxj at protonmail.com&amp;gt;&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         Good morning all,&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;#34;An activation mechanism is a consensus change like any other&lt;br/&gt;&amp;gt; change, can be contentious like any other&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         change, and we must resolve it like any other change. Otherwise&lt;br/&gt;&amp;gt; we risk arriving at the darkest timeline.&amp;#34;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; Who&amp;#39;s we here?&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; Release both and let the network decide.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         A thing that could be done, without mandating either LOT=true&lt;br/&gt;&amp;gt; or LOT=false, would be to have a release that&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         requires a `taprootlot=1` or `taprootlot=0` and refuses to&lt;br/&gt;&amp;gt; start if the parameter is not set.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         This assures everyone that neither choice is being forced on&lt;br/&gt;&amp;gt; users, and instead what is being forced on users,&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         is for users to make that choice themselves.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         Regards,&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         ZmnSCPxj&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; On Thu, Feb 18, 2021 at 3:08 AM Michael Folkson via&lt;br/&gt;&amp;gt; bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt;&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; Thanks for your response Ariel. It would be useful if you&lt;br/&gt;&amp;gt; responded to specific points I have made in the&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         mailing list post or at least quote these ephemeral &amp;#34;people&amp;#34;&lt;br/&gt;&amp;gt; you speak of. I don&amp;#39;t know if you&amp;#39;re responding&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         to conversation on the IRC channel or on social media etc.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; The argument comes from a naive assumption that users&lt;br/&gt;&amp;gt; MUST upgrade to the choice that is submitted into&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         code. But in fact this isn&amp;#39;t true and some voices in this&lt;br/&gt;&amp;gt; discussion need to be more humble about what users&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         must or must not run.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; I personally have never made this assumption. Of course&lt;br/&gt;&amp;gt; users aren&amp;#39;t forced to run any particular software&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         version, quite the opposite. Defaults set in software versions&lt;br/&gt;&amp;gt; matter though as many users won&amp;#39;t change them.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; Does no one realize that it is a very possible outcome&lt;br/&gt;&amp;gt; that if LOT=true is released there may be only a&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         handful of people that begin running it while everyone else&lt;br/&gt;&amp;gt; delays their upgrade (with the very good reason of&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         not getting involved in politics) and a year later those&lt;br/&gt;&amp;gt; handful of people just become stuck at the moment of&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         MUST_SIGNAL, unable to mine new blocks?&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; It is a possible outcome but the likely outcome is that&lt;br/&gt;&amp;gt; miners activate Taproot before LOT is even&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         relevant. I think it is prudent to prepare for the unlikely but&lt;br/&gt;&amp;gt; possible outcome that miners fail to activate&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         and hence have this discussion now rather than be unprepared&lt;br/&gt;&amp;gt; for that eventuality. If LOT is set to false in a&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         software release there is the possibility (T2 in&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018380.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018380.html&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;lt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018380.html&amp;gt&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018380.html&amp;gt&lt;/a&gt;;)&lt;br/&gt;&amp;gt; of individuals or a&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         proportion of the community changing LOT to true. In that sense&lt;br/&gt;&amp;gt; setting LOT=false in a software release&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         appears to be no more safe than LOT=true.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; The result: a wasted year of waiting and a minority of&lt;br/&gt;&amp;gt; people who didn&amp;#39;t want to be lenient with miners&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         by default.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; There is the (unlikely but possible) possibility of a&lt;br/&gt;&amp;gt; wasted year if LOT is set to false and miners fail&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         to activate. I&amp;#39;m not convinced by this perception that LOT=true&lt;br/&gt;&amp;gt; is antagonistic to miners. I actually think it&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         offers them clarity on what will happen over a year time period&lt;br/&gt;&amp;gt; and removes the need for coordinated or&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         uncoordinated community UASF efforts on top of LOT=false.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; An activation mechanism is a consensus change like any&lt;br/&gt;&amp;gt; other change, can be contentious like any other&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         change, and we must resolve it like any other change. Otherwise&lt;br/&gt;&amp;gt; we risk arriving at the darkest timeline.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; I don&amp;#39;t know what you are recommending here to avoid &amp;#34;this&lt;br/&gt;&amp;gt; darkest timeline&amp;#34;. Open discussions have&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         occurred and are continuing and in my mailing list post that&lt;br/&gt;&amp;gt; you responded to **I recommended we propose&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         LOT=false be set in protocol implementations such as Bitcoin&lt;br/&gt;&amp;gt; Core**. I do think this apocalyptic language&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         isn&amp;#39;t particularly helpful. In an open consensus system&lt;br/&gt;&amp;gt; discussion is healthy, we should prepare for bad or&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         worst case scenarios in advance and doing so is not&lt;br/&gt;&amp;gt; antagonistic or destructive. Mining pools have pledged&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         support for Taproot but we don&amp;#39;t build secure systems based on&lt;br/&gt;&amp;gt; pledges of support, we build them to minimize&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         trust in any human actors. We can be grateful that people like&lt;br/&gt;&amp;gt; Alejandro have worked hard on&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         taprootactivation.com &amp;lt;&lt;a href=&#34;http://taprootactivation.com&amp;gt&#34;&gt;http://taprootactivation.com&amp;gt&lt;/a&gt;; (and this&lt;br/&gt;&amp;gt; effort has informed the discussion) without&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         taking pledges of support as cast iron guarantees.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; TL;DR It sounds like you agree with my recommendation to&lt;br/&gt;&amp;gt; set LOT=false in protocol implementations in my&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         email :)&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; On Thu, Feb 18, 2021 at 5:43 AM Ariel Lorenzo-Luaces &amp;lt;&lt;br/&gt;&amp;gt; arielluaces at gmail.com&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;lt;mailto:arielluaces at gmail.com&amp;gt;&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; Something what strikes me about the conversation is the&lt;br/&gt;&amp;gt; emotion surrounding the letters UASF.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; It appears as if people discuss UASF as if it&amp;#39;s a massive&lt;br/&gt;&amp;gt; tidal wave of support that is inevitable, like&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         we saw during segwit activation. But the actual definition is&lt;br/&gt;&amp;gt; &amp;#34;any activation that is not a MASF&amp;#34;.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; A UASF can consist of a single node, ten nodes, a&lt;br/&gt;&amp;gt; thousand, half of all nodes, all business&amp;#39; nodes, or&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         even all the non mining nodes. On another dimension it can have&lt;br/&gt;&amp;gt; zero mining support, 51% support, 49% support,&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         or any support right up against a miner activation threshold.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; Hell a UASF doesn&amp;#39;t even need code or even a single node&lt;br/&gt;&amp;gt; running as long as it exists as a possibility&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         in people&amp;#39;s minds.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; The only thing a UASF doesn&amp;#39;t have is miner support above&lt;br/&gt;&amp;gt; an agreed activation threshold (some number&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         above %51).&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; I say this because it strikes me when people say that&lt;br/&gt;&amp;gt; they are for LOT=true with the logic that since a&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         UASF is guaranteed to happen then it&amp;#39;s better to just make it&lt;br/&gt;&amp;gt; default from the beginning. Words like&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         coordination and safety are sometimes sprinkled into the&lt;br/&gt;&amp;gt; argument.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; The argument comes from a naive assumption that users&lt;br/&gt;&amp;gt; MUST upgrade to the choice that is submitted into&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         code. But in fact this isn&amp;#39;t true and some voices in this&lt;br/&gt;&amp;gt; discussion need to be more humble about what users&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         must or must not run.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; Does no one realize that it is a very possible outcome&lt;br/&gt;&amp;gt; that if LOT=true is released there may be only a&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         handful of people that begin running it while everyone else&lt;br/&gt;&amp;gt; delays their upgrade (with the very good reason of&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         not getting involved in politics) and a year later those&lt;br/&gt;&amp;gt; handful of people just become stuck at the moment of&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         MUST_SIGNAL, unable to mine new blocks? Or attracting a&lt;br/&gt;&amp;gt; minority of miners, activating, and forking off into a&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         minority fork. Then a lot=false could be started that ends up&lt;br/&gt;&amp;gt; activating the feature now that the stubborn&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         option has ran its course.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; The result: a wasted year of waiting and a minority of&lt;br/&gt;&amp;gt; people who didn&amp;#39;t want to be lenient with miners&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         by default. The chains could be called BitcoinLenient and&lt;br/&gt;&amp;gt; BitcoinStubborn.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; How is that strictly safer or more coordinated?&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; I may be in the minority, or maybe a silent majority, or&lt;br/&gt;&amp;gt; maybe a majority that just hasn&amp;#39;t considered&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         this as a choice but honestly if there is contention about&lt;br/&gt;&amp;gt; whether we&amp;#39;re going to be stubborn or lenient with&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         miners for Taproot and in the future then I prefer to just not&lt;br/&gt;&amp;gt; activate anything at all. I&amp;#39;m fine for calling&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         bitcoin ossified, accepting that segwit is Bitcoin&amp;#39;s last&lt;br/&gt;&amp;gt; network upgrade. Taproot is amazing but no new&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         feature is worth a network split down the middle.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; Maybe in 10 or 20 years, when other blockchains implement&lt;br/&gt;&amp;gt; features like Taproot and many more, we will&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         become envious enough to put aside our differences on how to&lt;br/&gt;&amp;gt; behave towards miners and finally activate Taproot.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; An activation mechanism is a consensus change like any&lt;br/&gt;&amp;gt; other change, can be contentious like any other&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         change, and we must resolve it like any other change. Otherwise&lt;br/&gt;&amp;gt; we risk arriving at the darkest timeline.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; Cheers&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; Ariel Lorenzo-Luaces&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; On Feb 17, 2021, at 7:05 AM, Michael Folkson via&lt;br/&gt;&amp;gt; bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt;&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; Yesterday (February 16th) we held a second meeting on&lt;br/&gt;&amp;gt; Taproot&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; activation on IRC which again was open to all. Despite&lt;br/&gt;&amp;gt; what appeared&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; to be majority support for LOT=false over LOT=true in&lt;br/&gt;&amp;gt; the first&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; meeting I (and others) thought the arguments had not&lt;br/&gt;&amp;gt; been explored in&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; depth and that we should have a follow up meeting&lt;br/&gt;&amp;gt; almost entirely&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; focused on whether LOT (lockinontimeout) should be set&lt;br/&gt;&amp;gt; to true or&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; false.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; The meeting was announced here:&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018380.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018380.html&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;lt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018380.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018380.html&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; In that mailing list post I outlined the arguments for&lt;br/&gt;&amp;gt; LOT=true (T1 to&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; T6) and arguments for LOT=false (F1 to F6) in their&lt;br/&gt;&amp;gt; strongest form I&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; could. David Harding responded with an additional&lt;br/&gt;&amp;gt; argument for&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; LOT=false (F7) here:&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018415.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018415.html&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;lt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018415.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018415.html&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; These meetings are very challenging given they are open&lt;br/&gt;&amp;gt; to all, you&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; don’t know who will attend and you don’t know most&lt;br/&gt;&amp;gt; people’s views in&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; advance. I tried to give time for both the LOT=true&lt;br/&gt;&amp;gt; arguments and the&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; LOT=false arguments to be discussed as I knew there was&lt;br/&gt;&amp;gt; support for&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; both. We only tried evaluating which had more support&lt;br/&gt;&amp;gt; and which had&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; more strong opposition towards the end of the meeting.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; The conversation log is here:&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;a href=&#34;http://gnusha.org/taproot-activation/2021-02-16.log&#34;&gt;http://gnusha.org/taproot-activation/2021-02-16.log&lt;/a&gt; &amp;lt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;http://gnusha.org/taproot-activation/2021-02-16.log&amp;gt&#34;&gt;http://gnusha.org/taproot-activation/2021-02-16.log&amp;gt&lt;/a&gt;;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; (If you are so inclined you can watch a video of the&lt;br/&gt;&amp;gt; meeting here.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; Thanks to the YouTube account “Bitcoin” for setting up&lt;br/&gt;&amp;gt; the livestream:&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;a href=&#34;https://www.youtube.com/watch?v=vpl5q1ovMLM&#34;&gt;https://www.youtube.com/watch?v=vpl5q1ovMLM&lt;/a&gt; &amp;lt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://www.youtube.com/watch?v=vpl5q1ovMLM&amp;gt&#34;&gt;https://www.youtube.com/watch?v=vpl5q1ovMLM&amp;gt&lt;/a&gt;;)&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; A summary of the meeting was provided by Luke Dashjr on&lt;br/&gt;&amp;gt; Mastodon here:&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://bitcoinhackers.org/@lukedashjr/105742918779234566&#34;&gt;https://bitcoinhackers.org/@lukedashjr/105742918779234566&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;lt;&lt;a href=&#34;https://bitcoinhackers.org/@lukedashjr/105742918779234566&amp;gt&#34;&gt;https://bitcoinhackers.org/@lukedashjr/105742918779234566&amp;gt&lt;/a&gt;;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; Today&amp;#39;s #Bitcoin #Taproot meeting was IMO largely&lt;br/&gt;&amp;gt; unproductive, but we&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; did manage to come to consensus on everything but&lt;br/&gt;&amp;gt; LockinOnTimeout.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; Activation height range: 693504-745920&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; MASF threshold: 1815/2016 blocks (90%)&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; Keep in mind only ~100 people showed for the meetings,&lt;br/&gt;&amp;gt; hardly&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; representative of the entire community.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; So, these details remain JUST a proposal for now.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; It seems inevitable that there won&amp;#39;t be consensus on&lt;br/&gt;&amp;gt; LOT.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; Everyone will have to choose for himself. :/&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; Personally I agree with most of this. I agree that&lt;br/&gt;&amp;gt; there wasn’t&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; overwhelming consensus for either LOT=true or&lt;br/&gt;&amp;gt; LOT=false. However, from&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; my perspective there was clearly more strong opposition&lt;br/&gt;&amp;gt; (what would&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; usually be deemed a NACK in Bitcoin Core review&lt;br/&gt;&amp;gt; terminology) from&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; Bitcoin Core contributors, Lightning developers and&lt;br/&gt;&amp;gt; other community&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; members against LOT=true than there was for LOT=false.&lt;br/&gt;&amp;gt; Andrew Chow&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; tried to summarize views from the meeting in this&lt;br/&gt;&amp;gt; analysis:&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://gist.github.com/achow101/3e179501290abb7049de198d46894c7c&#34;&gt;https://gist.github.com/achow101/3e179501290abb7049de198d46894c7c&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;lt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://gist.github.com/achow101/3e179501290abb7049de198d46894c7c&amp;gt&#34;&gt;https://gist.github.com/achow101/3e179501290abb7049de198d46894c7c&amp;gt&lt;/a&gt;;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; I am also aware of other current and previous Bitcoin&lt;br/&gt;&amp;gt; Core&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; contributors and Lightning developers who didn’t attend&lt;br/&gt;&amp;gt; the meeting in&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; person who are opposed to LOT=true. I don’t want to put&lt;br/&gt;&amp;gt; them in the&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; spotlight for no reason but if you go through the&lt;br/&gt;&amp;gt; conversation logs of&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; not only the meeting but the weeks of discussion prior&lt;br/&gt;&amp;gt; to this meeting&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; you will see their views evaluated on the&lt;br/&gt;&amp;gt; ##taproot-activation&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; channel. In addition, on taprootactivation.com &amp;lt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;http://taprootactivation.com&amp;gt&#34;&gt;http://taprootactivation.com&amp;gt&lt;/a&gt;; some mining pools&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; expressed a preference for lot=false though I don’t&lt;br/&gt;&amp;gt; know how strong&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; that preference was.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; I am only one voice but it is my current assessment&lt;br/&gt;&amp;gt; that if we are to&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; attempt to finalize Taproot activation parameters and&lt;br/&gt;&amp;gt; propose them to&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; the community at this time our only option is to&lt;br/&gt;&amp;gt; propose LOT=false.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; Any further delay appears to me counterproductive in&lt;br/&gt;&amp;gt; our collective&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; aim to get the Taproot soft fork activated as early as&lt;br/&gt;&amp;gt; possible.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; Obviously others are free to disagree with that&lt;br/&gt;&amp;gt; assessment and&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; continue discussions but personally I will be&lt;br/&gt;&amp;gt; attempting to avoid&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; those discussions unless prominent new information&lt;br/&gt;&amp;gt; comes to light or&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; various specific individuals change their minds.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; Next week we are planning a code review of the Bitcoin&lt;br/&gt;&amp;gt; Core PR #19573&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; which was initially delayed because of this LOT&lt;br/&gt;&amp;gt; discussion. As I’ve&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; said previously that will be loosely following the&lt;br/&gt;&amp;gt; format of the&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; Bitcoin Core PR review club and will be lower level and&lt;br/&gt;&amp;gt; more&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; technical. That is planned for Tuesday February 23rd at&lt;br/&gt;&amp;gt; 19:00 UTC on&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; the IRC channel ##taproot-activation.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; Thanks to the meeting participants (and those who&lt;br/&gt;&amp;gt; joined the&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; discussion on the channel prior and post the meeting)&lt;br/&gt;&amp;gt; for engaging&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; &amp;gt; &amp;gt; productively and in good faith.&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; --&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; Michael Folkson&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; Email: michaelfolkson at gmail.com &amp;lt;mailto:&lt;br/&gt;&amp;gt; michaelfolkson at gmail.com&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; Keybase: michaelfolkson&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt; bitcoin-dev at lists.linuxfoundation.org &amp;lt;mailto:&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;         &amp;gt; &amp;gt;&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; &amp;gt;&amp;gt;         &amp;lt;&lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     --&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     Michael Folkson&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     Email: michaelfolkson at gmail.com &amp;lt;mailto:michaelfolkson at gmail.com&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     Keybase: michaelfolkson&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     _______________________________________________&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     bitcoin-dev mailing list&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     bitcoin-dev at lists.linuxfoundation.org &amp;lt;mailto:&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;     &amp;lt;&lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&amp;gt&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&amp;gt&lt;/a&gt;;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; --&lt;br/&gt;&amp;gt; &amp;gt; Michael Folkson&lt;br/&gt;&amp;gt; &amp;gt; Email: michaelfolkson at gmail.com &amp;lt;mailto:michaelfolkson at gmail.com&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Keybase: michaelfolkson&lt;br/&gt;&amp;gt; &amp;gt; PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at gmail.com&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&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/20210218/6d75f9dd/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210218/6d75f9dd/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T20:28:50&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqs5fl8fe62dy4yqvfxjg07ad0d2d9asluq56647f8s52zkmxsydszyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx50g6pu4</id>
    
      <title type="html">📅 Original date posted:2021-02-18 📝 Original message:Thanks ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqs5fl8fe62dy4yqvfxjg07ad0d2d9asluq56647f8s52zkmxsydszyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx50g6pu4" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswu7mk7ykj5l8zsxms6l3dq4atvaznv39n0df5g70st422gcex78gdjh0jp&#39;&gt;nevent1q…h0jp&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-02-18&lt;br/&gt;📝 Original message:Thanks for your response Matt. It is a fair challenge. There is always&lt;br/&gt;going to be an element of risk with soft forks, all we can do is attempt to&lt;br/&gt;minimize that risk. I would argue that risk has been minimized for Taproot.&lt;br/&gt;&lt;br/&gt;You know (better than I do in fact) that Bitcoin (and layers built on top&lt;br/&gt;of it) greatly benefit from upgrades such as Taproot. To say we shouldn&amp;#39;t&lt;br/&gt;do Taproot or any future soft forks because there is a small but real risk&lt;br/&gt;of chain splits I think is shortsighted. Indeed I think even if we&lt;br/&gt;collectively decided not to do any future soft fork upgrades ever again on&lt;br/&gt;this mailing list that wouldn&amp;#39;t stop soft fork attempts from other people&lt;br/&gt;in future.&lt;br/&gt;&lt;br/&gt;I don&amp;#39;t think there is anything else we can do to minimize that risk for&lt;br/&gt;the Taproot soft fork at this point though I&amp;#39;m open to ideas. To reiterate&lt;br/&gt;that risk will never be zero. I don&amp;#39;t think I see Bitcoin as fragile as you&lt;br/&gt;seem to (though admittedly you have a much better understanding than me of&lt;br/&gt;what happened in 2017).&lt;br/&gt;&lt;br/&gt;The likely scenario for the Taproot soft fork is LOT turns out to be&lt;br/&gt;entirely irrelevant and miners activate Taproot before it becomes relevant.&lt;br/&gt;And even the unlikely worst case scenario would only cause short term&lt;br/&gt;disruption and wouldn&amp;#39;t kill Bitcoin long term.&lt;br/&gt;&lt;br/&gt;On Thu, Feb 18, 2021 at 2:01 PM Matt Corallo &amp;lt;lf-lists at mattcorallo.com&amp;gt;&lt;br/&gt;wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; If the eventual outcome is that different implementations (that have&lt;br/&gt;&amp;gt; material *transaction processing* userbases, and I’m not sure to what&lt;br/&gt;&amp;gt; extent that’s true with Knots) ship different consensus rules, we should&lt;br/&gt;&amp;gt; stop here and not activate Taproot. Seriously.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Bitcoin is a consensus system. The absolute worst outcome at all possible&lt;br/&gt;&amp;gt; is to have it fall out of consensus.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Matt&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Feb 18, 2021, at 08:11, Michael Folkson 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; ﻿&lt;br/&gt;&amp;gt; Right, that is one option. Personally I would prefer a Bitcoin Core&lt;br/&gt;&amp;gt; release sets LOT=false (based on what I have heard from Bitcoin Core&lt;br/&gt;&amp;gt; contributors) and a community effort releases a version with LOT=true. I&lt;br/&gt;&amp;gt; don&amp;#39;t think users should be forced to choose something they may have no&lt;br/&gt;&amp;gt; context on before they are allowed to use Bitcoin Core.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; My current understanding is that roasbeef is planning to set LOT=false on&lt;br/&gt;&amp;gt; btcd (an alternative protocol implementation to Bitcoin Core) and Luke&lt;br/&gt;&amp;gt; Dashjr hasn&amp;#39;t yet decided on Bitcoin Knots.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Thu, Feb 18, 2021 at 11:52 AM ZmnSCPxj &amp;lt;ZmnSCPxj at protonmail.com&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Good morning all,&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;#34;An activation mechanism is a consensus change like any other change,&lt;br/&gt;&amp;gt;&amp;gt; can be contentious like any other change, and we must resolve it like any&lt;br/&gt;&amp;gt;&amp;gt; other change. Otherwise we risk arriving at the darkest timeline.&amp;#34;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; Who&amp;#39;s we here?&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; Release both and let the network decide.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; A thing that could be done, without mandating either LOT=true or&lt;br/&gt;&amp;gt;&amp;gt; LOT=false, would be to have a release that requires a `taprootlot=1` or&lt;br/&gt;&amp;gt;&amp;gt; `taprootlot=0` and refuses to start if the parameter is not set.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; This assures everyone that neither choice is being forced on users, and&lt;br/&gt;&amp;gt;&amp;gt; instead what is being forced on users, is for users to make that choice&lt;br/&gt;&amp;gt;&amp;gt; themselves.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt;&amp;gt; ZmnSCPxj&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; On Thu, Feb 18, 2021 at 3:08 AM Michael Folkson via bitcoin-dev &amp;lt;&lt;br/&gt;&amp;gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; Thanks for your response Ariel. It would be useful if you responded&lt;br/&gt;&amp;gt;&amp;gt; to specific points I have made in the mailing list post or at least quote&lt;br/&gt;&amp;gt;&amp;gt; these ephemeral &amp;#34;people&amp;#34; you speak of. I don&amp;#39;t know if you&amp;#39;re responding to&lt;br/&gt;&amp;gt;&amp;gt; conversation on the IRC channel or on social media etc.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; The argument comes from a naive assumption that users MUST upgrade&lt;br/&gt;&amp;gt;&amp;gt; to the choice that is submitted into code. But in fact this isn&amp;#39;t true and&lt;br/&gt;&amp;gt;&amp;gt; some voices in this discussion need to be more humble about what users must&lt;br/&gt;&amp;gt;&amp;gt; or must not run.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; I personally have never made this assumption. Of course users aren&amp;#39;t&lt;br/&gt;&amp;gt;&amp;gt; forced to run any particular software version, quite the opposite. Defaults&lt;br/&gt;&amp;gt;&amp;gt; set in software versions matter though as many users won&amp;#39;t change them.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Does no one realize that it is a very possible outcome that if&lt;br/&gt;&amp;gt;&amp;gt; LOT=true is released there may be only a handful of people that begin&lt;br/&gt;&amp;gt;&amp;gt; running it while everyone else delays their upgrade (with the very good&lt;br/&gt;&amp;gt;&amp;gt; reason of not getting involved in politics) and a year later those handful&lt;br/&gt;&amp;gt;&amp;gt; of people just become stuck at the moment of MUST_SIGNAL, unable to mine&lt;br/&gt;&amp;gt;&amp;gt; new blocks?&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; It is a possible outcome but the likely outcome is that miners&lt;br/&gt;&amp;gt;&amp;gt; activate Taproot before LOT is even relevant. I think it is prudent to&lt;br/&gt;&amp;gt;&amp;gt; prepare for the unlikely but possible outcome that miners fail to activate&lt;br/&gt;&amp;gt;&amp;gt; and hence have this discussion now rather than be unprepared for that&lt;br/&gt;&amp;gt;&amp;gt; eventuality. If LOT is set to false in a software release there is the&lt;br/&gt;&amp;gt;&amp;gt; possibility (T2 in&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018380.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018380.html&lt;/a&gt;)&lt;br/&gt;&amp;gt;&amp;gt; of individuals or a proportion of the community changing LOT to true. In&lt;br/&gt;&amp;gt;&amp;gt; that sense setting LOT=false in a software release appears to be no more&lt;br/&gt;&amp;gt;&amp;gt; safe than LOT=true.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; The result: a wasted year of waiting and a minority of people who&lt;br/&gt;&amp;gt;&amp;gt; didn&amp;#39;t want to be lenient with miners by default.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; There is the (unlikely but possible) possibility of a wasted year if&lt;br/&gt;&amp;gt;&amp;gt; LOT is set to false and miners fail to activate. I&amp;#39;m not convinced by this&lt;br/&gt;&amp;gt;&amp;gt; perception that LOT=true is antagonistic to miners. I actually think it&lt;br/&gt;&amp;gt;&amp;gt; offers them clarity on what will happen over a year time period and removes&lt;br/&gt;&amp;gt;&amp;gt; the need for coordinated or uncoordinated community UASF efforts on top of&lt;br/&gt;&amp;gt;&amp;gt; LOT=false.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; An activation mechanism is a consensus change like any other&lt;br/&gt;&amp;gt;&amp;gt; change, can be contentious like any other change, and we must resolve it&lt;br/&gt;&amp;gt;&amp;gt; like any other change. Otherwise we risk arriving at the darkest timeline.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; I don&amp;#39;t know what you are recommending here to avoid &amp;#34;this darkest&lt;br/&gt;&amp;gt;&amp;gt; timeline&amp;#34;. Open discussions have occurred and are continuing and in my&lt;br/&gt;&amp;gt;&amp;gt; mailing list post that you responded to **I recommended we propose&lt;br/&gt;&amp;gt;&amp;gt; LOT=false be set in protocol implementations such as Bitcoin Core**. I do&lt;br/&gt;&amp;gt;&amp;gt; think this apocalyptic language isn&amp;#39;t particularly helpful. In an open&lt;br/&gt;&amp;gt;&amp;gt; consensus system discussion is healthy, we should prepare for bad or worst&lt;br/&gt;&amp;gt;&amp;gt; case scenarios in advance and doing so is not antagonistic or destructive.&lt;br/&gt;&amp;gt;&amp;gt; Mining pools have pledged support for Taproot but we don&amp;#39;t build secure&lt;br/&gt;&amp;gt;&amp;gt; systems based on pledges of support, we build them to minimize trust in any&lt;br/&gt;&amp;gt;&amp;gt; human actors. We can be grateful that people like Alejandro have worked&lt;br/&gt;&amp;gt;&amp;gt; hard on taprootactivation.com (and this effort has informed the&lt;br/&gt;&amp;gt;&amp;gt; discussion) without taking pledges of support as cast iron guarantees.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; TL;DR It sounds like you agree with my recommendation to set&lt;br/&gt;&amp;gt;&amp;gt; LOT=false in protocol implementations in my email :)&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; On Thu, Feb 18, 2021 at 5:43 AM Ariel Lorenzo-Luaces &amp;lt;&lt;br/&gt;&amp;gt;&amp;gt; arielluaces at gmail.com&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Something what strikes me about the conversation is the emotion&lt;br/&gt;&amp;gt;&amp;gt; surrounding the letters UASF.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; It appears as if people discuss UASF as if it&amp;#39;s a massive tidal&lt;br/&gt;&amp;gt;&amp;gt; wave of support that is inevitable, like we saw during segwit activation.&lt;br/&gt;&amp;gt;&amp;gt; But the actual definition is &amp;#34;any activation that is not a MASF&amp;#34;.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; A UASF can consist of a single node, ten nodes, a thousand, half of&lt;br/&gt;&amp;gt;&amp;gt; all nodes, all business&amp;#39; nodes, or even all the non mining nodes. On&lt;br/&gt;&amp;gt;&amp;gt; another dimension it can have zero mining support, 51% support, 49%&lt;br/&gt;&amp;gt;&amp;gt; support, or any support right up against a miner activation threshold.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Hell a UASF doesn&amp;#39;t even need code or even a single node running as&lt;br/&gt;&amp;gt;&amp;gt; long as it exists as a possibility in people&amp;#39;s minds.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; The only thing a UASF doesn&amp;#39;t have is miner support above an agreed&lt;br/&gt;&amp;gt;&amp;gt; activation threshold (some number above %51).&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; I say this because it strikes me when people say that they are for&lt;br/&gt;&amp;gt;&amp;gt; LOT=true with the logic that since a UASF is guaranteed to happen then it&amp;#39;s&lt;br/&gt;&amp;gt;&amp;gt; better to just make it default from the beginning. Words like coordination&lt;br/&gt;&amp;gt;&amp;gt; and safety are sometimes sprinkled into the argument.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; The argument comes from a naive assumption that users MUST upgrade&lt;br/&gt;&amp;gt;&amp;gt; to the choice that is submitted into code. But in fact this isn&amp;#39;t true and&lt;br/&gt;&amp;gt;&amp;gt; some voices in this discussion need to be more humble about what users must&lt;br/&gt;&amp;gt;&amp;gt; or must not run.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Does no one realize that it is a very possible outcome that if&lt;br/&gt;&amp;gt;&amp;gt; LOT=true is released there may be only a handful of people that begin&lt;br/&gt;&amp;gt;&amp;gt; running it while everyone else delays their upgrade (with the very good&lt;br/&gt;&amp;gt;&amp;gt; reason of not getting involved in politics) and a year later those handful&lt;br/&gt;&amp;gt;&amp;gt; of people just become stuck at the moment of MUST_SIGNAL, unable to mine&lt;br/&gt;&amp;gt;&amp;gt; new blocks? Or attracting a minority of miners, activating, and forking off&lt;br/&gt;&amp;gt;&amp;gt; into a minority fork. Then a lot=false could be started that ends up&lt;br/&gt;&amp;gt;&amp;gt; activating the feature now that the stubborn option has ran its course.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; The result: a wasted year of waiting and a minority of people who&lt;br/&gt;&amp;gt;&amp;gt; didn&amp;#39;t want to be lenient with miners by default. The chains could be&lt;br/&gt;&amp;gt;&amp;gt; called BitcoinLenient and BitcoinStubborn.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; How is that strictly safer or more coordinated?&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; I may be in the minority, or maybe a silent majority, or maybe a&lt;br/&gt;&amp;gt;&amp;gt; majority that just hasn&amp;#39;t considered this as a choice but honestly if there&lt;br/&gt;&amp;gt;&amp;gt; is contention about whether we&amp;#39;re going to be stubborn or lenient with&lt;br/&gt;&amp;gt;&amp;gt; miners for Taproot and in the future then I prefer to just not activate&lt;br/&gt;&amp;gt;&amp;gt; anything at all. I&amp;#39;m fine for calling bitcoin ossified, accepting that&lt;br/&gt;&amp;gt;&amp;gt; segwit is Bitcoin&amp;#39;s last network upgrade. Taproot is amazing but no new&lt;br/&gt;&amp;gt;&amp;gt; feature is worth a network split down the middle.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Maybe in 10 or 20 years, when other blockchains implement features&lt;br/&gt;&amp;gt;&amp;gt; like Taproot and many more, we will become envious enough to put aside our&lt;br/&gt;&amp;gt;&amp;gt; differences on how to behave towards miners and finally activate Taproot.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; An activation mechanism is a consensus change like any other&lt;br/&gt;&amp;gt;&amp;gt; change, can be contentious like any other change, and we must resolve it&lt;br/&gt;&amp;gt;&amp;gt; like any other change. Otherwise we risk arriving at the darkest timeline.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Cheers&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Ariel Lorenzo-Luaces&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; On Feb 17, 2021, at 7:05 AM, Michael Folkson via bitcoin-dev &amp;lt;&lt;br/&gt;&amp;gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Yesterday (February 16th) we held a second meeting on Taproot&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; activation on IRC which again was open to all. Despite what&lt;br/&gt;&amp;gt;&amp;gt; appeared&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; to be majority support for LOT=false over LOT=true in the first&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; meeting I (and others) thought the arguments had not been&lt;br/&gt;&amp;gt;&amp;gt; explored in&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; depth and that we should have a follow up meeting almost entirely&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; focused on whether LOT (lockinontimeout) should be set to true or&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; false.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; The meeting was announced here:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018380.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018380.html&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; In that mailing list post I outlined the arguments for LOT=true&lt;br/&gt;&amp;gt;&amp;gt; (T1 to&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; T6) and arguments for LOT=false (F1 to F6) in their strongest&lt;br/&gt;&amp;gt;&amp;gt; form I&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; could. David Harding responded with an additional argument for&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; LOT=false (F7) here:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018415.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018415.html&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; These meetings are very challenging given they are open to all,&lt;br/&gt;&amp;gt;&amp;gt; you&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; don’t know who will attend and you don’t know most people’s views&lt;br/&gt;&amp;gt;&amp;gt; in&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; advance. I tried to give time for both the LOT=true arguments and&lt;br/&gt;&amp;gt;&amp;gt; the&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; LOT=false arguments to be discussed as I knew there was support&lt;br/&gt;&amp;gt;&amp;gt; for&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; both. We only tried evaluating which had more support and which&lt;br/&gt;&amp;gt;&amp;gt; had&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; more strong opposition towards the end of the meeting.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; The conversation log is here:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;a href=&#34;http://gnusha.org/taproot-activation/2021-02-16.log&#34;&gt;http://gnusha.org/taproot-activation/2021-02-16.log&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; (If you are so inclined you can watch a video of the meeting here.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Thanks to the YouTube account “Bitcoin” for setting up the&lt;br/&gt;&amp;gt;&amp;gt; livestream:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;a href=&#34;https://www.youtube.com/watch?v=vpl5q1ovMLM&#34;&gt;https://www.youtube.com/watch?v=vpl5q1ovMLM&lt;/a&gt;)&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; A summary of the meeting was provided by Luke Dashjr on Mastodon&lt;br/&gt;&amp;gt;&amp;gt; here:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;a href=&#34;https://bitcoinhackers.org/@lukedashjr/105742918779234566&#34;&gt;https://bitcoinhackers.org/@lukedashjr/105742918779234566&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Today&amp;#39;s #Bitcoin #Taproot meeting was IMO largely unproductive,&lt;br/&gt;&amp;gt;&amp;gt; but we&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; did manage to come to consensus on everything but LockinOnTimeout.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Activation height range: 693504-745920&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; MASF threshold: 1815/2016 blocks (90%)&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Keep in mind only ~100 people showed for the meetings, hardly&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; representative of the entire community.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; So, these details remain JUST a proposal for now.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; It seems inevitable that there won&amp;#39;t be consensus on LOT.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Everyone will have to choose for himself. :/&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Personally I agree with most of this. I agree that there wasn’t&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; overwhelming consensus for either LOT=true or LOT=false. However,&lt;br/&gt;&amp;gt;&amp;gt; from&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; my perspective there was clearly more strong opposition (what&lt;br/&gt;&amp;gt;&amp;gt; would&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; usually be deemed a NACK in Bitcoin Core review terminology) from&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Bitcoin Core contributors, Lightning developers and other&lt;br/&gt;&amp;gt;&amp;gt; community&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; members against LOT=true than there was for LOT=false. Andrew Chow&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; tried to summarize views from the meeting in this analysis:&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;a href=&#34;https://gist.github.com/achow101/3e179501290abb7049de198d46894c7c&#34;&gt;https://gist.github.com/achow101/3e179501290abb7049de198d46894c7c&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; I am also aware of other current and previous Bitcoin Core&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; contributors and Lightning developers who didn’t attend the&lt;br/&gt;&amp;gt;&amp;gt; meeting in&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; person who are opposed to LOT=true. I don’t want to put them in&lt;br/&gt;&amp;gt;&amp;gt; the&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; spotlight for no reason but if you go through the conversation&lt;br/&gt;&amp;gt;&amp;gt; logs of&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; not only the meeting but the weeks of discussion prior to this&lt;br/&gt;&amp;gt;&amp;gt; meeting&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; you will see their views evaluated on the ##taproot-activation&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; channel. In addition, on taprootactivation.com some mining pools&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; expressed a preference for lot=false though I don’t know how&lt;br/&gt;&amp;gt;&amp;gt; strong&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; that preference was.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; I am only one voice but it is my current assessment that if we&lt;br/&gt;&amp;gt;&amp;gt; are to&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; attempt to finalize Taproot activation parameters and propose&lt;br/&gt;&amp;gt;&amp;gt; them to&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; the community at this time our only option is to propose&lt;br/&gt;&amp;gt;&amp;gt; LOT=false.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Any further delay appears to me counterproductive in our&lt;br/&gt;&amp;gt;&amp;gt; collective&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; aim to get the Taproot soft fork activated as early as possible.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Obviously others are free to disagree with that assessment and&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; continue discussions but personally I will be attempting to avoid&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; those discussions unless prominent new information comes to light&lt;br/&gt;&amp;gt;&amp;gt; or&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; various specific individuals change their minds.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Next week we are planning a code review of the Bitcoin Core PR&lt;br/&gt;&amp;gt;&amp;gt; #19573&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; which was initially delayed because of this LOT discussion. As&lt;br/&gt;&amp;gt;&amp;gt; I’ve&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; said previously that will be loosely following the format of the&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Bitcoin Core PR review club and will be lower level and more&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; technical. That is planned for Tuesday February 23rd at 19:00 UTC&lt;br/&gt;&amp;gt;&amp;gt; on&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; the IRC channel ##taproot-activation.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Thanks to the meeting participants (and those who joined the&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; discussion on the channel prior and post the meeting) for engaging&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; productively and in good faith.&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; --&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; Michael Folkson&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; Email: michaelfolkson at gmail.com&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; Keybase: michaelfolkson&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; _______________________________________________&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt;&amp;gt; &amp;gt; &amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt; Michael Folkson&lt;br/&gt;&amp;gt; Email: michaelfolkson at gmail.com&lt;br/&gt;&amp;gt; Keybase: michaelfolkson&lt;br/&gt;&amp;gt; PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&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;&lt;br/&gt;-- &lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at gmail.com&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&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/20210218/7735bd99/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210218/7735bd99/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T20:28:48&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqstzk2d2anzutjh99faz02me8xvzpe4lr462ae0ktpvtcwz5dtpzrgzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx54d69gr</id>
    
      <title type="html">📅 Original date posted:2021-02-18 📝 Original message:Right, ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqstzk2d2anzutjh99faz02me8xvzpe4lr462ae0ktpvtcwz5dtpzrgzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx54d69gr" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdjn657urqwqvujzuwxwd2a6203ard23twadhwchpmgqmgpgt4n9suev39k&#39;&gt;nevent1q…v39k&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-02-18&lt;br/&gt;📝 Original message:Right, that is one option. Personally I would prefer a Bitcoin Core release&lt;br/&gt;sets LOT=false (based on what I have heard from Bitcoin Core contributors)&lt;br/&gt;and a community effort releases a version with LOT=true. I don&amp;#39;t think&lt;br/&gt;users should be forced to choose something they may have no context on&lt;br/&gt;before they are allowed to use Bitcoin Core.&lt;br/&gt;&lt;br/&gt;My current understanding is that roasbeef is planning to set LOT=false on&lt;br/&gt;btcd (an alternative protocol implementation to Bitcoin Core) and Luke&lt;br/&gt;Dashjr hasn&amp;#39;t yet decided on Bitcoin Knots.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Thu, Feb 18, 2021 at 11:52 AM ZmnSCPxj &amp;lt;ZmnSCPxj at protonmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Good morning all,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;#34;An activation mechanism is a consensus change like any other change,&lt;br/&gt;&amp;gt; can be contentious like any other change, and we must resolve it like any&lt;br/&gt;&amp;gt; other change. Otherwise we risk arriving at the darkest timeline.&amp;#34;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Who&amp;#39;s we here?&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Release both and let the network decide.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A thing that could be done, without mandating either LOT=true or&lt;br/&gt;&amp;gt; LOT=false, would be to have a release that requires a `taprootlot=1` or&lt;br/&gt;&amp;gt; `taprootlot=0` and refuses to start if the parameter is not set.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This assures everyone that neither choice is being forced on users, and&lt;br/&gt;&amp;gt; instead what is being forced on users, is for users to make that choice&lt;br/&gt;&amp;gt; themselves.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt; ZmnSCPxj&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; On Thu, Feb 18, 2021 at 3:08 AM Michael Folkson via bitcoin-dev &amp;lt;&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Thanks for your response Ariel. It would be useful if you responded to&lt;br/&gt;&amp;gt; specific points I have made in the mailing list post or at least quote&lt;br/&gt;&amp;gt; these ephemeral &amp;#34;people&amp;#34; you speak of. I don&amp;#39;t know if you&amp;#39;re responding to&lt;br/&gt;&amp;gt; conversation on the IRC channel or on social media etc.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; The argument comes from a naive assumption that users MUST upgrade&lt;br/&gt;&amp;gt; to the choice that is submitted into code. But in fact this isn&amp;#39;t true and&lt;br/&gt;&amp;gt; some voices in this discussion need to be more humble about what users must&lt;br/&gt;&amp;gt; or must not run.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; I personally have never made this assumption. Of course users aren&amp;#39;t&lt;br/&gt;&amp;gt; forced to run any particular software version, quite the opposite. Defaults&lt;br/&gt;&amp;gt; set in software versions matter though as many users won&amp;#39;t change them.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Does no one realize that it is a very possible outcome that if&lt;br/&gt;&amp;gt; LOT=true is released there may be only a handful of people that begin&lt;br/&gt;&amp;gt; running it while everyone else delays their upgrade (with the very good&lt;br/&gt;&amp;gt; reason of not getting involved in politics) and a year later those handful&lt;br/&gt;&amp;gt; of people just become stuck at the moment of MUST_SIGNAL, unable to mine&lt;br/&gt;&amp;gt; new blocks?&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; It is a possible outcome but the likely outcome is that miners&lt;br/&gt;&amp;gt; activate Taproot before LOT is even relevant. I think it is prudent to&lt;br/&gt;&amp;gt; prepare for the unlikely but possible outcome that miners fail to activate&lt;br/&gt;&amp;gt; and hence have this discussion now rather than be unprepared for that&lt;br/&gt;&amp;gt; eventuality. If LOT is set to false in a software release there is the&lt;br/&gt;&amp;gt; possibility (T2 in&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018380.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018380.html&lt;/a&gt;)&lt;br/&gt;&amp;gt; of individuals or a proportion of the community changing LOT to true. In&lt;br/&gt;&amp;gt; that sense setting LOT=false in a software release appears to be no more&lt;br/&gt;&amp;gt; safe than LOT=true.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; The result: a wasted year of waiting and a minority of people who&lt;br/&gt;&amp;gt; didn&amp;#39;t want to be lenient with miners by default.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; There is the (unlikely but possible) possibility of a wasted year if&lt;br/&gt;&amp;gt; LOT is set to false and miners fail to activate. I&amp;#39;m not convinced by this&lt;br/&gt;&amp;gt; perception that LOT=true is antagonistic to miners. I actually think it&lt;br/&gt;&amp;gt; offers them clarity on what will happen over a year time period and removes&lt;br/&gt;&amp;gt; the need for coordinated or uncoordinated community UASF efforts on top of&lt;br/&gt;&amp;gt; LOT=false.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; An activation mechanism is a consensus change like any other change,&lt;br/&gt;&amp;gt; can be contentious like any other change, and we must resolve it like any&lt;br/&gt;&amp;gt; other change. Otherwise we risk arriving at the darkest timeline.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; I don&amp;#39;t know what you are recommending here to avoid &amp;#34;this darkest&lt;br/&gt;&amp;gt; timeline&amp;#34;. Open discussions have occurred and are continuing and in my&lt;br/&gt;&amp;gt; mailing list post that you responded to **I recommended we propose&lt;br/&gt;&amp;gt; LOT=false be set in protocol implementations such as Bitcoin Core**. I do&lt;br/&gt;&amp;gt; think this apocalyptic language isn&amp;#39;t particularly helpful. In an open&lt;br/&gt;&amp;gt; consensus system discussion is healthy, we should prepare for bad or worst&lt;br/&gt;&amp;gt; case scenarios in advance and doing so is not antagonistic or destructive.&lt;br/&gt;&amp;gt; Mining pools have pledged support for Taproot but we don&amp;#39;t build secure&lt;br/&gt;&amp;gt; systems based on pledges of support, we build them to minimize trust in any&lt;br/&gt;&amp;gt; human actors. We can be grateful that people like Alejandro have worked&lt;br/&gt;&amp;gt; hard on taprootactivation.com (and this effort has informed the&lt;br/&gt;&amp;gt; discussion) without taking pledges of support as cast iron guarantees.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; TL;DR It sounds like you agree with my recommendation to set LOT=false&lt;br/&gt;&amp;gt; in protocol implementations in my email :)&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; On Thu, Feb 18, 2021 at 5:43 AM Ariel Lorenzo-Luaces &amp;lt;&lt;br/&gt;&amp;gt; arielluaces at gmail.com&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Something what strikes me about the conversation is the emotion&lt;br/&gt;&amp;gt; surrounding the letters UASF.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; It appears as if people discuss UASF as if it&amp;#39;s a massive tidal wave&lt;br/&gt;&amp;gt; of support that is inevitable, like we saw during segwit activation. But&lt;br/&gt;&amp;gt; the actual definition is &amp;#34;any activation that is not a MASF&amp;#34;.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; A UASF can consist of a single node, ten nodes, a thousand, half of&lt;br/&gt;&amp;gt; all nodes, all business&amp;#39; nodes, or even all the non mining nodes. On&lt;br/&gt;&amp;gt; another dimension it can have zero mining support, 51% support, 49%&lt;br/&gt;&amp;gt; support, or any support right up against a miner activation threshold.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Hell a UASF doesn&amp;#39;t even need code or even a single node running as&lt;br/&gt;&amp;gt; long as it exists as a possibility in people&amp;#39;s minds.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; The only thing a UASF doesn&amp;#39;t have is miner support above an agreed&lt;br/&gt;&amp;gt; activation threshold (some number above %51).&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; I say this because it strikes me when people say that they are for&lt;br/&gt;&amp;gt; LOT=true with the logic that since a UASF is guaranteed to happen then it&amp;#39;s&lt;br/&gt;&amp;gt; better to just make it default from the beginning. Words like coordination&lt;br/&gt;&amp;gt; and safety are sometimes sprinkled into the argument.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; The argument comes from a naive assumption that users MUST upgrade&lt;br/&gt;&amp;gt; to the choice that is submitted into code. But in fact this isn&amp;#39;t true and&lt;br/&gt;&amp;gt; some voices in this discussion need to be more humble about what users must&lt;br/&gt;&amp;gt; or must not run.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Does no one realize that it is a very possible outcome that if&lt;br/&gt;&amp;gt; LOT=true is released there may be only a handful of people that begin&lt;br/&gt;&amp;gt; running it while everyone else delays their upgrade (with the very good&lt;br/&gt;&amp;gt; reason of not getting involved in politics) and a year later those handful&lt;br/&gt;&amp;gt; of people just become stuck at the moment of MUST_SIGNAL, unable to mine&lt;br/&gt;&amp;gt; new blocks? Or attracting a minority of miners, activating, and forking off&lt;br/&gt;&amp;gt; into a minority fork. Then a lot=false could be started that ends up&lt;br/&gt;&amp;gt; activating the feature now that the stubborn option has ran its course.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; The result: a wasted year of waiting and a minority of people who&lt;br/&gt;&amp;gt; didn&amp;#39;t want to be lenient with miners by default. The chains could be&lt;br/&gt;&amp;gt; called BitcoinLenient and BitcoinStubborn.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; How is that strictly safer or more coordinated?&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; I may be in the minority, or maybe a silent majority, or maybe a&lt;br/&gt;&amp;gt; majority that just hasn&amp;#39;t considered this as a choice but honestly if there&lt;br/&gt;&amp;gt; is contention about whether we&amp;#39;re going to be stubborn or lenient with&lt;br/&gt;&amp;gt; miners for Taproot and in the future then I prefer to just not activate&lt;br/&gt;&amp;gt; anything at all. I&amp;#39;m fine for calling bitcoin ossified, accepting that&lt;br/&gt;&amp;gt; segwit is Bitcoin&amp;#39;s last network upgrade. Taproot is amazing but no new&lt;br/&gt;&amp;gt; feature is worth a network split down the middle.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Maybe in 10 or 20 years, when other blockchains implement features&lt;br/&gt;&amp;gt; like Taproot and many more, we will become envious enough to put aside our&lt;br/&gt;&amp;gt; differences on how to behave towards miners and finally activate Taproot.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; An activation mechanism is a consensus change like any other change,&lt;br/&gt;&amp;gt; can be contentious like any other change, and we must resolve it like any&lt;br/&gt;&amp;gt; other change. Otherwise we risk arriving at the darkest timeline.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Cheers&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Ariel Lorenzo-Luaces&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; On Feb 17, 2021, at 7:05 AM, Michael Folkson via bitcoin-dev &amp;lt;&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Yesterday (February 16th) we held a second meeting on Taproot&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; activation on IRC which again was open to all. Despite what&lt;br/&gt;&amp;gt; appeared&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; to be majority support for LOT=false over LOT=true in the first&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; meeting I (and others) thought the arguments had not been explored&lt;br/&gt;&amp;gt; in&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; depth and that we should have a follow up meeting almost entirely&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; focused on whether LOT (lockinontimeout) should be set to true or&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; false.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; The meeting was announced here:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018380.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018380.html&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; In that mailing list post I outlined the arguments for LOT=true&lt;br/&gt;&amp;gt; (T1 to&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; T6) and arguments for LOT=false (F1 to F6) in their strongest form&lt;br/&gt;&amp;gt; I&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; could. David Harding responded with an additional argument for&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; LOT=false (F7) here:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018415.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018415.html&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; These meetings are very challenging given they are open to all, you&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; don’t know who will attend and you don’t know most people’s views&lt;br/&gt;&amp;gt; in&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; advance. I tried to give time for both the LOT=true arguments and&lt;br/&gt;&amp;gt; the&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; LOT=false arguments to be discussed as I knew there was support for&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; both. We only tried evaluating which had more support and which had&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; more strong opposition towards the end of the meeting.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; The conversation log is here:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;a href=&#34;http://gnusha.org/taproot-activation/2021-02-16.log&#34;&gt;http://gnusha.org/taproot-activation/2021-02-16.log&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; (If you are so inclined you can watch a video of the meeting here.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Thanks to the YouTube account “Bitcoin” for setting up the&lt;br/&gt;&amp;gt; livestream:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;a href=&#34;https://www.youtube.com/watch?v=vpl5q1ovMLM&#34;&gt;https://www.youtube.com/watch?v=vpl5q1ovMLM&lt;/a&gt;)&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; A summary of the meeting was provided by Luke Dashjr on Mastodon&lt;br/&gt;&amp;gt; here:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;a href=&#34;https://bitcoinhackers.org/@lukedashjr/105742918779234566&#34;&gt;https://bitcoinhackers.org/@lukedashjr/105742918779234566&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Today&amp;#39;s #Bitcoin #Taproot meeting was IMO largely unproductive,&lt;br/&gt;&amp;gt; but we&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; did manage to come to consensus on everything but LockinOnTimeout.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Activation height range: 693504-745920&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; MASF threshold: 1815/2016 blocks (90%)&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Keep in mind only ~100 people showed for the meetings, hardly&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; representative of the entire community.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; So, these details remain JUST a proposal for now.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; It seems inevitable that there won&amp;#39;t be consensus on LOT.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Everyone will have to choose for himself. :/&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Personally I agree with most of this. I agree that there wasn’t&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; overwhelming consensus for either LOT=true or LOT=false. However,&lt;br/&gt;&amp;gt; from&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; my perspective there was clearly more strong opposition (what would&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; usually be deemed a NACK in Bitcoin Core review terminology) from&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Bitcoin Core contributors, Lightning developers and other community&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; members against LOT=true than there was for LOT=false. Andrew Chow&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; tried to summarize views from the meeting in this analysis:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &lt;a href=&#34;https://gist.github.com/achow101/3e179501290abb7049de198d46894c7c&#34;&gt;https://gist.github.com/achow101/3e179501290abb7049de198d46894c7c&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; I am also aware of other current and previous Bitcoin Core&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; contributors and Lightning developers who didn’t attend the&lt;br/&gt;&amp;gt; meeting in&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; person who are opposed to LOT=true. I don’t want to put them in the&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; spotlight for no reason but if you go through the conversation&lt;br/&gt;&amp;gt; logs of&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; not only the meeting but the weeks of discussion prior to this&lt;br/&gt;&amp;gt; meeting&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; you will see their views evaluated on the ##taproot-activation&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; channel. In addition, on taprootactivation.com some mining pools&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; expressed a preference for lot=false though I don’t know how strong&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; that preference was.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; I am only one voice but it is my current assessment that if we are&lt;br/&gt;&amp;gt; to&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; attempt to finalize Taproot activation parameters and propose them&lt;br/&gt;&amp;gt; to&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; the community at this time our only option is to propose LOT=false.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Any further delay appears to me counterproductive in our collective&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; aim to get the Taproot soft fork activated as early as possible.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Obviously others are free to disagree with that assessment and&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; continue discussions but personally I will be attempting to avoid&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; those discussions unless prominent new information comes to light&lt;br/&gt;&amp;gt; or&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; various specific individuals change their minds.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Next week we are planning a code review of the Bitcoin Core PR&lt;br/&gt;&amp;gt; #19573&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; which was initially delayed because of this LOT discussion. As I’ve&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; said previously that will be loosely following the format of the&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Bitcoin Core PR review club and will be lower level and more&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; technical. That is planned for Tuesday February 23rd at 19:00 UTC&lt;br/&gt;&amp;gt; on&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; the IRC channel ##taproot-activation.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Thanks to the meeting participants (and those who joined the&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; discussion on the channel prior and post the meeting) for engaging&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; productively and in good faith.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; --&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Michael Folkson&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Email: michaelfolkson at gmail.com&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Keybase: michaelfolkson&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at gmail.com&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&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/20210218/726417ad/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210218/726417ad/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T20:28:47&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsdzd0erq88clzcj06952wfghy53eh7p2zjlx9plczj5q2zze5e5dszyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx565s5mp</id>
    
      <title type="html">📅 Original date posted:2021-02-18 📝 Original message:Thanks ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsdzd0erq88clzcj06952wfghy53eh7p2zjlx9plczj5q2zze5e5dszyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx565s5mp" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsw4kp9j4h4rc9m6z3m0pnlxp70w98tl3k5qvwrgtyy79thr86yulce6gjlg&#39;&gt;nevent1q…gjlg&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-02-18&lt;br/&gt;📝 Original message:Thanks for your response Ariel. It would be useful if you responded to&lt;br/&gt;specific points I have made in the mailing list post or at least quote&lt;br/&gt;these ephemeral &amp;#34;people&amp;#34; you speak of. I don&amp;#39;t know if you&amp;#39;re responding to&lt;br/&gt;conversation on the IRC channel or on social media etc.&lt;br/&gt;&lt;br/&gt;&amp;gt; The argument comes from a naive assumption that users MUST upgrade to the&lt;br/&gt;choice that is submitted into code. But in fact this isn&amp;#39;t true and some&lt;br/&gt;voices in this discussion need to be more humble about what users must or&lt;br/&gt;must not run.&lt;br/&gt;&lt;br/&gt;I personally have never made this assumption. Of course users aren&amp;#39;t forced&lt;br/&gt;to run any particular software version, quite the opposite. Defaults set in&lt;br/&gt;software versions matter though as many users won&amp;#39;t change them.&lt;br/&gt;&lt;br/&gt;&amp;gt; Does no one realize that it is a very possible outcome that if LOT=true&lt;br/&gt;is released there may be only a handful of people that begin running it&lt;br/&gt;while everyone else delays their upgrade (with the very good reason of not&lt;br/&gt;getting involved in politics) and a year later those handful of people just&lt;br/&gt;become stuck at the moment of MUST_SIGNAL, unable to mine new blocks?&lt;br/&gt;&lt;br/&gt;It is a possible outcome but the likely outcome is that miners activate&lt;br/&gt;Taproot before LOT is even relevant. I think it is prudent to prepare for&lt;br/&gt;the unlikely but possible outcome that miners fail to activate and hence&lt;br/&gt;have this discussion now rather than be unprepared for that eventuality. If&lt;br/&gt;LOT is set to false in a software release there is the possibility (T2 in&lt;br/&gt;&lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018380.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018380.html&lt;/a&gt;)&lt;br/&gt;of individuals or a proportion of the community changing LOT to true. In&lt;br/&gt;that sense setting LOT=false in a software release appears to be no more&lt;br/&gt;safe than LOT=true.&lt;br/&gt;&lt;br/&gt;&amp;gt; The result: a wasted year of waiting and a minority of people who didn&amp;#39;t&lt;br/&gt;want to be lenient with miners by default.&lt;br/&gt;&lt;br/&gt;There is the (unlikely but possible) possibility of a wasted year if LOT is&lt;br/&gt;set to false and miners fail to activate. I&amp;#39;m not convinced by this&lt;br/&gt;perception that LOT=true is antagonistic to miners. I actually think it&lt;br/&gt;offers them clarity on what will happen over a year time period and removes&lt;br/&gt;the need for coordinated or uncoordinated community UASF efforts on top of&lt;br/&gt;LOT=false.&lt;br/&gt;&lt;br/&gt;&amp;gt; An activation mechanism is a consensus change like any other change, can&lt;br/&gt;be contentious like any other change, and we must resolve it like any other&lt;br/&gt;change. Otherwise we risk arriving at the darkest timeline.&lt;br/&gt;&lt;br/&gt;I don&amp;#39;t know what you are recommending here to avoid &amp;#34;this darkest&lt;br/&gt;timeline&amp;#34;. Open discussions have occurred and are continuing and in my&lt;br/&gt;mailing list post that you responded to **I recommended we propose&lt;br/&gt;LOT=false be set in protocol implementations such as Bitcoin Core**. I do&lt;br/&gt;think this apocalyptic language isn&amp;#39;t particularly helpful. In an open&lt;br/&gt;consensus system discussion is healthy, we should prepare for bad or worst&lt;br/&gt;case scenarios in advance and doing so is not antagonistic or destructive.&lt;br/&gt;Mining pools have pledged support for Taproot but we don&amp;#39;t build secure&lt;br/&gt;systems based on pledges of support, we build them to minimize trust in any&lt;br/&gt;human actors. We can be grateful that people like Alejandro have worked&lt;br/&gt;hard on taprootactivation.com (and this effort has informed the discussion)&lt;br/&gt;without taking pledges of support as cast iron guarantees.&lt;br/&gt;&lt;br/&gt;TL;DR It sounds like you agree with my recommendation to set LOT=false in&lt;br/&gt;protocol implementations in my email :)&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Thu, Feb 18, 2021 at 5:43 AM Ariel Lorenzo-Luaces &amp;lt;arielluaces at gmail.com&amp;gt;&lt;br/&gt;wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Something what strikes me about the conversation is the emotion&lt;br/&gt;&amp;gt; surrounding the letters UASF.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It appears as if people discuss UASF as if it&amp;#39;s a massive tidal wave of&lt;br/&gt;&amp;gt; support that is inevitable, like we saw during segwit activation. But the&lt;br/&gt;&amp;gt; actual definition is &amp;#34;any activation that is not a MASF&amp;#34;.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; A UASF can consist of a single node, ten nodes, a thousand, half of all&lt;br/&gt;&amp;gt; nodes, all business&amp;#39; nodes, or even all the non mining nodes. On another&lt;br/&gt;&amp;gt; dimension it can have zero mining support, 51% support, 49% support, or any&lt;br/&gt;&amp;gt; support right up against a miner activation threshold.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Hell a UASF doesn&amp;#39;t even need code or even a single node running as long&lt;br/&gt;&amp;gt; as it exists as a possibility in people&amp;#39;s minds.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The only thing a UASF doesn&amp;#39;t have is miner support above an agreed&lt;br/&gt;&amp;gt; activation threshold (some number above %51).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I say this because it strikes me when people say that they are for&lt;br/&gt;&amp;gt; LOT=true with the logic that since a UASF is guaranteed to happen then it&amp;#39;s&lt;br/&gt;&amp;gt; better to just make it default from the beginning. Words like coordination&lt;br/&gt;&amp;gt; and safety are sometimes sprinkled into the argument.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The argument comes from a naive assumption that users MUST upgrade to the&lt;br/&gt;&amp;gt; choice that is submitted into code. But in fact this isn&amp;#39;t true and some&lt;br/&gt;&amp;gt; voices in this discussion need to be more humble about what users must or&lt;br/&gt;&amp;gt; must not run.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Does no one realize that it is a very possible outcome that if LOT=true is&lt;br/&gt;&amp;gt; released there may be only a handful of people that begin running it while&lt;br/&gt;&amp;gt; everyone else delays their upgrade (with the very good reason of not&lt;br/&gt;&amp;gt; getting involved in politics) and a year later those handful of people just&lt;br/&gt;&amp;gt; become stuck at the moment of MUST_SIGNAL, unable to mine new blocks? Or&lt;br/&gt;&amp;gt; attracting a minority of miners, activating, and forking off into a&lt;br/&gt;&amp;gt; minority fork. Then a lot=false could be started that ends up activating&lt;br/&gt;&amp;gt; the feature now that the stubborn option has ran its course.&lt;br/&gt;&amp;gt; The result: a wasted year of waiting and a minority of people who didn&amp;#39;t&lt;br/&gt;&amp;gt; want to be lenient with miners by default. The chains could be called&lt;br/&gt;&amp;gt; BitcoinLenient and BitcoinStubborn.&lt;br/&gt;&amp;gt; How is that strictly safer or more coordinated?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I may be in the minority, or maybe a silent majority, or maybe a majority&lt;br/&gt;&amp;gt; that just hasn&amp;#39;t considered this as a choice but honestly if there is&lt;br/&gt;&amp;gt; contention about whether we&amp;#39;re going to be stubborn or lenient with miners&lt;br/&gt;&amp;gt; for Taproot and in the future then I prefer to just not activate anything&lt;br/&gt;&amp;gt; at all. I&amp;#39;m fine for calling bitcoin ossified, accepting that segwit is&lt;br/&gt;&amp;gt; Bitcoin&amp;#39;s last network upgrade. Taproot is amazing but no new feature is&lt;br/&gt;&amp;gt; worth a network split down the middle.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Maybe in 10 or 20 years, when other blockchains implement features like&lt;br/&gt;&amp;gt; Taproot and many more, we will become envious enough to put aside our&lt;br/&gt;&amp;gt; differences on how to behave towards miners and finally activate Taproot.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; An activation mechanism is a consensus change like any other change, can&lt;br/&gt;&amp;gt; be contentious like any other change, and we must resolve it like any other&lt;br/&gt;&amp;gt; change. Otherwise we risk arriving at the darkest timeline.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Cheers&lt;br/&gt;&amp;gt; Ariel Lorenzo-Luaces&lt;br/&gt;&amp;gt; On Feb 17, 2021, at 7:05 AM, Michael Folkson via bitcoin-dev &amp;lt;&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Yesterday (February 16th) we held a second meeting on Taproot&lt;br/&gt;&amp;gt;&amp;gt; activation on IRC which again was open to all. Despite what appeared&lt;br/&gt;&amp;gt;&amp;gt; to be majority support for LOT=false over LOT=true in the first&lt;br/&gt;&amp;gt;&amp;gt; meeting I (and others) thought the arguments had not been explored in&lt;br/&gt;&amp;gt;&amp;gt; depth and that we should have a follow up meeting almost entirely&lt;br/&gt;&amp;gt;&amp;gt; focused on whether LOT (lockinontimeout) should be set to true or&lt;br/&gt;&amp;gt;&amp;gt; false.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; The meeting was announced here:&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018380.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018380.html&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; In that mailing list post I outlined the arguments for LOT=true (T1 to&lt;br/&gt;&amp;gt;&amp;gt; T6) and arguments for LOT=false (F1 to F6) in their strongest form I&lt;br/&gt;&amp;gt;&amp;gt; could. David Harding responded with an additional argument for&lt;br/&gt;&amp;gt;&amp;gt; LOT=false (F7) here:&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018415.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018415.html&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; These meetings are very challenging given they are open to all, you&lt;br/&gt;&amp;gt;&amp;gt; don’t know who will attend and you don’t know most people’s views in&lt;br/&gt;&amp;gt;&amp;gt; advance. I tried to give time for both the LOT=true arguments and the&lt;br/&gt;&amp;gt;&amp;gt; LOT=false arguments to be discussed as I knew there was support for&lt;br/&gt;&amp;gt;&amp;gt; both. We only tried evaluating which had more support and which had&lt;br/&gt;&amp;gt;&amp;gt; more strong opposition towards the end of the meeting.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; The conversation log is here:&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;http://gnusha.org/taproot-activation/2021-02-16.log&#34;&gt;http://gnusha.org/taproot-activation/2021-02-16.log&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; (If you are so inclined you can watch a video of the meeting here.&lt;br/&gt;&amp;gt;&amp;gt; Thanks to the YouTube account “Bitcoin” for setting up the livestream:&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://www.youtube.com/watch?v=vpl5q1ovMLM&#34;&gt;https://www.youtube.com/watch?v=vpl5q1ovMLM&lt;/a&gt;)&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; A summary of the meeting was provided by Luke Dashjr on Mastodon here:&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://bitcoinhackers.org/@lukedashjr/105742918779234566&#34;&gt;https://bitcoinhackers.org/@lukedashjr/105742918779234566&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Today&amp;#39;s #Bitcoin #Taproot meeting was IMO largely unproductive, but we&lt;br/&gt;&amp;gt;&amp;gt; did manage to come to consensus on everything but LockinOnTimeout.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Activation height range: 693504-745920&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; MASF threshold: 1815/2016 blocks (90%)&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Keep in mind only ~100 people showed for the meetings, hardly&lt;br/&gt;&amp;gt;&amp;gt; representative of the entire community.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; So, these details remain JUST a proposal for now.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; It seems inevitable that there won&amp;#39;t be consensus on LOT.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Everyone will have to choose for himself. :/&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Personally I agree with most of this. I agree that there wasn’t&lt;br/&gt;&amp;gt;&amp;gt; overwhelming consensus for either LOT=true or LOT=false. However, from&lt;br/&gt;&amp;gt;&amp;gt; my perspective there was clearly more strong opposition (what would&lt;br/&gt;&amp;gt;&amp;gt; usually be deemed a NACK in Bitcoin Core review terminology) from&lt;br/&gt;&amp;gt;&amp;gt; Bitcoin Core contributors, Lightning developers and other community&lt;br/&gt;&amp;gt;&amp;gt; members against LOT=true than there was for LOT=false. Andrew Chow&lt;br/&gt;&amp;gt;&amp;gt; tried to summarize views from the meeting in this analysis:&lt;br/&gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://gist.github.com/achow101/3e179501290abb7049de198d46894c7c&#34;&gt;https://gist.github.com/achow101/3e179501290abb7049de198d46894c7c&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I am also aware of other current and previous Bitcoin Core&lt;br/&gt;&amp;gt;&amp;gt; contributors and Lightning developers who didn’t attend the meeting in&lt;br/&gt;&amp;gt;&amp;gt; person who are opposed to LOT=true. I don’t want to put them in the&lt;br/&gt;&amp;gt;&amp;gt; spotlight for no reason but if you go through the conversation logs of&lt;br/&gt;&amp;gt;&amp;gt; not only the meeting but the weeks of discussion prior to this meeting&lt;br/&gt;&amp;gt;&amp;gt; you will see their views evaluated on the ##taproot-activation&lt;br/&gt;&amp;gt;&amp;gt; channel. In addition, on taprootactivation.com some mining pools&lt;br/&gt;&amp;gt;&amp;gt; expressed a preference for lot=false though I don’t know how strong&lt;br/&gt;&amp;gt;&amp;gt; that preference was.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I am only one voice but it is my current assessment that if we are to&lt;br/&gt;&amp;gt;&amp;gt; attempt to finalize Taproot activation parameters and propose them to&lt;br/&gt;&amp;gt;&amp;gt; the community at this time our only option is to propose LOT=false.&lt;br/&gt;&amp;gt;&amp;gt; Any further delay appears to me counterproductive in our collective&lt;br/&gt;&amp;gt;&amp;gt; aim to get the Taproot soft fork activated as early as possible.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Obviously others are free to disagree with that assessment and&lt;br/&gt;&amp;gt;&amp;gt; continue discussions but personally I will be attempting to avoid&lt;br/&gt;&amp;gt;&amp;gt; those discussions unless prominent new information comes to light or&lt;br/&gt;&amp;gt;&amp;gt; various specific individuals change their minds.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Next week we are planning a code review of the Bitcoin Core PR #19573&lt;br/&gt;&amp;gt;&amp;gt; which was initially delayed because of this LOT discussion. As I’ve&lt;br/&gt;&amp;gt;&amp;gt; said previously that will be loosely following the format of the&lt;br/&gt;&amp;gt;&amp;gt; Bitcoin Core PR review club and will be lower level and more&lt;br/&gt;&amp;gt;&amp;gt; technical. That is planned for Tuesday February 23rd at 19:00 UTC on&lt;br/&gt;&amp;gt;&amp;gt; the IRC channel ##taproot-activation.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Thanks to the meeting participants (and those who joined the&lt;br/&gt;&amp;gt;&amp;gt; discussion on the channel prior and post the meeting) for engaging&lt;br/&gt;&amp;gt;&amp;gt; productively and in good faith.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at gmail.com&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3&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/20210218/e09ce26a/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210218/e09ce26a/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T20:28:44&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsg8cussk8n3dys9fsp9zrywx7ehcvy90h2adt8slsqjmwfzc2242qzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5cfccpm</id>
    
      <title type="html">📅 Original date posted:2021-02-17 📝 Original ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsg8cussk8n3dys9fsp9zrywx7ehcvy90h2adt8slsqjmwfzc2242qzyp7ynq0s60z7ajtkx80zwwe9kep47renuraxen38phwn7wu8jlfx5cfccpm" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrdfcy5nsxn7t4cz3rghw39vz329ea5tu0h4u49whrupzw27d8m2scv7jrw&#39;&gt;nevent1q…7jrw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-02-17&lt;br/&gt;📝 Original message:Yesterday (February 16th) we held a second meeting on Taproot&lt;br/&gt;activation on IRC which again was open to all. Despite what appeared&lt;br/&gt;to be majority support for LOT=false over LOT=true in the first&lt;br/&gt;meeting I (and others) thought the arguments had not been explored in&lt;br/&gt;depth and that we should have a follow up meeting almost entirely&lt;br/&gt;focused on whether LOT (lockinontimeout) should be set to true or&lt;br/&gt;false.&lt;br/&gt;&lt;br/&gt;The meeting was announced here:&lt;br/&gt;&lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018380.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018380.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;In that mailing list post I outlined the arguments for LOT=true (T1 to&lt;br/&gt;T6) and arguments for LOT=false (F1 to F6) in their strongest form I&lt;br/&gt;could. David Harding responded with an additional argument for&lt;br/&gt;LOT=false (F7) here:&lt;br/&gt;&lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018415.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-February/018415.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;These meetings are very challenging given they are open to all, you&lt;br/&gt;don’t know who will attend and you don’t know most people’s views in&lt;br/&gt;advance. I tried to give time for both the LOT=true arguments and the&lt;br/&gt;LOT=false arguments to be discussed as I knew there was support for&lt;br/&gt;both. We only tried evaluating which had more support and which had&lt;br/&gt;more strong opposition towards the end of the meeting.&lt;br/&gt;&lt;br/&gt;The conversation log is here:&lt;br/&gt;&lt;a href=&#34;http://gnusha.org/taproot-activation/2021-02-16.log&#34;&gt;http://gnusha.org/taproot-activation/2021-02-16.log&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;(If you are so inclined you can watch a video of the meeting here.&lt;br/&gt;Thanks to the YouTube account “Bitcoin” for setting up the livestream:&lt;br/&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=vpl5q1ovMLM&#34;&gt;https://www.youtube.com/watch?v=vpl5q1ovMLM&lt;/a&gt;)&lt;br/&gt;&lt;br/&gt;A summary of the meeting was provided by Luke Dashjr on Mastodon here:&lt;br/&gt;&lt;a href=&#34;https://bitcoinhackers.org/@lukedashjr/105742918779234566&#34;&gt;https://bitcoinhackers.org/@lukedashjr/105742918779234566&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Today&amp;#39;s #Bitcoin #Taproot meeting was IMO largely unproductive, but we&lt;br/&gt;did manage to come to consensus on everything but LockinOnTimeout.&lt;br/&gt;&lt;br/&gt;Activation height range: 693504-745920&lt;br/&gt;&lt;br/&gt;MASF threshold: 1815/2016 blocks (90%)&lt;br/&gt;&lt;br/&gt;Keep in mind only ~100 people showed for the meetings, hardly&lt;br/&gt;representative of the entire community.&lt;br/&gt;&lt;br/&gt;So, these details remain JUST a proposal for now.&lt;br/&gt;&lt;br/&gt;It seems inevitable that there won&amp;#39;t be consensus on LOT.&lt;br/&gt;&lt;br/&gt;Everyone will have to choose for himself. :/&lt;br/&gt;&lt;br/&gt;Personally I agree with most of this. I agree that there wasn’t&lt;br/&gt;overwhelming consensus for either LOT=true or LOT=false. However, from&lt;br/&gt;my perspective there was clearly more strong opposition (what would&lt;br/&gt;usually be deemed a NACK in Bitcoin Core review terminology) from&lt;br/&gt;Bitcoin Core contributors, Lightning developers and other community&lt;br/&gt;members against LOT=true than there was for LOT=false. Andrew Chow&lt;br/&gt;tried to summarize views from the meeting in this analysis:&lt;br/&gt;&lt;a href=&#34;https://gist.github.com/achow101/3e179501290abb7049de198d46894c7c&#34;&gt;https://gist.github.com/achow101/3e179501290abb7049de198d46894c7c&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;I am also aware of other current and previous Bitcoin Core&lt;br/&gt;contributors and Lightning developers who didn’t attend the meeting in&lt;br/&gt;person who are opposed to LOT=true. I don’t want to put them in the&lt;br/&gt;spotlight for no reason but if you go through the conversation logs of&lt;br/&gt;not only the meeting but the weeks of discussion prior to this meeting&lt;br/&gt;you will see their views evaluated on the ##taproot-activation&lt;br/&gt;channel. In addition, on taprootactivation.com some mining pools&lt;br/&gt;expressed a preference for lot=false though I don’t know how strong&lt;br/&gt;that preference was.&lt;br/&gt;&lt;br/&gt;I am only one voice but it is my current assessment that if we are to&lt;br/&gt;attempt to finalize Taproot activation parameters and propose them to&lt;br/&gt;the community at this time our only option is to propose LOT=false.&lt;br/&gt;Any further delay appears to me counterproductive in our collective&lt;br/&gt;aim to get the Taproot soft fork activated as early as possible.&lt;br/&gt;&lt;br/&gt;Obviously others are free to disagree with that assessment and&lt;br/&gt;continue discussions but personally I will be attempting to avoid&lt;br/&gt;those discussions unless prominent new information comes to light or&lt;br/&gt;various specific individuals change their minds.&lt;br/&gt;&lt;br/&gt;Next week we are planning a code review of the Bitcoin Core PR #19573&lt;br/&gt;which was initially delayed because of this LOT discussion. As I’ve&lt;br/&gt;said previously that will be loosely following the format of the&lt;br/&gt;Bitcoin Core PR review club and will be lower level and more&lt;br/&gt;technical. That is planned for Tuesday February 23rd at 19:00 UTC on&lt;br/&gt;the IRC channel ##taproot-activation.&lt;br/&gt;&lt;br/&gt;Thanks to the meeting participants (and those who joined the&lt;br/&gt;discussion on the channel prior and post the meeting) for engaging&lt;br/&gt;productively and in good faith.&lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;Michael Folkson&lt;br/&gt;Email: michaelfolkson at gmail.com&lt;br/&gt;Keybase: michaelfolkson&lt;br/&gt;PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3
    </content>
    <updated>2023-06-07T20:28:44&#43;02:00</updated>
  </entry>

</feed>