Return-Path: Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by lists.linuxfoundation.org (Postfix) with ESMTP id 958CEC0037 for ; Mon, 22 Jan 2024 22:52:12 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 5E7DD61037 for ; Mon, 22 Jan 2024 22:52:12 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 5E7DD61037 Authentication-Results: smtp3.osuosl.org; dkim=pass (2048-bit key, unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.a=rsa-sha256 header.s=fm3 header.b=ruSNFOF1 X-Virus-Scanned: amavisd-new at osuosl.org X-Spam-Flag: NO X-Spam-Score: -2.6 X-Spam-Level: X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9SKy9RmL3gfv for ; Mon, 22 Jan 2024 22:52:08 +0000 (UTC) Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by smtp3.osuosl.org (Postfix) with ESMTPS id BA6AD61027 for ; Mon, 22 Jan 2024 22:52:07 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org BA6AD61027 Received: from compute7.internal (compute7.nyi.internal [10.202.2.48]) by mailout.nyi.internal (Postfix) with ESMTP id 2EED45C01AB; Mon, 22 Jan 2024 17:52:06 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Mon, 22 Jan 2024 17:52:06 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; t=1705963926; x=1706050326; bh=AytNHEN4+pFqUn4u75dixJbnTLkI aF8Tppgs99AXxf0=; b=ruSNFOF1/oi031YnD80BA/XMXRr5GCyemh2rZv/cEdSA qX50UFtbi3ThhoQxRkeTC3qKIG2DNymvXRn6m6Bp+RM6iloJJ/GA7GCAYLNJutIN YBt6WY6+ApuTV9Zxiq4pBL3Em/DTBQsJqIkhNRIjqBik0kIz1NdLBwR/hBUQaSDn n0fB2B+04P/o3Rg50jNtoyV7q0an+GSQ8oWmW2XZHCogZvqtgfnuzNCYEg9E0fSQ lLgv4CJ+rTk3hQQpYSU9rOdzXapzI9kS1EUFWzpnDHmIxEHlo1lJJ74IftNk1lHP WEZM21YYfYY7rySIHm2Wi34BHspcEzllOI7aTQVMxg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvdekjedgtdduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpeffhffvuffkfhggtggujgesghdtre ertddtjeenucfhrhhomheprfgvthgvrhcuvfhougguuceophgvthgvsehpvghtvghrthho uggurdhorhhgqeenucggtffrrghtthgvrhhnpedvuedvveeiveegheethfefheejteefvd elffeigfeivdduveelteeiueekgeevvdenucffohhmrghinhepphgvthgvrhhtohguugdr ohhrghdpshhtrggtkhgvrhdrnhgvfihspdhgihhthhhusgdrtghomhenucevlhhushhtvg hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehpvghtvgesphgvthgvrhht ohguugdrohhrgh X-ME-Proxy: Feedback-ID: i525146e8:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 22 Jan 2024 17:52:05 -0500 (EST) Received: by localhost (Postfix, from userid 1000) id A7C465F849; Mon, 22 Jan 2024 22:52:01 +0000 (UTC) Date: Mon, 22 Jan 2024 22:52:01 +0000 From: Peter Todd To: Murch , Bitcoin Protocol Discussion Message-ID: References: <9a89eca8-61fd-4156-825d-c9b718dc3034@murch.one> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="sh/rvim7uikMYwTI" Content-Disposition: inline In-Reply-To: <9a89eca8-61fd-4156-825d-c9b718dc3034@murch.one> Subject: Re: [bitcoin-dev] One-Shot Replace-By-Fee-Rate X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Jan 2024 22:52:12 -0000 --sh/rvim7uikMYwTI Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Jan 22, 2024 at 01:12:45PM -0500, Murch via bitcoin-dev wrote: > Hi Peter, >=20 > On 1/18/24 13:23, Peter Todd via bitcoin-dev wrote: > > Reposting this blog post here for discussion: > > > > https://petertodd.org/2024/one-shot-replace-by-fee-rate >=20 > I saw your proposal mentioned on Stacker News and read it with interest. = In > response, I described a replacement cycle that can be used to broadcast t= he > same five transactions repeatedly: >=20 > https://stacker.news/items/393182 So if this does in fact work - I haven't actually tested it - the root prob= lem here is not replace-by-fee-rate, but rather our current replace-by-fee rule= s: in step 7 you've clearly replaced a more desirable, high fee-rate, transact= ion that will be mined soon with a low fee-rate transaction that will not be. That's obviously not incentive compatible for miners, for the same reason t= hat replace-by-fee-rate generally is incentive compatible. I had incorrectly thought we had gotten rid of those cases... But looks like the definition of BIP-125 Rule #2, "The replacement transaction may only include an unconfirmed input if that input was included in one of the origi= nal transactions.", is not sufficient because you can combine unconfirmed inputs =66rom two different replaced transactions, making a resulting transaction = that is less valuable to miners than one of the replaced transactions. IIUC Suhas has a draft fix here that would solve this issue: https://github= =2Ecom/bitcoin/bitcoin/pull/26451 An even simpler fix would be to just require that all unconfirmed inputs in= a replacement come from the *same* replaced transaction. That would make cert= ain rare, but economically viable, replacements infeasible. But it would defini= tely fix the issue. > The gist is that by using two confirmed inputs and five transactions, you > can use RBFr to reduce the absolute fee while raising the feerate to top > block levels, then immediately use the current RBF rules to introduce a > high-feerate transaction that beats the RBFr transaction but is hampered = by > a low-feerate parent and not attractive for mining, then use RBF to repla= ce > its low-feerate parent, then use the RBFr transaction again to reduce the > absolute feerate. Due to the asymmetric replacements, the same transactio= ns > can replace each other in that order in every cycle. Please refer to the > linked write-up for details, I=E2=80=99ve included weights, fees, and a t= ransaction > graph to make my example comprehensible. BTW do you mind if I reproduce those graphics, with credit, to explain the issue? I have a few places where I could make use of it, eg the replace-by-fee-rate post itself. --=20 https://petertodd.org 'peter'[:-1]@petertodd.org --sh/rvim7uikMYwTI Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEE0RcYcKRzsEwFZ3N5Lly11TVRLzcFAmWu8YIACgkQLly11TVR LzfqeRAAhOsWablFP/QAA6zjZtTgw9k6SowqOpGjCHXOOPbKv7bMJ2UqDg3wnbCF BKJNwLc+SRhVtLdT64uCbGi5L1sg1TvCf+hsoSWnwjhuvKX93br5bEc+VYWu+l61 np4y4v7YnHbrFMb34wYOmmUXLeW2lbhXsZaz51OoNfoSuVdG5ZGWPrqSFERK2p6n hUEDqOsrYHa6A4PRwFt3LJR16s2nZp1Qq3ls3byFvF7kgcZx21/V29lDMqzwOG8B 0CTuWO8YdMCA755UO/wpTLR2m+XdTTDht0G5klF1HU6oFj+WXZHOzPxHVNoRBGyX 7uUCEfdUbjsEnuqeG/eGY04PL+eEIWIwo0MxjW4qdnOsfK+YM7Q59IK691GYVs6v Rya7xdLfWe8QkVWxpC+9/d8C3sa+a3l/S7Pk/x1cqzlpP17ZXUHQE6PIg2K/j2/3 4h43Rd2l7dCeaMq9p/bL2EEx1+ZT0gZpFYIXK+yMtSrlwDXKd9jzj700plfKxP7G b3nfnJbIKKho+rXVIB1Ns11CVfDQJuXdZm6znkvjKUK+FFQSgaYHz/8E6K8JM7jo rBOJR8PI5okQ9JLs0pTb+whoIkSLwFRYhjsyLuhx2W1uMU8GAmClca34LqIzMt3o xF1AExl238TyOOIV/WWy9efsR0ROpUG+h6RWOeVbvnJfBRjWq9k= =09en -----END PGP SIGNATURE----- --sh/rvim7uikMYwTI--