Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: arnuschky on November 18, 2013, 11:09:47 PM



Title: Transaction fee - size rounding
Post by: arnuschky on November 18, 2013, 11:09:47 PM
Hello,

the wiki [1] states regarding the transaction fees that:

Quote
Otherwise, the reference implementation will round up the transaction size to the nearest thousand bytes and then add a fee of 0.0001 BTC per thousand bytes.

Now, "to round up" and "to the nearest" are contradictory.  ??? Which one is it? [2] doesn't help either.

[1] https://en.bitcoin.it/wiki/Transaction_fees
[2] https://bitcointalk.org/index.php?topic=219504.0


Title: Re: Transaction fee - size rounding
Post by: DeathAndTaxes on November 18, 2013, 11:11:17 PM
It is round up.  I will update the wiki this evening unless someone does it before me.

1 to 1000 bytes = 1KB for fee purposes.
1001 to 2000 bytes = 2KB for fee purposes.

Before someone correct it yes I know KB is usually 1024 bytes but the source code uses base 10 not base 2.  Note sure why but it doesn't and it isn't going to change now.


Title: Re: Transaction fee - size rounding
Post by: arnuschky on November 18, 2013, 11:12:00 PM
Ok, great! Thanks for the super fast clarification!


Title: Re: Transaction fee - size rounding
Post by: mufa23 on November 18, 2013, 11:24:33 PM
Thanks for the clarification! I was wondering about this myself.


Title: Re: Transaction fee - size rounding
Post by: DeathAndTaxes on November 19, 2013, 02:58:06 AM
Updated wiki:

Quote
Sending
  • A transaction may be safely sent without fees if these conditions are met:
  • It is smaller than 10,000 bytes.
  • All outputs are 0.01 BTC or larger.
  • Its priority is large enough (see the Technical Info section below)

Otherwise, the reference implementation will round up the transaction size to the next thousand bytes and add a fee of 0.1 mBTC (0.0001 BTC) per thousand bytes[1]. As an example, a fee of 0.1 mBTC (0.0001 BTC) would be added to a 746 byte transaction, and a fee of 0.2 mBTC (0.0002 BTC) would be added to a 1001 byte transaction. Users may increase the default 0.0001 BTC/kB fee setting, but cannot control transaction fees for each transaction. Bitcoin-Qt does prompt the user to accept the fee before the transaction is sent (they may cancel the transaction if they are not willing to pay the fee).  Note that a typical transaction is 500 bytes, so the typical transaction fee for low-priority transactions is 0.1 mBTC (0.0001 BTC), regardless of the number of bitcoins sent.

Hopefully that avoids any future confusion.


Title: Re: Transaction fee - size rounding
Post by: arnuschky on November 19, 2013, 08:31:58 AM
Hopefully that avoids any future confusion.

Very clear, yes. Good example, thanks.