Bitcoin Forum
November 19, 2024, 11:40:43 AM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Q&A: Transaction fees in times of volatility  (Read 157 times)
Husires (OP)
Legendary
*
Offline Offline

Activity: 1596
Merit: 1288


View Profile WWW
February 03, 2021, 01:03:21 PM
Last edit: February 04, 2021, 11:47:32 AM by Husires
 #1

During times of high volatility in the market, the number of transactions increases unconfirmed transaction increases and you will pay a higher fee.

Here are some tips to take advantage of peak price times to send transactions with cheaper fees and quick confirmations:



we will start looking at  https://core.jochen-hoenicke.de/queue/#1,24h


The peaks and valleys of the interface show the number of transactions and determine the fees you will pay


1. Transaction fees are measured in Satoshi for each virtual byte (vbyte). The types of transactions differ according to the complexity, the number of inputs/outputs, and the type of address that is spent. From there, we cannot say that there are fixed fees for each transaction. Some may pay high fees/cheap based on the differences mentioned above.

2. The transaction form has 1 input and 1 output is 144 vB.

3. Some wallets do not allow you to specify the fees or the estimated block that includes the transaction, or do it automatically . If the wallet estimates high fees, contact the developer to amend the method of calculating fees.

4. If your wallet does not support manually fees, use a different wallet.

5. One of the reasons for paying higher fees is the legacy address, which are addresses that start with number 1. Using those addresses means that you pay 36% higher fees on average.

6. If you are still using a legacy addresses, use a wallet that supports (wrapped Segwit) 3 or bc1 (native Segwit).  send when the network is not congested.

7. Before paying for any service, check whether it supports RBF and then make sure that your wallet supports this feature, otherwise you are obliged to pay fees higher than the average to avoid stuck transaction.

8. If your wallet does not support RBF, CPFP, it is best to stop using it.

9. If your wallet supports RBF and you are not in a hurry to obtain confirmations (for example sending money to a friend to a new wallet address) you can choose the lowest fees. If it is not confirmed, you can raise the transaction by paying a higher fee.

10. Do not be alarmed if the money does not appear in your other wallet directly, the bitcoin that is sent to the correct address is either confirmed or back to the other wallet, meaning that it is not lost, do not panic.

11- Bitcoin transactions are indivisible, meaning that they are either in your wallet or in the wallet of the other person to whom you send the money. If the transaction is not confirmed, the funds are still yours. If the transaction is confirmed, other party have it.

12. Remember what the transaction has not been confirmed and it is in yours. Therefore, if someone sends the money to you and it is not confirmed in the sender’s wallet.

13. When you send and before confirmation, your wallet hides the amount and deducts it from your balance, once it confirmed, You cannot reverse it.

14. If you send the transaction and it has a low fee, it will disappear from your wallet, but if it is not confirmed, then within 14 days it will be hidden, after which it will appear in your balance again.

15. Fees are necessary to ensure network decentralization, but knowing how that system works will make you pay cheaper




newbie questions:
 

How does https://core.jochen-hoenicke.de/queue/#1,24h work and what are the features that can be used to calculate fees
There is another way to pay cheaper fees without looking at mempool, so what is it?
Why are some transactions dropped or returned after 14 days? What is the shortest period for that?
What is the difference between (native Segwit) and (wrapped Segwit)


Professional questions:

Is there one mempool or several mempools and what is the difference between them?
Can the transaction fee be adjusted while keeping the same tx id?
Why does the wallet hide your wallet balance during the confirmation?
After broadcasting, Can an address be modified without changing a tx id?
Can two blocks be mined almost simultaneously? Does that mean that if we send two transactions with the same inputs but different outputs, we will succeed in double spending?



Let's see the accuracy of your answers Wink
tranthidung
Legendary
*
Offline Offline

Activity: 2464
Merit: 4279


Farewell o_e_l_e_o


View Profile WWW
February 03, 2021, 03:50:00 PM
Last edit: February 03, 2021, 04:02:58 PM by tranthidung
Merited by Daniel91 (1)
 #2

Shortly (assume you consolidate small inputs and use Segwit address)
  • Don't use custodial wallets from exchanges because you can not control fee rate and are always charged with over-killing fees
  • Broadcast your transactions in weekends: Sundays usually give cheaper fee than Saturdays. They are the cheapeast days. Cheap fees might last till early of Monday.
  • Hours from 0 AM to 12 AM (UTC time) give you cheapest fee in every day
  • Avoid the time BitMEX broadcast their transactions: ~ 13 PM UTC

Details (please see in following threads)


RBF and CPFP transactions

Examples:
Replace-by-fee (RBF) enabled?

▄▄███████▄▄
▄██████████████▄
▄██████████████████▄
▄████▀▀▀▀███▀▀▀▀█████▄
▄█████████████▄█▀████▄
███████████▄███████████
██████████▄█▀███████████
██████████▀████████████
▀█████▄█▀█████████████▀
▀████▄▄▄▄███▄▄▄▄████▀
▀██████████████████▀
▀███████████████▀
▀▀███████▀▀
.
 MΞTAWIN  THE FIRST WEB3 CASINO   
.
.. PLAY NOW ..
Charles-Tim
Legendary
*
Offline Offline

Activity: 1736
Merit: 5219


Leading Crypto Sports Betting & Casino Platform


View Profile
February 03, 2021, 04:32:45 PM
Last edit: February 03, 2021, 09:44:22 PM by Charles-Tim
Merited by o_e_l_e_o (2)
 #3

6. If you are still using a legacy addresses, use a wallet that supports (wrapped Segwit) 3 or BC1 (native Segwit).  send when the network is not congested.
The nested segwit (compatible bitcoin addresses) start from 3, but the native segwit start with bc1 not BC1.

8. If your wallet does not support RBF CPFP, it is best to stop using it.
Noncustodial sender wallets supposed to be able to use CPFP (if you are the sender), it is different from RBF. While the recipient wallet will need to be able to spend unconfirmed transaction before it can be able to use CBFP. Few wallets like electrum and Bitcoin core can make use of RBF.

12. Remember what the transaction has not been confirmed and it is in yours. Therefore, if someone sends the money to you and it is not confirmed in the sender’s wallet.
Yes, because unconfirmed transactions can be reversed.

15. Fees are necessary to ensure network decentralization, but knowing how that system works will make you pay cheaper
The fee charged works in a decentralized manner but does not ensure decentralization. What ensure decentralization is that anyone with miners can mine and pick up transactions according to mempool size, mining is not centralized in any form truly. So, just know that mining itself is decentralized.

How does https://core.jochen-hoenicke.de/queue/#1,24h work and what are the features that can be used to calculate fees
Fees are calculated in satoshi/vbytes. Johoe's Bitcoin Mempool Statistics, you can interpret it like this:

Quote
The data is separated into different fee levels given in satoshi per bytes. The lowest colored stripe is for transactions that pay the lowest fee. Higher fee transactions are stacked on top of it. Since miners prefer high fee transactions, a new block usually only removes the top 1 MB from the queue. If a colored stripe persists over several hours without getting smaller, this means that transactions paying this amount of fee are not confirmed during this time, because there are higher paying transactions that take precedence. If a stripe on the bottom chart is much bigger than on the top chart, the transactions are larger than the average.
So, the upper part of the graph with 1 MB are only taken by miners in accordance to the mempool congestion. Low fee transactions may not be taken up if the mempool is congested. The 1 MB transaction size that will be taken up by miner are the transactions above while the ones below in blue and green colour will not be taken up until mempool is not congested, and at the time of mempool not congested, the part that are green will become yellow (up part) while the blue parts will reduce while the upper blue parts will turn green. I hope this will make you understand.

There is another way to pay cheaper fees without looking at mempool, so what is it?
Wallets have fee estimator, but some may not be accurate. You can use electrum and I have used mycelium before, they have good fee estimators. Any wallet you are using, you can compare the fee estimation with the ones online to know the accuracy of the fee estimated. The fee estimators are discussed below.

There are several online fee estimators that can determine fee to be paid. These are some:

https://bitcoinfees.net/
https://mempool.space/
https://bitcoinfees.earn.com/
https://privacypros.io/tools/bitcoin-fee-estimator/
https://mempool.observer/

Why are some transactions dropped or returned after 14 days? What is the shortest period for that?
That is how the mempool work, any transaction that is not confirmed for 2 weeks will be dropped and the Bitcoin amount will be refelcted back on the wallet balance. It is better like that than for transaction to be stuck in mempool longer.


What is the difference between (native Segwit) and (wrapped Segwit)

Quote
Native SegWit – also known as bech32 – is the latest step in the address formats. It is even more weight-efficient than its predecessor. This means having an even faster transaction speed versus SegWit transactions, better scalability and even lower fees per transaction. To add to this, bech32 has better error-detection and makes addresses lowercase only for better readability. This is why it’s the most popular option… if present.


Is there one mempool or several mempools and what is the difference between them?
There is only one mempool available to all.
Each node has its own mempool, which is why transactions need to be relayed across the network from node to node and added to each mempool as they go. Some nodes may set different size limits for their mempools, or different minimum fees that they will accept before adding a transaction to their mempool. A transaction can be present in some mempools but not others.

Can the transaction fee be adjusted while keeping the same tx id?
No. Using RBF simply means your initial transaction will be cancelled while another address will be used to transfer the Bitcoin fund into the same recipient/receiver's address, this will generate a new txid.

Why does the wallet hide your wallet balance during the confirmation?
That is how wallets are programmed, if the transaction is in mempool, it will leave your wallet balance, if not confirmed, it can still be canceled and be seen back on your wallet balance. Electrum wallet have this feature, which is a means of using RBF to send unconfirmed bitcoin into another address generated by your wallet in which new txid will also be generated. Or, if the transaction by any means leave the mempool, it will be back into your wallet and your balance will reflect it.

After broadcasting, Can an address be modified without changing a tx id?
No, address can not be changed after broadcasting, any modifications will lead to changed address and new txid as explained above.

Can two blocks be mined almost simultaneously? Does that mean that if we send two transactions with the same inputs but different outputs, we will succeed in double spending?
I only know that two blocks can be mined simultaneously, or two mining pool can mine the same block at the a time. This can lead to a transaction to be confirmed but later be invalidated because only the longest chain will only be successful and validated. This can also happen if someone use RBF in which the first transaction that supposed not to be confirmed will be confirmed while the second transaction too will be confirmed. But finally, the first transaction that was confirmed will later be invalidated. Nothing of such like double spending.

..Stake.com..   ▄████████████████████████████████████▄
   ██ ▄▄▄▄▄▄▄▄▄▄            ▄▄▄▄▄▄▄▄▄▄ ██  ▄████▄
   ██ ▀▀▀▀▀▀▀▀▀▀ ██████████ ▀▀▀▀▀▀▀▀▀▀ ██  ██████
   ██ ██████████ ██      ██ ██████████ ██   ▀██▀
   ██ ██      ██ ██████  ██ ██      ██ ██    ██
   ██ ██████  ██ █████  ███ ██████  ██ ████▄ ██
   ██ █████  ███ ████  ████ █████  ███ ████████
   ██ ████  ████ ██████████ ████  ████ ████▀
   ██ ██████████ ▄▄▄▄▄▄▄▄▄▄ ██████████ ██
   ██            ▀▀▀▀▀▀▀▀▀▀            ██ 
   ▀█████████▀ ▄████████████▄ ▀█████████▀
  ▄▄▄▄▄▄▄▄▄▄▄▄███  ██  ██  ███▄▄▄▄▄▄▄▄▄▄▄▄
 ██████████████████████████████████████████
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█  ▄▀▄             █▀▀█▀▄▄
█  █▀█             █  ▐  ▐▌
█       ▄██▄       █  ▌  █
█     ▄██████▄     █  ▌ ▐▌
█    ██████████    █ ▐  █
█   ▐██████████▌   █ ▐ ▐▌
█    ▀▀██████▀▀    █ ▌ █
█     ▄▄▄██▄▄▄     █ ▌▐▌
█                  █▐ █
█                  █▐▐▌
█                  █▐█
▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀█
▄▄█████████▄▄
▄██▀▀▀▀█████▀▀▀▀██▄
▄█▀       ▐█▌       ▀█▄
██         ▐█▌         ██
████▄     ▄█████▄     ▄████
████████▄███████████▄████████
███▀    █████████████    ▀███
██       ███████████       ██
▀█▄       █████████       ▄█▀
▀█▄    ▄██▀▀▀▀▀▀▀██▄  ▄▄▄█▀
▀███████         ███████▀
▀█████▄       ▄█████▀
▀▀▀███▄▄▄███▀▀▀
..PLAY NOW..
o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18748


View Profile
February 03, 2021, 08:46:47 PM
Merited by Charles-Tim (1)
 #4

There is only one mempool available to all.
This is not accurate. Each node has its own mempool, which is why transactions need to be relayed across the network from node to node and added to each mempool as they go. Some nodes may set different size limits for their mempools, or different minimum fees that they will accept before adding a transaction to their mempool. A transaction can be present in some mempools but not others.

No. Using RBF simply means your initial transaction will be cancelled while another address will be used to transfer the Bitcoin fund into the same recipient/receiver's address, this will generate a new txid.
You have this the wrong way round. A RBF transaction must use at least of the same inputs as the original transaction it is replacing, but can redirect the bitcoin to any address(es), including not paying the address(es) in the original transaction at all.
Charles-Tim
Legendary
*
Offline Offline

Activity: 1736
Merit: 5219


Leading Crypto Sports Betting & Casino Platform


View Profile
February 03, 2021, 09:40:38 PM
 #5

This is not accurate. Each node has its own mempool, which is why transactions need to be relayed across the network from node to node and added to each mempool as they go. Some nodes may set different size limits for their mempools, or different minimum fees that they will accept before adding a transaction to their mempool. A transaction can be present in some mempools but not others.
Never mind me, that quoted below was what I read but still made such mistake. Also, I see more useful information in your post which makes me understand better about mempool. Which means every node has its own mempool which is updated frequently as each data transaction pass across nodes to nodes. I see the information in elaborate form with your comment and more understandable.

Quote
This page displays the number and size of the unconfirmed bitcoin transactions, also known as the transactions in the mempool. It gives a real-time view and shows how the mempool evolves over the time. The transactions are colored by the amount of fee they pay per byte. The data is generated from my full node and is updated every minute. Note that in bitcoin there is no global mempool; every node keeps its own set of unconfirmed transactions that it has seen. The mempool is also cleared when I reboot my node. The idea is based on the retired service bitcoinqueue.com.

You have this the wrong way round. A RBF transaction must use at least of the same inputs as the original transaction it is replacing, but can redirect the bitcoin to any address(es), including not paying the address(es) in the original transaction at all.
I know about using RBF to cancel a transaction like the one on electrum in which the address can be changed back to the sender's wallet address. But please, just a question, assuming, if wallet A is the sender with address A, sending to wallet B with address B, if the transaction not yet confirmed, can sender A use RBF to change to address C?

..Stake.com..   ▄████████████████████████████████████▄
   ██ ▄▄▄▄▄▄▄▄▄▄            ▄▄▄▄▄▄▄▄▄▄ ██  ▄████▄
   ██ ▀▀▀▀▀▀▀▀▀▀ ██████████ ▀▀▀▀▀▀▀▀▀▀ ██  ██████
   ██ ██████████ ██      ██ ██████████ ██   ▀██▀
   ██ ██      ██ ██████  ██ ██      ██ ██    ██
   ██ ██████  ██ █████  ███ ██████  ██ ████▄ ██
   ██ █████  ███ ████  ████ █████  ███ ████████
   ██ ████  ████ ██████████ ████  ████ ████▀
   ██ ██████████ ▄▄▄▄▄▄▄▄▄▄ ██████████ ██
   ██            ▀▀▀▀▀▀▀▀▀▀            ██ 
   ▀█████████▀ ▄████████████▄ ▀█████████▀
  ▄▄▄▄▄▄▄▄▄▄▄▄███  ██  ██  ███▄▄▄▄▄▄▄▄▄▄▄▄
 ██████████████████████████████████████████
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█  ▄▀▄             █▀▀█▀▄▄
█  █▀█             █  ▐  ▐▌
█       ▄██▄       █  ▌  █
█     ▄██████▄     █  ▌ ▐▌
█    ██████████    █ ▐  █
█   ▐██████████▌   █ ▐ ▐▌
█    ▀▀██████▀▀    █ ▌ █
█     ▄▄▄██▄▄▄     █ ▌▐▌
█                  █▐ █
█                  █▐▐▌
█                  █▐█
▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀█
▄▄█████████▄▄
▄██▀▀▀▀█████▀▀▀▀██▄
▄█▀       ▐█▌       ▀█▄
██         ▐█▌         ██
████▄     ▄█████▄     ▄████
████████▄███████████▄████████
███▀    █████████████    ▀███
██       ███████████       ██
▀█▄       █████████       ▄█▀
▀█▄    ▄██▀▀▀▀▀▀▀██▄  ▄▄▄█▀
▀███████         ███████▀
▀█████▄       ▄█████▀
▀▀▀███▄▄▄███▀▀▀
..PLAY NOW..
o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18748


View Profile
February 04, 2021, 09:14:36 AM
 #6

Never mind me, that quoted below was what I read but still made such mistake.
Yeah, the language can be quite confusing sometimes. Although people talk about "the mempool", they are usually either referring to the mempool of a specific node, or they are talking about the complete set of all unconfirmed transactions. When the mempool is close to empty, then more or less every node will have the same set of unconfirmed transactions in its mempool, but when the mempool is very full as it has been recently, then often low fee transactions will be dropped by some nodes but not others.

But please, just a question, assuming, if wallet A is the sender with address A, sending to wallet B with address B, if the transaction not yet confirmed, can sender A use RBF to change to address C?
Yes, absolutely. There is no requirement with an RBF transaction to pay the same addresses that the first transaction pays. This is why services which accept zero confirmation transactions won't accept them if they have RBF enabled, because it is incredibly easy to redirect the coins to a different address.
Husires (OP)
Legendary
*
Offline Offline

Activity: 1596
Merit: 1288


View Profile WWW
February 04, 2021, 12:09:02 PM
 #7

Some incorrect information has happened, sorry to include it.

The fee charged works in a decentralized manner but does not ensure decentralization. What ensure decentralization is that anyone with miners can mine and pick up transactions according to mempool size, mining is not centralized in any form truly. So, just know that mining itself is decentralized.

The fees are what will guarantee the network, after 100 years or more bitcoin fees will be what keeps the miners working


There are several online fee estimators that can determine fee to be paid. These are some:

Stop recommending bitcoinfees.net/
you can add https://coinb.in/#fees


That is how the mempool work, any transaction that is not confirmed for 2 weeks will be dropped and the Bitcoin amount will be refelcted back on the wallet balance. It is better like that than for transaction to be stuck in mempool longer.

You did not answer the question, the question is why 14 days? Is it 14 days or is it possible to get shorter, and what is the shortest period? can the transaction remain unconfirmed for more than 14 days?


That is how wallets are programmed, if the transaction is in mempool, it will leave your wallet balance, if not confirmed, it can still be canceled and be seen back on your wallet balance. Electrum wallet have this feature, which is a means of using RBF to send unconfirmed bitcoin into another address generated by your wallet in which new txid will also be generated. Or, if the transaction by any means leave the mempool, it will be back into your wallet and your balance will reflect it.
Again, you did not answer the question, why?

Quote
I only know that two blocks can be mined simultaneously, or two mining pool can mine the same block at the a time. This can lead to a transaction to be confirmed but later be invalidated because only the longest chain will only be successful and validated. This can also happen if someone use RBF in which the first transaction that supposed not to be confirmed will be confirmed while the second transaction too will be confirmed. But finally, the first transaction that was confirmed will later be invalidated. Nothing of such like double spending.

Does this mean that transaction could appear with one confirmation and then return to be unconfirmed?  Roll Eyes Roll Eyes
Charles-Tim
Legendary
*
Offline Offline

Activity: 1736
Merit: 5219


Leading Crypto Sports Betting & Casino Platform


View Profile
February 04, 2021, 12:22:04 PM
 #8

Does this mean that transaction could appear with one confirmation and then return to be unconfirmed?  Roll Eyes Roll Eyes
Yes, but in a way it will not result to double spending like the example I used with RBF above in which initial transaction will be confirmed but later become invalid, while the later transaction in which fee is increased will only remain valid and confirmed.

..Stake.com..   ▄████████████████████████████████████▄
   ██ ▄▄▄▄▄▄▄▄▄▄            ▄▄▄▄▄▄▄▄▄▄ ██  ▄████▄
   ██ ▀▀▀▀▀▀▀▀▀▀ ██████████ ▀▀▀▀▀▀▀▀▀▀ ██  ██████
   ██ ██████████ ██      ██ ██████████ ██   ▀██▀
   ██ ██      ██ ██████  ██ ██      ██ ██    ██
   ██ ██████  ██ █████  ███ ██████  ██ ████▄ ██
   ██ █████  ███ ████  ████ █████  ███ ████████
   ██ ████  ████ ██████████ ████  ████ ████▀
   ██ ██████████ ▄▄▄▄▄▄▄▄▄▄ ██████████ ██
   ██            ▀▀▀▀▀▀▀▀▀▀            ██ 
   ▀█████████▀ ▄████████████▄ ▀█████████▀
  ▄▄▄▄▄▄▄▄▄▄▄▄███  ██  ██  ███▄▄▄▄▄▄▄▄▄▄▄▄
 ██████████████████████████████████████████
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█  ▄▀▄             █▀▀█▀▄▄
█  █▀█             █  ▐  ▐▌
█       ▄██▄       █  ▌  █
█     ▄██████▄     █  ▌ ▐▌
█    ██████████    █ ▐  █
█   ▐██████████▌   █ ▐ ▐▌
█    ▀▀██████▀▀    █ ▌ █
█     ▄▄▄██▄▄▄     █ ▌▐▌
█                  █▐ █
█                  █▐▐▌
█                  █▐█
▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀█
▄▄█████████▄▄
▄██▀▀▀▀█████▀▀▀▀██▄
▄█▀       ▐█▌       ▀█▄
██         ▐█▌         ██
████▄     ▄█████▄     ▄████
████████▄███████████▄████████
███▀    █████████████    ▀███
██       ███████████       ██
▀█▄       █████████       ▄█▀
▀█▄    ▄██▀▀▀▀▀▀▀██▄  ▄▄▄█▀
▀███████         ███████▀
▀█████▄       ▄█████▀
▀▀▀███▄▄▄███▀▀▀
..PLAY NOW..
o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18748


View Profile
February 04, 2021, 01:17:21 PM
 #9

You did not answer the question, the question is why 14 days? Is it 14 days or is it possible to get shorter, and what is the shortest period? can the transaction remain unconfirmed for more than 14 days?
The default_mempool_expiry is 336 hours, which is exactly 14 days. This is the default length of time which a node will keep an unconfirmed transaction in its mempool before dropping it, but there is nothing stopping it from then receiving the transaction again from another node.

The default_max_mempool_size is 300 MB. This is the default maximum size of a node's mempool before it starts to drop the lowest fee transactions in its mempool. The shortest period is therefore "immediately", as a node might not even accept a transaction to its mempool if its mempool is currently full and the transaction pays a lower fee than all current unconfirmed transactions.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!