Bitcoin Forum
October 23, 2017, 09:19:35 PM *
News: Latest stable version of Bitcoin Core: 0.15.0.1  [Torrent]. (New!)
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: Criteria used by Satoshi client to require a fee  (Read 1435 times)
caveden
Legendary
*
Offline Offline

Activity: 1106



View Profile
June 19, 2012, 12:43:49 PM
 #1

Hello,

Can someone please point me to the full criteria set used by Satoshi client to calculate whether a transaction should have a "mandatory" fee?
Initially I thought it was only transaction size in bytes and the amounts in outputs ("dust"), as said here: https://en.bitcoin.it/wiki/Transaction_fees#Minimum_transaction_fees

But apparently that's not all. A friend of mine was testing some bitcoins transfers. He received 1 BTC. He tried to send that 1 BTC to another address. It went, no fees required. Then he tried to send it again to another address. The client required him a fee. He canceled, and some days after tried again, and then it passed without requiring fees.
So, well, data size and output amounts are not the only criteria... what are the others?

Thanks!

18rZYyWcafwD86xvLrfuxWG5xEMMWUtVkL
1508793575
Hero Member
*
Offline Offline

Posts: 1508793575

View Profile Personal Message (Offline)

Ignore
1508793575
Reply with quote  #2

1508793575
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1508793575
Hero Member
*
Offline Offline

Posts: 1508793575

View Profile Personal Message (Offline)

Ignore
1508793575
Reply with quote  #2

1508793575
Report to moderator
1508793575
Hero Member
*
Offline Offline

Posts: 1508793575

View Profile Personal Message (Offline)

Ignore
1508793575
Reply with quote  #2

1508793575
Report to moderator
Stephen Gornick
Legendary
*
Offline Offline

Activity: 2296



View Profile
June 19, 2012, 06:06:52 PM
 #2

He received 1 BTC. He tried to send that 1 BTC to another address. It went, no fees required. Then he tried to send it again to another address. The client required him a fee. He canceled, and some days after tried again, and then it passed without requiring fees.

So, well, data size and output amounts are not the only criteria... what are the others?

The coin selection algorithm (which is continually revised, version to version) will avoid using the newest coins if it can, to avoid the transaction being considered "low priority".  So the age of the coin is a factor that weighs when the client estimates fees.  I'm not sure the specific algorithm but the rule of thumb is after a day the coin can be used without causing the transaction to be considered "low priority".

The reasoning behind this is likely an anti-spam protection.  Without this, the network could be spammed continually by sending larger BTC transactions back and forth and cause grief without paying fees.  Griefing with larger transactions can still be done without a fee, but not without having a wallet with a large amount of bitcoins so that no coin is used in transactions more than once a day (roughly).

Here are some other sources of information on fees:
 - http://bitcoin.stackexchange.com/a/3403/153
 - http://en.bitcoin.it/wiki/Transaction_fees

Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!