I broadcasted a low fee (11sat/vbyte) transaction last week, just at the time when they fees went up.
I knew that the fee was low and that the transaction would take a few days to confirm (according to
https://twitter.com/CoreFeeHelper , it would take around 3 days) but it's been a week and my transaction is still in the mempool. Sometimes my wallet (electrum) shows it with a blue "unbroadcasted" icon and I have to rebroadcast it again. I also sometimes use "free" tx accelerator services which basically rebroadcast the transaction everywhere.
My question is what is the algorithm that a miner picks a transaction from the mempool to include it to a block?
Is it a greedy algorithm which just picks the ones with highest fees? Is the "age" of a transaction in the mempool also a factor? Or is it just a combination of fee and a random choice?
First of estimated time to confirmation is just based on the current status of network but its obsolete cause the network status keep changing every minute so even if you paid enough fee for the transaction to get included in the next block and all if a sudden the fee required doubled and it's pretty normal thing.
There were some free bitcoin transaction accelerators in the past but not sure still they are available but its not really a possible solution, if you can't wait just bumping the fee is the only option or the receiver can also pay the required transaction to get confirmation quicker.