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

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




  <entry>
    <id>https://nostr.ae/nevent1qqsva79r8py0rglag06vj9q6xqdgwxasmye7pdhuv8g3xcvym724e0szyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkv0m3vep</id>
    
      <title type="html">📅 Original date posted:2023-05-11 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsva79r8py0rglag06vj9q6xqdgwxasmye7pdhuv8g3xcvym724e0szyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkv0m3vep" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsds32yqujkqvr3ltgtcp2vy3gavlwegle6a83nhmnrm3czcxfc9zsa6f8rq&#39;&gt;nevent1q…f8rq&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-05-11&lt;br/&gt;🗒️ Summary of this message: A developer expresses the importance of freedom of expression, presumption of innocence, and due process in the Bitcoin community, and vows to fight for these values.&lt;br/&gt;📝 Original message:&lt;br/&gt;Hi Antoine,&lt;br/&gt;&lt;br/&gt;&amp;gt; I can say missing an open-source engineering meeting or being revoked a few Github permissions matters far less than the clear affirmation and respect of the freedom of expression, the presumption of innocence and due process in the Bitcoin common space, all proportions conserved.&lt;br/&gt;&lt;br/&gt;This is not acceptable. I will fight with you. Never feel alone.&lt;br/&gt;&lt;br/&gt;/devfd0&lt;br/&gt;floppy disk guy&lt;br/&gt;&lt;br/&gt;Sent with [Proton Mail](&lt;a href=&#34;https://proton.me/&#34;&gt;https://proton.me/&lt;/a&gt;) secure email.&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Wednesday, May 10th, 2023 at 10:27 PM, Antoine Riard &amp;lt;antoine.riard at gmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Hi Tony,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Is there a better place to havepubliccommunication? Unfortunately since one off topic email was sent here, it&amp;#39;s been a ghost town. It appears that there&amp;#39;s many emails being held and only one moderator that checks them once a week.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; As I think you&amp;#39;re referring to my post of March 21th and as the author of this post, I&amp;#39;ll politely refuse the qualification of &amp;#34;off-topic&amp;#34;. I had and I still have the concerns of &amp;#34;frivolous legal claims&amp;#34; being used between bitcoin developers/organizations provoking a distortion of the neutrality of the development and a chilling effect of the technical discussions (i.e code we compile and spec we implement). For those reasons, it was my legal right and moral duty to inform the community of what is happening between Chaincode and myself. And here I&amp;#39;m following the recommendation of one of the moderators of the Lightning mailing list himself &amp;#34;If this worries you too, let&amp;#39;s make sure we keep each other honest, OK?&amp;#34; [0].&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; When you think a group of people with open-source responsibilities are in a situation of conflict of interests or &amp;#34;moral hazards&amp;#34;, or even the appearance of them, you have the right to expose the wrongdoing, including the _proportional_ revelation of private elements. People have done the &amp;#34;free choice&amp;#34; to conduct a career in open-source, for some even declaring in some context to maintain integrity and accept their actions to be submitted to external accountability [1]. While the exposure of private elements of public personalities might break common courtesy, it&amp;#39;s a morally valid practice if you&amp;#39;re familiar with the public institutions of US and Europe, and I think this practice has found validity in the history of open-source commons or IETF&amp;#39;s protocol development [1].&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Beyond, the Bitcoin and Lightning development communication channels constitute a public forum, where by nature the participants are exchanging ideas and defending competing interests. In consequence, the participants&amp;#39; rights and capabilities to contribute and speak their minds in those communication channels should be protected. Those communication channels are not your usual corporate workplace, and in case of conflicting principles, the maintainers of those communication channels should ensure a balance of rights and a proportionality in any restraining measure.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; And this new post is not to exonerate myself of any legal responsibility for personal matters that could be recognized as the outcome of a judicial process, respective of both rights of the accusation and rights of the defense. Rather to enlighten the Bitcoin community that the formal separation between private matters and open-source responsibilities, and the adequate check-and-balances to guarantee this separation is somehow what are the underlying stakes for this feud between Chaincode and myself, from my perspective. I can say missing an open-source engineering meeting or being revoked a few Github permissions matters far less than the clear affirmation and respect of the freedom of expression, the presumption of innocence and due process in the Bitcoin common space, all proportions conserved.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I don&amp;#39;t blame any party involved in this issue, nor assign &amp;#34;bad intentions&amp;#39;&amp;#39;. One position is really a function of your life experiences, knowledge of the legal and cultural framework and access to the factual elements. As all human conflicts it is not binary rather &amp;#34;grey&amp;#34;. People can be top executives at a billion-dollar company, having successful ventures with hundreds of folks under management, or have a lot of responsibilities for their relative young age, and still disagree on the set of legal and moral principles to apply in the present case.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Finally, thanks to the Bitcoin friends who have reached out to call for level-headedness and cool-mindness in the public discussion of this complex topic. Like I said to them, in the lack of more suspected wrongdoing from the other side, I won&amp;#39;t communicate further on this subject on the Bitcoin and Lightning technical channels. However I still firmly believe the discussion on the principles, abstract in the maximum from its private elements, should still be pursued on other channels. Independently, there is a legal channel opened between Chaincode and myself and good progress is made to find a serene and long-standing resolution to this issue.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Best,&lt;br/&gt;&amp;gt; Antoine&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [0] &lt;a href=&#34;https://rusty-lightning.medium.com/the-corrosion-of-ethics-in-cryptocurrencies-f7ba77e9dfc3&#34;&gt;https://rusty-lightning.medium.com/the-corrosion-of-ethics-in-cryptocurrencies-f7ba77e9dfc3&lt;/a&gt;&lt;br/&gt;&amp;gt; [1] &lt;a href=&#34;https://github.com/btrustteam/board-book/blob/main/vision/genesis_principles.md&#34;&gt;https://github.com/btrustteam/board-book/blob/main/vision/genesis_principles.md&lt;/a&gt;&lt;br/&gt;&amp;gt; [2] &lt;a href=&#34;https://www.ietf.org/about/administration/policies-procedures/conflict-interest/&#34;&gt;https://www.ietf.org/about/administration/policies-procedures/conflict-interest/&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Le lun. 8 mai 2023 à 21:26, Tony Giorgio via Lightning-dev &amp;lt;lightning-dev at lists.linuxfoundation.org&amp;gt; a écrit :&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Is there a better place to have public communication? Unfortunately since one off topic email was sent here, it&amp;#39;s been a ghost town. It appears that there&amp;#39;s many emails being held and only one moderator that checks them once a week.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Would hate to see this list die but wondering if there&amp;#39;s a better place for discussions?&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Tony&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; -------- Original Message --------&lt;br/&gt;&amp;gt;&amp;gt; On Apr 29, 2023, 9:57 PM, niftynei &amp;lt; niftynei at gmail.com&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Hi all,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; When I joined the lightning community a few years ago, I was relatively new to open source software and specification work. Rusty really impressed on me on the importance of holding conversations, as much as possible in public.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Practically speaking, this encompasses IRC, this mailing list, and github issues/PRs.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; The reason for this is twofold. It helps document the range of options considered for technical decisions and it provides an interface point for new participants to contribute to the discussion.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Given some recent mails that were posted to this list, now seems like a good time to reiterate the importance and preference of public communication whenever possible, especially for specification or technical discussions.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; ~ nifty&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; Lightning-dev mailing list&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Lightning-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev&lt;/a&gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20230511/a2cad51d/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20230511/a2cad51d/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-19T19:42:08&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsy3w9nnldg87rzh8n5ea5u9n0u9na2f67ytuvdskkne86j7kmwmkczyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkveyc9kf</id>
    
      <title type="html">📅 Original date posted:2023-06-12 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsy3w9nnldg87rzh8n5ea5u9n0u9na2f67ytuvdskkne86j7kmwmkczyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkveyc9kf" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsr8c6x7yjxnu9f9ku8w8u5ce0gz4cc87gcq75596nutuzyc5ucsaqgp9fwz&#39;&gt;nevent1q…9fwz&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-06-12&lt;br/&gt;🗒️ Summary of this message: The email discusses a proof of concept for using nostr npub and relays for payjoin, but there are concerns about the use of SIGHASH_NONE and security issues.&lt;br/&gt;📝 Original message:&lt;br/&gt;Hi Symphonic,&lt;br/&gt;&lt;br/&gt;&amp;gt; I&amp;#39;m a bit confused as to what exactly this is a proof of concept for.&lt;br/&gt;&lt;br/&gt;This is a proof of concept for using nostr npub and relays for payjoin.&lt;br/&gt;&lt;br/&gt;&amp;gt; Your use of SIGHASH_NONE does in fact make it possible for the reciever to do whatever they want with your funds (which I see you acknowledge in your brief description, but still, not very practical).&lt;br/&gt;&lt;br/&gt;SIGHASH_NONE can be used when there is no change in the transaction and sender wants to spend whole UTXO for the payment. Recipient is free to decide the outputs and extra input for the transaction.&lt;br/&gt;&lt;br/&gt;&amp;gt; However, it is also possible for anyone who sees the final broadcasted transaction to extract the sender&amp;#39;s input and use it for any purpose they wish; game theoretically miners would just steal your funds, but it&amp;#39;s possible for any user to RBF and send those funds wherever they like.&lt;br/&gt;&lt;br/&gt;- Based on my understanding of SIGHASH flags and a [blog post][0] by Raghav Sood, use of SIGHASH_ALL by recipient will secure all outputs. However I have realized it is still vulnerable in a [tweet thread][1] as you mentioned. While writing this email, poll was still 50-50 so I guess its a learning thing. We have less docs about SIGHASH flags, maybe an e-book with all experiments would improve this.&lt;br/&gt;- Since this was just a PoC to use nostr, use of specific SIGHASH flags can be ignored and developers can use other flags or default. I will improve/change it as well. I wanted to use SIGHASH_NONE to improve privacy and less UX issues.&lt;br/&gt;- There are no incentives for sender or recipient to use RBF and double spend in a payjoin transaction.&lt;br/&gt;&lt;br/&gt;[0]: &lt;a href=&#34;https://raghavsood.com/blog/2018/06/10/bitcoin-signature-types-sighash&#34;&gt;https://raghavsood.com/blog/2018/06/10/bitcoin-signature-types-sighash&lt;/a&gt;&lt;br/&gt;[1]: &lt;a href=&#34;https://twitter.com/1440000bytes/status/1668261886884708352&#34;&gt;https://twitter.com/1440000bytes/status/1668261886884708352&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;flopyy disk guy&lt;br/&gt;&lt;br/&gt;Sent with Proton Mail secure email.&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Sunday, June 11th, 2023 at 8:02 AM, symphonicbtc &amp;lt;symphonicbtc at proton.me&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; Hey alicexbt,&lt;br/&gt;&amp;gt; I&amp;#39;m a bit confused as to what exactly this is a proof of concept for. Your use of SIGHASH_NONE does in fact make it possible for the reciever to do whatever they want with your funds (which I see you acknowledge in your brief description, but still, not very practical). However, it is also possible for anyone who sees the final broadcasted transaction to extract the sender&amp;#39;s input and use it for any purpose they wish; game theoretically miners would just steal your funds, but it&amp;#39;s possible for any user to RBF and send those funds wherever they like.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; As is the case with any work-in-progress software, but especially in this instance, I urge you to disable the ability to use mainnet coins directly in your code. This is highly irresponsible to post in this state.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Moreover, a bit redundantly considering the glaring and severe security issues, this is not a proper implemenation of a payjoin, even in a theoretical scenario, as it is trivial to discern which inputs belong to the sender and reciever respectively in the final transaction.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Symphonic&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Sent with Proton Mail secure email.
    </content>
    <updated>2023-06-15T02:54:55&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsr8c6x7yjxnu9f9ku8w8u5ce0gz4cc87gcq75596nutuzyc5ucsaqzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvwj68pl</id>
    
      <title type="html">📅 Original date posted:2023-06-10 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsr8c6x7yjxnu9f9ku8w8u5ce0gz4cc87gcq75596nutuzyc5ucsaqzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvwj68pl" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsyrxsv5j0g0yx5g0pcagjamncd5kzn3uqlkzmpddv5hnpply8qlecle6jj0&#39;&gt;nevent1q…6jj0&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-06-10&lt;br/&gt;🗒️ Summary of this message: A proof of concept for a payjoin (p2ep) proposal that doesn&amp;#39;t require a personal server has been shared, but adoption is uncertain without common nostr relays.&lt;br/&gt;📝 Original message:&lt;br/&gt;Hello Bitcoin Developers,&lt;br/&gt;&lt;br/&gt;Since I learnt about payjoin(p2ep), there was always discussion of it not being adopted because of need for sever. This proposal needs no personal sever however I am doubtful it still gets any adoption.&lt;br/&gt;&lt;br/&gt;Note: Even stowaway (used by samourai) uses servers in fact two: soroban.samouraiwallet.com and paynym.is&lt;br/&gt;&lt;br/&gt;I am sharing a proof of concept that does not need any server however there need to be some common nostr relays between sender and recipient:&lt;br/&gt;&lt;br/&gt;Repository: &lt;a href=&#34;https://gitlab.com/1440000bytes/postr&#34;&gt;https://gitlab.com/1440000bytes/postr&lt;/a&gt;&lt;br/&gt;Demo Video: &lt;a href=&#34;https://www.youtube.com/watch?v=O5qbexzO37c&#34;&gt;https://www.youtube.com/watch?v=O5qbexzO37c&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;floppy disk guy&lt;br/&gt;&lt;br/&gt;Sent with [Proton Mail](&lt;a href=&#34;https://proton.me/&#34;&gt;https://proton.me/&lt;/a&gt;) secure email.&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20230610/ee10872c/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20230610/ee10872c/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-15T02:54:55&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqv0wjua36zh6ft57h02ytxvvmld3t7n5va6lkkvmgw7cwufzjf9szyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvvhsgd2</id>
    
      <title type="html">📅 Original date posted:2022-06-08 📝 Original message: Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqv0wjua36zh6ft57h02ytxvvmld3t7n5va6lkkvmgw7cwufzjf9szyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvvhsgd2" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvclsglpvgusgtvrnu6z84rg2rxvlrnghq6hww7rc9r8jxmv6pwrqsvjqjm&#39;&gt;nevent1q…jqjm&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-06-08&lt;br/&gt;📝 Original message:&lt;br/&gt;Hi Tony,&lt;br/&gt;&lt;br/&gt;&amp;gt; The reason this is possible is because probing is a free operation on the Lightning Network after a channel is opened, the error reasons given are way too verbose, and currently channel IDs are based on UTXO&amp;#39;s. Scid aliases may be the biggest benefit here, but the use of `unknown_next_peer` , `invalid_onion_hmac`, `incorrect_cltv_expiry`, and `amount_below_minimum` have been the biggest helpers in exploiting channel privacy.&lt;br/&gt;&lt;br/&gt;Can this be fixed by making error messages less verbose or reveal less information?&lt;br/&gt;&lt;br/&gt;&amp;gt; We should definitely migrate to alias scid&amp;#39;s, and encourage every active unannounced channel holder to close, coinjoin, and reopen with an alias. But care should be given in the future when it comes to error reasons revealing information that is meant to be &amp;#34;private&amp;#34;. Until this migration happens, it would be beneficial to stop being so specific about errors, this does not really seem to help end users anyways.&lt;br/&gt;&lt;br/&gt;Alias SCID would be better for privacy as they allow a node to request a channel by a random value instead of value derived from the on-chain transaction. Are alias SCIDs necessary to fix it or error messages alone can fix it?&lt;br/&gt;&lt;br/&gt;I found these pull requests and assuming alias SCID are already implemented in LDK/rust-lightning:&lt;br/&gt;&lt;br/&gt;[&lt;a href=&#34;https://github.com/lightningdevkit/rust-lightning/pull/1311/&#34;&gt;https://github.com/lightningdevkit/rust-lightning/pull/1311/&lt;/a&gt;](&lt;a href=&#34;https://github.com/lightningdevkit/rust-lightning/pull/1311/commits&#34;&gt;https://github.com/lightningdevkit/rust-lightning/pull/1311/commits&lt;/a&gt;)&lt;br/&gt;&lt;a href=&#34;https://github.com/lightningdevkit/rust-lightning/pull/1351&#34;&gt;https://github.com/lightningdevkit/rust-lightning/pull/1351&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; I&amp;#39;ll be continuing with this probing project while the problem exists, and work on narrowing down the other channel partner and fixing efficiency bugs. I am publicizing the results as I go, so fair warning that if you have any unannounced channels that you assumed were private and need them to be, close them now on the off chance they get revealed. This could have always been happening already already by analytic firms, so I hope by publicizing this we are all on the same playing field. It is also beneficial to get a better estimate of the unknown size of the Lightning Network.&lt;br/&gt;&lt;br/&gt;I love the research and thanks for sharing all the information. I am assuming analytic firms would be using this already.&lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;&lt;br/&gt;Sent with [Proton Mail](&lt;a href=&#34;https://proton.me/&#34;&gt;https://proton.me/&lt;/a&gt;) secure email.&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Wednesday, June 8th, 2022 at 7:35 AM, Tony Giorgio via Lightning-dev &amp;lt;lightning-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Hi,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; For the past few months I have been working on an LDK probing project that searches for unannounced channels on the Lightning Network. For the past week, I have been probing on mainnet and squashing bugs / making optimizations.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; So far I have found near 445 unannounced channels totaling 1,076,077,750 satoshi&amp;#39;s locked across the 3 nodes I have probed, some with just a minimized set (~30,000) of probable channels based on &amp;#34;round payment amount&amp;#34; and &amp;#34;1 or 2 tx output&amp;#34; heuristics on P2WSH UTXO&amp;#39;s. Most of them being on Aincq&amp;#39;s node found with the minimized set, I&amp;#39;ve yet to run the complete set with them. There are about ~860,000 P2WSH UTXO&amp;#39;s, about ~60,000 of which are public, so the upward limit of possible private channels is around ~800,000.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The exact results are publicized here: &lt;a href=&#34;https://github.com/BitcoinDevShop/hidden-lightning-network/blob/master/data/results/results.json&#34;&gt;https://github.com/BitcoinDevShop/hidden-lightning-network/blob/master/data/results/results.json&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; The reason this is possible is because probing is a free operation on the Lightning Network after a channel is opened, the error reasons given are way too verbose, and currently channel IDs are based on UTXO&amp;#39;s. Scid aliases may be the biggest benefit here, but the use of `unknown_next_peer` , `invalid_onion_hmac`, `incorrect_cltv_expiry`, and `amount_below_minimum` have been the biggest helpers in exploiting channel privacy.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; By creating a probe guessing the Channel ID based on unspent p2wsh transactions, it&amp;#39;s a `m * n` problem to probe the entire network, where `m` is utxos and `n` is nodes. Without these errors and instead something like `temporary_channel_failure` or a generic indistinguishable error, guessing a Channel ID would come down to an upwards of `m * n * n-1 * ~2000`, which would be each utxo with each pairing of nodes, each with about ~2000 cltv&amp;#39;s to guess (numbers are as low as 7 to as high as ~2000). I threw the extra 2000 into the equation because even with `800,000 * 1 * 2000`, it gets much more time consuming to even probe a single node when we&amp;#39;re already spending upwards of a day or so for near 1 million or 2 probes. Concurrent probing is possible, but starts to require more locked up liquidity.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; We should definitely migrate to alias scid&amp;#39;s, and encourage every active unannounced channel holder to close, coinjoin, and reopen with an alias. But care should be given in the future when it comes to error reasons revealing information that is meant to be &amp;#34;private&amp;#34;. Until this migration happens, it would be beneficial to stop being so specific about errors, this does not really seem to help end users anyways.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;ll be continuing with this probing project while the problem exists, and work on narrowing down the other channel partner and fixing efficiency bugs. I am publicizing the results as I go, so fair warning that if you have any unannounced channels that you assumed were private and need them to be, close them now on the off chance they get revealed. This could have always been happening already already by analytic firms, so I hope by publicizing this we are all on the same playing field. It is also beneficial to get a better estimate of the unknown size of the Lightning Network.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; For more about this project and viewing the dataset, go to &lt;a href=&#34;http://hiddenlightningnetwork.com&#34;&gt;http://hiddenlightningnetwork.com&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Thanks,&lt;br/&gt;&amp;gt; Tony&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20220608/55e9f88f/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20220608/55e9f88f/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-09T15:06:11&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs20x8esz60xxuq0yaw5ewq6yl3c0dx3ms7679sx35a866p33cdekszyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvdpg46g</id>
    
      <title type="html">📅 Original date posted:2023-05-08 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs20x8esz60xxuq0yaw5ewq6yl3c0dx3ms7679sx35a866p33cdekszyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvdpg46g" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqst4d2j2nv447djc6xehp2gwk3ge94l0ml567zlskv902gv05dj6xq9wun6m&#39;&gt;nevent1q…un6m&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-05-08&lt;br/&gt;🗒️ Summary of this message: A vulnerability in Bitcoin Core was reported publicly on GitHub, but the author suggests it should have been reported privately as a potential security issue.&lt;br/&gt;📝 Original message:Hi Bitcoin Developers,&lt;br/&gt;&lt;br/&gt;There is an open issue in bitcoin core repository which was created last week: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/issues/27586&#34;&gt;https://github.com/bitcoin/bitcoin/issues/27586&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;I think this should have been reported privately as vulnerability instead of creating a GitHub issue even if it worked only in debug mode. Some users in the comments have also experienced similar issues without debug build used for bitcoind. I have not noticed any decline in the number of listening nodes on bitnodes.io in last 24 hours so I am assuming this is not an issue with majority of bitcoin core nodes. However, things could have been worse and there is nothing wrong in reporting something privately if there is even 1% possibility of it being a vulnerability. I had recently reported something to LND security team based on a closed issue on GitHub which eventually was not considered a vulnerability: &lt;a href=&#34;https://github.com/lightningnetwork/lnd/issues/7449&#34;&gt;https://github.com/lightningnetwork/lnd/issues/7449&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;In the CPU usage issue, maybe the users can run bitcoind with bigger mempool or try other things shared in the issue by everyone.&lt;br/&gt;&lt;br/&gt;This isn&amp;#39;t the first time either when vulnerability was reported publicly: &lt;a href=&#34;https://gist.github.com/chjj/4ff628f3a0d42823a90edf47340f0db9&#34;&gt;https://gist.github.com/chjj/4ff628f3a0d42823a90edf47340f0db9&lt;/a&gt; and this was even exploited on mainnet which affected some projects.&lt;br/&gt;&lt;br/&gt;This email is just a request to consider the impact of any vulnerability if gets exploited could affect lot of things. Even the projects with no financial activity involved follow better practices.&lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;floppy disk guy&lt;br/&gt;&lt;br/&gt;Sent with [Proton Mail](&lt;a href=&#34;https://proton.me/&#34;&gt;https://proton.me/&lt;/a&gt;) secure email.&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20230509/c664f3f5/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20230509/c664f3f5/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:21:42&#43;02:00</updated>
  </entry>

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

  <entry>
    <id>https://nostr.ae/nevent1qqsgwhac3shgjfggahf9fqmecnurkvm66t2qdds3y2kxq45a9etsgrgzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkva4u37y</id>
    
      <title type="html">📅 Original date posted:2023-04-19 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsgwhac3shgjfggahf9fqmecnurkvm66t2qdds3y2kxq45a9etsgrgzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkva4u37y" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxjc4ys9m9zu84h922dcqvhxqmsn873xpg2r5rgh8wcquzt0p3nzgt2gj7y&#39;&gt;nevent1q…gj7y&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-04-19&lt;br/&gt;🗒️ Summary of this message: A debate over the role of maintainers in Bitcoin Core has arisen, with some arguing for more responsiveness and commentary on pull requests. One recent example involved a pull request to add Vasil Dimov as a maintainer, which was met with resistance from some maintainers. However, others argue that maintainers should be free to avoid involvement in certain pull requests and that commentary is not always necessary. The discussion also touched on the issue of decentralization in Bitcoin Core funding and the need for more reviewers.&lt;br/&gt;📝 Original message:Hi Michael,&lt;br/&gt;&lt;br/&gt;I was initially sad about the politics in Vasil&amp;#39;s pull request, written about it and also tried to document the process. Still think he deserves to be a maintainer. Although I have some counter arguments:&lt;br/&gt;&lt;br/&gt;&amp;gt; Maintainers merge a pull request and provide no commentary on why they’ve merged it.&lt;br/&gt;&lt;br/&gt;I don&amp;#39;t think commentary is required for each pull request that gets merged with enough reviews, ACKs and no controversy.&lt;br/&gt;&lt;br/&gt;&amp;gt; Maintainers leave a pull request with many ACKs and few (if any) NACKs for months and provide no commentary on why they haven&amp;#39;t merged it&lt;br/&gt;&lt;br/&gt;This could be considered normal in pull requests that involve code changes.&lt;br/&gt;&lt;br/&gt;&amp;gt; The difference between say previous maintainers like Wladimir and some of the current maintainers is that previous maintainers were extremely responsive on IRC.&lt;br/&gt;&lt;br/&gt;Unfair to expect every human to behave the same or work similarly. Sometimes the unresponsiveness could be to avoid controversies and heated debates that go off-topic.&lt;br/&gt;&lt;br/&gt;&amp;gt; One farcical recent example [0] was the pull request to add Vasil Dimov as a maintainer where despite many ACKs from other maintainers and other long term contributors two maintainers (fanquake and Gloria) refused to discuss it on the pull request or on IRC. It took almost 5 months for Gloria to comment on the pull request despite many requests from me on the PR and on IRC. I even requested that they attend the weekly Core Dev IRC meeting to discuss it which they didn’t attend.&lt;br/&gt;&lt;br/&gt;- Maintainers should be free to avoid involvement in a pull request. As long as a subset of maintainers have an opinion on the pull request, things should be fine. &lt;br/&gt;- I agree with Gloria&amp;#39;s [comment][0]: &amp;#34;I had not NACKed this either because my opinion could change over time, NACKs are sometimes needlessly interpreted as personal attacks, and Brink has been antagonized on Twitter each time multiple grantees have similar opinions about this. So I&amp;#39;ll add that if you wish to have more decentralization in Bitcoin Core funding, you can start by creating a nonprofit, gathering donations, and funding somebody who works on Bitcoin Core.&amp;#34; Last part of this comment also solves the problem shared in other thread related to new bitcoin implementation. Brink needs some competition and bitcoin core needs more reviewers. &lt;br/&gt;- I also agree with Andrew&amp;#39;s [comment][1]: &amp;#34;frankly, I think opinions aren&amp;#39;t being shared because of potential backlash from aggressive users such as yourself and bytes1440000&amp;#34;&lt;br/&gt;&lt;br/&gt;&amp;gt; Maintainers and long term contributors (if they commented at all) were gently enthusiastic (Concept ACKing etc) without ACKing that it was ready to merge. A long term observer of the Core repo would have known that it wasn’t ready to merge or ready to attempt to activate (especially given it was a consensus change) but a casual observer would have only seen Concept ACKs and ACKs with 3 stray NACKs. Many of these casual observers inflated the numbers on the utxos.org site [4] signalling support for a soft fork activation attempt.&lt;br/&gt;&lt;br/&gt;- I don&amp;#39;t see anything wrong with sharing honest opinion if someone agrees with the concept. It does not make a pull request ready to get merged.&lt;br/&gt;- utxos.org is an external site maintained by Jeremy with opinions on BIP 119. Everyone is free to maintain such lists and I think you had also created one as GitHub gist.&lt;br/&gt;&lt;br/&gt;&amp;gt;  I will probably write about bitcoin-inquisition/default signet in a future email as I do think the perception that it is “the one and only” staging ground for consensus changes is dangerous [6] if the maintainer(s) on that project have the same inclinations as a subset of the Core maintainers.&lt;br/&gt;&lt;br/&gt;This perception (if exists) can be killed by creating a custom signet, maintaining it differently, get more reviews, testing and share details with community regularly.&lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;floppy disk guy&lt;br/&gt;&lt;br/&gt;[0]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/25871#issuecomment-1381654564&#34;&gt;https://github.com/bitcoin/bitcoin/pull/25871#issuecomment-1381654564&lt;/a&gt;&lt;br/&gt;[1]: &lt;a href=&#34;https://bitcoin-irc.chaincode.com/bitcoin-core-dev/2023-01-12#883748&#34;&gt;https://bitcoin-irc.chaincode.com/bitcoin-core-dev/2023-01-12#883748&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Sent with Proton Mail secure email.&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Tuesday, April 18th, 2023 at 6:10 PM, Michael Folkson via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; Communication has been a challenge on Bitcoin Core for what I can tell the entire history of the project. Maintainers merge a pull request and provide no commentary on why they’ve merged it. Maintainers leave a pull request with many ACKs and few (if any) NACKs for months and provide no commentary on why they haven&amp;#39;t merged it. I can only speculate on why and it probably depends on the individual maintainer. Sometimes it will be poor communication skills, sometimes it will be a desire to avoid accountability, sometimes it will be fear of unreasonable and spiteful legal action if they mistakenly merge a pull request that ends up containing a bug. But search through the pull requests on Bitcoin Core and you will rarely see a rationale for a merge decision. The difference between say previous maintainers like Wladimir and some of the current maintainers is that previous maintainers were extremely responsive on IRC. If you disagreed with a merge decision or thought it had been merged prematurely they would be happy to discuss it on IRC. In present times at least a subset of the current maintainers are not responsive on IRC and will refuse to discuss a merge decision. One farcical recent example [0] was the pull request to add Vasil Dimov as a maintainer where despite many ACKs from other maintainers and other long term contributors two maintainers (fanquake and Gloria) refused to discuss it on the pull request or on IRC. It took almost 5 months for Gloria to comment on the pull request despite many requests from me on the PR and on IRC. I even requested that they attend the weekly Core Dev IRC meeting to discuss it which they didn’t attend.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; A pull request to add a maintainer isn’t a normal pull request. Generally pull requests contain a lot more lines of code than a single line adding a trusted key. Not merging a pull request for a long period of time can be extremely frustrating for a pull request author especially when maintainers and long term contributors don’t comment on the pull request and the pull request is stuck in “rebase hell”. Clearly it is the lesser evil when compared to merging a harmful or bug ridden pull request but poor non-existent communication is not the only way to prevent this. Indeed it creates as many problems as it solves.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Another farcical recent(ish) example was the CTV pull request [1] that ultimately led to a contentious soft fork activation attempt that was called off at the last minute. If you look at the comments on the pull request there were 3 individuals (including myself) who NACKed the pull request and I think it is fair to say that none of us would be considered long term contributors to Bitcoin Core. I have criticised Jeremy Rubin multiple times for continuing to pursue a soft fork activation attempt when it was clear it was contentious [3] but if you look at the pull request comments it certainly isn’t clear it was. Maintainers and long term contributors (if they commented at all) were gently enthusiastic (Concept ACKing etc) without ACKing that it was ready to merge. A long term observer of the Core repo would have known that it wasn’t ready to merge or ready to attempt to activate (especially given it was a consensus change) but a casual observer would have only seen Concept ACKs and ACKs with 3 stray NACKs. Many of these casual observers inflated the numbers on the utxos.org site [4] signalling support for a soft fork activation attempt.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I set out originally to write about the controls and processes around merges on the default signet (bitcoin-inquisition [5]) but it quickly became obvious to me that if communication around Core merges/non-merges is this weak you can hardly expect it to be any better on bitcoin-inquisition/default signet where there is no real monetary value at stake. I will probably write about bitcoin-inquisition/default signet in a future email as I do think the perception that it is “the one and only” staging ground for consensus changes is dangerous [6] if the maintainer(s) on that project have the same inclinations as a subset of the Core maintainers. &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; As I stated at the beginning there is an element to this which is not individual(s) specific and an adverse reaction to outright malicious actors external to any of these projects. I do not think any of the current maintainers on Core or bitcoin-inquisition are outright malicious even if a subset of them consistently frustrate me with their lack of transparency and accountability. But this issue isn&amp;#39;t going away and I&amp;#39;m sure we&amp;#39;ll hear more on this from others in the coming months. To me it is a straight choice of taking transparency and accountability much more seriously or failing that investing more heavily (time and resources) in consensus compatible forks of Core and treating Core like it is a proprietary &amp;#34;open source&amp;#34; project where merge decisions are not explained or justified in the open.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; [0]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/25871&#34;&gt;https://github.com/bitcoin/bitcoin/pull/25871&lt;/a&gt;&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; [1]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/21702&#34;&gt;https://github.com/bitcoin/bitcoin/pull/21702&lt;/a&gt;&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; [2]: &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-April/020386.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-April/020386.html&lt;/a&gt;&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; [3]: &lt;a href=&#34;https://gist.github.com/michaelfolkson/352a503f4f9fc5de89af528d86a1b718&#34;&gt;https://gist.github.com/michaelfolkson/352a503f4f9fc5de89af528d86a1b718&lt;/a&gt;&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; [4]: &lt;a href=&#34;https://utxos.org/signals/&#34;&gt;https://utxos.org/signals/&lt;/a&gt;&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; [5]: &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-September/020921.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-September/020921.html&lt;/a&gt;&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; [6]: &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-September/020948.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-September/020948.html&lt;/a&gt;&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt; Michael Folkson&lt;br/&gt;&amp;gt; Email: michaelfolkson at protonmail.com&lt;br/&gt;&amp;gt; Keybase: michaelfolkson&lt;br/&gt;&amp;gt; PGP: 43ED C999 9F85 1D40 EAF4 9835 92D6 0159 214C FEE3
    </content>
    <updated>2023-06-08T01:20:36&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsvme3xsgsgs9juyxmrhdpc5nc23r45ejutlvh9p5qtvpexsul0hrczyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvhhju5n</id>
    
      <title type="html">📅 Original date posted:2023-03-02 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsvme3xsgsgs9juyxmrhdpc5nc23r45ejutlvh9p5qtvpexsul0hrczyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvhhju5n" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsw3vdg69yshsa2qnpk42tcexxe9z3h7elr0wdphhvkkd436y47u8c3ltrts&#39;&gt;nevent1q…trts&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-03-02&lt;br/&gt;🗒️ Summary of this message: A new BIP proposes using PSBTs for trust-minimized swaps of inscriptions in Bitcoin. The process involves creating and signing a PSBT, publishing it as an offer, and updating it with appropriate inputs and outputs. The use of SINGLE|ANYONECANPAY is recommended, and the order of inputs and outputs is crucial to avoid burning inscriptions. The BIP was authored by /dev/fd0 and is currently in draft status.&lt;br/&gt;📝 Original message:Hi Bitcoin Developers,&lt;br/&gt;&lt;br/&gt;I have written a BIP that describes the process to swap inscriptions however there can be other use cases for it as well: &lt;a href=&#34;https://gist.github.com/1440000bytes/a7deeb3f1740bc533a61fbcc1fe58d77&#34;&gt;https://gist.github.com/1440000bytes/a7deeb3f1740bc533a61fbcc1fe58d77&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Feel free to share your opinion or feedback to improve the usage of PSBTs in swaps.&lt;br/&gt;&lt;br/&gt;    BIP: 2023-ordswap&lt;br/&gt;    Layer: Applications&lt;br/&gt;    Title: Trust minimized swaps using PSBTs&lt;br/&gt;    Author: /dev/fd0&lt;br/&gt;    Status: Draft&lt;br/&gt;    Created: 2023-03-02&lt;br/&gt;    License: Public Domain&lt;br/&gt;  &lt;br/&gt;  &lt;br/&gt;### Introduction&lt;br/&gt;&lt;br/&gt;This BIP describes a process for creating offers using PSBTs to swap inscriptions. It was originally shared by [Casey](&lt;a href=&#34;https://github.com/casey/ord/issues/802&#34;&gt;https://github.com/casey/ord/issues/802&lt;/a&gt;). There are two other approaches (`joinpsbts` and coinswap) to swap inscriptions however they degrade the UX and use of SINGLE|ANYONECANPAY works better.&lt;br/&gt;&lt;br/&gt;### Specification&lt;br/&gt;&lt;br/&gt;[SINGLE|ANYONECANPAY](&lt;a href=&#34;https://en.bitcoin.it/wiki/Contract#SIGHASH_flags&#34;&gt;https://en.bitcoin.it/wiki/Contract#SIGHASH_flags&lt;/a&gt;) is used for creating a PSBT by the seller. It is signed and published as offer. Buyer updates the PSBT with appropriate inputs and outputs. Order of inputs and outputs in the PSBT is very important as wrong ordering can burn inscriptions. [Ordinal theory](&lt;a href=&#34;https://docs.ordinals.com/faq.html?#how-does-ordinal-theory-work&#34;&gt;https://docs.ordinals.com/faq.html?#how-does-ordinal-theory-work&lt;/a&gt;) uses an algorithm to determine how satoshis hop from the inputs of a transaction to its outputs.&lt;br/&gt;&lt;br/&gt;### Protocol&lt;br/&gt;&lt;br/&gt;Sequence diagram:&lt;br/&gt;&lt;br/&gt;```mermaid&lt;br/&gt;sequenceDiagram&lt;br/&gt;    Note right of Seller: Create and Sign PSBT&lt;br/&gt;    Seller-&amp;gt;&amp;gt;&#43;Nostr relays: Publish offer&lt;br/&gt;    Buyer-&amp;gt;&amp;gt;&#43;Nostr relays: Accept offer&lt;br/&gt;    Note left of Buyer: Add inputs, outputs, sign and broadcast PSBT&lt;br/&gt;```&lt;br/&gt;&lt;br/&gt;Seller:&lt;br/&gt;&lt;br/&gt;- Create PSBT with inscription UTXO input and a new address with sell amount as output&lt;br/&gt;- Sign PSBT&lt;br/&gt;- Publish PSBT as defined in [NIP](&lt;a href=&#34;https://github.com/orenyomtov/openordex/blob/main/NIP.md&#34;&gt;https://github.com/orenyomtov/openordex/blob/main/NIP.md&lt;/a&gt;)&lt;br/&gt;&lt;br/&gt;Buyer:&lt;br/&gt;&lt;br/&gt;- Add new address as output in PSBT to receive inscription&lt;br/&gt;- Create [dummy UTXO]( &lt;img src=&#34;https://i.imgur.com/8Rw3TFX.png&#34;&gt; ) if not available in wallet (Less than 1000 sats)&lt;br/&gt;- Add UTXO to pay seller and dummy UTXO as inputs in PSBT&lt;br/&gt;- Sign and broadcast transaction. &lt;br/&gt;&lt;br/&gt;Example tx: &lt;a href=&#34;https://mempool.space/signet/tx/ee7032f08ed18113c16ab8759d294c09f57492d8d255b5dbd16326df53bbdcac&#34;&gt;https://mempool.space/signet/tx/ee7032f08ed18113c16ab8759d294c09f57492d8d255b5dbd16326df53bbdcac&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;This transaction has 3 inputs (dummy, inscription, UTXO used for paying seller) and 4 outputs (inscription, payment, new dummy for future, change)&lt;br/&gt;&lt;br/&gt;Note: Openordex creates a dummy UTXO and reuses address if there is no dummy UTXO found for the address entered by buyer. Example: &lt;a href=&#34;https://mempool.space/signet/tx/388942887f79358a1deba3aae86e97b982a923566b2ef2249eab42288efc5abf&#34;&gt;https://mempool.space/signet/tx/388942887f79358a1deba3aae86e97b982a923566b2ef2249eab42288efc5abf&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Pseudocode or Implementation (2 functions used by openordex for creating PSBTs)&lt;br/&gt;&lt;br/&gt;```js&lt;br/&gt;	&lt;br/&gt;async function generatePSBTListingInscriptionForSale(ordinalOutput, price, paymentAddress) {&lt;br/&gt;    let psbt = new bitcoin.Psbt({ network });&lt;br/&gt;&lt;br/&gt;    const [ordinalUtxoTxId, ordinalUtxoVout] = ordinalOutput.split(&amp;#39;:&amp;#39;)&lt;br/&gt;    const tx = bitcoin.Transaction.fromHex(await getTxHexById(ordinalUtxoTxId))&lt;br/&gt;    for (const output in tx.outs) {&lt;br/&gt;        try { tx.setWitness(output, []) } catch { }&lt;br/&gt;    }&lt;br/&gt;&lt;br/&gt;    psbt.addInput({&lt;br/&gt;        hash: ordinalUtxoTxId,&lt;br/&gt;        index: parseInt(ordinalUtxoVout),&lt;br/&gt;        nonWitnessUtxo: tx.toBuffer(),&lt;br/&gt;        // witnessUtxo: tx.outs[ordinalUtxoVout],&lt;br/&gt;        sighashType: bitcoin.Transaction.SIGHASH_SINGLE | bitcoin.Transaction.SIGHASH_ANYONECANPAY,&lt;br/&gt;    });&lt;br/&gt;&lt;br/&gt;    psbt.addOutput({&lt;br/&gt;        address: paymentAddress,&lt;br/&gt;        value: price,&lt;br/&gt;    });&lt;br/&gt;&lt;br/&gt;    return psbt.toBase64();&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;```&lt;br/&gt;&lt;br/&gt;```js&lt;br/&gt;&lt;br/&gt;    generatePSBTBuyingInscription = async (payerAddress, receiverAddress, price, paymentUtxos, dummyUtxo) =&amp;gt; {&lt;br/&gt;        const psbt = new bitcoin.Psbt({ network });&lt;br/&gt;        let totalValue = 0&lt;br/&gt;        let totalPaymentValue = 0&lt;br/&gt;&lt;br/&gt;        // Add dummy utxo input&lt;br/&gt;        const tx = bitcoin.Transaction.fromHex(await getTxHexById(dummyUtxo.txid))&lt;br/&gt;        for (const output in tx.outs) {&lt;br/&gt;            try { tx.setWitness(output, []) } catch { }&lt;br/&gt;        }&lt;br/&gt;        psbt.addInput({&lt;br/&gt;            hash: dummyUtxo.txid,&lt;br/&gt;            index: dummyUtxo.vout,&lt;br/&gt;            nonWitnessUtxo: tx.toBuffer(),&lt;br/&gt;            // witnessUtxo: tx.outs[dummyUtxo.vout],&lt;br/&gt;        });&lt;br/&gt;&lt;br/&gt;        // Add inscription output&lt;br/&gt;        psbt.addOutput({&lt;br/&gt;            address: receiverAddress,&lt;br/&gt;            value: dummyUtxo.value &#43; Number(inscription[&amp;#39;output value&amp;#39;]),&lt;br/&gt;        });&lt;br/&gt;&lt;br/&gt;        // Add payer signed input&lt;br/&gt;        psbt.addInput({&lt;br/&gt;            ...sellerSignedPsbt.data.globalMap.unsignedTx.tx.ins[0],&lt;br/&gt;            ...sellerSignedPsbt.data.inputs[0]&lt;br/&gt;        })&lt;br/&gt;        // Add payer output&lt;br/&gt;        psbt.addOutput({&lt;br/&gt;            ...sellerSignedPsbt.data.globalMap.unsignedTx.tx.outs[0],&lt;br/&gt;        })&lt;br/&gt;&lt;br/&gt;        // Add payment utxo inputs&lt;br/&gt;        for (const utxo of paymentUtxos) {&lt;br/&gt;            const tx = bitcoin.Transaction.fromHex(await getTxHexById(utxo.txid))&lt;br/&gt;            for (const output in tx.outs) {&lt;br/&gt;                try { tx.setWitness(output, []) } catch { }&lt;br/&gt;            }&lt;br/&gt;&lt;br/&gt;            psbt.addInput({&lt;br/&gt;                hash: utxo.txid,&lt;br/&gt;                index: utxo.vout,&lt;br/&gt;                nonWitnessUtxo: tx.toBuffer(),&lt;br/&gt;                // witnessUtxo: tx.outs[utxo.vout],&lt;br/&gt;            });&lt;br/&gt;&lt;br/&gt;            totalValue &#43;= utxo.value&lt;br/&gt;            totalPaymentValue &#43;= utxo.value&lt;br/&gt;        }&lt;br/&gt;&lt;br/&gt;        // Create a new dummy utxo output for the next purchase&lt;br/&gt;        psbt.addOutput({&lt;br/&gt;            address: payerAddress,&lt;br/&gt;            value: dummyUtxoValue,&lt;br/&gt;        })&lt;br/&gt;&lt;br/&gt;        const fee = calculateFee(psbt.txInputs.length, psbt.txOutputs.length, await recommendedFeeRate)&lt;br/&gt;&lt;br/&gt;        const changeValue = totalValue - dummyUtxo.value - price - fee&lt;br/&gt;&lt;br/&gt;        if (changeValue &amp;lt; 0) {&lt;br/&gt;            throw `Your wallet address doesn&amp;#39;t have enough funds to buy this inscription.&lt;br/&gt;Price:          ${satToBtc(price)} BTC&lt;br/&gt;Fees:       ${satToBtc(fee &#43; dummyUtxoValue)} BTC&lt;br/&gt;You have:   ${satToBtc(totalPaymentValue)} BTC&lt;br/&gt;Required:   ${satToBtc(totalValue - changeValue)} BTC&lt;br/&gt;Missing:     ${satToBtc(-changeValue)} BTC`&lt;br/&gt;        }&lt;br/&gt;&lt;br/&gt;        // Change utxo&lt;br/&gt;        psbt.addOutput({&lt;br/&gt;            address: payerAddress,&lt;br/&gt;            value: changeValue,&lt;br/&gt;        });&lt;br/&gt;&lt;br/&gt;        return psbt.toBase64();&lt;br/&gt;    }&lt;br/&gt;	&lt;br/&gt;```&lt;br/&gt;&lt;br/&gt;Note: Openordex reuses address for change, however this can be avoided.&lt;br/&gt;&lt;br/&gt;### Acknowledgements&lt;br/&gt;&lt;br/&gt;- Casey Rodarmor&lt;br/&gt;- Oren Yomtov&lt;br/&gt;- Rijndael&lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;floppy disk guy&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Sent with Proton Mail secure email.
    </content>
    <updated>2023-06-08T01:20:17&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs2xsgxst0qjjylexdyrm5mvfww3ymp0sgcshcdgtl6044jfgzkxlqzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkv8dcrjd</id>
    
      <title type="html">📅 Original date posted:2023-03-29 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs2xsgxst0qjjylexdyrm5mvfww3ymp0sgcshcdgtl6044jfgzkxlqzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkv8dcrjd" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqa533q2wyephnd2pj237r29huv5qd428uj9327knutswggx5xgks9wm3tw&#39;&gt;nevent1q…m3tw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-03-29&lt;br/&gt;🗒️ Summary of this message: A developer shares the achievements of parasitical use cases of Bitcoin, including increased fees, more users, and developers exploring new features. They advocate for respecting different perspectives to avoid becoming niche like Linux.&lt;br/&gt;📝 Original message:Hi Zac,&lt;br/&gt;&lt;br/&gt;Let me share what those parasites achieved:&lt;br/&gt;&lt;br/&gt;- Fees paid: 150 BTC&lt;br/&gt;- Lot of users and developers trying bitcoin that either never tried or gave up early in 2013-15&lt;br/&gt;- Mempools of nodes of being busy on weekends and got lots of transactions&lt;br/&gt;- PSBT became cool and application devs are trying their best to use it in different ways&lt;br/&gt;- Some developers exploring taproot and multisig&lt;br/&gt;- AJ shared things how covenants could help in fair, non-custodial, on-chain auction of ordinals that is MEV resistant although I had shared it earlier which involves more steps: &lt;a href=&#34;https://twitter.com/1440000bytes/status/1634368411760476161&#34;&gt;https://twitter.com/1440000bytes/status/1634368411760476161&lt;/a&gt;&lt;br/&gt;- Investors exploring about funding projects&lt;br/&gt;- Bitcoin more than Bitcoin and people excited about it &lt;br/&gt;&lt;br/&gt;We can have difference of opinion, however I want bitcoin to be money and money means different things for people in this world. Please respect that else it will become like Linux, something used by 1% of world. &lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;floppy disk guy&lt;br/&gt;&lt;br/&gt;Sent with Proton Mail secure email.&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Wednesday, March 29th, 2023 at 12:40 PM, Zac Greenwood via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; I’m not sure why any effort should be spent on theorizing how new opcodes might be used to facilitate parasitical use cases of the blockchain.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If anything, business models relying on the ability to abuse the blockchain as a data store must be made less feasible, not more.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Zac&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Fri, 24 Mar 2023 at 20:10, Anthony Towns via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; On Tue, Mar 07, 2023 at 10:45:34PM &#43;1000, Anthony Towns via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; I think there are perhaps four opcodes that are interesting in this class:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; idx sPK OP_FORWARD_TARGET&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; -- sends the value to a particular output (given by idx), and&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; requires that output have a particular scriptPubKey (given&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; by sPK).&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; idx [...] n script OP_FORWARD_LEAF_UPDATE&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; -- sends the value to a particular output (given by idx), and&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; requires that output to have almost the same scriptPubKey as this&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; input, _except_ that the current leaf is replaced by &amp;#34;script&amp;#34;,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; with that script prefixed by &amp;#34;n&amp;#34; pushes (of values given by [...])&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; idx OP_FORWARD_SELF&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; -- sends the value to a particular output (given by idx), and&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; requires that output to have the same scriptPubKey as this input&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; amt OP_FORWARD_PARTIAL&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; -- modifies the next OP_FORWARD_* opcode to only affect &amp;#34;amt&amp;#34;,&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; rather than the entire balance. opcodes after that affect the&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; remaining balance, after &amp;#34;amt&amp;#34; has been subtracted. if &amp;#34;amt&amp;#34; is&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; 0, the next OP_FORWARD_* becomes a no-op.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; The BIP 345 draft has been updated [0] [1] and now pretty much defines&lt;br/&gt;&amp;gt; &amp;gt; OP_VAULT to have the behaviour specced for OP_FORWARD_LEAF_UPDATE above,&lt;br/&gt;&amp;gt; &amp;gt; and OP_VAULT_RECOVER to behave as OP_FORWARD_TARGET above. Despite&lt;br/&gt;&amp;gt; &amp;gt; that, for this email I&amp;#39;m going to continue using the OP_FORWARD_*&lt;br/&gt;&amp;gt; &amp;gt; naming convention.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Given the recent controversy over the Yuga labs ordinal auction [2],&lt;br/&gt;&amp;gt; &amp;gt; perhaps it&amp;#39;s interesting to consider that these proposed opcodes come&lt;br/&gt;&amp;gt; &amp;gt; close to making it possible to do a fair, non-custodial, on-chain auction&lt;br/&gt;&amp;gt; &amp;gt; of ordinals [3].&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; The idea here is that you create a utxo on chain that contains the ordinal&lt;br/&gt;&amp;gt; &amp;gt; in question, which commits to the address of the current leading bidder,&lt;br/&gt;&amp;gt; &amp;gt; and can be spent in two ways:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; 1) it can be updated to a new bidder, if the bid is raised by at least&lt;br/&gt;&amp;gt; &amp;gt; K satoshis, in which case the previous bidder is refunded their&lt;br/&gt;&amp;gt; &amp;gt; bid; or,&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; 2) if there have been no new bids for a day, the current high bidder&lt;br/&gt;&amp;gt; &amp;gt; wins, and the ordinal is moved to their address, while the funds&lt;br/&gt;&amp;gt; &amp;gt; from their winning bid are sent to the original vendor&amp;#39;s address.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; I believe this can be implemented in script as follows,&lt;br/&gt;&amp;gt; &amp;gt; assuming the opcodes OP_FORWARD_TARGET(OP_VAULT_RECOVER),&lt;br/&gt;&amp;gt; &amp;gt; OP_FORWARD_LEAF_UPDATE(OP_VAULT), OP_FORWARD_PARTIAL (as specced above),&lt;br/&gt;&amp;gt; &amp;gt; and OP_PUSHCURRENTINPUTINDEX (as implemented in liquid/elements [4])&lt;br/&gt;&amp;gt; &amp;gt; are all available.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; First, figure out the parameters:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; * Set VENDOR to the scriptPubKey corresponding to the vendor&amp;#39;s address.&lt;br/&gt;&amp;gt; &amp;gt; * Set K to the minimum bid increment [5].&lt;br/&gt;&amp;gt; &amp;gt; * Initially, set X equal to VENDOR.&lt;br/&gt;&amp;gt; &amp;gt; * Initially, set V to just below the reserve price (V&#43;K is the&lt;br/&gt;&amp;gt; &amp;gt; minimum initial bid).&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Then construct the following script:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; [X] [V] [SSS] TOALT TOALT TOALT&lt;br/&gt;&amp;gt; &amp;gt; 0 PUSHCURRENTINPUTINDEX EQUALVERIFY&lt;br/&gt;&amp;gt; &amp;gt; DEPTH NOT IF&lt;br/&gt;&amp;gt; &amp;gt; 0 10000 FORWARD_PARTIAL&lt;br/&gt;&amp;gt; &amp;gt; 0 FROMALT FORWARD_TARGET&lt;br/&gt;&amp;gt; &amp;gt; 1 [VENDOR] FWD_TARGET&lt;br/&gt;&amp;gt; &amp;gt; 144&lt;br/&gt;&amp;gt; &amp;gt; ELSE&lt;br/&gt;&amp;gt; &amp;gt; FROMALT SWAP TUCK FROMALT&lt;br/&gt;&amp;gt; &amp;gt; [K] ADD GREATERTHANOREQUAL VERIFY&lt;br/&gt;&amp;gt; &amp;gt; 1 SWAP FORWARD_TARGET&lt;br/&gt;&amp;gt; &amp;gt; DUP FORWARD_PARTIAL&lt;br/&gt;&amp;gt; &amp;gt; 0 ROT ROT&lt;br/&gt;&amp;gt; &amp;gt; FROMALT DUP 3 SWAP FORWARD_LEAF_UPDATE&lt;br/&gt;&amp;gt; &amp;gt; 0&lt;br/&gt;&amp;gt; &amp;gt; ENDIF&lt;br/&gt;&amp;gt; &amp;gt; CSV&lt;br/&gt;&amp;gt; &amp;gt; 1ADD&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; where &amp;#34;SSS&amp;#34; is a pushdata of the rest of the script (&amp;#34;TOALT TOALT TOALT&lt;br/&gt;&amp;gt; &amp;gt; .. 1ADD&amp;#34;).&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Finally, make that script the sole tapleaf, accompanied by a NUMS point&lt;br/&gt;&amp;gt; &amp;gt; as the internal public key, calculate the taproot address corresponding&lt;br/&gt;&amp;gt; &amp;gt; to that, and send the ordinal to that address as the first satoshi.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; There are two ways to spend that script. With an empty witness stack,&lt;br/&gt;&amp;gt; &amp;gt; the following will be executed:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; [X] [V] [SSS] TOALT TOALT TOALT&lt;br/&gt;&amp;gt; &amp;gt; -- altstack now contains [SSS V X]&lt;br/&gt;&amp;gt; &amp;gt; 0 PUSHCURRENTINPUTINDEX EQUALVERIFY&lt;br/&gt;&amp;gt; &amp;gt; -- this input is the first, so the ordinal will move to the first&lt;br/&gt;&amp;gt; &amp;gt; output&lt;br/&gt;&amp;gt; &amp;gt; DEPTH NOT IF&lt;br/&gt;&amp;gt; &amp;gt; -- take this branch: the auction is over!&lt;br/&gt;&amp;gt; &amp;gt; 1 [VENDOR] FWD_TARGET&lt;br/&gt;&amp;gt; &amp;gt; -- output 1 gets the entire value of this input, and pays to&lt;br/&gt;&amp;gt; &amp;gt; the vendor&amp;#39;s hardcoded scriptPubKey&lt;br/&gt;&amp;gt; &amp;gt; 0 10000 FORWARD_PARTIAL&lt;br/&gt;&amp;gt; &amp;gt; 0 FROMALT FORWARD_TARGET&lt;br/&gt;&amp;gt; &amp;gt; -- we forward at least 10k sats to output 0 (if there were 0 sats,&lt;br/&gt;&amp;gt; &amp;gt; the ordinal would end up in output 1 instead, which would be a&lt;br/&gt;&amp;gt; &amp;gt; bug), and output 0 pays to scriptPubKey &amp;#34;X&amp;#34;&lt;br/&gt;&amp;gt; &amp;gt; 144&lt;br/&gt;&amp;gt; &amp;gt; ELSE .. ENDIF&lt;br/&gt;&amp;gt; &amp;gt; -- skip over the other branch&lt;br/&gt;&amp;gt; &amp;gt; CSV&lt;br/&gt;&amp;gt; &amp;gt; -- check that this input has baked for 144 blocks (~1 day)&lt;br/&gt;&amp;gt; &amp;gt; 1ADD&lt;br/&gt;&amp;gt; &amp;gt; -- leave 145 on the stack, which is true. success!&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Alternatively, if you want to increase the bid you provide a stack with&lt;br/&gt;&amp;gt; &amp;gt; two items: your scriptPubKey and the new bid [X&amp;#39; V&amp;#39;]. Execution this&lt;br/&gt;&amp;gt; &amp;gt; time looks like:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; [X] [V] [SSS] TOALT TOALT TOALT&lt;br/&gt;&amp;gt; &amp;gt; -- stack contains [X&amp;#39; V&amp;#39;], altstack now contains [SSS V X]&lt;br/&gt;&amp;gt; &amp;gt; 0 PUSHCURRENTINPUTINDEX EQUALVERIFY&lt;br/&gt;&amp;gt; &amp;gt; -- this input is the first, so the ordinal will move to the first&lt;br/&gt;&amp;gt; &amp;gt; output&lt;br/&gt;&amp;gt; &amp;gt; DEPTH NOT IF ... ELSE&lt;br/&gt;&amp;gt; &amp;gt; -- skip over the other branch (without violating minimalif rules)&lt;br/&gt;&amp;gt; &amp;gt; FROMALT SWAP TUCK FROMALT&lt;br/&gt;&amp;gt; &amp;gt; -- stack contains [X&amp;#39; V&amp;#39; X V&amp;#39; V], altstack contains [SSS]&lt;br/&gt;&amp;gt; &amp;gt; [K] ADD GREATERTHANOREQUAL VERIFY&lt;br/&gt;&amp;gt; &amp;gt; -- check V&amp;#39; &amp;gt;= V&#43;K, stack contains [X&amp;#39; V&amp;#39; X]&lt;br/&gt;&amp;gt; &amp;gt; 1 SWAP FORWARD_TARGET&lt;br/&gt;&amp;gt; &amp;gt; -- output 1 pays to X (previous bidder&amp;#39;s scriptPubKey), and the&lt;br/&gt;&amp;gt; &amp;gt; entire value of this input goes there; stack contains [X&amp;#39; V&amp;#39;]&lt;br/&gt;&amp;gt; &amp;gt; DUP FORWARD_PARTIAL&lt;br/&gt;&amp;gt; &amp;gt; -- execute &amp;#34;V&amp;#39; FORWARD_PARTIAL&amp;#34;, stack contains [X&amp;#39; V&amp;#39;]&lt;br/&gt;&amp;gt; &amp;gt; 0 ROT ROT&lt;br/&gt;&amp;gt; &amp;gt; -- stack contains [0 X&amp;#39; V&amp;#39;]&lt;br/&gt;&amp;gt; &amp;gt; FROMALT DUP 3 SWAP FORWARD_LEAF_UPDATE&lt;br/&gt;&amp;gt; &amp;gt; -- execute &amp;#34;0 X&amp;#39; V&amp;#39; SSS 3 SSS FORWARD_LEAF_UPDATE&amp;#34; which checks&lt;br/&gt;&amp;gt; &amp;gt; that output 0 spends at least V&amp;#39; satoshis back to the same&lt;br/&gt;&amp;gt; &amp;gt; script (because that&amp;#39;s how we defined SSS), except the first&lt;br/&gt;&amp;gt; &amp;gt; three pushes (previously X V SSS) are replaced by X&amp;#39; V&amp;#39; SSS.&lt;br/&gt;&amp;gt; &amp;gt; 0&lt;br/&gt;&amp;gt; &amp;gt; ENDIF&lt;br/&gt;&amp;gt; &amp;gt; CSV&lt;br/&gt;&amp;gt; &amp;gt; -- &amp;#34;0 CSV&amp;#34; requires nSequnce to be set, which makes the tx rbf&amp;#39;able,&lt;br/&gt;&amp;gt; &amp;gt; which hopefully makes it harder to pin&lt;br/&gt;&amp;gt; &amp;gt; 1ADD&lt;br/&gt;&amp;gt; &amp;gt; -- ends with 1 on the stack; success!&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; (The &amp;#34;SSS n SSS FORWARD_LEAF_UPDATE&amp;#34; construct is more or less a quine,&lt;br/&gt;&amp;gt; &amp;gt; ie a program that outputs its own source code)&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; I think that script is about 211 witness bytes, with an additional 40&lt;br/&gt;&amp;gt; &amp;gt; witness bytes for X&amp;#39;/V&amp;#39;, so when making a bid, your tx would be&lt;br/&gt;&amp;gt; &amp;gt; something like:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; tx header, 10vb&lt;br/&gt;&amp;gt; &amp;gt; input 0: 103vb for the old bid including witness and control block&lt;br/&gt;&amp;gt; &amp;gt; input 1: 58vb for a taproot key path spend&lt;br/&gt;&amp;gt; &amp;gt; output 0: 43vb for the new bid&lt;br/&gt;&amp;gt; &amp;gt; output 1: 43vb for your change&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; for a total of about 257vb -- slightly larger than a regular 2-in-2-out&lt;br/&gt;&amp;gt; &amp;gt; transaction, but not terribly much. Mostly because input 0 doesn&amp;#39;t require&lt;br/&gt;&amp;gt; &amp;gt; a signature -- it&amp;#39;s size is effectively 6 pubkeys: X, X&amp;#39; VENDOR twice,&lt;br/&gt;&amp;gt; &amp;gt; and the script code twice, along with a little extra to encode the&lt;br/&gt;&amp;gt; &amp;gt; various numbers (10000, 144, K, V, V&amp;#39;).&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; This approach seems pretty &amp;#34;MEV&amp;#34; resistant: you pay fees via input 1 if&lt;br/&gt;&amp;gt; &amp;gt; your bid succeeds; if it doesn&amp;#39;t, you don&amp;#39;t pay any fees. A potential&lt;br/&gt;&amp;gt; &amp;gt; scalper might want to put in an early low ball bid, then prevent&lt;br/&gt;&amp;gt; &amp;gt; higher bidders from winning the auction, take control of the ordinal,&lt;br/&gt;&amp;gt; &amp;gt; and resell it later, but unless they can prevent another miner from&lt;br/&gt;&amp;gt; &amp;gt; mining alternative bids for 144 blocks, they will fail at that. The bid&lt;br/&gt;&amp;gt; &amp;gt; is fixed by the bidder and committed to by the signature on input 1, so&lt;br/&gt;&amp;gt; &amp;gt; frontrunning a bid can&amp;#39;t do anything beyond invalidate the bid entirely.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Obviously, this is a pretty limited auction mechanism in various ways;&lt;br/&gt;&amp;gt; &amp;gt; eg maybe you&amp;#39;d rather specify K as a percentage than an absoute increment;&lt;br/&gt;&amp;gt; &amp;gt; maybe you&amp;#39;d like to have the auction definitely finish by some particular&lt;br/&gt;&amp;gt; &amp;gt; time; maybe you&amp;#39;d like to be able to have the auction be able to continue&lt;br/&gt;&amp;gt; &amp;gt; above 21.47 BTC (2**31 sats); maybe you&amp;#39;d like to do a dutch auction&lt;br/&gt;&amp;gt; &amp;gt; rather than an english auction. I think you can probably do all those&lt;br/&gt;&amp;gt; &amp;gt; things with this set of opcodes and clever scripting, though it probably&lt;br/&gt;&amp;gt; &amp;gt; gets ugly.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; I don&amp;#39;t think this is easily extensible to taro or rgb style assets,&lt;br/&gt;&amp;gt; &amp;gt; as rather than being able to ensure the asset is transferred by&lt;br/&gt;&amp;gt; &amp;gt; controlling the input/output positions, I think you&amp;#39;d need to build&lt;br/&gt;&amp;gt; &amp;gt; up merkle trees and do point tweaks beyond what&amp;#39;s supported by&lt;br/&gt;&amp;gt; &amp;gt; OP_FORWARD_LEAF_UPDATE/OP_VAULT. Of course, without something like&lt;br/&gt;&amp;gt; &amp;gt; OP_PUSHCURRENTINPUTINDEX I don&amp;#39;t think you could do it for ordinals&lt;br/&gt;&amp;gt; &amp;gt; either.&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; [0] &lt;a href=&#34;https://github.com/bitcoin/bips/blob/7f747fba82675f28c239df690a07b75529bd0960/bip-0345.mediawiki&#34;&gt;https://github.com/bitcoin/bips/blob/7f747fba82675f28c239df690a07b75529bd0960/bip-0345.mediawiki&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; [1] &lt;a href=&#34;https://twitter.com/jamesob/status/1639019107432513537&#34;&gt;https://twitter.com/jamesob/status/1639019107432513537&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; [2] &lt;a href=&#34;https://cointelegraph.com/news/scammers-dream-yuga-s-auction-model-for-bitcoin-nfts-sees-criticism&#34;&gt;https://cointelegraph.com/news/scammers-dream-yuga-s-auction-model-for-bitcoin-nfts-sees-criticism&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; [3] Inscriptions remain a wasteful way of publishing/committing&lt;br/&gt;&amp;gt; &amp;gt; to content, however!&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; [4] &lt;a href=&#34;https://github.com/ElementsProject/elements/blob/master/doc/tapscript_opcodes.md&#34;&gt;https://github.com/ElementsProject/elements/blob/master/doc/tapscript_opcodes.md&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; [5] Setting K too low probably invites griefing, where a bidder may be&lt;br/&gt;&amp;gt; &amp;gt; able to use rbf pinning vectors to prevent people who would be willing&lt;br/&gt;&amp;gt; &amp;gt; to bid substantially higher from getting their bid confirmed on&lt;br/&gt;&amp;gt; &amp;gt; chain.&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-08T01:20:04&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsrn97t20af8na3k46mpqhccwwz0vjq7e7fm3a0jstjxhmfg6dzvvgzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvhqu78a</id>
    
      <title type="html">📅 Original date posted:2023-02-13 🗒️ Summary of this ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsrn97t20af8na3k46mpqhccwwz0vjq7e7fm3a0jstjxhmfg6dzvvgzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvhqu78a" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8sp7nupxuqxkcqa7a4kx6vkudk6w990ntwkmnnm08wjg30e6a6jshz24fw&#39;&gt;nevent1q…24fw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2023-02-13&lt;br/&gt;🗒️ Summary of this message: Bitcoin developers discuss the potential for censorship of transactions and the need for tools to test censorship resistance, including an external mempool.&lt;br/&gt;📝 Original message:Hi Bitcoin Developers,&lt;br/&gt;&lt;br/&gt;There is a famous quote attributed to Evelyn Beatrice Hall in her biography of Voltaire: &amp;#34;I disapprove of what you say, but I will defend to the death your right to say it.&amp;#34; I&amp;#39;m curious to know how many Bitcoin developers share this sentiment.&lt;br/&gt;&lt;br/&gt;Recently there was a lot of enthusiasm on social media to run bitcoin core with a [patch][0] that would reject some transactions in mempool. Bitcoin Knots already has an option to reject transactions that reuse addresses. What if such practices become common and some projects that provide easy to use node software start censoring transactions? How would government agencies take advantage of this whole drama?&lt;br/&gt;&lt;br/&gt;I understand it is difficult to censor different type of transaction because there will be some nodes relaying them and miners including in blocks. It is still important to discuss this and different ways to test censorship resistance.&lt;br/&gt;&lt;br/&gt;- Peter Todd had written a [blog post][1] in which counting number of INVs (step 5,6,7 and 8) helps in testing if your transactions are getting relayed by the connected peers. &lt;br/&gt;- I had tried broadcasting transaction to specific nodes using [libbtc][2]. Based on my understanding it uses GETDATA to confirm your transaction was seen on other nodes after broadcasting.&lt;br/&gt;&lt;br/&gt;What would an ideal tool for testing censorship resistance look like?&lt;br/&gt;&lt;br/&gt;- Allows user to construct different types of transactions that might be considered &amp;#34;bad&amp;#34; by some people. Example: OFAC address in output, Inscription, OP_RETURN, Address reuse etc.&lt;br/&gt;- Option to broadcast transaction to specific nodes&lt;br/&gt;- Verify if the transaction was relayed successfully or rejected&lt;br/&gt;- Ban such peers using [setban][3] RPC as it would increase the probability of tx getting propagated to miners&lt;br/&gt;&lt;br/&gt;There was even some discussion about an [external mempool][4] that could be used for non-standard transactions. It could also help in avoiding censorship in some cases. I welcome your thoughts and feedback on this topic.&lt;br/&gt;&lt;br/&gt;[0]: &lt;a href=&#34;https://gist.github.com/luke-jr/4c022839584020444915c84bdd825831&#34;&gt;https://gist.github.com/luke-jr/4c022839584020444915c84bdd825831&lt;/a&gt;&lt;br/&gt;[1]: &lt;a href=&#34;https://petertodd.org/2022/bitcoin-core-nodes-running-fullrbf&#34;&gt;https://petertodd.org/2022/bitcoin-core-nodes-running-fullrbf&lt;/a&gt;&lt;br/&gt;[2]: &lt;a href=&#34;https://twitter.com/1440000bytes/status/1574225052240777216&#34;&gt;https://twitter.com/1440000bytes/status/1574225052240777216&lt;/a&gt;&lt;br/&gt;[3]: &lt;a href=&#34;https://bitcoincore.org/en/doc/24.0.0/rpc/network/setban/&#34;&gt;https://bitcoincore.org/en/doc/24.0.0/rpc/network/setban/&lt;/a&gt;&lt;br/&gt;[4]: &lt;a href=&#34;https://twitter.com/jamesob/status/1623827708168863747&#34;&gt;https://twitter.com/jamesob/status/1623827708168863747&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;floppy disc guy&lt;br/&gt;&lt;br/&gt;Sent with Proton Mail secure email.
    </content>
    <updated>2023-06-08T01:19:34&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqhwh0dc4pjxjccwmj3f7gfftv8wfga8xsar7x6mdsd8u9g7c7ajqzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkv54pfsw</id>
    
      <title type="html">📅 Original date posted:2022-11-20 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqhwh0dc4pjxjccwmj3f7gfftv8wfga8xsar7x6mdsd8u9g7c7ajqzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkv54pfsw" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0d4m28l7k3rt0ah69u0ta82fpaw90r8x6d23sf3d2rwfav8ctrrgqf92gv&#39;&gt;nevent1q…92gv&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-11-20&lt;br/&gt;📝 Original message:Hi Bitcoin Developers,&lt;br/&gt;&lt;br/&gt;I have setup a [custom signet][0] for testing full RBF. You can connect to one or more of these nodes using `addnode`:&lt;br/&gt;&lt;br/&gt;13.115.34.55 (issuer, full-rbf)&lt;br/&gt;kfupbqwb2yvzzqjomfq5pkem553a6uzp2k73seqn4d46smy7azua.b32.i2p (rbf-optin)&lt;br/&gt;luvczzzppiqnc2b7poivkxlugafe3uqaj245ebjqxtceio7poaorqcyd.onion (full-rbf)&lt;br/&gt;&lt;br/&gt;Example config:&lt;br/&gt;&lt;br/&gt;```&lt;br/&gt;signet=1&lt;br/&gt;signetchallenge=5121035daaa313aada6310340a242af17238cc1fd8849e875940bce65a60ac7e0e0ff751ae&lt;br/&gt;proxy=127.0.0.1:9050&lt;br/&gt;&lt;br/&gt;[signet]&lt;br/&gt;addnode=luvczzzppiqnc2b7poivkxlugafe3uqaj245ebjqxtceio7poaorqcyd.onion&lt;br/&gt;&lt;br/&gt;mempoolfullrbf=1&lt;br/&gt;```&lt;br/&gt;&lt;br/&gt;Example for a simple test case:&lt;br/&gt;&lt;br/&gt;- Run 2 nodes&lt;br/&gt;- Connect node 1 with i2p node and use default opt-in rbf&lt;br/&gt;- Connect node 2 with node 1 and onion node. This node should use `mempoolfullrbf=1` in config and compile bitcoind using PR [#26454][1] branch&lt;br/&gt;- Broadcast Tx1 using node 2 and replace with Tx2 using `bumpfee` RPC&lt;br/&gt;&lt;br/&gt;It will be fun to test with more nodes joining this custom signet. If anyone interested to test, please post your bitcoin address in [full-rbf room][2]. We can even setup an explorer if this experiment makes sense.&lt;br/&gt;&lt;br/&gt;[0]: &lt;a href=&#34;https://en.bitcoin.it/wiki/Signet#Custom_Signet&#34;&gt;https://en.bitcoin.it/wiki/Signet#Custom_Signet&lt;/a&gt;&lt;br/&gt;[1]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/26454&#34;&gt;https://github.com/bitcoin/bitcoin/pull/26454&lt;/a&gt;&lt;br/&gt;[2]: #full-rbf:matrix.org&lt;br/&gt;&lt;br/&gt;Sent with Proton Mail secure email.&lt;br/&gt;&lt;br/&gt;/dev/fd0
    </content>
    <updated>2023-06-08T01:17:04&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsvd2dy92gyhrtqeu7mq3esfc9cm6fl0953e2cjk662vcfzn4f7yqgzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvawzrtu</id>
    
      <title type="html">📅 Original date posted:2022-10-12 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsvd2dy92gyhrtqeu7mq3esfc9cm6fl0953e2cjk662vcfzn4f7yqgzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvawzrtu" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0f8q5t9hrnrtmsmwl7u0ed6pkurpv7qvmg8rpta5kahr4z29f7fqv20xg5&#39;&gt;nevent1q…0xg5&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-10-12&lt;br/&gt;📝 Original message:Hi Bitcoin Developers,&lt;br/&gt;&lt;br/&gt;I did some research about nLocktime and nVersion used by some open source Bitcoin wallets. I have written a [blog post][0] co-authored with &amp;#39;nothingmuch&amp;#39; and this is the first post for the privacy focused blog &amp;#39;consent&amp;#39;:&lt;br/&gt;&lt;br/&gt;Most wallets use nVersion 2. nLocktime for Bitcoin Core, Knots, Electrum, Sparrow and Specter is nearest block height. However, nLocktime for Bitcoin Core/Knots is zero by default if the transaction is created manually using RPC commands like createpsbt​ or createrawtransaction​. Peter Todd had implemented nLocktime based on anti-fee sniping in [#2340][1] and [#24128][2] implements BIP 326 sequence based anti-fee-snipe for taproot inputs.&lt;br/&gt;&amp;#39;0xb10c&amp;#39; has written about wallet [fingerprinting with fee rate][3]. However, nLocktime and nVersion are also important. There may be other factors that might help if a fingerprint matches more than one wallet. Andrew Chow has build a [tool][4] to check if a transaction was created using Bitcoin Core or Electrum.&lt;br/&gt;&lt;br/&gt;### Why is wallet fingerprinting important?&lt;br/&gt;&lt;br/&gt;Consider the following scenario: Alice is spying on Bob and Carol. She suspects one of them is participating in an activity based on a transaction, but she cannot confirm it. She recognizes that one of the wallets that claims to improve privacy was used for these transactions and examines the nVersion and nLocktime. This makes it simpler to identify Bob, who used Wasabi wallet for the transaction with version 1 and nLocktime 0.&lt;br/&gt;&lt;br/&gt;### How to fix it?&lt;br/&gt;&lt;br/&gt;If more wallets have the same nVersion and nLocktime, it will be difficult to identify the wallets used for a transaction. nLocktime could be any nearest block height however version needs to be 2 as most of the wallets use it and it is used for transactions that follow new consensus rules.&lt;br/&gt;&lt;br/&gt;Please let me know if something incorrect is mentioned or anything important missing about wallet fingerprinting with nLocktime and nVersion.&lt;br/&gt;&lt;br/&gt;### Acknowledgements&lt;br/&gt;&lt;br/&gt;- achow101&lt;br/&gt;- 0xb10c&lt;br/&gt;- nothingmuch- RedGrittyBrick&lt;br/&gt;&lt;br/&gt;[0]: &lt;a href=&#34;https://consentonchain.github.io/blog/posts/fingerprinting/&#34;&gt;https://consentonchain.github.io/blog/posts/fingerprinting/&lt;/a&gt;&lt;br/&gt;[1]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/2340&#34;&gt;https://github.com/bitcoin/bitcoin/pull/2340&lt;/a&gt;&lt;br/&gt;[2]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/24128&#34;&gt;https://github.com/bitcoin/bitcoin/pull/24128&lt;/a&gt;&lt;br/&gt;[3]: &lt;a href=&#34;https://b10c.me/observations/03-blockchaincom-recommendations/&#34;&gt;https://b10c.me/observations/03-blockchaincom-recommendations/&lt;/a&gt;&lt;br/&gt;[4]: &lt;a href=&#34;https://github.com/achow101/wallet-fingerprinting&#34;&gt;https://github.com/achow101/wallet-fingerprinting&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;&lt;br/&gt;Sent with [Proton Mail](&lt;a href=&#34;https://proton.me/&#34;&gt;https://proton.me/&lt;/a&gt;) secure email.&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20221012/8205a831/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20221012/8205a831/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:15:10&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8ffw4zgam74dxkyddvhapw9rfagwfwjglmvgd0l38r8l0xg3k0tgzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvcynyn5</id>
    
      <title type="html">📅 Original date posted:2022-10-13 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8ffw4zgam74dxkyddvhapw9rfagwfwjglmvgd0l38r8l0xg3k0tgzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvcynyn5" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszu90t7xzwt0wwfcynfxfwetdmsf4myx6d0qqf36wghk2qafwdjqcz46ge3&#39;&gt;nevent1q…6ge3&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-10-13&lt;br/&gt;📝 Original message:Hi cndm1,&lt;br/&gt;&lt;br/&gt;&amp;gt; Bitrefill already supports lightning, so for them it would be easy to&lt;br/&gt;&amp;gt; solve by displaying the lightning transfer by default and only show&lt;br/&gt;&amp;gt; the on-chain payment as a fallback. Currently the on-chain payment at&lt;br/&gt;&amp;gt; Bitrefill and other similar providers is really a drop-down where you&lt;br/&gt;&amp;gt; select your wallet and then they display a tutorial to you on how to&lt;br/&gt;&amp;gt; create the on-chain transaction (fee rate, RBF flag, etc). I don&amp;#39;t&lt;br/&gt;&amp;gt; have insights into Bitrefill, but one might suspect that encouraging a&lt;br/&gt;&amp;gt; lightning payment might be a win-win situation for them and their&lt;br/&gt;&amp;gt; users.&lt;br/&gt;&lt;br/&gt;Lightning is only used for 4% payments compared to 32% on-chain payments according to a [tweet][1] from Jan 2022 by Sergej Kotliar and stats are similar based on the slides shared in a [presentation][2] in Pizza Day Prague 2022.&lt;br/&gt;&lt;br/&gt;By EUR:&lt;br/&gt;&lt;br/&gt;onchain - 30%&lt;br/&gt;lightning - 5%&lt;br/&gt;&lt;br/&gt;By unique users:&lt;br/&gt;&lt;br/&gt;onchain - 40%&lt;br/&gt;lightning - 9%&lt;br/&gt;&lt;br/&gt;&amp;gt; Relay of fullrbf transactions works reasonable well&lt;br/&gt;&amp;gt; already, unless you get unlucky with your selected peers. The only&lt;br/&gt;&amp;gt; missing piece is a few percent of hashrate that will accept fullrbf&lt;br/&gt;&amp;gt; replacement transactions. &lt;br/&gt;&lt;br/&gt;I don&amp;#39;t believe relay of fullrbf transactions works well right now. The missing piece you mentioned is important and a real need for all full node users to try fullrbf.&lt;br/&gt;&lt;br/&gt;&amp;gt; While this will certainly happen if a&lt;br/&gt;&amp;gt; Bitcoin Core release ships with the flag on by default, it still may&lt;br/&gt;&amp;gt; happen at any time even if Bitcoin Core doesn&amp;#39;t ship with the flag at&lt;br/&gt;&amp;gt; all.&lt;br/&gt;&lt;br/&gt;Changing default at this moment does not make sense as v24.0 could give some insights about usage of fullrbf and we could wait for a few months before changing default for users that run latest version of bitcoin core.&lt;br/&gt;&lt;br/&gt;I will quote Antoine Riard&amp;#39;s comment from PR [#25353][3]:&lt;br/&gt;&lt;br/&gt;&amp;#34;_I know I&amp;#39;ve advocated in the past to turn RBF support by default in the past. Though after gathering a lot of feedbacks, this approach of offering the policy flexiblity to the interested users only and favoring a full-rbf gradual deployment sounds better to me. As a follow-up, if we add p2p logic to connect to few &amp;#34;full-rbf&amp;#34; service-bit signaling peers and recommend to the ~17000 LN nodes operators, likely (hopefully!) running bitcoind as a backend, that should be okay to guarantee a good propagation to miners (and yes reaching out to few mining pools ops to explain the income increase brought by full-rbf). Unless we observe a significant impact on compact blocks reconstruction, personally I&amp;#39;m really fine waiting another multi-years development cycle before to propose a default change, or even let opt-in forever the default as it is._&amp;#34;&lt;br/&gt;&lt;br/&gt;&amp;#34;_Once again, the proposed change is only targeting educated users aiming to deploy full RBF for their application specific needs. If the majority of Bitcoin users is not interested, that&amp;#39;s okay. It&amp;#39;s a policy rule, not a consensus one._&amp;#34;&lt;br/&gt;&lt;br/&gt;Although Antoine has opened another [pull request][4] to make fullrbf default a few hours ago, so I am not sure what is the new motivation or discussion that I am missing.&lt;br/&gt;&lt;br/&gt;[1]: &lt;a href=&#34;https://twitter.com/ziggamon/status/1481307334068641795&#34;&gt;https://twitter.com/ziggamon/status/1481307334068641795&lt;/a&gt;&lt;br/&gt;[2]: &lt;a href=&#34;https://youtu.be/bkjEcSmZKfc?t=463&#34;&gt;https://youtu.be/bkjEcSmZKfc?t=463&lt;/a&gt;&lt;br/&gt;[3]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/25353&#34;&gt;https://github.com/bitcoin/bitcoin/pull/25353&lt;/a&gt;&lt;br/&gt;[4]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/26305&#34;&gt;https://github.com/bitcoin/bitcoin/pull/26305&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;&lt;br/&gt;Sent with Proton Mail secure email.&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Thursday, October 13th, 2022 at 9:37 PM, linuxfoundation.cndm1--- via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; &amp;gt; - Bitrefill&amp;#39;s on-chain payments for gift cards and phone top-ups&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Bitrefill already supports lightning, so for them it would be easy to&lt;br/&gt;&amp;gt; solve by displaying the lightning transfer by default and only show&lt;br/&gt;&amp;gt; the on-chain payment as a fallback. Currently the on-chain payment at&lt;br/&gt;&amp;gt; Bitrefill and other similar providers is really a drop-down where you&lt;br/&gt;&amp;gt; select your wallet and then they display a tutorial to you on how to&lt;br/&gt;&amp;gt; create the on-chain transaction (fee rate, RBF flag, etc). I don&amp;#39;t&lt;br/&gt;&amp;gt; have insights into Bitrefill, but one might suspect that encouraging a&lt;br/&gt;&amp;gt; lightning payment might be a win-win situation for them and their&lt;br/&gt;&amp;gt; users.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; It would be interesting to know if there are any obstacles that&lt;br/&gt;&amp;gt; Bitrefill and other services face, or if they don&amp;#39;t agree that&lt;br/&gt;&amp;gt; lightning is an improvement over accepting unconfirmed on-chain&lt;br/&gt;&amp;gt; transactions from untrusted parties.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; - Many bitcoin ATMs&amp;#39; on-chain deposits for selling bitcoin for cash (at least&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I haven&amp;#39;t tried them yet, but I suspect they could benefit in a&lt;br/&gt;&amp;gt; similar by showing lightning transfers more prominently. Moreover, any&lt;br/&gt;&amp;gt; UX improvement they can offer to users that intentionally or&lt;br/&gt;&amp;gt; accidentally selected RBF opt-in, will also benefit users once fullrbf&lt;br/&gt;&amp;gt; is widespread. To give an example, ATMs could immediately give out a&lt;br/&gt;&amp;gt; voucher for the cash amount that can be redeemed as soon as the&lt;br/&gt;&amp;gt; transaction is confirmed on-chain, to allow (untrusted) users to leave&lt;br/&gt;&amp;gt; the ATM and go for a walk in the meantime.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; With full-RBF, wallets should make it extremely clear to users that unconfirmed&lt;br/&gt;&amp;gt; &amp;gt; funds are not theirs (yet). Otherwise, protocol-unaware users that are&lt;br/&gt;&amp;gt; &amp;gt; transacting on-chain with untrusted parties can be easily scammed if they don&amp;#39;t&lt;br/&gt;&amp;gt; &amp;gt; know they have to wait for a confirmation. Eg. in Argentina, it&amp;#39;s pretty common&lt;br/&gt;&amp;gt; &amp;gt; to meet someone in person to buy bitcoin P2P for cash, even for newcomers.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; This is easy to solve, because a wallet can simply display all&lt;br/&gt;&amp;gt; unconfirmed transactions as if they signalled for RBF. Your suggested&lt;br/&gt;&amp;gt; solution to &amp;#34;activate&amp;#34; fullrbf at a specific block height might be&lt;br/&gt;&amp;gt; counter productive, because educating users that unconfirmed&lt;br/&gt;&amp;gt; transactions are unsafe takes longer than a single block. So the&lt;br/&gt;&amp;gt; earlier users are educated that unconfirmed transactions from&lt;br/&gt;&amp;gt; untrusted parties are unsafe, the better.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; # Impact at Muun&lt;br/&gt;&amp;gt; &amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Work to transition Muun from using zero-conf submarine swaps to using payment&lt;br/&gt;&amp;gt; &amp;gt; channels is ongoing, but we are still several months away from being production&lt;br/&gt;&amp;gt; &amp;gt; ready. This means we would have to turn off outgoing lightning payments for&lt;br/&gt;&amp;gt; &amp;gt; &#43;100k monthly active users, which is a good chunk of all users making&lt;br/&gt;&amp;gt; &amp;gt; non-custodial lightning payments today.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; It would be unfortunate for those users, but I think that the risk&lt;br/&gt;&amp;gt; exists today. Relay of fullrbf transactions works reasonable well&lt;br/&gt;&amp;gt; already, unless you get unlucky with your selected peers. The only&lt;br/&gt;&amp;gt; missing piece is a few percent of hashrate that will accept fullrbf&lt;br/&gt;&amp;gt; replacement transactions. While this will certainly happen if a&lt;br/&gt;&amp;gt; Bitcoin Core release ships with the flag on by default, it still may&lt;br/&gt;&amp;gt; happen at any time even if Bitcoin Core doesn&amp;#39;t ship with the flag at&lt;br/&gt;&amp;gt; all.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Best,&lt;br/&gt;&amp;gt; cndm1&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;
    </content>
    <updated>2023-06-08T01:14:29&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsgax6lnv7u4nucy8mnj80q4x6w47qvkp3ta96xfxlpnnavh0f6x5czyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvankqe6</id>
    
      <title type="html">📅 Original date posted:2022-10-08 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsgax6lnv7u4nucy8mnj80q4x6w47qvkp3ta96xfxlpnnavh0f6x5czyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvankqe6" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgnfd3ae7w80c9j5xw6ec896adqlwh9uexmt92lyn869da8mh70nsemss6r&#39;&gt;nevent1q…ss6r&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-10-08&lt;br/&gt;📝 Original message:Hi Dario,&lt;br/&gt;&lt;br/&gt;There aren&amp;#39;t any risks with latest release of bitcoin core. However its not just munn or other things mentioned, even other bitcoin projects could be affected if [#25600][1] is merged.&lt;br/&gt;&lt;br/&gt;Anyway I cannot comment anymore, neither in the PR or repository. I tried my best. Peter Todd has ACKed it and it would affect his favorite coinjoin implementation that works with governments.&lt;br/&gt;&lt;br/&gt;Replacement policies are a per-node decision as Luke Dashjr said and projects should build upon it.&lt;br/&gt;&lt;br/&gt;[1]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/25600&#34;&gt;https://github.com/bitcoin/bitcoin/pull/25600&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;&lt;br/&gt;Sent with [Proton Mail](&lt;a href=&#34;https://proton.me/&#34;&gt;https://proton.me/&lt;/a&gt;) secure email.&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Friday, October 7th, 2022 at 9:50 PM, Dario Sneidermanis via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Hello list,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;m Dario, from Muun wallet, a mobile non-custodial bitcoin wallet. For the past&lt;br/&gt;&amp;gt; few days we&amp;#39;ve been reviewing the latest bitcoin core release candidate, and we&lt;br/&gt;&amp;gt; found some troubling facts related to the opt-in full-RBF deployment.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; We first learned about the opt-in full-RBF proposal last June when it was&lt;br/&gt;&amp;gt; announced on the mailing list. Closing the gap between the protocol&amp;#39;s relay&lt;br/&gt;&amp;gt; policies and the miner incentives is inevitable, so it was a welcomed addition.&lt;br/&gt;&amp;gt; Furthermore, allowing transaction replacements that remove the opt-in RBF flag&lt;br/&gt;&amp;gt; was deeply problematic.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; At the time, we understood we had at least a year from the initial opt-in&lt;br/&gt;&amp;gt; deployment until opt-out was deployed, giving us enough time to adapt Muun to&lt;br/&gt;&amp;gt; the new policies. However, when reviewing the 24.0 release candidate just a few&lt;br/&gt;&amp;gt; days ago, we realized that zero-conf apps (like Muun) must *immediately turn&lt;br/&gt;&amp;gt; off* their zero-conf features.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I understand this wasn&amp;#39;t the intention when designing the opt-in deployment&lt;br/&gt;&amp;gt; mechanism. Given this new information, do you see a path where we can delay the&lt;br/&gt;&amp;gt; opt-in deployment and find a safer way to deploy full-RBF?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; It&amp;#39;d be great for this deployment to be a success so that we can continue fixing&lt;br/&gt;&amp;gt; the remaining relay policy problems, such as package relay and the RBF rules.&lt;br/&gt;&amp;gt; Maybe we could go straight to an opt-out deployment locked by code at a certain&lt;br/&gt;&amp;gt; height in the future to give time to everyone and, at the same time, avoid a&lt;br/&gt;&amp;gt; huge mempool divergence event?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Below is our analysis of how zero-conf apps break with opt-in full-RBF. I hope&lt;br/&gt;&amp;gt; it helps.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt; Dario&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; # How do zero-conf apps work&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; While the workings and trade-offs of zero-conf applications might be known by&lt;br/&gt;&amp;gt; many in this list, it&amp;#39;s useful to define precisely how they work to understand&lt;br/&gt;&amp;gt; how they break.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; We call zero-conf applications to entities that accept on-chain payments from&lt;br/&gt;&amp;gt; *untrusted parties* and will sometimes deliver the paid-for product or service&lt;br/&gt;&amp;gt; without waiting for the transaction to be included in a block.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Some examples of zero-conf apps:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; - Muun&amp;#39;s submarine swaps for outgoing lightning payments&lt;br/&gt;&amp;gt; - Bitrefill&amp;#39;s on-chain payments for gift cards and phone top-ups&lt;br/&gt;&amp;gt; - Many bitcoin ATMs&amp;#39; on-chain deposits for selling bitcoin for cash (at least&lt;br/&gt;&amp;gt; the two biggest bitcoin ATM manufacturers support this: Genesis Coin and&lt;br/&gt;&amp;gt; General Byte)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; All of these applications are receiving incoming on-chain transactions for which&lt;br/&gt;&amp;gt; they don&amp;#39;t control the inputs, and performing a risk analysis to decide whether&lt;br/&gt;&amp;gt; they are ok with accepting the payment without confirmation.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; In practice, this works because once the bitcoin P2P network has fully&lt;br/&gt;&amp;gt; propagated a non-RBF transaction, you need the collaboration of a miner to&lt;br/&gt;&amp;gt; replace it, which isn&amp;#39;t easy to get today. Even though many of the biggest&lt;br/&gt;&amp;gt; miners offer off-band transaction broadcasting services, they currently won&amp;#39;t&lt;br/&gt;&amp;gt; process conflicting transactions.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Roughly, the risk analysis goes like this:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; 1. if an incoming transaction is RBF (direct or inherited)&lt;br/&gt;&amp;gt; --&amp;gt; too risky, wait for 1 conf (or more) since it can be replaced at any time&lt;br/&gt;&amp;gt; 2. if the payment is for an amount greater than X&lt;br/&gt;&amp;gt; --&amp;gt; too risky, wait for 1 conf (or more), since the amount is worthy of a&lt;br/&gt;&amp;gt; sophisticated attacker&lt;br/&gt;&amp;gt; 3. wait for full(ish) propagation of the incoming transaction&lt;br/&gt;&amp;gt; 4. if there&amp;#39;s no double-spend attempt&lt;br/&gt;&amp;gt; --&amp;gt; accept 0-conf&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; As with any other risk analysis, there&amp;#39;s always a false-negative detection rate,&lt;br/&gt;&amp;gt; leading to an expected loss, which the zero-conf app should be willing to bear.&lt;br/&gt;&amp;gt; Notice that the expected loss is tunable via the amount X in the above analysis.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; # Why are zero-conf apps not protected with an opt-in deployment&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Full-RBF adoption works on three different layers:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; - The transaction application layer&lt;br/&gt;&amp;gt; - The transaction relaying layer&lt;br/&gt;&amp;gt; - The transaction mining layer&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If an application wants to replace with full-RBF an *outgoing* transaction, it&lt;br/&gt;&amp;gt; will need:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; - An upgraded node that opted into full-RBF, from which it can broadcast the&lt;br/&gt;&amp;gt; replacement transaction&lt;br/&gt;&amp;gt; - A connected component of upgraded nodes that opted into full-RBF, that can&lt;br/&gt;&amp;gt; relay the replacement transaction&lt;br/&gt;&amp;gt; - A miner in that connected component with an upgraded node that opted into&lt;br/&gt;&amp;gt; full-RBF, that can mine the replacement transaction&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; However, an application cannot control whether a replacement to an *incoming*&lt;br/&gt;&amp;gt; transaction is relayed via full-RBF. As soon as a single application can&lt;br/&gt;&amp;gt; generate replacements easily via full-RBF, all other applications have to assume&lt;br/&gt;&amp;gt; that any incoming transaction from an untrusted party might be replaced via&lt;br/&gt;&amp;gt; full-RBF. That is, for the application layer this is a forced upgrade.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; As soon as an unsophisticated attacker can use opt-in full-RBF, the risk&lt;br/&gt;&amp;gt; analysis performed by zero-conf applications stops working because the&lt;br/&gt;&amp;gt; transactions to analyze are all incoming transactions from untrusted parties.&lt;br/&gt;&amp;gt; Since some wallets already implement cancel functionality for opt-in RBF&lt;br/&gt;&amp;gt; transactions, enabling the same functionality for every transaction wouldn&amp;#39;t&lt;br/&gt;&amp;gt; require much work, making canceling any unconfirmed transaction a one-click&lt;br/&gt;&amp;gt; experience. After this, the security model of zero-conf applications goes from&lt;br/&gt;&amp;gt; &amp;#34;susceptible to attacks from miners&amp;#34; to &amp;#34;anyone can perform an attack, with an&lt;br/&gt;&amp;gt; easy-to-use interface&amp;#34;.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; That is, the opt-in deployment of full-RBF doesn&amp;#39;t protect zero-conf&lt;br/&gt;&amp;gt; applications from having to turn off their zero-conf features very soon after&lt;br/&gt;&amp;gt; the initial deployment. All mitigations are mostly ineffective against&lt;br/&gt;&amp;gt; untrusted parties.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; # Other things we have to fix&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; While it&amp;#39;s clear how full-RBF breaks zero-conf applications, other more subtle&lt;br/&gt;&amp;gt; things break in *many* wallets (Muun included). If given the opportunity, we&lt;br/&gt;&amp;gt; would like to fix them before deployment. One could argue that these things&lt;br/&gt;&amp;gt; were already broken, but they get considerably worse as the network adopts&lt;br/&gt;&amp;gt; full-RBF (even with an opt-in deployment), so we should fix them.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ## Mental model for unconfirmed incoming transactions&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Many wallets with support for on-chain payments (Muun included) show incoming&lt;br/&gt;&amp;gt; external transactions in some way to their users before they confirm. This is a&lt;br/&gt;&amp;gt; common practice because not showing them leads users to worry that their money&lt;br/&gt;&amp;gt; disappeared (exchanges doing this is the #1 issue we have to deal with in our&lt;br/&gt;&amp;gt; customer support channels).&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; With full-RBF, wallets should make it extremely clear to users that unconfirmed&lt;br/&gt;&amp;gt; funds are not theirs (yet). Otherwise, protocol-unaware users that are&lt;br/&gt;&amp;gt; transacting on-chain with untrusted parties can be easily scammed if they don&amp;#39;t&lt;br/&gt;&amp;gt; know they have to wait for a confirmation. Eg. in Argentina, it&amp;#39;s pretty common&lt;br/&gt;&amp;gt; to meet someone in person to buy bitcoin P2P for cash, even for newcomers.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; ## Block explorers as payment receipts&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Most wallets with support for on-chain payments (Muun included) use the&lt;br/&gt;&amp;gt; transaction view of a block explorer as a shareable payment receipt. The sender&lt;br/&gt;&amp;gt; of an on-chain transaction usually shares this link with the receiver to let&lt;br/&gt;&amp;gt; them know they made a payment. Protocol-unaware receivers sometimes take this&lt;br/&gt;&amp;gt; link as proof of payment.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Most explorers currently don&amp;#39;t track payment replacements and, more importantly,&lt;br/&gt;&amp;gt; don&amp;#39;t warn users that unconfirmed funds are not theirs (yet). With full-RBF,&lt;br/&gt;&amp;gt; wallets should either stop relying on explorers for this functionality or wait&lt;br/&gt;&amp;gt; for them to support it explicitly.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; # Impact at Muun&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Work to transition Muun from using zero-conf submarine swaps to using payment&lt;br/&gt;&amp;gt; channels is ongoing, but we are still several months away from being production&lt;br/&gt;&amp;gt; ready. This means we would have to turn off outgoing lightning payments for&lt;br/&gt;&amp;gt; &#43;100k monthly active users, which is a good chunk of all users making&lt;br/&gt;&amp;gt; non-custodial lightning payments today.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Furthermore, the more subtle fixes imply non-trivial amounts of product work&lt;br/&gt;&amp;gt; that we cannot reasonably deploy before they start affecting users.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; While I cannot talk for other applications, there are many impacted in one way&lt;br/&gt;&amp;gt; or another, and none of the ones I checked with were aware of this change, or&lt;br/&gt;&amp;gt; its implications.&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/20221008/1ee7b850/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20221008/1ee7b850/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:14:27&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8qcrrc4lk0te0jvxlnsy7azf9x2p7kzf5gvzmjnz2h7a03a7ydfszyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvqklqww</id>
    
      <title type="html">📅 Original date posted:2022-10-19 📝 Original message:Hi aj, ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8qcrrc4lk0te0jvxlnsy7azf9x2p7kzf5gvzmjnz2h7a03a7ydfszyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvqklqww" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspg65q8rcht0es8rqduymajjmm7k535nf5w6xz54evcnknrfmh4tc7ujg7u&#39;&gt;nevent1q…jg7u&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-10-19&lt;br/&gt;📝 Original message:Hi aj,&lt;br/&gt;&lt;br/&gt;&amp;gt; I mean, I guess I can understand wanting to reduce that responsibility&lt;br/&gt;&amp;gt; for maintainers of the github repo, even if for no other reason than to&lt;br/&gt;&amp;gt; avoid frivolous lawsuits, but where do you expect people to find better&lt;br/&gt;&amp;gt; advice about what things are a good/bad idea if core devs as a whole&lt;br/&gt;&amp;gt; are avoiding that responsibility?&lt;br/&gt;&lt;br/&gt;Bitcoin Core contributors and maintainers should provide the options, recommendations etc. about mempool policies. If these policies are kept for users to change based on their needs, why force anything or change defaults ignoring feedback?&lt;br/&gt;&lt;br/&gt;&amp;gt; Core devs are supposedly top technical experts at bitcoin -- which means&lt;br/&gt;&amp;gt; they&amp;#39;re the ones that should have the best understanding of all the&lt;br/&gt;&amp;gt; implications of policy changes like this.&lt;br/&gt;&lt;br/&gt;Why even provide options for users to change RBF policy in that case? Option to disable was already [removed][1] ignoring NACKs and MarcoFalke prefers users try the [workaround][2] if there is ever a need to disable it. Are we going to remove all the options to switch RBF policies in future because fullrbf has been suggested by leading technical experts? Is there a possibility of experts going wrong and has it ever happened in past?&lt;br/&gt;&lt;br/&gt;&amp;gt; It&amp;#39;s a bit disappointing that the people that&amp;#39;s a problem for didn&amp;#39;t&lt;br/&gt;&amp;gt; engage earlier -- though looking back, I guess there wasn&amp;#39;t all that&lt;br/&gt;&amp;gt; much effort made to reach out, either.&lt;br/&gt;&lt;br/&gt;To be fair, John Carvalho did [comment][3] about this in a pull request although it was wrong PR and never going to be merged.&lt;br/&gt;&lt;br/&gt;&amp;gt; And I mean: all this is only about drawing a line in sand; if people&lt;br/&gt;&amp;gt; think core devs are wrong, they can still let that line blow away in&lt;br/&gt;&amp;gt; the wind, by running different software, configuring core differently,&lt;br/&gt;&amp;gt; patching core, or whatever else.&lt;br/&gt;&lt;br/&gt;I think this is the best option for users at this point. Keep running older versions of Core and use Knots or other implementations until technical experts in core repository, other bitcoin projects and users are on the same page.&lt;br/&gt;&lt;br/&gt;&amp;gt; And the&lt;br/&gt;&amp;gt; impression I got from the PR review club discussion more seemed like&lt;br/&gt;&amp;gt; devs making assumptions about businesses rather than having talked to&lt;br/&gt;&amp;gt; them (eg &amp;#34;[I] think there are fewer and fewer businesses who absolutely&lt;br/&gt;&amp;gt; cannot survive without relying on zeroconf. Or at least hope so&amp;#34;).&lt;br/&gt;&lt;br/&gt;Even I noticed this since I don&amp;#39;t recall the developers of the 3 main coinjoin implementations that are claimed to be impacted by opt-in RBF making any remarks.&lt;br/&gt;&lt;br/&gt;[1]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/16171&#34;&gt;https://github.com/bitcoin/bitcoin/pull/16171&lt;/a&gt;&lt;br/&gt;[2]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/25373#issuecomment-1157846575&#34;&gt;https://github.com/bitcoin/bitcoin/pull/25373#issuecomment-1157846575&lt;/a&gt;&lt;br/&gt;[3]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/25373#issuecomment-1163422654&#34;&gt;https://github.com/bitcoin/bitcoin/pull/25373#issuecomment-1163422654&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;&lt;br/&gt;Sent with Proton Mail secure email.&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Tuesday, October 18th, 2022 at 12:30 PM, Anthony Towns via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; On Mon, Oct 17, 2022 at 05:41:48PM -0400, Antoine Riard via bitcoin-dev wrote:&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; 1) Continue supporting and encouraging accepting unconfirmed &amp;#34;on-chain&amp;#34;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; payments indefinitely&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; 2) Draw a line in the sand now, but give people who are currently&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; accepting unconfirmed txs time to update their software and business&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; model&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; 3) Encourage mainnet miners and relay nodes to support unconditional&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; RBF immediately, no matter how much that increases the risk to&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; existing businesses that are still accepting unconfirmed txs&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; To give more context, the initial approach of enabling full RBF through&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; #25353 &#43; #25600 wasn&amp;#39;t making the assumption the enablement itself would&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; reach agreement of the economic majority or unanimity.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Full RBF doesn&amp;#39;t need a majority or unanimity to have an impact; it needs&lt;br/&gt;&amp;gt; adoption by perhaps 10% of hashrate (so a low fee tx at the bottom of&lt;br/&gt;&amp;gt; a 10MvB mempool can be replaced before being mined naturally), and some&lt;br/&gt;&amp;gt; way of finding a working path to relay txs to that hashrate.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Having a majority of nodes/hashrate support it makes the upsides better,&lt;br/&gt;&amp;gt; but doesn&amp;#39;t change the downsides to the people who are relying on it&lt;br/&gt;&amp;gt; not being available.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Without denying that such equilibrium would be unstable, it was designed to&lt;br/&gt;&amp;gt; &amp;gt; remove the responsibility of the Core project itself to &amp;#34;draw a hard line&amp;#34;&lt;br/&gt;&amp;gt; &amp;gt; on the subject.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Removing responsibility from core developers seems like it&amp;#39;s very much&lt;br/&gt;&amp;gt; optimising for the wrong thing to me.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I mean, I guess I can understand wanting to reduce that responsibility&lt;br/&gt;&amp;gt; for maintainers of the github repo, even if for no other reason than to&lt;br/&gt;&amp;gt; avoid frivolous lawsuits, but where do you expect people to find better&lt;br/&gt;&amp;gt; advice about what things are a good/bad idea if core devs as a whole&lt;br/&gt;&amp;gt; are avoiding that responsibility?&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Core devs are supposedly top technical experts at bitcoin -- which means&lt;br/&gt;&amp;gt; they&amp;#39;re the ones that should have the best understanding of all the&lt;br/&gt;&amp;gt; implications of policy changes like this. Is opt-in RBF only fine? If&lt;br/&gt;&amp;gt; you look at the network today, it sure seems like it; it takes a pretty&lt;br/&gt;&amp;gt; good technical understanding to figure out what problems it has, and&lt;br/&gt;&amp;gt; an even better one to figure out whether those problems can be solved&lt;br/&gt;&amp;gt; while keeping an opt-in RBF regime, or if full RBF is needed.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; At that point, the technical experts should be coming up with a&lt;br/&gt;&amp;gt; specific recommendation, and, personally, I think that&amp;#39;s exactly what&lt;br/&gt;&amp;gt; happened with [0] [1] and [2].&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; [0] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/lightning-dev/2021-May/003033.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/lightning-dev/2021-May/003033.html&lt;/a&gt;&lt;br/&gt;&amp;gt; [1] &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/25353&#34;&gt;https://github.com/bitcoin/bitcoin/pull/25353&lt;/a&gt;&lt;br/&gt;&amp;gt; [2] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-June/020557.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-June/020557.html&lt;/a&gt;&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; That did draw hard line in the sand: it said &amp;#34;hey, opt-in RBF had a good&lt;br/&gt;&amp;gt; run, but it&amp;#39;s time to switch over to full RBF, for these reasons&amp;#34;.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; It&amp;#39;s a bit disappointing that the people that&amp;#39;s a problem for didn&amp;#39;t&lt;br/&gt;&amp;gt; engage earlier -- though looking back, I guess there wasn&amp;#39;t all that&lt;br/&gt;&amp;gt; much effort made to reach out, either. There were two mentions in the&lt;br/&gt;&amp;gt; optech newsletter [3] [4] but it wasn&amp;#39;t called out as an &amp;#34;action item&amp;#34;&lt;br/&gt;&amp;gt; (maybe those aren&amp;#39;t a thing anymore), so it may have been pretty missable,&lt;br/&gt;&amp;gt; especially given RBF has been discussed on and off for so long. And the&lt;br/&gt;&amp;gt; impression I got from the PR review club discussion more seemed like&lt;br/&gt;&amp;gt; devs making assumptions about businesses rather than having talked to&lt;br/&gt;&amp;gt; them (eg &amp;#34;[I] think there are fewer and fewer businesses who absolutely&lt;br/&gt;&amp;gt; cannot survive without relying on zeroconf. Or at least hope so&amp;#34;).&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; [3] &lt;a href=&#34;https://bitcoinops.org/en/newsletters/2022/06/22/&#34;&gt;https://bitcoinops.org/en/newsletters/2022/06/22/&lt;/a&gt;&lt;br/&gt;&amp;gt; [4] &lt;a href=&#34;https://bitcoinops.org/en/newsletters/2022/07/13/&#34;&gt;https://bitcoinops.org/en/newsletters/2022/07/13/&lt;/a&gt;&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; If we&amp;#39;re happy to not get feedback until we start doing rcs, that&amp;#39;s fine;&lt;br/&gt;&amp;gt; but if we want to say &amp;#34;oops, we&amp;#39;re into release candidates, you should&lt;br/&gt;&amp;gt; have something earlier, it&amp;#39;s too late now&amp;#34;, that&amp;#39;s a pretty closed-off&lt;br/&gt;&amp;gt; way of doing things.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; And I mean: all this is only about drawing a line in sand; if people&lt;br/&gt;&amp;gt; think core devs are wrong, they can still let that line blow away in&lt;br/&gt;&amp;gt; the wind, by running different software, configuring core differently,&lt;br/&gt;&amp;gt; patching core, or whatever else.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Moreover, relying on node operators turning on the setting&lt;br/&gt;&amp;gt; &amp;gt; provides a smoother approach offering time to zero-conf services to react&lt;br/&gt;&amp;gt; &amp;gt; in consequence.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I don&amp;#39;t think that&amp;#39;s remotely true: take a look at taproot activation:&lt;br/&gt;&amp;gt; it took two months between releasing code that supported signalling and&lt;br/&gt;&amp;gt; having 98% of hashrate signalling; with 40% of blocks signalling within&lt;br/&gt;&amp;gt; the first two weeks.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; So the current path definitely belongs more to a 3) approach.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; 3) Encourage mainnet miners and relay nodes to support unconditional&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; RBF immediately, no matter how much that increases the risk to&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; existing businesses that are still accepting unconfirmed txs&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Yes, that&amp;#39;s how it appears to me, too. It&amp;#39;s not my preference (giving&lt;br/&gt;&amp;gt; people clear warning of changes seems much better to me), but I can&lt;br/&gt;&amp;gt; certainly live with it.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; But if the line in the sand is &amp;#34;we&amp;#39;re doing this, no matter how much that&lt;br/&gt;&amp;gt; increases the risk to existing businesses that weren&amp;#39;t expecting it&amp;#34; then&lt;br/&gt;&amp;gt; it seems very disingenuous not to make those risks very clear so that&lt;br/&gt;&amp;gt; people who weren&amp;#39;t expecting it actually take action to avoid those risks.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; That is, it seems to me that Dario was exactly right in titling this&lt;br/&gt;&amp;gt; thread &amp;#34;Zero-conf apps in immediate danger&amp;#34;, and our co-developers who&lt;br/&gt;&amp;gt; are dismissing the risk by saying things along the lines of &amp;#34;probably&lt;br/&gt;&amp;gt; nothing will change anytime soon&amp;#34; are exactly wrong.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; (More generally, that&amp;#39;s similar to one of the things I&amp;#39;ve hated&lt;br/&gt;&amp;gt; watching in mainstream economics over the past few years: &amp;#34;doing this&lt;br/&gt;&amp;gt; will cause massive inflation&amp;#34; &amp;#34;no it won&amp;#39;t, there&amp;#39;s no inflation risk&amp;#34;&lt;br/&gt;&amp;gt; &amp;#34;oops, inflation magically appeared, how did that happen? oh well, too&lt;br/&gt;&amp;gt; bad, we have to live with it now&amp;#34;. This looks pretty similar to me: &amp;#34;do&lt;br/&gt;&amp;gt; something risky, deny the risk, make sure nobody can hold us accountable&lt;br/&gt;&amp;gt; when the risk eventuates later&amp;#34; so it makes me really uncomfortable)&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; While this&lt;br/&gt;&amp;gt; &amp;gt; way cannot be denied to be a zero-risk deployment for business accepting&lt;br/&gt;&amp;gt; &amp;gt; unconfirmed transactions, it should be weighed in face of multi-party&lt;br/&gt;&amp;gt; &amp;gt; contracting protocols encumbering an annoying pinning vector.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Sure; that&amp;#39;s a fine reason to draw the line in the sand. But it&amp;#39;s not&lt;br/&gt;&amp;gt; a good reason to have it happen immediately, rather than giving people&lt;br/&gt;&amp;gt; time to react, and it&amp;#39;s not a good reason to understate the risk of&lt;br/&gt;&amp;gt; it happening now. Maybe there are good reasons for either or both of&lt;br/&gt;&amp;gt; those, though?&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Since Dario&amp;#39;s mail, I think we have learnt new data points, a) on the long&lt;br/&gt;&amp;gt; &amp;gt; term full RBF to align miner incentives is acknowledged and b) a clear&lt;br/&gt;&amp;gt; &amp;gt; timeline based on e.g a block height is favored over the pollination&lt;br/&gt;&amp;gt; &amp;gt; deployment.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Using the passive voice there doesn&amp;#39;t seem helpful. Who learnt these&lt;br/&gt;&amp;gt; things? You, I and Dario all seem to agree with (a), but John Carvalho&lt;br/&gt;&amp;gt; certainly appears not to, for instance. I&amp;#39;m not sure who agrees with&lt;br/&gt;&amp;gt; (b) -- I know I do, and I think Dario does; but multiple people seem&lt;br/&gt;&amp;gt; opposed to the clear timeline offered in #26323, and your #26305 seems&lt;br/&gt;&amp;gt; more likely to encourage a &amp;#34;pollination&amp;#34; approach rather than discourage&lt;br/&gt;&amp;gt; it (&amp;#34;oh, this will be the default option for 25.0, might as well enable&lt;br/&gt;&amp;gt; it now like all the cool kids are&amp;#34;).&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; For what it&amp;#39;s worth, my guess is that releasing core with full rbf&lt;br/&gt;&amp;gt; support and having you and Murch and others advocating for people to&lt;br/&gt;&amp;gt; try it out, will mean that full RBF is usable on mainnet within two&lt;br/&gt;&amp;gt; or three months, supported by perhaps 5%-20% hashpower, but probably&lt;br/&gt;&amp;gt; still requiring special effort to actually find a peer that can relay&lt;br/&gt;&amp;gt; full rbf txs to that hashpower (probably doing an addnode, despite the&lt;br/&gt;&amp;gt; privacy implications). Even if that happens, I&amp;#39;m not super confident&lt;br/&gt;&amp;gt; that it would mean people would actively steal from zeroconf businesses&lt;br/&gt;&amp;gt; in any volume, though. It&amp;#39;s not something I&amp;#39;d risk happening to me,&lt;br/&gt;&amp;gt; but accepting zeroconf from strangers isn&amp;#39;t something I&amp;#39;d risk anyway.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Slowing that down from January-ish to May seems like it ought to be a&lt;br/&gt;&amp;gt; big win for anyone who has been doing zeroconf, and having it be easy&lt;br/&gt;&amp;gt; to find a path to miners when it is supported seems like a big win even&lt;br/&gt;&amp;gt; given a cost of a few months delay.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; OTOH, if we&amp;#39;re really not expecting full rbf to be available for many&lt;br/&gt;&amp;gt; months, then I would have expected the &amp;#34;disable this for mainnet,&lt;br/&gt;&amp;gt; reconsider after the release&amp;#34; PR (#26287) to have gone ahead already.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &amp;gt; Tie-breaking between&lt;br/&gt;&amp;gt; &amp;gt; both, I believe I would favor something like #26323 though only post 24.0&lt;br/&gt;&amp;gt; &amp;gt; to avoid introducing a bikeshedding precedent in terms of release process,&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Doing something like #26323 only after 24.0 is out does nothing to&lt;br/&gt;&amp;gt; mitigate whatever immediate risk there is to bitcoin businesses/users...&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; And if the choice is between &amp;#34;bikeshedding&amp;#34; and &amp;#34;merge a PR, then ignore&lt;br/&gt;&amp;gt; feedback that it&amp;#39;s harmful&amp;#34;, I&amp;#39;d much rather the bikeshedding. What&amp;#39;s&lt;br/&gt;&amp;gt; the point of having rcs if you&amp;#39;re going to ignore negative feedback?&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; I mean, if you think the feedback is wrong, that&amp;#39;s different: maybe we&lt;br/&gt;&amp;gt; shouldn&amp;#39;t care that zeroconf apps are in immediate danger, and maybe&lt;br/&gt;&amp;gt; bitcoin would be better if any that don&amp;#39;t adapt immediately all die&lt;br/&gt;&amp;gt; horribly as a lesson to others not to make similarly bad assumptions.&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; But saying &amp;#34;we don&amp;#39;t want them to be in danger&amp;#34; and also refusing to do&lt;br/&gt;&amp;gt; anything to avoid it?&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; Cheers,&lt;br/&gt;&amp;gt; aj&lt;br/&gt;&amp;gt; &lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;
    </content>
    <updated>2023-06-08T01:14:25&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsw06cdvkzug73drsy4tk3l8huy449fjwz89ad6kezfr93h3znfuhgzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvq65kxk</id>
    
      <title type="html">📅 Original date posted:2022-08-20 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsw06cdvkzug73drsy4tk3l8huy449fjwz89ad6kezfr93h3znfuhgzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvq65kxk" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2garmvyhhe7r4kma5c9qx8mk5nvhpf74a9jx4m3ux4wfv30pg7dqra5w73&#39;&gt;nevent1q…5w73&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-08-20&lt;br/&gt;📝 Original message:Hi Bitcoin Developers,&lt;br/&gt;&lt;br/&gt;I have written a python script as proof of concept for the [coinjoin implementation][1] using [nostr][2]. I used a lot of Python scripts created by others in school, so it feels nice to offer something that could be useful to others.&lt;br/&gt;&lt;br/&gt;The implementation uses Bitcoin Core wallet and RPCs: `listunspent`, `getnewaddress`, `scantxoutset`, `createpsbt`, `combinepsbt`, `finalizepsbt` and `sendrawtransaction`. It requires python-nostr library because nostr is used for coordination between peers. Nostr is a decentralized network based on cryptographic keypairs. It is not peer-to-peer however simple and scalable.&lt;br/&gt;&lt;br/&gt;Every step is published as an event using a nostr relay and 5 peers coordinate to create, sign and broadcast a coinjoin transaction.  I need to write a NIP that would be an alternative to blind signatures. Relay will share a random secret with clients for one round which should be present in output registration request although never gets published. If someone tries to register an output without registering any inputs, request would not have the number initially shared with inputs so request would get rejected or published as unverified. Relay would not be able to link inputs and outputs as the number is same for all inputs in a round and they get registered at different times with new keys and IP address. Clients can use multiple relays at the same time to avoid trusting one relay. This would result in different shared secret number but same process. If a relay tries to cheat, users will not sign the transaction and avoid using it in future.&lt;br/&gt;&lt;br/&gt;Usage:&lt;br/&gt;&lt;br/&gt; 1)Run `python coinjoin.py` and enter descriptor for one of the inputs.&lt;br/&gt; 2)Script will check inputs for this round in every 30 seconds and register a new adddress for output once 5 inputs are registered.&lt;br/&gt; 3)Similar check happens every 30 seconds for outputs. Last peer should create a PSBT.&lt;br/&gt; 4)Unsigned PSBT will be printed and signed by wallet with `walletprocesspsbt` RPC.&lt;br/&gt; 5)Script will check signed PSBTs and last peer to sign should finalize coinjoin transaction once 5 signed PSBTs are received.&lt;br/&gt; 6)Coinjoin transaction will be broadcasted and txid will printed.&lt;br/&gt;&lt;br/&gt;Example:&lt;br/&gt;&lt;br/&gt;```&lt;br/&gt;List of utxos in wallet:&lt;br/&gt;&lt;br/&gt;wpkh([53830dca/84&amp;#39;/1&amp;#39;/0&amp;#39;/0/0]02449be5fb74725255eeeb50eba930fa87705f21e99d13cd710cf2c1f21153c808)#x2hyyeg5&lt;br/&gt;&lt;br/&gt;Enter descriptor for the input registration: wpkh([53830dca/84&amp;#39;/1&amp;#39;/0&amp;#39;/0/0]02449be5fb74725255eeeb50eba930fa87705f21e99d13cd710cf2c1f21153c808)#x2hyyeg5&lt;br/&gt;&lt;br/&gt;event id:  bcbbe62d75d99fed73f1e50ac58a38d1840b658951893e63c0322b378d7d56f0&lt;br/&gt;&lt;br/&gt;```&lt;br/&gt;```&lt;br/&gt;tb1qhxrp4zl54ul0twtyz0gury5399q7z0kvqqrl6m registered for output&lt;br/&gt;&lt;br/&gt;event id: 9449c9065bef356d21507a98f88b028b17fc1c49eb195c8d4420604fcaaef041&lt;br/&gt;```&lt;br/&gt;```&lt;br/&gt;Unsigned PSBT: cHNidP8BAP1yAQIAAAAFtMaoJYcXvOG5L3Yaz3YyS7gIt4h5/zzOrRRS3hrVvwoAAAAAAP////&#43;o83geaSm4L76KToIUl5MiZqLAUbIDJLq6DWrjP/3b8AEAAAAA/////zEF3CXIvVHpIa7No1s1yg&#43;KtyOfXTRSyWnOdXMfzcDwAQAAAAD/////wMa4XAgnU&#43;39Ien&#43;KG9rYtv8bLMNYakmZyY/QFfwLRcAAAAAAP/////5M42ID6uLmQTb2tnFHnN7UMpnDD25uN8ZX7A&#43;GNSM3QEAAAAA/////wV4xwEAAAAAABYAFLmGGov0rz71uWQT0cGSkSlB4T7MeMcBAAAAAAAWABSc0/FM6Hdbdxh10IJkYOklVFWqjnjHAQAAAAAAFgAUPSZKe/w6PT6qIF&#43;WhL4wHaFymjd4xwEAAAAAABYAFMx0rxYlpPWB3NFry4Ctk2eVi/UNeMcBAAAAAAAWABSzc4xK0VTfvjK0MHXrAUFLYgYnOgAAAAAAAAAAAAAAAAAAAA==&lt;br/&gt;&lt;br/&gt;event id: 976744b38fa9343fb79e1b5215512ead6ee08e5890d79a201fc5b872f6de4eba&lt;br/&gt;```&lt;br/&gt;```&lt;br/&gt;Signed PSBT: cHNidP8BAP1yAQIAAAAFtMaoJYcXvOG5L3Yaz3YyS7gIt4h5/zzOrRRS3hrVvwoAAAAAAP////&#43;o83geaSm4L76KToIUl5MiZqLAUbIDJLq6DWrjP/3b8AEAAAAA/////zEF3CXIvVHpIa7No1s1yg&#43;KtyOfXTRSyWnOdXMfzcDwAQAAAAD/////wMa4XAgnU&#43;39Ien&#43;KG9rYtv8bLMNYakmZyY/QFfwLRcAAAAAAP/////5M42ID6uLmQTb2tnFHnN7UMpnDD25uN8ZX7A&#43;GNSM3QEAAAAA/////wV4xwEAAAAAABYAFLmGGov0rz71uWQT0cGSkSlB4T7MeMcBAAAAAAAWABSc0/FM6Hdbdxh10IJkYOklVFWqjnjHAQAAAAAAFgAUPSZKe/w6PT6qIF&#43;WhL4wHaFymjd4xwEAAAAAABYAFMx0rxYlpPWB3NFry4Ctk2eVi/UNeMcBAAAAAAAWABSzc4xK0VTfvjK0MHXrAUFLYgYnOgAAAAAAAQBxAgAAAAG&#43;qpMXZCy6tBuUlgo8JD0GVXKp60FkhwDeg2sF1fkFkwMAAAAA/f///wLo9wEAAAAAABYAFFfLA5xarC/w/SxeMDQ5tuXrYJLUWwMAAAAAAAAWABRfPf//hwMjHB4OKj87cU19XOSh7yOWAQABAR/o9wEAAAAAABYAFFfLA5xarC/w/SxeMDQ5tuXrYJLUAQhrAkcwRAIgOIhLoC5348U8YkEr4GU1K4yWskIOEXgW4Wsk/W2cR7ICIEJXqtOuDJ5CkwrSuwJLWtzab4dslbN3KuL/pyooMnOCASECRJvl&#43;3RyUlXu61DrqTD6h3BfIemdE81xDPLB8hFTyAgAAAAAACICA77Cnd6o3kr0yc&#43;91eabpOn5igs/MUMbudNYSS6oyMWMGFODDcpUAACAAQAAgAAAAIAAAAAAFAAAAAAAAAAA&lt;br/&gt;&lt;br/&gt;event id: 5846b6e6902f3c5a43496d7d9785ed62444aa74963f03c33d637d8b09ee7a139&lt;br/&gt;```&lt;br/&gt;```&lt;br/&gt;Coinjoin tx: 75e490b10b15a6a0422f25ff66ad98ef70390c8fecaac02712705dce8cc3564b&lt;br/&gt;&lt;br/&gt;event id: 9b5d4bf279b59e2b6e539e683fba83da72dce2b640360aa95db1b1400be93190&lt;br/&gt;```&lt;br/&gt;&lt;br/&gt;There are lot of things that could be improved and a few suggestions are in the gist that described the [idea][3]. I would love read to any opinions about this experiment and will start working on creating an Android app for joinstr next week.&lt;br/&gt;&lt;br/&gt;Credits:&lt;br/&gt;&lt;br/&gt;- fiatjaf (Nostr)&lt;br/&gt;- Andrew Chow (PSBT)&lt;br/&gt;- Jeff Thibault (python-nostr)&lt;br/&gt;- Existing coinjoin implmentations&lt;br/&gt;&lt;br/&gt;[1]: &lt;a href=&#34;https://github.com/1440000bytes/joinstr&#34;&gt;https://github.com/1440000bytes/joinstr&lt;/a&gt;&lt;br/&gt;[2]: &lt;a href=&#34;https://github.com/nostr-protocol/nostr&#34;&gt;https://github.com/nostr-protocol/nostr&lt;/a&gt;&lt;br/&gt;[3]: &lt;a href=&#34;https://gist.github.com/1440000bytes/1c305097b070c8374cc3b91f50314a45&#34;&gt;https://gist.github.com/1440000bytes/1c305097b070c8374cc3b91f50314a45&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;&lt;br/&gt;Sent with Proton Mail secure email.
    </content>
    <updated>2023-06-08T01:12:55&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8yqwg0l3tk5326mh2zyxz6qvc9z64p0xv509j7zuusnyyjrsy7fqzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkv8wl8f3</id>
    
      <title type="html">📅 Original date posted:2022-07-26 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8yqwg0l3tk5326mh2zyxz6qvc9z64p0xv509j7zuusnyyjrsy7fqzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkv8wl8f3" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8vm5ap4gvnhr3nsscv6q3wpymnulr5njm6rgudacpz46vne5e89qal0d3a&#39;&gt;nevent1q…0d3a&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-07-26&lt;br/&gt;📝 Original message:Hi Aaradhya,&lt;br/&gt;&lt;br/&gt;&amp;gt; As it&amp;#39;s not a consensus rule, I think it can be done easily, just needing support from full node operators&lt;br/&gt;&lt;br/&gt;A few miners will need to use a lower minrelaytxfee for this to work. I don&amp;#39;t think miners would want to lower their profits.&lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;&lt;br/&gt;Sent with [Proton Mail](&lt;a href=&#34;https://proton.me/&#34;&gt;https://proton.me/&lt;/a&gt;) secure email.&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Tuesday, July 26th, 2022 at 1:56 PM, Aaradhya Chauhan via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;I know this might be a sort of repetition for a previous question, but I do want to know from enthusiasts in this group that while Bitcoin was trading at much lower price in its early days, 1 sat/vB was a good dust protection measure. But now, I think it&amp;#39;s a bit high for merely a dust protection measure, and should be lowered slightly. Even if not, it should be lowered to half when prices go double than today and keeps oscillating at that point. As it&amp;#39;s not a consensus rule, I think it can be done easily, just needing support from full node operators. I support LN but I think transaction affordability should remain constant in the future. If I&amp;#39;m okay to wait in a queue, I should have the option for same affordability for minimum fees in the future as it is today. (Like we still have posts today while email still exists).&lt;br/&gt;&lt;br/&gt;Awaiting your response.&lt;br/&gt;&lt;br/&gt;Regards&lt;br/&gt;Aaradhya Chauhan&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/20220726/801c59fe/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220726/801c59fe/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:12:09&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsykhdvgh0fdpt3hf9r4xucrdrm5d77a0xydl50lk5d9n7kek7mdcgzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvf28nal</id>
    
      <title type="html">📅 Original date posted:2022-07-10 📝 Original message:Sorry, ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsykhdvgh0fdpt3hf9r4xucrdrm5d77a0xydl50lk5d9n7kek7mdcgzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvf28nal" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspk7mxv6ethzd53fg74f7qmn8xjre56snhn0jf0xt75qm9pyr4r3sjk7hjj&#39;&gt;nevent1q…7hjj&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-07-10&lt;br/&gt;📝 Original message:Sorry, I made some wrong calculations in the last email. I think the change would just be required in validation.cpp:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://github.com/bitcoin/bitcoin/blob/a7f3479ba3fda4c9fb29bd7080165744c02ee921/src/validation.cpp#L1472&#34;&gt;https://github.com/bitcoin/bitcoin/blob/a7f3479ba3fda4c9fb29bd7080165744c02ee921/src/validation.cpp#L1472&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;&lt;br/&gt;Sent with Proton Mail secure email.&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Sunday, July 10th, 2022 at 2:17 PM, alicexbt via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; Hi ZmnSCPxj,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Thus, we should instead prepare for a future where the block subsidy must be removed, possibly before the existing schedule removes it, in case a majority coalition of miner ever decides to censor particular transactions without community consensus.&lt;br/&gt;&amp;gt; &amp;gt; Fortunately forcing the block subsidy to 0 is a softfork and thus easier to deploy.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; `consensus.nSubsidyHalvingInterval` for mainnet in [chainparams.cpp][1] can be decreased to 195000. This will reduce the number of halvings from 34 to 14 and subsidy will be 0 when it becomes less than 0.01 although not sure if this will be a soft fork.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I doubt there will be consensus for it because all the [projections and predictability][2] about bitcoin(currency) would be affected by this change. Maybe everyone can agree with this change if most of the miners start being &amp;#39;compliant&amp;#39; like one of the coinjoin implementation.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [1]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/blob/master/src/chainparams.cpp#L66&#34;&gt;https://github.com/bitcoin/bitcoin/blob/master/src/chainparams.cpp#L66&lt;/a&gt;&lt;br/&gt;&amp;gt; [2]: &lt;a href=&#34;https://en.bitcoin.it/wiki/Controlled_supply&#34;&gt;https://en.bitcoin.it/wiki/Controlled_supply&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; /dev/fd0&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;&lt;br/&gt;&amp;gt; ------- Original Message -------&lt;br/&gt;&amp;gt; On Saturday, July 9th, 2022 at 9:59 PM, ZmnSCPxj via bitcoin-dev bitcoin-dev at lists.linuxfoundation.org wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Good morning e, and list,&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Yet you posted several links which made that specific correlation, to which I was responding.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Math cannot prove how much coin is “lost”, and even if it was provable that the amount of coin lost converges to the amount produced, it is of no consequence - for the reasons I’ve already pointed out. The amount of market production has no impact on market price, just as it does not with any other good.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; The reason to object to perpetual issuance is the impact on censorship resistance, not on price.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; To clarify about censorship resistance and perpetual issuance (&amp;#34;tail emission&amp;#34;):&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; * Suppose I have two blockchains, one with a constant block subsidy, and one which had a block subsidy but the block subsidy has become negligible or zero.&lt;br/&gt;&amp;gt; &amp;gt; * Now consider a censoring miner.&lt;br/&gt;&amp;gt; &amp;gt; * If the miner rejects particular transactions (i.e. &amp;#34;censors&amp;#34;) the miner loses out on the fees of those transactions.&lt;br/&gt;&amp;gt; &amp;gt; * Presumably, the miner does this because it gains other benefits from the censorship, economically equal or better to the earnings lost.&lt;br/&gt;&amp;gt; &amp;gt; * If the blockchain had a block subsidy, then the loss the miner incurs is small relative to the total earnings of each block.&lt;br/&gt;&amp;gt; &amp;gt; * If the blockchain had 0 block subsidy, then the loss the miner incurs is large relative to the total earnings of each block.&lt;br/&gt;&amp;gt; &amp;gt; * Thus, in the latter situation, the external benefit the miner gains from the censorship has to be proportionately larger than in the first situation.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Basically, the block subsidy is a market distortion: the block subsidy erodes the value of held coins to pay for the security of coins being moved.&lt;br/&gt;&amp;gt; &amp;gt; But the block subsidy is still issued whether or not coins being moved are censored or not censored.&lt;br/&gt;&amp;gt; &amp;gt; Thus, there is no incentive, considering only the block subsidy, to not censor coin movements.&lt;br/&gt;&amp;gt; &amp;gt; Only per-transaction fees have an incentive to not censor coin movements.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Thus, we should instead prepare for a future where the block subsidy must be removed, possibly before the existing schedule removes it, in case a majority coalition of miner ever decides to censor particular transactions without community consensus.&lt;br/&gt;&amp;gt; &amp;gt; Fortunately forcing the block subsidy to 0 is a softfork and thus easier to deploy.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Regards,&lt;br/&gt;&amp;gt; &amp;gt; ZmnSCPxj&lt;br/&gt;&amp;gt; &amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; &amp;gt; 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; _______________________________________________&lt;br/&gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;
    </content>
    <updated>2023-06-08T01:11:27&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqspk7mxv6ethzd53fg74f7qmn8xjre56snhn0jf0xt75qm9pyr4r3szyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkv9jaewd</id>
    
      <title type="html">📅 Original date posted:2022-07-10 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqspk7mxv6ethzd53fg74f7qmn8xjre56snhn0jf0xt75qm9pyr4r3szyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkv9jaewd" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsf8t09gey4yd8hyusy5n3x4s9rqd8tfcj6r79avz2axp3gh2zxc4gg7qz4h&#39;&gt;nevent1q…qz4h&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-07-10&lt;br/&gt;📝 Original message:Hi ZmnSCPxj,&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; Thus, we should instead prepare for a future where the block subsidy must be removed, possibly before the existing schedule removes it, in case a majority coalition of miner ever decides to censor particular transactions without community consensus.&lt;br/&gt;&amp;gt; Fortunately forcing the block subsidy to 0 is a softfork and thus easier to deploy.&lt;br/&gt;&lt;br/&gt;`consensus.nSubsidyHalvingInterval` for mainnet in [chainparams.cpp][1] can be decreased to 195000. This will reduce the number of halvings from 34 to 14 and subsidy will be 0 when it becomes less than 0.01 although not sure if this will be a soft fork.&lt;br/&gt;&lt;br/&gt;I doubt there will be consensus for it because all the [projections and predictability][2] about bitcoin(currency) would be affected by this change. Maybe everyone can agree with this change if most of the miners start being &amp;#39;compliant&amp;#39; like one of the coinjoin implementation.&lt;br/&gt;&lt;br/&gt;[1]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/blob/master/src/chainparams.cpp#L66&#34;&gt;https://github.com/bitcoin/bitcoin/blob/master/src/chainparams.cpp#L66&lt;/a&gt;&lt;br/&gt;[2]: &lt;a href=&#34;https://en.bitcoin.it/wiki/Controlled_supply&#34;&gt;https://en.bitcoin.it/wiki/Controlled_supply&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;&lt;br/&gt;Sent with Proton Mail secure email.&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Saturday, July 9th, 2022 at 9:59 PM, ZmnSCPxj via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; Good morning e, and list,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Yet you posted several links which made that specific correlation, to which I was responding.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Math cannot prove how much coin is “lost”, and even if it was provable that the amount of coin lost converges to the amount produced, it is of no consequence - for the reasons I’ve already pointed out. The amount of market production has no impact on market price, just as it does not with any other good.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; The reason to object to perpetual issuance is the impact on censorship resistance, not on price.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; To clarify about censorship resistance and perpetual issuance (&amp;#34;tail emission&amp;#34;):&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; * Suppose I have two blockchains, one with a constant block subsidy, and one which had a block subsidy but the block subsidy has become negligible or zero.&lt;br/&gt;&amp;gt; * Now consider a censoring miner.&lt;br/&gt;&amp;gt; * If the miner rejects particular transactions (i.e. &amp;#34;censors&amp;#34;) the miner loses out on the fees of those transactions.&lt;br/&gt;&amp;gt; * Presumably, the miner does this because it gains other benefits from the censorship, economically equal or better to the earnings lost.&lt;br/&gt;&amp;gt; * If the blockchain had a block subsidy, then the loss the miner incurs is small relative to the total earnings of each block.&lt;br/&gt;&amp;gt; * If the blockchain had 0 block subsidy, then the loss the miner incurs is large relative to the total earnings of each block.&lt;br/&gt;&amp;gt; * Thus, in the latter situation, the external benefit the miner gains from the censorship has to be proportionately larger than in the first situation.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Basically, the block subsidy is a market distortion: the block subsidy erodes the value of held coins to pay for the security of coins being moved.&lt;br/&gt;&amp;gt; But the block subsidy is still issued whether or not coins being moved are censored or not censored.&lt;br/&gt;&amp;gt; Thus, there is no incentive, considering only the block subsidy, to not censor coin movements.&lt;br/&gt;&amp;gt; Only per-transaction fees have an incentive to not censor coin movements.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Thus, we should instead prepare for a future where the block subsidy must be removed, possibly before the existing schedule removes it, in case a majority coalition of miner ever decides to censor particular transactions without community consensus.&lt;br/&gt;&amp;gt; Fortunately forcing the block subsidy to 0 is a softfork and thus easier to deploy.&lt;br/&gt;&amp;gt;&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-08T01:11:27&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsyp8qpmfegshehv554u4aumyan03g0s5ad3cc3f345w06n6vsfg2qzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvga6ye6</id>
    
      <title type="html">📅 Original date posted:2022-07-05 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsyp8qpmfegshehv554u4aumyan03g0s5ad3cc3f345w06n6vsfg2qzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvga6ye6" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsf4gkag8gcwt7mhedgd2rtpc8fpnwwaz7t5tjwupwxse4vk3mq0hc9zvzf3&#39;&gt;nevent1q…vzf3&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-07-05&lt;br/&gt;📝 Original message:Hi Peter,&lt;br/&gt;&lt;br/&gt;&amp;gt; Note that Wasabi already has a DoS attack vector in that a participant can stop&lt;br/&gt;&amp;gt; participating after the first phase of the round, with the result that the&lt;br/&gt;&amp;gt; coinjoin fails. Wasabi mitigates that by punishing participating in future&lt;br/&gt;&amp;gt; rounds. Double-spends only create additional types of DoS attack that need to&lt;br/&gt;&amp;gt; be detected and punished as well - they don&amp;#39;t create a fundamentally new&lt;br/&gt;&amp;gt; vulerability.&lt;br/&gt;&lt;br/&gt;I agree some DoS vectors are already mitigated however punishment in this case will be difficult because the transaction is broadcasted after signing and before coinjoin tx broadcast.&lt;br/&gt;&lt;br/&gt;Inputs are already checked multiple times for double spend during coinjoin round: &lt;a href=&#34;https://github.com/zkSNACKs/WalletWasabi/pull/6460&#34;&gt;https://github.com/zkSNACKs/WalletWasabi/pull/6460&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;If all the inputs in the coinjoin transaction that failed to relay are checked and one or more are found to be spent later, what will be punished and how does this affect the attacker with thousands of UTXOs or normal users?&lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;&lt;br/&gt;Sent with Proton Mail secure email.&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Monday, June 27th, 2022 at 12:43 AM, Peter Todd &amp;lt;pete at petertodd.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; On Sun, Jun 26, 2022 at 04:40:24PM &#43;0000, alicexbt via bitcoin-dev wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Hi Antoine,&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Thanks for sharing the DoS attack example with alternatives.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; - Caroll broadcasts a double-spend of her own input C, the double-spend is attached with a low-fee (1sat/vb) and it does not signal opt-in RBF&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; - Alice broadcasts the multi-party transaction, it is rejected by the network mempools because Alice double-spend is already present&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; I think this affects almost all types of coinjoin transaction including coordinator based implementations. I tried a few things and have already reported details for an example DoS attack to one of the team but there is no response yet.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; It was fun playing with RBF, DoS and Coinjoin. Affected projects should share their opinion about full-rbf as it seems it might improve things.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Example:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; In Wasabi an attacker can broadcast a transaction spending input used in coinjoin after sending signature in the round. This would result in a coinjoin tx which never gets relayed: &lt;a href=&#34;https://nitter.net/1440000bytes/status/1540727534093905920&#34;&gt;https://nitter.net/1440000bytes/status/1540727534093905920&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Note that Wasabi already has a DoS attack vector in that a participant can stop&lt;br/&gt;&amp;gt; participating after the first phase of the round, with the result that the&lt;br/&gt;&amp;gt; coinjoin fails. Wasabi mitigates that by punishing participating in future&lt;br/&gt;&amp;gt; rounds. Double-spends only create additional types of DoS attack that need to&lt;br/&gt;&amp;gt; be detected and punished as well - they don&amp;#39;t create a fundamentally new&lt;br/&gt;&amp;gt; vulerability.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://petertodd.org&#34;&gt;https://petertodd.org&lt;/a&gt; &amp;#39;peter&amp;#39;[:-1]@petertodd.org
    </content>
    <updated>2023-06-08T01:11:12&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsw6d2ugdcay5myq58ge3f63d9wnj79tcd9dttvj58c7a8zryymecczyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvzz7x2c</id>
    
      <title type="html">📅 Original date posted:2022-06-26 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsw6d2ugdcay5myq58ge3f63d9wnj79tcd9dttvj58c7a8zryymecczyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvzz7x2c" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsfkl868mudw9g62dhh6up9x0wmejcmztxja9us7crnjep543kpscgtrn4hd&#39;&gt;nevent1q…n4hd&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-06-26&lt;br/&gt;📝 Original message:Hi Antoine,&lt;br/&gt;&lt;br/&gt;Thanks for sharing the DoS attack example with alternatives.&lt;br/&gt;&lt;br/&gt;&amp;gt; - Caroll broadcasts a double-spend of her own input C, the double-spend is attached with a low-fee (1sat/vb) and it does _not_ signal opt-in RBF&lt;br/&gt;&amp;gt; - Alice broadcasts the multi-party transaction, it is rejected by the network mempools because Alice double-spend is already present&lt;br/&gt;&lt;br/&gt;I think this affects almost all types of coinjoin transaction including coordinator based implementations. I tried a few things and have already reported details for an example DoS attack to one of the team but there is no response yet.&lt;br/&gt;&lt;br/&gt;It was fun playing with RBF, DoS and Coinjoin. Affected projects should share their opinion about full-rbf as it seems it might improve things.&lt;br/&gt;&lt;br/&gt;Example:&lt;br/&gt;&lt;br/&gt;In Wasabi an attacker can broadcast a transaction spending input used in coinjoin after sending signature in the round. This would result in a coinjoin tx which never gets relayed: &lt;a href=&#34;https://nitter.net/1440000bytes/status/1540727534093905920&#34;&gt;https://nitter.net/1440000bytes/status/1540727534093905920&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;&lt;br/&gt;Sent with Proton Mail secure email.&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Tuesday, June 21st, 2022 at 11:43 PM, Antoine Riard &amp;lt;antoine.riard at gmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; HI alicexbt,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Lets consider there are 2 users with name Bob (normal LN user) and Carol (attacker running LN node) which I will use in this email for examples. In this case Bob and Carol can manage security of their OS and it is not affected by others using vulnerable systems or OS.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Yes, I believe my argument was the set of components making the security of your LN node is far beyond Bitcoin softwares. Of course, you might review by yourself the millions lines of code entering in the trusted computing base (OS, bootloader, BIOS, device firmwares, essential utilities, ...) on which your cryptocurrency software stack lays out, and as such exercise an extended span of control on your personal computation. Though, while I hope we&amp;#39;ll have more LN node operators doing so, I&amp;#39;m not sure it&amp;#39;s realistic to expect it will be the behavior standard among them..&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; The odds are low as you said, this can be managed by Bob and Carol because they can use a better ISP. Others using ISP with some issues may not affect their LN usage.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Sure, though as I would like to underscore being dependent on a Bitcoin node policy and being dependent on a ISP internet traffic routing policy could be analyzed as logically equivalent, all things are equal. That said, if your personal risk aversion is too high for the Lightning security model, once it&amp;#39;s well-understood there is a strong reliance on a censorship-resistant tx-relay network back to economically-rational miners, you&amp;#39;re free to not use it and satisfy yourself with the Bitcoin base layer.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Bob might use full-rbf as its suggested by LN developers for secure LN usage and better for miners. Carol could use a different RBF policy for some nodes and mining. In this case Bob may get affected at some point because of Carol&amp;#39;s choice to use a different RBF policy which was not true above.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Indeed, your secure LN usage is going to be dependent of the number of p2p network nodes running an economically-rational policy like full-rbf. That said, I think it&amp;#39;s reasonable to assume that the players of the Bitcoin game are economically-rational, and as such incentived to pick up a policy such as full-rbf. I know the term &amp;#34;economically-rational&amp;#34; is poorly defined here, and I think it could be interesting for any academic with an economic background to study the incentives of Bitcoin actors.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Allowing users to create different mempool policies is great. My thought process is to code for happy path, where X policy is expected for replacement and edge cases where Y policy or no policy would be used. Users can try out different policies and even act as attackers. This is also true for other things in mempool, &amp;#39;spkreuse=conflict&amp;#39; prevents address reuse in the mempool when using knots. If I assume that address reuse is always relayed, this could become a problem if some users and miners adopt this setting in their mempool.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Agree, I&amp;#39;m all in for people to experiment with mempool policies. Though at the end it&amp;#39;s a software engineering resource question. If users are interested in more features, they&amp;#39;re always free to implement themselves. Really, the binary distinction developers-vs-users doesn&amp;#39;t make sense and if we would like Bitcoin to be successful in the long-term, we should promote high degree of software literacy among bitcoiners.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; This makes sense and I would be interested to follow two things once full-rbf is available in a bitcoin core release: 1. Percentage of transaction getting replaced 2. Miners profit (Fee for replaced Tx - Fee for original Tx)&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Yes, I would be interested too to have those metrics once full-rbf is available in a bitcoin core release. I think that&amp;#39;s something every full-rbf curious node operator could observe on its own with a few more loggers, at least for the first metric.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Can you explain how p2p coinjoin is affected with mempool DoS vector with some examples? What is considered a p2p coinjoin? Joinmarket or [Stonewall][1]?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I don&amp;#39;t remember the Joinmarket code right now and I don&amp;#39;t know the ins and outs of Samourai coinjoin as I&amp;#39;m not sure the code is open source. Though let&amp;#39;s say for a p2p coinjoin as one you can build once you have implemented LN&amp;#39;s interactive construction protocol [0].&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [0] &lt;a href=&#34;https://github.com/lightning/bolts/pull/851&#34;&gt;https://github.com/lightning/bolts/pull/851&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Here the DoS attack situation :&lt;br/&gt;&amp;gt; - Alice, Bob and Caroll would like to coinjoin 3 inputs to 3 outputs&lt;br/&gt;&amp;gt; - Each of the input is singly controlled by one party, e.g Alice owns input A, Bob owns input B, ...&lt;br/&gt;&amp;gt; - Alice, Bob and Caroll exchanges a PSBT to build a multi-party funded transaction (the coinjoin_tx)&lt;br/&gt;&amp;gt; - Alice is elected as the multi-party transaction broadcaster once the signatures have been exchanged&lt;br/&gt;&amp;gt; - The block feerate is around 10sat/vb&lt;br/&gt;&amp;gt; - One of the transaction input signals opt-in RBF, the transaction is attached a compelling feerate 10sat/vb&lt;br/&gt;&amp;gt; - Caroll broadcasts a double-spend of her own input C, the double-spend is attached with a low-fee (1sat/vb) and it does _not_ signal opt-in RBF&lt;br/&gt;&amp;gt; - Alice broadcasts the multi-party transaction, it is rejected by the network mempools because Alice double-spend is already present&lt;br/&gt;&amp;gt; - Two alternatives are offered to the coinjoin participants :&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Alternative A)&lt;br/&gt;&amp;gt; - They estimate the multi-party feerate as not high enough&lt;br/&gt;&amp;gt; - They fee-bump at 20sat/vb&lt;br/&gt;&amp;gt; - Caroll double-spend one of the input of her malicious double-spend to eject it from the network mempools&lt;br/&gt;&amp;gt; - The multi-party transaction is confirmed at a block feerare far above what was necessary&lt;br/&gt;&amp;gt; - Alice, Bob, Caroll have loss fee-bumping value without compensation&lt;br/&gt;&amp;gt; - Note, even if Caroll is attacker and assuming the fee-bumping burden is fairly spread among participants, the economic loss inflicted is asymmetric&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Alternative B)&lt;br/&gt;&amp;gt; - They wait until some time-out&lt;br/&gt;&amp;gt; - They double-spend their own inputs, Alice double-spend utxo A, Bob double-spend utxo B&lt;br/&gt;&amp;gt; - They wasted the timevalue of their inputs for the time-out delay&lt;br/&gt;&amp;gt; - Note, even if Caroll is attacker and loss some timevalue too, the economic loss inflicted is asymmetric&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Let me know if you see any error or wrong in this DoS scenario exposure. I believe it&amp;#39;s fairly simple to execute&lt;br/&gt;&amp;gt; for a medium-skilled attacker.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Antoine&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Le ven. 17 juin 2022 à 00:54, alicexbt &amp;lt;alicexbt at protonmail.com&amp;gt; a écrit :&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Hi Antoine,&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; &amp;gt; One could list the operating system on which is running your Lightning process or the compiler toolchain turning out your Lightning source code in a binary artifact. Some weird kernel&amp;#39;s memory mapping change could allow access to your channel funding keys, _without_ breaking the Bitcoin consensus rules [0].&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Lets consider there are 2 users with name Bob (normal LN user) and Carol (attacker running LN node) which I will use in this email for examples. In this case Bob and Carol can manage security of their OS and it is not affected by others using vulnerable systems or OS.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Moreover, your Lightning node is also relying on the existence of a global Internet allowing your HTLC transaction to flow from your physical host to the crowd of transactions confirming in the blockchain. Due to this &amp;#34;protocol assumption&amp;#34; your channel balance would be vulnerable to any change in your ISP routing policy, e.g refusing to accept your IPV4 traffic by a sudden desiderata to impose an IPV6 supremacy. Still _without_ breaking the Bitcoin consensus rules. Of course, the odds of your ISP operator adopting this behavior are really low, mostly because your operator has to bind to social and economic constraints to stay in business.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; The odds are low as you said, this can be managed by Bob and Carol because they can use a better ISP. Others using ISP with some issues may not affect their LN usage.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; And I believe this imperative to stay in business is certainly not absent in the incentives of the Bitcoin node operators. You&amp;#39;re free to run any policy on your node, especially one hardening the safety of your operations beyond the default one. However, if you start to a transaction-relay non-compatible with miner incentives, you won&amp;#39;t have an efficient view of the blockspace demand, and from then won&amp;#39;t be able to offer compelling feerates to execute your business transactions to satisfy your client needs. Or you won&amp;#39;t consolidate your wallet UTXOs at times of low-demand. Indeed, a sane visibility of the mempools might not be critical now for your Bitcoin operations, but this is not likely to become true with miner&amp;#39;s coinbase reward lowering with time and the system security relying on a fruitful fee market.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Bob might use full-rbf as its suggested by LN developers for secure LN usage and better for miners. Carol could use a different RBF policy for some nodes and mining. In this case Bob may get affected at some point because of Carol&amp;#39;s choice to use a different RBF policy which was not true above.&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; &amp;gt; So assuming there is a significant number of economically rational entities running p2p nodes, I think it&amp;#39;s a reasonable assumption for Lightning developers that a policy maximizing miner&amp;#39;s income and economic nodes operations will be widely run on the p2p network, and therefore lay its security model on that. When there is a gap between the economically optimal policy (full-rbf) and the effectively deployed one (optin), and this gap constitutes a flaw for exploitation, I believe it&amp;#39;s better to fix it.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Agree with the assumption there is nothing wrong in experimenting with a new RBF policy (non-default) if that helps some users and projects.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; If you have a different mode of thinking w.r.t how we should design protocol in a trust-minimized, open, adversarial environment such as Bitcoin, I&amp;#39;m curious to listen to it.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Allowing users to create different mempool policies is great. My thought process is to code for happy path, where X policy is expected for replacement and edge cases where Y policy or no policy would be used. Users can try out different policies and even act as attackers. This is also true for other things in mempool, &amp;#39;spkreuse=conflict&amp;#39; prevents address reuse in the mempool when using knots. If I assume that address reuse is always relayed, this could become a problem if some users and miners adopt this setting in their mempool.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Of course not. If you deliver any critical software, you should attach a solid manual explaining all the corner cases and rough edges. Even better would be to enshrine the manual directly in your software API to minimize the footgunish behaviors. E.g, with any ECC library, forbidding to reuse nonces. If your user still ignores or misread the manual and provides an insecure input, there is not that much you can do.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Agree with the documentation as it helps users.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Given there are like 17000 public LN nodes, if half of them adopt full-rbf it should give already a good number of full-rbf transaction-relay routes across the p2p network graph. When we&amp;#39;re there, we can measure and think more about how to tune the full-rbf sub-topology.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Sounds good.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Because it&amp;#39;s breaking the reliability and security of their use-cases. Use-cases which didn&amp;#39;t exist a few years ago. The mempool DoS vector is described here [4]. To the best of my understanding, it might affect a bunch of use-cases, such as dual-funded channels, on-chain DLCs, p2p coinjoins, batched submarine swaps out. With the attack described, the honest set of users might not have visibility of the network mempools that there is a malicious, low-cost, opt-out double-spend preventing the propagation of their multi-party transaction. With the existence of a full-rbf transaction-relay topology, the multi-party transaction is able to replace the optout.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; This makes sense and I would be interested to follow two things once full-rbf is available in a bitcoin core release: 1. Percentage of transaction getting replaced 2. Miners profit (Fee for replaced Tx - Fee for original Tx)&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Can you explain how p2p coinjoin is affected with mempool DoS vector with some examples? What is considered a p2p coinjoin? Joinmarket or [Stonewall][1]?&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Selecting a full-node to underpin any serious Bitcoin infrastructure or secure a significant stack of coins should be submitted to a fully-fledged decision-making process. Many factors are likely to matter such as the level of activity of the contributor community, the chain of trust w.r.t dependencies, the security incident track records, the quality of the documentation, the exhaustivity and robustness of the set of features, ...&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; I agree that contributor community and documentation could be improved in Knots.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Developers are also Bitcoin users, and they&amp;#39;re modifying the software to suit their use-case needs. And that&amp;#39;s exactly the purpose of the &amp;#39;full-rbf&amp;#39; PR I&amp;#39;m proposing, aiming to propose a &amp;#34;good&amp;#34; policy for a Lightning node, without actually seeking to change the default.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; I like that default still remains opt-in and cool with different policies being tried out if that helps some users.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; If they&amp;#39;re parties interested in implementing more RBF policy options in Bitcoin Core, I think they&amp;#39;re free to propose such changes and invest the engineering effort to do so. If you&amp;#39;re interested in advancing the state of policy options in Bitcoin Core, there are a lot of interesting resources available and communities to encourage you in the learning process to contribute to the codebase [6].&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Thanks for sharing the link. I would love to see 5 RBF policies available to use in bitcoin core. I have already tried experimenting with a few on regtest and will try to open pull request if there are enough people interested to test it on other chains (testnet3, signet, mainnet)&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; [1]: &lt;a href=&#34;https://docs.samourai.io/spend-tools&#34;&gt;https://docs.samourai.io/spend-tools&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; /dev/fd0&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 with Proton Mail secure email.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; ------- Original Message -------&lt;br/&gt;&amp;gt; &amp;gt; On Friday, June 17th, 2022 at 7:04 AM, Antoine Riard &amp;lt;antoine.riard at gmail.com&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; Hi alicexbt,&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; Thanks for taking time to review the pull request,&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; &amp;gt; 1)If something relies on a policy which can be changed without breaking consensus rules, how is it secure in any case with or without full rbf?&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; Your Lightning node software relies on far more software and hardware components than the transaction-relay p2p network. One could list the operating system on which is running your Lightning process or the compiler toolchain turning out your Lightning source code in a binary artifact. Some weird kernel&amp;#39;s memory mapping change could allow access to your channel funding keys, _without_ breaking the Bitcoin consensus rules [0]. Moreover, your Lightning node is also relying on the existence of a global Internet allowing your HTLC transaction to flow from your physical host to the crowd of transactions confirming in the blockchain. Due to this &amp;#34;protocol assumption&amp;#34; your channel balance would be vulnerable to any change in your ISP routing policy, e.g refusing to accept your IPV4 traffic by a sudden desiderata to impose an IPV6 supremacy. Still _without_ breaking the Bitcoin consensus rules. Of course, the odds of your ISP operator adopting this behavior are really low, mostly because your operator has to bind to social and economic constraints to stay in business.&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; And I believe this imperative to stay in business is certainly not absent in the incentives of the Bitcoin node operators. You&amp;#39;re free to run any policy on your node, especially one hardening the safety of your operations beyond the default one. However, if you start to a transaction-relay non-compatible with miner incentives, you won&amp;#39;t have an efficient view of the blockspace demand, and from then won&amp;#39;t be able to offer compelling feerates to execute your business transactions to satisfy your client needs. Or you won&amp;#39;t consolidate your wallet UTXOs at times of low-demand. Indeed, a sane visibility of the mempools might not be critical now for your Bitcoin operations, but this is not likely to become true with miner&amp;#39;s coinbase reward lowering with time and the system security relying on a fruitful fee market.&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; So assuming there is a significant number of economically rational entities running p2p nodes, I think it&amp;#39;s a reasonable assumption for Lightning developers that a policy maximizing miner&amp;#39;s income and economic nodes operations will be widely run on the p2p network, and therefore lay its security model on that. When there is a gap between the economically optimal policy (full-rbf) and the effectively deployed one (optin), and this gap constitutes a flaw for exploitation, I believe it&amp;#39;s better to fix it.&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; If you have a different mode of thinking w.r.t how we should design protocol in a trust-minimized, open, adversarial environment such as Bitcoin, I&amp;#39;m curious to listen to it.&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; &amp;gt; If I write a python script that expects user to enter char &amp;#39;a&amp;#39; or &amp;#39;b&amp;#39; but user can enter &amp;#39;c&amp;#39; and there is no code to handle exceptions or other chars, will it be secure?&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; Of course not. If you deliver any critical software, you should attach a solid manual explaining all the corner cases and rough edges. Even better would be to enshrine the manual directly in your software API to minimize the footgunish behaviors. E.g, with any ECC library, forbidding to reuse nonces. If your user still ignores or misread the manual and provides an insecure input, there is not that much you can do.&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; By analogy, I believe that&amp;#39;s the same with Lightning. One recommendation of the deployment manual would be to be always connected to a full-rbf transaction-relay topology. Defaulting to this rule and your node exposes far more surface of attacks. Assuming the manual has been well-written (big assumption!), I don&amp;#39;t think the system designer would be to blame.&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; That said, one issue to confess with current Lightning is our lack of understanding of what should be figured out in the LN user manual for safe operations. I would say that&amp;#39;s an active area of research [1] [2] [3]&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; &amp;gt; 2)full-rbf is not default in the 2 open pull requests, so this experiment still relies on users changing RBF policies manually. If majority of nodes use default opt-in policy, how would this affect vulnerable projects?&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; If we define the goal as ensuring there is a significant number of transaction-relay routes between the L2s nodes requiring full-rbf and the set of miners supporting this policy, and the set of miners is populated enough, there is no need to convince the majority of nodes operators to switch to full-rbf.&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; Beyond landing the &amp;#39;full-rbf&amp;#39; pull request, in pursuit of a partial full-rbf deployment, I&amp;#39;m thinking of reaching out to Lightning vendors to recommend running LN nodes operators run their full-node with the setting enabled. And also to few mining pool operators to advocate the potential increase in their income.&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; Given there are like 17000 public LN nodes, if half of them adopt full-rbf it should give already a good number of full-rbf transaction-relay routes across the p2p network graph. When we&amp;#39;re there, we can measure and think more about how to tune the full-rbf sub-topology.&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; &amp;gt; 2-3% transactions are replaced with opt-in RBF, if someone did not replace earlier why would they do it with full RBF?&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; Because it&amp;#39;s breaking the reliability and security of their use-cases. Use-cases which didn&amp;#39;t exist a few years ago. The mempool DoS vector is described here [4]. To the best of my understanding, it might affect a bunch of use-cases, such as dual-funded channels, on-chain DLCs, p2p coinjoins, batched submarine swaps out. With the attack described, the honest set of users might not have visibility of the network mempools that there is a malicious, low-cost, opt-out double-spend preventing the propagation of their multi-party transaction. With the existence of a full-rbf transaction-relay topology, the multi-party transaction is able to replace the optout.&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; None of those use-cases were deployed a few years ago, and the understanding of the interactions with the mempool policy is still nascent among their operators. However, if we assume that layering is a way to grow the Bitcoin ecosystem, as I do, it is reasonable to expect they will constitute a notable share of the Bitcoin transaction traffic during the next decade.&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; &amp;gt; I am not opposed to full-rbf; rather, I am opposed to the notion that full-rbf will solve all problems&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; I wished we had a magic Silver Bullet (tm) solving all the Bitcoin problems...&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; I&amp;#39;m only advocating a partial full-rbf deployment to solve a real precise security issue affecting multi-party funded transactions. That said, full-rbf is far from solving the known set of problems affecting the L2s due to interactions with network mempools. E,g, see package relay motivation [5]&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; I would suggest users to try Bitcoin Knots instead which already has an option to disable all RBF policies if required, opt-in and full RBF policy.&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; Selecting a full-node to underpin any serious Bitcoin infrastructure or secure a significant stack of coins should be submitted to a fully-fledged decision-making process. Many factors are likely to matter such as the level of activity of the contributor community, the chain of trust w.r.t dependencies, the security incident track records, the quality of the documentation, the exhaustivity and robustness of the set of features, ...&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; This process might take tens of hours, to be duplicated by the number of node operators who would have to do the full-node vending switch. If you consider the cognitive cost at the level of the Bitcoin ecosystem, it&amp;#39;s far less costly to implement and review a few lines of codes in Bitcoin Core.&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; &amp;gt; Developers should provide basic RBF policy options rather than attempting to define what constitutes a good policy and removing the ability to disable something when necessary.&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; Of course, this statement assumes there is a clear line between the developers and the users. Developers are also Bitcoin users, and they&amp;#39;re modifying the software to suit their use-case needs. And that&amp;#39;s exactly the purpose of the &amp;#39;full-rbf&amp;#39; PR I&amp;#39;m proposing, aiming to propose a &amp;#34;good&amp;#34; policy for a Lightning node, without actually seeking to change the default. If they&amp;#39;re parties interested in implementing more RBF policy options in Bitcoin Core, I think they&amp;#39;re free to propose such changes and invest the engineering effort to do so. If you&amp;#39;re interested in advancing the state of policy options in Bitcoin Core, there are a lot of interesting resources available and communities to encourage you in the learning process to contribute to the codebase [6].&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; Antoine&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; [0] &lt;a href=&#34;https://dirtycow.ninja&#34;&gt;https://dirtycow.ninja&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; [1] &lt;a href=&#34;https://github.com/t-bast/lightning-docs/blob/master/pinning-attacks.md&#34;&gt;https://github.com/t-bast/lightning-docs/blob/master/pinning-attacks.md&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; [2] &lt;a href=&#34;https://arxiv.org/pdf/2006.01418.pdf&#34;&gt;https://arxiv.org/pdf/2006.01418.pdf&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; [3] &lt;a href=&#34;https://arxiv.org/pdf/2006.08513.pdf&#34;&gt;https://arxiv.org/pdf/2006.08513.pdf&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; [4] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/lightning-dev/2021-May/003033.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/lightning-dev/2021-May/003033.html&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; [5] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-May/020493.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-May/020493.html&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; [6] &lt;a href=&#34;https://www.summerofbitcoin.org&#34;&gt;https://www.summerofbitcoin.org&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; Le jeu. 16 juin 2022 à 00:15, alicexbt &amp;lt;alicexbt at protonmail.com&amp;gt; a écrit :&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Hi Antoine,&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; Thanks for opening the pull request to add support for full-rbf in Bitcoin Core. I have a disagreements with the approach and questions.&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; &amp;gt; Recent discussions among LN devs have brought back on the surface concerns about the security of multi-party funded transactions (coinjoins, dual-funded LN channels, on-chain DLCs, ...). It turns out there is a low-fruit, naive DoS vector playable against the funding flow of any such construction due to the lack of existent full-rbf transaction-relay topology on today&amp;#39;s p2p network [0] [1].&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; 1)If something relies on a policy which can be changed without breaking consensus rules, how is it secure in any case with or without full rbf? If I write a python script that expects user to enter char &amp;#39;a&amp;#39; or &amp;#39;b&amp;#39; but user can enter &amp;#39;c&amp;#39; and there is no code to handle exceptions or other chars, will it be secure?&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; 2)full-rbf is not default in the 2 open pull requests, so this experiment still relies on users changing RBF policies manually. If majority of nodes use default opt-in policy, how would this affect vulnerable projects?&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; &amp;gt; If you&amp;#39;re a mining operator looking to increase your income, you might be interested to experiment with full-rbf as a policy.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Miners can only increase their income if users replace transactions. 2-3% transactions are replaced with opt-in RBF, if someone did not replace earlier why would they do it now even with full RBF? Or even if we add some users in it who could not signal for some reasons, do you think it would be anything above 5%?&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; &amp;gt; If you&amp;#39;re a Bitcoin user or business and you don&amp;#39;t like full-rbf, please express an opinion on how it might affect your software/operations. I&amp;#39;m always interested to learn more about mempool and transaction-relay interactions with upper-layers and applications and to listen to feedback in those areas, and I guess a lot of other Bitcoin researchers/devs too. I know there have been a lot of concerns about full-rbf in the past, however I believe the Bitcoin ecosystem has matured a lot since then.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; I am not opposed to full-rbf; rather, I am opposed to the notion that full-rbf will solve all problems and the lack of basic options in Bitcoin Core to employ/disable different RBF policies. There is also a speculation about making full RBF default in an year which isn&amp;#39;t relevant to discuss at this point without trying different RBF policies.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; I would suggest users to try Bitcoin Knots instead which already has an option to disable all RBF policies if required, opt-in and full RBF policy. This can also be done using GUI if not familiar with config option `mempoolreplacement`.&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; The rationale in PR #16171 was insufficient to justify removing it in the first place, had 2 NACKs and was reopened to merge it. Why bother with a few lines of code that may allow someone disable it if required in local mempool since it&amp;#39;s only useful when a big percentage of miners utilize it and essentially underused according to the PR author? Developers should provide basic RBF policy options rather than attempting to define what constitutes a good policy and removing the ability to disable something when necessary.&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; /dev/fd0&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; Sent with Proton Mail secure email.&lt;br/&gt;&amp;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; On Tuesday, June 14th, 2022 at 5:55 AM, Antoine Riard via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; Hi list,&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; Recent discussions among LN devs have brought back on the surface concerns about the security of multi-party funded transactions (coinjoins, dual-funded LN channels, on-chain DLCs, ...). It turns out there is a low-fruit, naive DoS vector playable against the funding flow of any such construction due to the lack of existent full-rbf transaction-relay topology on today&amp;#39;s p2p network [0] [1]. While it does not consist in a direct loss of funds, if exploited well I think it&amp;#39;s annoying enough to inflict significant timevalue loss or fee-bumping waste&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; to the future providers or distributed swarm of users doing multi-party funded transactions. Of course, it can be fixed one layer above by introducing either fidelity bonds or a reliable centralized coordinator, though at the price of an overhead per-participant ressources cost and loss in system openness [1].&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; For that reason, I believe it would be beneficial to the flourishing of multi-party funded transactions to fix the Dos vector by seeing a subset of the network running full-rbf and enabling propagation of honest multi-party transactions to the interested miners, replacing potential non-signaling double-spend from a malicious counterparty. Moving towards that direction, I&amp;#39;ve submitted a small patch against Bitcoin Core enabling it to turn on full-rbf as a policy, still under review [3]. The default setting stays **false**, i.e keeping opt-in RBF as a default replacement policy. I&amp;#39;ve started to run the patch on a public node at 146.190.224.15.&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 a node operator curious to play with full-rbf, feel free to connect to this node or spawn up a toy, public node yourself. There is a ##uafrbf libera chat if you would like information on the settings or looking for full-rbf friends (though that step could be automated in the future by setting up a dedicated network bit and reserving a few outbound slots for them).&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; If you&amp;#39;re a mining operator looking to increase your income, you might be interested to experiment with full-rbf as a policy. Indeed, in the future I believe the multi-party transactions issuers who need full-rbf to secure their funding flow should connect by default to full-rbf peers. One can conjecture that their transactions are likely to be more compelling in their feerate as their liquidity needs are higher than the simple transaction. For today, I think we have really few standards and bitcoin softwares relying on multi-party funded transactions [4].&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 a Bitcoin user or business and you don&amp;#39;t like full-rbf, please express an opinion on how it might affect your software/operations. I&amp;#39;m always interested to learn more about mempool and transaction-relay interactions with upper-layers and applications and to listen to feedback in those areas, and I guess a lot of other Bitcoin researchers/devs too. I know there have been a lot of concerns about full-rbf in the past, however I believe the Bitcoin ecosystem has matured a lot since then.&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; Any mistakes or missing context is my own.&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; Antoine&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; [0] For more info about replace-by-fee, see &lt;a href=&#34;https://bitcoinops.org/en/topics/replace-by-fee/&#34;&gt;https://bitcoinops.org/en/topics/replace-by-fee/&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; [1] For more details about the DoS vector, see &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/lightning-dev/2021-May/003033.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/lightning-dev/2021-May/003033.html&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; [2] E.g I think it does not affect the Lightning Pool service, as there is a preliminary step where the participant funds are locked first in a 2-of-2 with the coordinator before being committed in the multi-party batch transaction.&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; [3] &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/25353&#34;&gt;https://github.com/bitcoin/bitcoin/pull/25353&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; [4] E.g DLCs : &lt;a href=&#34;https://github.com/discreetlogcontracts/dlcspecs/blob/master/Transactions.md&#34;&gt;https://github.com/discreetlogcontracts/dlcspecs/blob/master/Transactions.md&lt;/a&gt; ; Lightning dual-funded channel : &lt;a href=&#34;https://github.com/lightning/bolts/pull/851&#34;&gt;https://github.com/lightning/bolts/pull/851&lt;/a&gt;
    </content>
    <updated>2023-06-08T01:10:35&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0t3err78gxgjgx2w7znhg67fcexgzv86vtv7lt9rawgzdzu8qhvszyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkv4gugq3</id>
    
      <title type="html">📅 Original date posted:2022-06-17 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0t3err78gxgjgx2w7znhg67fcexgzv86vtv7lt9rawgzdzu8qhvszyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkv4gugq3" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrz2ncljmjac52g9d50quu9t97dh05uqkhk0rdmenz64dr962fprq3zexv0&#39;&gt;nevent1q…exv0&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-06-17&lt;br/&gt;📝 Original message:Hi Antoine,&lt;br/&gt;&lt;br/&gt;&amp;gt; One could list the operating system on which is running your Lightning process or the compiler toolchain turning outyour Lightning source code in a binary artifact. Some weird kernel&amp;#39;s memory mapping change could allow access toyour channel funding keys, _without_ breaking the Bitcoin consensus rules [0].&lt;br/&gt;&lt;br/&gt;Lets consider there are 2 users with name Bob (normal LN user) and Carol (attacker running LN node) which I will use in this email for examples. In this case Bob and Carol can manage security of their OS and it is not affected by others using vulnerable systems or OS.&lt;br/&gt;&lt;br/&gt;&amp;gt; Moreover, your Lightning node is alsorelying on the existence of a global Internet allowing your HTLC transaction to flow from your physical hostto the crowd of transactions confirming in the blockchain. Due to this &amp;#34;protocol assumption&amp;#34; your channel balancewould be vulnerable to any change in your ISP routing policy, e.g refusing to accept your IPV4 traffic by a suddendesiderata to impose an IPV6 supremacy. Still _without_ breaking the Bitcoin consensus rules. Of course, the odds ofyour ISP operator adopting this behavior are really low, mostly because your operator has to bind to social andeconomic constraints to stay in business.&lt;br/&gt;&lt;br/&gt;The odds are low as you said, this can be managed by Bob and Carol because they can use a better ISP. Others using ISP with some issues may not affect their LN usage.&lt;br/&gt;&lt;br/&gt;&amp;gt; And I believe this imperative to stay in business is certainly not absent in the incentives of the Bitcoin nodeoperators. You&amp;#39;re free to run any policy on your node, especially one hardening the safety of your operationsbeyond the default one. However, if you start to a transaction-relay non-compatible with miner incentives, youwon&amp;#39;t have an efficient view of the blockspace demand, and from then won&amp;#39;t be able to offer compelling feeratesto execute your business transactions to satisfy your client needs. Or you won&amp;#39;t consolidate yourwallet UTXOs attimesof low-demand. Indeed, a sane visibility of the mempools might not be critical now foryour Bitcoin operations, but this is not likely to become true with miner&amp;#39;s coinbase reward lowering with timeand the system securityrelyingon a fruitful fee market.&lt;br/&gt;&lt;br/&gt;Bob might use full-rbf as its suggested by LN developers for secure LN usage and better for miners. Carol could use a different RBF policy for some nodes and mining. In this case Bob may get affected at some point because of Carol&amp;#39;s choice to use a different RBF policy which was not true above.&lt;br/&gt;&lt;br/&gt;&amp;gt; So assuming there is a significant number of economically rational entities running p2p nodes, I think it&amp;#39;s areasonable assumption for Lightning developers that a policy maximizing miner&amp;#39;s income and economic nodesoperations will be widely run on the p2p network, and therefore lay its security model on that. When there is agap between the economically optimal policy (full-rbf) and the effectively deployed one (optin), and this gapconstitutes a flaw for exploitation, I believe it&amp;#39;s better to fix it.&lt;br/&gt;&lt;br/&gt;Agree with the assumption there is nothing wrong in experimenting with a new RBF policy (non-default) if that helps some users and projects.&lt;br/&gt;&lt;br/&gt;&amp;gt; If you have a different mode of thinking w.r.t how we should design protocol in a trust-minimized, open,adversarialenvironment such as Bitcoin, I&amp;#39;m curious to listen to it.&lt;br/&gt;&lt;br/&gt;Allowing users to create different mempool policies is great. My thought process is to code for happy path, where X policy is expected for replacement and edge cases where Y policy or no policy would be used. Users can try out different policies and even act as attackers. This is also true for other things in mempool, &amp;#39;spkreuse=conflict&amp;#39; prevents address reuse in the mempool when using knots. If I assume that address reuse is always relayed, this could become a problem if some users and miners adopt this setting in their mempool.&lt;br/&gt;&lt;br/&gt;&amp;gt; Of course not. If you deliver any critical software, you should attach a solid manual explaining all thecorner cases and rough edges. Even better would be to enshrine the manual directly in your software APIto minimize the footgunish behaviors. E.g, with any ECC library, forbidding to reuse nonces. If youruserstill ignores or misread the manual and provides an insecure input, there isnot thatmuch you can do.&lt;br/&gt;&lt;br/&gt;Agree with the documentation as it helps users.&lt;br/&gt;&lt;br/&gt;&amp;gt; Given there are like 17000 public LN nodes, if half of them adopt full-rbf it should givealready a good number of full-rbf transaction-relay routes across the p2p network graph.When we&amp;#39;re there, we can measure and think more about how to tune the full-rbf sub-topology.&lt;br/&gt;&lt;br/&gt;Sounds good.&lt;br/&gt;&lt;br/&gt;&amp;gt; Because it&amp;#39;s breaking the reliability and security of their use-cases. Use-cases which didn&amp;#39;t exista few years ago. The mempool DoS vector is described here [4]. To the best of my understanding, it mightaffect a bunch of use-cases, such as dual-funded channels, on-chain DLCs, p2pcoinjoins, batched submarineswaps out. With the attack described, the honest set of users might not have visibility of the networkmempools that there is a malicious, low-cost, opt-out double-spend preventing the propagation of their multi-partytransaction. With the existence of a full-rbf transaction-relay topology, the multi-party transactionis able to replace theoptout.&lt;br/&gt;&lt;br/&gt;This makes sense and I would be interested to follow two things once full-rbf is available in a bitcoin core release: 1. Percentage of transaction getting replaced 2. Miners profit (Fee for replaced Tx - Fee for original Tx)&lt;br/&gt;&lt;br/&gt;Can you explain how p2p coinjoin is affected with mempool DoS vector with some examples? What is considered a p2p coinjoin? Joinmarket or [Stonewall][1]?&lt;br/&gt;&lt;br/&gt;&amp;gt; Selecting a full-node to underpin any serious Bitcoin infrastructure or secure a significant stack of coinsshould be submitted to a fully-fledged decision-making process. Many factors are likely tomattersuch asthe level of activity of the contributor community, the chain of trust w.r.t dependencies, the security incident track records, the quality of the documentation, the exhaustivity and robustness of the set of features, ...&lt;br/&gt;&lt;br/&gt;I agree that contributor community and documentation could be improved in Knots.&lt;br/&gt;&lt;br/&gt;&amp;gt; Developersare also Bitcoin users, and they&amp;#39;re modifying the software to suit their use-case needs. And that&amp;#39;s exactlythe purpose of the &amp;#39;full-rbf&amp;#39; PR I&amp;#39;m proposing, aiming to propose a &amp;#34;good&amp;#34; policy for a Lightning node, without actually seeking to change the default.&lt;br/&gt;&lt;br/&gt;I like that default still remains opt-in and cool with different policies being tried out if that helps some users.&lt;br/&gt;&lt;br/&gt;&amp;gt; If they&amp;#39;reparties interested in implementing more RBF policy options in Bitcoin Core, I think they&amp;#39;re free to propose suchchanges and invest the engineering effort to do so. If you&amp;#39;re interested in advancing the state ofpolicy options in Bitcoin Core, there are a lot of interestingresourcesavailable and communities toencourage you in the learning process to contribute to the codebase [6].&lt;br/&gt;&lt;br/&gt;Thanks for sharing the link. I would love to see 5 RBF policies available to use in bitcoin core. I have already tried experimenting with a few on regtest and will try to open pull request if there are enough people interested to test it on other chains (testnet3, signet, mainnet)&lt;br/&gt;&lt;br/&gt;[1]: &lt;a href=&#34;https://docs.samourai.io/spend-tools&#34;&gt;https://docs.samourai.io/spend-tools&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;&lt;br/&gt;Sent with [Proton Mail](&lt;a href=&#34;https://proton.me/&#34;&gt;https://proton.me/&lt;/a&gt;) secure email.&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Friday, June 17th, 2022 at 7:04 AM, Antoine Riard &amp;lt;antoine.riard at gmail.com&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Hi alicexbt,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Thanks for taking time to review the pull request,&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; 1)If something relies on a policy which can be changed without breaking consensus rules, how is it secure in any case with or without full rbf?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Your Lightning node software relies on far more software and hardware components than the transaction-relay p2p network. One could list the operating system on which is running your Lightning process or the compiler toolchain turning out your Lightning source code in a binary artifact. Some weird kernel&amp;#39;s memory mapping change could allow access to your channel funding keys, _without_ breaking the Bitcoin consensus rules [0]. Moreover, your Lightning node is also relying on the existence of a global Internet allowing your HTLC transaction to flow from your physical host to the crowd of transactions confirming in the blockchain. Due to this &amp;#34;protocol assumption&amp;#34; your channel balance would be vulnerable to any change in your ISP routing policy, e.g refusing to accept your IPV4 traffic by a sudden desiderata to impose an IPV6 supremacy. Still _without_ breaking the Bitcoin consensus rules. Of course, the odds of your ISP operator adopting this behavior are really low, mostly because your operator has to bind to social and economic constraints to stay in business.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; And I believe this imperative to stay in business is certainly not absent in the incentives of the Bitcoin node operators. You&amp;#39;re free to run any policy on your node, especially one hardening the safety of your operationsbeyond the default one. However, if you start to a transaction-relay non-compatible with miner incentives, you won&amp;#39;t have an efficient view of the blockspace demand, and from then won&amp;#39;t be able to offer compelling feerates to execute your business transactions to satisfy your client needs. Or you won&amp;#39;t consolidate your wallet UTXOs at times of low-demand. Indeed, a sane visibility of the mempools might not be critical now for your Bitcoin operations, but this is not likely to become true with miner&amp;#39;s coinbase reward lowering with time and the system security relying on a fruitful fee market.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; So assuming there is a significant number of economically rational entities running p2p nodes, I think it&amp;#39;s a reasonable assumption for Lightning developers that a policy maximizing miner&amp;#39;s income and economic nodes operations will be widely run on the p2p network, and therefore lay its security model on that. When there is a gap between the economically optimal policy (full-rbf) and the effectively deployed one (optin), and this gap constitutes a flaw for exploitation, I believe it&amp;#39;s better to fix it.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If you have a different mode of thinking w.r.t how we should design protocol in a trust-minimized, open, adversarialenvironment such as Bitcoin, I&amp;#39;m curious to listen to it.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; If I write a python script that expects user to enter char &amp;#39;a&amp;#39; or &amp;#39;b&amp;#39; but user can enter &amp;#39;c&amp;#39; and there is no code to handle exceptions or other chars, will it be secure?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Of course not. If you deliver any critical software, you should attach a solid manual explaining all the corner cases and rough edges. Even better would be to enshrine the manual directly in your software API to minimize the footgunish behaviors. E.g, with any ECC library, forbidding to reuse nonces. If your user still ignores or misread the manual and provides an insecure input, there is not that much you can do.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; By analogy, I believe that&amp;#39;s the same with Lightning. One recommendation of the deployment manual would be to be always connected to a full-rbf transaction-relay topology. Defaulting to this rule and your node exposes far more surface of attacks. Assuming the manual has been well-written (big assumption!), I don&amp;#39;t think the system designer would be to blame.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; That said, one issue to confess with current Lightning is our lack of understanding of what should be figured out in the LN user manual for safe operations. I would say that&amp;#39;s an active area of research [1] [2] [3]&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; 2)full-rbf is not default in the 2 open pull requests, so this experiment still relies on users changing RBF policies manually. If majority of nodes use default opt-in policy, how would this affect vulnerable projects?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; If we define the goal as ensuring there is a significant number of transaction-relay routes between the L2s nodes requiring full-rbf and the set of miners supporting this policy, and the set of miners is populated enough, there is no need to convince the majority of nodes operators to switch to full-rbf.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Beyond landing the &amp;#39;full-rbf&amp;#39; pull request, in pursuit of a partial full-rbf deployment, I&amp;#39;m thinking of reaching out to Lightning vendors to recommend running LN nodes operatorsrun their full-node with the setting enabled. And also to few mining pool operators to advocate the potential increase in their income.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Given there are like 17000 public LN nodes, if half of them adopt full-rbf it should give already a good number of full-rbf transaction-relay routes across the p2p network graph. When we&amp;#39;re there, we can measure and think more about how to tune the full-rbf sub-topology.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; 2-3% transactions are replaced with opt-in RBF, if someone did not replace earlier why would they do it with full RBF?&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Because it&amp;#39;s breaking the reliability and security of their use-cases. Use-cases which didn&amp;#39;t exist a few years ago. The mempool DoS vector is described here [4]. To the best of my understanding, it might affect a bunch of use-cases, such as dual-funded channels, on-chain DLCs, p2p coinjoins, batched submarine swaps out. With the attack described, the honest set of users might not have visibility of the network mempools that there is a malicious, low-cost, opt-out double-spend preventing the propagation of their multi-party transaction. With the existence of a full-rbf transaction-relay topology, the multi-party transaction is able to replace the optout.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; None of those use-cases were deployed a few years ago, and the understanding of the interactions with the mempool policy is still nascent among their operators. However, if we assume that layering is a way to grow the Bitcoin ecosystem, as I do, it is reasonable to expect they will constitute a notable share of the Bitcoin transaction traffic during the next decade.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I am not opposed to full-rbf; rather, I am opposed to the notion that full-rbf will solve all problems&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I wished we had a magic Silver Bullet (tm) solving all the Bitcoin problems...&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; I&amp;#39;m only advocating a partial full-rbf deployment to solve a real precise security issue affecting multi-party funded transactions. That said, full-rbf is far from solving the known set of problems affecting the L2s due to interactions with network mempools. E,g, see package relay motivation [5]&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I would suggest users to try Bitcoin Knots instead which already has an option to disable all RBF policies if required, opt-in and full RBF policy.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Selecting a full-node to underpin any serious Bitcoin infrastructure or secure a significant stack of coins should be submitted to a fully-fledged decision-making process. Many factors are likely to matter such as the level of activity of the contributor community, the chain of trust w.r.t dependencies, the security incident track records, the quality of the documentation, the exhaustivity and robustness of the set of features, ...&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; This process might take tens of hours, to be duplicated by the number of node operators who would have to do the full-node vending switch. If you consider the cognitive cost at the level of the Bitcoin ecosystem, it&amp;#39;s far less costly to implement and review a few lines of codes in Bitcoin Core.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Developers should provide basic RBF policy options rather than attempting to define what constitutes a good policy and removing the ability to disable something when necessary.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Of course, this statement assumes there is a clear line between the developers and the users. Developers are also Bitcoin users, and they&amp;#39;re modifying the software to suit their use-case needs. And that&amp;#39;s exactly the purpose of the &amp;#39;full-rbf&amp;#39; PR I&amp;#39;m proposing, aiming to propose a &amp;#34;good&amp;#34; policy for a Lightning node, without actually seeking to change the default. If they&amp;#39;re parties interested in implementing more RBF policy options in Bitcoin Core, I think they&amp;#39;re free to propose such changes and invest the engineering effort to do so. If you&amp;#39;re interested in advancing the state of policy options in Bitcoin Core, there are a lot of interesting resources available and communities to encourage you in the learning process to contribute to the codebase [6].&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Antoine&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [0] &lt;a href=&#34;https://dirtycow.ninja&#34;&gt;https://dirtycow.ninja&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [1] &lt;a href=&#34;https://github.com/t-bast/lightning-docs/blob/master/pinning-attacks.md&#34;&gt;https://github.com/t-bast/lightning-docs/blob/master/pinning-attacks.md&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [2] &lt;a href=&#34;https://arxiv.org/pdf/2006.01418.pdf&#34;&gt;https://arxiv.org/pdf/2006.01418.pdf&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [3] &lt;a href=&#34;https://arxiv.org/pdf/2006.08513.pdf&#34;&gt;https://arxiv.org/pdf/2006.08513.pdf&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [4] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/lightning-dev/2021-May/003033.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/lightning-dev/2021-May/003033.html&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [5] &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-May/020493.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-May/020493.html&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; [6] &lt;a href=&#34;https://www.summerofbitcoin.org&#34;&gt;https://www.summerofbitcoin.org&lt;/a&gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Le jeu. 16 juin 2022 à 00:15, alicexbt &amp;lt;alicexbt at protonmail.com&amp;gt; a écrit :&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Hi Antoine,&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Thanks for opening the pull request to add support for full-rbf in Bitcoin Core. I have a disagreements with the approach and questions.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Recent discussions among LN devs have brought back on the surface concerns about the security of multi-party funded transactions (coinjoins, dual-funded LN channels, on-chain DLCs, ...). It turns out there is a low-fruit, naive DoS vector playable against the funding flow of any such construction due to the lack of existent full-rbf transaction-relay topology on today&amp;#39;s p2p network [0] [1].&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; 1)If something relies on a policy which can be changed without breaking consensus rules, how is it secure in any case with or without full rbf? If I write a python script that expects user to enter char &amp;#39;a&amp;#39; or &amp;#39;b&amp;#39; but user can enter &amp;#39;c&amp;#39; and there is no code to handle exceptions or other chars, will it be secure?&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; 2)full-rbf is not default in the 2 open pull requests, so this experiment still relies on users changing RBF policies manually. If majority of nodes use default opt-in policy, how would this affect vulnerable projects?&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; If you&amp;#39;re a mining operator looking to increase your income, you might be interested to experiment with full-rbf as a policy.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Miners can only increase their income if users replace transactions. 2-3% transactions are replaced with opt-in RBF, if someone did not replace earlier why would they do it now even with full RBF? Or even if we add some users in it who could not signal for some reasons, do you think it would be anything above 5%?&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; If you&amp;#39;re a Bitcoin user or business and you don&amp;#39;t like full-rbf, please express an opinion on how it might affect your software/operations. I&amp;#39;m always interested to learn more about mempool and transaction-relay interactions with upper-layers and applications and to listen to feedback in those areas, and I guess a lot of other Bitcoin researchers/devs too. I know there have been a lot of concerns about full-rbf in the past, however I believe the Bitcoin ecosystem has matured a lot since then.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I am not opposed to full-rbf; rather, I am opposed to the notion that full-rbf will solve all problems and the lack of basic options in Bitcoin Core to employ/disable different RBF policies. There is also a speculation about making full RBF default in an year which isn&amp;#39;t relevant to discuss at this point without trying different RBF policies.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I would suggest users to try Bitcoin Knots instead which already has an option to disable all RBF policies if required, opt-in and full RBF policy. This can also be done using GUI if not familiar with config option mempoolreplacement​.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; The rationale in PR #16171 was insufficient to justify removing it in the first place, had 2 NACKs and was reopened to merge it. Why bother with a few lines of code that may allow someone disable it if required in local mempool since it&amp;#39;s only useful when a big percentage of miners utilize it and essentially underused according to the PR author? Developers should provide basic RBF policy options rather than attempting to define what constitutes a good policy and removing the ability to disable something when necessary.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; /dev/fd0&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Sent with [Proton Mail](&lt;a href=&#34;https://proton.me/&#34;&gt;https://proton.me/&lt;/a&gt;) secure email.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; ------- Original Message -------&lt;br/&gt;&amp;gt;&amp;gt; On Tuesday, June 14th, 2022 at 5:55 AM, Antoine Riard via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Hi list,&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Recent discussions among LN devs have brought back on the surface concerns about the security of multi-party funded transactions (coinjoins, dual-funded LN channels, on-chain DLCs, ...). It turns out there is a low-fruit, naive DoS vector playable against the funding flow of any such construction due to the lack of existent full-rbf transaction-relay topology on today&amp;#39;s p2p network [0] [1]. While it does not consist in a direct loss of funds, if exploited well I think it&amp;#39;s annoying enough to inflict significant timevalue loss or fee-bumping waste&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; to the future providers or distributed swarm of users doing multi-party funded transactions. Of course, it can be fixed one layer above by introducing either fidelity bonds or a reliable centralized coordinator, though at the price of an overhead per-participant ressources cost and loss in system openness [1].&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; For that reason, I believe it would be beneficial to the flourishing of multi-party funded transactions to fix the Dos vector by seeing a subset of the network running full-rbf and enabling propagation of honest multi-party transactions to the interested miners, replacing potential non-signaling double-spend from a malicious counterparty. Moving towards that direction, I&amp;#39;ve submitted a small patch against Bitcoin Core enabling it to turn on full-rbf as a policy, still under review [3]. The default setting stays **false**, i.e keeping opt-in RBF as a default replacement policy. I&amp;#39;ve started to run the patch on a public node at 146.190.224.15.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; If you&amp;#39;re a node operator curious to play with full-rbf, feel free to connect to this node or spawn up a toy, public node yourself. There is a ##uafrbf libera chat if you would like information on the settings or looking for full-rbf friends (though that step could be automated in the future by setting up a dedicated network bit and reserving a few outbound slots for them).&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; If you&amp;#39;re a mining operator looking to increase your income, you might be interested to experiment with full-rbf as a policy. Indeed, in the future I believe the multi-party transactions issuers who need full-rbf to secure their funding flow should connect by default to full-rbf peers. One can conjecture that their transactions are likely to be more compelling in their feerate as their liquidity needs are higher than the simple transaction. For today, I think we have really few standards and bitcoin softwares relying on multi-party funded transactions [4].&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; If you&amp;#39;re a Bitcoin user or business and you don&amp;#39;t like full-rbf, please express an opinion on how it might affect your software/operations. I&amp;#39;m always interested to learn more about mempool and transaction-relay interactions with upper-layers and applications and to listen to feedback in those areas, and I guess a lot of other Bitcoin researchers/devs too. I know there have been a lot of concerns about full-rbf in the past, however I believe the Bitcoin ecosystem has matured a lot since then.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; Any mistakes or missing context is my own.&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; Antoine&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [0] For more info about replace-by-fee, see &lt;a href=&#34;https://bitcoinops.org/en/topics/replace-by-fee/&#34;&gt;https://bitcoinops.org/en/topics/replace-by-fee/&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [1] For more details about the DoS vector, see &lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/lightning-dev/2021-May/003033.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/lightning-dev/2021-May/003033.html&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [2] E.g I think it does not affect the Lightning Pool service, as there is a preliminary step where the participant funds are locked first in a 2-of-2 with the coordinator before being committed in the multi-party batch transaction.&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [3] &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/25353&#34;&gt;https://github.com/bitcoin/bitcoin/pull/25353&lt;/a&gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [4] E.g DLCs : &lt;a href=&#34;https://github.com/discreetlogcontracts/dlcspecs/blob/master/Transactions.md&#34;&gt;https://github.com/discreetlogcontracts/dlcspecs/blob/master/Transactions.md&lt;/a&gt; ; Lightning dual-funded channel : &lt;a href=&#34;https://github.com/lightning/bolts/pull/851&#34;&gt;https://github.com/lightning/bolts/pull/851&lt;/a&gt;&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220617/3e36bd4e/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220617/3e36bd4e/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:10:33&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8lgxwy456vtfnmn5lts7dcx8svaj9plw89lawxcwjz4w457tc3xczyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvsnqk64</id>
    
      <title type="html">📅 Original date posted:2022-06-16 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8lgxwy456vtfnmn5lts7dcx8svaj9plw89lawxcwjz4w457tc3xczyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvsnqk64" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0zm9amueka5lehgdnu32503w832vlnknzlc4u9408fezun2sjgqcvdkqv8&#39;&gt;nevent1q…kqv8&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-06-16&lt;br/&gt;📝 Original message:Hi cndm1,&lt;br/&gt;&lt;br/&gt;&amp;gt; If you see a &amp;#34;lack of basic options&amp;#34; and no one has opened a pull request for it, it may be for two reasons.&lt;br/&gt;&lt;br/&gt;The basic option to disable all RBF policies in a node&amp;#39;s mempool if required was removed in [PR #16171][1]. No one has opened a pull request to revert this because most of the maintainers and a few reviewers agreed with this change. It wasn&amp;#39;t required, PR had weak rationale, 2 NACKS and was reopened to merge because some reviewers/maintainers believe its a policy that cannot be maintained. One of the reviewers who NACKed it already maintains the config option to disable all RBF policies in Bitcoin Knots which is a derivative of Bitcoin Core.&lt;br/&gt;&lt;br/&gt;&amp;gt; However, repeatedly demanding others to do it for you is not helpful in open source software development.&lt;br/&gt;&lt;br/&gt;I am not demanding anyone to add a few lines of code and open a pull request. I am _reviewing_ a pull request in an open source project and sharing my feedback. Even Antoine and Luke agreed to add it if other reviewers have no issues or I can do it. This option in context with another being added for a new RBF policy was being discussed in [PR #25353][2] and my earlier emails in this thread.&lt;br/&gt;&lt;br/&gt;Other &amp;#39;basic options&amp;#39; will be easier to accommodate with `-mempoolreplacement` used in [PR #25373] which is unlikely to be merged.&lt;br/&gt;&lt;br/&gt;[1]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/16171&#34;&gt;https://github.com/bitcoin/bitcoin/pull/16171&lt;/a&gt;&lt;br/&gt;[2]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/25353&#34;&gt;https://github.com/bitcoin/bitcoin/pull/25353&lt;/a&gt;&lt;br/&gt;[3]: &lt;a href=&#34;https://github.com/bitcoin/bitcoin/pull/25373&#34;&gt;https://github.com/bitcoin/bitcoin/pull/25373&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;&lt;br/&gt;Sent with Proton Mail secure email.&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Thursday, June 16th, 2022 at 11:13 AM, linuxfoundation.cndm1--- via bitcoin-dev bitcoin-dev at lists.linuxfoundation.org wrote:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; alicexbt wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; I do not have issues with multiple RBF policies being tried out and full-rbf being one of them. My disagreements are with rationale, lack of basic options in Bitcoin Core to employ/disable different RBF policies and a few arguments made in support for full-rbf. Whether it appears strawman or offtopic on github, there should be a place to share these disagreements.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Bitcoin Core is open source software, where developers open pull&lt;br/&gt;&amp;gt; requests to try to get them merged after review. If you see a &amp;#34;lack of&lt;br/&gt;&amp;gt; basic options&amp;#34; and no one has opened a pull request for it, it may be&lt;br/&gt;&amp;gt; for two reasons. First, it could be that it just doesn&amp;#39;t make sense,&lt;br/&gt;&amp;gt; so no one sees a point in implementing it. Secondly, it may be that it&lt;br/&gt;&amp;gt; isn&amp;#39;t on anyone&amp;#39;s list of priorities. In the second case, you are&lt;br/&gt;&amp;gt; welcome to share your preference once. Moreover, no one is holding you&lt;br/&gt;&amp;gt; back to implement it yourself and suggest a pull request. However,&lt;br/&gt;&amp;gt; repeatedly demanding others to do it for you is not helpful in open&lt;br/&gt;&amp;gt; source software development.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; cndm1&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;
    </content>
    <updated>2023-06-08T01:10:31&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqzlfrpln0ept2eq3qjerpq5uzzz9u5nl2jhs6u3sze9ne99ayvgqzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkv72dupg</id>
    
      <title type="html">📅 Original date posted:2022-06-12 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqzlfrpln0ept2eq3qjerpq5uzzz9u5nl2jhs6u3sze9ne99ayvgqzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkv72dupg" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszt7pt68deqn4jjgsjetqwklshscd6ves5fzws8qxwl2fa2a2qjxql8t0d4&#39;&gt;nevent1q…t0d4&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-06-12&lt;br/&gt;📝 Original message:Hi Peter,&lt;br/&gt;&lt;br/&gt;&amp;gt; Only because the block reward goes away. If it was made to continue&lt;br/&gt;&amp;gt; indefinitely - most likely with an inflation hard fork - demand for block space&lt;br/&gt;&amp;gt; would not be critical to Bitcoin&amp;#39;s security.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;I am not completely against your proposal although 100% sure this will not have &amp;#34;consensus&amp;#34; to be implemented. I think if bitcoin doesn&amp;#39;t have enough demand for block space, it should die. I will be sad if bitcoin doesn&amp;#39;t exist but it should be a lesson for all the people opposing soft forks based on drama and politics instead of technical review.&lt;br/&gt;&lt;br/&gt;I don&amp;#39;t see anything wrong with users paying 100x fees for opening and closing LN channels.&lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;&lt;br/&gt;Sent with Proton Mail secure email.&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Sunday, June 12th, 2022 at 9:06 AM, Peter Todd via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; On Mon, Jun 06, 2022 at 09:02:18AM -0400, Erik Aronesty via bitcoin-dev wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Maintaining the security of the protocol is squarely the responsibility of&lt;br/&gt;&amp;gt; &amp;gt; the Bitcoin software and the core developers&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Continued demand for block space is critical for Bitcoin&amp;#39;s security.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Only because the block reward goes away. If it was made to continue&lt;br/&gt;&amp;gt; indefinitely - most likely with an inflation hard fork - demand for block space&lt;br/&gt;&amp;gt; would not be critical to Bitcoin&amp;#39;s security.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://petertodd.org&#34;&gt;https://petertodd.org&lt;/a&gt; &amp;#39;peter&amp;#39;[:-1]@petertodd.org&lt;br/&gt;&amp;gt; _______________________________________________&lt;br/&gt;&amp;gt; bitcoin-dev mailing list&lt;br/&gt;&amp;gt; bitcoin-dev at lists.linuxfoundation.org&lt;br/&gt;&amp;gt; &lt;a href=&#34;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#34;&gt;https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&lt;/a&gt;
    </content>
    <updated>2023-06-08T01:10:05&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsyex6jqqs27wdr6rr086g3ur83eerml4nu3g5xumaeusj7g0ncpfczyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvdjfwxt</id>
    
      <title type="html">📅 Original date posted:2022-06-04 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsyex6jqqs27wdr6rr086g3ur83eerml4nu3g5xumaeusj7g0ncpfczyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvdjfwxt" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdjjva8335jxqtfglpa290kz2nc24zyv8s866san5wcr3k4sdlykcr2asln&#39;&gt;nevent1q…asln&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-06-04&lt;br/&gt;📝 Original message:Hi John,&lt;br/&gt;&lt;br/&gt;&amp;gt; Core development is not a hackathon project.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; None of the quoted following items are features or responsibilities of the Bitcoin software, nor Core developers&lt;br/&gt;&lt;br/&gt;Core development was never listed as a hackathon project. Although I did not share responsibilities, they will improve bitcoin development. Bitcoin isn&amp;#39;t only about &amp;#34;core developers&amp;#34; and I contribute to that repository.&lt;br/&gt;&lt;br/&gt;&amp;gt; Whether you are a child or an attacker, none of us should care, but CTV, nor any change to Bitcoin software, will never be justifiable simply because you and some of your friends think it is totally cool and might make more people like you or give your friends funding.&lt;br/&gt;&lt;br/&gt;These are not my friends and I don&amp;#39;t know any of them in real life:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://utxos.org/signals/&#34;&gt;https://utxos.org/signals/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Also the developers who are competent enough to understand code and soft forks that participated in CTV meetings are not my friends. Funding is a real issue for bitcoin developers, you would know if were a developer and these opportunities won&amp;#39;t be available for me and my friends but everyone.&lt;br/&gt;&lt;br/&gt;&amp;gt; Please stop making noise about CTV, this is not a place for spamming.&lt;br/&gt;&lt;br/&gt;Let me share one example of spamming and noise:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-May/020409.html&#34;&gt;https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-May/020409.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;I am aware of the things that you post on twitter and your thoughts about developers, author of BIP 119 and the way you would propose changes although not interested to debate anything related to bitcoin development with you as its a waste of time:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://nitter.net/BitcoinErrorLog/status/1407312037408038919&#34;&gt;https://nitter.net/BitcoinErrorLog/status/1407312037408038919&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;&lt;br/&gt;Sent with [Proton Mail](&lt;a href=&#34;https://proton.me/&#34;&gt;https://proton.me/&lt;/a&gt;) secure email.&lt;br/&gt;&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Saturday, June 4th, 2022 at 5:57 PM, John Carvalho via bitcoin-dev &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&lt;br/&gt;&amp;gt; Core development is not a hackathon project.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; None of the quoted following items are features or responsibilities of the Bitcoin software, nor Core developers.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Quoted:&lt;br/&gt;&amp;gt; &amp;#34;- Developers can build interesting projects with real demand in market.&lt;br/&gt;&amp;gt; - Students learn Sapio and not just solidity.&lt;br/&gt;&amp;gt; - Better tooling could be available for application developers.&lt;br/&gt;&amp;gt; - Maybe we see bitcoin developer hackathons in different countries.&lt;br/&gt;&amp;gt; - Demand for block space might increase, it wont be just exchanges and coinjoin.&lt;br/&gt;&amp;gt; - Funding of bitcoin developers and projects might improve. Wont need to convince a few people for grants.&amp;#34;&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Whether you are a child or an attacker, none of us should care, but CTV, nor any change to Bitcoin software, will never be justifiable simply because you and some of your friends think it is totally cool and might make more people like you or give your friends funding.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; Please stop making noise about CTV, this is not a place for spamming.&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; --&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; John Carvalho&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; On Sat, Jun 4, 2022 at 1:00 PM &amp;lt;bitcoin-dev-request at lists.linuxfoundation.org&amp;gt; wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Date: Fri, 03 Jun 2022 18:39:34 &#43;0000&lt;br/&gt;&amp;gt;&amp;gt; From: alicexbt &amp;lt;alicexbt at protonmail.com&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; To: Bitcoin Protocol Discussion&lt;br/&gt;&amp;gt;&amp;gt; &amp;lt;bitcoin-dev at lists.linuxfoundation.org&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Subject: [bitcoin-dev] Bitcoin covenants are inevitable&lt;br/&gt;&amp;gt;&amp;gt; Message-ID:&lt;br/&gt;&amp;gt;&amp;gt; &amp;lt;QOWIpROGDv5HHP2GsDiSOsTJ9TVZhFeSP3C03_e2Z3XtOKC_4N5GJtxbdlxuhErvhLZXo1Rn_7SWAQ9XRPwHFuYyArZryTVENefDZuGTAYA=@protonmail.com&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Content-Type: text/plain; charset=utf-8&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Note: This email is an opinion and not an attack on bitcoin&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Covenants on bitcoin will eventually be implemented with a soft fork. CTV is the easiest and best possible way OP_TX looks good as well. Apart from the technical merits, covenants will improve a few other things:&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; - Developers can build interesting projects with real demand in market.&lt;br/&gt;&amp;gt;&amp;gt; - Students learn Sapio and not just solidity.&lt;br/&gt;&amp;gt;&amp;gt; - Better tooling could be available for application developers.&lt;br/&gt;&amp;gt;&amp;gt; - Maybe we see bitcoin developer hackathons in different countries.&lt;br/&gt;&amp;gt;&amp;gt; - Demand for block space might increase, it wont be just exchanges and coinjoin.&lt;br/&gt;&amp;gt;&amp;gt; - Funding of bitcoin developers and projects might improve. Wont need to convince a few people for grants.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; **Why covenants are not contentious?**&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Some people may write paragraphs about CTV being contentious, spread misinformation and do all types of drama, politics etc. on social media but there are zero technical NACKs for CTV. We have discussed other covenant proposals in detail on mailing list and IRC meetings with an open minded approach.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; All the developers that participated in the discussion are either okay with CTV or OP_TX or covenants in general.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; **How and when should covenants be implemented in Bitcoin?**&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I don&amp;#39;t think we should wait for years anticipating a proposal that everyone will agree on or argue for years to pretend changes are hard in Bitcoin. We should improve the review process for soft fork BIPs and share honest opinions with agreement, disagreement on technical merits.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; I prefer BIP 8 or improved BIP 8 for soft fork but I won&amp;#39;t mind anything else being used if that improves Bitcoin. Covenants implemented in Bitcoin before the next cycle would provide opportunity for developers to build interesting things during the bear market. Ossification supporters also believe there is some window that will close soon, maybe doing changes considering each case individually will be a better approach. CTV is not a rushed soft fork, less people followed the research and it was not mentioned on social media repeatedly by the respected developers like other soft forks.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; /dev/fd0&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; Sent with Proton Mail secure email.&lt;br/&gt;&amp;gt;&amp;gt;&lt;br/&gt;&amp;gt;&amp;gt; ------------------------------&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220604/676aca8b/attachment-0001.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220604/676aca8b/attachment-0001.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:10:03&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9dlq3fdes9z2cxlzansq77ujnv56xp5555xr5f85l5pses0mng2szyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkv0f60w4</id>
    
      <title type="html">📅 Original date posted:2022-06-03 📝 Original message:Note: ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9dlq3fdes9z2cxlzansq77ujnv56xp5555xr5f85l5pses0mng2szyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkv0f60w4" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs925d38e76dvlsnsxenqp2r8ua0y4mvgcth8mmsyuz48kmq74l5kgesufqz&#39;&gt;nevent1q…ufqz&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-06-03&lt;br/&gt;📝 Original message:Note: This email is an opinion and not an attack on bitcoin&lt;br/&gt;&lt;br/&gt;Covenants on bitcoin will eventually be implemented with a soft fork. CTV is the easiest and best possible way OP_TX looks good as well. Apart from the technical merits, covenants will improve a few other things:&lt;br/&gt;&lt;br/&gt;- Developers can build interesting projects with real demand in market.&lt;br/&gt;- Students learn Sapio and not just solidity.&lt;br/&gt;- Better tooling could be available for application developers.&lt;br/&gt;- Maybe we see bitcoin developer hackathons in different countries.&lt;br/&gt;- Demand for block space might increase, it wont be just exchanges and coinjoin.&lt;br/&gt;- Funding of bitcoin developers and projects might improve. Wont need to convince a few people for grants.&lt;br/&gt;&lt;br/&gt;**Why covenants are not contentious?**&lt;br/&gt;&lt;br/&gt;Some people may write paragraphs about CTV being contentious, spread misinformation and do all types of drama, politics etc. on social media but there are zero technical NACKs for CTV. We have discussed other covenant proposals in detail on mailing list and IRC meetings with an open minded approach.&lt;br/&gt;&lt;br/&gt;All the developers that participated in the discussion are either okay with CTV or OP_TX or covenants in general.&lt;br/&gt;&lt;br/&gt;**How and when should covenants be implemented in Bitcoin?**&lt;br/&gt;&lt;br/&gt;I don&amp;#39;t think we should wait for years anticipating a proposal that everyone will agree on or argue for years to pretend changes are hard in Bitcoin. We should improve the review process for soft fork BIPs and share honest opinions with agreement, disagreement on technical merits.&lt;br/&gt;&lt;br/&gt;I prefer BIP 8 or improved BIP 8 for soft fork but I won&amp;#39;t mind anything else being used if that improves Bitcoin. Covenants implemented in Bitcoin before the next cycle would provide opportunity for developers to build interesting things during the bear market. Ossification supporters also believe there is some window that will close soon, maybe doing changes considering each case individually will be a better approach. CTV is not a rushed soft fork, less people followed the research and it was not mentioned on social media repeatedly by the respected developers like other soft forks.&lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Sent with Proton Mail secure email.
    </content>
    <updated>2023-06-08T01:10:01&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqstlvxk0jeu79a7lnxkksmvwpr57c2r92x3gu24hyuhhvf37zg4wggzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkv9jhq3j</id>
    
      <title type="html">📅 Original date posted:2022-05-11 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqstlvxk0jeu79a7lnxkksmvwpr57c2r92x3gu24hyuhhvf37zg4wggzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkv9jhq3j" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsfx9f87u9q5g9ulasxrtau688cdjxmqez342j3sqx4p6vmtcdlsqsh4yk9w&#39;&gt;nevent1q…yk9w&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-05-11&lt;br/&gt;📝 Original message:Hi Billy,&lt;br/&gt;&lt;br/&gt;Thanks for the feedback. I agree with everything and bip-trinary-version-signaling looks interesting.&lt;br/&gt;&lt;br/&gt;&amp;gt; A primary difference from both BIP8 and BIP9 is that this proposal uses tri-state version signaling (rather than binary version bits) that can encode both active support as well as active opposition to an active soft fork.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;I think &amp;#39;support&amp;#39; and &amp;#39;opposition&amp;#39; can be replaced with readiness. Miners should not consider signaling as voting.&lt;br/&gt;&lt;br/&gt;&amp;gt; The meaning for each ternary value is as follows:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;0 - No signal&lt;br/&gt;1 - Ready for new consensus rules&lt;br/&gt;2 - Not ready for new consensus rules&lt;br/&gt;&lt;br/&gt;The concept of a minimum and maximum threshold sounds intriguing, and I&amp;#39;m interested to read what other developers have to say about it.&lt;br/&gt;&lt;br/&gt;Concept ACK on removing LOT, using tri-state version signaling, min/max threshold and required threshold calculation.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;&lt;br/&gt;Sent with ProtonMail secure email.&lt;br/&gt;------- Original Message -------&lt;br/&gt;On Tuesday, May 10th, 2022 at 9:01 PM, Billy Tetrud billy.tetrud at gmail.com wrote:&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&amp;gt; I think this is a useful proposal. There are certainly things about BIP9 that BIP8 fixes. I believe taproot&amp;#39;s speedy trial did kind of a hybrid, but a BIP spec was never produced for it afaik. A possibly unhelpful comment:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; minimum_activation_height&lt;br/&gt;&amp;gt; &amp;gt; I think a minor improvement would be to specify this as minimum_activation_blocks, ie a number of blocks passed the start_height. Slightly easier to reason about and change when necessary. I proposed semantics like that here.&lt;br/&gt;&amp;gt; &amp;gt; In any case, I&amp;#39;ll give this a concept ACK. I would very much like future soft forks to use a previously specified activation mechanism rather than rolling out a rushed unspeced thing as part of the (very orthogonal) soft fork implementation.&lt;br/&gt;&amp;gt; &amp;gt; On Tue, May 10, 2022 at 9:02 AM alicexbt via bitcoin-dev bitcoin-dev at lists.linuxfoundation.org wrote:&lt;br/&gt;&amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Hi Bitcoin Developers,&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; There were some disagreements with speedy trial activation method recently and BIP 8 became controversial because of LOT earlier. I have tried to solve these two problems after reading some arguments for/against different activation methods by removing LOT from BIP 8 and calculating MUST_SIGNAL state based on threshold reached.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; BIP draft with no code and some changes in BIP 8: &lt;a href=&#34;https://gist.github.com/1440000bytes/5e58cad7ba9d9c1a7000d304920fe6f1&#34;&gt;https://gist.github.com/1440000bytes/5e58cad7ba9d9c1a7000d304920fe6f1&lt;/a&gt;&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; State transitions diagram:  &lt;img src=&#34;https://i.imgur.com/dj4bFVK.png&#34;&gt; &lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; This proposal removes lockinontimeout flag, activation never fails although MUST_SIGNAL can be longer if miners signaling does not reach the threshold. Longer period for MUST_SIGNAL state is useful for coordination if LOCKED_IN was not reached.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; MUST_SIGNAL = ((100-t)/10)*2016 blocks, where t is threshold reached and blocks that fail to signal in MUST_SIGNAL phase are invalid.&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Example:&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; - This activation method is used for a soft fork&lt;br/&gt;&amp;gt; &amp;gt; - Only 60% miners signaled readiness and timeout height was reached&lt;br/&gt;&amp;gt; &amp;gt; - MUST_SIGNAL phase starts and will last for 4*2016 blocks&lt;br/&gt;&amp;gt; &amp;gt; - LOCKED_IN and ACTIVE states remain same as BIP 8&lt;br/&gt;&amp;gt; &amp;gt; - Soft fork is activated with a delay of 2 months&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; /dev/fd0&lt;br/&gt;&amp;gt; &amp;gt;&lt;br/&gt;&amp;gt; &amp;gt; Sent with ProtonMail secure email._______________________________________________&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-08T01:09:32&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqszngzh2flum8paapp60jnfv2epyxwa8py39lr0zpxnqhkpdwlylkgzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvgvxmyz</id>
    
      <title type="html">📅 Original date posted:2022-05-10 📝 Original message:Hi ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqszngzh2flum8paapp60jnfv2epyxwa8py39lr0zpxnqhkpdwlylkgzyp69uferuukhmmflphff84cskurv6vp2hprknq7zjt2tmdlechfkvgvxmyz" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsda8lmzdycn878n2hld6hlwahywt3vne79qf93cqujs9c8shsktrgdhnd0r&#39;&gt;nevent1q…nd0r&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;📅 Original date posted:2022-05-10&lt;br/&gt;📝 Original message:Hi Bitcoin Developers,&lt;br/&gt;&lt;br/&gt;There were some disagreements with speedy trial activation method recently and BIP 8 became controversial because of LOT earlier. I have tried to solve these two problems after reading some arguments for/against different activation methods by removing LOT from BIP 8 and calculating MUST_SIGNAL state based on threshold reached.&lt;br/&gt;&lt;br/&gt;BIP draft with no code and some changes in BIP 8: &lt;a href=&#34;https://gist.github.com/1440000bytes/5e58cad7ba9d9c1a7000d304920fe6f1&#34;&gt;https://gist.github.com/1440000bytes/5e58cad7ba9d9c1a7000d304920fe6f1&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;State transitions diagram:  &lt;img src=&#34;https://i.imgur.com/dj4bFVK.png&#34;&gt; &lt;br/&gt;&lt;br/&gt;This proposal removes lockinontimeout flag, activation never fails although MUST_SIGNAL can be longer if miners signaling does not reach the threshold. Longer period for MUST_SIGNAL state is useful for coordination if LOCKED_IN was not reached.&lt;br/&gt;&lt;br/&gt;MUST_SIGNAL = ((100-t)/10)*2016 blocks, where t is threshold reached and blocks that fail to signal in MUST_SIGNAL phase are invalid.&lt;br/&gt;&lt;br/&gt;Example:&lt;br/&gt;&lt;br/&gt;- This activation method is used for a soft fork&lt;br/&gt;- Only 60% miners signaled readiness and timeout height was reached&lt;br/&gt;- MUST_SIGNAL phase starts and will last for 4*2016 blocks&lt;br/&gt;- LOCKED_IN and ACTIVE states remain same as BIP 8&lt;br/&gt;- Soft fork is activated with a delay of 2 months&lt;br/&gt;&lt;br/&gt;/dev/fd0&lt;br/&gt;&lt;br/&gt;Sent with [ProtonMail](&lt;a href=&#34;https://protonmail.com/&#34;&gt;https://protonmail.com/&lt;/a&gt;) secure email.&lt;br/&gt;-------------- next part --------------&lt;br/&gt;An HTML attachment was scrubbed...&lt;br/&gt;URL: &amp;lt;&lt;a href=&#34;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220510/1d4ece3d/attachment.html&amp;gt&#34;&gt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20220510/1d4ece3d/attachment.html&amp;gt&lt;/a&gt;;
    </content>
    <updated>2023-06-08T01:09:31&#43;02:00</updated>
  </entry>

</feed>