<oembed><type>rich</type><version>1.0</version><author_name>npub1jdl3plz00rvxwc6g2ckemzrgg0amx5wen4kfvs3laxtssxvk9cvsf3gh0m</author_name><author_url>https://nostr.ae/npub1jdl3plz00rvxwc6g2ckemzrgg0amx5wen4kfvs3laxtssxvk9cvsf3gh0m</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2022-10-17&#xA;📝 Original message:AJ,&#xA;&#xA;Thanks for the latest PR and discussion, even if we know we&#39;re all (very,&#xA;very, very) tired of it running almost 10 years now. I think we&#39;re close to&#xA;a resolution, (2), or (3) as you note.&#xA;&#xA;As ariard notes in&#xA;https://github.com/bitcoin/bitcoin/pull/26323#issuecomment-1280071572 we&#xA;seem to have sketched out the sane design space for the transition, so now&#xA;it&#39;s time to choose how we want to spend our energy and time on this.&#xA;&#xA;I do think patch complexity is a real concern, which&#xA;means fullrbf-signalling PR has a harder road to deployment and gets push&#xA;back from fullrbf-default-now folks who correctly argue this. It seems&#xA;useful to &#34;prove a point&#34; on the nature of these schemes, but not much else.&#xA;&#xA;Personally I have no qualms with kicking back flag-day-fullrbf another&#xA;release cycle and 6 additional months to obviate the need for a 24.0&#xA;backport(however small!) and to give a bit more time to weigh choices.&#xA;People can begin testing with their node software on an opt-in basis(but&#xA;not the required ~10% of nodes), 25.0+ nodes will flag-day, then a year&#xA;from now the community can start testing if miners have picked up said&#xA;changes.&#xA;&#xA;Speaking to no one in particular, there&#39;s no virtue in dragging on the&#xA;discussion to &#34;prove a point&#34; to &#34;merchants&#34;/&#34;Core devs&#34; when we could be&#xA;spending our time more wisely fixing the many other issues with our mempool&#xA;and wallet ecosystem.&#xA;&#xA;Best,&#xA;Greg&#xA;&#xA;On Sun, Oct 16, 2022 at 4:09 AM Anthony Towns via bitcoin-dev &lt;&#xA;bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&#xA;&gt; On Thu, Oct 13, 2022 at 02:35:22PM +1000, Anthony Towns via bitcoin-dev&#xA;&gt; wrote:&#xA;&gt; &gt; On Wed, Oct 12, 2022 at 04:11:05PM +0000, Pieter Wuille via bitcoin-dev&#xA;&gt; wrote:&#xA;&gt; &gt; &gt; In my view, it is just what I said: a step towards getting full RBF&#xA;&gt; &gt; &gt; on the network, by allowing experimentation and socializing the notion&#xA;&gt; &gt; &gt; that developers believe it is time.&#xA;&gt; &gt; We &#34;believe it is time&#34; for what exactly, though? (a) To start&#xA;&gt; &gt; deprerecating accepting zeroconf txs on mainnet, over the next 6, 12 or&#xA;&gt; &gt; 18 months; or (b) to start switching mainnet mining and relay nodes over&#xA;&gt; &gt; to full RBF?&#xA;&gt;&#xA;&gt; For what it&#39;s worth, that was a serious question: I don&#39;t feel like I&#xA;&gt; know what other people&#39;s answer to it is.&#xA;&gt;&#xA;&gt; Seems to me like there&#39;s fundamentally maybe three approaches:&#xA;&gt;&#xA;&gt;  1) Continue supporting and encouraging accepting unconfirmed &#34;on-chain&#34;&#xA;&gt;     payments indefinitely&#xA;&gt;&#xA;&gt;  2) Draw a line in the sand now, but give people who are currently&#xA;&gt;     accepting unconfirmed txs time to update their software and business&#xA;&gt;     model&#xA;&gt;&#xA;&gt;  3) Encourage mainnet miners and relay nodes to support unconditional&#xA;&gt;     RBF immediately, no matter how much that increases the risk to&#xA;&gt;     existing businesses that are still accepting unconfirmed txs&#xA;&gt;&#xA;&gt; I think Antoine gave a pretty decent rationale for why we shouldn&#39;t&#xA;&gt; indefinitely continue with conditional RBF in [0] [1] -- it makes it&#xA;&gt; easy to disrupt decentralised pooling protocols, whether that be for&#xA;&gt; establishing lightning channels or coinjoins or anything else.&#xA;&gt;&#xA;&gt; [0]&#xA;&gt; https://lists.linuxfoundation.org/pipermail/lightning-dev/2021-May/003033.html&#xA;&gt; [1]&#xA;&gt; https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-June/020557.html&#xA;&gt;&#xA;&gt; It&#39;s also an unstable equilibrium -- if everyone does first-seen-is-final&#xA;&gt; at the mempool level, everything is fine; but it only takes a few&#xA;&gt; defectors to start relaying and mining full RBF txs to spoil zeroconf&#xA;&gt; for everyone -- so even if it were desirable to maintain it forever,&#xA;&gt; it&#39;s probably not actually possible to maintain it indefinitely.&#xA;&gt;&#xA;&gt; If so, that leaves the choice between (2) and (3). You might argue&#xA;&gt; that there&#39;s a 4th option: ignore the problem and think about it later;&#xA;&gt; but to me that seems like it will just eventually result in outcome (3).&#xA;&gt;&#xA;&gt;&#xA;&gt; At least a few people are already running full RBF relay nodes [2] [3]&#xA;&gt; [4], and there&#39;s a report that non-signalling RBF txs are now getting&#xA;&gt; mined [5] when they weren&#39;t a few months ago [6]. I wasn&#39;t able to&#xA;&gt; confirm the latter to my satisfaction: looking at mempool.observer, the&#xA;&gt; non-RBF signalling conflicting txs don&#39;t seem to have been consistently&#xA;&gt; paying a higher feerate, so I couldn&#39;t rule out the possibility that&#xA;&gt; the difference might just be due to inconsistent relaying.&#xA;&gt;&#xA;&gt; [2] https://twitter.com/murchandamus/status/1552488955328831492&#xA;&gt; [3] https://twitter.com/LukeDashjr/status/977211607947317254&#xA;&gt; [4]&#xA;&gt; https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-June/020592.html&#xA;&gt; [5]&#xA;&gt; https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-June/020592.html&#xA;&gt; [6]&#xA;&gt; https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-June/020592.html&#xA;&gt;&#xA;&gt; It seems to me that the best approach for implementing (3) would be&#xA;&gt; to change the default for -mempoolfullrbf to true immediately, which&#xA;&gt; is both what Knots has been doing for years, and what #26305 proposes&#xA;&gt; [7].  So from seeing what people are actually *doing*, I could easily&#xA;&gt; be convinced that (3) is the goal people are actually working towards.&#xA;&gt;&#xA;&gt; [7] https://github.com/bitcoin/bitcoin/pull/26305&#xA;&gt;&#xA;&gt; But if (3) *is* what we&#39;re really trying to do, I think it&#39;s a bit&#xA;&gt; disingenuous to assume that that effort will fail, and tell people that&#xA;&gt; nothing&#39;s going to change on mainnet in the near future [8] [9] [10]&#xA;&gt; [11]. If pools are starting to allow replacements of txs that didn&#39;t&#xA;&gt; signal according to BIP 125 and mine blocks including those replacements,&#xA;&gt; then it&#39;s true that zero-conf apps are in much more immediate danger&#xA;&gt; than they were a month ago, and as far as I can see, we shouldn&#39;t be&#xA;&gt; pretending otherwise.&#xA;&gt;&#xA;&gt; [8] https://github.com/bitcoin/bitcoin/pull/26287#issuecomment-1274953204&#xA;&gt; [9] https://github.com/bitcoin/bitcoin/pull/26287#issuecomment-1276682043&#xA;&gt; [10]&#xA;&gt; https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-October/020981.html&#xA;&gt; [11]&#xA;&gt; https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-October/021006.html&#xA;&gt;&#xA;&gt; Personally, I prefer an approach like (2) -- commit to doing something&#xA;&gt; first, give people time to prepare for it, and then do it, and outside&#xA;&gt; of Knots, I don&#39;t think there&#39;s been any clear commitment to deprecating&#xA;&gt; zeroconf txs up until now. But what we&#39;re currently doing is suboptimal&#xA;&gt; for that in two ways:&#xA;&gt;&#xA;&gt;  - there&#39;s no real commitment that the change will actually happen&#xA;&gt;  - even if it does, there&#39;s no indication when that will be&#xA;&gt;  - it&#39;s not easy to test your apps against the new world order, because&#xA;&gt;    it&#39;s not well supported on either testnet or signet, being disabled&#xA;&gt;    by default on both those networks&#xA;&gt;&#xA;&gt; Dario suggested an approach [12] that seems like it would resolve all&#xA;&gt; these issues:&#xA;&gt;&#xA;&gt; ] This could be one such proposal:&#xA;&gt; ] 1. We activate [..] full-RBF on testnet now.&#xA;&gt; ] 2. We commit now (in the code) to a block height in the future at&#xA;&gt; ]    which [..] full-RBF will activate on mainnet.&#xA;&gt;&#xA;&gt; (I&#39;ve delted the words &#34;opt-in&#34; and &#34;opt-out&#34; from the quote above,&#xA;&gt; because they didn&#39;t make sense to me)&#xA;&gt;&#xA;&gt; [12]&#xA;&gt; https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-October/021007.html&#xA;&gt;&#xA;&gt; I&#39;ve made up a patch along these lines [13]; it&#39;s easy to use a timestamp&#xA;&gt; rather than a block height, so I&#39;ve arbitrarily picked 1st May (slightly&#xA;&gt; over 6 months away) as the changeover time. If people are willing to&#xA;&gt; give zeroconf businesses some time to adapt, including something along&#xA;&gt; those lines in 24.0 seems a better approach to me:&#xA;&gt;&#xA;&gt;  * it gives a clear deadline for businesses to adapt, so that they don&#39;t&#xA;&gt;    defer it and suddenly complain &#34;oh no, we didn&#39;t think you were&#xA;&gt;    serious, please give us more time&#34; later&#xA;&gt;&#xA;&gt;  * it gives plenty(?) of time to update your code and test it, as well&#xA;&gt;    as teach customers and customer support about the new behaviour&#xA;&gt;&#xA;&gt;  * when the deadline hits, presumably plenty of nodes and miners will&#xA;&gt;    immediately start supporting the new behaviour on mainnet, so that&#xA;&gt;    protocols can quickly start relying on that method of tx pinning no&#xA;&gt;    longer being applicable&#xA;&gt;&#xA;&gt;  * nodes on signet and testnet will quickly adopt the new behaviour,&#xA;&gt;    well before it&#39;s available on mainnet, making testing easier&#xA;&gt;&#xA;&gt; [13] https://github.com/bitcoin/bitcoin/pull/26323&#xA;&gt;&#xA;&gt; To me, this seems like a good way of achieving what I said previously:&#xA;&gt;&#xA;&gt; &gt; If we&#39;re trying to socialise the idea that zeroconf deprecation is&#xA;&gt; &gt; happening and that your business now has a real deadline for migrating&#xA;&gt; &gt; away from accepting unconfirmed txs if the risk of being defrauded&#xA;&gt; &gt; concerns you, then enabling experimentation on test nets and not touching&#xA;&gt; &gt; mainnet until a later release seems fairly fine to me -- similar to&#xA;&gt; &gt; activating soft forks on test nets prior to activating it on mainnet.&#xA;&gt;&#xA;&gt; Cheers,&#xA;&gt; aj&#xA;&gt; _______________________________________________&#xA;&gt; bitcoin-dev mailing list&#xA;&gt; bitcoin-dev at lists.linuxfoundation.org&#xA;&gt; https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#xA;&gt;&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20221017/b9415d4b/attachment.html&gt;</html></oembed>