Only by grace of us centrally controlling properties like minimum relay fee.
Only because the cost of validation (as measured by the VM) is not taking into account in any relays either.
And the mempools also only have most transactions because miners empty the mempool and don’t filter.
The risk that I’m thinking here is that miners may very well want to change some of those properties. Some may want to start mining half a sat per byte transactions should the price of a single BCH go up a lot.
I don’t think that is unrealistic. In fact, if miners want to use their ability to pick and choose what they want to put in a block (or not), I think we should welcome that.
So, this is a multi step logical argument. Sorry for jumping over them before. I hope I can get it across fully. Let me try;
So, a miner may want to mine something different than some other miner. They can set local filters, change their relay rules etc. Because (this is how it works) their local mempool is what is being mined by that miner (or pool).
So the risk here is that should a miner choose to play with what they want to mine, they are instantly putting requirements on what their view of the world is. They NEED to change what is in their mempool. A miner decides to mine nothing below 2 sats/byte? Their mempool is forced to reflect that.
And that is pretty bad the moment it comes to that miner receiving another miner’s block. The further the two miners are out of balance, the more costly it is to validate the block because he now has to download those transactions that he rejected before for the block he wanted to mine.
So, the goal of giving a miner the right to mine whatever he wants to mine is not really reachable in a more mature bitcoin cash.
Therefore the separate goal is stated by me above that a mempool should have as many transactions as reasonably possible, in order to be able to reconstruct a block without downloads. Additionally such a mempool is helpful to detect double spends.
So, to wind back, the miners want their mempool to look uniform. That is the goal I think is healthy to continue to aim for. And this is mostly true today, but the moment miners may want to start innovating in what they include and when, this may become the first victim.
So my thinking is, we should look into the future of what the miner needs and have everyone agree to set as goal to have the mempools mostly identical. Becase then when miners start to innovate it will become clear they “shall” to not touch the mempool. Instead they need to do their tx-selection in a different pool of transactions.
A memory pool that is the same between the majority of the bitcoin cash network participants is what keeps block propagation look and smooth. Which is the topic today. It should be remarked that we can have have future development possibilities and free market innovation just fine. But that needs more software developement.