Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: Farghaly on May 28, 2014, 11:43:01 PM



Title: What's "Insanely high transaction fees" ?
Post by: Farghaly on May 28, 2014, 11:43:01 PM
Quote from Bitcoin Core client version 0.9.0
https://bitcoin.org/en/release/v0.9.0

Quote
Reject insanely high fees by default in sendrawtransaction

What's considered insanely high tx fee ? is there a formula per tx or something ?


Title: Re: What's "Insanely high transaction fees" ?
Post by: DannyHamilton on May 29, 2014, 12:01:36 AM
Quote from Bitcoin Core client version 0.9.0
https://bitcoin.org/en/release/v0.9.0

Quote
Reject insanely high fees by default in sendrawtransaction

What's considered insanely high tx fee ? is there a formula per tx or something ?

The code checks to see if the fee in the transaction is larger than 10,000 X nMinRelayTxFee.

The default setting of nMinRelayTxFee is 10 µBTC, but I believe it can be changed in bitcoin.conf

Therefore, with default settings, any transaction with a fee larger than 0.1 BTC will be rejected by sendrawtransaction.
(assuming I've got my math correct, the actual setting in the code for nMinRelayTxFee is 1000 satoshis).

If you really want to pay a fee larger than 0.1 BTC, I think there's an override parameter you can send along with sendrawtransaction.


Title: Re: What's "Insanely high transaction fees" ?
Post by: KaChingCoinDev on May 30, 2014, 02:37:30 PM
Why is there a limit? I do not see the point of capping it off. If someone wants to pay 1 BTC tx fee, miners will be happy.


Title: Re: What's "Insanely high transaction fees" ?
Post by: maaku on May 30, 2014, 03:17:54 PM
It's called a fail-safe design. Because typically when someone provides a >0.1btc transaction fee, it is because they forgot to include a change output, a very, very common mistake. People have lost lots of bitcoin (>200btc in a single transaction!) due to this mistake in earlier versions of bitcoind.


Title: Re: What's "Insanely high transaction fees" ?
Post by: KaChingCoinDev on May 30, 2014, 03:33:18 PM
Because typically when someone provides a >0.1btc transaction fee, it is because they forgot to include a change output, a very, very common mistake. It's called a fail-safe design. People have lost lost of bitcoin (>200btc in a single transaction!) due to this mistake.

Ah, okay. Makes more sense. Thanks!


Title: Re: What's "Insanely high transaction fees" ?
Post by: lilfiend on May 30, 2014, 03:49:06 PM
Because typically when someone provides a >0.1btc transaction fee, it is because they forgot to include a change output, a very, very common mistake. It's called a fail-safe design. People have lost lost of bitcoin (>200btc in a single transaction!) due to this mistake.

While I'd usually say that we should just let them deal with their own stupidity it probably is for the best that a fail-safe like this is put into place. We want bitcoin adoption, not for people to get pissed at bitcoin because they accidentally gave away their coins.


Title: Re: What's "Insanely high transaction fees" ?
Post by: DannyHamilton on May 30, 2014, 04:28:16 PM
Because typically when someone provides a >0.1btc transaction fee, it is because they forgot to include a change output, a very, very common mistake. It's called a fail-safe design. People have lost lost of bitcoin (>200btc in a single transaction!) due to this mistake.

While I'd usually say that we should just let them deal with their own stupidity it probably is for the best that a fail-safe like this is put into place. We want bitcoin adoption, not for people to get pissed at bitcoin because they accidentally gave away their coins.

Multiple people all very knowledgeable about bitcoin and raw transactions have made this very mistake for a variety of reasons.

As for those who WANT to send a 1 BTC fee, the RPC call allows for an override flag that lets you intentionally send an insanely high transaction fee.  The point is, you have to make a conscious decision to intentionally include that flag.


Title: Re: What's "Insanely high transaction fees" ?
Post by: maaku on May 30, 2014, 05:41:05 PM
it is very important to point out that this is not a protocol rule it is just the user interface asking "are you sure you know what you are doing?"


Title: Re: What's "Insanely high transaction fees" ?
Post by: Carlton Banks on May 30, 2014, 08:28:47 PM
As for those who WANT to send a 1 BTC fee, the RPC call allows for an override flag that lets you intentionally send an insanely high transaction fee.  The point is, you have to make a conscious decision to intentionally include that flag.

Blocks like this one: https://blockchain.info/block/000000000000048b95347e83192f69cf0366076336c639f9b7228e9ba171342e

With numerous transactions like this: https://blockchain.info/tx/7e0b3cfad0eefe05526669d666e6b9371ce4e54d838f16dd9d22e23f561e941c

are what spring to mind for me. Although I wonder whether everyone will be feeling so profligate when we get to 420,000, perhaps we'll never see such behaviour again.


Title: Re: What's "Insanely high transaction fees" ?
Post by: ondratra on May 31, 2014, 11:13:30 AM
Quote from Bitcoin Core client version 0.9.0
https://bitcoin.org/en/release/v0.9.0

Quote
Reject insanely high fees by default in sendrawtransaction

What's considered insanely high tx fee ? is there a formula per tx or something ?

The code checks to see if the fee in the transaction is larger than 10,000 X nMinRelayTxFee.

The default setting of nMinRelayTxFee is 10 µBTC, but I believe it can be changed in bitcoin.conf

Therefore, with default settings, any transaction with a fee larger than 0.1 BTC will be rejected by sendrawtransaction.
(assuming I've got my math correct, the actual setting in the code for nMinRelayTxFee is 1000 satoshis).

If you really want to pay a fee larger than 0.1 BTC, I think there's an override parameter you can send along with sendrawtransaction.

In originall bitcoind client fee can be set by "settxfee" command. Whole API here https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list .
Transactions with fee under nMinRelayTxFee can be rejected by network but usually it just takes longer to process (and even it gets stuck it can be double spended anyway).