Bitcoin Forum
December 13, 2024, 12:52:52 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Criteria used by Satoshi client to require a fee  (Read 1575 times)
caveden (OP)
Legendary
*
Offline Offline

Activity: 1106
Merit: 1004



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!
Stephen Gornick
Legendary
*
Offline Offline

Activity: 2506
Merit: 1010


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

Unichange.me

            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █


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!