<p>It's extremely useful to multiple different classes of Bitcoin users to be able to predict which transactions miners will include in their blocks.  If we assume that miners will attempt to maximize fee revenue, and if we know what algorithms they will use, we can predict their behavior.  That means:</p>
<ul>
<li><p><strong>Spenders</strong> can choose fees and dependency relationships for their transactions which are appropriate to obtain confirmation within their desired amount of time.</p>
</li>
<li><p><strong>Volunteer relay nodes</strong> only need to relay unconfirmed transactions that have a high chance of being mined.  Less memory and bandwidth is wasted on transactions that are unlikely to be mined.  Volunteer relay of unconfirmed transactions is a critical part of keeping mining decentralized (<a href="https://bitcoinops.org/en/topics/out-of-band-fees/" rel="noreferrer">details</a>).</p>
</li>
<li><p><strong>Miners</strong> can quickly validate blocks from other miners because they largely include the same transactions as the receiving miner would've mined themselves.  Faster validation reduces the number of stale blocks, which boosts proof-of-work security and reduces the pressure for miners to centralize their operations.</p>
</li>
</ul>
<p>It can be profitable for a miner to boost their revenue by throwing large amounts of extra CPU, memory, disk space, and other resources at finding the highest fee set of transactions.  Their extra costs can pay for themselves if they obtain more fees.  But spenders, volunteer relay nodes, and small decentralized miners don't always have excess resources to spare and can't replicate that effort.</p>
<p>Protocol developers work to find algorithms that are highly effective at finding the best fee transactions with a minimal of CPU, memory, and other resources.  This allows spenders to make reasonable feerate estimates, volunteer relay nodes to operate with a modest amount of bandwidth and memory, and small decentralized miners to earn just as much fee revenue as large miners.  All of those contribute greatly to keeping Bitcoin usable and decentralized.</p>

CC BY-SA 4.0
2024-07-17T21:52:42.570Z
and why is the current structure and a simple enough greedy algorithm not good enough that it would need a great intervention of complete overhaul of mempool structure which will then be asked to update by everyone and not just the miners to reap all these said benefits?
WhoIsNinja
CC BY-SA 4.0
2024-07-17T22:48:20.397Z
@WhoIsNinja that's a good separate question, but in short: unconfirmed transactions can depend on other unconfirmed transactions (which can themselves depend on other unconfirmed transactions etc), so it's more than a typical knapsack problem.  Some more info is here: https://delvingbitcoin.org/t/an-overview-of-the-cluster-mempool-proposal/393#background-and-motivation-2
David A. Harding
CC BY-SA 4.0
2024-07-17T22:59:24.487Z
Thanks, I added a separate question: https://bitcoin.stackexchange.com/questions/123682/why-is-restructure-of-mempool-required-with-cluster-mempool-required
WhoIsNinja
CC BY-SA 4.0
2024-07-18T13:07:36.943Z
"Protocol developers work to find algorithms that are highly effective at finding the best fee transactions with a minimal of CPU, memory, and other resources."

When was the last time "protocol developers" did this after original author of Bitcoin software i.e. Satoshi left?
WhoIsNinja
CC BY-SA 4.0
2024-07-30T14:09:04.807Z
@WhoIsNinja: That might be a good new topic, e.g. along the lines of "how has tracking of unconfirmed transactions evolved since Bitcoin was published"?
Murch
CC BY-SA 4.0
2024-07-17T21:13:03.120Z
2024-07-17T21:13:03.120Z
David A. Harding
<p>A Twitter user <a href="https://x.com/Chester07752238/status/1813638246678855745" rel="nofollow noreferrer">asks</a>: &quot;Why are so many [protocol engineers] so worried about miner revenue? [...] IMO, it would be best to focus on what the end users want, not large corporation wants.&quot; (Edited to remove some combative phrasing.)</p>

<transaction-fees><mining-theory><bitcoin-core-development><mempool><relay>
Why do protocol developers work on maximizing miner revenue?
David A. Harding
# Why do protocol developers work on maximizing miner revenue?

(Asked by: username_0 on 2024-07-17)

A Twitter user [asks](https://x.com/Chester07752238/status/1813638246678855745): "Why are so many [protocol engineers] so worried about miner revenue? [...] IMO, it would be best to focus on what the end users want, not large corporation wants." (Edited to remove some combative phrasing.)

**Tags:** transaction-fees, mining-theory, bitcoin-core-development, mempool, relay


---

## 1 answers

### Answer by username_0 on 2024-07-17. Score: 6 | Accepted answer

It's extremely useful to multiple different classes of Bitcoin users to be able to predict which transactions miners will include in their blocks. If we assume that miners will attempt to maximize fee revenue, and if we know what algorithms they will use, we can predict their behavior. That means:

* **Spenders** can choose fees and dependency relationships for their transactions which are appropriate to obtain confirmation within their desired amount of time.
* **Volunteer relay nodes** only need to relay unconfirmed transactions that have a high chance of being mined. Less memory and bandwidth is wasted on transactions that are unlikely to be mined. Volunteer relay of unconfirmed transactions is a critical part of keeping mining decentralized ([details](https://bitcoinops.org/en/topics/out-of-band-fees/)).
* **Miners** can quickly validate blocks from other miners because they largely include the same transactions as the receiving miner would've mined themselves. Faster validation reduces the number of stale blocks, which boosts proof-of-work security and reduces the pressure for miners to centralize their operations.

It can be profitable for a miner to boost their revenue by throwing large amounts of extra CPU, memory, disk space, and other resources at finding the highest fee set of transactions. Their extra costs can pay for themselves if they obtain more fees. But spenders, volunteer relay nodes, and small decentralized miners don't always have excess resources to spare and can't replicate that effort.

Protocol developers work to find algorithms that are highly effective at finding the best fee transactions with a minimal of CPU, memory, and other resources. This allows spenders to make reasonable feerate estimates, volunteer relay nodes to operate with a modest amount of bandwidth and memory, and small decentralized miners to earn just as much fee revenue as large miners. All of those contribute greatly to keeping Bitcoin usable and decentralized.

> **Comments:**
> **username_1**: and why is the current structure and a simple enough greedy algorithm not good enough that it would need a great intervention of complete overhaul of mempool structure which will then be asked to update by everyone and not just the miners to reap all these said benefits?  
> **username_0**: @username_1 that's a good separate question, but in short: unconfirmed transactions can depend on other unconfirmed transactions (which can themselves depend on other unconfirmed transactions etc), so it's more than a typical knapsack problem.  Some more info is here: https://delvingbitcoin.org/t/an-overview-of-the-cluster-mempool-proposal/393#background-and-motivation-2  
> **username_1**: Thanks, I added a separate question: https://bitcoin.stackexchange.com/questions/123682/why-is-restructure-of-mempool-required-with-cluster-mempool-required  
> **username_1**: "Protocol developers work to find algorithms that are highly effective at finding the best fee transactions with a minimal of CPU, memory, and other resources."  When was the last time "protocol developers" did this after original author of Bitcoin software i.e. Satoshi left?  
> **username_2**: @username_1: That might be a good new topic, e.g. along the lines of "how has tracking of unconfirmed transactions evolved since Bitcoin was published"?  

---

