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