LearnBitcoin

Bitcoin Dev Archive 2022

Does Bitcoin require or have an honest majority or a rational one? (re rbf) (Jeremy Rubin)

3 messages, 17 to 20 Oct 2022. Started by John Carvalho.

John Carvalho, Murch, Peter Todd

Permalink Original thread on gnusha.org

John Carvalho permalink original

Simply, 0conf acceptance can be monitored and enforced by the merchant and exposure to doublespends can be both mitigated and limited in size per block. It is less expensive to be double-spent occasionally than to have a delayed checkout experience. Responsible 0conf acceptance is both rational and trusting.

RBF assurances are optionally enforced by miners, and can be assisted by node mempool policies. It is not reliable to expect replaceable payments to be enforced in a system designed to enforce integrity of payments. RBF is both irrational and trusting.

RBF is a whim of a feature where engineers made the mistake of thinking a hack that basically incentivizes rollbacks and uncertainty might be useful because we can pretend Bitcoin has an undo button, and we can pretend to game the fee market by low-balling rates until txns get in.

Now RBF just kinda haunts us as the establishment keeps baking it deeper and deeper into Bitcoin, despite almost no one using it, and despite it having negative consequences on more popular use cases.

Miners serve full nodes. What is more likely, a node set that prefers blocks with replaced txns, or a node set that rejects blocks with replaced txns?

Murch in reply to John Carvalho permalink original

Hello John,

On 17.10.22 02:23, John Carvalho via bitcoin-dev wrote:

Quoted text (1 line)
> Simply, 0conf acceptance can be monitored and enforced by the merchant and exposure to doublespends can be both mitigated and limited in size per block. It is less expensive to be double-spent occasionally than to have a delayed checkout experience. Responsible 0conf acceptance is both rational and trusting.

29% of all transactions explicitly signal replaceability (see https://transactionfee.info/charts/transactions-signaling-explicit-rbf/), trend rising. If ignoring risk is an acceptable approach now, why would it no longer work when the remaining 71% of transactions also became subject to replaceability?

On 17.10.22 02:23, John Carvalho via bitcoin-dev wrote:

Quoted text (1 line)
> Now RBF just kinda haunts us as the establishment keeps baking it deeper and deeper into Bitcoin, despite almost no one using it, and despite it having negative consequences on more popular use cases.

How can RBF at the same time be hardly used as well as an incalculable risk?

Fact of the matter is that one can neither rely on having seen all transactions that miners are considering for their block templates, nor that a replacement be received by the miners before the original is picked into a block. We're between seats: first-seen is an unstable gentlemen's agreement, inevitable to fail eventually once a few defect. Meanwhile propping up the illusion of "reliable payment promises" is hampering price discovery of blockspace and complicating protocol development. By converging on the inevitable outcome and facilitating replaceability for all transactions, we can rip off the band-aid rather than suffer uncertainty indefinitely—even if it requires some to honestly reassess their business approach in light of the natural modus operandi of Bitcoin's gossip system.

Cheers, Murch

Peter Todd in reply to John Carvalho permalink original

On Mon, Oct 17, 2022 at 08:23:20AM +0200, John Carvalho via bitcoin-dev wrote:

Quoted text (10 lines)
> Simply, 0conf acceptance can be monitored and enforced by the merchant and
> exposure to doublespends can be both mitigated and limited in size per
> block. It is less expensive to be double-spent occasionally than to have a
> delayed checkout experience. Responsible 0conf acceptance is both rational
> and trusting.
>
> RBF assurances are optionally enforced by miners, and can be assisted by
> node mempool policies. It is not reliable to expect replaceable payments to
> be enforced in a system designed to enforce integrity of payments. RBF is
> both irrational and trusting.

My OpenTimestamps calendars all use RBF for optimal fee discovery. The fact is, about 95% of OTS transactions mined are replacements rather than originals. I also took a quick look, and found examples of replacements mined by Foundry USA, AntPool, F2Pool, Binance Pool, ViaBTC, SlushPool, Luxor, MARA Pool, and Poolin. That's at least 97.21% of all hashing power supporting opt-in RBF.

Are you claiming that almost all hashing power is irrational?

Quoted text (4 lines)
> RBF is a whim of a feature where engineers made the mistake of thinking a
> hack that basically incentivizes rollbacks and uncertainty might be useful
> because we can pretend Bitcoin has an undo button, and we can pretend to
> game the fee market by low-balling rates until txns get in.

Electrum *literally* has an undo button, implemented with RBF. I've used it a half dozen times, and it's worked every time.

Quoted text (3 lines)
> Miners serve full nodes. What is more likely, a node set that prefers
> blocks with replaced txns, or a node set that rejects blocks with replaced
> txns?

Has anyone _ever_ implemented a node that rejects blocks containing double-spends? I don't believe the code to reject such blocks even exists. Note that it should: that's a terrible idea that could lead to sever consensus problems.