Good morning Jeremy,

> opt-in or explicit tagging of fee account is a bad design IMO.
>
> As pointed out by James O'Beirne in the other email, having an explicit key 
> required means you have to pre-plan.... suppose you're building a vault meant 
> to distribute funds over many years, do you really want a *specific* 
> precommitted key you have to maintain? What happens to your ability to bump 
> should it be compromised (which may be more likely if it's intended to be a 
> hot-wallet function for bumping).
>
> Furthermore, it's quite often the case that someone might do a transaction 
> that pays you that is low fee that you want to bump but they choose to 
> opt-out... then what? It's better that you should always be able to fee bump.

Good point.

For the latter case, CPFP would work and already exists.
**Unless** you are doing something complicated and offchain-y and involves 
relative locktimes, of course.


Once could point out as well that Peter Todd gave just a single example, 
OpenTimeStamps, for this, and OpenTimeStamps is not the only user of the 
Bitcoin blockchain.

So we can consider: who benefits and who suffers, and does the benefit to the 
former outweigh the detriment of the latter?


It seems to me that the necromancing attack mostly can *only* target users of 
RBF that might want to *additionally* add outputs (or in the case of OTS, 
commitments) when RBF-ing.
For example, a large onchain-paying entity might lowball an onchain transaction 
for a few withdrawals, then as more withdrawals come in, bump up their feerate 
and add more withdrawals to the RBF-ed transaction.
Such an entity might prefer to confirm the latest RBF-ed transaction, as if an 
earlier transaction (which does not include some other withdrawals requested 
later) is necromanced, they would need to make an *entire* *other* transaction 
(which may be costlier!) to fulfill pending withdrawal requests.

However, to my knowledge, there is no actual entity that *currently* acts this 
way (I do have some sketches for a wallet that can support this behavior, but 
it gets *complicated* due to having to keep track of reorgs as well... sigh).

In particular, I expect that many users do not really make outgoing payments 
often enough that they would actually benefit from such a wallet feature.
Instead, they will generally make one payment at a time, or plan ahead and pay 
several in a batch at once, and even if they RBF, they would just keep the same 
set of outputs and just reduce their change output.
For such low-scale users, a rando third-party necromancing their old 
transactions could only make them happy, thus this nuisance attack cannot be 
executed.

We could also point out that this is really a nuisance attack and not an 
economic-theft attack.
The attacker cannot gain, and can only pay in order to impose costs on somebody 
else.
Rationally, the only winning move is not to play.


So --- has anyone actually implemented a Bitcoin wallet that has such a feature 
(i.e. make a lowball send transaction now, then you can add another send later 
and if the previous send transaction is unconfirmed, RBF it with a new 
transaction that has the previous send and the current send) and if so, can you 
open-source the code and show me?


Regards,
ZmnSCPxj
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
  • Re: [bitcoi... Jeremy Rubin via bitcoin-dev
    • Re: [b... Peter Todd via bitcoin-dev
      • Re... Jeremy Rubin via bitcoin-dev
        • ... Peter Todd via bitcoin-dev
          • ... darosior via bitcoin-dev
            • ... Peter Todd via bitcoin-dev
            • ... ZmnSCPxj via bitcoin-dev
            • ... ZmnSCPxj via bitcoin-dev
            • ... ZmnSCPxj via bitcoin-dev
            • ... Jeremy Rubin via bitcoin-dev
            • ... ZmnSCPxj via bitcoin-dev
            • ... Jeremy Rubin via bitcoin-dev
          • ... Jeremy Rubin via bitcoin-dev
            • ... Peter Todd via bitcoin-dev
            • ... Jeremy Rubin via bitcoin-dev
            • ... Peter Todd via bitcoin-dev
            • ... Jeremy Rubin via bitcoin-dev
            • ... Peter Todd via bitcoin-dev
            • ... Jeremy Rubin via bitcoin-dev
            • ... Peter Todd via bitcoin-dev
            • ... Undiscussed Horrific Abuse, One Victim of Many via bitcoin-dev

Reply via email to