Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: drazvan on November 13, 2013, 12:23:40 AM



Title: Make transactions with unusually high miners fees non-standard
Post by: drazvan on November 13, 2013, 12:23:40 AM
I'm not sure if this has been proposed before, but I think it would be a good idea to make transactions with unusually high transaction fees attached to them non-standard.

Unless I am missing some legitimate use cases for very high transaction fees, they are almost always the result of a mistake or malware (like in the case of hardware wallets that do not verify the transaction chain but do verify the value of the output - those are vulnerable to a denial of service type of attack by lying about the value of the inputs and making them pay a lot of money in fees).

Are there any legitimate reasons for someone to pay 1 BTC (or even 0.1 BTC at today's exchange rates) for a regular transaction? 0.1 BTC would mean a transaction size of 1MB (at 0.0001/kB).


Title: Re: Make transactions with unusually high miners fees non-standard
Post by: gmaxwell on November 13, 2013, 12:37:08 AM
I'm not sure if this has been proposed before, but I think it would be a good idea to make transactions with unusually high transaction fees attached to them non-standard.
Unless I am missing some legitimate use cases for very high transaction fees, they are almost always the result of a mistake or malware
Mistakes can be avoided totally locally, and its preferable to do things locally because it doesn't constrain what other people can do.

Malware doesn't care about non-standard. For the malware author to profit from tricking a dumb client to pay away their coins to fees they'll need to privately sell the high fee transaction to a miner, thus bypassing the standardness rules.


Title: Re: Make transactions with unusually high miners fees non-standard
Post by: jl2012 on November 13, 2013, 05:49:15 AM
Mistakes can be avoided totally locally,

Initially I thought the OP suggestion was bad, but now I think it is good with your comment. This is exactly the reason for us to make it non-standard. Since bitcoind won't broadcast non-standard transactions, we could avoid it locally by making them non-standard

its preferable to do things locally because it doesn't constrain what other people can do.

Agreed. We may have separate non-standard criteria: one for broadcasting, one for relaying, one for mining. Most of the time the rules are the same, but we may prohibit the broadcast of some transactions, such as having >0.1BTC miners fee. The rest of the network would still relay and mine these transactions


Title: Re: Make transactions with unusually high miners fees non-standard
Post by: gmaxwell on November 13, 2013, 06:31:29 AM
Initially I thought the OP suggestion was bad, but now I think it is good with your comment. This is exactly the reason for us to make it non-standard. Since bitcoind won't broadcast non-standard transactions, we could avoid it locally by making them non-standard
Do you often kill flys with hammers?  Bitcoin git was changed so that sendrawtransaction wouldn't emit txn with insane fees without an explicit override flag more than a month ago. This requires nothing about changing relay rules and avoids adversely impacting other parties.


Title: Re: Make transactions with unusually high miners fees non-standard
Post by: jl2012 on November 13, 2013, 06:37:30 AM
Initially I thought the OP suggestion was bad, but now I think it is good with your comment. This is exactly the reason for us to make it non-standard. Since bitcoind won't broadcast non-standard transactions, we could avoid it locally by making them non-standard
Do you often kill flys with hammers?  Bitcoin git was changed so that sendrawtransaction wouldn't emit txn with insane fees without an explicit override flag more than a month ago. This requires nothing about changing relay rules and avoids adversely impacting other parties.

Really? I don't notice there is a change but I think this is exactly what I'm proposing


Title: Re: Make transactions with unusually high miners fees non-standard
Post by: gmaxwell on November 13, 2013, 07:06:42 AM
https://github.com/bitcoin/bitcoin/pull/2949


Title: Re: Make transactions with unusually high miners fees non-standard
Post by: jl2012 on November 13, 2013, 07:24:06 AM
https://github.com/bitcoin/bitcoin/pull/2949

It might be even better to allow users to define the value of insane fee. IMO 1BTC is too high.


Title: Re: Make transactions with unusually high miners fees non-standard
Post by: Bitalo_Maciej on November 13, 2013, 08:25:50 AM
I second that this feature is useful. I've once mistakely sent $1000 worth of fees by using create/send rawtransaction. I was fortunate though, because it was mined by ASICMiner, who sent it back to me, which I'm very grateful for. And I've heard about at least two similar cases in the past. This feature doesn't hurt anyone, while still protecting from dumb mistakes.


Title: Re: Make transactions with unusually high miners fees non-standard
Post by: Mike Hearn on November 13, 2013, 10:34:59 AM
Unit testing people!!

Anyway, all-fee transactions have a number of uses that we will want to explore in future. Making them non-standard would significantly hurt our ability to innovate. People who are working directly with money at the API level need testing to avoid mistakes like this.


Title: Re: Make transactions with unusually high miners fees non-standard
Post by: DannyHamilton on November 14, 2013, 02:10:26 AM
Unit testing people!!

Anyway, all-fee transactions have a number of uses that we will want to explore in future. Making them non-standard would significantly hurt our ability to innovate. People who are working directly with money at the API level need testing to avoid mistakes like this.

I agree completely, however sanity checks aren't a bad thing when interfacing with human beings.  Even a configurable setting in bitcoin.conf that allows a user to set a MAX_FEE would be useful.