Bitcoin Forum
December 03, 2016, 09:54:38 AM *
News: To be able to use the next phase of the beta forum software, please ensure that your email address is correct/functional.
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: Criteria used by Satoshi client to require a fee  (Read 1367 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
1480758878
Hero Member
*
Offline Offline

Posts: 1480758878

View Profile Personal Message (Offline)

Ignore
1480758878
Reply with quote  #2

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

Posts: 1480758878

View Profile Personal Message (Offline)

Ignore
1480758878
Reply with quote  #2

1480758878
Report to moderator
1480758878
Hero Member
*
Offline Offline

Posts: 1480758878

View Profile Personal Message (Offline)

Ignore
1480758878
Reply with quote  #2

1480758878
Report to moderator
1480758878
Hero Member
*
Offline Offline

Posts: 1480758878

View Profile Personal Message (Offline)

Ignore
1480758878
Reply with quote  #2

1480758878
Report to moderator
Stephen Gornick
Legendary
*
Offline Offline

Activity: 1988



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!