<oembed><type>rich</type><version>1.0</version><author_name>npub1uxks6rvrzqljyfp92sffgqypf8fpts0pv2dshvmmnrse76v0avlqy7wq7p</author_name><author_url>https://nostr.ae/npub1uxks6rvrzqljyfp92sffgqypf8fpts0pv2dshvmmnrse76v0avlqy7wq7p</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2018-01-28&#xA;📝 Original message:I can see how merging after the fact could be more practical than appending existing transactions.&#xA;&#xA;I think what Moral Agent suggested is the same as your original proposal, namely dropping rule 3. Only fee per weight unit increase from rule 4 would matter.&#xA;&#xA;The minimum per WU increase could be far higher than the minimum relay fee. The few times I’ve used RBF in practice I increased the fee by at least 50%. Rule 4 could be made more strict. I don’t know what number, if any, would address concerns about relay spam?&#xA;&#xA;This wouldn’t be backward compatible. Does that matter as long as there’s enough nodes that follow the new rules? Is there a punishment for relaying transactions that violate rule 3? Could a recipient using the older rules be mislead (in a way that’s worse than the fact that RBF allows the sender to replace the transaction with anything they want anyway)?&#xA;&#xA;Peter Todd wrote:&#xA;&gt; You&#39;d also be able to push others&#39; txs out of the mempool.&#xA;Can you elaborate on this issue?&#xA;&#xA;And wrote:&#xA;&gt; payment service for instance where a large number of deposits are aggregated into a smaller number of payments&#xA;&#xA;So this would involve wallets (of users who deposit coins) cooperating with an exchange API to consolidate in-mempool transactions?&#xA;&#xA;And wrote:&#xA;&#xA;&gt; In fact I considered only requiring an increase in fee rate, based on the&#xA;theory that if absolute fee went down, the transaction must be smaller and thus&#xA;miners could overall earn more from the additional transactions they could fit&#xA;into their block. But to do that properly requires considering whether or not&#xA;that&#39;s actually true in the particular state the mempool as a whole happens to&#xA;be in, so I ditched that idea early on for the much simpler criteria of both a&#xA;feerate and absolute fee increase.&#xA;&#xA;Why would you need to consider the whole mempool? Let’s say a miner is considering to replace transaction A and B with transaction C, where C pays a higher fee per byte than both A and B. This creates space for ~ one additional transaction in the block. It seems to me the miner only needs to check that the lowest fee per weight transaction &gt; min_fee(A,B). At least in first approximation.&#xA;&#xA;Sjors&#xA;&#xA;&gt; Op 24 jan. 2018, om 17:05 heeft Rhavar via bitcoin-dev &lt;bitcoin-dev at lists.linuxfoundation.org&gt; het volgende geschreven:&#xA;&gt; &#xA;&gt; &#xA;&gt;&gt; I&#39;m confused, the mempool only sees 1 transaction at a time, first A, then later B. &#34;the original transactions&#34;, plural, should not exist in the mempool.&#xA;&gt;&gt; &#xA;&gt;&gt; B&#39;s fee and rate needs to be larger than A&#39;s, but B will be greater than or equal to A anyway. So, just increasing the fee rate will cause a larger fee anyway.&#xA;&gt;&gt; &#xA;&gt;&gt; Am I missing something?&#xA;&gt; &#xA;&gt; Kind of. The first case is that you do the &#34;smarter&#34; type of merging, where you get an original transaction and then say add an additional output(s) to it.&#xA;&gt; &#xA;&gt; The issue with this, is from a practical perspective is _very_ complex. Because you really need to do a lot of tracking to see which of the two transactions actually confirm. And if you are promising fast payments, you can be stuck in a weird limbo state where you&#39;re waiting for the original one to &#34;safely&#34; confirm before it&#39;s safe to make a re-payment (even a non-malicious will likely contain the replacement).&#xA;&gt; &#xA;&gt; bip125 already supports this use-case, but I will suggest that the logic to deploy this is sufficiently complex that no one is going to attempt any time in the near future.&#xA;&gt; &#xA;&gt; &#xA;&gt; But &#34;retroactive transaction merging&#34; is actually pretty approachable problem for a service to implement. You just get N valid transactions you&#39;ve made, merge them into one. Strip extraneous inputs[1], and combine and alter the change amount.&#xA;&gt; &#xA;&gt; The reason this is so appealing to implement, is there is very little complexity. If the &#34;retroactive transaction merge&#34; fails, or doesn&#39;t get confirmed, it actually has no impact. If it does get confirmed, that&#39;s just pure cost-savings.&#xA;&gt; &#xA;&gt; However, the rules of bip125 currently make it (unnecessarily?) unappealing, because I can never lower the absolute amount of fees I pay. Hence I think it&#39;d be pretty sweet if they could be relaxed to support this if it can be done in a pretty risk free way.&#xA;&gt; &#xA;&gt; &#xA;&gt; &#xA;&gt; [1] Need to be very careful with that, if you&#39;re ever merging a merged transaction.&#xA;&gt; &#xA;&gt; &#xA;&gt;&gt; &#xA;&gt;&gt; &#xA;&gt;&gt; On Wed, Jan 24, 2018 at 3:44 AM, Peter Todd via bitcoin-dev &lt;bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&gt;&gt;&gt; On Tue, Jan 23, 2018 at 10:49:34PM +0000, Gregory Maxwell via bitcoin-dev wrote:&#xA;&gt;&gt;&gt;&gt; On Tue, Jan 23, 2018 at 10:19 PM, Rhavar via bitcoin-dev&#xA;&gt;&gt;&gt;&gt; &lt;bitcoin-dev at lists.linuxfoundation.org&gt; wrote:&#xA;&gt;&gt;&gt;&gt;&gt; Interesting. I didn&#39;t think about this before, but it seems like bip125 is&#xA;&gt;&gt;&gt;&gt;&gt; rather incentive incompatible right now? If we&#39;re assuming a competitive&#xA;&gt;&gt;&gt;&gt;&gt; mempool, it really doesn&#39;t seem generally rational to accept a replacement&#xA;&gt;&gt;&gt;&gt;&gt; transaction of a lower fee rate.&#xA;&gt;&gt;&gt;&gt; &#xA;&gt;&gt;&gt;&gt; BIP125 replacement requires that the fee rate increases.  The text of&#xA;&gt;&gt;&gt;&gt; the BIP document is written in a confusing way that doesn&#39;t make this&#xA;&gt;&gt;&gt;&gt; clear.&#xA;&gt;&gt;&gt; &#xA;&gt;&gt;&gt; In fact I considered only requiring an increase in fee rate, based on the&#xA;&gt;&gt;&gt; theory that if absolute fee went down, the transaction must be smaller and thus&#xA;&gt;&gt;&gt; miners could overall earn more from the additional transactions they could fit&#xA;&gt;&gt;&gt; into their block. But to do that properly requires considering whether or not&#xA;&gt;&gt;&gt; that&#39;s actually true in the particular state the mempool as a whole happens to&#xA;&gt;&gt;&gt; be in, so I ditched that idea early on for the much simpler criteria of both a&#xA;&gt;&gt;&gt; feerate and absolute fee increase.&#xA;&gt;&gt;&gt; &#xA;&gt;&gt;&gt; --&#xA;&gt;&gt;&gt; https://petertodd.org &#39;peter&#39;[:-1]@petertodd.org&#xA;&gt;&gt;&gt;</html></oembed>