Author

Topic: What's relay fee ! (Read 7156 times)

donator
Activity: 1218
Merit: 1079
Gerald Davis
April 22, 2014, 06:42:20 PM
#6
Thank you guys it's clear now.

A final thing that i don't understand is how different versions of Bitcoin nodes agree on Fee/Kb. Bitcoin 0.8.0 require 0.0005 btc/kb, Bitcoin 0.8.2 require 0.0001 btc/kb, and recently Bitcoin 0.9.0 requires 0.00001 btc/kb.

They don't agree.

Bitcoin is a voluntary system.

This.  To the OP, it helps if you stop thinking about "bitcoin" as this abstract tightly coupled unified network running a single official "standard".  In reality it is a very loose protocol made up of hundreds of thousands of independent nodes and at no point in time are all the nodes in agreement on anything. 

If I wanted to I could change my node to not relay any transaction unless it has a fee of 0.1 BTC or more.  There wouldn't be much point in doing that (tx would just route "around" my node) but I could and so could anyone else.  If your tx has a fee of x and priority of y then each individual node acting totally independent of any other node will determine if they will relay it and just because a node relays a transaction doesn't mean that other nodes won't refuse to relay it further based on their own completely independent determination.  For any given transaction is is probable that at least one node on the network will refuse to relay it due to double spend, insufficient fee and/or priority, inability to verify, tx not meeting "IsStandard" requirements, outputs below the spam threshold, etc.
legendary
Activity: 3472
Merit: 4801
April 22, 2014, 02:17:37 PM
#5
Thank you guys it's clear now.

A final thing that i don't understand is how different versions of Bitcoin nodes agree on Fee/Kb. Bitcoin 0.8.0 require 0.0005 btc/kb, Bitcoin 0.8.2 require 0.0001 btc/kb, and recently Bitcoin 0.9.0 requires 0.00001 btc/kb.

They don't agree.

Bitcoin is a voluntary system.

If the transaction fee is too low, it will be very unlikely that any peers will relay it or that any miners will confirm it.

If you pay a fee a bit higher, you'll find some peers that will relay it, and some miners that will confirm it, but it may take a bit longer for the transaction to get to the miners since some peers may reject it.

Pay an even higher fee and then nearly all peers will relay it and nearly all miners will work to confirm it.  It will spread throughout the network and reach the miners very quickly.

Over time, more and more users will run more recent versions of the software, so older fee requirements will become less prevalent.

newbie
Activity: 38
Merit: 0
April 22, 2014, 02:10:44 PM
#4
Thank you guys it's clear now.

A final thing that i don't understand is how different versions of Bitcoin nodes agree on Fee/Kb. Bitcoin 0.8.0 require 0.0005 btc/kb, Bitcoin 0.8.2 require 0.0001 btc/kb, and recently Bitcoin 0.9.0 requires 0.00001 btc/kb.
legendary
Activity: 1512
Merit: 1036
April 22, 2014, 12:35:01 AM
#3
The relay fee is also the transaction fee, but it refers to a different use than what you may know. A transaction fee is included with a transaction to encourage and reward miners for including the transaction in the blockchain.

"Relay fee" refers to the minimum fee amount that other clients on the peer-to-peer network require in order to forward transactions to other peers. This fee is in place in order to prevent the broadcast and propogation of DDoS-like spam transactions.

The relay fee is coded in a different place than the transaction fee in Bitcoin. In the past, it has also been set at a different amount than the transaction fee. For a good portion of recent Bitcoin history, the minimum transaction fee used by the Bitcoin client and by most miners was 0.0005 BTC per kB, but the minimum relay fee was coded at 0.0001 BTC. The transaction fee was then lowered, bringing them in sync.
legendary
Activity: 3472
Merit: 4801
April 21, 2014, 06:18:32 PM
#2
From Bitcoin 0.8.2 release notes
https://bitcointalksearch.org/topic/bitcoin-qt-bitcoind-082-final-available-219504

Quote
Payments (transaction outputs) of 0.543 times the minimum relay fee
(0.00005430 BTC) are now considered 'non-standard'

I've read a lot about transaction fee, and i think i've wrapped my mind around it.
What's relay fee ? Is it different from transaction fee ?

The transaction fee is a voluntary payment.

However, there are various limitations built into various common functionality.  If you don't pay an appropriate transaction fee, you can encounter problems with some of these limitations.

Under some circumstances, the Bitcoin Core wallet won't broadcast its own transaction unless it has a large enough fee.  This could be referred to as a minimum broadcast fee.

Under some circumstances, peer nodes running code based on BitcoinCore won't relay a transaction unless it has a large enough fee.  This could be referred to as a minimum relay fee.

Under some circumstances, some mining pools won't confirm a transaction unless it has a large enough fee.  This could be referred to as a minimum confirmation fee.

The point is, they are all just ways of talking about a minimum fee that a transaction must include if it is going to make it past a particular limitation.

If your wallet won't broadcast the transaction, then nobody will ever know about it.

If your peers won't relay your transaction, then your recipient might not see the transaction until it is confirmed, and it might not be confirmed for a very long time since many miners (and mining pools) won't hear about it from their peers.

If many of the miners (and mining pools) won't confirm it, then it may remain with 0 confirmations for a very long time.  Depending on the wallet you are using, the transaction may expire if it isn't confirmed, and the bitcoins could end up back in your wallet.
newbie
Activity: 38
Merit: 0
April 21, 2014, 05:55:02 PM
#1
From Bitcoin 0.8.2 release notes
https://bitcointalksearch.org/topic/bitcoin-qt-bitcoind-082-final-available-219504

Quote
Payments (transaction outputs) of 0.543 times the minimum relay fee
(0.00005430 BTC) are now considered 'non-standard'

I've read a lot about transaction fee, and i think i've wrapped my mind around it.
What's relay fee ? Is it different from transaction fee ?
 
Jump to: