<oembed><type>rich</type><version>1.0</version><author_name>npub1c3j2v4ws7hf9sj2xkr4dale0z4htw7lup37qeh2wxll4pcvlg03qe2aw73</author_name><author_url>https://nostr.ae/npub1c3j2v4ws7hf9sj2xkr4dale0z4htw7lup37qeh2wxll4pcvlg03qe2aw73</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2022-10-12&#xA;📝 Original message:Hello Pieter,&#xA;&#xA;Thanks for taking the time to comment! I&#39;ll answer inline.&#xA;&#xA;On Wed, Oct 12, 2022 at 2:51 PM Pieter Wuille &lt;bitcoin-dev at wuille.net&gt;&#xA;wrote:&#xA;&gt; I certainly recognize that adding the flag is a likely step towards, over&#xA;&gt; time, the full RBF policy becoming more widely adopted on the network.&#xA;That is&#xA;&gt; presumably the reason why people are in favor of having the flag, even&#xA;default&#xA;&gt; off - including me. I believe that policy&#39;s adoption is inevitable&#xA;eventually,&#xA;&gt; but the speed at which that is achieved is certainly a function of&#xA;&gt; availability and adopted of software which provides the option.&#xA;&#xA;As stated in the original posting, I believe too that a full-RBF network is&#xA;not&#xA;only inevitable but also desirable. Miner incentives will eventually win,&#xA;so we&#xA;should address them before they fully kick in (ie. before transaction fees&#xA;become a meaningful portion of the block reward).&#xA;&#xA;&gt; So I have a hard time imagining how it would change anything&#xA;*immediately* on&#xA;&gt; the network at large (without things like default on and/or preferential&#xA;&gt; peering, ...), but I still believe it&#39;s an important step.&#xA;&#xA;Notice that I&#39;m not saying this changes anything immediately on the network&#xA;at&#xA;large. In fact, it is unlikely that the opt-in flag alone would be enough to&#xA;migrate the network at large to full-RBF.&#xA;&#xA;There&#39;s a real possibility that, after deployment of the opt-in flag,&#xA;either no&#xA;meaningful hashing power adopts it or no connected component of&#xA;transaction-relaying nodes adopts it. If that&#39;s the case, the deployment&#xA;won&#39;t&#xA;help nodes participating in multi-party funded transactions protect against&#xA;the&#xA;class of attacks described in [1] (which was, as I understand, the original&#xA;intention of #25353).&#xA;&#xA;If that&#39;s not the case, it means that at least some meaningful hashing power&#xA;adopted it and that there exist some connected components of&#xA;transaction-relaying nodes that adopted it. This is certainly far from&#xA;having&#xA;wide adoption of full-RBF in the network at large. However, once we reach&#xA;that&#xA;minimal level of adoption in the mining and relaying layers, any node on a&#xA;full-RBF connected component can send an on-chain payment to an application&#xA;and&#xA;then get a replacement mined. That is, applications that accept incoming&#xA;on-chain payments from untrusted parties can be immediately exposed to&#xA;full-RBF&#xA;transaction replacements, even if they didn&#39;t opt into full-RBF in their&#xA;nodes.&#xA;&#xA;In an adversarial setting, such as the one for zero-conf applications (as&#xA;defined in the original posting), this increases the risk of an attack&#xA;substantially, making the entire strategy moot.&#xA;&#xA;&gt; In my view, it is just what I said: a step towards getting full RBF on the&#xA;&gt; network, by allowing experimentation and socializing the notion that&#xA;&gt; developers believe it is time.&#xA;&#xA;Those are worthy goals. I believe we can design a deployment strategy for&#xA;full-RBF that takes them into account and, at the same time, gives a clear&#xA;timeline for any affected application to adapt.&#xA;&#xA;This could be one such proposal:&#xA;&#xA;1. We activate opt-in full-RBF on testnet now.&#xA;2. We commit now (in the code) to a block height in the future at which&#xA;opt-out&#xA;   full-RBF will activate on mainnet.&#xA;&#xA;The first point will allow for experimentation and give a testing ground to&#xA;all&#xA;affected applications. The second point socializes the notion that&#xA;developers&#xA;believe it is time, giving a clear message and timeline for anyone affected&#xA;to&#xA;adapt. It also has the benefit that many more nodes will have upgraded by&#xA;the&#xA;time we reach the activation block height, making the transition to a&#xA;full-RBF&#xA;network much more predictable and easy to reason about.&#xA;&#xA;There&#39;s an argument to be made that the miner incentive incompatibility&#xA;problem&#xA;of a non-full-RBF network gets measurably worse at the time of the next&#xA;halving.&#xA;To fix this, we could choose any block height before that, giving a clear&#xA;and&#xA;predictable transition timeline.&#xA;&#xA;[1]&#xA;https://lists.linuxfoundation.org/pipermail/lightning-dev/2021-May/003033.html&#xA;&#xA;On Wed, Oct 12, 2022 at 1:11 PM Pieter Wuille &lt;bitcoin-dev at wuille.net&gt;&#xA;wrote:&#xA;&#xA;&gt; On Wednesday, October 12th, 2022 at 1:42 AM, Anthony Towns &lt;&#xA;&gt; aj at erisian.com.au&gt; wrote:&#xA;&gt;&#xA;&gt; &gt; On Tue, Oct 11, 2022 at 04:18:10PM +0000, Pieter Wuille via bitcoin-dev&#xA;&gt; wrote:&#xA;&gt; &gt;&#xA;&gt; &gt; &gt; On Friday, October 7th, 2022 at 5:37 PM, Dario Sneidermanis via&#xA;&gt; bitcoin-dev bitcoin-dev at lists.linuxfoundation.org wrote:&#xA;&gt; &gt; &gt;&#xA;&gt; &gt; &gt; &gt; Thanks for the fast answer! It seems I missed the link to the PR,&#xA;&gt; sorry for the&#xA;&gt; &gt; &gt; &gt; confusion. I&#39;m referring to the opt-in flag for full-RBF from #25353&#xA;&gt; &gt; &gt; &gt; (https://github.com/bitcoin/bitcoin/pull/25353).&#xA;&gt; &gt; &gt; &gt; It is not clear to me why you believe the merging of this particular&#xA;&gt; pull request poses an immediate risk to you.&#xA;&gt; &gt;&#xA;&gt; &gt;&#xA;&gt; &gt; Did you see the rest of Dario&#39;s reply, bottom-posted after the quoted&#xA;&gt; &gt; text? Namely:&#xA;&gt;&#xA;&gt; Oh, my mail client for some reason chose to hide all that. Dario, I&#39;m&#xA;&gt; sorry for missing this; I see now that you were certainly aware of what the&#xA;&gt; PR under consideration did.&#xA;&gt;&#xA;&gt; Further comments inline.&#xA;&gt;&#xA;&gt; &gt; On Fri, Oct 07, 2022 at 06:37:38PM -0300, Dario Sneidermanis via&#xA;&gt;&#xA;&gt; &gt; &gt; The question then is whether an opt-in flag for full-RBF will have&#xA;&gt; enough&#xA;&gt; &gt; &gt; adoption to get us from 1 to 2. If it isn&#39;t, then #25353 won&#39;t meet its&#xA;&gt; &gt; &gt; objective of allowing nodes participating in multi-party funding&#xA;&gt; protocols&#xA;&gt; &gt; &gt; to assume that they can rely on full-RBF. If it is, then zero-conf&#xA;&gt; applications&#xA;&gt; &gt; &gt; will be at severe risk (per the logic in the initial email).&#xA;&gt;&#xA;&gt; &gt;&#xA;&gt; &gt;&#xA;&gt; &gt; That logic seems reasonably sound to me:&#xA;&gt; &gt;&#xA;&gt; &gt; - if adding the option does nothing, then there&#39;s no point adding it,&#xA;&gt; &gt; and no harm in restricting it to test nets only&#xA;&gt; &gt;&#xA;&gt; &gt; - if adding the option does do something, then businesses using zero-conf&#xA;&gt; &gt; need to react immediately, or will go from approximately zero risk of&#xA;&gt; &gt; losing funds, to substantial risk&#xA;&gt; &gt;&#xA;&gt; &gt; (I guess having the option today may allow you to manually switch your&#xA;&gt; &gt; node over to supporting fullrbf in future when the majority of the&#xA;&gt; network&#xA;&gt; &gt; supports it, without needing to do an additional upgrade in the meantime;&#xA;&gt; &gt; but that seems like a pretty weak benefit)&#xA;&gt;&#xA;&gt; I certainly recognize that adding the flag is a likely step towards, over&#xA;&gt; time, the full RBF policy becoming more widely adopted on the network. That&#xA;&gt; is presumably the reason why people are in favor of having the flag, even&#xA;&gt; default off - including me. I believe that policy&#39;s adoption is inevitable&#xA;&gt; eventually, but the speed at which that is achieved is certainly a function&#xA;&gt; of availability and adopted of software which provides the option.&#xA;&gt;&#xA;&gt; That said, I think it&#39;s a bit of a jump to conclude that the only two&#xA;&gt; options are that either the existence of the flag either has no effect at&#xA;&gt; all, or poses an immediate threat to those relying on its absence. In my&#xA;&gt; view, it is just what I said: a step towards getting full RBF on the&#xA;&gt; network, by allowing experimentation and socializing the notion that&#xA;&gt; developers believe it is time. So I have a hard time imagining how it would&#xA;&gt; change anything *immediately* on the network at large (without things like&#xA;&gt; default on and/or preferential peering, ...), but I still believe it&#39;s an&#xA;&gt; important step.&#xA;&gt;&#xA;&gt; Cheers,&#xA;&gt;&#xA;&gt; --&#xA;&gt; Pieter&#xA;&gt;&#xA;&gt;&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20221012/5280640b/attachment-0001.html&gt;</html></oembed>