summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Todd <pete@petertodd.org>2024-01-22 22:52:01 +0000
committerbitcoindev <bitcoindev@gnusha.org>2024-01-22 22:52:12 +0000
commitdb7a711b6fdb661cf8de45ce31dfa166440d04ab (patch)
tree35daff42b3f3ea6c13343c1305eb2367a8e09689
parentdd8b3730662c17228da0e6773163380dba79f7ba (diff)
downloadpi-bitcoindev-db7a711b6fdb661cf8de45ce31dfa166440d04ab.tar.gz
pi-bitcoindev-db7a711b6fdb661cf8de45ce31dfa166440d04ab.zip
Re: [bitcoin-dev] One-Shot Replace-By-Fee-Rate
-rw-r--r--17/9819358dacfdaa636ca0208f3bb7c9eda860fa195
1 files changed, 195 insertions, 0 deletions
diff --git a/17/9819358dacfdaa636ca0208f3bb7c9eda860fa b/17/9819358dacfdaa636ca0208f3bb7c9eda860fa
new file mode 100644
index 000000000..002a271ad
--- /dev/null
+++ b/17/9819358dacfdaa636ca0208f3bb7c9eda860fa
@@ -0,0 +1,195 @@
+Return-Path: <pete@petertodd.org>
+Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136])
+ by lists.linuxfoundation.org (Postfix) with ESMTP id 958CEC0037
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ 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 <bitcoin-dev@lists.linuxfoundation.org>;
+ 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 <bitcoin-dev@lists.linuxfoundation.org>;
+ 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 <bitcoin-dev@lists.linuxfoundation.org>;
+ 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: <xms:lfGuZZMM-vW7QAOLXvJOz-z_odi5yhKi6Y-gneMyLRXd9WAu6Fd75g>
+ <xme:lfGuZb-IPbxcp92M1gjaaDzTwYqKn1KX2p1_NYyerQ2Ijt2v9yO-KBB4jYVsvQQ4r
+ aVE3-hRbHuF8aiL4Is>
+X-ME-Received: <xmr:lfGuZYQrgxjAA5WXQoLGu4ZP1kg121PKgYExYuIoKxWJKIZnnczqniXZEQ>
+X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvdekjedgtdduucetufdoteggodetrfdotf
+ fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
+ uceurghilhhouhhtmecufedttdenucenucfjughrpeffhffvuffkfhggtggujgesghdtre
+ ertddtjeenucfhrhhomheprfgvthgvrhcuvfhougguuceophgvthgvsehpvghtvghrthho
+ uggurdhorhhgqeenucggtffrrghtthgvrhhnpedvuedvveeiveegheethfefheejteefvd
+ elffeigfeivdduveelteeiueekgeevvdenucffohhmrghinhepphgvthgvrhhtohguugdr
+ ohhrghdpshhtrggtkhgvrhdrnhgvfihspdhgihhthhhusgdrtghomhenucevlhhushhtvg
+ hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehpvghtvgesphgvthgvrhht
+ ohguugdrohhrgh
+X-ME-Proxy: <xmx:lfGuZVuLhSPXSmYiPF6y8sB1aGhqFjEWf7QkXUdbkc9ieW5fQcStUg>
+ <xmx:lfGuZRfcN7kPPjA6xAfkDyKPq-tQmQAv6_q9drTnSphgDeZmwGQ1vQ>
+ <xmx:lfGuZR38n2RMavXmqTmcADPyo6rMJDbbw4jRe9AWWyvnh64wQ_lPXw>
+ <xmx:lvGuZV7oDq_0vVjrC8vWHc3EVn4ZHAN7gzeHDgWa0A615UN7dSWrag>
+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 <pete@petertodd.org>
+To: Murch <murch@murch.one>,
+ Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
+Message-ID: <Za7xkUsoeACMv6Fw@petertodd.org>
+References: <Zalsq+Nq7RRr/CAR@petertodd.org>
+ <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 <bitcoin-dev.lists.linuxfoundation.org>
+List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>,
+ <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
+List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
+List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
+List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
+List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>,
+ <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=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--
+