public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
* [bitcoin-dev] Rethinking “Incentive Compatibility” Within the Bitcoin Protocol
@ 2022-12-10 12:10 John Carvalho
  2022-12-11 13:58 ` Michael Folkson
  2022-12-11 15:30 ` Daniel Edgecumbe
  0 siblings, 2 replies; 5+ messages in thread
From: John Carvalho @ 2022-12-10 12:10 UTC (permalink / raw)
  To: Bitcoin

[-- Attachment #1: Type: text/plain, Size: 4085 bytes --]

As we debate mempoolfullrbf, and I familiarize myself with related PRs from
engineers trying to reign in all of the possible behaviors that make it
inconsistent, I can’t help but think about how I see people using the term
“incentive-compatible” and how it seems to be awfully presumptive.

The idea that a single Bitcoin transaction can be “incentive-compatible” by
simply restricting it to having a higher fee or fee rate is theoretical,
likely narrow, and not totally objective. RBF is inherently a
fee-minimization tool, which as a concept, as I understand
“incentive-compatibility” to be about miners in this context, makes RBF to
be anti-incentives; miners are fee maximizers.

Miners want the most fees per block, and per lifetime, do they not? If
miners, and the mempool, are prioritizing for the smallest txns with the
highest fees, over the longest acceptable amount of time, this may conflict
with extra-mempool behaviors that result in more txns per block / per
lifetime.

If this isn’t making sense yet, let me summarize by how such a problem
would express: a per-transaction fee-minimized, fully replaceable mempool
as policy, that appears to always require the highest fee per txn, but
ultimately includes less txns per block and less fees per lifetime.
Basically, less use cases, less users, less txns — all to enforce a
misunderstood theory and predictive speculation of what people want out of
the system and what miners will do about it.

Simply, we probably want designs that fill blocks, and we don’t need to do
anything at all to facilitate bidding on a use case like replacement.

Bidding does not require protocol enforcement, it is miner-subjective. So
why are we pursuing it? Why do we even have RBF? Why are we trying to clean
up all of the mess RBF creates with more and more code? If bidding is
already accepted as incentive-compatible, and Bitcoin already allows
setting a fee, then replacement requires no special code at all.

I would think a holistic definition of what is incentive-compatible would
be something more like what is “market compatible” and enables the
complementary goals & incentives of every user in the system to make it
thrive.

It has been shown that users control Bitcoin (UASF) and thus ultimately
miners would be incentivized to do what users want, up to the point of
inability or loss. Correct?

So, in contrast, how would the opposite, a user-compatible design, express?
Well, I think the idea of txns being able to signal intent and desired
behavior is more interesting (more useful) than a mempool that overrides
all intent with RBF, and possibly more incentive-compatible than
mempoolfullrbf as concept.

Since we can’t be sure what the market wants, but we can be sure that the
more users we have, making the most possible txns, at the highest possible
prices, will yield the most valuable Bitcoin, and thus the most hashpower,
we could entertain giving users the most ways to express their intent, the
most flexibility.

The most basic design would be to simply have no mempool policy at all, and
let market incentives emerge on their own, but we have a status quo to
consider, and most users do not have the technical expertise to express
their own policies with misc patches and hacks of their Bitcoin Core
software.

I know this is a bit of a high-level abstract perspective, but I think it
is important to respect such dynamics when making smaller decisions. It
certainly is not our charge to prioritize what miners want any more than
any other user type, nor is it within our ability to predict the future or
fully model incentives of all players across all use cases.

I know some of you may scoff at my bias for use cases like zero-conf, but
what I am trying to convey is a possible folly in active management,
speculation, and misapplied game theory that may permeate many Bitcoin Core
decisions and designs, even beyond the mempoolrbf / zero-conf debate.

So, what to do?

—

John Carvalho
CEO, Synonym.to

[-- Attachment #2: Type: text/html, Size: 4129 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-12-11 15:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-10 12:10 [bitcoin-dev] Rethinking “Incentive Compatibility” Within the Bitcoin Protocol John Carvalho
2022-12-11 13:58 ` Michael Folkson
2022-12-11 14:56   ` John Carvalho
2022-12-11 15:44     ` Michael Folkson
2022-12-11 15:30 ` Daniel Edgecumbe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox