I'm looking for clarification of the new Tx priority and Tx Fees settings (eg fee per kB in the 0.10 version of Bitcoincore. Is the 0.0001 BTC fee deprecated? Why the move towards variable Tx fees?


Why the move towards variable Tx fees?

Almost all miners choose what transactions to include in blocks based on fees and priority relative to byte size, so transactions that pay higher fees are more likely to be included in the next block than similar-size transactions that pay lower fees.

Advanced users have always been able to take advantage of this mechanism to set their fee higher for transactions they want to confirm quickly and lower when they don't mind waiting for a while. But to do this right has always required manually looking at recent blocks to see what were the lowest fee or lowest priority transactions they accepted, which put this kind of "fee market" out of reach of everyday users (or advanced users who don't want to spend much time pinching pennies).

However, Gavin Andresen introduced code into Bitcoin Core 0.10.0 to automatically have each Bitcoin Core node keep its own statistics about block fee and priority thresholds, so now you can run a simple command like this,

$ bitcoin-cli estimatefee 25

to see that if you don't mind waiting up to 25 blocks for confirmation, you can probably set your fee to 0.00001919 per kilobyte.

Thanks the the work of several volunteers, the Bitcoin Core GUI now also uses this information to allow everyday users to easily choose between fast confirmation and low fees.

enter image description here
(source: bitcoinillustrated.org)

This really gives the fee market a chance to develop so that Bitcoin Core can automatically adjust to things like filled (max-size) blocks, new larger blocks, changing use patterns, and significant changes in BTC/fiat exchange rates. It is also hoped that some safe way will be found to allow SPV clients to also estimate fees and priority so that they can offer their users the same informed choices.

Is the 0.0001 BTC fee deprecated?

Yes, mostly. It's still the default if not enough information can be gathered from the network.

There is also still unchanged the default relay fee of 0.00001 BTC per kilobyte. This isn't related to transactions you create but rather the transactions your node will accept for relay. The default is widely used, so paying less than it is not a good idea.

  • Can you comment on how dust Txns fit into this? Is It still 5600 satoshis? – Wizard Of Ozzie Feb 25 '15 at 9:07
  • 1
    A dust tx is a transaction with a too-small output. By default nodes won't relay dust txes at all and miners won't mine them, so they won't confirm no matter how high you set your fee. The current default dust threshold for P2PKH and P2SH outputs is 546 satoshis. For more details, see my answer here about dust. – David A. Harding Feb 25 '15 at 12:33
  • Thanks for your answer. So then how do we figure out how many kilobytes a transaction will be? – Marc Alexander Jul 6 '17 at 18:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.