Author

Topic: Dedicated block space for minimum fee transactions (Read 134 times)

legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
But the consensus is that 2 weeks is the maximum wait limit until the transaction would be removed from a mempool.

It's not consensus, but rather default behavior of most Bitcoin software which can be changed manually.

Can a transaction be sent with little to no fee and eventually be picked up and confirmed by a miner? From what I have witnessed first hand the answer is no.

If the fee rate is lower than 1 sat/vB, the short answer is definitely no.

So that being said, is there anyway that each new block could hold very small amount of space dedicated to minimum fee transactions which can become frozen? It would kind of be like welfare.

No, miner is free to choose which transaction included on block they'll mine. Forcing miner to do that on protocol level is also impossible due to few reason such as mempool (on each node) have slightly different set of transaction and miner could include transaction which never broadcasted.
legendary
Activity: 2380
Merit: 5213
Everything I’ve read about maximum mempool wait times are all varied. But the consensus is that 2 weeks is the maximum wait limit until the transaction would be removed from a mempool. And yet here I am 3 weeks into it waiting for my transaction to finally fall off mempool, or be confirmed I started to feel disappointed that my transaction fee has caused it to become frozen.
If you made your transaction three week ago and no one has rebroadcasted it, most nodes have already dropped it from their mempool.
By default, transactions are dropped from the mempool if they remain unconfirmed for 14 days, but nodes can have their own setting.


I would advise you use timelock instead and a good transaction fee. At this you certain of the period it would actually be confirmed.
You can't broadcast your transaction before its locktime.

you can also just double spend the transaction with a much higher fee and you wouldn’t have to wait till it gets confirmed or dropped.
Even if you pay much higher fee, almost all nodes will reject any transaction including same input as a transaction they have in their mempool, unless the original transaction has been flagged as RBF.
legendary
Activity: 1820
Merit: 2700
Crypto Swap Exchange
So that being said, is there anyway that each new block could hold very small amount of space dedicated to minimum fee transactions which can become frozen? It would kind of be like welfare. Sure the amount of space would be really small, but should be enough to send 5-10 transactions on each new block first, then prioritized paid transactions next. 5-10 transactions isn’t a lot, and it would still have very long wait times, however it removes the chance that transactions like mine won’t ever freeze indefinitely with no hope of being returned which is a step in the right direction.

Even if your proposal were accepted, it still wouldn't actually solve the problem you claim to have faced. (Which, in reality, seems more like a lack of knowledge on your part, as other members have already explained).

Now, let's assume a scenario where there's a block space specifically reserved for low-to-no-fee transactions. What happens when the number of such transactions exceeds the available block space? And how does that differ from the current situation we have?
legendary
Activity: 3038
Merit: 4418
Crypto Swap Exchange
So that being said, is there anyway that each new block could hold very small amount of space dedicated to minimum fee transactions which can become frozen? It would kind of be like welfare. Sure the amount of space would be really small, but should be enough to send 5-10 transactions on each new block first, then prioritized paid transactions next. 5-10 transactions isn’t a lot, and it would still have very long wait times, however it removes the chance that transactions like mine won’t ever freeze indefinitely with no hope of being returned which is a step in the right direction.
Bitcoin Core's reference implementation has historically assigned 50kb for free transactions, ie. transaction that didn't pay any fees but have sufficient priority as defined by the priority calculation. Hence, if you were to mine using Bitcoin Core in the past, 50kb would be reserved for those. The issue is that this cannot be enforced. Each node sees the pool of unconfirmed transaction differently (aka. mempool), and it is impossible for the network to mandate for miners to include transactions without fees.

Hence, this is done on a goodwill basis. However, any pools that chooses to do this would certainly chase potential miners away.
hero member
Activity: 868
Merit: 952
Miner fees prioritize transaction times.but what if someone isn’t in a hurry to have their transaction confirmed?
You can simply just set the transaction fee to a very low amount and probably use any of the options like RBF or CPFP to bump it later. But that doesn’t guarantees it as the mempool can easily become less congested and your transaction could be confirmed at any time. So if you are looking at a certain period of time that you wish your transaction to be confirmed or be sent, I would advise you use timelock instead and a good transaction fee. At this you certain of the period it would actually be confirmed.

Can a transaction be sent with little to no fee and eventually be picked up and confirmed by a miner? From what I have witnessed first hand the answer is no.
Technically yes it can be picked by miners. There is no limit to the amount of fee to paid before transaction are been picked (although the lowest fee is 1sat/vbyte), the highest transaction fees are just priorities by the miners themselves, so they could still decide to pick your transaction with a lower fee and it doesn’t matter. This even done if you have access to mining pools using the back doors and as such they could pick your transaction with little to no fees.

I’m not sure if no fee is an option, but even the minimal fee I sent wasn’t enough for a miner to confirm my transaction. Although rare this exact situation has frozen my transaction indefinitely, I’m guessing this has been brought to the attention of the community, there still isn’t any solution to this situation except wait for the transaction to finally clear out of the mempool it’s in which there is no way of knowing when this will occur.
There is no need to wait for the transaction to be dropped aside the methods of bumping it with higher fee or rebroadcasting or accelerating it with accelerators like viabtc.com, you can also just double spend the transaction with a much higher fee and you wouldn’t have to wait till it gets confirmed or dropped.

So that being said, is there anyway that each new block could hold very small amount of space dedicated to minimum fee transactions which can become frozen? It would kind of be like welfare. Sure the amount of space would be really small, but should be enough to send 5-10 transactions on each new block first, then prioritized paid transactions next. 5-10 transactions isn’t a lot, and it would still have very long wait times, however it removes the chance that transactions like mine won’t ever freeze indefinitely with no hope of being returned which is a step in the right direction.

If this your technique is still adopted it wouldn’t solve any problem because people will still intentionally initiate transactions with very low fees just for there’s to be include in the 5-10 transaction space left for minimal fees and believe me those little space will still be congested due to high amount of such transactions on mempool. So this is not a solution since it will still lead us back to usual problem.
legendary
Activity: 3514
Merit: 4895

Wow, That's quite a wall of text.  I'm glad you used punctuation and capitalization, or it wouldn't have been worth the effort to try to get through it.  Perhaps some line-breaks and/or paragraphs in the future would be helpful.

Hello so I recently did an experiment by sending btc to another address and making the fee as low as possible to monitor how long it takes for a transaction with the minimum set fee would take before it was finally confirmed by miners. And 3 weeks later it still has not received even one confirmation. Everyday for the last 3 weeks I would check on the status of confirmations of transaction, and everyday it would say estimated wait time 24hrs-1 day, and continues to reset its wait time to 24hrs.

You could have just saved yourself the time, effort, and worry by asking here. Many would have been happy to explain to you what would happen.

Everything I’ve read about maximum mempool wait times are all varied. But the consensus is that 2 weeks is the maximum wait limit until the transaction would be removed from a mempool.

This assumes that the transaction is no longer being broadcast.

And yet here I am 3 weeks into it waiting for my transaction to finally fall off mempool, or be confirmed

Any node can rebroadcast any transaction that it knows about at any time if it wants to, so long as the transaction is still valid.  This means that the recipient of your transaction could be rebroadcasting it regularly to increase the odds that they get paid. Additionally, the wallet software that you are using may be rebroadcasting the transaction for you.  If you want to get rid of the unconfirmed transaction, your first step should probably be figuring out how to remove it from the wallet software that you used to send it.

I started to feel disappointed that my transaction fee has caused it to become frozen.

Depending on how you sent the transaction, what wallet software you are using, and just how low your fee was, you may have a few options available to you.

For example:
  • Child pays for parent (CPFP)
  • Replace By Fee (RBF)
  • Transaction replacement after removal from mempool
  • Transaction acceleration with a mining pool

what if someone isn’t in a hurry to have their transaction confirmed?

Then I would recommend a small (BUT REASONABLE) fee, as a replace by fee transaction so that the fee can be easily increased on the transaction if the sender (or recipient) become impatient.

Can a transaction be sent with little to no fee and eventually be picked up and confirmed by a miner?

While it isn't technically impossible for a miner to include a free transaction, it is extremely unlikely. They have no incentive for including such transactions.

Also, there is a minimum fee for relay set in the most common configuration of the reference software. Any fee smaller than that will generally not be relayed by a large portion of the Bitcoin network. As such, most miners will never even know about such transactions.

Small fees are fine, as long as they are larger than the minimum relay requirements and the network load is light.

Although rare this exact situation has frozen my transaction indefinitely,

You explained that you knew it was going to be a problem, and you did it anyhow. It's not a permanent situation, and it can be resolved, but it may take some effort on your part.

I’m guessing this has been brought to the attention of the community,

It has. As such, we have RBF, CPFP, Acceleration, and removal and replacement.

there still isn’t any solution to this situation except wait for the transaction to finally clear out of the mempool it’s in

Sure there is. I've listed a few of them.

which there is no way of knowing when this will occur.

Correct.  It's a decentralized system.  There's nobody in charge.  You have no control over what other peers do with their nodes. As such, you should make sure you understand the consequences of your actions before you do something that will cause you problems like this.

So that being said, is there anyway that each new block could hold very small amount of space dedicated to minimum fee transactions which can become frozen? It would kind of be like welfare. Sure the amount of space would be really small, but should be enough to send 5-10 transactions on each new block first, then prioritized paid transactions next. 5-10 transactions isn’t a lot, and it would still have very long wait times, however it removes the chance that transactions like mine won’t ever freeze indefinitely with no hope of being returned which is a step in the right direction.

Certainly. If a mining pool wanted to do this they could.  However, they have very little incentive to do so, and the participants might end up leaving the pool to go find one that earns/pays more revenue. Regardless, there are some pools that offer a free acceleration service as long as you have at least paid some minimal fee.  I think there may also be a pool that allows you to send a payment directly to them to pay for a transaction that has insufficient fees.
newbie
Activity: 1
Merit: 0
Hello so I recently did an experiment by sending btc to another address and making the fee as low as possible to monitor how long it takes for a transaction with the minimum set fee would take before it was finally confirmed by miners. And 3 weeks later it still has not received even one confirmation. Everyday for the last 3 weeks I would check on the status of confirmations of transaction, and everyday it would say estimated wait time 24hrs-1 day, and continues to reset its wait time to 24hrs. Everything I’ve read about maximum mempool wait times are all varied. But the consensus is that 2 weeks is the maximum wait limit until the transaction would be removed from a mempool. And yet here I am 3 weeks into it waiting for my transaction to finally fall off mempool, or be confirmed I started to feel disappointed that my transaction fee has caused it to become frozen. This seems like a pretty serious issue regarding prioritization of transactions with highest fees getting through first, allowing miners to confirm your transaction fastest. Sure this current system means that miners can set minimum prices based off of current value allowing transaction wait times to be a driving force in the valuation of a currency, however this process is starting to show some real concerning flaws btc, and every other crypto currencies possibly share. I’m not an expert on bitcoin by no means, but I do understand the basics of how blockchain works, and learning more everyday. I know that a block has a fixed size and weight, and every transaction has a unique weight and size. So eventually a block will reach maximum capacity of transactions, and a new block will be required to accommodate new transactions which is roughly every ten mins or so. So to incentivize miners to verify transactions a fee is offered like a tip to the miners for confirming that a transaction is valid. And since the block size is limited, the chance of getting your transaction verified can vary due to how many transactions have been initiated at any given time. So it’s in the best interest of sender to include a bigger fee to have their transaction guaranteed In the next block, otherwise you will have to wait in the mempool for it to be your turn. Miner fees prioritize transaction times.but what if someone isn’t in a hurry to have their transaction confirmed? Can a transaction be sent with little to no fee and eventually be picked up and confirmed by a miner? From what I have witnessed first hand the answer is no. I’m not sure if no fee is an option, but even the minimal fee I sent wasn’t enough for a miner to confirm my transaction. Although rare this exact situation has frozen my transaction indefinitely, I’m guessing this has been brought to the attention of the community, there still isn’t any solution to this situation except wait for the transaction to finally clear out of the mempool it’s in which there is no way of knowing when this will occur. So that being said, is there anyway that each new block could hold very small amount of space dedicated to minimum fee transactions which can become frozen? It would kind of be like welfare. Sure the amount of space would be really small, but should be enough to send 5-10 transactions on each new block first, then prioritized paid transactions next. 5-10 transactions isn’t a lot, and it would still have very long wait times, however it removes the chance that transactions like mine won’t ever freeze indefinitely with no hope of being returned which is a step in the right direction.
Jump to: