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

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




  <entry>
    <id>https://njump.me/nevent1qqstjr904l8pd4uake3rfhk8twg4tnl3tw3yua2qh5d75qc03se3vyczyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vx3ljta8</id>
    
      <title type="html">📅 Original date posted:2022-10-10 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqstjr904l8pd4uake3rfhk8twg4tnl3tw3yua2qh5d75qc03se3vyczyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vx3ljta8" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsp5zac6dpeycgyqlztda57ahhfv9dfruys4mhl52d6vx7mfawca0sf3kcay&#39;&gt;nevent1q…kcay&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-10-10&lt;br/&gt;📝 Original message:&amp;gt; -----Original Message-----&lt;br/&gt;&amp;gt; From: Anthony Towns &amp;lt;aj at erisian.com.au&amp;gt;&lt;br/&gt;&amp;gt; Subject: Re: [bitcoin-dev] Packaged Transaction Relay&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Protocol cannot be defined on an ad-hoc basis as a &amp;#34;courtesy&amp;#34;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; BIPs are a courtesy in the first place.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; I suppose if you felt that you were the authority then this would&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; be your perspective.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; You seem to think that I&amp;#39;m arguing courtesy is not a good thing, or&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; that we couldn&amp;#39;t use more of it?&lt;br/&gt;&amp;gt; &amp;gt; That is neither what I said nor implied. You were clearly dismissing&lt;br/&gt;&amp;gt; &amp;gt; the public process, not advocating for politeness.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; And that is neither what I said nor implied, nor something I believe. If&lt;br/&gt;you&lt;br/&gt;&amp;gt; think courtesy is something that can be ignored in a public process, I&lt;br/&gt;don&amp;#39;t&lt;br/&gt;&amp;gt; think you should expect much success.&lt;br/&gt;&lt;br/&gt;&amp;#34;BIPs are a courtesy in the first place.&amp;#34;&lt;br/&gt;&lt;br/&gt;&amp;gt; If you&amp;#39;d like to actually participate in public standards development,&lt;br/&gt;please&lt;br/&gt;&amp;gt; feel free to make some technical comments on my proposals, or others, or&lt;br/&gt;&amp;gt; make your own proposal, either here or on github, or heck, anywhere else.&lt;br/&gt;&lt;br/&gt;&amp;#34;RE: [bitcoin-dev] Packaged Transaction Relay&amp;#34;&lt;br/&gt;&lt;br/&gt;&amp;gt; I mean, that&amp;#39;s what I&amp;#39;d suggest anyway; I&amp;#39;m not your boss. I promise to at&lt;br/&gt;&amp;gt; least be entertainingly surprised if you make any progress with your&lt;br/&gt;current&lt;br/&gt;&amp;gt; approach though.&lt;br/&gt;&lt;br/&gt;Grow up Anthony.&lt;br/&gt;&lt;br/&gt;e
    </content>
    <updated>2023-06-07T23:14:13Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs2w9un2jaq5nw6greryy3wtmhyxgdtzwmye9mluhchztnvcfyezqczyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vx9z8jrw</id>
    
      <title type="html">📅 Original date posted:2022-10-09 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs2w9un2jaq5nw6greryy3wtmhyxgdtzwmye9mluhchztnvcfyezqczyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vx9z8jrw" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswz5txuhq6kcq6kesj533qfdxg8cd2tt5vhhqtzf7r7dytkqn74ns26ykp5&#39;&gt;nevent1q…ykp5&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-10-09&lt;br/&gt;📝 Original message:On Sat, Oct 08, 2022, Anthony Towns via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Protocol cannot be defined on an ad-hoc basis as a &amp;#34;courtesy&amp;#34;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; BIPs are a courtesy in the first place.&lt;br/&gt;&amp;gt; &amp;gt; I suppose if you felt that you were the authority then this would be&lt;br/&gt;&amp;gt; &amp;gt; your perspective.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; You seem to think that I&amp;#39;m arguing courtesy is not a good thing, or that&lt;br/&gt;we&lt;br/&gt;&amp;gt; couldn&amp;#39;t use more of it?&lt;br/&gt;&lt;br/&gt;That is neither what I said nor implied. You were clearly dismissing the&lt;br/&gt;public process, not advocating for politeness.&lt;br/&gt;&lt;br/&gt;&amp;gt; &amp;gt; The BIP process was created by Amir specifically because Bitcoin&lt;br/&gt;&amp;gt; &amp;gt; standards were being discussed and developed behind closed doors.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; It definitely bothers me that Bitcoin development is not being discussed&lt;br/&gt;out&lt;br/&gt;&amp;gt; in the open as much as I would like, and to counter that, I try to&lt;br/&gt;encourage&lt;br/&gt;&amp;gt; people to post their ideas to this list, and write them up as a BIP; and&lt;br/&gt;likewise&lt;br/&gt;&amp;gt; try to do both myself as well.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; But how much value do you think anyone&amp;#39;s actually getting from posting&lt;br/&gt;their&lt;br/&gt;&amp;gt; development ideas to this list these days? Do you really think people&lt;br/&gt;reading&lt;br/&gt;&amp;gt; your mail will be more inspired to discuss their ideas in the open, or&lt;br/&gt;that&lt;br/&gt;&amp;gt; they&amp;#39;ll prefer to get in a room with their friends and allies, and close&lt;br/&gt;the&lt;br/&gt;&amp;gt; doors so they can work in peace?&lt;br/&gt;&lt;br/&gt;My comments have nothing to do with posting to this list.&lt;br/&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; There&amp;#39;s no central authority to enforce some particular way of doing&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; things.&lt;br/&gt;&amp;gt; &amp;gt; As if reaching consensus with other people implies a singular authority.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Reaching consensus with other people doesn&amp;#39;t require putting a document in&lt;br/&gt;&amp;gt; some particular github repo, either. Which is a good thing, or the people&lt;br/&gt;in&lt;br/&gt;&amp;gt; control of that repo would become that singular authority.&lt;br/&gt;&lt;br/&gt;It is the public process that the community has clearly established. It has&lt;br/&gt;been challenged at times, which anyone is free to do - creating their own if&lt;br/&gt;they feel it becomes necessary. There is certainly no such issue in this&lt;br/&gt;case, so it is not at all clear what you mean to imply here. Is this just a&lt;br/&gt;blanket rejection of community standards development, or is it that you feel&lt;br/&gt;this community is limited to &amp;#34;friends and allies&amp;#34;?&lt;br/&gt;&lt;br/&gt;Developers of Bitcoin Core have stated countless times that they consider&lt;br/&gt;Bitcoin Core to be the protocol documentation, implying that their internal&lt;br/&gt;process is the process of arriving at community consensus. What was that you&lt;br/&gt;said about &amp;#34;some particular github repo&amp;#34; becoming the &amp;#34;singular authority&amp;#34;?&lt;br/&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; If you think that the version restriction should be part of the BIP,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; why not do a pull request? The BIP is still marked as &amp;#34;Draft&amp;#34;.&lt;br/&gt;&amp;gt; &amp;gt; I did not implement and ship a deviation from the posted proposal.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; You think BIP 155 is suboptimal, and would rather see it changed, no?&lt;br/&gt;&lt;br/&gt;The Bitcoin Core developers who deployed the deviation apparently also&lt;br/&gt;thought the BIP was suboptimal. Whether I agree with the change isn&amp;#39;t&lt;br/&gt;relevant.&lt;br/&gt;&lt;br/&gt;&amp;gt; But if you won&amp;#39;t put any effort into changing it (and how much effort do&lt;br/&gt;you&lt;br/&gt;&amp;gt; think a PR to change it document it as being gated by version 70016 would&lt;br/&gt;&amp;gt; be?), why do you imagine the people who are happy with the BIP as it is&lt;br/&gt;&amp;gt; would put any effort in?&lt;br/&gt;&lt;br/&gt;Yes, that&amp;#39;s it. I&amp;#39;m lazy. It&amp;#39;s all about effort, not about the process&lt;br/&gt;which, by your own measure, the owners of a single repo aim to be the&lt;br/&gt;&amp;#34;singular authority&amp;#34;.&lt;br/&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; I doubt that anyone who&amp;#39;s worked with it is terribly fond of&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Bitcoin&amp;#39;s P2P  protocol versioning. I&amp;#39;ve spent some time on a&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; proposal to update it, though it hasn&amp;#39;t been a priority. If anyone&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; is interested in collaborating on it please contact me directly.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;#34;contact me directly&amp;#34; and wanting something other than standards &amp;#34;being&lt;br/&gt;&amp;gt; discussed and developed behind closed doors&amp;#34; seems quite contradictory to&lt;br/&gt;&amp;gt; me.&lt;br/&gt;&lt;br/&gt;It&amp;#39;s the public process that is at issue, and you of course know that -&lt;br/&gt;hence your varied attempts here to make it about something else.&lt;br/&gt;&lt;br/&gt;&amp;gt; &amp;gt; Your contributions notwithstanding, you are in no place to exhibit&lt;br/&gt;&amp;gt; &amp;gt; such arrogance.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I don&amp;#39;t understand what you think is arrogant about posting a public&lt;br/&gt;proposal&lt;br/&gt;&amp;gt; about how I think things should work, even if I had only put&lt;br/&gt;&amp;gt; 10 minutes thought into it. If that *is* arrogance, I guess I think we&lt;br/&gt;could use&lt;br/&gt;&amp;gt; more of it, as well as more courtesy...&lt;br/&gt;&lt;br/&gt;As if I was referring to this.&lt;br/&gt;&lt;br/&gt;&amp;#34;BIPs are a courtesy in the first place&amp;#34; says it all.&lt;br/&gt;&lt;br/&gt;Best,&lt;br/&gt;e
    </content>
    <updated>2023-06-07T23:14:12Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsq0v600h0advvzflz2y3jjscwe5sjxxfctv5ap07z528czwzmtwqqzyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxuv2nv0</id>
    
      <title type="html">📅 Original date posted:2022-10-08 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsq0v600h0advvzflz2y3jjscwe5sjxxfctv5ap07z528czwzmtwqqzyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxuv2nv0" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqpnj6h7nckaeg9t7mr50txusxgnhtkftdzw3rkrgxld8f4z8cnjcj0np25&#39;&gt;nevent1q…np25&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-10-08&lt;br/&gt;📝 Original message:&amp;gt; From: Anthony Towns &amp;lt;aj at erisian.com.au&amp;gt;&lt;br/&gt;&amp;gt; On Wed, Oct 05, 2022 at 09:32:29PM -0700, Eric Voskuil via bitcoin-dev&lt;br/&gt;wrote:&lt;br/&gt;&amp;gt; &amp;gt; Protocol cannot be defined on an ad-hoc basis as a &amp;#34;courtesy&amp;#34;&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; BIPs are a courtesy in the first place.&lt;br/&gt;&lt;br/&gt;I suppose if you felt that you were the authority then this would be your&lt;br/&gt;perspective. However in the case of community software development, open&lt;br/&gt;standards are a tool to preempt such centralization.&lt;br/&gt;&lt;br/&gt;The BIP process was created by Amir specifically because Bitcoin standards&lt;br/&gt;were being discussed and developed behind closed doors. That process was&lt;br/&gt;being funded almost entirely by a corporate consortium (the Bitcoin&lt;br/&gt;Foundation). It was also clear that one implementation leads directly to&lt;br/&gt;this type of authority complex, which is why he also started libbitcoin.&lt;br/&gt;It&amp;#39;s not surprising to learn that you feel this way, and it&amp;#39;s nice of you to&lt;br/&gt;share those thoughts publicly.&lt;br/&gt;&lt;br/&gt;&amp;gt; There&amp;#39;s no central authority to enforce some particular way of doing&lt;br/&gt;things.&lt;br/&gt;&lt;br/&gt;As if reaching consensus with other people implies a singular authority.&lt;br/&gt;&lt;br/&gt;&amp;gt; &amp;gt; - and it&amp;#39;s not exactly a courtesy to keep yourself from getting dropped&lt;br/&gt;by&lt;br/&gt;&amp;gt; peers. It is not clear to me why such a comment would be accepted instead&lt;br/&gt;&amp;gt; of specifying this properly.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; If you think that the version restriction should be part of the BIP, why&lt;br/&gt;not do&lt;br/&gt;&amp;gt; a pull request? The BIP is still marked as &amp;#34;Draft&amp;#34;.&lt;br/&gt;&lt;br/&gt;I did not implement and ship a deviation from the posted proposal. The&lt;br/&gt;developers who did so spent almost as much time writing a comment about the&lt;br/&gt;intentional deviation as they would have spent issuing a PR to the BIP.&lt;br/&gt;Presumably, given that years have passed, there has been enough time to&lt;br/&gt;correct that &amp;#34;mistake&amp;#34;. At this point there are at least 5 implementations&lt;br/&gt;operating on mainnet that are inconsistent with Core.&lt;br/&gt;&lt;br/&gt;&amp;gt; &amp;gt; I doubt that anyone who&amp;#39;s worked with it is terribly fond of Bitcoin&amp;#39;s&lt;br/&gt;P2P&lt;br/&gt;&amp;gt; protocol versioning. I&amp;#39;ve spent some time on a proposal to update it,&lt;br/&gt;though&lt;br/&gt;&amp;gt; it hasn&amp;#39;t been a priority. If anyone is interested in collaborating on it&lt;br/&gt;please&lt;br/&gt;&amp;gt; contact me directly.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Bottlenecking a proposal on someone who doesn&amp;#39;t see it as a priority&lt;br/&gt;doesn&amp;#39;t&lt;br/&gt;&amp;gt; seem smart?&lt;br/&gt;&lt;br/&gt;I didn&amp;#39;t realize I was holding you up. As far as I&amp;#39;ve been able to gather,&lt;br/&gt;it hasn&amp;#39;t been a priority for anyone. Yet somehow, on the same day that I&lt;br/&gt;posted the fact that I was working on it, it became your top priority.&lt;br/&gt;&lt;br/&gt;&amp;gt; Here&amp;#39;s what I think makes sense:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/ajtowns/bips/blob/202210-p2pfeatures/bip-&#34;&gt;https://github.com/ajtowns/bips/blob/202210-p2pfeatures/bip-&lt;/a&gt;&lt;br/&gt;&amp;gt; p2pfeatures.mediawiki&lt;br/&gt;&lt;br/&gt;Looks like you put about 10 minutes of thought into it. In your words, BIPs&lt;br/&gt;are a courtesy - feel free to do what you want.&lt;br/&gt;&lt;br/&gt;I&amp;#39;m well aware of your contributions to Bitcoin, but I find the arrogance&lt;br/&gt;off-putting. I have spent many years contributing to Bitcoin development and&lt;br/&gt;understanding, entirely on my own dime, even paying others to do so - as&lt;br/&gt;well as raising donations for them. I do this intentionally, not because&lt;br/&gt;I/we haven&amp;#39;t had offers. Many corporate and state-funded Bitcoin Core&lt;br/&gt;developers have repeatedly, aggressively, openly and self-servingly worked&lt;br/&gt;to put a stop to such community efforts. To them the BIP process is a&lt;br/&gt;&amp;#34;courtesy&amp;#34; - just sometimes documenting what they happen to be doing in the&lt;br/&gt;protocols. And without actual alternatives, that&amp;#39;s exactly what it is.&lt;br/&gt;&lt;br/&gt;So I&amp;#39;ll just leave you with this:&lt;br/&gt;&lt;br/&gt;&amp;#34;MIT Digital Currency Initiative (DCI) announces research collaboration with&lt;br/&gt;the Bank of England on central bank digital currency&lt;br/&gt;&lt;br/&gt;The Bank of England announced an agreement to collaborate on a twelve-month&lt;br/&gt;Central Bank Digital Currency (CBDC) research project with MIT Digital&lt;br/&gt;Currency Initiative. The agreement supports and builds on DCI&amp;#39;s ongoing&lt;br/&gt;research into CBDC, while also contributing to the Bank of England&amp;#39;s wider&lt;br/&gt;research and exploration of central bank digital currencies. While no&lt;br/&gt;decision has been made on whether or not to introduce a CBDC in the UK, the&lt;br/&gt;work will investigate and experiment with potential CBDC technology designs&lt;br/&gt;and approaches, and evaluate key tradeoffs, opportunities, and risks. This&lt;br/&gt;type of research can help inform wider policy development by contributing&lt;br/&gt;important technical ideas and questions. &lt;br/&gt;&lt;br/&gt;As part of OpenCBDC, DCI&amp;#39;s open-source codebase and research initiative, MIT&lt;br/&gt;DCI aims to fill this gap by engaging technologists, user researchers,&lt;br/&gt;central bankers, private sector leaders, and academics in service of a more&lt;br/&gt;accessible, trusted, fair, and resilient economy. We don&amp;#39;t yet know if or in&lt;br/&gt;what contexts CBDCs can help improve the broader international monetary&lt;br/&gt;system, or how they might be best designed to do so, but we believe engaging&lt;br/&gt;in technical research is an important step in answering these questions.&amp;#34;&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://dci.mit.edu/research/2022/3/31/mit-digital-currency-initiative-dci-a&#34;&gt;https://dci.mit.edu/research/2022/3/31/mit-digital-currency-initiative-dci-a&lt;/a&gt;&lt;br/&gt;nnounces-research-collaboration-with-the-bank-of-england-on-central-bank-dig&lt;br/&gt;ital-currency&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://ras.mit.edu/finding-funding/find-funding/federal-funding&#34;&gt;https://ras.mit.edu/finding-funding/find-funding/federal-funding&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://dci.mit.edu/anthony-aj-towns&#34;&gt;https://dci.mit.edu/anthony-aj-towns&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Some might call this a conflict of interest. A widespread community of&lt;br/&gt;independent implementations is not in the interest of those who both make&lt;br/&gt;and must comply with regulatory diktat.&lt;br/&gt;&lt;br/&gt;Then of course there&amp;#39;s this:&lt;br/&gt;&lt;br/&gt;&amp;#34;Joichi Ito, director of MIT&amp;#39;s Media Lab, resigned Saturday (Sept. 7 [2019])&lt;br/&gt;after The New Yorker published an investigation into his attempts to conceal&lt;br/&gt;financial contributions from pedophile Jeffrey Epstein. Although Ito&lt;br/&gt;stewarded MIT&amp;#39;s lab, his work and legacy in the crypto community have&lt;br/&gt;largely passed under the radar.&lt;br/&gt;&lt;br/&gt;Ito established the Digital Currency Initiative (DCI) at MIT, helping&lt;br/&gt;bitcoin survive some of its darkest days in 2015. That year, when the&lt;br/&gt;Bitcoin Foundation, a nonprofit dedicated to the cryptocurrency&amp;#39;s&lt;br/&gt;development faced &amp;#34;funding constraints,&amp;#34; the DCI welcomed bitcoin core&lt;br/&gt;developers Gavin Andresen, Cory Fields, and Wladimir van der Laan in&lt;br/&gt;full-time roles.&amp;#34;&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://qz.com/1704325/revisiting-mits-digital-currency-initiative-after-joi&#34;&gt;https://qz.com/1704325/revisiting-mits-digital-currency-initiative-after-joi&lt;/a&gt;&lt;br/&gt;-ito-epstein/&lt;br/&gt;&lt;br/&gt;DCI jumps in to &amp;#34;help Bitcoin survive some of its darkest days&amp;#34;. What&lt;br/&gt;exactly was dark about these days apart from the fact that this corporate&lt;br/&gt;consortium fell apart? It fell apart due to widespread community rejection -&lt;br/&gt;initially driven by Amir. What fell apart was the attempt at corporate&lt;br/&gt;influence/control, with development largely driven by Gavin and Mike Hearn&lt;br/&gt;on the payroll - both of whom eventually disgraced themselves.&lt;br/&gt;&lt;br/&gt;Your contributions notwithstanding, you are in no place to exhibit such&lt;br/&gt;arrogance.&lt;br/&gt;&lt;br/&gt;Best,&lt;br/&gt;e&lt;br/&gt;&lt;br/&gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt; aj
    </content>
    <updated>2023-06-07T23:14:11Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsyxtw5zljkjap8s9put4qnwgurkaes3hl8uldla93844504m5ls0szyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxg9ay7g</id>
    
      <title type="html">📅 Original date posted:2022-10-06 📝 Original ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsyxtw5zljkjap8s9put4qnwgurkaes3hl8uldla93844504m5ls0szyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxg9ay7g" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8hhn4x0qmp40700fgj08f0rmkac9jhmaqv6tcrrja87xrej58p9qnat3g8&#39;&gt;nevent1q…t3g8&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-10-06&lt;br/&gt;📝 Original message:&amp;gt;&amp;gt; ...sendaddrv2 messages are only sent to nodes advertising version 70016 or later (same as wtxidrelay)&lt;br/&gt;&lt;br/&gt;&amp;gt; I don’t see this constraint in BIP155. Do you mean that addrv2 support was&lt;br/&gt;&amp;gt; released in Core at the same time as wtxidrelay, or that it is an&lt;br/&gt;&amp;gt; undocumented version constraint implemented in Core?&lt;br/&gt;&lt;br/&gt;I see that it is the latter:&lt;br/&gt;&lt;br/&gt;// BIP155 defines addrv2 and sendaddrv2 for all protocol versions, but some&lt;br/&gt;// implementations reject messages they don&amp;#39;t know. As a courtesy, don&amp;#39;t send&lt;br/&gt;// it to nodes with a version before 70016, as no software is known to support&lt;br/&gt;// BIP155 that doesn&amp;#39;t announce at least that protocol version number.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/20564/files#diff-6875de769e90cec84d2e8a9c1b962cdbcda44d870d42e4215827e599e11e90e3R2366-R2370&#34;&gt;https://github.com/bitcoin/bitcoin/pull/20564/files#diff-6875de769e90cec84d2e8a9c1b962cdbcda44d870d42e4215827e599e11e90e3R2366-R2370&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;The version string in the log message I posted implies it may not be a Core release. Yet it is BIP155 compliant.&lt;br/&gt;&lt;br/&gt;Protocol cannot be defined on an ad-hoc basis as a &amp;#34;courtesy&amp;#34; - and it&amp;#39;s not exactly a courtesy to keep yourself from getting dropped by peers. It is not clear to me why such a comment would be accepted instead of specifying this properly. A new protocol cannot define a message for &amp;#34;all versions&amp;#34;, it can only assume that older versions will disregard all unknown message traffic - or that implementers will patch it in this ad-hoc matter.&lt;br/&gt;&lt;br/&gt;I would suggest that authors update BIP155 and BIP330 (both still in Draft status), as well any pending proposals that may have picked up this pattern from BIP155.&lt;br/&gt;&lt;br/&gt;I doubt that anyone who&amp;#39;s worked with it is terribly fond of Bitcoin&amp;#39;s P2P protocol versioning. I&amp;#39;ve spent some time on a proposal to update it, though it hasn&amp;#39;t been a priority. If anyone is interested in collaborating on it please contact me directly.&lt;br/&gt;&lt;br/&gt;e
    </content>
    <updated>2023-06-07T23:14:10Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs9e9aux83jcy7mc4xxf6kv6cs977eep46jwgzcp4fwf36mvkukk7szyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxue6t0q</id>
    
      <title type="html">📅 Original date posted:2022-10-04 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs9e9aux83jcy7mc4xxf6kv6cs977eep46jwgzcp4fwf36mvkukk7szyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxue6t0q" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsy0pp7hxmexdewkkhft4ae47p029c5vhs87k2khsd5k7utcxgfjcquvf0rx&#39;&gt;nevent1q…f0rx&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-10-04&lt;br/&gt;📝 Original message:&amp;gt; Hi,&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Thanks for sharing your thoughts on packaged transaction relay.&lt;br/&gt;&lt;br/&gt;Hello, thanks for the reply.&lt;br/&gt;&lt;br/&gt;&amp;gt;&amp;gt; The sole objective, as expressed in the OP proposal, is to:&lt;br/&gt;&amp;gt;&amp;gt; &amp;#34;Propagate transactions that are incentive-compatible to mine, even&lt;br/&gt;&amp;gt;&amp;gt; if they don&amp;#39;t meet minimum feerate alone.&amp;#34;&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I actually do think there are additional goals we should include in any protocol&lt;br/&gt;&amp;gt; change involving transaction relay, such as ensuring that we minimize&lt;br/&gt;&amp;gt; bandwidth waste as much as possible (as I mentioned in a previous message&lt;br/&gt;&amp;gt; in this thread).&lt;br/&gt;&lt;br/&gt;Yes - there is always the presumption of an optimally-performing protocol (not limited to bandwidth), this is just a restatement from the OP.&lt;br/&gt;&lt;br/&gt;The OP fails to eliminate orphan announcement, fails to prevent packages with insufficient fee from getting stuck in the same manner as txs (without explicitly re-announcing them again in an even larger package of higher feerate), and results in orphaned package announcements for the same reason (a static package is effectively just a larger tx).&lt;br/&gt;&lt;br/&gt;Due to the resulting orphaning, a node must allow its peer to continue to broadcast unverifiable orphans to it, potentially chasing ancestry. So in addition to bandwidth waste, there is also an inherent problem of bandwidth DOS. These are problems specifically addressed by packaged relay.&lt;br/&gt;&lt;br/&gt;[Regarding bandwidth waste: I&amp;#39;ve pointed out in years past that breaking the Bitcoin versioning scheme creates a requirement that any unknown message type be considered valid. Up until a recently-deployed protocol change, it had always been possible to validate messages by type. I noticed recently that validating nodes have been dropping peers at an increasing rate (a consequence of that deployment). Despite being an undocumented compatibility break, it is now unfortunately a matter of protocol that a peer must allow its peers to waste its bandwidth to remain compatible - something which we should eliminate.]&lt;br/&gt;&lt;br/&gt;&amp;gt; While I understand your proposal seeks to improve on an idea of static&lt;br/&gt;&amp;gt; packages in favor of dynamic package construction based on knowledge a&lt;br/&gt;&amp;gt; node should have of its peers, I think the main drawback of your proposal is&lt;br/&gt;&amp;gt; that it doesn&amp;#39;t take into account the complexities of what a peer&amp;#39;s &amp;#34;minimum&lt;br/&gt;&amp;gt; feerate&amp;#34; might mean. The consequence of this is that it&amp;#39;s not generally&lt;br/&gt;&amp;gt; possible for a node to accurately guess whether a given transaction should&lt;br/&gt;&amp;gt; be sent in a package to a given peer, or not, and so in addition to any&lt;br/&gt;&amp;gt; &amp;#34;packaged transaction relay&amp;#34; mechanism that is implemented by a&lt;br/&gt;&amp;gt; transaction announcer, we&amp;#39;d still need to add protocol support for a receiving&lt;br/&gt;&amp;gt; peer to retrieve a package as well.&lt;br/&gt;&lt;br/&gt;It is certainly possible that there is ambiguity in BIP133 (and BIPs that modify it). However it&amp;#39;s not clear to me which such ambiguity you are referring to. There is no guessing proposed.&lt;br/&gt;&lt;br/&gt;&amp;gt; First of all, a node&amp;#39;s feerate is a dynamic value.  BIP 133 allows for nodes to&lt;br/&gt;&amp;gt; send feefilter messages at any time during the lifetime of a peer connection.&lt;br/&gt;&amp;gt; If we were to compare the feerate of ancestors of a relayed transaction to&lt;br/&gt;&amp;gt; the feerate in place at a peer as indicated by feefilter messages, and use that&lt;br/&gt;&amp;gt; determine whether those ancestors would have been successfully relayed or&lt;br/&gt;&amp;gt; not, then doing so accurately would seem to require caching relay success for&lt;br/&gt;&amp;gt; each transaction, for each peer, at the time such transaction is relayed (or&lt;br/&gt;&amp;gt; perhaps caching feefilter values that are received from a peer?).  This seems&lt;br/&gt;&amp;gt; likely to be undesirable,&lt;br/&gt;&lt;br/&gt;This is a possible implementation. What makes it undesirable?&lt;br/&gt;&lt;br/&gt;&amp;gt; and, at any rate, is more complex than merely comparing a pair of feerates.&lt;br/&gt;&lt;br/&gt;There are no necessary protocol changes (though a new INV type is ideal), so the relative complexity you are implying could only arise from implementation. While implementation considerations are relevant, achieving simplicity in the protocol is presumably the priority. Further, implementation complexity must be considered from what is necessary to actually achieve the objectives, and not from the perspective of any given implementation.&lt;br/&gt;&lt;br/&gt;Merely comparing a pair of feerates produces the problems described above, which includes not resolving the central problem, so this is an apples-to-oranges comparison. It&amp;#39;s also more complex than doing nothing, but that also doesn&amp;#39;t resolve the problem.&lt;br/&gt;&lt;br/&gt;&amp;gt; But even more fundamental than feerates being dynamic is that feerate&lt;br/&gt;&amp;gt; itself is not a well-defined concept when applied to arbitrary transaction&lt;br/&gt;&amp;gt; (sub-)graphs, and this is at the crux of the difficulty in coming up with&lt;br/&gt;&amp;gt; proposals that would meet the objective of ensuring that transactions which&lt;br/&gt;&amp;gt; are incentive-compatible to mine all get relayed successfully across the&lt;br/&gt;&amp;gt; network.  Here are a couple examples that illustrate this:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; - Let A be a low feerate transaction (below any peer&amp;#39;s minimum feerate).  Let&lt;br/&gt;&amp;gt; B and C be descendants of A (but are otherwise unrelated).  Suppose these&lt;br/&gt;&amp;gt; transactions are relayed to a node in the order A, B, C.  In the algorithm you&lt;br/&gt;&amp;gt; proposed, I believe the determination for whether C should be announced&lt;br/&gt;&amp;gt; to a given peer as a package (A, C) or as a singleton would either (1) depend&lt;br/&gt;&amp;gt; on whether the package (A, B) was sufficient to meet the peer&amp;#39;s feerate,&lt;br/&gt;&lt;br/&gt;Yes&lt;br/&gt;&lt;br/&gt;&amp;gt; or (2) waste bandwidth by engaging in packaged relay whenever A was already&lt;br/&gt;&amp;gt; successfully relayed as part of a package.  Both of these approaches seem&lt;br/&gt;&amp;gt; undesirable.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; - Let A be a high fee, but low feerate transaction.&lt;br/&gt;&lt;br/&gt;Low feerate means low fee (as high/low can only be relative to size), it&amp;#39;s not clear how these can both be true.&lt;br/&gt;&lt;br/&gt;&amp;gt;  Suppose B is a transaction&lt;br/&gt;&amp;gt; that conflicts with A, has a high feerate, but lower total fee.  In this situation,&lt;br/&gt;&amp;gt; two different nodes that learned of these two transactions in opposite order&lt;br/&gt;&amp;gt; [(A, B) vs (B, A)] might be expected to have differing mempools -- this at&lt;br/&gt;&amp;gt; least would be the case in the BIP 125 algorithm (which requires that both&lt;br/&gt;&amp;gt; feerate and total fee must increase when replacing an existing transaction),&lt;br/&gt;&lt;br/&gt;As a node knows which txs it has relayed to its peer, order of arrival is inconsequential.&lt;br/&gt;&lt;br/&gt;&amp;gt; and at any rate it&amp;#39;s not obvious from the information given which would be&lt;br/&gt;&amp;gt; more optimal to include in a block, as that depends on factors that go beyond&lt;br/&gt;&amp;gt; just these two transactions. &lt;br/&gt;&lt;br/&gt;Block inclusion in not pertinent, either may be included.&lt;br/&gt;&lt;br/&gt;&amp;gt; Suppose further that a new transaction C is&lt;br/&gt;&amp;gt; relayed on the network, which is a child of B and very high feerate, such that&lt;br/&gt;&amp;gt; B &#43; C have higher fee and higher feerate than A, when taken together.  In&lt;br/&gt;&amp;gt; this case we&amp;#39;d want our relay protocol to ensure that even nodes which saw&lt;br/&gt;&amp;gt; A first should still have a chance to consider transaction C, but the packaging&lt;br/&gt;&amp;gt; design you propose (which would compare transaction B&amp;#39;s feerate to the&lt;br/&gt;&amp;gt; peer&amp;#39;s, and conclude packaging is unnecessary because B&amp;#39;s feerate might&lt;br/&gt;&amp;gt; already exceed the peer&amp;#39;s feerate) would not facilitate this.&lt;br/&gt;&lt;br/&gt;Given that A and B are conflicts, A and B&#43;C are conflicts. This is no different than the original conflict of A and B, and decided based on the required BIP125 fee increment. If A arrives first, B must be an increment over A, and vice versa. Upon the arrival of C, given prior acceptance of both A and B, B&#43;C must be an increment over A, as the conflict arises from A/B.&lt;br/&gt;&lt;br/&gt;&amp;gt; To summarize, the point I&amp;#39;d make from these examples is that we should not&lt;br/&gt;&amp;gt; expect that &amp;#34;feerate&amp;#34; (whatever that means) alone will be a sufficient&lt;br/&gt;&amp;gt; predictor of what is in our peer&amp;#39;s mempools.&lt;br/&gt;&lt;br/&gt;Predicting a peer&amp;#39;s set of confirmable transactions (&amp;#34;mempool&amp;#34;) is not the objective or a requirement. As far as I can tell it is sufficient to achieve requirements to the extent there are no unpublished policies.&lt;br/&gt;&lt;br/&gt;Upon startup and connection to a peer, a node may have an empty mempool. In this case there will be no orphan or redundant announcements from the peer.&lt;br/&gt;&lt;br/&gt;A node with a populated mempool may connect to a peer. In that case the peer will receive announcements from the peer for txs which it may already have. This will also occur due to multiple peer connections. Redundancy is not within the scope of this or the OP proposals (there are other proposals for limiting this redundancy in both scenarios to the extent desirable).&lt;br/&gt;&lt;br/&gt;Once a node has been connected to the network for some amount of time, there will be no orphans or connection-specific redundancies announced to it. This provides a basis for the node to drop non-conforming peers (that support packaged relay), improving protection against bandwidth-wasting peers.&lt;br/&gt;&lt;br/&gt;Any node which implements unpublished policies can expect to receive orphan announcements. This raises the question of whether the protocol should incorporate a facility for such a node to chase down orphans in the case where it is orphaning them by deleting their ancestors, even though it publishes that it accepts them based on feerate/rbf. This would imply that there is some other discretionary aspect of transactions that, as a matter of protocol, should be considered for relay.&lt;br/&gt;&lt;br/&gt;Any such aspect internal to a tx would be economically-irrational to consider (which includes censorship), in which case it would seem preferrable to let such nodes simply accept the fact that they are creating orphans for themselves.&lt;br/&gt;&lt;br/&gt;Any such aspect external to the tx would also be economically-irrational (mining wants the greatest possible fee opportunity), but may be a consequence of resource limitations. Storing confirmable txs in RAM constrains such resources by orders of magnitude, and an assumption that an implementation must do this would be an error (some do not). Yet storage remains finite, so this remains a possible though marginal consideration given the presumption that all accepted txs are both confirmable and satisfy feerate/rbf policy. In the case where a node is discarding previously accepted and yet-unconfirmed txs, the node accepts the possibility that this will result in it receiving orphan announcements.&lt;br/&gt;&lt;br/&gt;The rational way to reduce the size of the mempool is to raise the published feerate, discarding txs that no longer conform. While this was not specifically described in the fairly informal proposal, the receipt of a reduced peer feerate message can cause a node to update its state for that peer, eliminating the possibility of orphan announcements to it.&lt;br/&gt;&lt;br/&gt;&amp;gt;  So while there may be some&lt;br/&gt;&amp;gt; situations where a transaction relayer might be able to usefully package up a&lt;br/&gt;&amp;gt; transaction with its dependencies (perhaps in narrowly defined situations),&lt;br/&gt;&amp;gt; there will also always be situations where this isn&amp;#39;t possible, and what I&lt;br/&gt;&amp;gt; conclude from that is that it should be helpful to add to the protocol some&lt;br/&gt;&amp;gt; way for the recipient of a transaction to request the dependencies directly.&lt;br/&gt;&lt;br/&gt;I don&amp;#39;t think this has been shown, but finding such issues is of course why we discuss it.&lt;br/&gt;&lt;br/&gt;&amp;gt; Taken together, I roughly understand Gloria&amp;#39;s efforts here to be a&lt;br/&gt;&amp;gt; combination of these two approaches: add some amount of packaged&lt;br/&gt;&amp;gt; transaction relay for simple cases (ie where the transaction graph has been&lt;br/&gt;&amp;gt; sufficiently narrowed, to minimize bandwidth waste while reducing latency),&lt;br/&gt;&amp;gt; and also allow for a fallback mechanism where the recipient of a transaction&lt;br/&gt;&amp;gt; can efficiently retrieve dependencies.  There seems to be a tradeoff&lt;br/&gt;&amp;gt; involving latency, bandwidth, and robustness of these two approaches (and&lt;br/&gt;&amp;gt; maybe also implementation complexity), so I think it&amp;#39;s natural to expect that&lt;br/&gt;&amp;gt; it will take some discussion and understanding of what practices are common&lt;br/&gt;&amp;gt; on the network and what behaviors wallet or other software might adopt,&lt;br/&gt;&amp;gt; given potential protocol changes, to figure out how best to balance these&lt;br/&gt;&amp;gt; ideas.&lt;br/&gt;&lt;br/&gt;The problems that I see with static packaging are:&lt;br/&gt;&lt;br/&gt;1) Does not fully resolve the problem - a static package itself can get stuck for the same reason as a tx.&lt;br/&gt;2) Requires wallet formation of a static packages - to resolve what is fundamentally a network issue.&lt;br/&gt;3) Adds a complex new protocol to achieve what can be accomplished with almost no protocol change.&lt;br/&gt;4) Is not bandwidth optimal, as it continues to relay/chase orphans (singular and packaged).&lt;br/&gt;5) Is not DOS optimal, as it requires allowance for orphans and redundancies.&lt;br/&gt;&lt;br/&gt;Regarding complexity - searching and marking a DAG is basic CS, and there isn&amp;#39;t much else to the necessary implementation. There are no new messages, just a version bump and a preferably a new INV type. In terms of performance and therefore any possible increase to relay latency, this is easily measured in terms of complexity. Whether this would be a latency increase or decrease in relation to the OP is unclear.&lt;br/&gt;&lt;br/&gt;The complexity of the search for is linear in the size of the mempool subgraph (1) induced by the traversal of ancestors from the potential package&amp;#39;s last tx, and (2) reduced by the set of txs known to the peer. (2) includes both txs sent to and received from the peer. This would appear to be a marginal cost.&lt;br/&gt;&lt;br/&gt;A draft of the search algorithm is available here:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://github.com/libbitcoin/libbitcoin-network/wiki/Iterative-Channel-Package-Computation&#34;&gt;https://github.com/libbitcoin/libbitcoin-network/wiki/Iterative-Channel-Package-Computation&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Best,&lt;br/&gt;e
    </content>
    <updated>2023-06-07T23:14:09Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs03jtcq963wtyayj0vkch7taljuemespvjrlqas6xjhyxfh7mtqhszyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vx97pfcc</id>
    
      <title type="html">📅 Original date posted:2022-09-26 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs03jtcq963wtyayj0vkch7taljuemespvjrlqas6xjhyxfh7mtqhszyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vx97pfcc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsd3qysvu58v79nm0mcp3mgly6ssezr9307aq7tkj0mg8xkezspl0qzhgp60&#39;&gt;nevent1q…gp60&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-09-26&lt;br/&gt;📝 Original message:&amp;gt; Hi Eric,&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; This email wasn&amp;#39;t answered by anyone on mailing list however I did some&lt;br/&gt;&amp;gt; research about packages yesterday including this email and below are my&lt;br/&gt;&amp;gt; observations, questions etc.&lt;br/&gt;&lt;br/&gt;Hello, thanks for the reply.&lt;br/&gt;&lt;br/&gt;&amp;gt; &amp;gt; The sole objective, as expressed in the OP proposal, is to:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;#34;Propagate transactions that are incentive-compatible to mine, even if they&lt;br/&gt;&amp;gt; don&amp;#39;t meet minimum feerate alone.&amp;#34;&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; According to [bitcoinops][1]: Without package relay, it’s not possible to&lt;br/&gt;&amp;gt; effectively CPFP fee bump a transaction that’s below the minimum feerate&lt;br/&gt;&amp;gt; nodes accept.&lt;br/&gt;&lt;br/&gt;Yes, the problem statement is not in question, just the mechanism of resolution. The problem of stuck txs arises from minimum fee rate policy, which is a necessary DOS guard.&lt;br/&gt;&lt;br/&gt;A secondary issue is that of orphan relay. As a node must allow receipt of orphans, it has no means to differentiate a flood of unconfirmable txs from those that are confirmable.&lt;br/&gt;&lt;br/&gt;&amp;gt; Matt Corallo&amp;#39;s thoughts in a bitcoin core [issue][2]:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;#34;Matt Corallo recently wrote about an example on the bitcoin-dev mailing list&lt;br/&gt;&amp;gt; involving lightning transactions, where pre-signed transactions might be&lt;br/&gt;&amp;gt; broadcast to the blockchain long after they were generated, and thus not&lt;br/&gt;&amp;gt; have been created with a fee that is sufficient to be confirmed quickly (or&lt;br/&gt;&amp;gt; even be accepted to node mempools). In such situations, channel&lt;br/&gt;&amp;gt; participants may need to use chained transactions (CPFP) in order to increase&lt;br/&gt;&amp;gt; the confirmation speed of such transactions, and that implies we may need&lt;br/&gt;&amp;gt; to introduce a mechanism for those parent transactions to be relayed along&lt;br/&gt;&amp;gt; with their higher feerate children, even if the parent transaction would be&lt;br/&gt;&amp;gt; rejected by itself.&amp;#34;&lt;br/&gt;&lt;br/&gt;While this is a valid scenario, the problems directly affect Bitcoin. Those problems propagate to layers, but are not unique to layering.&lt;br/&gt;&lt;br/&gt;&amp;gt; 1)Is it possible to have multiple pre-signed transactions with different fee&lt;br/&gt;&amp;gt; rates in a range? Example: PSBT1: 5 sat/vbyte, PSBT2: 10 sat/vbyte, PSBT3: 20&lt;br/&gt;&amp;gt; sat/vbyte and PSBT4: 100 sat/vbyte&lt;br/&gt;&lt;br/&gt;If by &amp;#34;range&amp;#34; you mean a connected tx subgraph, I don&amp;#39;t see why not. But note that nodes only operate over signed txs. PSBT is a wallet workflow.&lt;br/&gt;&lt;br/&gt;&amp;gt; 2)How would covenants affect this problem?&lt;br/&gt;&lt;br/&gt;There are a good number of covenant proposals, though I assume they are all implemented within script. If a tx is confirmable and satisfies fee rate (for DOS protection), it is relayable. Covenants affect confirmability and should not have any unique impact on relay.&lt;br/&gt;&lt;br/&gt;&amp;gt; 3)How often does it happen that a pre-signed tx gets rejected by nodes&lt;br/&gt;&amp;gt; because it did not meet the minimum fee rate? Is it predictable and could be&lt;br/&gt;&amp;gt; managed in a different way?&lt;br/&gt;&lt;br/&gt;Always. Only signed transactions are accepted. But assuming you are referring to a transaction that has been produced by a pre-signing workflow, I&amp;#39;m not sure how this would be distinct from any other tx.&lt;br/&gt;&lt;br/&gt;&amp;gt; After reading several links related to packages and bitcoin core pull requests,&lt;br/&gt;&amp;gt; I found it anti-bitcoin to introduce so much complexity because its not&lt;br/&gt;&amp;gt; possible to CPFP fee bump a tx below minimum fee rate.&lt;br/&gt;&lt;br/&gt;I&amp;#39;m not sure I follow this, maybe you could reword it. But it seems that you are saying that CPFP fee-bumping is a problem scenario and the complexity of the proposed solutions are not justified by such scenarios.&lt;br/&gt;&lt;br/&gt;I would say that the problem is real, and that the least complex option is generally preferred. There are always tradeoffs, and balancing these is part of protocol development. But as a rule, complexity within a protocol (communication) is to be avoided where possible.&lt;br/&gt;&lt;br/&gt;&amp;gt; &amp;gt; Furthermore any tx that is &amp;#34;stuck&amp;#34; can be freed by simply sending another&lt;br/&gt;&amp;gt; tx. The nodes at which the tx has become stuck will just package it up and&lt;br/&gt;&amp;gt; relay it to peers. In other words, there is no impact on wallet implementation&lt;br/&gt;&amp;gt; apart from raising the aggregate fee using a descendant transaction.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; It is easy to send another tx if there is only one user involved however&lt;br/&gt;&amp;gt; packages are trying to fix issues in which multiple users and transaction pre-&lt;br/&gt;&amp;gt; signed between them are involved. So, it will be difficult to coordinate and&lt;br/&gt;&amp;gt; create new pre-signed transactions in some cases although it is possible for&lt;br/&gt;&amp;gt; some use cases.&lt;br/&gt;&lt;br/&gt;Given that nodes do not deal in presigned txs, this coordination difficulty could not be increased in any scenario.&lt;br/&gt;&lt;br/&gt;A node produces sets of txs (&amp;#34;packages&amp;#34;) dynamically to satisfy its peer&amp;#39;s feerate. When a wallet broadcasts a tx/package to a node, it is operating as a peer on the p2p network. The wallet simply implements the same dynamic packaging algorithm as any peer - because it is a peer. &lt;br/&gt;&lt;br/&gt;&amp;gt; &amp;gt; This is barely a protocol change - it&amp;#39;s primarily implementation. All that&lt;br/&gt;&amp;gt; should be required is an additional INV element type, such as&lt;br/&gt;&amp;gt; MSG_TX_PACKAGE.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; * All elements of MSG_TX_PACKAGE in one INV message MUST to be of&lt;br/&gt;&amp;gt; the same package.&lt;br/&gt;&amp;gt; &amp;gt; * A package MUST must define a set that can be mined into one block&lt;br/&gt;&amp;gt; (size/sigops constraint).&lt;br/&gt;&amp;gt; &amp;gt; * A package SHOULD not contain confirmed txs (a race may cause this).&lt;br/&gt;&amp;gt; &amp;gt; * A package MUST minimally satisfy peer.feerate.&lt;br/&gt;&amp;gt; &amp;gt; * A partial tx order, as in the manner of the block.txs ordering, MUST be&lt;br/&gt;&amp;gt; imposed.&lt;br/&gt;&amp;gt; &amp;gt; * A node SHOULD drop a peer that sends a package (or tx) below&lt;br/&gt;&amp;gt; node.feerate.&lt;br/&gt;&amp;gt; &amp;gt; * A node MAY drop a peer that sends a non-minimal package according to&lt;br/&gt;&amp;gt; node.feerate.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; This makes sense particularly if multiple node implementations are used in&lt;br/&gt;&amp;gt; future.&lt;br/&gt;&lt;br/&gt;There are many node implementations used presently. And of course these are protocol proposals, which presumes more than one implementation.&lt;br/&gt;&lt;br/&gt;&amp;gt; My other questions:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; a)If a package has tx1, tx2, tx3, tx4 and tx5 and miner just include tx1 and tx2&lt;br/&gt;&amp;gt; in the block, how does this affect the projects considered for packages&lt;br/&gt;&amp;gt; proposal?&lt;br/&gt;&lt;br/&gt;I will leave that to authors of such proposals to answer. However in what I have proposed it just means tx3/4/5 get considered for subsequent block inclusion to the extent that fee rate policy is satisfied.&lt;br/&gt;&lt;br/&gt;One of the several problems with static construction of packages is that they can still get stuck by fee rate policy. This is just kicking the can down the road while complicating the protocol.&lt;br/&gt;&lt;br/&gt;&amp;gt; b)How does changing the order of txs in a package affect these transactions?&lt;br/&gt;&lt;br/&gt;There is no impact. I proposed the partial ordering to facilitate fail fast.&lt;br/&gt;&lt;br/&gt;The partial ordering in block txs is unnecessary (given the PoW DOS guard). This is a consequence of the order imposed by Satoshi&amp;#39;s implementation and only serves to slow validation (order constrains concurrency).&lt;br/&gt;&lt;br/&gt;&amp;gt; c)Do packages introduce more attack vectors in bitcoin for front running or&lt;br/&gt;&amp;gt; MEV? MEV in bitcoin currently only affects the projects that are considered&lt;br/&gt;&amp;gt; in packages proposal.&lt;br/&gt;&lt;br/&gt;I don&amp;#39;t consider this relevant to any protocol considerations. Miners should always be expected to select the most optimal set of txs available in the time available to do so.&lt;br/&gt;&lt;br/&gt;&amp;gt; d)What if the package contains a transactions with sanctioned address?&lt;br/&gt;&lt;br/&gt;One can consider this a policy, much like fee rate. Any policy that is applied to transactions and not known to its peers will result in the node receiving orphans. As such the node either must allow orphans or drop peers sending orphans under the assumption that the peer is expected to have implemented the same policy.&lt;br/&gt;&lt;br/&gt;&amp;gt; e)Why would miners use packages if the existing scenario in terms of fees&lt;br/&gt;&amp;gt; per block is beneficial for them?&lt;br/&gt;&lt;br/&gt;The presumption is that the miner is only ever seeing txs that satisfy its fee rate policy, so this is just more opportunity.&lt;br/&gt;&lt;br/&gt;I&amp;#39;d add that the problem of &amp;#34;pinning&amp;#34; is related, but exacerbated by opaque policy (internal to certain implementations). Any node that ejects txs from its pool of valid but unconfirmed txs that satisfy fee rate policy is going to see orphans and going to cause txs to get stuck. This is one of the many problems with placing an arbitrary bound on the size of this pool.&lt;br/&gt;&lt;br/&gt;A subset of this problem is RBF policy. It is nice to see some movement toward generalizing RBF. The term is really a misnomer. Conflicting txs and subgraphs of txs are only problematic in the case of DOS, which is also resolved through advertised fee policy. Any node that imposes policy beyond this will also see orphans and cause txs to get stuck.&lt;br/&gt;&lt;br/&gt;The scenario and therefore complexity consequences of an implementation-specific memory-constrained tx pool are becoming increasingly apparent. These are implementation issues, not protocol issues. This can be observed in a recent thread: &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-September/020937.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-September/020937.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Over time we are likely to see that the only policies that remain in widespread application are those that are necessary for DOS protection (fee rate), as other restrictions are not economically rational and cannot be enforced. We&amp;#39;ve seen recent debate regarding dust policy, and op_return policy. &amp;#34;non-standard&amp;#34; txs are perfectly valid but get stuck very easily. I&amp;#39;ll reiterate, any policy beyond what is published via the protocol will cause the above problems.&lt;br/&gt;&lt;br/&gt;e&lt;br/&gt;&lt;br/&gt;&amp;gt; /dev/fd0&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; [1]: &lt;a href=&#34;https://bitcoinops.org/en/topics/package-relay/&#34;&gt;https://bitcoinops.org/en/topics/package-relay/&lt;/a&gt;&lt;br/&gt;&amp;gt; [2]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/issues/14895&#34;&gt;https://github.com/bitcoin/bitcoin/issues/14895&lt;/a&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 Thursday, June 9th, 2022 at 4:13 AM, Eric Voskuil via bitcoin-dev &amp;lt;bitcoin-&lt;br/&gt;&amp;gt; dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Hi Suhas/Gloria,&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Good questions. I&amp;#39;ve started a new thread because it became something&lt;br/&gt;&amp;gt; else...&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Various ideas about packaging seem to be focused on the idea of an atomic&lt;br/&gt;&amp;gt; message that is gossiped around the network like a transaction or block.&lt;br/&gt;&amp;gt; From my perspective that seems to create a set of problems without good&lt;br/&gt;&amp;gt; solutions, and it is not a proper analogy to those atomic structures. It may be&lt;br/&gt;&amp;gt; worth taking the time to step back and take a close look at the underlying&lt;br/&gt;&amp;gt; objective.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; The sole objective, as expressed in the OP proposal, is to:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;#34;Propagate transactions that are incentive-compatible to mine, even if they&lt;br/&gt;&amp;gt; don&amp;#39;t meet minimum feerate alone.&amp;#34;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Effectively producing this outcome with an atomic packaging approach&lt;br/&gt;&amp;gt; while at the same time maintaining network invariants seems unlikely, if not&lt;br/&gt;&amp;gt; impossible.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Fees:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; A node knows what fee rate a peer will accept, and announces individual&lt;br/&gt;&amp;gt; txs that satisfy peer.feerate. Similarly a node knows its own feerate, and&lt;br/&gt;&amp;gt; SHOULD drop any peer that announces txs that do not satisfy node.feerate.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Orphans:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; A node MAY drop a peer that announces txs that the node sees as orphans&lt;br/&gt;&amp;gt; against its DAG. It SHOULD drop the orphan tx and MAY request missing&lt;br/&gt;&amp;gt; ancestors. Presumably after some amount of time connected to peer, node&lt;br/&gt;&amp;gt; does not expect to see any more orphans from that peer, so these choices&lt;br/&gt;&amp;gt; could evolve with the channel. However, the design that can only consider&lt;br/&gt;&amp;gt; each tx in isolation will continue to cause orphan announcements on the&lt;br/&gt;&amp;gt; channel. A below peer.feerate tx does not get announced to peer, and later&lt;br/&gt;&amp;gt; a descendant high peer.feerate does get announced to the peer - as an&lt;br/&gt;&amp;gt; orphan.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; BIP133 (feefilter):&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;#34;There could be a small number of edge cases where a node&amp;#39;s mempool&lt;br/&gt;&amp;gt; min fee is actually less than the filter value a peer is aware of and&lt;br/&gt;&amp;gt; transactions with fee rates between these values will now be newly&lt;br/&gt;&amp;gt; inhibited.&amp;#34;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &lt;a href=&#34;https://github.com/bitcoin/bips/blob/master/bip-0133.mediawiki&#34;&gt;https://github.com/bitcoin/bips/blob/master/bip-0133.mediawiki&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Whether the problem is &amp;#34;small&amp;#34; or not depends on the disparity between&lt;br/&gt;&amp;gt; node fee rates, which is not a matter of protocol. This is an existing problem&lt;br/&gt;&amp;gt; that can and should be dealt with in packaging, as part of the above&lt;br/&gt;&amp;gt; objective.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Packaged Transaction Relay:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; One might instead think of packaging as a per-connection function,&lt;br/&gt;&amp;gt; operating over its transaction (input-&amp;gt;output) DAG and the feerate of its&lt;br/&gt;&amp;gt; own node and that of the peer. Logically a &amp;#34;package&amp;#34; is nothing more than a&lt;br/&gt;&amp;gt; set of transactions (optimized by announcement). Only a node can&lt;br/&gt;&amp;gt; effectively determine the packaging required by each of its peers, since only&lt;br/&gt;&amp;gt; the node is aware of peer.feerate.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; The only way to avoid dead-ending packages (including individual&lt;br/&gt;&amp;gt; transactions, as is the objective) is for a node to package txs for each peer.&lt;br/&gt;&amp;gt; The origination of any package is then just a wallet peer doing what a node&lt;br/&gt;&amp;gt; does - packaging transactions that satisfy peer.feerate (i.e. that of its node).&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Current transaction relay (txB-&amp;gt;txA):&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; ===============================&lt;br/&gt;&amp;gt; &amp;gt; Node0&lt;br/&gt;&amp;gt; &amp;gt; txA.feerate &amp;gt; node.feerate, and not orphaned (accept txA)&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; txA.feerate &amp;gt; peer1.feerate (announce txA to peer1)&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; txA.feerate &amp;lt; peer2.feerate (do not announce txA to peer2)&lt;br/&gt;&amp;gt; &amp;gt; -----&lt;br/&gt;&amp;gt; &amp;gt; txB.feerate &amp;gt; node.feerate (accept txB)&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; txB.feerate &amp;gt; peer1.feerate (announce txB to peer1)&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; txB.feerate &amp;gt; peer2.feerate (announce txB to peer2)&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Node1&lt;br/&gt;&amp;gt; &amp;gt; Sees/accepts txA and txB.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Node2&lt;br/&gt;&amp;gt; &amp;gt; Never sees txA, sees/rejects txB (as an orphan).&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Packaged transaction relay (txB-&amp;gt;txA):&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; ===============================&lt;br/&gt;&amp;gt; &amp;gt; Node0&lt;br/&gt;&amp;gt; &amp;gt; txA.feerate &amp;gt; node.feerate, and not orphaned (accept txA)&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; txA.feerate &amp;gt; peer1.feerate (announce txA to peer1)&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; txA.feerate &amp;lt; peer2.feerate (do not announce txA to peer2)&lt;br/&gt;&amp;gt; &amp;gt; -----&lt;br/&gt;&amp;gt; &amp;gt; txB.feerate &amp;gt; node1.feerate (accept txB)&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; txB.feerate &amp;gt; peer1.feerate (announce txB to peer1)&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; txB.feerate &amp;gt; peer2.feerate (do not announce txB to peer2) &amp;lt;== avoid&lt;br/&gt;&amp;gt; &amp;gt; predictable orphan&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; txA.feerate &#43; txB.feerate &amp;gt; peer2.feerate (announce pkg(A, B) to&lt;br/&gt;&amp;gt; &amp;gt; peer2) &amp;lt;= create minimal package&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Node1&lt;br/&gt;&amp;gt; &amp;gt; Sees/accepts txA and txB.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Node2&lt;br/&gt;&amp;gt; &amp;gt; pkg(A, B) &amp;gt; node2.feerate (accept txA, txB)&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; txA.feerate &amp;gt; peer3.feerate (announce txA to peer3)&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; txB.feerate &amp;gt; peer3.feerate (announce txB to peer3)&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Sees/accepts pkg(A, B).&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Node3&lt;br/&gt;&amp;gt; &amp;gt; Sees/accepts txA and txB. &amp;lt;= avoided unnecessary packaging&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Summary:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; In this design, any node that receives an announcement for a pkg (or tx)&lt;br/&gt;&amp;gt; later determined to be less than node.feerate SHOULD drop the announcing&lt;br/&gt;&amp;gt; peer. Unlike with existing tx relay, a node can become &amp;#34;current&amp;#34; and&lt;br/&gt;&amp;gt; subsequently see few if any tx or pkg orphans, and MAY at some point&lt;br/&gt;&amp;gt; decide to drop any peer that announces one. Notice that packages are&lt;br/&gt;&amp;gt; created dynamically, and any package that doesn&amp;#39;t need to be grouped gets&lt;br/&gt;&amp;gt; trimmed down to individual transactions. Furthermore any tx that is &amp;#34;stuck&amp;#34;&lt;br/&gt;&amp;gt; can be freed by simply sending another tx. The nodes at which the tx has&lt;br/&gt;&amp;gt; become stuck will just package it up and relay it to peers. In other words,&lt;br/&gt;&amp;gt; there is no impact on wallet implementation apart from raising the aggregate&lt;br/&gt;&amp;gt; fee using a descendant transaction.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; This is barely a protocol change - it&amp;#39;s primarily implementation. All that&lt;br/&gt;&amp;gt; should be required is an additional INV element type, such as&lt;br/&gt;&amp;gt; MSG_TX_PACKAGE.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Additional constraints:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; * All elements of MSG_TX_PACKAGE in one INV message MUST to be of&lt;br/&gt;&amp;gt; the same package.&lt;br/&gt;&amp;gt; &amp;gt; * A package MUST must define a set that can be mined into one block&lt;br/&gt;&amp;gt; (size/sigops constraint).&lt;br/&gt;&amp;gt; &amp;gt; * A package SHOULD not contain confirmed txs (a race may cause this).&lt;br/&gt;&amp;gt; &amp;gt; * A package MUST minimally satisfy peer.feerate.&lt;br/&gt;&amp;gt; &amp;gt; * A partial tx order, as in the manner of the block.txs ordering, MUST be&lt;br/&gt;&amp;gt; imposed.&lt;br/&gt;&amp;gt; &amp;gt; * A node SHOULD drop a peer that sends a package (or tx) below&lt;br/&gt;&amp;gt; node.feerate.&lt;br/&gt;&amp;gt; &amp;gt; * A node MAY drop a peer that sends a non-minimal package according to&lt;br/&gt;&amp;gt; node.feerate.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; The partial ordering of block.txs introduces an ordering constraint that&lt;br/&gt;&amp;gt; precludes full parallelism in validating input attachment. This is an&lt;br/&gt;&amp;gt; implementation artifact that made its way into consensus. However in the&lt;br/&gt;&amp;gt; case of packaging, the set of txs is not presumed to be valid under the proof&lt;br/&gt;&amp;gt; of work DoS guard. As such constraints should minimize the work/traffic&lt;br/&gt;&amp;gt; required to invalidate the message. The partial order constraint ensures that&lt;br/&gt;&amp;gt; the DAG can be built incrementally, dropping the attempt (and peer as&lt;br/&gt;&amp;gt; desired) as soon as the first orphan is discovered. As a result the network&lt;br/&gt;&amp;gt; traffic and work required is not materially different than with tx relay, with&lt;br/&gt;&amp;gt; two exceptions.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; These are the two central aspects of this approach (Avoiding Predictable&lt;br/&gt;&amp;gt; Orphans and Creating Minimal Packages). These are graph search algorithms,&lt;br/&gt;&amp;gt; some basic computer science. Minimality requires only that the package does&lt;br/&gt;&amp;gt; not introduce txs that are not necessary to reach the peer.feerate (as these&lt;br/&gt;&amp;gt; can always be packaged separately). It does not require that nodes all&lt;br/&gt;&amp;gt; generate the same packages. It does not require negotiation, package&lt;br/&gt;&amp;gt; identity, cryptography, or hashing. As a graph search it should be O(n) where&lt;br/&gt;&amp;gt; n is the unconfirmed ancestry of the package, but should typically be much&lt;br/&gt;&amp;gt; lower, if not a single step.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Sufficiently-low-fee nodes will see only single txs. Moderate-fee&lt;br/&gt;&amp;gt; &amp;gt; nodes may cause partial breakup of packages. Sufficiently high fee&lt;br/&gt;&amp;gt; &amp;gt; nodes will cause peers (having received and completed the acceptance&lt;br/&gt;&amp;gt; &amp;gt; of a tx/pkg with pkg.feerate &amp;lt; peer.feerate) to navigate from each&lt;br/&gt;&amp;gt; &amp;gt; tx/package external input until reaching txs above peer.feerate, or&lt;br/&gt;&amp;gt; &amp;gt; confirmed (both of which the peer is presumed to already have). If the&lt;br/&gt;&amp;gt; &amp;gt; pkg.feerate is sufficiently high to connect all external inputs to the&lt;br/&gt;&amp;gt; &amp;gt; intervening txs, they are added to the package and it is announced to&lt;br/&gt;&amp;gt; &amp;gt; the high fee peer. Note that the individual tx.feerate &amp;gt; peer.feerate&lt;br/&gt;&amp;gt; &amp;gt; is insufficient to ensure that the peer should have the tx, as there&lt;br/&gt;&amp;gt; &amp;gt; may be ancestor txs that do not, and for which the tx was insufficient&lt;br/&gt;&amp;gt; &amp;gt; to cause them to be packaged. So a non-caching algorithm must be able&lt;br/&gt;&amp;gt; &amp;gt; to chase each package external input to a confirmed tx (or cache the&lt;br/&gt;&amp;gt; &amp;gt; unconfirmed ancestry fee rate at each tx). Note that fee rates are not&lt;br/&gt;&amp;gt; &amp;gt; directly additive, both size/&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; weight and fee are required for summation (and aggregate sigops should&lt;br/&gt;&amp;gt; be considered).&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; This makes no assumptions about current implementations. The design&lt;br/&gt;&amp;gt; would call for maintenance of a transaction (input-&amp;gt;output) DAG with&lt;br/&gt;&amp;gt; tx.feerate on each tx. This could be the unconfirmed tx graph (i.e. &amp;#34;memory&lt;br/&gt;&amp;gt; pool&amp;#34;) though it does not require maintenance of anything more than the&lt;br/&gt;&amp;gt; parameters necessary to confirm a set of validated txs within a block. It is&lt;br/&gt;&amp;gt; very reasonable to require this of any participating node. A simple version&lt;br/&gt;&amp;gt; negotiation can identify a package-accepting/sending nodes.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; I have thought about this for some time, but have not implemented either&lt;br/&gt;&amp;gt; the graph search, source code, or BIP. Just wrote this off the top of my head.&lt;br/&gt;&amp;gt; So I am sure there are some things I have incorrect or failed to consider. But I&lt;br/&gt;&amp;gt; think it&amp;#39;s worth discussing it at this point.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; e&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; -----Original Message-----&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; From: bitcoin-dev bitcoin-dev-bounces at lists.linuxfoundation.org On&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Behalf Of Suhas Daftuar via bitcoin-dev&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Sent: Wednesday, June 8, 2022 8:59 AM&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; To: Bitcoin Protocol Discussion&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Subject: Re: [bitcoin-dev] Package Relay Proposal&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Hi,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Thanks again for your work on this!&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; One question I have is about potential bandwidth waste in the case&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; of nodes running with different policy rules. Here&amp;#39;s my&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; understanding of a scenario I think could happen:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; 1) Transaction A is both low-fee and non-standard to some nodes on&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; the network.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; 2) Whenever a transaction T that spends A is relayed, new nodes will&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; send INV(PKGINFO1, T) to all package-relay peers.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; 3) Nodes on the network that have implemented package relay, but do&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; not accept A, will send getdata(PKGINFO1, T) and learn all of T&amp;#39;s&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; unconfirmed parents (~32 bytes * number of parents(T)).&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; 4) Such nodes will reject T. But because of transaction&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; malleability, and to avoid being blinded to a transaction&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; unnecessarily, these nodes will likely still send getdata(PKGINFO1,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; T) to every node that announces T, in case someone has a transaction&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; that includes an alternate set of parent transactions that would pass&lt;br/&gt;&amp;gt; policy checks.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Is that understanding correct? I think a good design goal would be&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; to not waste bandwidth in non-adversarial situations. In this case,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; there would be bandwidth waste from downloading duplicate data from&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; all your peers, just because the announcement doesn&amp;#39;t commit to the&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; set of parent wtxids that we&amp;#39;d get from the peer (and so we are&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; unable to determine that all our peers would be telling us the same thing,&lt;br/&gt;&amp;gt; just based on the announcement).&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Some ways to mitigate this might be to: (a) include a hash (maybe&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; even just a 20-byte hash -- is that enough security?) of the package&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; wtxids (in some canonical ordering) along with the wtxid of the&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; child in the initial announcement; (b) limit the use of v1 packages&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; to transactions with very few parents (I don&amp;#39;t know if this is reasonable&lt;br/&gt;&amp;gt; for the use cases we have in mind).&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Another point I wanted to bring up is about the rules around v1&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; package validation generally, and the use of a blockhash in&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; transaction relay specifically. My first observation is that it&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; won&amp;#39;t always be the case that a v1 package relay node will be able&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; to validate that a set of package transactions is fully sorted&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; topologically, because there may be (non-parent) ancestors that are&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; missing from the package and the best a peer can validate is&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; topology within the package -- this means that a peer can validly&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; (under this&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; BIP) relay transaction packages out of the true topological sort (if&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; all ancestors were included).&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; This makes me wonder how useful this topological rule is. I suppose&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; there is some value in preventing completely broken implementations&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; from staying connected and so there is no harm in having the rule,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; but perhaps it would be helpful to add that nodes SHOULD order&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; transactions based on topological sort in the complete transaction&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; graph, so that if missing-from-package ancestors are already known&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; by a peer (which is the expected case when using v1 package relay on&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; transactions that have more than one generation of unconfirmed&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; ancestor) then the remaining transactions are already properly ordered,&lt;br/&gt;&amp;gt; and this is helpful even if unenforceable in general.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; The other observation I wanted to make was that having transaction&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; relay gated on whether two nodes agree on chain tip seems like an&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; overly restrictive criteria. I think an important design principle&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; is that we want to minimize disruption from network splits -- if&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; there are competing blocks found in a small window of time, it&amp;#39;s&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; likely that the utxo set is not materially different on the two&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; chains (assuming miners are selecting from roughly the same sets of&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; transactions when this happens, which is typical). Having&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; transaction relay bifurcate on the two network halves would seem to&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; exacerbate the difference between the two sides of the split --&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; users ought to be agnostic about how benign splits are resolved and&lt;br/&gt;&amp;gt; would likely want their transactions to relay across the whole network.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Additionally, use of a chain tip might impose a larger burden than&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; is necessary on software that would seek to participate in&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; transaction relay without implementing headers sync/validation. I&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; don&amp;#39;t know what software exists on the network, but I imagine there&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; are a lot of scripts out there for transaction submission to the&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; public p2p network, and in thinking about modifying such a script to&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; utilize package relay it seems like an unnecessary added burden to first&lt;br/&gt;&amp;gt; learn a node&amp;#39;s tip before trying to relay a transaction.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Could you explain again what the benefit of including the blockhash&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; is? It seems like it is just so that a node could prioritize&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; transaction relay from peers with the same chain tip to maximize the&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; likelihood of transaction acceptance, but in the common case this&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; seems like a pretty negligible concern, and in the case of a chain&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; fork that persists for many minutes it seems better to me that we&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; not partition the network into package-relay regimes and just risk a&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; little extra bandwidth in one direction or the other. If we solve&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; the problem I brought up at the beginning (of de-duplicating package&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; data across peers with a package-wtxid-commitment in the&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; announcement), I think this is just some wasted pkginfo bandwidth on&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; a single-link, and not across links (as we could cache validation failure for a&lt;br/&gt;&amp;gt; package-hash to avoid re-requesting duplicate pkginfo1 messages).&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; Suhas&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; On Tue, Jun 7, 2022 at 1:57 PM Gloria Zhao via bitcoin-dev &amp;lt;bitcoin-&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; dev at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; 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; Hi Eric, aj, all,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Sorry for the delayed response. @aj I&amp;#39;m including some paraphrased&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; points from our offline discussion (thanks).&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Other idea: what if you encode the parent txs as a short hash of&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; the wtxid (something like bip152 short ids? perhaps seeded per&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; peer so collisions will be different per peer?) and include that in the inv&lt;br/&gt;&amp;gt; announcement?&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Would that work to avoid a round trip almost all of the time,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; while still giving you enough info to save bw by deduping parents?&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; As I suggested earlier, a package is fundamentally a compact block&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; (or&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; block) announcement without the header. Compact block (BIP152)&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; announcement is already well-defined and widely implemented...&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Let us not reinvent the wheel and/or introduce accidental&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; complexity. I see no reason why packaging is not simply BIP152&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; without the &amp;#39;header&amp;#39;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; field, an&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; updated protocol version, and the following sort of changes to&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; names&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Interestingly, &amp;#34;why not use BIP 152 shortids to save bandwidth?&amp;#34; is&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; by far the most common suggestion I hear (including offline feedback).&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Here&amp;#39;s a full explanation:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; BIP 152 shortens transaction hashes (32 bytes) to shortids (6 bytes)&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; to save a significant amount of network bandwidth, which is&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; extremely important in block relay. However, this comes at the&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; expense of computational complexity. There is no way to directly&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; calculate a transaction hash from a shortid; upon receipt of a&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; compact block, a node is expected to calculate the shortids of every&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; unconfirmed transaction it knows about to find the matches (BIP 152:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; 1, Bitcoin Core: [2]). This is expensive but appropriate for block&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; relay, since the block must have a valid Proof of Work and new&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; blocks only come every ~10 minutes. On the other hand, if we require&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; nodes to calculate shortids for every transaction in their mempools every&lt;br/&gt;&amp;gt; time they receive a package, we are creating a DoS vector.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Unconfirmed transactions don&amp;#39;t need PoW and, to have a live&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; transaction relay network, we should expect nodes to handle&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; transactions at a high-ish rate (i.e. at least 1000s of times more&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; transactions than blocks). We can&amp;#39;t pre- calculate or cache shortids&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; for mempool transactions, since the SipHash key depends on the block&lt;br/&gt;&amp;gt; hash and a per-connection salt.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Additionally, shortid calculation is not designed to prevent&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; intentional individual collisions. If we were to use these shortids&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; to deduplicate transactions we&amp;#39;ve supposedly already seen, we may&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; have a censorship vector. Again, these tradeoffs make sense for&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; compact block relay (see shortid section in BIP 152 [3]), but not package&lt;br/&gt;&amp;gt; relay.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; TLDR: DoSy if we calculate shortids on every package and censorship&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; vector if we use shortids for deduplication.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Given this message there is no reason to send a (potentially&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; bogus) fee rate with every package. It can only be validated by&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; obtaining the full set of txs, and the only recourse is dropping&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; (etc.) the peer, as is the case with single txs.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Yeah, I agree with this. Combined with the previous discussion with&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; aj (i.e. we can&amp;#39;t accurately communicate the incentive compatibility&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; of a package without sending the full graph, and this whole dance is&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; to avoid downloading a few low-fee transactions in uncommon edge&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; cases), I&amp;#39;ve realized I should remove the fee &#43; weight information&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; from pkginfo. Yay for less complexity!&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Also, this might be pedantic, but I said something incorrect earlier&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; and would like to correct myself:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; In theory, yes, but maybe it was announced earlier (while our&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; node was down?) or had dropped from our mempool or similar,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; either way we don&amp;#39;t have those txs yet.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; I said &amp;#34;It&amp;#39;s fine if they have Erlay, since a sender would know in&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; advance that B is missing and announce it as a package.&amp;#34; But this&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; isn&amp;#39;t true since we&amp;#39;re only using reconciliation in place of&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; flooding to announce transactions as they arrive, not for&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; rebroadcast, and we&amp;#39;re not doing full mempool set reconciliation. In&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; any case, making sure a node receives the transactions announced&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; when it was offline is not something we guarantee, not an intended use&lt;br/&gt;&amp;gt; case for package relay, and not worsened by this.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Thanks for your feedback!&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;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Gloria&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; 0152.mediawiki#cmpctblock&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; [2]:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &lt;a href=&#34;https://github.com/bitcoin/bitcoin/blob/master/src/blockencodings.cp&#34;&gt;https://github.com/bitcoin/bitcoin/blob/master/src/blockencodings.cp&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; p#L49&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; [3]: &lt;a href=&#34;https://github.com/bitcoin/bips/blob/master/bip-&#34;&gt;https://github.com/bitcoin/bips/blob/master/bip-&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; 0152.mediawiki#short-transaction-id-calculation&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; On Thu, May 26, 2022 at 3:59 AM &amp;lt;eric at voskuil.org&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; mailto:eric at voskuil.org &amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Given that packages have no header, the package requires identity in&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; a&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; BIP152 scheme. For example &amp;#39;header&amp;#39; and &amp;#39;blockhash&amp;#39; fields can be&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; replaced with a Merkle root (e.g. &amp;#34;identity&amp;#34; field) for the package,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; uniquely identifying the partially-ordered set of txs. And use of&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;#39;getdata&amp;#39; (to obtain a package by hash) can be eliminated (not a use&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; case).&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; e&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; -----Original Message-----&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; From: eric at voskuil.org mailto:eric at voskuil.org&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;lt;eric at voskuil.org mailto:eric at voskuil.org &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Sent: Wednesday, May 25, 2022 1:52 PM&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; To: &amp;#39;Anthony Towns&amp;#39; &amp;lt;aj at erisian.com.au&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; mailto:aj at erisian.com.au &amp;gt;; &amp;#39;Bitcoin Protocol Discussion&amp;#39;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;lt;bitcoin-dev at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; dev at lists.linuxfoundation.org&amp;gt; &amp;gt;; &amp;#39;Gloria Zhao&amp;#39;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;lt;gloriajzhao at gmail.com mailto:gloriajzhao at gmail.com &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Subject: RE: [bitcoin-dev] Package Relay Proposal&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; From: bitcoin-dev &amp;lt;bitcoin-dev-&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; bounces at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-dev-&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; bounces at lists.linuxfoundation.org&amp;gt; &amp;gt; On&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Behalf&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Of Anthony Towns via bitcoin-dev&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Sent: Wednesday, May 25, 2022 11:56 AM&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; So the other thing is what happens if the peer&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; announcing packages to us&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; is&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; dishonest?&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; They announce pkg X, say X has parents A B C and the fee&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; rate is&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; garbage.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; But&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; actually X has parent D and the fee rate is excellent. Do&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; we request the&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; package from another peer, or every peer, to double&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; check? Otherwise&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; we&amp;#39;re&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; allowing the first peer we ask about a package to censor&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; that tx from&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; us?&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 think the fix for that is just to provide the fee and weight&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; when&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; announcing&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; the package rather than only being asked for its info?&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Then if one peer&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; makes&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; it sound like a good deal you ask for the parent txids from&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; them,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; dedupe,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; request, and verify they were honest about the parents.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Single tx broadcasts do not carry an advertised fee rate,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; however the&amp;#39;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; feefilter&amp;#39; message (BIP133) provides this distinction. This&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; should be&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; interpreted as applicable to packages. Given this message&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; there is no&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; reason&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; to send a (potentially bogus) fee rate with every package. It&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; can only be&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; validated by obtaining the full set of txs, and the only&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; recourse is&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; dropping (etc.) the peer, as is the case with single txs.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Relying on the&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; existing message is simpler, more consistent, and more&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; efficient.&lt;br/&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; Is it plausible to add the graph in?&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; Likewise, I think you&amp;#39;d have to have the graph info from&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; many nodes if&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; you&amp;#39;re&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; going to make decisions based on it and don&amp;#39;t want&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; hostile peers to be&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; able to&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; trick you into ignoring txs.&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; Other idea: what if you encode the parent txs as a short&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; hash of the&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; wtxid&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; (something like bip152 short ids? perhaps seeded per&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; peer so collisions&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; will&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; be different per peer?) and include that in the inv&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; announcement? Would&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; that work to avoid a round trip almost all of the time,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; while still&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; giving&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; you&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; enough info to save bw by deduping parents?&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; As I suggested earlier, a package is fundamentally a&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; compact block (or&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; block) announcement without the header. Compact block&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; (BIP152)&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; announcement&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; is already well-defined and widely implemented. A node&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; should never be&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; required to retain an orphan, and BIP152 ensures this is not&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; required.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Once a validated set of txs within the package has been&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; obtained with&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; sufficient fee, a fee-optimal node would accept the largest&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; subgraph of&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; the&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; package that conforms to fee constraints and drop any&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; peer that provides a&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; package for which the full graph does not.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Let us not reinvent the wheel and/or introduce accidental&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; complexity. I&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; see&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; no reason why packaging is not simply BIP152 without the&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;#39;header&amp;#39; field,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; an&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; updated protocol version, and the following sort of changes&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; to names:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; sendpkg&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; MSG_CMPCT_PKG&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; cmpctpkg&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; getpkgtxn&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; pkgtxn&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; For a maximum 25 transactions,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;2324/2 = 276, seems like 36 bytes for a child-with-&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; parents package.&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&amp;#39;re doing short ids that&amp;#39;s maybe 254B=100B&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; already, then the&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; above&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; is&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; up to 36% overhead, I guess. Might be worth thinking&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; more about, but&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; maybe&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; more interesting with ancestors than just parents.&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;Also side note, since there are no size/count params,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Size is restricted in the same manner as block and&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; transaction broadcasts,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; by consensus. If the fee rate is sufficient there would be no&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; reason to&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; preclude any valid size up to what can be mined in one&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; block (packaging&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; across blocks is not economically rational under the&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; assumption that one&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; miner cannot expect to mine multiple blocks in a row).&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Count is&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; incorporated&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; into BIP152 as &amp;#39;shortids_length&amp;#39;.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; wondering if we&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;should just have &amp;#34;version&amp;#34; in &amp;#34;sendpackages&amp;#34; be a bit&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; field instead of&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;sending a message for each version. 32 versions should&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; be enough right?&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Adding versioning to individual protocols is just a reflection&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; of the&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; insufficiency of the initial protocol versioning design, and&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; that of the&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; various ad-hoc changes to it (including yet another&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; approach in this&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; proposal) that have been introduced to compensate for it,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; though I&amp;#39;ll&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; address this in an independent post at some point.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Best,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; e&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Maybe but a couple of messages per connection doesn&amp;#39;t&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; really seem worth&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; arguing about?&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; Cheers,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; aj&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; --&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Sent from my phone.&lt;br/&gt;&amp;gt; &amp;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; &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:bitcoin-&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; 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; &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;&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:bitcoin-&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; 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;&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; 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;
    </content>
    <updated>2023-06-07T23:13:53Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsgw507tfhfz7mr6p4e6lqq5fspwnx2dmyx7llhun200c0yj3n55xgzyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxjmw7k7</id>
    
      <title type="html">📅 Original date posted:2022-06-08 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsgw507tfhfz7mr6p4e6lqq5fspwnx2dmyx7llhun200c0yj3n55xgzyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxjmw7k7" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsztkvagak6fszkdmhhsact0jc9thj9vd049gycdyewdq7dasm5fqqsjmdqu&#39;&gt;nevent1q…mdqu&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-06-08&lt;br/&gt;📝 Original message:Hi Suhas/Gloria,&lt;br/&gt;&lt;br/&gt;Good questions. I&amp;#39;ve started a new thread because it became something else...&lt;br/&gt;&lt;br/&gt;Various ideas about packaging seem to be focused on the idea of an atomic message that is gossiped around the network like a transaction or block. From my perspective that seems to create a set of problems without good solutions, and it is not a proper analogy to those atomic structures. It may be worth taking the time to step back and take a close look at the underlying objective.&lt;br/&gt;&lt;br/&gt;The sole objective, as expressed in the OP proposal, is to:&lt;br/&gt;&lt;br/&gt;&amp;#34;Propagate transactions that are incentive-compatible to mine, even if they don&amp;#39;t meet minimum feerate alone.&amp;#34;&lt;br/&gt;&lt;br/&gt;Effectively producing this outcome with an atomic packaging approach while at the same time maintaining network invariants seems unlikely, if not impossible.&lt;br/&gt;&lt;br/&gt;Fees:&lt;br/&gt;&lt;br/&gt;A node knows what fee rate a peer will accept, and announces individual txs that satisfy peer.feerate. Similarly a node knows its own feerate, and SHOULD drop any peer that announces txs that do not satisfy node.feerate.&lt;br/&gt;&lt;br/&gt;Orphans:&lt;br/&gt;&lt;br/&gt;A node MAY drop a peer that announces txs that the node sees as orphans against its DAG. It SHOULD drop the orphan tx and MAY request missing ancestors. Presumably after some amount of time connected to peer, node does not expect to see any more orphans from that peer, so these choices could evolve with the channel. However, the design that can only consider each tx in isolation will continue to cause orphan announcements on the channel. A below peer.feerate tx does not get announced to peer, and later a descendant high peer.feerate does get announced to the peer - as an orphan.&lt;br/&gt;&lt;br/&gt;BIP133 (feefilter):&lt;br/&gt;&lt;br/&gt;&amp;#34;There could be a small number of edge cases where a node&amp;#39;s mempool min fee is actually less than the filter value a peer is aware of and transactions with fee rates between these values will now be newly inhibited.&amp;#34;&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://github.com/bitcoin/bips/blob/master/bip-0133.mediawiki&#34;&gt;https://github.com/bitcoin/bips/blob/master/bip-0133.mediawiki&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Whether the problem is &amp;#34;small&amp;#34; or not depends on the disparity between node fee rates, which is not a matter of protocol. This is an existing problem that can and should be dealt with in packaging, as part of the above objective. &lt;br/&gt;&lt;br/&gt;Packaged Transaction Relay:&lt;br/&gt;&lt;br/&gt;One might instead think of packaging as a per-connection function, operating over its transaction (input-&amp;gt;output) DAG and the feerate of its own node and that of the peer. Logically a &amp;#34;package&amp;#34; is nothing more than a set of transactions (optimized by announcement). Only a node can effectively determine the packaging required by each of its peers, since only the node is aware of peer.feerate.&lt;br/&gt;&lt;br/&gt;The only way to avoid dead-ending packages (including individual transactions, as is the objective) is for a node to package txs for each peer. The origination of any package is then just a wallet peer doing what a node does - packaging transactions that satisfy peer.feerate (i.e. that of its node).&lt;br/&gt;&lt;br/&gt;Current transaction relay (txB-&amp;gt;txA):&lt;br/&gt;===============================&lt;br/&gt;Node0&lt;br/&gt;txA.feerate &amp;gt; node.feerate, and not orphaned (accept txA)&lt;br/&gt;txA.feerate &amp;gt; peer1.feerate (announce txA to peer1)&lt;br/&gt;txA.feerate &amp;lt; peer2.feerate (do not announce txA to peer2)&lt;br/&gt;-----&lt;br/&gt;txB.feerate &amp;gt; node.feerate (accept txB)&lt;br/&gt;txB.feerate &amp;gt; peer1.feerate (announce txB to peer1)&lt;br/&gt;txB.feerate &amp;gt; peer2.feerate (announce txB to peer2)&lt;br/&gt;&lt;br/&gt;Node1&lt;br/&gt;Sees/accepts txA and txB.&lt;br/&gt;&lt;br/&gt;Node2&lt;br/&gt;Never sees txA, sees/rejects txB (as an orphan).&lt;br/&gt;&lt;br/&gt;Packaged transaction relay (txB-&amp;gt;txA):&lt;br/&gt;===============================&lt;br/&gt;Node0&lt;br/&gt;txA.feerate &amp;gt; node.feerate, and not orphaned (accept txA)&lt;br/&gt;txA.feerate &amp;gt; peer1.feerate (announce txA to peer1)&lt;br/&gt;txA.feerate &amp;lt; peer2.feerate (do not announce txA to peer2)&lt;br/&gt;-----&lt;br/&gt;txB.feerate &amp;gt; node1.feerate (accept txB)&lt;br/&gt;txB.feerate &amp;gt; peer1.feerate (announce txB to peer1)&lt;br/&gt;txB.feerate &amp;gt; peer2.feerate (do not announce txB to peer2) &amp;lt;== avoid predictable orphan&lt;br/&gt;txA.feerate &#43; txB.feerate &amp;gt; peer2.feerate (announce pkg(A, B) to peer2) &amp;lt;= create minimal package&lt;br/&gt;&lt;br/&gt;Node1&lt;br/&gt;Sees/accepts txA and txB.&lt;br/&gt;&lt;br/&gt;Node2&lt;br/&gt;pkg(A, B) &amp;gt; node2.feerate (accept txA, txB)&lt;br/&gt;txA.feerate &amp;gt; peer3.feerate (announce txA to peer3)&lt;br/&gt;txB.feerate &amp;gt; peer3.feerate (announce txB to peer3)&lt;br/&gt;&lt;br/&gt;Sees/accepts pkg(A, B).&lt;br/&gt;&lt;br/&gt;Node3&lt;br/&gt;Sees/accepts txA and txB. &amp;lt;= avoided unnecessary packaging&lt;br/&gt;&lt;br/&gt;Summary:&lt;br/&gt;&lt;br/&gt;In this design, any node that receives an announcement for a pkg (or tx) later determined to be less than node.feerate SHOULD drop the announcing peer. Unlike with existing tx relay, a node can become &amp;#34;current&amp;#34; and subsequently see few if any tx or pkg orphans, and MAY at some point decide to drop any peer that announces one. Notice that packages are created dynamically, and any package that doesn&amp;#39;t need to be grouped gets trimmed down to individual transactions. Furthermore any tx that is &amp;#34;stuck&amp;#34; can be freed by simply sending another tx. The nodes at which the tx has become stuck will just package it up and relay it to peers. In other words, there is no impact on wallet implementation apart from raising the aggregate fee using a descendant transaction.&lt;br/&gt;&lt;br/&gt;This is barely a protocol change - it&amp;#39;s primarily implementation. All that should be required is an additional INV element type, such as MSG_TX_PACKAGE.&lt;br/&gt;&lt;br/&gt;Additional constraints:&lt;br/&gt;&lt;br/&gt;* All elements of MSG_TX_PACKAGE in one INV message MUST to be of the same package.&lt;br/&gt;* A package MUST must define a set that can be mined into one block (size/sigops constraint).&lt;br/&gt;* A package SHOULD not contain confirmed txs (a race may cause this).&lt;br/&gt;* A package MUST minimally satisfy peer.feerate.&lt;br/&gt;* A partial tx order, as in the manner of the block.txs ordering, MUST be imposed.&lt;br/&gt;* A node SHOULD drop a peer that sends a package (or tx) below node.feerate.&lt;br/&gt;* A node MAY drop a peer that sends a non-minimal package according to node.feerate.&lt;br/&gt;&lt;br/&gt;The partial ordering of block.txs introduces an ordering constraint that precludes full parallelism in validating input attachment. This is an implementation artifact that made its way into consensus. However in the case of packaging, the set of txs is not presumed to be valid under the proof of work DoS guard. As such constraints should minimize the work/traffic required to invalidate the message. The partial order constraint ensures that the DAG can be built incrementally, dropping the attempt (and peer as desired) as soon as the first orphan is discovered. As a result the network traffic and work required is not materially different than with tx relay, with two exceptions.&lt;br/&gt;&lt;br/&gt;These are the two central aspects of this approach (Avoiding Predictable Orphans and Creating Minimal Packages). These are graph search algorithms, some basic computer science. Minimality requires only that the package does not introduce txs that are not necessary to reach the peer.feerate (as these can always be packaged separately). It does not require that nodes all generate the same packages. It does not require negotiation, package identity, cryptography, or hashing. As a graph search it should be O(n) where n is the unconfirmed ancestry of the package, but should typically be much lower, if not a single step.&lt;br/&gt;&lt;br/&gt;Sufficiently-low-fee nodes will see only single txs. Moderate-fee nodes may cause partial breakup of packages. Sufficiently high fee nodes will cause peers (having received and completed the acceptance of a tx/pkg with pkg.feerate &amp;lt; peer.feerate) to navigate from each tx/package external input until reaching txs above peer.feerate, or confirmed (both of which the peer is presumed to already have). If the pkg.feerate is sufficiently high to connect all external inputs to the intervening txs, they are added to the package and it is announced to the high fee peer. Note that the individual tx.feerate &amp;gt; peer.feerate is insufficient to ensure that the peer should have the tx, as there may be ancestor txs that do not, and for which the tx was insufficient to cause them to be packaged. So a non-caching algorithm must be able to chase each package external input to a confirmed tx (or cache the unconfirmed ancestry fee rate at each tx). Note that fee rates are not directly additive, both size/weight and fee are required for summation (and aggregate sigops should be considered).&lt;br/&gt;&lt;br/&gt;This makes no assumptions about current implementations. The design would call for maintenance of a transaction (input-&amp;gt;output) DAG with tx.feerate on each tx. This could be the unconfirmed tx graph (i.e. &amp;#34;memory pool&amp;#34;) though it does not require maintenance of anything more than the parameters necessary to confirm a set of validated txs within a block. It is very reasonable to require this of any participating node. A simple version negotiation can identify a package-accepting/sending nodes.&lt;br/&gt;&lt;br/&gt;I have thought about this for some time, but have not implemented either the graph search, source code, or BIP. Just wrote this off the top of my head. So I am sure there are some things I have incorrect or failed to consider. But I think it&amp;#39;s worth discussing it at this point.&lt;br/&gt;&lt;br/&gt;e&lt;br/&gt;&lt;br/&gt;&amp;gt; -----Original Message-----&lt;br/&gt;&amp;gt; From: bitcoin-dev &amp;lt;bitcoin-dev-bounces at lists.linuxfoundation.org&amp;gt; On&lt;br/&gt;&amp;gt; Behalf Of Suhas Daftuar via bitcoin-dev&lt;br/&gt;&amp;gt; Sent: Wednesday, June 8, 2022 8:59 AM&lt;br/&gt;&amp;gt; To: Bitcoin Protocol Discussion &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt;&lt;br/&gt;&amp;gt; Subject: Re: [bitcoin-dev] Package Relay Proposal&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Hi,&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Thanks again for your work on this!&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; One question I have is about potential bandwidth waste in the case of nodes&lt;br/&gt;&amp;gt; running with different policy rules.  Here&amp;#39;s my understanding of a scenario I&lt;br/&gt;&amp;gt; think could happen:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 1) Transaction A is both low-fee and non-standard to some nodes on the&lt;br/&gt;&amp;gt; network.&lt;br/&gt;&amp;gt; 2) Whenever a transaction T that spends A is relayed, new nodes will send&lt;br/&gt;&amp;gt; INV(PKGINFO1, T) to all package-relay peers.&lt;br/&gt;&amp;gt; 3) Nodes on the network that have implemented package relay, but do not&lt;br/&gt;&amp;gt; accept A, will send getdata(PKGINFO1, T) and learn all of T&amp;#39;s unconfirmed&lt;br/&gt;&amp;gt; parents (~32 bytes * number of parents(T)).&lt;br/&gt;&amp;gt; 4) Such nodes will reject T.  But because of transaction malleability, and to&lt;br/&gt;&amp;gt; avoid being blinded to a transaction unnecessarily, these nodes will likely still&lt;br/&gt;&amp;gt; send getdata(PKGINFO1, T) to every node that announces T, in case&lt;br/&gt;&amp;gt; someone has a transaction that includes an alternate set of parent&lt;br/&gt;&amp;gt; transactions that would pass policy checks.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Is that understanding correct?  I think a good design goal would be to not&lt;br/&gt;&amp;gt; waste bandwidth in non-adversarial situations.  In this case, there would be&lt;br/&gt;&amp;gt; bandwidth waste from downloading duplicate data from all your peers, just&lt;br/&gt;&amp;gt; because the announcement doesn&amp;#39;t commit to the set of parent wtxids that&lt;br/&gt;&amp;gt; we&amp;#39;d get from the peer (and so we are unable to determine that all our peers&lt;br/&gt;&amp;gt; would be telling us the same thing, just based on the announcement).&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Some ways to mitigate this might be to: (a) include a hash (maybe even just a&lt;br/&gt;&amp;gt; 20-byte hash -- is that enough security?) of the package wtxids (in some&lt;br/&gt;&amp;gt; canonical ordering) along with the wtxid of the child in the initial&lt;br/&gt;&amp;gt; announcement; (b) limit the use of v1 packages to transactions with very few&lt;br/&gt;&amp;gt; parents (I don&amp;#39;t know if this is reasonable for the use cases we have in mind).&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Another point I wanted to bring up is about the rules around v1 package&lt;br/&gt;&amp;gt; validation generally, and the use of a blockhash in transaction relay&lt;br/&gt;&amp;gt; specifically.  My first observation is that it won&amp;#39;t always be the case that a v1&lt;br/&gt;&amp;gt; package relay node will be able to validate that a set of package transactions&lt;br/&gt;&amp;gt; is fully sorted topologically, because there may be (non-parent) ancestors&lt;br/&gt;&amp;gt; that are missing from the package and the best a peer can validate is&lt;br/&gt;&amp;gt; topology within the package -- this means that a peer can validly (under this&lt;br/&gt;&amp;gt; BIP) relay transaction packages out of the true topological sort (if all&lt;br/&gt;&amp;gt; ancestors were included).&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; This makes me wonder how useful this topological rule is.  I suppose there is&lt;br/&gt;&amp;gt; some value in preventing completely broken implementations from staying&lt;br/&gt;&amp;gt; connected and so there is no harm in having the rule, but perhaps it would&lt;br/&gt;&amp;gt; be helpful to add that nodes SHOULD order transactions based on topological&lt;br/&gt;&amp;gt; sort in the complete transaction graph, so that if missing-from-package&lt;br/&gt;&amp;gt; ancestors are already known by a peer (which is the expected case when&lt;br/&gt;&amp;gt; using v1 package relay on transactions that have more than one generation&lt;br/&gt;&amp;gt; of unconfirmed ancestor) then the remaining transactions are already&lt;br/&gt;&amp;gt; properly ordered, and this is helpful even if unenforceable in general.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; The other observation I wanted to make was that having transaction relay&lt;br/&gt;&amp;gt; gated on whether two nodes agree on chain tip seems like an overly&lt;br/&gt;&amp;gt; restrictive criteria.  I think an important design principle is that we want to&lt;br/&gt;&amp;gt; minimize disruption from network splits -- if there are competing blocks&lt;br/&gt;&amp;gt; found in a small window of time, it&amp;#39;s likely that the utxo set is not materially&lt;br/&gt;&amp;gt; different on the two chains (assuming miners are selecting from roughly the&lt;br/&gt;&amp;gt; same sets of transactions when this happens, which is typical).  Having&lt;br/&gt;&amp;gt; transaction relay bifurcate on the two network halves would seem to&lt;br/&gt;&amp;gt; exacerbate the difference between the two sides of the split -- users ought&lt;br/&gt;&amp;gt; to be agnostic about how benign splits are resolved and would likely want&lt;br/&gt;&amp;gt; their transactions to relay across the whole network.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Additionally, use of a chain tip might impose a larger burden than is necessary&lt;br/&gt;&amp;gt; on software that would seek to participate in transaction relay without&lt;br/&gt;&amp;gt; implementing headers sync/validation.  I don&amp;#39;t know what software exists on&lt;br/&gt;&amp;gt; the network, but I imagine there are a lot of scripts out there for transaction&lt;br/&gt;&amp;gt; submission to the public p2p network, and in thinking about modifying such a&lt;br/&gt;&amp;gt; script to utilize package relay it seems like an unnecessary added burden to&lt;br/&gt;&amp;gt; first learn a node&amp;#39;s tip before trying to relay a transaction.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Could you explain again what the benefit of including the blockhash is?  It&lt;br/&gt;&amp;gt; seems like it is just so that a node could prioritize transaction relay from&lt;br/&gt;&amp;gt; peers with the same chain tip to maximize the likelihood of transaction&lt;br/&gt;&amp;gt; acceptance, but in the common case this seems like a pretty negligible&lt;br/&gt;&amp;gt; concern, and in the case of a chain fork that persists for many minutes it&lt;br/&gt;&amp;gt; seems better to me that we not partition the network into package-relay&lt;br/&gt;&amp;gt; regimes and just risk a little extra bandwidth in one direction or the other.  If&lt;br/&gt;&amp;gt; we solve the problem I brought up at the beginning (of de-duplicating&lt;br/&gt;&amp;gt; package data across peers with a package-wtxid-commitment in the&lt;br/&gt;&amp;gt; announcement), I think this is just some wasted pkginfo bandwidth on a&lt;br/&gt;&amp;gt; single-link, and not across links (as we could cache validation failure for a&lt;br/&gt;&amp;gt; package-hash to avoid re-requesting duplicate pkginfo1 messages).&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Best,&lt;br/&gt;&amp;gt; Suhas&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; On Tue, Jun 7, 2022 at 1:57 PM Gloria Zhao via bitcoin-dev &amp;lt;bitcoin-&lt;br/&gt;&amp;gt; dev at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-&lt;br/&gt;&amp;gt; dev at lists.linuxfoundation.org&amp;gt; &amp;gt; wrote:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 	Hi Eric, aj, all,&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 	Sorry for the delayed response. @aj I&amp;#39;m including some paraphrased&lt;br/&gt;&amp;gt; points from our offline discussion (thanks).&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 	&amp;gt; Other idea: what if you encode the parent txs as a short hash of the&lt;br/&gt;&amp;gt; wtxid (something like bip152 short ids? perhaps seeded per peer so collisions&lt;br/&gt;&amp;gt; will be different per peer?) and include that in the inv announcement?&lt;br/&gt;&amp;gt; Would that work to avoid a round trip almost all of the time, while still giving&lt;br/&gt;&amp;gt; you enough info to save bw by deduping parents?&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 	&amp;gt; As I suggested earlier, a package is fundamentally a compact block&lt;br/&gt;&amp;gt; (or&lt;br/&gt;&amp;gt; 	&amp;gt; block) announcement without the header. Compact block (BIP152)&lt;br/&gt;&amp;gt; announcement&lt;br/&gt;&amp;gt; 	&amp;gt; is already well-defined and widely implemented...&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 	&amp;gt; Let us not reinvent the wheel and/or introduce accidental&lt;br/&gt;&amp;gt; complexity. I see&lt;br/&gt;&amp;gt; 	&amp;gt; no reason why packaging is not simply BIP152 without the &amp;#39;header&amp;#39;&lt;br/&gt;&amp;gt; field, an&lt;br/&gt;&amp;gt; 	&amp;gt; updated protocol version, and the following sort of changes to&lt;br/&gt;&amp;gt; names&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 	Interestingly, &amp;#34;why not use BIP 152 shortids to save bandwidth?&amp;#34; is&lt;br/&gt;&amp;gt; by far the most common suggestion I hear (including offline feedback).&lt;br/&gt;&amp;gt; Here&amp;#39;s a full explanation:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 	BIP 152 shortens transaction hashes (32 bytes) to shortids (6 bytes)&lt;br/&gt;&amp;gt; to save a significant amount of network bandwidth, which is extremely&lt;br/&gt;&amp;gt; important in block relay. However, this comes at the expense of&lt;br/&gt;&amp;gt; computational complexity. There is no way to directly calculate a transaction&lt;br/&gt;&amp;gt; hash from a shortid; upon receipt of a compact block, a node is expected to&lt;br/&gt;&amp;gt; calculate the shortids of every unconfirmed transaction it knows about to&lt;br/&gt;&amp;gt; find the matches (BIP 152: [1], Bitcoin Core: [2]). This is expensive but&lt;br/&gt;&amp;gt; appropriate for block relay, since the block must have a valid Proof of Work&lt;br/&gt;&amp;gt; and new blocks only come every ~10 minutes. On the other hand, if we&lt;br/&gt;&amp;gt; require nodes to calculate shortids for every transaction in their mempools&lt;br/&gt;&amp;gt; every time they receive a package, we are creating a DoS vector.&lt;br/&gt;&amp;gt; Unconfirmed transactions don&amp;#39;t need PoW and, to have a live transaction&lt;br/&gt;&amp;gt; relay network, we should expect nodes to handle transactions at a high-ish&lt;br/&gt;&amp;gt; rate (i.e. at least 1000s of times more transactions than blocks). We can&amp;#39;t pre-&lt;br/&gt;&amp;gt; calculate or cache shortids for mempool transactions, since the SipHash key&lt;br/&gt;&amp;gt; depends on the block hash and a per-connection salt.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 	Additionally, shortid calculation is not designed to prevent intentional&lt;br/&gt;&amp;gt; individual collisions. If we were to use these shortids to deduplicate&lt;br/&gt;&amp;gt; transactions we&amp;#39;ve supposedly already seen, we may have a censorship&lt;br/&gt;&amp;gt; vector. Again, these tradeoffs make sense for compact block relay (see&lt;br/&gt;&amp;gt; shortid section in BIP 152 [3]), but not package relay.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 	TLDR: DoSy if we calculate shortids on every package and censorship&lt;br/&gt;&amp;gt; vector if we use shortids for deduplication.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 	&amp;gt; Given this message there is no reason&lt;br/&gt;&amp;gt; 	&amp;gt; to send a (potentially bogus) fee rate with every package. It can&lt;br/&gt;&amp;gt; only be&lt;br/&gt;&amp;gt; 	&amp;gt; validated by obtaining the full set of txs, and the only recourse is&lt;br/&gt;&amp;gt; 	&amp;gt; dropping (etc.) the peer, as is the case with single txs.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 	Yeah, I agree with this. Combined with the previous discussion with&lt;br/&gt;&amp;gt; aj (i.e. we can&amp;#39;t accurately communicate the incentive compatibility of a&lt;br/&gt;&amp;gt; package without sending the full graph, and this whole dance is to avoid&lt;br/&gt;&amp;gt; downloading a few low-fee transactions in uncommon edge cases), I&amp;#39;ve&lt;br/&gt;&amp;gt; realized I should remove the fee &#43; weight information from pkginfo. Yay for&lt;br/&gt;&amp;gt; less complexity!&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 	Also, this might be pedantic, but I said something incorrect earlier&lt;br/&gt;&amp;gt; and would like to correct myself:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 	&amp;gt;&amp;gt; In theory, yes, but maybe it was announced earlier (while our&lt;br/&gt;&amp;gt; node was down?) or had dropped from our mempool or similar, either way&lt;br/&gt;&amp;gt; we don&amp;#39;t have those txs yet.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 	I said &amp;#34;It&amp;#39;s fine if they have Erlay, since a sender would know in&lt;br/&gt;&amp;gt; advance that B is missing and announce it as a package.&amp;#34; But this isn&amp;#39;t true&lt;br/&gt;&amp;gt; since we&amp;#39;re only using reconciliation in place of flooding to announce&lt;br/&gt;&amp;gt; transactions as they arrive, not for rebroadcast, and we&amp;#39;re not doing full&lt;br/&gt;&amp;gt; mempool set reconciliation. In any case, making sure a node receives the&lt;br/&gt;&amp;gt; transactions announced when it was offline is not something we guarantee,&lt;br/&gt;&amp;gt; not an intended use case for package relay, and not worsened by this.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 	Thanks for your feedback!&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 	Best,&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 	Gloria&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 	[1]: &lt;a href=&#34;https://github.com/bitcoin/bips/blob/master/bip-&#34;&gt;https://github.com/bitcoin/bips/blob/master/bip-&lt;/a&gt;&lt;br/&gt;&amp;gt; 0152.mediawiki#cmpctblock&lt;br/&gt;&amp;gt; 	[2]:&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/bitcoin/bitcoin/blob/master/src/blockencodings.cpp#L49&#34;&gt;https://github.com/bitcoin/bitcoin/blob/master/src/blockencodings.cpp#L49&lt;/a&gt;&lt;br/&gt;&amp;gt; 	[3]: &lt;a href=&#34;https://github.com/bitcoin/bips/blob/master/bip-&#34;&gt;https://github.com/bitcoin/bips/blob/master/bip-&lt;/a&gt;&lt;br/&gt;&amp;gt; 0152.mediawiki#short-transaction-id-calculation&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 	On Thu, May 26, 2022 at 3:59 AM &amp;lt;eric at voskuil.org&lt;br/&gt;&amp;gt; &amp;lt;mailto:eric at voskuil.org&amp;gt; &amp;gt; wrote:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 		Given that packages have no header, the package requires&lt;br/&gt;&amp;gt; identity in a&lt;br/&gt;&amp;gt; 		BIP152 scheme. For example &amp;#39;header&amp;#39; and &amp;#39;blockhash&amp;#39; fields&lt;br/&gt;&amp;gt; can be replaced&lt;br/&gt;&amp;gt; 		with a Merkle root (e.g. &amp;#34;identity&amp;#34; field) for the package,&lt;br/&gt;&amp;gt; uniquely&lt;br/&gt;&amp;gt; 		identifying the partially-ordered set of txs. And use of&lt;br/&gt;&amp;gt; &amp;#39;getdata&amp;#39; (to&lt;br/&gt;&amp;gt; 		obtain a package by hash) can be eliminated (not a use case).&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 		e&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 		&amp;gt; -----Original Message-----&lt;br/&gt;&amp;gt; 		&amp;gt; From: eric at voskuil.org &amp;lt;mailto:eric at voskuil.org&amp;gt;&lt;br/&gt;&amp;gt; &amp;lt;eric at voskuil.org &amp;lt;mailto:eric at voskuil.org&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; 		&amp;gt; Sent: Wednesday, May 25, 2022 1:52 PM&lt;br/&gt;&amp;gt; 		&amp;gt; To: &amp;#39;Anthony Towns&amp;#39; &amp;lt;aj at erisian.com.au&lt;br/&gt;&amp;gt; &amp;lt;mailto:aj at erisian.com.au&amp;gt; &amp;gt;; &amp;#39;Bitcoin Protocol Discussion&amp;#39;&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;lt;bitcoin-dev at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-&lt;br/&gt;&amp;gt; dev at lists.linuxfoundation.org&amp;gt; &amp;gt;; &amp;#39;Gloria Zhao&amp;#39;&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;lt;gloriajzhao at gmail.com &amp;lt;mailto:gloriajzhao at gmail.com&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; 		&amp;gt; Subject: RE: [bitcoin-dev] Package Relay Proposal&lt;br/&gt;&amp;gt; 		&amp;gt;&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; From: bitcoin-dev &amp;lt;bitcoin-dev-&lt;br/&gt;&amp;gt; bounces at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-dev-&lt;br/&gt;&amp;gt; bounces at lists.linuxfoundation.org&amp;gt; &amp;gt; On&lt;br/&gt;&amp;gt; 		&amp;gt; Behalf&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; Of Anthony Towns via bitcoin-dev&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; Sent: Wednesday, May 25, 2022 11:56 AM&lt;br/&gt;&amp;gt; 		&amp;gt;&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; So the other thing is what happens if the peer&lt;br/&gt;&amp;gt; announcing packages to us&lt;br/&gt;&amp;gt; 		&amp;gt; is&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; dishonest?&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; They announce pkg X, say X has parents A B C and the fee&lt;br/&gt;&amp;gt; rate is&lt;br/&gt;&amp;gt; 		garbage.&lt;br/&gt;&amp;gt; 		&amp;gt; But&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; actually X has parent D and the fee rate is excellent. Do&lt;br/&gt;&amp;gt; we request the&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; package from another peer, or every peer, to double&lt;br/&gt;&amp;gt; check? Otherwise&lt;br/&gt;&amp;gt; 		&amp;gt; we&amp;#39;re&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; allowing the first peer we ask about a package to censor&lt;br/&gt;&amp;gt; that tx from&lt;br/&gt;&amp;gt; 		us?&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; I think the fix for that is just to provide the fee and weight&lt;br/&gt;&amp;gt; when&lt;br/&gt;&amp;gt; 		&amp;gt; announcing&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; the package rather than only being asked for its info?&lt;br/&gt;&amp;gt; Then if one peer&lt;br/&gt;&amp;gt; 		&amp;gt; makes&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; it sound like a good deal you ask for the parent txids from&lt;br/&gt;&amp;gt; them,&lt;br/&gt;&amp;gt; 		dedupe,&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; request, and verify they were honest about the parents.&lt;br/&gt;&amp;gt; 		&amp;gt;&lt;br/&gt;&amp;gt; 		&amp;gt; Single tx broadcasts do not carry an advertised fee rate,&lt;br/&gt;&amp;gt; however the&amp;#39;&lt;br/&gt;&amp;gt; 		&amp;gt; feefilter&amp;#39; message (BIP133) provides this distinction. This&lt;br/&gt;&amp;gt; should be&lt;br/&gt;&amp;gt; 		&amp;gt; interpreted as applicable to packages. Given this message&lt;br/&gt;&amp;gt; there is no&lt;br/&gt;&amp;gt; 		reason&lt;br/&gt;&amp;gt; 		&amp;gt; to send a (potentially bogus) fee rate with every package. It&lt;br/&gt;&amp;gt; can only be&lt;br/&gt;&amp;gt; 		&amp;gt; validated by obtaining the full set of txs, and the only&lt;br/&gt;&amp;gt; recourse is&lt;br/&gt;&amp;gt; 		&amp;gt; dropping (etc.) the peer, as is the case with single txs.&lt;br/&gt;&amp;gt; Relying on the&lt;br/&gt;&amp;gt; 		&amp;gt; existing message is simpler, more consistent, and more&lt;br/&gt;&amp;gt; efficient.&lt;br/&gt;&amp;gt; 		&amp;gt;&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; &amp;gt;&amp;gt; Is it plausible to add the graph in?&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; Likewise, I think you&amp;#39;d have to have the graph info from&lt;br/&gt;&amp;gt; many nodes if&lt;br/&gt;&amp;gt; 		&amp;gt; you&amp;#39;re&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; going to make decisions based on it and don&amp;#39;t want&lt;br/&gt;&amp;gt; hostile peers to be&lt;br/&gt;&amp;gt; 		&amp;gt; able to&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; trick you into ignoring txs.&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; Other idea: what if you encode the parent txs as a short&lt;br/&gt;&amp;gt; hash of the&lt;br/&gt;&amp;gt; 		wtxid&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; (something like bip152 short ids? perhaps seeded per&lt;br/&gt;&amp;gt; peer so collisions&lt;br/&gt;&amp;gt; 		&amp;gt; will&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; be different per peer?) and include that in the inv&lt;br/&gt;&amp;gt; announcement? Would&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; that work to avoid a round trip almost all of the time,&lt;br/&gt;&amp;gt; while still&lt;br/&gt;&amp;gt; 		giving&lt;br/&gt;&amp;gt; 		&amp;gt; you&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; enough info to save bw by deduping parents?&lt;br/&gt;&amp;gt; 		&amp;gt;&lt;br/&gt;&amp;gt; 		&amp;gt; As I suggested earlier, a package is fundamentally a&lt;br/&gt;&amp;gt; compact block (or&lt;br/&gt;&amp;gt; 		&amp;gt; block) announcement without the header. Compact block&lt;br/&gt;&amp;gt; (BIP152)&lt;br/&gt;&amp;gt; 		&amp;gt; announcement&lt;br/&gt;&amp;gt; 		&amp;gt; is already well-defined and widely implemented. A node&lt;br/&gt;&amp;gt; should never be&lt;br/&gt;&amp;gt; 		&amp;gt; required to retain an orphan, and BIP152 ensures this is not&lt;br/&gt;&amp;gt; required.&lt;br/&gt;&amp;gt; 		&amp;gt;&lt;br/&gt;&amp;gt; 		&amp;gt; Once a validated set of txs within the package has been&lt;br/&gt;&amp;gt; obtained with&lt;br/&gt;&amp;gt; 		&amp;gt; sufficient fee, a fee-optimal node would accept the largest&lt;br/&gt;&amp;gt; subgraph of&lt;br/&gt;&amp;gt; 		the&lt;br/&gt;&amp;gt; 		&amp;gt; package that conforms to fee constraints and drop any&lt;br/&gt;&amp;gt; peer that provides a&lt;br/&gt;&amp;gt; 		&amp;gt; package for which the full graph does not.&lt;br/&gt;&amp;gt; 		&amp;gt;&lt;br/&gt;&amp;gt; 		&amp;gt; Let us not reinvent the wheel and/or introduce accidental&lt;br/&gt;&amp;gt; complexity. I&lt;br/&gt;&amp;gt; 		see&lt;br/&gt;&amp;gt; 		&amp;gt; no reason why packaging is not simply BIP152 without the&lt;br/&gt;&amp;gt; &amp;#39;header&amp;#39; field,&lt;br/&gt;&amp;gt; 		an&lt;br/&gt;&amp;gt; 		&amp;gt; updated protocol version, and the following sort of changes&lt;br/&gt;&amp;gt; to names:&lt;br/&gt;&amp;gt; 		&amp;gt;&lt;br/&gt;&amp;gt; 		&amp;gt; sendpkg&lt;br/&gt;&amp;gt; 		&amp;gt; MSG_CMPCT_PKG&lt;br/&gt;&amp;gt; 		&amp;gt; cmpctpkg&lt;br/&gt;&amp;gt; 		&amp;gt; getpkgtxn&lt;br/&gt;&amp;gt; 		&amp;gt; pkgtxn&lt;br/&gt;&amp;gt; 		&amp;gt;&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; &amp;gt; For a maximum 25 transactions,&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; &amp;gt;23*24/2 = 276, seems like 36 bytes for a child-with-&lt;br/&gt;&amp;gt; parents package.&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; If you&amp;#39;re doing short ids that&amp;#39;s maybe 25*4B=100B&lt;br/&gt;&amp;gt; already, then the&lt;br/&gt;&amp;gt; 		above&lt;br/&gt;&amp;gt; 		&amp;gt; is&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; up to 36% overhead, I guess. Might be worth thinking&lt;br/&gt;&amp;gt; more about, but&lt;br/&gt;&amp;gt; 		&amp;gt; maybe&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; more interesting with ancestors than just parents.&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; &amp;gt;Also side note, since there are no size/count params,&lt;br/&gt;&amp;gt; 		&amp;gt;&lt;br/&gt;&amp;gt; 		&amp;gt; Size is restricted in the same manner as block and&lt;br/&gt;&amp;gt; transaction broadcasts,&lt;br/&gt;&amp;gt; 		&amp;gt; by consensus. If the fee rate is sufficient there would be no&lt;br/&gt;&amp;gt; reason to&lt;br/&gt;&amp;gt; 		&amp;gt; preclude any valid size up to what can be mined in one&lt;br/&gt;&amp;gt; block (packaging&lt;br/&gt;&amp;gt; 		&amp;gt; across blocks is not economically rational under the&lt;br/&gt;&amp;gt; assumption that one&lt;br/&gt;&amp;gt; 		&amp;gt; miner cannot expect to mine multiple blocks in a row).&lt;br/&gt;&amp;gt; Count is&lt;br/&gt;&amp;gt; 		incorporated&lt;br/&gt;&amp;gt; 		&amp;gt; into BIP152 as &amp;#39;shortids_length&amp;#39;.&lt;br/&gt;&amp;gt; 		&amp;gt;&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; &amp;gt; wondering if we&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; &amp;gt;should just have &amp;#34;version&amp;#34; in &amp;#34;sendpackages&amp;#34; be a bit&lt;br/&gt;&amp;gt; field instead of&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; &amp;gt;sending a message for each version. 32 versions should&lt;br/&gt;&amp;gt; be enough right?&lt;br/&gt;&amp;gt; 		&amp;gt;&lt;br/&gt;&amp;gt; 		&amp;gt; Adding versioning to individual protocols is just a reflection&lt;br/&gt;&amp;gt; of the&lt;br/&gt;&amp;gt; 		&amp;gt; insufficiency of the initial protocol versioning design, and&lt;br/&gt;&amp;gt; that of the&lt;br/&gt;&amp;gt; 		&amp;gt; various ad-hoc changes to it (including yet another&lt;br/&gt;&amp;gt; approach in this&lt;br/&gt;&amp;gt; 		&amp;gt; proposal) that have been introduced to compensate for it,&lt;br/&gt;&amp;gt; though I&amp;#39;ll&lt;br/&gt;&amp;gt; 		&amp;gt; address this in an independent post at some point.&lt;br/&gt;&amp;gt; 		&amp;gt;&lt;br/&gt;&amp;gt; 		&amp;gt; Best,&lt;br/&gt;&amp;gt; 		&amp;gt; e&lt;br/&gt;&amp;gt; 		&amp;gt;&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; Maybe but a couple of messages per connection doesn&amp;#39;t&lt;br/&gt;&amp;gt; really seem worth&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; arguing about?&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; Cheers,&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt; aj&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; Sent from my phone.&lt;br/&gt;&amp;gt; 		&amp;gt; &amp;gt;&lt;br/&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:bitcoin-&lt;br/&gt;&amp;gt; dev at lists.linuxfoundation.org&amp;gt;&lt;br/&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; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; 	_______________________________________________&lt;br/&gt;&amp;gt; 	bitcoin-dev mailing list&lt;br/&gt;&amp;gt; 	bitcoin-dev at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-&lt;br/&gt;&amp;gt; dev at lists.linuxfoundation.org&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;
    </content>
    <updated>2023-06-07T23:10:22Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs0ge0jhxqphq0xf2xlw00cvy6a2dvum6ha0kmz3d938fkgamn6cxqzyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxz5q6ct</id>
    
      <title type="html">📅 Original date posted:2022-05-25 📝 Original message:Given ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs0ge0jhxqphq0xf2xlw00cvy6a2dvum6ha0kmz3d938fkgamn6cxqzyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxz5q6ct" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsv4x05pffu8kegc5ljqqncf2llxatytp3w2muvyyh96xmrx7v048gc3gwt7&#39;&gt;nevent1q…gwt7&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-05-25&lt;br/&gt;📝 Original message:Given that packages have no header, the package requires identity in a&lt;br/&gt;BIP152 scheme. For example &amp;#39;header&amp;#39; and &amp;#39;blockhash&amp;#39; fields can be replaced&lt;br/&gt;with a Merkle root (e.g. &amp;#34;identity&amp;#34; field) for the package, uniquely&lt;br/&gt;identifying the partially-ordered set of txs. And use of &amp;#39;getdata&amp;#39; (to&lt;br/&gt;obtain a package by hash) can be eliminated (not a use case).&lt;br/&gt;&lt;br/&gt;e&lt;br/&gt;&lt;br/&gt;&amp;gt; -----Original Message-----&lt;br/&gt;&amp;gt; From: eric at voskuil.org &amp;lt;eric at voskuil.org&amp;gt;&lt;br/&gt;&amp;gt; Sent: Wednesday, May 25, 2022 1:52 PM&lt;br/&gt;&amp;gt; To: &amp;#39;Anthony Towns&amp;#39; &amp;lt;aj at erisian.com.au&amp;gt;; &amp;#39;Bitcoin Protocol Discussion&amp;#39;&lt;br/&gt;&amp;gt; &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt;; &amp;#39;Gloria Zhao&amp;#39;&lt;br/&gt;&amp;gt; &amp;lt;gloriajzhao at gmail.com&amp;gt;&lt;br/&gt;&amp;gt; Subject: RE: [bitcoin-dev] Package Relay Proposal&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; From: bitcoin-dev &amp;lt;bitcoin-dev-bounces at lists.linuxfoundation.org&amp;gt; On&lt;br/&gt;&amp;gt; Behalf&lt;br/&gt;&amp;gt; &amp;gt; Of Anthony Towns via bitcoin-dev&lt;br/&gt;&amp;gt; &amp;gt; Sent: Wednesday, May 25, 2022 11:56 AM&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; So the other thing is what happens if the peer announcing packages to us&lt;br/&gt;&amp;gt; is&lt;br/&gt;&amp;gt; &amp;gt; dishonest?&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; They announce pkg X, say X has parents A B C and the fee rate is&lt;br/&gt;garbage.&lt;br/&gt;&amp;gt; But&lt;br/&gt;&amp;gt; &amp;gt; actually X has parent D and the fee rate is excellent. Do we request the&lt;br/&gt;&amp;gt; &amp;gt; package from another peer, or every peer, to double check? Otherwise&lt;br/&gt;&amp;gt; we&amp;#39;re&lt;br/&gt;&amp;gt; &amp;gt; allowing the first peer we ask about a package to censor that tx from&lt;br/&gt;us?&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; I think the fix for that is just to provide the fee and weight when&lt;br/&gt;&amp;gt; announcing&lt;br/&gt;&amp;gt; &amp;gt; the package rather than only being asked for its info? Then if one peer&lt;br/&gt;&amp;gt; makes&lt;br/&gt;&amp;gt; &amp;gt; it sound like a good deal you ask for the parent txids from them,&lt;br/&gt;dedupe,&lt;br/&gt;&amp;gt; &amp;gt; request, and verify they were honest about the parents.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Single tx broadcasts do not carry an advertised fee rate, however the&amp;#39;&lt;br/&gt;&amp;gt; feefilter&amp;#39; message (BIP133) provides this distinction. This should be&lt;br/&gt;&amp;gt; interpreted as applicable to packages. Given this message there is no&lt;br/&gt;reason&lt;br/&gt;&amp;gt; to send a (potentially bogus) fee rate with every package. It can only be&lt;br/&gt;&amp;gt; validated by obtaining the full set of txs, and the only recourse is&lt;br/&gt;&amp;gt; dropping (etc.) the peer, as is the case with single txs. Relying on the&lt;br/&gt;&amp;gt; existing message is simpler, more consistent, and more efficient.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&amp;gt; Is it plausible to add the graph in?&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Likewise, I think you&amp;#39;d have to have the graph info from many nodes if&lt;br/&gt;&amp;gt; you&amp;#39;re&lt;br/&gt;&amp;gt; &amp;gt; going to make decisions based on it and don&amp;#39;t want hostile peers to be&lt;br/&gt;&amp;gt; able to&lt;br/&gt;&amp;gt; &amp;gt; trick you into ignoring txs.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Other idea: what if you encode the parent txs as a short hash of the&lt;br/&gt;wtxid&lt;br/&gt;&amp;gt; &amp;gt; (something like bip152 short ids? perhaps seeded per peer so collisions&lt;br/&gt;&amp;gt; will&lt;br/&gt;&amp;gt; &amp;gt; be different per peer?) and include that in the inv announcement? Would&lt;br/&gt;&amp;gt; &amp;gt; that work to avoid a round trip almost all of the time, while still&lt;br/&gt;giving&lt;br/&gt;&amp;gt; you&lt;br/&gt;&amp;gt; &amp;gt; enough info to save bw by deduping parents?&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; As I suggested earlier, a package is fundamentally a compact block (or&lt;br/&gt;&amp;gt; block) announcement without the header. Compact block (BIP152)&lt;br/&gt;&amp;gt; announcement&lt;br/&gt;&amp;gt; is already well-defined and widely implemented. A node should never be&lt;br/&gt;&amp;gt; required to retain an orphan, and BIP152 ensures this is not required.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Once a validated set of txs within the package has been obtained with&lt;br/&gt;&amp;gt; sufficient fee, a fee-optimal node would accept the largest subgraph of&lt;br/&gt;the&lt;br/&gt;&amp;gt; package that conforms to fee constraints and drop any peer that provides a&lt;br/&gt;&amp;gt; package for which the full graph does not.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Let us not reinvent the wheel and/or introduce accidental complexity. I&lt;br/&gt;see&lt;br/&gt;&amp;gt; no reason why packaging is not simply BIP152 without the &amp;#39;header&amp;#39; field,&lt;br/&gt;an&lt;br/&gt;&amp;gt; updated protocol version, and the following sort of changes to names:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; sendpkg&lt;br/&gt;&amp;gt; MSG_CMPCT_PKG&lt;br/&gt;&amp;gt; cmpctpkg&lt;br/&gt;&amp;gt; getpkgtxn&lt;br/&gt;&amp;gt; pkgtxn&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; For a maximum 25 transactions,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;23*24/2 = 276, seems like 36 bytes for a child-with-parents package.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; If you&amp;#39;re doing short ids that&amp;#39;s maybe 25*4B=100B already, then the&lt;br/&gt;above&lt;br/&gt;&amp;gt; is&lt;br/&gt;&amp;gt; &amp;gt; up to 36% overhead, I guess. Might be worth thinking more about, but&lt;br/&gt;&amp;gt; maybe&lt;br/&gt;&amp;gt; &amp;gt; more interesting with ancestors than just parents.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;Also side note, since there are no size/count params,&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Size is restricted in the same manner as block and transaction broadcasts,&lt;br/&gt;&amp;gt; by consensus. If the fee rate is sufficient there would be no reason to&lt;br/&gt;&amp;gt; preclude any valid size up to what can be mined in one block (packaging&lt;br/&gt;&amp;gt; across blocks is not economically rational under the assumption that one&lt;br/&gt;&amp;gt; miner cannot expect to mine multiple blocks in a row). Count is&lt;br/&gt;incorporated&lt;br/&gt;&amp;gt; into BIP152 as &amp;#39;shortids_length&amp;#39;.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; wondering if we&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;should just have &amp;#34;version&amp;#34; in &amp;#34;sendpackages&amp;#34; be a bit field instead of&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;sending a message for each version. 32 versions should be enough right?&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Adding versioning to individual protocols is just a reflection of the&lt;br/&gt;&amp;gt; insufficiency of the initial protocol versioning design, and that of the&lt;br/&gt;&amp;gt; various ad-hoc changes to it (including yet another approach in this&lt;br/&gt;&amp;gt; proposal) that have been introduced to compensate for it, though I&amp;#39;ll&lt;br/&gt;&amp;gt; address this in an independent post at some point.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Best,&lt;br/&gt;&amp;gt; e&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Maybe but a couple of messages per connection doesn&amp;#39;t really seem worth&lt;br/&gt;&amp;gt; &amp;gt; arguing about?&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Cheers,&lt;br/&gt;&amp;gt; &amp;gt; aj&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; Sent from my phone.&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;
    </content>
    <updated>2023-06-07T23:09:51Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsv4x05pffu8kegc5ljqqncf2llxatytp3w2muvyyh96xmrx7v048gzyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxx3xl68</id>
    
      <title type="html">📅 Original date posted:2022-05-25 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsv4x05pffu8kegc5ljqqncf2llxatytp3w2muvyyh96xmrx7v048gzyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxx3xl68" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstfup6pn9207lqap693fz78cf9x5xm02zdmar20xjhz3zcfeqmmhgtvt2yw&#39;&gt;nevent1q…t2yw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-05-25&lt;br/&gt;📝 Original message:&amp;gt; From: bitcoin-dev &amp;lt;bitcoin-dev-bounces at lists.linuxfoundation.org&amp;gt; On&lt;br/&gt;Behalf&lt;br/&gt;&amp;gt; Of Anthony Towns via bitcoin-dev&lt;br/&gt;&amp;gt; Sent: Wednesday, May 25, 2022 11:56 AM&lt;br/&gt;&lt;br/&gt;&amp;gt; So the other thing is what happens if the peer announcing packages to us&lt;br/&gt;is&lt;br/&gt;&amp;gt; dishonest?&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; They announce pkg X, say X has parents A B C and the fee rate is garbage.&lt;br/&gt;But&lt;br/&gt;&amp;gt; actually X has parent D and the fee rate is excellent. Do we request the&lt;br/&gt;&amp;gt; package from another peer, or every peer, to double check? Otherwise we&amp;#39;re&lt;br/&gt;&amp;gt; allowing the first peer we ask about a package to censor that tx from us?&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I think the fix for that is just to provide the fee and weight when&lt;br/&gt;announcing&lt;br/&gt;&amp;gt; the package rather than only being asked for its info? Then if one peer&lt;br/&gt;makes&lt;br/&gt;&amp;gt; it sound like a good deal you ask for the parent txids from them, dedupe,&lt;br/&gt;&amp;gt; request, and verify they were honest about the parents.&lt;br/&gt;&lt;br/&gt;Single tx broadcasts do not carry an advertised fee rate, however the&amp;#39;&lt;br/&gt;feefilter&amp;#39; message (BIP133) provides this distinction. This should be&lt;br/&gt;interpreted as applicable to packages. Given this message there is no reason&lt;br/&gt;to send a (potentially bogus) fee rate with every package. It can only be&lt;br/&gt;validated by obtaining the full set of txs, and the only recourse is&lt;br/&gt;dropping (etc.) the peer, as is the case with single txs. Relying on the&lt;br/&gt;existing message is simpler, more consistent, and more efficient.&lt;br/&gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; Is it plausible to add the graph in?&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Likewise, I think you&amp;#39;d have to have the graph info from many nodes if&lt;br/&gt;you&amp;#39;re&lt;br/&gt;&amp;gt; going to make decisions based on it and don&amp;#39;t want hostile peers to be&lt;br/&gt;able to&lt;br/&gt;&amp;gt; trick you into ignoring txs.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Other idea: what if you encode the parent txs as a short hash of the wtxid&lt;br/&gt;&amp;gt; (something like bip152 short ids? perhaps seeded per peer so collisions&lt;br/&gt;will&lt;br/&gt;&amp;gt; be different per peer?) and include that in the inv announcement? Would&lt;br/&gt;&amp;gt; that work to avoid a round trip almost all of the time, while still giving&lt;br/&gt;you&lt;br/&gt;&amp;gt; enough info to save bw by deduping parents?&lt;br/&gt;&lt;br/&gt;As I suggested earlier, a package is fundamentally a compact block (or&lt;br/&gt;block) announcement without the header. Compact block (BIP152) announcement&lt;br/&gt;is already well-defined and widely implemented. A node should never be&lt;br/&gt;required to retain an orphan, and BIP152 ensures this is not required.&lt;br/&gt;&lt;br/&gt;Once a validated set of txs within the package has been obtained with&lt;br/&gt;sufficient fee, a fee-optimal node would accept the largest subgraph of the&lt;br/&gt;package that conforms to fee constraints and drop any peer that provides a&lt;br/&gt;package for which the full graph does not.&lt;br/&gt;&lt;br/&gt;Let us not reinvent the wheel and/or introduce accidental complexity. I see&lt;br/&gt;no reason why packaging is not simply BIP152 without the &amp;#39;header&amp;#39; field, an&lt;br/&gt;updated protocol version, and the following sort of changes to names:&lt;br/&gt;&lt;br/&gt;sendpkg&lt;br/&gt;MSG_CMPCT_PKG&lt;br/&gt;cmpctpkg&lt;br/&gt;getpkgtxn&lt;br/&gt;pkgtxn&lt;br/&gt;&lt;br/&gt;&amp;gt; &amp;gt; For a maximum 25 transactions,&lt;br/&gt;&amp;gt; &amp;gt;23*24/2 = 276, seems like 36 bytes for a child-with-parents package.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; If you&amp;#39;re doing short ids that&amp;#39;s maybe 25*4B=100B already, then the above&lt;br/&gt;is&lt;br/&gt;&amp;gt; up to 36% overhead, I guess. Might be worth thinking more about, but maybe&lt;br/&gt;&amp;gt; more interesting with ancestors than just parents.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt;Also side note, since there are no size/count params,&lt;br/&gt;&lt;br/&gt;Size is restricted in the same manner as block and transaction broadcasts,&lt;br/&gt;by consensus. If the fee rate is sufficient there would be no reason to&lt;br/&gt;preclude any valid size up to what can be mined in one block (packaging&lt;br/&gt;across blocks is not economically rational under the assumption that one&lt;br/&gt;miner cannot expect to mine multiple blocks in a row). Count is incorporated&lt;br/&gt;into BIP152 as &amp;#39;shortids_length&amp;#39;.&lt;br/&gt;&lt;br/&gt;&amp;gt; &amp;gt; wondering if we&lt;br/&gt;&amp;gt; &amp;gt;should just have &amp;#34;version&amp;#34; in &amp;#34;sendpackages&amp;#34; be a bit field instead of&lt;br/&gt;&amp;gt; &amp;gt;sending a message for each version. 32 versions should be enough right?&lt;br/&gt;&lt;br/&gt;Adding versioning to individual protocols is just a reflection of the&lt;br/&gt;insufficiency of the initial protocol versioning design, and that of the&lt;br/&gt;various ad-hoc changes to it (including yet another approach in this&lt;br/&gt;proposal) that have been introduced to compensate for it, though I&amp;#39;ll&lt;br/&gt;address this in an independent post at some point.&lt;br/&gt;&lt;br/&gt;Best,&lt;br/&gt;e&lt;br/&gt;&lt;br/&gt;&amp;gt; Maybe but a couple of messages per connection doesn&amp;#39;t really seem worth&lt;br/&gt;&amp;gt; arguing about?&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt; aj&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt; Sent from my phone.&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-07T23:09:51Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsyyy5uq6q607rtstuz8vxvs8e6njkjgppevke93uk40kyn9grwg7czyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxfdrhre</id>
    
      <title type="html">📅 Original date posted:2022-05-18 📝 Original message:Good ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsyyy5uq6q607rtstuz8vxvs8e6njkjgppevke93uk40kyn9grwg7czyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxfdrhre" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsz3w9w285dra2uwzcalnjvr2t6vafd5rp7namatvuwwhkyrg4cekq35ldnx&#39;&gt;nevent1q…ldnx&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-05-18&lt;br/&gt;📝 Original message:Good evening ZmnSCPxj,&lt;br/&gt;&lt;br/&gt;Sorry for the long delay...&lt;br/&gt;&lt;br/&gt;&amp;gt; Good morning e,&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Good evening ZmnSCPxj,&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; For the sake of simplicity, I&amp;#39;ll use the terms lender (Landlord), borrower&lt;br/&gt;&amp;gt; &amp;gt; (Lessor), interest (X), principal (Y), period (N) and maturity (height after N).&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; The lender in your scenario &amp;#34;provides use&amp;#34; of the principal, and is paid&lt;br/&gt;&amp;gt; &amp;gt; interest in exchange. This is of course the nature of lending, as a period&lt;br/&gt;&amp;gt; &amp;gt; without one&amp;#39;s capital incurs an opportunity cost that must be offset (by&lt;br/&gt;&amp;gt; &amp;gt; interest).&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; The borrower&amp;#39;s &amp;#34;use&amp;#34; of the principal is what is being overlooked. To&lt;br/&gt;&amp;gt; &amp;gt; generate income from capital one must produce something and sell it.&lt;br/&gt;&amp;gt; &amp;gt; Production requires both capital and time. Borrowing the principle for the&lt;br/&gt;&amp;gt; &amp;gt; period allows the borrower to produce goods, sell them, and return the&lt;br/&gt;&amp;gt; &amp;gt; &amp;#34;profit&amp;#34; as interest to the lender. Use implies that the borrower is spending&lt;br/&gt;&amp;gt; &amp;gt; the principle - trading it with others. Eventually any number of others end up&lt;br/&gt;&amp;gt; &amp;gt; holding the principle. At maturity, the coin is returned to the lender (by&lt;br/&gt;&amp;gt; &amp;gt; covenant). At that point, all people the borrower traded with are bag holders.&lt;br/&gt;&amp;gt; &amp;gt; Knowledge of this scam results in an imputed net present zero value for the&lt;br/&gt;&amp;gt; &amp;gt; borrowed principal.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; But in this scheme, the principal is not being used as money, but as a billboard&lt;br/&gt;&amp;gt; for an advertisement.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Thus, the bitcoins are not being used as money due to the use of the fidelity&lt;br/&gt;&amp;gt; bond to back a &amp;#34;you can totally trust me I am not a bot!!&amp;#34; assertion.&lt;br/&gt;&amp;gt; This is not the same as your scenario --- the funds are never transferred,&lt;br/&gt;&amp;gt; instead, a different use of the locked funds is invented.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; As a better analogy: I am borrowing a piece of gold, smelting it down to make&lt;br/&gt;&amp;gt; a nice shiny advertisement &amp;#34;I am totally not a bot!!&amp;#34;, then at the end of the&lt;br/&gt;&amp;gt; lease period, re-smelting it back and returning to you the same gold piece&lt;br/&gt;&amp;gt; (with the exact same atoms constituting it), plus an interest from my business,&lt;br/&gt;&amp;gt; which gained customers because of the shiny gold advertisement claiming &amp;#34;I&lt;br/&gt;&amp;gt; am totally not a bot!!&amp;#34;.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; That you use the same piece of gold for money does not preclude me using&lt;br/&gt;&amp;gt; the gold for something else of economic value, like making a nice shiny&lt;br/&gt;&amp;gt; advertisement, so I think your analysis fails there.&lt;br/&gt;&amp;gt; Otherwise, your analysis is on point, but analyses something else entirely.&lt;br/&gt;&lt;br/&gt;Ok, so you are suggesting the renting of someone else&amp;#39;s proof of &amp;#34;burn&amp;#34; (opportunity cost) to prove your necessary expense - the financial equivalent of your own burn. Reading through the thread, it looks like you are suggesting this as a way the cost of the burn might be diluted across multiple uses, based on the obscuration of the identity. And therefore identity (or at least global uniqueness) enters the equation. Sounds like a reasonable concern to me.&lt;br/&gt;&lt;br/&gt;It appears that the term &amp;#34;fidelity bond&amp;#34; is generally accepted, though I find this an unnecessarily misleading analogy. A bond is a loan (capital at risk), and a fidelity bond is also capital at risk (to provide assurance of some behavior). Proof of burn/work, such as Hash Cash (and Bitcoin), is merely demonstration of a prior expense. But in those cases, the expense is provably associated. As you have pointed out, if the burn is not associated with the specific use, it can be reused, diluting the demonstrated expense to an unprovable degree.&lt;br/&gt;&lt;br/&gt;I can see how you come to refer to selling the PoB as &amp;#34;lending&amp;#34; it, because the covenant on the underlying coin is time constrained. But nothing is actually lent here. The &amp;#34;advertisement&amp;#34; created by the covenant (and its presumed exclusivity) is sold. This is also entirely consistent with the idea that a loan implies capital at risk. While this is nothing more than a terminology nit, the use of &amp;#34;fidelity bond&amp;#34; and the subsequent description of &amp;#34;renting&amp;#34; (the fidelity bond) both led me down another path (Tamas&amp;#39; proposal for risk free lending under covenant, which we discussed here years ago).&lt;br/&gt;&lt;br/&gt;In any case, I tend to agree with your other posts on the subject. For the burn to be provably non-dilutable it must be a cost provably associated to the scenario which relies upon the cost. This provides the global uniqueness constraint (under cryptographic assumptions of difficulty).&lt;br/&gt;&lt;br/&gt;Best,&lt;br/&gt;e&lt;br/&gt;&lt;br/&gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt; ZmnSCPxj
    </content>
    <updated>2023-06-07T23:08:48Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsw2wx02mhuylnx8mmdj3z7amkefmkp5sej0csvl3epds6wcm3eh4gzyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vx9d8sfc</id>
    
      <title type="html">📅 Original date posted:2022-05-04 📝 Original message:Good ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsw2wx02mhuylnx8mmdj3z7amkefmkp5sej0csvl3epds6wcm3eh4gzyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vx9d8sfc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs92qzj9a4r5czs9q9h5lk3nwyd3v9e6z8q2t3txrju8xmt6egy8gqyuraps&#39;&gt;nevent1q…raps&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-05-04&lt;br/&gt;📝 Original message:Good evening ZmnSCPxj,&lt;br/&gt;&lt;br/&gt;For the sake of simplicity, I&amp;#39;ll use the terms lender (Landlord), borrower (Lessor), interest (X), principal (Y), period (N) and maturity (height after N).&lt;br/&gt;&lt;br/&gt;The lender in your scenario &amp;#34;provides use&amp;#34; of the principal, and is paid interest in exchange. This is of course the nature of lending, as a period without one&amp;#39;s capital incurs an opportunity cost that must be offset (by interest).&lt;br/&gt;&lt;br/&gt;The borrower&amp;#39;s &amp;#34;use&amp;#34; of the principal is what is being overlooked. To generate income from capital one must produce something and sell it. Production requires both capital and time. Borrowing the principle for the period allows the borrower to produce goods, sell them, and return the &amp;#34;profit&amp;#34; as interest to the lender. Use implies that the borrower is spending the principle - trading it with others. Eventually any number of others end up holding the principle. At maturity, the coin is returned to the lender (by covenant). At that point, all people the borrower traded with are bag holders. Knowledge of this scam results in an imputed net present zero value for the borrowed principal.&lt;br/&gt;&lt;br/&gt;While the lack of usability is a cost to the lender, it is not a benefit to the borrower. The lender incurs no risk, and will obtain no reward - as the loan is of no value. Failure to deploy capital is an opportunity cost, and locking it up is not deployment.&lt;br/&gt;&lt;br/&gt;Now, even if we accept the generous (economically irrational) assumption that money must increase in price (i.e. trades from more goods) over any given period, we are still left with the observation that the presumed appreciation would accrue to the lender absent lending, making it pointless.&lt;br/&gt;&lt;br/&gt;e&lt;br/&gt;&lt;br/&gt;&amp;gt; -----Original Message-----&lt;br/&gt;&amp;gt; From: ZmnSCPxj &amp;lt;ZmnSCPxj at protonmail.com&amp;gt;&lt;br/&gt;&amp;gt; Sent: Tuesday, May 3, 2022 7:37 PM&lt;br/&gt;&amp;gt; To: Eric Voskuil &amp;lt;eric at voskuil.org&amp;gt;&lt;br/&gt;&amp;gt; Cc: Chris Belcher &amp;lt;belcher at riseup.net&amp;gt;; Bitcoin Protocol Discussion &amp;lt;bitcoin-&lt;br/&gt;&amp;gt; dev at lists.linuxfoundation.org&amp;gt;&lt;br/&gt;&amp;gt; Subject: Re: [bitcoin-dev] BIP proposal: Timelocked address fidelity bond for&lt;br/&gt;&amp;gt; BIP39 seeds&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Good morning e,&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; It looks like you are talking about lending where the principal return is&lt;br/&gt;&amp;gt; guaranteed by covenant at maturity. This make the net present value of the&lt;br/&gt;&amp;gt; loan zero.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I am talking about lending where:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; * Lessor pays landlord X satoshis in rent.&lt;br/&gt;&amp;gt; * Landlord provides use of the fidelity bond coin (value Y) for N blocks.&lt;br/&gt;&amp;gt; * Landlord gets the entire fidelity bond amount (Y) back.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Thus, the landlord gets X &#43; Y satoshis, earning X satoshis, at the cost of having Y&lt;br/&gt;&amp;gt; satoshis locked for N blocks.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; So I do not understand why the value of this, to the landlord, would be 0.&lt;br/&gt;&amp;gt; Compare to a simple HODL strategy, where I lock Y satoshis for N blocks and&lt;br/&gt;&amp;gt; get Y satoshi back.&lt;br/&gt;&amp;gt; Or are you saying that a simple HODL strategy is of negative value and that&lt;br/&gt;&amp;gt; &amp;#34;zero value&amp;#34; is the point where you actively invest all your savings?&lt;br/&gt;&amp;gt; Or are you saying that HODL strategy is of some value since it still allows you&lt;br/&gt;&amp;gt; to spend funds freely in the N blocks you are HODLing them, and the option to&lt;br/&gt;&amp;gt; spend is of value, while dedfinitely locking the value Y for N blocks is equal to&lt;br/&gt;&amp;gt; the value X of the rent paid (and thus net zero value)?&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt; ZmnSCPxj
    </content>
    <updated>2023-06-07T23:08:47Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsgq6j0uutcdwa5keuhzd49ppx20328z9awrrmwdyntm24ykhtk9jgzyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxsct6zy</id>
    
      <title type="html">📅 Original date posted:2022-01-20 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsgq6j0uutcdwa5keuhzd49ppx20328z9awrrmwdyntm24ykhtk9jgzyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxsct6zy" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvett022md4tw9v7ns49fjmez5y0xm7hcxnrul9f52fllfgcqldcspnpux7&#39;&gt;nevent1q…pux7&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-01-20&lt;br/&gt;📝 Original message:&amp;gt; BIP8 is also BIP9 based, and ST is its own thing that&amp;#39;s neither BIP8 nor BIP9, so characterization one way or another is moot IMO.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;For a selective definition of “based” you can draw any conclusion you desire. However I was very clear, as was Luke, and the history on this issue is equally clear, that the *only* material distinction (and the one that we are discussing) is activation with or without majority hash power support. BIP9/ST requires this support, BIP8 does not. The characterization is not moot. It is the central issue and always has been. There was no compromise on this question made in Taproot.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;e&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;From: Billy Tetrud &amp;lt;billy.tetrud at gmail.com&amp;gt; &lt;br/&gt;Sent: Thursday, January 20, 2022 7:23 AM&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Thank you Eric for pointing out the factual errors in LukeJr&amp;#39;s mention and implications around BIP8. The fact is that the ST pull request was described as  &amp;lt;&lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/21377&amp;gt&#34;&gt;https://github.com/bitcoin/bitcoin/pull/21377&amp;gt&lt;/a&gt;; &amp;#34;BIP9-based&amp;#34;. TBH BIP8 is also BIP9 based, and ST is its own thing that&amp;#39;s neither BIP8 nor BIP9, so characterization one way or another is moot IMO. In any case, I also agree with Michael that this isn&amp;#39;t the place to have a long discussion about activation method. That discussion should be kept separate. I&amp;#39;d go so far to say that BIPs should not advocate for any particular activation method, but should only go so far as to mention what types of activation methods are possible (if some types aren&amp;#39;t possible for some reason). Separation of concerns would be very useful on that front to reduce noise in conversations.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Thanks,&lt;br/&gt;&lt;br/&gt;BT&lt;br/&gt;&lt;br/&gt; &lt;br/&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/20220120/05477ab0/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220120/05477ab0/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T23:02:34Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs2s2m70kjk8u47gn9cp3teyn0d5d3m3z5crjvz5ypa48pcw47enqgzyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxa2s7w3</id>
    
      <title type="html">📅 Original date posted:2022-01-18 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs2s2m70kjk8u47gn9cp3teyn0d5d3m3z5crjvz5ypa48pcw47enqgzyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxa2s7w3" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspczwrfymzqddnlhmj3nk0x4lzmas9yp28elkg70lhcxcx7ymt8gs3xpltt&#39;&gt;nevent1q…pltt&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-01-18&lt;br/&gt;📝 Original message:&amp;gt; -----Original Message-----&lt;br/&gt;&amp;gt; From: Luke Dashjr &amp;lt;luke at dashjr.org&amp;gt;&lt;br/&gt;&amp;gt; Sent: Tuesday, January 18, 2022 2:10 PM&lt;br/&gt;&amp;gt; To: eric at voskuil.org&lt;br/&gt;&amp;gt; Cc: &amp;#39;Bitcoin Protocol Discussion&amp;#39; &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt;&lt;br/&gt;&amp;gt; Subject: Re: [bitcoin-dev] CTV BIP review&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; On Tuesday 18 January 2022 22:02:24 eric at voskuil.org wrote:&lt;br/&gt;&amp;gt; &amp;gt; The only material distinction between BIP9 and BIP8 is that the latter&lt;br/&gt;&amp;gt; &amp;gt; may activate without signaled support of hash power enforcement.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; As unenforced soft forks are not &amp;#34;backward compatible&amp;#34; they produce a&lt;br/&gt;&amp;gt; &amp;gt; chain split.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Enforcement of the Bitcoin consensus protocol is by users, not miners.&lt;br/&gt;&lt;br/&gt;Given that I stated &amp;#34;hash power enforcement&amp;#34; it is quite clear that this is&lt;br/&gt;in fact only produced by mining. You are misrepresenting my statement to&lt;br/&gt;make an emotional appeal. Without &amp;#34;hash power enforcement&amp;#34;, a soft fork is&lt;br/&gt;NOT backward compatible.&lt;br/&gt;&lt;br/&gt;&amp;#34;[enforcement of] consensus protocol&amp;#34; is of course by merchants, but that is&lt;br/&gt;not the question at hand. The question is explicitly compatibility. Anyone&lt;br/&gt;can activate a soft fork at any time, but without &amp;#34;hash power enforcement&amp;#34;&lt;br/&gt;soft forks are NOT backward compatible.&lt;br/&gt;&lt;br/&gt;&amp;gt; Softforks never produce a chain split. Miners can, and might try to do it&lt;br/&gt;to cause disruption in retaliation, but the softfork itself does not.&lt;br/&gt;&lt;br/&gt;Maybe you are trying to split hairs given the fact that blocks are produced&lt;br/&gt;only by miners, so only miners can &amp;#34;cause&amp;#34; a split.&lt;br/&gt;&lt;br/&gt;But through not intention (&amp;#34;disruption in retaliation&amp;#34;) whatsoever by&lt;br/&gt;mining, a soft fork will result in those activating the rule being split off&lt;br/&gt;the original chain unless majority hash power enforces the rule. The fact&lt;br/&gt;that doing nothing apart from deploying the rule will result in a split is&lt;br/&gt;the very definition of NOT compatible.&lt;br/&gt;&lt;br/&gt;I assume you will argue that the original chain is not &amp;#34;valid&amp;#34; and therefore&lt;br/&gt;irrelevant (as if no chain split occurred). But again the point is about&lt;br/&gt;compatibility. The appearance of multiple chains, which appear valid&lt;br/&gt;according to either the previous or new rules, is obviously the&lt;br/&gt;incompatibility.&lt;br/&gt;&lt;br/&gt;I shouldn&amp;#39;t have to point this out, but observed chain splits have occurred&lt;br/&gt;in more the one large scale soft fork deployment. These splits have only&lt;br/&gt;been resolved through hash power enforcement. In 2010 it took 51 blocks&lt;br/&gt;before the current chain took the lead. In 2012 minority chains persisted&lt;br/&gt;for months. The deployment of soft forks caused these splits, NOT the&lt;br/&gt;actions of miners. And unless majority hash power eventually enforces it,&lt;br/&gt;the soft fork branch necessarily dies.&lt;br/&gt;&lt;br/&gt;&amp;gt; &amp;gt; It was for this reason alone that BIP8 never gained sufficient&lt;br/&gt;&amp;gt; &amp;gt; support.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; BIP 8 in fact achieved consensus for Taproot activation.&lt;br/&gt;&lt;br/&gt;Please define &amp;#34;achieved consensus&amp;#34;, because by any definition I can imagine,&lt;br/&gt;this is simply untrue.&lt;br/&gt;&lt;br/&gt;&amp;gt; &amp;gt; This is one of the most misleading statements I&amp;#39;ve seen here. It&amp;#39;s not&lt;br/&gt;&amp;gt; &amp;gt; technically a lie, because it states what &amp;#34;should&amp;#34; happen. But it is&lt;br/&gt;&amp;gt; &amp;gt; clearly intended to lead people to believe that BIP8 was actually used&lt;br/&gt;&amp;gt; &amp;gt; (&amp;#34;again&amp;#34;) - it was not. ST was some technical tweaks to BIP9.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; BIP 8 was used to activate Taproot.&lt;br/&gt;&lt;br/&gt;No, it wasn&amp;#39;t. I find it hard to imaging how you rationalize such grossly&lt;br/&gt;misleading statements.&lt;br/&gt;&lt;br/&gt;&amp;gt; &amp;gt; The outright deception around this one topic has led to significant&lt;br/&gt;&amp;gt; &amp;gt; unnecessary conflict in the community. Make your argument, but make it&lt;br/&gt;&amp;gt; &amp;gt; honestly.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; You are the one attempting to deceive here.&lt;br/&gt;&lt;br/&gt;That is for others to decide. I appreciate your responses above, since they&lt;br/&gt;certainly help clarify what is happening here.&lt;br/&gt;&lt;br/&gt;e
    </content>
    <updated>2023-06-07T23:02:32Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqst0hn95c9jn7m3tdm6jx60k5yqgyu6kqcjzwj8vg9lmpt788vyjmczyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxnrqwwf</id>
    
      <title type="html">📅 Original date posted:2022-01-18 📝 Original message:I ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqst0hn95c9jn7m3tdm6jx60k5yqgyu6kqcjzwj8vg9lmpt788vyjmczyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxnrqwwf" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxgdl0nwjujjp4nwahw7j43m3mhj4pcrqhshrxlh68lutqqyazqhs7zuq5q&#39;&gt;nevent1q…uq5q&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-01-18&lt;br/&gt;📝 Original message:I won&amp;#39;t comment on CTV at this point, but these comments on BIP9 and BIP8&lt;br/&gt;deserve a response, given the intense obfuscation below.&lt;br/&gt;&lt;br/&gt;The only material distinction between BIP9 and BIP8 is that the latter may&lt;br/&gt;activate without signaled support of hash power enforcement.&lt;br/&gt;&lt;br/&gt;As unenforced soft forks are not &amp;#34;backward compatible&amp;#34; they produce a chain&lt;br/&gt;split. It was for this reason alone that BIP8 never gained sufficient&lt;br/&gt;support.&lt;br/&gt;&lt;br/&gt;Taproot activation was in no way a compromise between enforced and&lt;br/&gt;unenforced activation. Unenforced activation was wholly rejected.&lt;br/&gt;&lt;br/&gt;&amp;gt; BIP 9 at this point represents developers attempting to disregard and&lt;br/&gt;impose their will over community consensus, as well as an attempt to force a&lt;br/&gt;miner veto backdoor/vulnerability on deployment. It should never be used&lt;br/&gt;again.&amp;#34;&lt;br/&gt;&lt;br/&gt;This appears to be the start of another marketing campaign, an attempt to&lt;br/&gt;reclaim Taproot activation as some sort of &amp;#34;win&amp;#34; over the &amp;#34;miner backdoor&amp;#34;.&lt;br/&gt;The same sort of misleading campaign was waged in the wake of segwit, and&lt;br/&gt;led directly to the conflict around Taproot activation.&lt;br/&gt;&lt;br/&gt;The differences between ST and BIP9 are inconsequential in this regard. The&lt;br/&gt;criticism you are making of BIP9 above applies equally to ST.&lt;br/&gt;&lt;br/&gt;&amp;gt; As with Taproot, any future deployments should use BIP 8 again&lt;br/&gt;&lt;br/&gt;This is one of the most misleading statements I&amp;#39;ve seen here. It&amp;#39;s not&lt;br/&gt;technically a lie, because it states what &amp;#34;should&amp;#34; happen. But it is clearly&lt;br/&gt;intended to lead people to believe that BIP8 was actually used (&amp;#34;again&amp;#34;) -&lt;br/&gt;it was not. ST was some technical tweaks to BIP9.&lt;br/&gt;&lt;br/&gt;I am making no statement whatsoever on what &amp;#34;should&amp;#34; happen. My interest is&lt;br/&gt;in providing accurate information so that people can make informed&lt;br/&gt;decisions.&lt;br/&gt;&lt;br/&gt;The outright deception around this one topic has led to significant&lt;br/&gt;unnecessary conflict in the community. Make your argument, but make it&lt;br/&gt;honestly.&lt;br/&gt;&lt;br/&gt;e&lt;br/&gt;&lt;br/&gt;&amp;gt; -----Original Message-----&lt;br/&gt;&amp;gt; From: bitcoin-dev &amp;lt;bitcoin-dev-bounces at lists.linuxfoundation.org&amp;gt; On&lt;br/&gt;Behalf&lt;br/&gt;&amp;gt; Of Luke Dashjr via bitcoin-dev&lt;br/&gt;&amp;gt; Sent: Tuesday, January 18, 2022 1:19 PM&lt;br/&gt;&amp;gt; To: bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; Subject: [bitcoin-dev] CTV BIP review&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; tl;dr: I don&amp;#39;t think CTV is ready yet (but probably close), and in any&lt;br/&gt;case&lt;br/&gt;&amp;gt; definitely not worth reviving BIP 9 with its known flaws and&lt;br/&gt;vulnerability.&lt;br/&gt;...&lt;br/&gt;&amp;gt; &amp;gt;Deployment could be done via BIP 9 VersionBits deployed through Speedy&lt;br/&gt;&amp;gt; Trial.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Hard NACK on this. BIP 9 at this point represents developers attempting to&lt;br/&gt;&amp;gt; disregard and impose their will over community consensus, as well as an&lt;br/&gt;&amp;gt; attempt to force a miner veto backdoor/vulnerability on deployment. It&lt;br/&gt;&amp;gt; should never be used again.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Speedy Trial implemented with BIP 8 made sense* as a possible neutral&lt;br/&gt;&amp;gt; compromise between LOT=True and LOT=False (which could be deployed&lt;br/&gt;&amp;gt; prior to or in parallel), but using BIP 9 would destroy this.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; As with Taproot, any future deployments should use BIP 8 again, until a&lt;br/&gt;better&lt;br/&gt;&amp;gt; solution is developed. Reverting back to a known flawed and vulnerable&lt;br/&gt;&amp;gt; activation method should not be done, and it would be better not to deploy&lt;br/&gt;&amp;gt; CTV at all at such an expense.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; The fact that certain developers attempted to deploy a BIP 9 alternative&lt;br/&gt;&amp;gt; activation for Taproot against community consensus, and that even managed&lt;br/&gt;&amp;gt; to get released as &amp;#34;Bitcoin Core&amp;#34;, makes it all the more important that&lt;br/&gt;the&lt;br/&gt;&amp;gt; community firmly rejects any further action to force this regression.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; * it is my opinion a BIP 8 ST would be an okay compromise under those&lt;br/&gt;&amp;gt; circumstances; others do disagree that ST is acceptable at all
    </content>
    <updated>2023-06-07T23:02:31Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsg440k6xet5tcagez0eyge7xvxc4vjem26d4uepr0jfj8sxyddrqczyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vx7l49na</id>
    
      <title type="html">📅 Original date posted:2021-10-26 📝 Original message:Agree ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsg440k6xet5tcagez0eyge7xvxc4vjem26d4uepr0jfj8sxyddrqczyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vx7l49na" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsy95zp0gpedhkerxwxunm408y4y98vclgfma0zmnc9t962ta4ay8sf6mtyc&#39;&gt;nevent1q…mtyc&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-10-26&lt;br/&gt;📝 Original message:Agree ZmnSCPxj&lt;br/&gt;&lt;br/&gt;Hi lisa,&lt;br/&gt;&lt;br/&gt;I&amp;#39;m all for removing it from memory. :) Did that a while ago. We just call it the transaction pool.&lt;br/&gt;&lt;br/&gt;There will always be unconfirmed transactions floating around (even just from reorgs). Best to store them somewhere. Disk is cheap, block distribution (e.g. compact) works better if you have them already prevalidated, even if you aren&amp;#39;t going to mine on them.&lt;br/&gt;&lt;br/&gt;How you get them technically is not so important. There will always be a set of unconfirmed transactions, it&amp;#39;s conceptual. But above all, anonymity is very important - on both ends. This is why transactions have integral fees. Anyone can get paid to mine, just need the txs.&lt;br/&gt;&lt;br/&gt;Mining may be semi-restricted set is today, it may not be tomorrow. Imagine China everywhere, just like financial controls already are. That&amp;#39;s when you see what Bitcoin can do from a security standpoint.&lt;br/&gt;&lt;br/&gt;Treating miners as someone else is a poor security architecture. Everyone should look like a potential miner on the network, and a potential spender.&lt;br/&gt;&lt;br/&gt;I think you are thinking of it a bit backwards. A node is a big pool of connected transactions. Block headers come along occasionally, and impose order on a subset of them.&lt;br/&gt;&lt;br/&gt;e&lt;br/&gt;&lt;br/&gt;&amp;gt; -----Original Message-----&lt;br/&gt;&amp;gt; From: bitcoin-dev &amp;lt;bitcoin-dev-bounces at lists.linuxfoundation.org&amp;gt; On Behalf&lt;br/&gt;&amp;gt; Of ZmnSCPxj via bitcoin-dev&lt;br/&gt;&amp;gt; Sent: Tuesday, October 26, 2021 1:02 AM&lt;br/&gt;&amp;gt; To: lisa neigut &amp;lt;niftynei at gmail.com&amp;gt;; Bitcoin Protocol Discussion &amp;lt;bitcoin-&lt;br/&gt;&amp;gt; dev at lists.linuxfoundation.org&amp;gt;&lt;br/&gt;&amp;gt; Subject: Re: [bitcoin-dev] death to the mempool, long live the mempool&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Good morning lisa,&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Hi all,&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; In a recent conversation with @glozow, I had the realization that the&lt;br/&gt;&amp;gt; mempool is obsolete and should be eliminated.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Instead, users should submit their transactions directly to mining pools,&lt;br/&gt;&amp;gt; preferably over an anonymous communication network such as tor. This can&lt;br/&gt;&amp;gt; easily be achieved by mining pools running a tor onion node for this express&lt;br/&gt;&amp;gt; purpose (or via a lightning network extension etc)&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Mempools make sense in a world where mining is done by a large number&lt;br/&gt;&amp;gt; of participating nodes, eg where the block template is constructed by a&lt;br/&gt;&amp;gt; majority of the participants on the network. In this case, it is necessary to&lt;br/&gt;&amp;gt; socialize pending transaction data to all participants, as you don’t know which&lt;br/&gt;&amp;gt; participant will be constructing the winning block template.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; In reality however, mempool relay is unnecessary where the majority of&lt;br/&gt;&amp;gt; hashpower and thus block template creation is concentrated in a semi-&lt;br/&gt;&amp;gt; restricted set.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Removing the mempool would greatly reduce the bandwidth requirement&lt;br/&gt;&amp;gt; for running a node, keep intentionality of transactions private until&lt;br/&gt;&amp;gt; confirmed/irrevocable, and naturally resolve all current issues inherent in&lt;br/&gt;&amp;gt; package relay and rbf rules. It also resolves the recent minimum relay&lt;br/&gt;&amp;gt; questions, as relay is no longer a concern for unmined transactions.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Provided the number of block template producing actors remains beneath,&lt;br/&gt;&amp;gt; say 1000, it’d be quite feasible to publish a list of tor endpoints that nodes can&lt;br/&gt;&amp;gt; independently  &#43; directly submit their transactions to. In fact, merely allowing&lt;br/&gt;&amp;gt; users to select their own list of endpoints to use alternatively to the mempool&lt;br/&gt;&amp;gt; would be a low effort starting point for the eventual replacement.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; On the other hand, removing the mempool would greatly complicate solo&lt;br/&gt;&amp;gt; mining and would also make BetterHash proposals, which move the block&lt;br/&gt;&amp;gt; template construction away from a centralized mining pool back to the&lt;br/&gt;&amp;gt; individual miner, much more difficult. It also makes explicit the target for DoS&lt;br/&gt;&amp;gt; attacks.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Unfortunately, this requires that miners have a persistent identity by which&lt;br/&gt;&amp;gt; they can be contacted.&lt;br/&gt;&amp;gt; While pseudonymity is possible, we all know that in practice, it can be easily&lt;br/&gt;&amp;gt; pierced.&lt;br/&gt;&amp;gt; For instance, consider that the injunction against address reuse is a&lt;br/&gt;&amp;gt; recognition that a persistent pseudonym is a privacy leak.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Ideally, the mining set should be as anonymous as possible, as some attacks&lt;br/&gt;&amp;gt; are possible with sufficient hashpower, and making the miners keep a&lt;br/&gt;&amp;gt; persistent identity by which they can be found may enable easier state co-&lt;br/&gt;&amp;gt; option of mines.&lt;br/&gt;&amp;gt; The strongest man on Earth cannot destroy his enemy if he does not know&lt;br/&gt;&amp;gt; who and where his enemy is; so with enemies of Bitcoin and the miners of&lt;br/&gt;&amp;gt; Bitcoin.&lt;br/&gt;&amp;gt; (granted, near every darned mining pool self-identifies, sigh, wtf)&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Ideally, the set of relaying nodes hides the miners.&lt;br/&gt;&amp;gt; Of course, in practice we can have a good guess of which relaying nodes are&lt;br/&gt;&amp;gt; miners and which are not -- those who get blocks earlier are probably miners.&lt;br/&gt;&amp;gt; Against this, we should note that this method of identification is probabilistic&lt;br/&gt;&amp;gt; and not absolute (whereas miners advertising their services so they can be&lt;br/&gt;&amp;gt; contacted and given unconfirmed transactions are a *definite* flag &amp;#34;I am a&lt;br/&gt;&amp;gt; miner&amp;#34;).&lt;br/&gt;&amp;gt; And there is always the chance, however slim, that some node that has not&lt;br/&gt;&amp;gt; been getting blocks &amp;#34;early&amp;#34; suddenly decides to buy a mining rig and start&lt;br/&gt;&amp;gt; mining.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; In short: what you propose is to switch to side fee markets (as I understand it).&lt;br/&gt;&amp;gt; Non-side fees are simply an anonymity layer, by which neither the miner nor&lt;br/&gt;&amp;gt; the transactor need to know the identity of each other, they simply broadcast&lt;br/&gt;&amp;gt; to the wider world.&lt;br/&gt;&amp;gt; This anonymity layer remains important, however, as they help maintain the&lt;br/&gt;&amp;gt; fee market: &lt;a href=&#34;https://github.com/libbitcoin/libbitcoin-system/wiki/Side-Fee-&#34;&gt;https://github.com/libbitcoin/libbitcoin-system/wiki/Side-Fee-&lt;/a&gt;&lt;br/&gt;&amp;gt; Fallacy&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Ultimately, my objection here is simply that this requires miners to identify&lt;br/&gt;&amp;gt; themselves.&lt;br/&gt;&amp;gt; In practice, miners already identify themselves (even though they really,&lt;br/&gt;&amp;gt; really should not), so this objection may be moot at this point.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; (Not to mention: something like P2Pool, as-is, would not work well in that&lt;br/&gt;&amp;gt; model; you would need to implement a mempool for those as well)&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; 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-07T23:00:18Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsdzrq5r5qny9s0py9nhalgsrhkhnsde7rpdeqce23hgfxs3r8tf8qzyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vx5leqcc</id>
    
      <title type="html">📅 Original date posted:2021-07-09 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsdzrq5r5qny9s0py9nhalgsrhkhnsde7rpdeqce23hgfxs3r8tf8qzyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vx5leqcc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspecdmq6s0g9yhwqpwg2npr8jsyydpv6qrewswdhtygja20e45xjqyu7wcz&#39;&gt;nevent1q…7wcz&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-07-09&lt;br/&gt;📝 Original message:&amp;gt; Good morning e,&lt;br/&gt;&lt;br/&gt;Good afternoon Z.&lt;br/&gt;&lt;br/&gt;&amp;gt; &amp;gt;     Any expectation of interest implies borrowing, in other words, a loan to&lt;br/&gt;&amp;gt; the bank.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Perhaps this is the key point of contention?&lt;br/&gt;&lt;br/&gt;I&amp;#39;m not sure, but from my observations it&amp;#39;s long been a point of confusion in Bitcoiner understanding of banking.&lt;br/&gt;&lt;br/&gt;To put a finer point on it, Rothbard&amp;#39;s criteria is a vague in a couple ways. Earnings that offset fees are also &amp;#34;interest&amp;#34; in the economic context - in which he writes. So even a zero-interest account (or negative up to the full cost of maintaining the account) qualifies under this criterion. Yet he is careful to say &amp;#34;implies&amp;#34;. The arrangement may of course be explicit, in which case one no longer relies on implied contract, one relies on explicit contract. Finally, one may &amp;#34;expect&amp;#34; no interest, and even pay fees, but it may nonetheless be a loan. This is what contracts are for.&lt;br/&gt;&lt;br/&gt;If one contracts for warehousing service, such Safe Deposit, as opposed to a time deposit, such as Certificate of Deposit, Savings Account, or Checking Account, then one gets a warehousing service - full fees and a contractual obligation to maintain 100% of the deposit. There are also money transmission services that move money around for a fee. The inability to distinguish money from credit (including money substitutes) and warehousing from investment (including &amp;#34;banking&amp;#34;) leads directly to false conclusions regarding money and banking. Unfortunately a good number of self-described &amp;#34;Austrians&amp;#34; perpetuate these errors.&lt;br/&gt;&lt;br/&gt;&amp;gt; In cases where Bitcoin is given over to an exchange, there is no expectation&lt;br/&gt;&amp;gt; of interest, at least in the sense that there is no expectation that the number&lt;br/&gt;&amp;gt; of Bitcoins deposited in the exchange *increase* over time.&lt;br/&gt;&amp;gt; (There may be an expectation of an increase in the number of green-ink&lt;br/&gt;&amp;gt; historical commemoration papers it can buy, but the point is that the number&lt;br/&gt;&amp;gt; of Bitcoins held in behalf of the user is not expected to change)&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; The expectation is that exchanges earn money from the difference between&lt;br/&gt;&amp;gt; buy-price and sell-price, and the money-warehousing service they provide is&lt;br/&gt;&amp;gt; simply provided for free to facilitate their *main* business (i.e. brokers for&lt;br/&gt;&amp;gt; *exchange*).&lt;br/&gt;&amp;gt; Thus, the expectation is that the exchange provides a warehouse service,&lt;br/&gt;&amp;gt; not a bank service, and this service is provided for free since it enables their&lt;br/&gt;&amp;gt; *real* business of earning from bid-ask spreads.&lt;br/&gt;&lt;br/&gt;I&amp;#39;m not aware of what are people&amp;#39;s expectations, nor would I judge what qualifies as someone&amp;#39;s &amp;#34;real&amp;#34; business, but a warehouse that facilitates trades for a fee is of course a possible business model. PayPal&amp;#39;s intended (real?) business model was to earn from the float. That didn&amp;#39;t pan out, because people didn&amp;#39;t retain money in their transmitter service. &lt;br/&gt;&lt;br/&gt;Exchanges that deal in monopoly money must move this through traditional finance. This incurs all manner of risk. When someone sends them monopoly money, there is no crypto-surety possible. This is part of their &amp;#34;reserve&amp;#34; just as is the other side of trades.&lt;br/&gt;&lt;br/&gt;What matters is what people contract for - agree to, voluntarily.&lt;br/&gt;&lt;br/&gt;&amp;gt; On the other hand, not your keys not your coins, so anyone who uses such a&lt;br/&gt;&amp;gt; warehouse has whatever happens to the funds coming for them...&lt;br/&gt;&lt;br/&gt;One of the essential benefits of Bitcoin being that you can be your own warehouse, and be your own money transmitter.&lt;br/&gt;&lt;br/&gt;But all production requires investment, which inherently entails letting go of your money, producing something with it, and selling it to people for other money. All investment is from someone&amp;#39;s &amp;#34;reserve&amp;#34;. Full reserve investment (including banking) is an oxymoron. So whether through exchanges or otherwise, there will be production, risk, loss and earnings. Otherwise there will be nothing at all to buy, and all money will be worthless. This idea of assuring that money is fully reserved applies only to that which one does not invest (one&amp;#39;s hoard); it does not apply to banks, or the capital of any other companies. If it can help people feel better about their Safe Deposit (warehousing), I&amp;#39;m all for it. But if one wants a 20% bitcoin reserve, one can certainly place 20% into cold storage.&lt;br/&gt;&lt;br/&gt;&amp;gt; And of course exchanges need not earn money *just* from bid-ask spreads&lt;br/&gt;&amp;gt; *in practice*, so they are unlikely to provide proof-of-reserves either.&lt;br/&gt;&lt;br/&gt;If they did not earn money as a bank, the explicit cost of their services would be that much higher. Which people prefer is of course entirely up to them. I don&amp;#39;t know which is more likely.&lt;br/&gt;&lt;br/&gt;&amp;gt; Indeed, money warehousing may very well be provided by means other than&lt;br/&gt;&amp;gt; proof-of-reserves, such as by using multisig the way Green wallet does, with&lt;br/&gt;&amp;gt; better security.&lt;br/&gt;&lt;br/&gt;Right, this is an aspect of using your own wallet.&lt;br/&gt;&lt;br/&gt;&amp;gt; Perhaps &amp;#34;pure exchanges&amp;#34; would be more amenable to such a scheme&lt;br/&gt;&amp;gt; rather than proof-of-reserves.&lt;br/&gt;&lt;br/&gt;Or simply pairing traders, which is of course an existing model.&lt;br/&gt;&lt;br/&gt;Best,&lt;br/&gt;e&lt;br/&gt;&lt;br/&gt;&amp;gt; Regards,&lt;br/&gt;&amp;gt; ZmnSCPxj
    </content>
    <updated>2023-06-07T22:56:49Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsy5ypp3zy5cvh2j95q60frmj75vet7z8k6sg647m4wpfguwcs7jmczyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vx0ha9fp</id>
    
      <title type="html">📅 Original date posted:2021-07-06 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsy5ypp3zy5cvh2j95q60frmj75vet7z8k6sg647m4wpfguwcs7jmczyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vx0ha9fp" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsv77h9jd2zyeapvte0v97hdplw690sechenqal9sy7hmytugd88ec7thaj8&#39;&gt;nevent1q…haj8&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-07-06&lt;br/&gt;📝 Original message:&amp;gt; you should check out some of the earlier work done here:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/olalonde/proof-of-solvency#assets-proofNothing&#34;&gt;https://github.com/olalonde/proof-of-solvency#assets-proofNothing&lt;/a&gt; in this &lt;br/&gt;&lt;br/&gt;Nothing here refutes what I have said. Furthermore it relies on the&lt;br/&gt;assumption that all assets and liabilities are provable. This is clearly&lt;br/&gt;prohibitive.&lt;br/&gt;&lt;br/&gt;&amp;gt; more than enough.&lt;br/&gt;&lt;br/&gt;Arbitrary and subjective.&lt;br/&gt;&lt;br/&gt;A business raises money (investment) so that it can spend more than it&lt;br/&gt;previously had. This is net &amp;#34;insolvency&amp;#34; until (and assuming) it produces&lt;br/&gt;and earns over time an amount sufficient to cover its capitalization and&lt;br/&gt;time value.&lt;br/&gt;&lt;br/&gt;These sort of schemes are relevant only to what Rothbard calls a money&lt;br/&gt;&amp;#34;warehouse&amp;#34; (a literal vault), which is explicitly not a &amp;#34;bank&amp;#34; (banks&lt;br/&gt;lend). Warehousing Bitcoin is a strange idea to start with. And given that&lt;br/&gt;they are so larded with trust and race conditions it&amp;#39;s hardly an improvement&lt;br/&gt;over holding your own keys.&lt;br/&gt;&lt;br/&gt;e&lt;br/&gt;&lt;br/&gt;&amp;gt; -----Original Message-----&lt;br/&gt;&amp;gt; From: bitcoin-dev &amp;lt;bitcoin-dev-bounces at lists.linuxfoundation.org&amp;gt; On&lt;br/&gt;&amp;gt; Behalf Of Erik Aronesty via bitcoin-dev&lt;br/&gt;&amp;gt; Sent: Tuesday, July 6, 2021 9:40 AM&lt;br/&gt;&amp;gt; To: Billy Tetrud &amp;lt;billy.tetrud at gmail.com&amp;gt;; Bitcoin Protocol Discussion&lt;br/&gt;&amp;gt; &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt;&lt;br/&gt;&amp;gt; Subject: Re: [bitcoin-dev] Proof of reserves - recording&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; you should check out some of the earlier work done here:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;a href=&#34;https://github.com/olalonde/proof-of-solvency#assets-proof&#34;&gt;https://github.com/olalonde/proof-of-solvency#assets-proof&lt;/a&gt;&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; to be honest, if any exchange supported that proof, it would be more than&lt;br/&gt;&amp;gt; enough.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; there&amp;#39;s really no way to prevent a smash-and-grab, but this does prevent a&lt;br/&gt;&amp;gt; slow-leak&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; On Mon, Jul 5, 2021 at 5:10 PM Billy Tetrud via bitcoin-dev &amp;lt;bitcoin-&lt;br/&gt;&amp;gt; dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; I had the idea recently for proof of reserves done in a way that can be&lt;br/&gt;used&lt;br/&gt;&amp;gt; to verify reserves are sufficient on an ongoing basis. I&amp;#39;m curious if&lt;br/&gt;there are&lt;br/&gt;&amp;gt; any current approaches out there to proof of reserves that are similar.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; The idea is to have users create actual private keys using a seed in&lt;br/&gt;pretty&lt;br/&gt;&amp;gt; much the normal way. Users would generate a public key from this seed to&lt;br/&gt;&amp;gt; represent their account, and would give the public key to the custodian to&lt;br/&gt;&amp;gt; represent their account in a public record of account balances.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; When a user&amp;#39;s account is credited, the custodian would update a map of&lt;br/&gt;&amp;gt; addresses (created from the public key of each account) to balances - this&lt;br/&gt;&amp;gt; map could be structured into a merkle tree in the usual &amp;#34;merkle approach&amp;#34;.&lt;br/&gt;&amp;gt; The custodian would also store funds on one or more HD wallets (each with&lt;br/&gt;&amp;gt; many addresses) and create a proof that they own each HD wallet. The proof&lt;br/&gt;&amp;gt; could be as simple as a single signature created with the xpub for the&lt;br/&gt;wallet,&lt;br/&gt;&amp;gt; which would be sufficient for proving ownership over the whole list/tree&lt;br/&gt;of&lt;br/&gt;&amp;gt; addresses.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; These two structures (the map and the HD wallet) would be combined and&lt;br/&gt;&amp;gt; hashed, and the hash published in an on chain transaction (possibly along&lt;br/&gt;&amp;gt; with a URI where the full data can be found), on something like a daily&lt;br/&gt;basis.&lt;br/&gt;&amp;gt; Software for each user could continuously validate that their account has&lt;br/&gt;a&lt;br/&gt;&amp;gt; balance that matches what it&amp;#39;s supposed to have, and could also verify&lt;br/&gt;that&lt;br/&gt;&amp;gt; owned addresses have funds that have at least as many coins as promised to&lt;br/&gt;&amp;gt; accounts. If these things aren&amp;#39;t verifiable (either because the balances&lt;br/&gt;total&lt;br/&gt;&amp;gt; to more than the HD wallet contains, or because of data unavailability),&lt;br/&gt;&amp;gt; people can raise hell about it.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; To give user&amp;#39;s additional proving ability, a receipt system could be&lt;br/&gt;added.&lt;br/&gt;&amp;gt; Users could request a receipt for any balance update. Eg the user would&lt;br/&gt;&amp;gt; create a message with a timestamp, their custodial &amp;#34;address&amp;#34;, and the new&lt;br/&gt;&amp;gt; balance. The user would sign this receipt and send it to the custodian,&lt;br/&gt;who&lt;br/&gt;&amp;gt; would also sign it and send it back. This way, if something goes wrong, a&lt;br/&gt;user&lt;br/&gt;&amp;gt; can use this signed receipt to show that the custodian did in fact promise&lt;br/&gt;a&lt;br/&gt;&amp;gt; new updated balance at a particular time (which would cover the case that&lt;br/&gt;&amp;gt; the custodian records the wrong value in their map). Conversely, the&lt;br/&gt;receipt&lt;br/&gt;&amp;gt; would be useful to honest custodians as well, since they could show the&lt;br/&gt;&amp;gt; user&amp;#39;s signed receipt request in the case a user is trying to lie about&lt;br/&gt;what&lt;br/&gt;&amp;gt; balance they should have. There is still the case that the custodian&lt;br/&gt;simply&lt;br/&gt;&amp;gt; refuses to return a signed receipt, in which case the user&amp;#39;s only recourse&lt;br/&gt;is to&lt;br/&gt;&amp;gt; yell about it immediately and demand a receipt or a refund.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Why record it on chain? Doing that gives a clear record of proof of&lt;br/&gt;reserves&lt;br/&gt;&amp;gt; that can be verified later by anyone in the future. It prevents a&lt;br/&gt;custodian&lt;br/&gt;&amp;gt; from being able to change history when it suits them (by creating a new&lt;br/&gt;&amp;gt; records with false timestamps in the past). Many of these records could be&lt;br/&gt;&amp;gt; aggregated together and recorded in the same transaction (with a single&lt;br/&gt;&amp;gt; hash), so a single transaction per day could record the records of all&lt;br/&gt;&amp;gt; participating custodians. If all custodians are using a standard system,&lt;br/&gt;one can&lt;br/&gt;&amp;gt; cross verify that addresses claimed by one custodian aren&amp;#39;t also claimed&lt;br/&gt;by&lt;br/&gt;&amp;gt; another custodian.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Even tho the user is responsible for their keys in order to properly&lt;br/&gt;verify,&lt;br/&gt;&amp;gt; losing the keys isn&amp;#39;t that big of a deal, since they could simply create a&lt;br/&gt;new&lt;br/&gt;&amp;gt; seed and give a new public key to the custodian - who would have other&lt;br/&gt;&amp;gt; identifying information they could use to validate that they own the&lt;br/&gt;account.&lt;br/&gt;&amp;gt; So it places less responsibility on the user, while still introducing&lt;br/&gt;people, in a&lt;br/&gt;&amp;gt; light-weight way, to self custody of keys.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Having a record like this every day would reduce the possibility of&lt;br/&gt;&amp;gt; shenanigans like taking a short term loan of a large amount of&lt;br/&gt;&amp;gt; cryptocurrency. Sure, they could take a 10 minute loan once per day, but&lt;br/&gt;it&lt;br/&gt;&amp;gt; would also be possible to trace on-chain transactions so you could tell if&lt;br/&gt;such&lt;br/&gt;&amp;gt; a thing was going on. I wonder if there would be some way to include the&lt;br/&gt;&amp;gt; ability to prove balances held on the lightning network, but I suspect&lt;br/&gt;that&lt;br/&gt;&amp;gt; isn&amp;#39;t generally possible.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; In any case, I&amp;#39;m curious what people think of this kind of thing, and if&lt;br/&gt;&amp;gt; systems with similar properties are already out there.&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; _______________________________________________&lt;br/&gt;&amp;gt; &amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt; &amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;&amp;gt; _______________________________________________&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-07T22:56:42Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsw58vs9zmp7yx4fm22v84r70a4pwss4tn9p4vdjnds60xslfy0usqzyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vx0cey39</id>
    
      <title type="html">📅 Original date posted:2021-06-30 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsw58vs9zmp7yx4fm22v84r70a4pwss4tn9p4vdjnds60xslfy0usqzyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vx0cey39" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2hyywk9usud098pzc2m3a9wsk2ruuetsnl2qwcmkfm2khpnytdxs0md8uc&#39;&gt;nevent1q…d8uc&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-06-30&lt;br/&gt;📝 Original message:Hi Prayank,&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;&amp;gt; So majority hash power not following the consensus rules can result in chain split?&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Any two people on different rules implies a chain split. That’s presumably why rule changes are called forks. There is no actual concept of “the rules” just one set of rules or another.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;&amp;gt; Why would majority of miners decide to mine a chain that nobody wants to use?&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;I don’t presume to know why people prefer one thing over another, or what people want to use, nor does economics.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;&amp;gt; What are different things possible in this case based on game theory?&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;I’ve seen no actual demonstration of the relevance of game theory to Bitcoin. People throw the words around quite a bit, but I can’t give you an answer because I have found no evidence of a valid game theoretic model applicable to Bitcoin. It’s not a game, it’s a market.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;&amp;gt; Do miners and mining pools participate in discussions before signaling for a soft fork begins?&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Who knows, I don’t get invited to round table meetings.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;&amp;gt; Can they still mine something else post activation even if signaling readiness for soft fork? &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;A person can mine whatever they want. Signaling does not compel a miner to enforce. Each block mined is anonymous. But each miner seeing the signals of others, unless they are coordinating, would presumably assume that others will enforce.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;&amp;gt; Who enforces consensus rules technically in Bitcoin? Full nodes or Miners?&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;A node (software) doesn’t enforce anything. Merchants enforce consensus rules when they reject trading for something that they don’t consider money. Every time two people trade both party validates what they receive (not what they trade away). Those receiving Bitcoin are economically relevant and their power is a function of how much they are doing so.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Miners censor, which is inconsequential unless enforced. Majority miners can enforce censorship by simply not building on any non-censoring blocks. This is what soft fork enforcement is.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;&amp;gt; Is soft fork signaling same as voting?&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;I don’t see that it needs a label apart from signaling. There are many kinds of voting. It would be hard to equate signaling with any of them. It’s a public signal that the miner who mined a given block miner intends to censor, that’s all.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;&amp;gt; According to my understanding, miners follow the consensus rules enforced by full nodes and get (subsidy &#43; fees) for their work.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Miners mine a chain, which ever one they want. There are many. They earn the block reward.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;&amp;gt; Signaling is not voting although lot of people consider it voting including some mining pools and exchanges.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;What people consider it is inconsequential. It has clearly defined behavior.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;e&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;From: Prayank &amp;lt;prayank at tutanota.de&amp;gt; &lt;br/&gt;Sent: Sunday, June 27, 2021 5:01 AM&lt;br/&gt;To: eric at voskuil.org&lt;br/&gt;Cc: Bitcoin Dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt;&lt;br/&gt;Subject: Re: [bitcoin-dev] Trinary Version Signaling for softfork&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Hello Eric,&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;I have few questions:&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;&amp;gt; Without majority hash power support, activation simply means you are off on a chain split. &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;So majority hash power not following the consensus rules can result in chain split? Why would majority of miners decide to mine a chain that nobody wants to use? What are different things possible in this case based on game theory? &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;&amp;gt; And activation without majority hash power certainly does not “ensure” this.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Do miners and mining pools participate in discussions before signaling for a soft fork begins? Can they still mine something else post activation even if signaling readiness for soft fork? &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;&amp;gt; If one wants to enforce a soft fork (or otherwise censor) this is accomplished by mining (or paying others to do so). Anyone can mine, so everyone gets a say. Mining is trading capital now for more later. If enough people want to do that, they can enforce a soft fork. It’s time Bitcoiners stop thinking of miners as other people. Anyone can mine, and that’s your vote.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Who enforces consensus rules technically in Bitcoin? Full nodes or Miners?&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Is soft fork signaling same as voting?&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;According to my understanding, miners follow the consensus rules enforced by full nodes and get (subsidy &#43; fees) for their work. Signaling is not voting although lot of people consider it voting including some mining pools and exchanges.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;&lt;br/&gt;Prayank&lt;br/&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/20210630/92f211f5/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210630/92f211f5/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T22:55:41Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsfk7es8ggyge65xf77a7mkjxjdmd4gwly8z6uuycpmu9hdyfueahszyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vx8en3pz</id>
    
      <title type="html">📅 Original date posted:2021-06-30 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsfk7es8ggyge65xf77a7mkjxjdmd4gwly8z6uuycpmu9hdyfueahszyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vx8en3pz" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvhva66ycjvddd6jwk5fc8u422e9es9w9s6v099zzrceen68vrewqyrey4c&#39;&gt;nevent1q…ey4c&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-06-30&lt;br/&gt;📝 Original message:&amp;gt; From: Jorge Timón &amp;lt;jtimon at jtimon.cc&amp;gt; &lt;br/&gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;#34;Soft forks aren’t compatible without miner enforcement&amp;#34;&lt;br/&gt;&amp;gt; Compatible with what?&lt;br/&gt;&lt;br/&gt;There is a good summary of what is meant by this term in BIP141:&lt;br/&gt;&lt;a href=&#34;https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki&#34;&gt;https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&amp;#34;Backward compatibility&lt;br/&gt;As a soft fork, older software will continue to operate without modification. Non-upgraded nodes, however, will not see nor validate the witness data and will consider all witness programs as anyone-can-spend scripts (except a few edge cases where the witness programs are equal to 0, which the script must fail). Wallets should always be wary of anyone-can-spend scripts and treat them with suspicion. Non-upgraded nodes are strongly encouraged to upgrade in order to take advantage of the new features.&amp;#34;&lt;br/&gt;&lt;br/&gt;The explanation is however incomplete. If majority hash power does not enforce the new rules, the above is incorrect. Granted the word &amp;#34;operate&amp;#34; is vague, but clearly what is intended is that &amp;#34;non-upgraded&amp;#34; nodes will not be on a different coin. But in fact they would be. The underlying presumption is that BIP141 is not only signaled, but enforced by majority hash power.&lt;br/&gt;&lt;br/&gt;&amp;gt;&amp;gt; &amp;#34;Soft forks without miner support cause splits&amp;#34;.&lt;br/&gt;&amp;gt; No, what causes splits are 3 things:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 1) bugs&lt;br/&gt;&amp;gt; 2) coordination mistakes&lt;br/&gt;&amp;gt; 3) people wanting different rules.&lt;br/&gt;&lt;br/&gt;#3 (and possibly #4) is what we&amp;#39;re talking about, so it&amp;#39;s not at all clear why you said &amp;#34;no&amp;#34;.&lt;br/&gt;&lt;br/&gt;People change their rules, because #3. If majority hash power does not enforce this (soft) change, it&amp;#39;s a chain split.&lt;br/&gt;&lt;br/&gt;&amp;gt; Let me give an example. Let&amp;#39;s say all users want change A.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Only 60% miners want it.&lt;br/&gt;&amp;gt; When it activates with LOT=true, will this cause a split?&lt;br/&gt;&lt;br/&gt;No, regardless of percentage adoption. You&amp;#39;ve proposed that it&amp;#39; is majority hash power enforced.&lt;br/&gt;&lt;br/&gt;Furthermore, the term compatibility (see above) implies that not everyone (your impossible presumption of 100%) is aligned.&lt;br/&gt;&lt;br/&gt;This is not a debatable subject as far as I&amp;#39;m concerned, but it&amp;#39;s worth discussion for those who aren&amp;#39;t familiar.&lt;br/&gt;&lt;br/&gt;e
    </content>
    <updated>2023-06-07T22:55:38Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqstj6f8edwn0nhxld632kdyljt6hrnp44xq92p749a0mh74wsxm90czyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxetk82u</id>
    
      <title type="html">📅 Original date posted:2021-06-30 📝 Original message:All ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqstj6f8edwn0nhxld632kdyljt6hrnp44xq92p749a0mh74wsxm90czyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxetk82u" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs92ar8kvcpz9s3s4mvetx05e9u9ny9hlrpwkcgea6d5rl5m6yaz4qlcw209&#39;&gt;nevent1q…w209&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-06-30&lt;br/&gt;📝 Original message:All good questions.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;&amp;gt; Is the goal here to do what the economic majority wants, or some other group? If so, do you think we have an accurate way of measuring what the economic majority wants?&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;It’s important that people understand that “economic” does not refer to people interested in, HODLing, coding, or selling Bitcoin. It is only those who are *presently accepting* it. We refer to these as “economic nodes”. Those are the people with the economic power to reject coin that they consider invalid. Only their validation is of any economic consequence in the event of a split. I see no reason to assume that the economy is any less centralized than mining is pooled. Today the support of the economy would be best measured by meeting with exchange operators. If they did not go along, any unenforced soft fork (split) would isolate everyone who thought they could continue to trade their coin on exchanges.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;I’d also question the use of the term “majority”. It applies to hash power, by design, but not to the economy. A split of any size is possible, requiring no majority. All it requires is other people to trade with.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Exchanges are highly regulated and compliant institutions. Mining operations are heavily pooled. Neither of these is inherently better than the other. Everyone can have a say by being a miner or being a merchant. Subeconomies can split, majority hash power can censor (which is the exact mechanism of soft fork enforcement). These ideas are straightforward and hardly worthy of debate. The interesting question is how one gets others to go along with his new coin. Make no mistake, any rule change (soft or hard) is a new coin. If hash power doesn’t enforce the new rules of a soft fork, the chain is split just as if it was a hard fork.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;I’m sure people will continue to try and devise ways to figure out who wants to come along, to try and convince people (including exchanges and miners) to do so, to reassure them that everyone else will “have to”, and to mislead them about the actual behavior and risks. We’ve seen permanent splits, and we’ve seen hash power enforced soft forks. We’re likely to see more of both. But as core devs we have a responsibility to inform people, honestly, and let them decide. My only beef with this whole process has been that a widespread belief had formed, supported by far too many core devs (and even embedded in the text of deployed BIPs), that soft forks are inherently “backward compatible”. This is unequivocally not true. The only such compatibility is majority hash power enforcement of a soft fork. This is not a matter of opinion, it’s the core innovation of Bitcoin. Proof of Work settles the question of who has authority to order transactions. Majority hash power has that authority. Merchants can split again and again, but their miners will still have that authority. If one wants a say, one can mine.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;e&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;From: Billy Tetrud &amp;lt;billy.tetrud at gmail.com&amp;gt; &lt;br/&gt;Sent: Tuesday, June 29, 2021 7:03 PM&lt;br/&gt;To: Eric Voskuil &amp;lt;eric at voskuil.org&amp;gt;&lt;br/&gt;Cc: Jorge Timón &amp;lt;jtimon at jtimon.cc&amp;gt;; Luke Dashjr &amp;lt;luke at dashjr.org&amp;gt;; Bitcoin Protocol Discussion &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt;&lt;br/&gt;Subject: Re: [bitcoin-dev] Trinary Version Signaling for softfork upgrades&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;@Jorge&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;&amp;gt;I don&amp;#39;t think we should avoid splits at all costs.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;I absolutely agree that we shouldn&amp;#39;t avoid splits at all costs. There are some costs too high to pay to avoid a split. If an economic majority started wanting to increase bitcoin&amp;#39;s blocksize to 1 GB next year, we should absolutely hard fork away from that mess with a minority chain. &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;&amp;gt;  I don&amp;#39;t think we should avoid splits when possible, &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;I want to see why exactly we disagree about avoiding chain splits &amp;#34;when possible&amp;#34;. Are you really saying that we should just hard fork every time instead of soft fork? Should we even bother to get widespread buy in at all, or should we just release the software, hardfork away, and let anyone that wants to follow us follow us later? Are you not at all worried about the costs associated with an increased orphan rate and reorg rate? Are you not worried that an update might happen too fast and that a significant fraction of people that could have come along with us to the new update might be left behind because they didn&amp;#39;t have time to evaluate the changed rules?&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Do you agree that, in a conversation about rule changes, some people want it their way no matter what and will hardfork to get the rules they want, and some people want it their way, but only if enough other people agree to follow those rules too? Some people might want a rule change, but aren&amp;#39;t willing to follow, say, a 20% minority fork. Perhaps their personal cut-off is 40% or 50% or 75% or 90%. Do you agree those people exist? &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;If you do, then I don&amp;#39;t understand why you disagree that we should avoid chain splits even &amp;#34;when possible&amp;#34;. Maybe you could elaborate as to what you mean there. &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;@Luke&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Are you in agreement with Jorge here that we should not even attempt to avoid chain splits? &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;&amp;gt; The only alternative to a split in the problematic scenarios are 1) concede centralised miner control over the network, and 2) have inconsistent enforcement of rules by users who don&amp;#39;t agree on what the correct rules are, again leading to centralised miner control over the network.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;There is not simply a binary &amp;#34;do or do not&amp;#34;. There is also timing. Non-contentious changes can happen fast. Contentious changes need more time for discussion, preparation, or coordination, even if the eventual outcome is the same. Do you disagree that timing issues can be important, that delays can be useful and help to avoid chain splits? Do you agree that miners have a (large) incentive to follow the economic majority? Is the goal here to do what the economic majority wants, or some other group? If so, do you think we have an accurate way of measuring what the economic majority wants? Will that mechanism continue to be accurate into the future? &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;I&amp;#39;m asking these questions to try and figure out why we disagree here.&lt;br/&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/20210630/cdb30f7e/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210630/cdb30f7e/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T22:55:36Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsvtezp6mvxl6w6y06u2sv9gz6qqvw9t4yhw688dk9cvv25m8dg85czyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vx6ymjmx</id>
    
      <title type="html">📅 Original date posted:2021-04-07 📝 Original message:You ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsvtezp6mvxl6w6y06u2sv9gz6qqvw9t4yhw688dk9cvv25m8dg85czyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vx6ymjmx" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsp5dn97lryty4wskvt5m6z6exsg3u9el723xq9m093veznygyds2qjw04zg&#39;&gt;nevent1q…04zg&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-04-07&lt;br/&gt;📝 Original message:You may activate any time you want.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;e&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;From: bitcoin-dev &amp;lt;bitcoin-dev-bounces at lists.linuxfoundation.org&amp;gt; On Behalf Of Claus Ehrenberg via bitcoin-dev&lt;br/&gt;Sent: Wednesday, April 7, 2021 6:42 AM&lt;br/&gt;To: Rusty Russell &amp;lt;rusty at rustcorp.com.au&amp;gt;; Bitcoin Protocol Discussion &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt;&lt;br/&gt;Subject: Re: [bitcoin-dev] March 23rd 2021 Taproot Activation Meeting Notes&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;As a user, I think it&amp;#39;s very important for me to know if Taproot is eventually coming or not. So why not make it so that if _either_ miners _or_ users decide for Taproot, it will activate no matter what. Accepting a chain split is imo the fairest way to &amp;#39;resolve the conflict&amp;#39; (it can&amp;#39;t be resolved anyway).&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;That would probably mean running ST and and UASF concurrently.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;The upside would be that we&amp;#39;ve got a safe date for Taproot, except neither users nor miners want it.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Cheers,&lt;br/&gt;&lt;br/&gt;Claus&lt;br/&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/20210407/dafd545f/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210407/dafd545f/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T22:51:26Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsgrv86l5af2q9vnanss33qjtnlqmdr0jnkejmudx5wuz0k62tmd4czyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxvfezry</id>
    
      <title type="html">📅 Original date posted:2021-03-08 📝 Original message:One ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsgrv86l5af2q9vnanss33qjtnlqmdr0jnkejmudx5wuz0k62tmd4czyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxvfezry" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs232jfkzjqlr5m9hjws7uhtapceytkz0ddtq30q96v77nqznd0r0szhuscx&#39;&gt;nevent1q…uscx&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-03-08&lt;br/&gt;📝 Original message:One should not assume that those trying to avoid a chain split are against Taproot.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;There is a concerning widespread misperception in the community at large that soft forks are inherently “backward compatible”. To many people this seems to mean that, even without hash power enforcement, activation will not create a chain split. This is no doubt reinforced by loose wording in past proposals, such as the unqualified, “As a soft fork, older software will continue to operate without modification.” (BIP141). If operating means not crashing, then hard forks also qualify. Many people do not understand that hash power enforcement is also required for a soft fork to avoid a chain split.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;This misperception has also been fed by devs who should know better claiming that BIP16 was not signaled by supermajority hash power before it was activated. The only distinction being that an *automated* activation method had not yet been developed. Starting with BIP16 *all active soft forks* have been activated by supermajority hash power signaling. I was told publicly by someone who should certainly know better that SegWit missed its BIP9 activation window and that BIP9 failed. Yet SegWit activated under BIP9 2.5 months before its activation window closed. It never entered its FAILED state and remains in its ACTIVE state (BIP90 being presumed to be merely a code optimization). This type of misinformation is a root cause of much of the conflict.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Yes, some people threatened to split themselves off with BIP148, and yes miners used BIP91 to accelerate SegWit enforcement, preventing that split well before the SegWit the activation window was set to expire. So those people claim BIP9 failed. It’s a false narrative. BIP9 could have failed, but did not. Soft fork activation could be unsupported by miners, but to date no such activation attempt has failed. No doubt it will someday. But why are people picking a fight where there isn’t one.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;This should not about who gets to “decide the rules”, but that is exactly what it has become. It’s the only explanation for the conflict. Otherwise there does not appear to be any whatsoever. Miner activation is used if at all possible because it avoids a chain split. It’s as simple as that. Anyone can of course decide what rules they run. But telling them that they can do so without splitting is flatly irresponsible. If it comes to that, inform people properly and let them decide.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;The reason for BIP8 is clearly to codify activation without hash power support. You are right that BIP8(LOT=false) is just BIP9. The other differences are immaterial. Given that there are other differences, it seems advisable to use what has already been coded, tested, deployed, and successful in the past. It’s also understandable that many devs no not want to be responsible for shipping code to large numbers of people who are misinformed about its behavior, potentially causing a chain split and loss of both money and faith in the system.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;If one needs to consider this a question of who gets to decide, it’s not clear to me why one would side with exchanges over miners given that the latter are able to prevent a chain split. HODLer nodes are non-economic, to the extent they even exist. This isn’t a David vs. Goliath scenario, and even if it was, the supposed giant appears to overwhelmingly support Taproot.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;e&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;From: bitcoin-dev &amp;lt;bitcoin-dev-bounces at lists.linuxfoundation.org&amp;gt; On Behalf Of Jorge Timón via bitcoin-dev&lt;br/&gt;Sent: Monday, March 8, 2021 4:52 AM&lt;br/&gt;To: Anthony Towns &amp;lt;aj at erisian.com.au&amp;gt;; Bitcoin Protocol Discussion &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt;&lt;br/&gt;Subject: Re: [bitcoin-dev] Straight Flag Day (Height) Taproot Activation&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Concept nack.&lt;br/&gt;&lt;br/&gt;This has no advantage over bip8(true).&lt;br/&gt;&lt;br/&gt;Bip9(false) is just bip9.&lt;br/&gt;&lt;br/&gt;Thr only reasonable argument against bip8(true) is &amp;#34;some people may do bip8(false) instead&amp;#34;, which is a stypid argument applyable to any activation method.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;People against taproot should want code to forbid its activation rather than limiting themselves to suport bip9/bip8(false) and hope it doesn&amp;#39;t get activated it.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Some other arguments seem to be based on the wrong assumption that miners should decide the rules.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Thisproposal solves nothing, just adds to the noise and thus is really disappointing.&lt;br/&gt;&lt;br/&gt; &lt;br/&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/20210308/8f977f39/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210308/8f977f39/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:30:02Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs2ct6e9lgmlva802kyjf3djnz0duzavhn5a4rp3sadchd4pkxs7jszyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxgz97t2</id>
    
      <title type="html">📅 Original date posted:2021-03-01 📝 Original message:On ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs2ct6e9lgmlva802kyjf3djnz0duzavhn5a4rp3sadchd4pkxs7jszyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxgz97t2" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0ltp8sp9sc3ygaedxqkqu3f8czajng8qpj654p3ec9d959jndjuswtzspk&#39;&gt;nevent1q…zspk&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-03-01&lt;br/&gt;📝 Original message:On Sun, Feb 28, 2021 at 10:18 AM Leo Wandersleb via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt; &amp;gt; wrote:&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;&amp;gt; Only headers need to be downloaded sequentially so downloading relevant blocks from one node is totally possible with gaps in between.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;In fact this is exactly how libbitcoin v4 works. We download and store blocks in parallel. In the case of a restart block gaps are repopulated. Given that headers are validated, we go after the most responsive nodes. Based on standard deviation, we drop the slowest peers and rebalance load to new/empty channels. We make ordered but not necessarily sequential requests. There is no distinction between “initial” block download, a restart, or a single or few blocks at the top. So it’s referred to as continuous parallel block download.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;But we don’t prune. Personally I consider this counterproductive. Apart from the complexity, it’s not healthy. And the chain grows linearly with storage cost falling exponentially, leading to a straightforward conclusion.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;e&lt;br/&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/20210301/568af3cd/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210301/568af3cd/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:29:39Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs8sd7cpg3cnvaxllyh5luryzrlql8ypz3xy3gphua6dee68na5rtczyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxlfayk4</id>
    
      <title type="html">📅 Original date posted:2021-03-03 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs8sd7cpg3cnvaxllyh5luryzrlql8ypz3xy3gphua6dee68na5rtczyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxlfayk4" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0glr683yr9ut7gkggtzlq0tdxvsjm9yyl097k8xq9tsff8ga9h5g44xvum&#39;&gt;nevent1q…xvum&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-03-03&lt;br/&gt;📝 Original message:&amp;gt; and all transactions should be open to the scrutiny of an honest government.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;&amp;gt;From what do you derive the moral judgement “should” in this context?&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;&amp;gt; The value proposition is … because people will trust the system?&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;So, it’s valuable because it’s trusted? Trusted to do what exactly? What that government money doesn’t already do, specifically.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;&amp;gt; If it is not necessary to maintain consensus then what is consensus?&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Nothing is “necessary”. Consensus is an agreement among people. It’s voluntary. Any person can choose to leave, create or join another consensus, or stay where they are.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;&amp;gt; BCH exists in addition to BTC Bitcoin.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Exactly, people are free to do what they want. Nobody “should” do anything except that which they want to do. This and this alone is the “highest value” if one accepts the moral principle of non-aggression. You do not appear to, and I’m afraid that may be well outside the consensus view among core bitcoin developers (the people you are talking to).&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;e&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;From: LORD HIS EXCELLENCY JAMES HRMH &amp;lt;willtech at live.com.au&amp;gt; &lt;br/&gt;Sent: Tuesday, March 2, 2021 6:55 PM&lt;br/&gt;To: Eric Voskuil &amp;lt;eric at voskuil.org&amp;gt;; Bitcoin Protocol Discussion &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt;&lt;br/&gt;Cc: Ariel Lorenzo-Luaces &amp;lt;arielluaces at gmail.com&amp;gt;&lt;br/&gt;Subject: Re: [bitcoin-dev] Taproot NACK&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Good Afternoon, &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;All people are entitled to privacy in their purse, and all transactions should be open to the scrutiny of an honest government. You can debate whether any government is honest. Mixing does not remove the record from the public ledger, where it is possible to see that any Bitcoin has transferred from an UTXO to some Pay-To address even with some amount of transaction in between them. The value proposition is the same  &amp;lt;&lt;a href=&#34;https://www.youtube.com/watch?v=l9jOJk30eQs&amp;gt&#34;&gt;https://www.youtube.com/watch?v=l9jOJk30eQs&amp;gt&lt;/a&gt;; &lt;a href=&#34;https://www.youtube.com/watch?v=l9jOJk30eQs&#34;&gt;https://www.youtube.com/watch?v=l9jOJk30eQs&lt;/a&gt; - because people will trust the system; people trust the existing consensus.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Let us dispense with the screen and deal with the issue only. If it is not necessary to maintain consensus then what is consensus?&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;The intrinsic value of Bitcoin is because of the existing consensus. Even if any proposal gains consensus there is no objective way to show it improves the intrinsic value without trialing and the possibility of failure and so protecting the existing consensus should be the highest value. This understanding is the reason BCH exists in addition to BTC Bitcoin.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;KING JAMES HRMH&lt;br/&gt;&lt;br/&gt;Great British Empire&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Regards,&lt;br/&gt;&lt;br/&gt;The Australian&lt;br/&gt;&lt;br/&gt;LORD HIS EXCELLENCY JAMES HRMH (&amp;amp; HMRH)&lt;br/&gt;&lt;br/&gt;of Hougun Manor &amp;amp; Glencoe &amp;amp; British Empire&lt;br/&gt;&lt;br/&gt;MR. Damian A. James Williamson&lt;br/&gt;&lt;br/&gt;Wills&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;et al.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Willtech&lt;br/&gt;&lt;br/&gt;www.willtech.com.au&lt;br/&gt;&lt;br/&gt;www.go-overt.com&lt;br/&gt;&lt;br/&gt;and other projects&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;earn.com/willtech&lt;br/&gt;&lt;br/&gt;linkedin.com/in/damianwilliamson&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;m. 0487135719&lt;br/&gt;&lt;br/&gt;f. &#43;61261470192&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;This email does not constitute a general advice. Please disregard this email if misdelivered. &lt;br/&gt;&lt;br/&gt;  _____  &lt;br/&gt;&lt;br/&gt;From: Eric Voskuil &amp;lt;eric at voskuil.org &amp;lt;mailto:eric at voskuil.org&amp;gt; &amp;gt;&lt;br/&gt;Sent: Tuesday, 2 March 2021 9:37 AM&lt;br/&gt;To: LORD HIS EXCELLENCY JAMES HRMH &amp;lt;willtech at live.com.au &amp;lt;mailto:willtech at live.com.au&amp;gt; &amp;gt;; Bitcoin Protocol Discussion &amp;lt;bitcoin-dev at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt; &amp;gt;&lt;br/&gt;Cc: Ariel Lorenzo-Luaces &amp;lt;arielluaces at gmail.com &amp;lt;mailto:arielluaces at gmail.com&amp;gt; &amp;gt;&lt;br/&gt;Subject: Re: [bitcoin-dev] Taproot NACK &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;To be clear, is this a NACK because Taproot reduces “transparency” (increases privacy) on the chain (“maintaining consensus” is obviously an argument against any protocol change, so that’s a red herring)? &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;And is it your theory that only an “honest” (statute abiding) person should have privacy, and not against the state, and/or that mixers are sufficient privacy?&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Personally, I’m not moved by such an argument. What do you think is the value proposition of Bitcoin?&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;e&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;On Mar 1, 2021, at 14:21, LORD HIS EXCELLENCY JAMES HRMH via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt; &amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;﻿ &lt;br/&gt;&lt;br/&gt;Good Afternoon,&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;I am going to take tough terms with much of your reply and do appreciate a courteous practice. Having previously made public disclosure of my affiliation with Jambler.io it seems sufficient to disclose my affiliation through the link in my email signature block.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;My concern is not increased privacy it is maintaining consensus values and the transparency of the blockchain wherein all transactions are published in an immutable record and that forbids the redaction of information by any obfuscation. A separate concern is the availability of a privacy suitable for cash should a Bitcoin user desire and especially without disturbing the existing consensus.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;The use of a Bitcoin Mixer is to enable standard equivalent privacy. As you may experience yourself, you do not allow people to follow you around looking in your purse, suppose you are dealing entirely with cash, and to see where and how much you fill it up, and where you spend. Nonetheless, for an honest person, their wallet is available for government audit as are their financial affairs. This is consistent with the existing operation of consensus.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;My full email signature block is a disclosure where I have some affiliation with the referenced website being that it carries at least some information that I have provided or that in some way I am associated perhaps only making use of their services. For example, I hardly make a profit from LinkedIn just my information is there. Also, I have made previous public disclosure of the affiliation. Bitcoin Mixer 2.0 is a partner mixer run by Jambler.io wherein I receive a service referral fee and am not in receipt of any part of the process transaction. The operation block diagram provided by Jambler.io is provided here and attached.&lt;br/&gt;&lt;br/&gt;&amp;lt;ip.bitcointalk.org.png&amp;gt;&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;[ip.bitcointalk.org.png]-Operation of Jambler.io partner mixer&lt;br/&gt;&lt;br/&gt; &lt;img src=&#34;https://ip.bitcointalk.org/?u=https%3A%2F%2Fjambler.io%2Fimages%2Fscheme-1.png&#34;&gt;  &amp;lt;&lt;a href=&#34;https://ip.bitcointalk.org/?u=https%3A%2F%2Fjambler.io%2Fimages%2Fscheme-1.png&amp;amp;t=622&amp;amp;c=gTi7r1cfh-yynw&amp;gt&#34;&gt;https://ip.bitcointalk.org/?u=https%3A%2F%2Fjambler.io%2Fimages%2Fscheme-1.png&amp;amp;t=622&amp;amp;c=gTi7r1cfh-yynw&amp;gt&lt;/a&gt;; &amp;amp;t=622&amp;amp;c=gTi7r1cfh-yynw&lt;br/&gt;&lt;br/&gt;from this thread  &lt;a href=&#34;https://bitcointalk.org/index.php?topic=5267588&#34;&gt;https://bitcointalk.org/index.php?topic=5267588&lt;/a&gt;&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;The installation script provided by Jambler.io that is the basis of my referral website is also publicly published,&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://github.com/jambler-io/bitcoin-mixer&#34;&gt;https://github.com/jambler-io/bitcoin-mixer&lt;/a&gt;&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;The disclosure for the partner program is available from Jambler.io however and is made prominently on my referral website. While it may seem lucrative at first I insist all partner profits are reportable on your personal income.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://jambler.io/become-partner.php&#34;&gt;https://jambler.io/become-partner.php&lt;/a&gt;&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;I am certainly better than confident that you appreciate the difference between an open and transparent blockchain and the ability of the user to not reveal details of the content of their wallet publicly.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;If further clarification is required may I suggest you pay a token and mix some Bitcoin wherein our discussion may then have some point of reference.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;KING JAMES HRMH&lt;br/&gt;&lt;br/&gt;Great British Empire&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Regards,&lt;br/&gt;&lt;br/&gt;The Australian&lt;br/&gt;&lt;br/&gt;LORD HIS EXCELLENCY JAMES HRMH (&amp;amp; HMRH)&lt;br/&gt;&lt;br/&gt;of Hougun Manor &amp;amp; Glencoe &amp;amp; British Empire&lt;br/&gt;&lt;br/&gt;MR. Damian A. James Williamson&lt;br/&gt;&lt;br/&gt;Wills&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;et al.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Willtech&lt;br/&gt;&lt;br/&gt;www.willtech.com.au &amp;lt;&lt;a href=&#34;http://www.willtech.com.au&amp;gt&#34;&gt;http://www.willtech.com.au&amp;gt&lt;/a&gt;; &lt;br/&gt;&lt;br/&gt;www.go-overt.com &amp;lt;&lt;a href=&#34;http://www.go-overt.com&amp;gt&#34;&gt;http://www.go-overt.com&amp;gt&lt;/a&gt;; &lt;br/&gt;&lt;br/&gt;and other projects&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;earn.com/willtech&lt;br/&gt;&lt;br/&gt;linkedin.com/in/damianwilliamson&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;m. 0487135719&lt;br/&gt;&lt;br/&gt;f. &#43;61261470192&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;This email does not constitute a general advice. Please disregard this email if misdelivered.&lt;br/&gt;&lt;br/&gt;  _____  &lt;br/&gt;&lt;br/&gt;From: Ariel Lorenzo-Luaces &amp;lt;arielluaces at gmail.com &amp;lt;mailto:arielluaces at gmail.com&amp;gt; &amp;gt;&lt;br/&gt;Sent: Monday, 1 March 2021 12:07 AM&lt;br/&gt;To: LORD HIS EXCELLENCY JAMES HRMH &amp;lt;willtech at live.com.au &amp;lt;mailto:willtech at live.com.au&amp;gt; &amp;gt;; Bitcoin Protocol Discussion &amp;lt;bitcoin-dev at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt; &amp;gt;&lt;br/&gt;Subject: Re: [bitcoin-dev] Taproot NACK &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Hello LORD HIS EXCELLENCY JAMES HRMH&lt;br/&gt;&lt;br/&gt;I find a striking dichotomy between your concern of increased privacy in bitcoin and your link to a bitcoin mixer in your signature www.go-overt.com &amp;lt;&lt;a href=&#34;http://www.go-overt.com&amp;gt&#34;&gt;http://www.go-overt.com&amp;gt&lt;/a&gt;; &lt;br/&gt;&lt;br/&gt;At first your concerns seemed genuine but after seeing your promotion of a bitcoin mixer I&amp;#39;m thinking your concerns may be more profit motivated? I can&amp;#39;t tell since you failed to disclose your relationship with the mixer.&lt;br/&gt;&lt;br/&gt;Could you please clarify your association with the bitcoin mixer and moving forward could you please always do proper disclosure any time you&amp;#39;re publically talking about bitcoin transaction privacy. It&amp;#39;s only fair to do so as to not mislead people in an attempt to manipulate at worst and just a courteous practice at best.&lt;br/&gt;&lt;br/&gt;Cheers&lt;br/&gt;&lt;br/&gt;Ariel Lorenzo-Luaces&lt;br/&gt;&lt;br/&gt;On Feb 28, 2021, at 4:36 AM, LORD HIS EXCELLENCY JAMES HRMH via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt; &amp;gt; wrote: &lt;br/&gt;&lt;br/&gt;Good Evening, &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Thank-you for your advice   @JeremyRubin &amp;lt;&lt;a href=&#34;https://twitter.com/JeremyRubin&amp;gt&#34;&gt;https://twitter.com/JeremyRubin&amp;gt&lt;/a&gt;;   on the basis you advise, &amp;#34;Taproot does not enable monero-like privacy features&amp;#34;, I am prepred to withdraw my NACK notably that the existing feeatures of Bitcoin MUST be maintained, and whereby the UTXO of a transaction is identifiable, the PayTo Address, and the amount all without any obfuscation. &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Lightning does not really provide obfuscation, it provides a result of a subset of transactions although the operation of the channel is observable to the parties. &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;The reports I were reading concerning the supposed operation of Taproot published in a public media channel may have been speculation or misinformation nonetheless it is prudent to conditionally reply as you see that I have. It is important not to allow things to slip through the cracks. As you may believe may astute reviewers could make a full disclosure to this list it is not to be expected. &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;KING JAMES HRMH &lt;br/&gt;&lt;br/&gt;Great British Empire &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Regards, &lt;br/&gt;&lt;br/&gt;The Australian &lt;br/&gt;&lt;br/&gt;LORD HIS EXCELLENCY JAMES HRMH (&amp;amp; HMRH) &lt;br/&gt;&lt;br/&gt;of Hougun Manor &amp;amp; Glencoe &amp;amp; British Empire &lt;br/&gt;&lt;br/&gt;MR. Damian A. James Williamson &lt;br/&gt;&lt;br/&gt;Wills &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;et al. &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;  &lt;br/&gt;&lt;br/&gt;Willtech &lt;br/&gt;&lt;br/&gt;www.willtech.com.au &lt;br/&gt;&lt;br/&gt;www.go-overt.com &lt;br/&gt;&lt;br/&gt;and other projects &lt;br/&gt;&lt;br/&gt;  &lt;br/&gt;&lt;br/&gt;earn.com/willtech &lt;br/&gt;&lt;br/&gt;linkedin.com/in/damianwilliamson &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;m. 0487135719 &lt;br/&gt;&lt;br/&gt;f. &#43;61261470192 &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;This email does not constitute a general advice. Please disregard this email if misdelivered. &lt;br/&gt;&lt;br/&gt;  _____  &lt;br/&gt;&lt;br/&gt;From: Jeremy &amp;lt;jlrubin at mit.edu&amp;gt;&lt;br/&gt;Sent: Sunday, 28 February 2021 3:14 AM&lt;br/&gt;To: LORD HIS EXCELLENCY JAMES HRMH &amp;lt;willtech at live.com.au &amp;lt;mailto:willtech at live.com.au&amp;gt; &amp;gt;; Bitcoin Protocol Discussion &amp;lt;bitcoin-dev at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt; &amp;gt;&lt;br/&gt;Subject: Re: [bitcoin-dev] Taproot NACK &lt;br/&gt;&lt;br/&gt;  &lt;br/&gt;&lt;br/&gt;I have good news for you: Taproot does not enable monero-like privacy features any moreso than already exist in Bitcoin today. At its core, taproot is a way to make transactions with embedded smart contracts less expensive, done so in a manner that may marginally improve privacy dependent on user behavior (but not in the monero-like way you mention). For example, it makes it possible for lightning channels to look structurally similar to single key wallets, but it does nothing inherently to obfuscate the transaction graph as in monero. &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Such &amp;#34;monero-like&amp;#34; transaction graph obfuscation may already exist in Bitcoin via other techniques (coinjoin, payjoin, coinswap, lightning, etc) with or without Taproot, so the point is further moot. &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Do you have a source on your reporting? &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;You may wish to rescind your nack. &lt;br/&gt;&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;-- &lt;br/&gt;@JeremyRubin &amp;lt;&lt;a href=&#34;https://twitter.com/JeremyRubin&amp;gt&#34;&gt;https://twitter.com/JeremyRubin&amp;gt&lt;/a&gt;;  &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;On Sat, Feb 27, 2021 at 5:46 AM LORD HIS EXCELLENCY JAMES HRMH via bitcoin-dev &amp;lt; bitcoin-dev at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt; &amp;gt; wrote: &lt;br/&gt;&lt;br/&gt;Good Afternoon, &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;It has been reported that Taproot will enable some Monero like features including the ability to hide transactions. &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;If that is the case I offer a full NACK and let me explain. &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;A part of the benefit of using Bitcoin is its honesty. The full transaction is published on the blockchain. If that were to change so that transactions may be obfuscated from scrutiny then any government would have unlimited impetus to ban Bitcoin, and speculation has that is the reason India has been reported to have banned cryptocurrencies already. &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;I am in support of the expanded use case of Bitcoin without harming the established robust fairness and equal equity offered. The core functionality of Bitcoin, its values, must remain unaltered. &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;KING JAMES HRMH &lt;br/&gt;&lt;br/&gt;Great British Empire &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Regards, &lt;br/&gt;&lt;br/&gt;The Australian &lt;br/&gt;&lt;br/&gt;LORD HIS EXCELLENCY JAMES HRMH (&amp;amp; HMRH) &lt;br/&gt;&lt;br/&gt;of Hougun Manor &amp;amp; Glencoe &amp;amp; British Empire &lt;br/&gt;&lt;br/&gt;MR. Damian A. James Williamson &lt;br/&gt;&lt;br/&gt;Wills &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;et al. &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;  &lt;br/&gt;&lt;br/&gt;Willtech &lt;br/&gt;&lt;br/&gt;www.willtech.com.au &amp;lt;&lt;a href=&#34;http://www.willtech.com.au&amp;gt&#34;&gt;http://www.willtech.com.au&amp;gt&lt;/a&gt;;  &lt;br/&gt;&lt;br/&gt;www.go-overt.com &amp;lt;&lt;a href=&#34;http://www.go-overt.com&amp;gt&#34;&gt;http://www.go-overt.com&amp;gt&lt;/a&gt;;  &lt;br/&gt;&lt;br/&gt;and other projects &lt;br/&gt;&lt;br/&gt;  &lt;br/&gt;&lt;br/&gt;earn.com/willtech &amp;lt;&lt;a href=&#34;http://earn.com/willtech&amp;gt&#34;&gt;http://earn.com/willtech&amp;gt&lt;/a&gt;;  &lt;br/&gt;&lt;br/&gt;linkedin.com/in/damianwilliamson &amp;lt;&lt;a href=&#34;http://linkedin.com/in/damianwilliamson&amp;gt&#34;&gt;http://linkedin.com/in/damianwilliamson&amp;gt&lt;/a&gt;;  &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;m. 0487135719 &lt;br/&gt;&lt;br/&gt;f. &#43;61261470192 &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;This email does not constitute a general advice. Please disregard this email if misdelivered. &lt;br/&gt;&lt;br/&gt;_______________________________________________ &lt;br/&gt;bitcoin-dev mailing list &lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt;  &lt;br/&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;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;  _____  &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;bitcoin-dev mailing list&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt; &lt;br/&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;&lt;br/&gt;&amp;lt;ip.bitcointalk.org.png&amp;gt;&lt;br/&gt;&lt;br/&gt;_______________________________________________&lt;br/&gt;bitcoin-dev mailing list&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt; &lt;br/&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;&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/20210303/3091d805/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210303/3091d805/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:29:35Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsqv4tc436r8t6jq6s06yd4m0jwp8q6es4t6wt2qf0770ed7fxdqngzyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxshqe06</id>
    
      <title type="html">📅 Original date posted:2021-03-03 📝 Original message:&amp;gt; ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsqv4tc436r8t6jq6s06yd4m0jwp8q6es4t6wt2qf0770ed7fxdqngzyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxshqe06" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqst4hqft6eks8qga738epgh9xg8wzug7ruwhhftppltrqnugfc8xzqhgch5l&#39;&gt;nevent1q…ch5l&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2021-03-03&lt;br/&gt;📝 Original message:&amp;gt; consensus requires the ledger to be honest does not prove that it is honest.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Actually, that’s exactly what it does. A logical/mathematical requirement (necessity) is also called a proof.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;e&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;From: bitcoin-dev &amp;lt;bitcoin-dev-bounces at lists.linuxfoundation.org&amp;gt; On Behalf Of LORD HIS EXCELLENCY JAMES HRMH via bitcoin-dev&lt;br/&gt;Sent: Tuesday, March 2, 2021 7:06 PM&lt;br/&gt;To: M.K. Safi via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt;; Daniel Edgecumbe &amp;lt;email at esotericnonsense.com&amp;gt;&lt;br/&gt;Subject: Re: [bitcoin-dev] Taproot NACK&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;&amp;#34;Today I spent approximately $5 at a chip shop in North London in cash. Besides the fact that I have voluntarily chosen to share this information, it is absolutely no concern of yourself or any other party that this transaction has occured.&amp;#34;&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Good Afternoon,&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Requiring little argument I concur, privacy allows that you do not have snoops and researchers following you around looking in your purse as you transact. For the general public, how much you carry in your purse and where you get it from is none of their business. However, your employer is required to report to the government a record of pay, or at least maintain that record, and the store where you made a purchase similarly to keep records so that taxes can be paid. From their perspective, you do not need to know how much they keep in their drawer. Bitcoin directly allows your purse to be private and for the transaction ledger to take the scrutiny anyone should be able to apply to prove the ledger is honest. Maintaining an argument that consensus requires the ledger to be honest does not prove that it is honest.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;KING JAMES HRMH&lt;br/&gt;&lt;br/&gt;Great British Empire&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Regards,&lt;br/&gt;&lt;br/&gt;The Australian&lt;br/&gt;&lt;br/&gt;LORD HIS EXCELLENCY JAMES HRMH (&amp;amp; HMRH)&lt;br/&gt;&lt;br/&gt;of Hougun Manor &amp;amp; Glencoe &amp;amp; British Empire&lt;br/&gt;&lt;br/&gt;MR. Damian A. James Williamson&lt;br/&gt;&lt;br/&gt;Wills&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;et al.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Willtech&lt;br/&gt;&lt;br/&gt;www.willtech.com.au &amp;lt;&lt;a href=&#34;http://www.willtech.com.au&amp;gt&#34;&gt;http://www.willtech.com.au&amp;gt&lt;/a&gt;; &lt;br/&gt;&lt;br/&gt;www.go-overt.com &amp;lt;&lt;a href=&#34;http://www.go-overt.com&amp;gt&#34;&gt;http://www.go-overt.com&amp;gt&lt;/a&gt;; &lt;br/&gt;&lt;br/&gt;and other projects&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;earn.com/willtech&lt;br/&gt;&lt;br/&gt;linkedin.com/in/damianwilliamson&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;m. 0487135719&lt;br/&gt;&lt;br/&gt;f. &#43;61261470192&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;This email does not constitute a general advice. Please disregard this email if misdelivered.&lt;br/&gt;&lt;br/&gt;  _____  &lt;br/&gt;&lt;br/&gt;From: bitcoin-dev &amp;lt;bitcoin-dev-bounces at lists.linuxfoundation.org&amp;gt; on behalf of Daniel Edgecumbe via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt; &amp;gt;&lt;br/&gt;Sent: Tuesday, 2 March 2021 12:16 PM&lt;br/&gt;To: M.K. Safi via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt; &amp;gt;&lt;br/&gt;Subject: Re: [bitcoin-dev] Taproot NACK &lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;Any &amp;#34;transparency&amp;#34; in the blockchain, beyond that required for a participant to determine valid ownership, can only reasonably be thought of as a bug.&lt;br/&gt;&lt;br/&gt;Today I spent approximately $5 at a chip shop in North London in cash. Besides the fact that I have voluntarily chosen to share this information, it is absolutely no concern of yourself or any other party that this transaction has occured.&lt;br/&gt;&lt;br/&gt;Bitcoin is digital cash.&lt;br/&gt;&lt;br/&gt;Daniel Edgecumbe | esotericnonsense&lt;br/&gt;email at esotericnonsense.com &amp;lt;mailto:email at esotericnonsense.com&amp;gt;  | &lt;a href=&#34;https://esotericnonsense.com&#34;&gt;https://esotericnonsense.com&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;On Mon, Mar 1, 2021, at 22:37, Eric Voskuil via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; To be clear, is this a NACK because Taproot reduces “transparency” &lt;br/&gt;&amp;gt; (increases privacy) on the chain (“maintaining consensus” is obviously &lt;br/&gt;&amp;gt; an argument against any protocol change, so that’s a red herring)? &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; And is it your theory that only an “honest” (statute abiding) person &lt;br/&gt;&amp;gt; should have privacy, and not against the state, and/or that mixers are &lt;br/&gt;&amp;gt; sufficient privacy?&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Personally, I’m not moved by such an argument. What do you think is the &lt;br/&gt;&amp;gt; value proposition of Bitcoin?&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; e&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; On Mar 1, 2021, at 14:21, LORD HIS EXCELLENCY JAMES HRMH via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt; &amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; ﻿ &lt;br/&gt;&amp;gt; &amp;gt; Good Afternoon,&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; I am going to take tough terms with much of your reply and do appreciate a courteous practice. Having previously made public disclosure of my affiliation with Jambler.io it seems sufficient to disclose my affiliation through the link in my email signature block.&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; My concern is not increased privacy it is maintaining consensus values and the transparency of the blockchain wherein all transactions are published in an immutable record and that forbids the redaction of information by any obfuscation. A separate concern is the availability of a privacy suitable for cash should a Bitcoin user desire and especially without disturbing the existing consensus.&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; The use of a Bitcoin Mixer is to enable standard equivalent privacy. As you may experience yourself, you do not allow people to follow you around looking in your purse, suppose you are dealing entirely with cash, and to see where and how much you fill it up, and where you spend. Nonetheless, for an honest person, their wallet is available for government audit as are their financial affairs. This is consistent with the existing operation of consensus.&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; My full email signature block is a disclosure where I have some affiliation with the referenced website being that it carries at least some information that I have provided or that in some way I am associated perhaps only making use of their services. For example, I hardly make a profit from LinkedIn just my information is there. Also, I have made previous public disclosure of the affiliation. Bitcoin Mixer 2.0 is a partner mixer run by Jambler.io wherein I receive a service referral fee and am not in receipt of any part of the process transaction. The operation block diagram provided by Jambler.io is provided here and attached.&lt;br/&gt;&amp;gt; &amp;gt; &amp;lt;ip.bitcointalk.org.png&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; [ip.bitcointalk.org.png]-Operation of Jambler.io partner mixer&lt;br/&gt;&amp;gt; &amp;gt;  &lt;img src=&#34;https://ip.bitcointalk.org/?u=https%3A%2F%2Fjambler.io%2Fimages%2Fscheme-1.png&#34;&gt;  &amp;lt;&lt;a href=&#34;https://ip.bitcointalk.org/?u=https%3A%2F%2Fjambler.io%2Fimages%2Fscheme-1.png&amp;amp;t=622&amp;amp;c=gTi7r1cfh-yynw&amp;gt&#34;&gt;https://ip.bitcointalk.org/?u=https%3A%2F%2Fjambler.io%2Fimages%2Fscheme-1.png&amp;amp;t=622&amp;amp;c=gTi7r1cfh-yynw&amp;gt&lt;/a&gt;; &amp;amp;t=622&amp;amp;c=gTi7r1cfh-yynw&lt;br/&gt;&amp;gt; &amp;gt; from this thread  &lt;a href=&#34;https://bitcointalk.org/index.php?topic=5267588&#34;&gt;https://bitcointalk.org/index.php?topic=5267588&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; The installation script provided by Jambler.io that is the basis of my referral website is also publicly published,&lt;br/&gt;&amp;gt; &amp;gt; &lt;a href=&#34;https://github.com/jambler-io/bitcoin-mixer&#34;&gt;https://github.com/jambler-io/bitcoin-mixer&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; The disclosure for the partner program is available from Jambler.io however and is made prominently on my referral website. While it may seem lucrative at first I insist all partner profits are reportable on your personal income.&lt;br/&gt;&amp;gt; &amp;gt; &lt;a href=&#34;https://jambler.io/become-partner.php&#34;&gt;https://jambler.io/become-partner.php&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; I am certainly better than confident that you appreciate the difference between an open and transparent blockchain and the ability of the user to not reveal details of the content of their wallet publicly.&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; If further clarification is required may I suggest you pay a token and mix some Bitcoin wherein our discussion may then have some point of reference.&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; KING JAMES HRMH&lt;br/&gt;&amp;gt; &amp;gt; Great British Empire&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Regards,&lt;br/&gt;&amp;gt; &amp;gt; The Australian&lt;br/&gt;&amp;gt; &amp;gt; LORD HIS EXCELLENCY JAMES HRMH (&amp;amp; HMRH)&lt;br/&gt;&amp;gt; &amp;gt; of Hougun Manor &amp;amp; Glencoe &amp;amp; British Empire&lt;br/&gt;&amp;gt; &amp;gt; MR. Damian A. James Williamson&lt;br/&gt;&amp;gt; &amp;gt; Wills&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; et al.&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt;  &lt;br/&gt;&amp;gt; &amp;gt; Willtech&lt;br/&gt;&amp;gt; &amp;gt; www.willtech.com.au &amp;lt;&lt;a href=&#34;http://www.willtech.com.au&amp;gt&#34;&gt;http://www.willtech.com.au&amp;gt&lt;/a&gt;; &lt;br/&gt;&amp;gt; &amp;gt; www.go-overt.com &amp;lt;&lt;a href=&#34;http://www.go-overt.com&amp;gt&#34;&gt;http://www.go-overt.com&amp;gt&lt;/a&gt;; &lt;br/&gt;&amp;gt; &amp;gt; and other projects&lt;br/&gt;&amp;gt; &amp;gt;  &lt;br/&gt;&amp;gt; &amp;gt; earn.com/willtech&lt;br/&gt;&amp;gt; &amp;gt; linkedin.com/in/damianwilliamson&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; m. 0487135719&lt;br/&gt;&amp;gt; &amp;gt; f. &#43;61261470192&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; This email does not constitute a general advice. Please disregard this email if misdelivered.&lt;br/&gt;&amp;gt; &amp;gt; *From:* Ariel Lorenzo-Luaces &amp;lt;arielluaces at gmail.com &amp;lt;mailto:arielluaces at gmail.com&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; *Sent:* Monday, 1 March 2021 12:07 AM&lt;br/&gt;&amp;gt; &amp;gt; *To:* LORD HIS EXCELLENCY JAMES HRMH &amp;lt;willtech at live.com.au &amp;lt;mailto:willtech at live.com.au&amp;gt; &amp;gt;; Bitcoin Protocol Discussion &amp;lt;bitcoin-dev at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; *Subject:* Re: [bitcoin-dev] Taproot NACK &lt;br/&gt;&amp;gt; &amp;gt;  &lt;br/&gt;&amp;gt; &amp;gt; Hello LORD HIS EXCELLENCY JAMES HRMH&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; I find a striking dichotomy between your concern of increased privacy in bitcoin and your link to a bitcoin mixer in your signature www.go-overt.com &amp;lt;&lt;a href=&#34;http://www.go-overt.com&amp;gt&#34;&gt;http://www.go-overt.com&amp;gt&lt;/a&gt;; &lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; At first your concerns seemed genuine but after seeing your promotion of a bitcoin mixer I&amp;#39;m thinking your concerns may be more profit motivated? I can&amp;#39;t tell since you failed to disclose your relationship with the mixer.&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Could you please clarify your association with the bitcoin mixer and moving forward could you please always do proper disclosure any time you&amp;#39;re publically talking about bitcoin transaction privacy. It&amp;#39;s only fair to do so as to not mislead people in an attempt to manipulate at worst and just a courteous practice at best.&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Cheers&lt;br/&gt;&amp;gt; &amp;gt; Ariel Lorenzo-Luaces&lt;br/&gt;&amp;gt; &amp;gt; On Feb 28, 2021, at 4:36 AM, LORD HIS EXCELLENCY JAMES HRMH via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt; &amp;gt; wrote: &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; Good Evening, &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; Thank-you for your advice   @JeremyRubin &amp;lt;&lt;a href=&#34;https://twitter.com/JeremyRubin&amp;gt&#34;&gt;https://twitter.com/JeremyRubin&amp;gt&lt;/a&gt;;  on the basis you advise, &amp;#34;Taproot does not enable monero-like privacy features&amp;#34;, I am prepred to withdraw my NACK notably that the existing feeatures of Bitcoin MUST be maintained, and whereby the UTXO of a transaction is identifiable, the PayTo Address, and the amount all without any obfuscation. &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; Lightning does not really provide obfuscation, it provides a result of a subset of transactions although the operation of the channel is observable to the parties. &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; The reports I were reading concerning the supposed operation of Taproot published in a public media channel may have been speculation or misinformation nonetheless it is prudent to conditionally reply as you see that I have. It is important not to allow things to slip through the cracks. As you may believe may astute reviewers could make a full disclosure to this list it is not to be expected. &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; KING JAMES HRMH &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; Great British Empire &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; The Australian &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; LORD HIS EXCELLENCY JAMES HRMH (&amp;amp; HMRH) &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; of Hougun Manor &amp;amp; Glencoe &amp;amp; British Empire &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; MR. Damian A. James Williamson &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; Wills &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; et al. &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; Willtech &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; www.willtech.com.au &amp;lt;&lt;a href=&#34;http://www.willtech.com.au&amp;gt&#34;&gt;http://www.willtech.com.au&amp;gt&lt;/a&gt;;  &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; www.go-overt.com &amp;lt;&lt;a href=&#34;http://www.go-overt.com&amp;gt&#34;&gt;http://www.go-overt.com&amp;gt&lt;/a&gt;;  &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; and other projects &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;   &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; earn.com/willtech &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; linkedin.com/in/damianwilliamson &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; m. 0487135719 &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; f. &#43;61261470192 &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; This email does not constitute a general advice. Please disregard this email if misdelivered. &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; *From:* Jeremy &amp;lt;jlrubin at mit.edu &amp;lt;mailto:jlrubin at mit.edu&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; *Sent:* Sunday, 28 February 2021 3:14 AM&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; *To:* LORD HIS EXCELLENCY JAMES HRMH &amp;lt;willtech at live.com.au &amp;lt;mailto:willtech at live.com.au&amp;gt; &amp;gt;; Bitcoin Protocol Discussion &amp;lt;bitcoin-dev at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; *Subject:* Re: [bitcoin-dev] Taproot NACK &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;   &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; I have good news for you: Taproot does not enable monero-like privacy features any moreso than already exist in Bitcoin today. At its core, taproot is a way to make transactions with embedded smart contracts less expensive, done so in a manner that may marginally improve privacy dependent on user behavior (but not in the monero-like way you mention). For example, it makes it possible for lightning channels to look structurally similar to single key wallets, but it does nothing inherently to obfuscate the transaction graph as in monero. &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; Such &amp;#34;monero-like&amp;#34; transaction graph obfuscation may already exist in Bitcoin via other techniques (coinjoin, payjoin, coinswap, lightning, etc) with or without Taproot, so the point is further moot. &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; Do you have a source on your reporting? &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt; You may wish to rescind your nack. &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; @JeremyRubin &amp;lt;&lt;a href=&#34;https://twitter.com/JeremyRubin&amp;gt&#34;&gt;https://twitter.com/JeremyRubin&amp;gt&lt;/a&gt;;  &amp;lt;&lt;a href=&#34;https://twitter.com/JeremyRubin&amp;gt&#34;&gt;https://twitter.com/JeremyRubin&amp;gt&lt;/a&gt;;&lt;br/&gt;&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 Sat, Feb 27, 2021 at 5:46 AM LORD HIS EXCELLENCY JAMES HRMH via bitcoin-dev &amp;lt; bitcoin-dev at lists.linuxfoundation.org &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; Good Afternoon, &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; It has been reported that Taproot will enable some Monero like features including the ability to hide transactions. &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; If that is the case I offer a full NACK and let me explain. &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; A part of the benefit of using Bitcoin is its honesty. The full transaction is published on the blockchain. If that were to change so that transactions may be obfuscated from scrutiny then any government would have unlimited impetus to ban Bitcoin, and speculation has that is the reason India has been reported to have banned cryptocurrencies already. &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; I am in support of the expanded use case of Bitcoin without harming the established robust fairness and equal equity offered. The core functionality of Bitcoin, its values, must remain unaltered. &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; KING JAMES HRMH &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Great British Empire &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Regards, &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; The Australian &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; LORD HIS EXCELLENCY JAMES HRMH (&amp;amp; HMRH) &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; of Hougun Manor &amp;amp; Glencoe &amp;amp; British Empire &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; MR. Damian A. James Williamson &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; Wills &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; et al. &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; Willtech &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; www.willtech.com.au &amp;lt;&lt;a href=&#34;http://www.willtech.com.au&amp;gt&#34;&gt;http://www.willtech.com.au&amp;gt&lt;/a&gt;;  &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; www.go-overt.com &amp;lt;&lt;a href=&#34;http://www.go-overt.com&amp;gt&#34;&gt;http://www.go-overt.com&amp;gt&lt;/a&gt;;  &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; and other projects &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt;   &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; earn.com/willtech &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; linkedin.com/in/damianwilliamson &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; m. 0487135719 &lt;br/&gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; f. &#43;61261470192 &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; This email does not constitute a general advice. Please disregard this email if misdelivered. &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 &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt;  &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;&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: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;lt;ip.bitcointalk.org.png&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 &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;&lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&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;&lt;br/&gt;_______________________________________________&lt;br/&gt;bitcoin-dev mailing list&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org &amp;lt;mailto:bitcoin-dev at lists.linuxfoundation.org&amp;gt; &lt;br/&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;&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/20210303/51f2aabd/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20210303/51f2aabd/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-07T18:29:26Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsdpnsuzq9369fukhdsq85t23c8wjrwwqg0rer9qr9s3y6kvlw9e9szyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxqz5808</id>
    
      <title type="html">📅 Original date posted:2020-11-30 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsdpnsuzq9369fukhdsq85t23c8wjrwwqg0rer9qr9s3y6kvlw9e9szyqwxk6ucvg46y5gytygnvqf74hr8ukn44ye8gqxtnu4e43gzw33vxqz5808" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrxyagua5uxq7py5dd7ma0mn7svzgtaaje4cn98a2e7du0kvp2vzgqnmqnu&#39;&gt;nevent1q…mqnu&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2020-11-30&lt;br/&gt;📝 Original message:Hi Sebastian,&lt;br/&gt;&lt;br/&gt;It&amp;#39;s important to consider here that anonymity is the reason fees are incorporated into transactions. One must generally trust the party with whom one transacts. But since integral fees are paid to any miner, this does not apply to fees. In paying fees externally one must find another way to associate a fee with its transaction. This of course increases the possibility of taint, as you describe in part here:&lt;br/&gt;&lt;br/&gt;&amp;gt; Miners that included a transaction need a way to authenticate when claiming the bounty.&lt;br/&gt;&lt;br/&gt;It is also the case that the &amp;#34;bounty&amp;#34; must be associated with the transaction. Even with miner and payer mutual anonymity, the fee inputs and outputs will be associated with the transaction inputs and outputs by the miner, rendering the proposal counterproductive.&lt;br/&gt;&lt;br/&gt;Total transaction sizing is not reduced by paying fees externally, in fact it would be increased. The only possible reduction would come from aggregation of fees. Yet it is not clear how that aggregation would occur privately in less overall block space. At least with integral fees, it&amp;#39;s *possible* to spend and pay a fee with a single input and output. That is not the case with externalized fees.&lt;br/&gt;&lt;br/&gt;e&lt;br/&gt;&lt;br/&gt;-----Original Message-----&lt;br/&gt;From: bitcoin-dev &amp;lt;bitcoin-dev-bounces at lists.linuxfoundation.org&amp;gt; On Behalf Of Sebastian Geisler via bitcoin-dev&lt;br/&gt;Sent: Monday, November 30, 2020 3:03 PM&lt;br/&gt;To: bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;Subject: [bitcoin-dev] Out-of-band transaction fees&lt;br/&gt;&lt;br/&gt;Hi all,&lt;br/&gt;&lt;br/&gt;the possibility of out of band transaction fee payments is a well known fact. Yet it has been mostly discussed as an annoying inevitability that can be problematic if on-chain fees are to be used as a consensus parameter. The potential use cases have seen little interest though (please correct me if I&amp;#39;m wrong).&lt;br/&gt;&lt;br/&gt;One such use case is sending UTXOs &amp;#34;intact&amp;#34;. Let&amp;#39;s assume we get to a point where Bitcoin is primarily a settlement layer for L2 systems.&lt;br/&gt;These L2 systems might want to protect their privacy and keep UTXOs of a common sizes (e.g. 1 BTC, 10 BTC, …). For certain settlement applications these can be transferred as a whole, but currently fee requirements force the system to add another input for fees which will introduce taint (because it&amp;#39;s used repeatedly). If instead a fee could be paid out of band in a privacy preserving way the TXO chain would leak little about the intermediate holders.&lt;br/&gt;&lt;br/&gt;Taking this concept even further CoinJoin-like protocols could also be used to introduce further ambiguity without leaking that a certain entity took part in the CJ (which fee inputs/reused &amp;#34;toxic waste&amp;#34;&lt;br/&gt;inevitably do afaik). Such a mechanism would probably also make CJ transactions much smaller as _no_ fee inputs had to be provided (assuming the inputs already have the right size).&lt;br/&gt;&lt;br/&gt;Out-of-band transaction &amp;#34;accelerators&amp;#34; already exist and taking fee payment out-of-band can not be effectively prevented. So even though any such proposal will probably have slight centralizing effects I believe that having a standard for it is preferable to having every pool implement their own API making it harder for small pools to get into the market.&lt;br/&gt;&lt;br/&gt;Imo the central questions are:&lt;br/&gt; * how to build such a out-of-band &amp;#34;transaction bounty&amp;#34; system&lt;br/&gt; * how to standardized it&lt;br/&gt; * how can the centralizing effects from it be mitigated&lt;br/&gt;&lt;br/&gt;Imo fees are small enough to not really care about counter party risk that much. It&amp;#39;s more important that it is easy to run so that there is some choice for users and miners. In that sense I consider single-operator services providing both standardized user and miner APIs as well as an optional UI suitable. I would still take into account that this could change and might consider the needs of federated services in the protocol.&lt;br/&gt;&lt;br/&gt;Each such service would need to announce which means of payment it supports and allow users and miners to choose when paying/redeeming fees. Users should be able to submit transactions and either be presented with a single payment method dependent &amp;#34;invoice&amp;#34; or one per input (for the CoinJoin use case). As soon as all invoices are paid the bounty goes live and is visible to miners through an API.&lt;br/&gt;&lt;br/&gt;Miners that included a transaction need a way to authenticate when claiming the bounty. One possibility would be to optionally include a unique public key e.g. in the coinbase scriptsig after the height push (is this feasible?). This could be used to claim any bounties after 100, 120, or even a user-defined confirmation threshold is met. If the key is unique for every block there won&amp;#39;t be a problem with pool accountability which might become a risk down the road (so this should also be enforced at least in the bounty protocol to avoid lazy implementations leading to dangerous precedents).&lt;br/&gt;&lt;br/&gt;Any feedback is welcome :)&lt;br/&gt;&lt;br/&gt;tl;dr Out-of-band fee payment services are inevitable and useful, so we should at least standardize them and mitigate negative effects as much as possible.&lt;br/&gt;&lt;br/&gt;Best,&lt;br/&gt;Sebastian&lt;br/&gt;&lt;br/&gt;_______________________________________________&lt;br/&gt;bitcoin-dev mailing list&lt;br/&gt;bitcoin-dev at lists.linuxfoundation.org&lt;br/&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-07T18:27:37Z</updated>
  </entry>

</feed>