Pages:
Author

Topic: What happens if pools try to maximize fees by congesting the network? - page 2. (Read 491 times)

legendary
Activity: 4410
Merit: 4766
i find it strange how blackhat makes a topic about mining pool mangers colluding to attempt to raise the fee's .. via a blackhat stupid scenario method of messing with users mempools..

the  easiest, fastest cheapest option is just have them mining pool managers just select exclusively high tx fee's especially ones they include to themselves thus no real cost to themselves thus they end up setting the min fee the network sees as what gets into the next block majority of the time

all of this chatter about needing to mess with users mempools becomes meaningless and can cause excess cost to pools who stupidly would broadcast tx's with fees to the network unconfirmed as it allows the non colluding pools to pick them up along with users other cheap fee tx.

i think blackhatcoiner was told a stupid scheme by a buddy he knows, but doesnt understand the process himself..  and is asking the community how effective it is and ignoring the basics of how bitcoin actually works to not understand how futile his scenario is in comparison to much easier and cheaper and more effective methods

in short. pools dont need to mess with users nodes database of zero-confirm transactions..
pools just choose to only include high fees in their own blocktemplates.. job done

edit to respond to below
the  easiest, fastest cheapest option is just have them mining pool managers just select exclusively high tx fee's especially ones they include to themselves thus no real cost
Don't free market principles apply to frankland-utopia?
dont you understand that your forum wife pretends to spout "freemarket" like a libertarian loyalist(when he is on a recruitment drive to find people to adore him).. but he is really just playing you.. because its a false excuse to make everyone pay more.. and there is no actual free market..

heck when you ignore his pretend libertarian recruitment buzzwords and listen to what he says once he thinks he has enough recruits for the week. he changes his narrative..
EG when he adores the fee mania and wants people to pay more.. thats capitalism not libertarian freemarket
and no capitalism is not a freemarket stereotype

try not to rely on your forum wifes buzzwords. actually take some time to learn how bitcoin works
legendary
Activity: 2912
Merit: 6403
Blackjack.fun
Invalidating transactions it will mean it will be dropped out of every single node mempool, so leaving the mempool empty again.
But that would be late. People would have raised their fee rate, and they won't be able to lower it, which is what's this attack all about.

If you allow enough time before invalidating it you risk another miner mining them just 5 seconds after so you just lose money and achieve zero.

How so? The parent transaction is meaningless in size, comparably to the children. If you have 1000 tx paying 200 sat/vb, and 1 tx paying 1 sat/vb, it's obviously in favor of the miner to include all 201. Why would the explorer show 20 sat/vb?

20 was just a thrown-out number because I didn't know the size of the parent, but still no!
The most important thing is that you're trying this to block the tx from getting confirmed but at the same time rise the median fee of the next block and it doesn't work:
- if you throw like you said 201 tx with the above fees they will simply get confirmed in the next block and the rest of the fees in the mempool will have no time to pick up, but you just wasted 1 btc to the competition
- if you push 1000 highly paid tx at 200sat/b and you try chain them to the mempool forever with parents twice their size but with 1 sats the mempool will not show 200sat/vb since that tx are ~66at/b and they will still get confirmed as they wills till be the first in line.

Either you try to maximize the fees and you risk having them confirmed in minutes, or you either chain them by reducing their overall fees in which case they will obviously not raise the mempool fee average or next block fees.
Again, you can't rise the fees for the next block estimation without putting their tx that will get confirmed in the next block, so gifting bitcoins to other mners for nothing!

It will be far easier to just mine for like 12 hours empty blocks blaming some glitch and then "solve' the issue!


legendary
Activity: 1512
Merit: 7340
Farewell, Leo
Invalidating transactions it will mean it will be dropped out of every single node mempool, so leaving the mempool empty again.
But that would be late. People would have raised their fee rate, and they won't be able to lower it, which is what's this attack all about.

So you can have 1000 tx with 200sat/b if you want to get them stuck like this by having either a parent or child with 1 sat/b it will still bring the average fees down also
How so? The parent transaction is meaningless in size, comparably to the children. If you have 1000 tx paying 200 sat/vb, and 1 tx paying 1 sat/vb, it's obviously in favor of the miner to include all 201. Why would the explorer show 20 sat/vb?
legendary
Activity: 2912
Merit: 6403
Blackjack.fun
Both parent and child transactions are unconfirmed, and the high-paying one is the child, so to invalidate the big one, you only need to double-spend the parent. So, you could pretend the mempool is clogged up, but you'd only need to mine one small transaction for invalidating every big child transaction.

Invalidating transactions it will mean it will be dropped out of every single node mempool, so leaving the mempool empty again.
If you try to force the chain of child and parents to remain unconfirmed by a low fee from either of them it will bring the other transactions fee down also.So you can have 1000 tx with 200sat/b if you want to get them stuck like this by having either a parent or child with 1 sat/b it will still bring the average fees down also, so you will be having 1001 tx with  20 or whatever sat per byte and every mempool explorer will see that.

You can't get a valid traction that pays over the next block limit stuck in the mempool, there is no way for that other than all miners blacklisting them.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
Just for clarity: any post related to "cult groups" and "Bitcoin Core dev team" derails the thread and will be deleted.
legendary
Activity: 2898
Merit: 1823
I'm not debating if they can or cannot do it. I'm merely asking if it's sustainable, and if the pools can actually get away with such dishonesty towards the community. How long until the developers, the users and the economic majority, and the honest miners and pools come together to find a way to kick those pools out of the network? It might start another movement within the community again.

Would the top mining pools take the risk for temporary additional profit? Or will they take the game theoretically smart approach and simply be honest?

imagine this scenario

for 18 blocks the total fee is 10sat/byte. meaning an average block is 0.15btc in total fees for 1.5mb block
meaning over 3 hours they get 2.7btc

now imagine for the next 18 blocks the pools collude by creating their own self confirming transaction paying to their own destination where because they do not broadcast pre-confirm to the network. they are the sole includer of their transaction in their block meaning their fees come back to themselves. so no cost
the asics of their pools still get shares of the main 6.25btc so they are happy

and now the colluding pools create a 3 hour situation of only including fees of 40sat/byte of their own self paying transactions)again reminder NO COST)
thus in that 3 hours . USERS start to see delays in users getting confirmations and so users start to do RBF to increase their fee to 40sat+/byte min

now the pools dont have to fill their blocks with only their own transactions when users are now starting to pay that minimum.. so they can include some of there own and users transactions of 40sat/byte plus until its majority users transactions of 40sat/byte tx in a block

now they are starting to earn again from users. but still ensuring they set min confirm fee of 40sat/byte. which continues to make users pay that amount.

and soon you are realising when user pay this amount, the pool is getting 10.8btc per 3 hours instead of 2.7btc and the pool does not have to bloat a block with their own transactions becasue now the users are paying their collusion high fee requirement


I already told you, I'm not debating what they can or cannot do technically. I'm already asking under the assumption that they can do it.

Quote


as for "can the network stop this"

arnt you part of the idiot-speak cult group that dont want to stop high fee's.. you know the guys that want cheap fees rejected unconfirmed and want a "freemarket" of paying premium..

arnt you also part of the same idiot brigade that doesnt want to reject dishonest stuff.. such as ordinals scams that has caused a fee mania via a different technique but your cult wants to continue

yes technically there are many ways to stop it but i am 100% sure your cult and the core devs wont implement it


Hey franknbeans, there's a massive difference between the scaling debate and what was at stake during that era, and what's being discussed in the hypothetical situation that OP is asking.

It's a valid question. How sustainable is it when the community sees such dishonesty, and what assurances are there that the miners will continue pointing their hashing power towards dishonest pools?
legendary
Activity: 4410
Merit: 4766
I'm not debating if they can or cannot do it. I'm merely asking if it's sustainable, and if the pools can actually get away with such dishonesty towards the community. How long until the developers, the users and the economic majority, and the honest miners and pools come together to find a way to kick those pools out of the network? It might start another movement within the community again.

Would the top mining pools take the risk for temporary additional profit? Or will they take the game theoretically smart approach and simply be honest?

imagine this scenario

for 18 blocks the total fee is 10sat/byte. meaning an average block is 0.15btc in total fees for 1.5mb block
meaning over 3 hours they get 2.7btc

now imagine for the next 18 blocks the pools collude by creating their own self confirming transaction paying to their own destination where because they do not broadcast pre-confirm to the network. they are the sole includer of their transaction in their block meaning their fees come back to themselves. so no cost
the asics of their pools still get shares of the main 6.25btc so they are happy

and now the colluding pools create a 3 hour situation of only including fees of 40sat/byte of their own self paying transactions)again reminder NO COST)
thus in that 3 hours . USERS start to see delays in users getting confirmations and so users start to do RBF to increase their fee to 40sat+/byte min

now the pools dont have to fill their blocks with only their own transactions when users are now starting to pay that minimum.. so they can include some of there own and users transactions of 40sat/byte plus until its majority users transactions of 40sat/byte tx in a block

now they are starting to earn again from users. but still ensuring they set min confirm fee of 40sat/byte. which continues to make users pay that amount.

and soon you are realising when user pay this amount, the pool is getting 10.8btc per 3 hours instead of 2.7btc and the pool does not have to bloat a block with their own transactions becasue now the users are paying their collusion high fee requirement


as for "can the network stop this"
arnt you part of the idiot-speak cult group that dont want to stop high fee's.. you know the guys that want cheap fees rejected unconfirmed and want a "freemarket" of paying premium..
arnt you also part of the same idiot brigade that doesnt want to reject dishonest stuff.. such as ordinals scams that has caused a fee mania via a different technique but your cult wants to continue

yes technically there are many ways to stop it but i am 100% sure your cult and the core devs wont implement it
legendary
Activity: 2898
Merit: 1823
I think that even if collusion to engineer a congestion was technically possible, how does that play out in those pool's long term expectation to get incentivized? Such a thing cannot be hidden forever, and the discovery of collusion/dishonesty would make the participants lose confidence in the system, which would probably also make them leave and cause a price crash.

From a game theory point of view, it's better for the pools to do what's best for themselves, but also act honestly and do what's best for the rest of network.

because when pools force thousands of users to pay more. the pools can ramp down their own high fee tx's to themselves and and instead let high fee users fill the gap. thus making the users then persist the fee mania

EG
imagine the next 18 blocks are transactions of high fee's of pools sending transactions to themselves in their own block templates thus paying the fees back to themselves.. causing fees to show as 60sat/byte minimum.. without costiong the pools anything..

then users will see a 60sat/byte minimum for last 3 hours and so realise if they want to get a tx to confirm within 3 hours(3x(6blocks/hour)=18) then they need to pay that minimum

then when the pools see normal users paying 60sat/byte minimum they allow those transactions in and not include one of their own. ramping fown their own tx involvement becasue now the users tx start to persist the attack for them.. thus they continue letting in users transactions as long as users pay 60sat/byte min

again by pools not zero-confirm relaying their own tx and only including them in their own block template. it stops competing pools stealing their fee's and thus costs the attacker pools nothing to do this, with just a 3 hour of no external fee income until they can push the fee estimates up to the min amount for users to then pay the pools this higher fee consistantly



I'm not debating if they can or cannot do it. I'm merely asking if it's sustainable, and if the pools can actually get away with such dishonesty towards the community. How long until the developers, the users and the economic majority, and the honest miners and pools come together to find a way to kick those pools out of the network? It might start another movement within the community again.

Would the top mining pools take the risk for temporary additional profit? Or will they take the game theoretically smart approach and simply be honest?
hero member
Activity: 882
Merit: 792
Watch Bitcoin Documentary - https://t.ly/v0Nim
you dont need to clog the mempool of users to cause fee mania. as proven dozens of times over the year.. the mempool clog is the reaction not the cause.

and by the way.. 32,000tx of tx that are ~250bytes. meaning 0.25btc a tx meaning 8000BTC for a 2 hour non event that dissipates after two hors thus wasted 8k btc for a non event..

unlike other fee mania methods involving transactions that do get into blocks. thus can cost a pool nothing if organised right. and can sustain for far far longer
Why 250 bytes? Let's take 142 bytes. I made a typo, should have written 100 sat, sorry.
Totally, transaction fee per the smallest transaction would be 0.00011BTC, i.e. 3.52 Bitcoin totally (0.00011 * 32,000). At the moment it will clog mempool because fees are low but 200 sat/byte or 400 sat/byte is no joke for anyone.

For example, make 32,000 transactions offline with 0.001 sat/vB and broadcast them all at once.
First of all, 32,000 transactions which pay 0.001 sat/vb isn't a problem. Even if full nodes didn't deny to propagate your transactions, they'd have the least priority. My hypothetical attack is all about pretending there are people paying for priority (when there aren't). Secondly, 0.001 sat/vb is so low, that your transactions will probably never reach the miner. (unless you drop them a message, and then again, I don't think they'd accept as it's really strange)
It was a typo, sorry. I already wrote above and edited my post.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
For example, make 32,000 transactions offline with 0.001 sat/vB and broadcast them all at once.
First of all, 32,000 transactions which pay 0.001 sat/vb isn't a problem. Even if full nodes didn't deny to propagate your transactions, they'd have the least priority. My hypothetical attack is all about pretending there are people paying for priority (when there aren't). Secondly, 0.001 sat/vb is so low, that your transactions will probably never reach the miner. (unless you drop them a message, and then again, I don't think they'd accept as it's really strange)
legendary
Activity: 4410
Merit: 4766
To be honest, it's entirely possible even for one man to clog the whole bitcoin mempool with some tens or hundreds of thousands of dollars, depends how long do you want to ruin the party and then depends if that lit turns into fire.

Just small statistics before I show you an example:
  • Roughly 6 blocks are mined each hour.
  • Roughly 2600 bitcoin transactions are confirmed in one block, that means 16K transactions are confirmed an hour.
For example, make 32,000 transactions offline with 0.001 sat/vB and broadcast them all at once. You are gonna clog the whole bitcoin mempool for 2 hours, guaranteed!

By the way, those big mining companies aren't good guys, they manipulate transaction fees, sometimes. They can cooperate too but if they cooperate, this will destroy the whole bitcoin ecosystem and there will be no winner in this game.

you dont need to clog the mempool of users to cause fee mania. as proven dozens of times over the years.. the mempool clog of users nodes is the reaction not the cause.
the cause is what pools allow into their blocks

and by the way.. 32,000tx of tx that are ~250bytes. meaning 0.25btc a tx meaning 8000BTC for a 2 hour non event that dissipates after two hors thus wasted 8k btc for a non event..

unlike other fee mania methods involving transactions that do get into blocks. thus can cost a pool nothing if organised right. and can sustain for far far longer

mining pools dont need to first attack users mempools to cause fee mania

however if the topic was "what if core try to maximize fees by congesting the network?!"
then the answer would be doing what they are already doing by messing with the users mempool and relay limits to reject/prune cheap fee's to never reach a pool, causing everyone to pay more just to get seen by a pool
hero member
Activity: 882
Merit: 792
Watch Bitcoin Documentary - https://t.ly/v0Nim
Honestly, I had never thought about this before, or at least I don't remember thinking about it.

Say that Foundry USA, AntPool and F2Pool (which in total hold about 69% of the hash rate according to btc.com) cooperated to pretend there's network congestion, when there isn't. For example, say the median fee is 1 sat/vb. But, they don't like that, so they broadcast a thousand transactions paying 5-10 sat/vb, to encourage some of the users with 1 sat/vb to raise their fee rate. Pools' transactions don't cost them anything, because they don't include them into their candidate blocks. They just take advantage of the wallet software there exists which tells the user to pay more to have priority.

This isn't limited to when there isn't congestion. Pools could do this right now with Ordinals, and broadcast transactions with 100 sat/vb; that would encourage those paying 50 sat/vb to raise fees. To avoid other pools from including their transactions (and pay 100 sat/vb which is pretty high), they could sometime include a transaction that invalidates their attractive transactions (e.g., spends an UTXO from those).

A problem, from the pool owners' side, is that they can get caught easily for doing it. Every person running a full node will notice unreasonable activity (the miner not including tx that pay much), and blocks mined by pools are known.
To be honest, it's entirely possible even for one man to clog the whole bitcoin mempool with some tens or hundreds of thousands of dollars, depends how long do you want to ruin the party and then depends if that lit turns into fire.

Just small statistics before I show you an example:
  • Roughly 6 blocks are mined each hour.
  • Roughly 2600 bitcoin transactions are confirmed in one block, that means 16K transactions are confirmed an hour.
For example, make 32,000 transactions offline with 100,000 sat/vB and broadcast them all at once. You are gonna clog the whole bitcoin mempool for 2 hours, guaranteed!

By the way, those big mining companies aren't good guys, they manipulate transaction fees, sometimes. They can cooperate too but if they cooperate, this will destroy the whole bitcoin ecosystem and there will be no winner in this game.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
the obvious way. by pools not including your transaction unless your fee meets their desired minimum..
This is not how the free market works. Eventually, there will be pools willing to include my transaction if it only constitutes profit. For example, if they do have a few transactions paying 1 sat/vb, and choose not to include them, and mine empty blocks, then at some point, there will be some miner who will. It will only be loss for them. Simple economics; supply and demand and of block space.
legendary
Activity: 4410
Merit: 4766
because when pools force thousands of users to pay more
How can a pool force you to pay more?

the obvious way. by pools not including your transaction unless your fee meets their desired minimum..
isnt this the whole point of your topic. trying to think of ways to cause fee mania again.. via pools

seems you dont know the basics of most things. because you think its a users mempool that does transaction selections for blocks. maybe you need to realise its actually pools that select the transactions that go into blocks. not users nodes.

but i did find it funny how your scenario in this topic is you trying to mess TEMPORARILY with users mempool of zero-confirm transactions and cancelling them before they get into a block. thus have nothing to do with fees of transaction that pools select of what they want to see in a block.. you know, blocks.. you know the block data where real estimate of priority are found.. you know blocks created by pools.. (or maybe you dont know these things)

but anyway you have much to learn so ill give you a break and give you some time to learn. try not to waste it on social drama. and instead actually learn some stuff
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
I still do not get it; you are saying one can invalidate the parent transaction by mining the smaller (in size) child transaction? But to mine the child transaction you do have to confirm the parent transaction as well
No, I mean the opposite. The child is the big transaction, and the parent is just an unconfirmed one. You can invalidate the big transaction, by double-spending the parent.

because when pools force thousands of users to pay more
How can a pool force you to pay more?

Another question, when or how should they decide to invalidate their transaction?
As I said, by invalidating the parent, it's trivial to pretend there's bulk of high-paying child transactions, with minimum cost. When you should do it, is another thing to discuss. I don't know.
legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
Say that Foundry USA, AntPool and F2Pool (which in total hold about 69% of the hash rate according to btc.com) cooperated to pretend there's network congestion, when there isn't. For example, say the median fee is 1 sat/vb. But, they don't like that, so they broadcast a thousand transactions paying 5-10 sat/vb, to encourage some of the users with 1 sat/vb to raise their fee rate. Pools' transactions don't cost them anything, because they don't include them into their candidate blocks. They just take advantage of the wallet software there exists which tells the user to pay more to have priority.

If those pools doesn't include TX with high fee rate (which created by themselves) on their block, wouldn't people find it as odd/unusual behavior? For example, mempool.space have block audit[1] and block health[2] feature which can be used to check such behavior easily.

Wouldn't the remaining 31% of the hash rate include those 10 sat/vb transactions in their blocks?
They'd have less chance than the 69%. Also, the 69% could invalidate them at any time, and at a very low cost, just by making sure they use CPFP. For instance, a 10kb transaction paying 100 sat/vb, requires only a small transaction spending the parent, and invaliding the 10kb one.

Another question, when or how should they decide to invalidate their transaction?

[1] https://mempool.space/docs/faq#how-do-block-audits-work
[2] https://mempool.space/docs/faq#what-is-block-health
full member
Activity: 406
Merit: 100
If pool try to maximize fees by congesting the network it can lead to slower transaction times and higher transaction fees for all users. This is because when there are more transactions being processed at once, the network can become congested and the miners may prioritize transactions with higher fees. As a result, users who are willing to pay higher fees may have to wait longer for their transactions to be processed. This can lead to a less efficient network overall, as more resources are required to process a larger number of transactions. This could make using the network more expensive and less accessible for everyday users. While pools may incentivize to maximize fees in the short term it is not a sustainable strategy for the long term health and growth of the network.
legendary
Activity: 4410
Merit: 4766
I think that even if collusion to engineer a congestion was technically possible, how does that play out in those pool's long term expectation to get incentivized? Such a thing cannot be hidden forever, and the discovery of collusion/dishonesty would make the participants lose confidence in the system, which would probably also make them leave and cause a price crash.

From a game theory point of view, it's better for the pools to do what's best for themselves, but also act honestly and do what's best for the rest of network.

because when pools force thousands of users to pay more. the pools can ramp down their own high fee tx's to themselves and and instead let high fee users fill the gap. thus making the users then persist the fee mania

EG
imagine the next 18 blocks are transactions of high fee's of pools sending transactions to themselves in their own block templates thus paying the fees back to themselves.. causing fees to show as 60sat/byte minimum.. without costiong the pools anything..

then users will see a 60sat/byte minimum for last 3 hours and so realise if they want to get a tx to confirm within 3 hours(3x(6blocks/hour)=18) then they need to pay that minimum

then when the pools see normal users paying 60sat/byte minimum they allow those transactions in and not include one of their own. ramping fown their own tx involvement becasue now the users tx start to persist the attack for them.. thus they continue letting in users transactions as long as users pay 60sat/byte min

again by pools not zero-confirm relaying their own tx and only including them in their own block template. it stops competing pools stealing their fee's and thus costs the attacker pools nothing to do this, with just a 3 hour of no external fee income until they can push the fee estimates up to the min amount for users to then pay the pools this higher fee consistantly

legendary
Activity: 2898
Merit: 1823

Wouldn't the remaining 31% of the hash rate include those 10 sat/vb transactions in their blocks?


They'd have less chance than the 69%. Also, the 69% could invalidate them at any time, and at a very low cost, just by making sure they use CPFP. For instance, a 10kb transaction paying 100 sat/vb, requires only a small transaction spending the parent, and invaliding the 10kb one.


I think that even if collusion to engineer a congestion was technically possible, how does that play out in those pool's long term expectation to get incentivized? Such a thing cannot be hidden forever, and the discovery of collusion/dishonesty would make the participants lose confidence in the system, which would probably also make them leave and cause a price crash.

From a game theory point of view, it's better for the pools to do what's best for themselves, but also act honestly and do what's best for the rest of network.
legendary
Activity: 4410
Merit: 4766
by doing the unconfirmed mess with mempool game.. does not cause fee congestion.
the games of cancelling out transactions before the 31% get to add them just makes blackhatcoiners whole game just a temporary distraction none event of a few minutes if seeing a transaction clump in mempool.. then not.

this playing with mempool and cancelling transactions does not cause any fee mania

the real method to cause fee mania is if the majority pools did include high fee transactions into their own blocks but not pre-relay those transactions to others before their block is solved. that way it costs them nothing but ramps up the fee statistics for other users to need to pay more to tempt a pool to accept them

as for blackhats other scenario vector of using CPFP to swap transactions around at unconfirmed status. again. a temporary none event of messing with mempool that lasts only a few minutes

...
it really would have helped blackhat if he spent the last few years learning how bitcoin works instead of trusting his buddy about how features are explained to him

messing with unconfirmed mempool is just small temporary non event that does not result in high fee confirmations. especially if blackhat is trying to avoid having high fee transactions confirmed in a attacker majority pools scheme. which in of itself would be some basic self enlighting answer to his own question about confirmed fees
yep not including high fees in your own block results in no high fees seen in the blockchain

messing with unconfirmed transactions to cancel high fees before confirmation also makes no high fees appear in the blockchain

and broadcasting unconfirmed high fee's to other pools giving them a chance for the minority pools to add them(in a scenario of not cancelling the high fee/high size transaction). just means the attacker pool(majority) loses value by paying its competitor(minority). which wont be sustainable, so again not going to cause a long term viable fee mania game
so again if blackhat broadcasts unconfirmed transactions and then cancels them to prevent competitor pools adding it. would mean it only sits in a mempool for a few seconds thus causes no fee drama.
Pages:
Jump to: