mai77 (OP)
Newbie
Offline
Activity: 28
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/wink.gif) |
April 06, 2013, 02:39:32 PM Last edit: April 13, 2013, 11:31:53 PM by mai77 |
|
this thread will carefully track how we the bitcoiners will from now on LOWER THE TRANSACTION FEES. no spamming allowed. subjects: read earlier thread on the same issue: https://bitcointalk.org/index.php?topic=165933.0http://www.picturehost.eu/uploads/a8520e221bc0aafe86cf46d404803e42_fees.jpgThe service of securing the transaction is done by the miner finding the block in which it is included, and by the miners finding the next few blocks. However, what the user pays for this service is collected by the first miner alone. This is both a conceptually perverse incentive structure, and can create real problems in some specific circumstances. I streamlined the thread of some one liner opinion "pieces" and stuff. feel free to post what you like, it'l stay there for a week minimum. But I want to keep it succint.
|
|
|
|
DeathAndTaxes
Donator
Legendary
Offline
Activity: 1218
Merit: 1079
Gerald Davis
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 06, 2013, 03:33:33 PM Last edit: April 07, 2013, 01:02:16 PM by DeathAndTaxes |
|
One simple change which could be done quickly is to remove the min mandatory fee rules (which only apply to low priority/spam txs) related to block inclusion and keep the lower min mandatory fee rules for relaying.
For those who don't know the QT client (and many other clients copy these same rules) enforces the following fees as a denial of service prevention mechanism: 1) For high priority txs - no fee required * 2) To relay low priority txs - 0.0001 BTC per KB (0.1 mBTC per KB) 3) To include tx in a block - 0.0005 BTC per KB (0.5 mBTC per KB) 4) To create a low priority tx - 0.0005 BTC per KB (0.5 mBTC per KB)
The third and fourth rules can probably be removed completely. Miners are free to set their own fee requirements anyways and malicous users would simply use a modified client anyways.
So the rule set could be reduced to this: 1) High priority txs (create or relay) - no fee required * 2) Low priority txs (create or relay) - 0.0001 BTC per KB (0.01 mBTC per KB)
At the same time the relay (but not create requirement could be reduced to 0.00005 (0.05 mBTC). The reason you can't change both at the same time is that older clients will reject those txs so you don't want to drop the create rule until a super majority of the network has upgraded. Once a super majority of nodes has upgraded a new client version could be released which creates tx which will be accepted by the upgraded nodes. Longer term Gavin presented some good ideas for starting to build a "fee marketplace" but this could be an interim step. It could even be done in the next version and release in a relatively short period of time.
Also the default optional fee should be lowered from 0.01 ($1.34) to the min mandatory fee (either 0.01 mBTC or 0.05 mBTC).
* Now remember miners are free to impose their own fee requirements and often no fee high priority tx have to wait many blocks for inclusion so optional fees may be useful in a lot of cases but these would be between the miner and clients, the protocol wouldn't care.
|
|
|
|
DeathAndTaxes
Donator
Legendary
Offline
Activity: 1218
Merit: 1079
Gerald Davis
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 06, 2013, 03:38:46 PM |
|
You choose the fee ![Roll Eyes](https://bitcointalk.org/Smileys/default/rolleyes.gif) set a lower one Well that isn't exactly true for low priority txs. Nodes enforce min rules for creation, relaying, and inclusion in a block for low priority txs. There is some merit in reforming that aspect.
|
|
|
|
mai77 (OP)
Newbie
Offline
Activity: 28
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 06, 2013, 08:36:14 PM |
|
if we popularize modified clients and have the above mentioned zero fee policy nodes in place, we are basically there.
|
|
|
|
Mike Hearn
Legendary
Offline
Activity: 1526
Merit: 1129
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 06, 2013, 09:10:50 PM |
|
One reason fee revenues are climbing is that some clients always attach a fee, even when one isn't necessary. Fixing that seems like the best way to get started in lowering fees paid.
|
|
|
|
Zangelbert Bingledack
Legendary
Offline
Activity: 1036
Merit: 1000
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 06, 2013, 10:26:25 PM |
|
The basis for a marketplace is price information. We need realtime statistics about actual fees paid by others to be displayed in the client when people go to send coins. Then a fee market would develop naturally, with miners never getting shortchanged, users never overpaying, and no one wondering how much to pay or whether their transactions will go through. Most users would probably just have the fees default to the market price, or a bit higher if they need to guarantee confirmation in a reasonable time.
|
|
|
|
evilpete
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 77
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 07, 2013, 04:54:38 AM |
|
For those who don't know the QT client (and many other clients copy these same rules) enforces the following fees as a denial of service prevention mechanism: 1) For high priority txs - no fee required * 2) To relay low priority txs - 0.0001 BTC per KB (1 mBTC per KB) 3) To include tx in a block - 0.0005 BTC per KB (5 mBTC per KB) 4) To create a low priority tx - 0.0005 BTC per KB (5 mBTC per KB)
More specifically: https://en.bitcoin.it/wiki/Transaction_feesAnd the key parts of that: A transaction will be sent without fees if these conditions are met: * It is smaller than 10 thousand bytes. * All outputs are 0.01 BTC or larger. * Its priority is large enough (see the Technical Info section below) However.. the more interesting problem is that over the last few weeks there have been as many as 12,000 backlogged transactions waiting for confirmations. When there are too many transactions, miners select the highest fee-per-kb tx's first. What's happening is that there's a number of clients and wallet implementations that pay WAY higher fees than the standard amount, and since higher fees win, they get in and the standard fee transactions don't. Even if you could get the relay fees lowered overnight, when the backlogs hit, your low fees won't get a chance compared to the people paying 0.0005 or 0.001 or 0.01. You'll be waiting for confirmations for hours.. perhaps days... If you lower them prematurely on your client, you'll be victim to things like this: 2013-04-06 12:24:12 ERROR: CTxMemPool::accept() : not enough fees b5a7f7766dbc36dc596a7890d791361d9e40687bffd8e66d0907b1f25376e4f0, 100000 < 330000 2013-04-06 12:24:12 ERROR: CTxMemPool::accept() : not enough fees 3c8132fd3d67d5db27e63af33de69232153ef62810b3c588c26e3090652edab2, 0 < 10000 2013-04-06 12:24:13 ERROR: CTxMemPool::accept() : not enough fees e3074aff5855eba1e4eff937d95436a5bb852f416cd4785d3d4f6ed5aca2798c, 0 < 450000
That's stock fee settings on my bitcoind. It's dropping those transactions and refusing to relay them to the other 171 peers it is connected to.
|
First they ignore you, then they laugh at you, then they fight you, then you win. - Mahatma Gandhi
|
|
|
Mike Hearn
Legendary
Offline
Activity: 1526
Merit: 1129
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 07, 2013, 12:23:18 PM |
|
Partly this is a temporary problem caused by the block size throttling that's in place until May 15th. Once we hard fork the <0.8 nodes out of the system miners should start raising the block sizes they create up to the 1mb limit, and at that point transaction backlogs shouldn't build up even if you aren't attaching a high fee.
So in the short term, what can be done is:
1) Wait until the May 15th fork. After that point, transaction backlogs should not be building up unless there's a lot of suppressed demand.
2) Fix various clients (e.g. bitcoinj) to correctly calculate minimum needed fees so they aren't constantly outbidding other clients and wasting their users money.
I won't have time to do (2) for a while, so we need a Java developer who is willing to step up and write a few patches.
|
|
|
|
foo
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 07, 2013, 12:56:37 PM |
|
DeathAndTaxes, your mBTC conversions are incorrect.
|
I know this because Tyler knows this.
|
|
|
DeathAndTaxes
Donator
Legendary
Offline
Activity: 1218
Merit: 1079
Gerald Davis
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 07, 2013, 01:06:00 PM |
|
snip
My guess is you didn't read anything I wrote. I addressed the fact that miners are free to set fee policies and sometimes even high priority tx need a fee for timely processing. I also addressed the fact that there is no reason to change the limit a client imposes on creating new tx, until most of the nodes have ALREADY been updated to allow relaying. Nowhere did I indicate that x min fee would always get a tx in a block. It hasn't never been that way, not today, not since block 1. Miners have always been free to pick which transactions can be included. However given the fact that miners ARE ALREADY FREE TO INCLUDE THE TX THEY WISH and market demand has resulted in miners ROUTINELY DELAYING LOW FEE TX there is no real reason for the extra fee rules. Simple version (for those who like to only skim and point out errors which don't exist): Let miners set their own pricing and have the client only enforce a min fee on creating & relaying (i.e. 0.0001 BTC).
|
|
|
|
|
jubalix
Legendary
Offline
Activity: 2632
Merit: 1022
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 09, 2013, 07:03:31 AM |
|
if its that ripped of and miners are making such a big profit....set up a mine?
|
|
|
|
darkmule
Legendary
Offline
Activity: 1176
Merit: 1005
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 09, 2013, 07:12:20 AM |
|
The basis for a marketplace is price information. We need realtime statistics about actual fees paid by others to be displayed in the client when people go to send coins. Then a fee market would develop naturally, with miners never getting shortchanged, users never overpaying, and no one wondering how much to pay or whether their transactions will go through. Most users would probably just have the fees default to the market price, or a bit higher if they need to guarantee confirmation in a reasonable time.
THIS! I'm amazed it hasn't been done already. You should also just be able to tweak the client based on how important it is to you to get your transaction shipped quickly. It is incredibly annoying how the reference client just ignores your preferences in the preferences menu and either puts an arbitrary fee on or, bizarrely, transmits without a fee. I tried to start a thread about this, but everyone basically fucking ignored it. Maybe nobody knows. It's somewhat frustrating that either nobody knows, or that the people who do know just ignore threads like this. WTF is this bullshit? Does nobody even know how the reference client works on basic issues like transaction fees?
|
|
|
|
Kyt Dotson
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 09, 2013, 07:46:49 AM |
|
The basis for a marketplace is price information. We need realtime statistics about actual fees paid by others to be displayed in the client when people go to send coins. Then a fee market would develop naturally, with miners never getting shortchanged, users never overpaying, and no one wondering how much to pay or whether their transactions will go through. Most users would probably just have the fees default to the market price, or a bit higher if they need to guarantee confirmation in a reasonable time.
THIS! I'm amazed it hasn't been done already. You should also just be able to tweak the client based on how important it is to you to get your transaction shipped quickly. It is incredibly annoying how the reference client just ignores your preferences in the preferences menu and either puts an arbitrary fee on or, bizarrely, transmits without a fee. I tried to start a thread about this, but everyone basically fucking ignored it. Maybe nobody knows. Now I'm curious about this potential product. A space that tracks and informs on current fee rates could be instrumental to the basic functioning of mining. The fee always struck me as a sort of tip to making mining worthwhile for people doing it (aside from the current potential reward). Since fees could determine the priority of a miner to grab a particular transaction and bundle it or prioritize--i.e. the confirmation in time concept mentioned in Zangelbert's post. Fees following market costs (or to USD, to EURO, etc.) would make more sense to allow people to make transactions without smaller ones getting swamped with the transaction fee. Since as the value increases, smaller bitcoin fractions will become used more often.
|
|
|
|
darkmule
Legendary
Offline
Activity: 1176
Merit: 1005
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 14, 2013, 04:05:04 AM |
|
Personally, I'm in the OK then, high now camp. They're not to the point they're completely out of line, but some thought needs to be given to how to do this in the future. And the reference client does an utter shit job at setting these fees in any useful fashion, and sites that transmit BTC have no best practices to guide them.
It will eventually get to the point that when you buy a Raspberry Pi, you'll have to pay half its cost just to transmit the fucking transaction and get it confirmed the same day.
I do think the fees should be high enough to discourage tiny lint micro-transactions, but not high enough that they significantly impair real business.
|
|
|
|
CasinoBit
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 14, 2013, 04:06:28 AM |
|
Thing is you cannot establish the price of the fees without involving an exchange, even then what would you hedge it to?
|
|
|
|
em3rgentOrdr
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 14, 2013, 04:41:54 AM |
|
paypal's micro-exchange rate is 5 cents + %5, so that's 10 cents for a 1 dollar transaction. But if I do a 1-dollar bitcoin transaction and if the transition fee is .0010, then that is worse than the 10-cent paypal fee when the exchange rate is >100 USD/BTC. Transaction fees for these micro-transactions really need to be significantly lower (like no more than a cent for a dollar) if bitcoin is going to be a competitive micro-payment solution, such as for instant music downloads for $1 in BTC.
|
"We will not find a solution to political problems in cryptography, but we can win a major battle in the arms race and gain a new territory of freedom for several years.
Governments are good at cutting off the heads of a centrally controlled networks, but pure P2P networks are holding their own."
|
|
|
mai77 (OP)
Newbie
Offline
Activity: 28
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 14, 2013, 12:38:57 PM |
|
when I said: "lower the fees!" I did not mean you should crash the exchange rate, OK? ![Wink](https://bitcointalk.org/Smileys/default/wink.gif)
|
|
|
|
BkkCoins
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
April 14, 2013, 01:20:26 PM |
|
For those who are interested in fees and how they relate to confirmation speed I created a monitoring statistics script and run it currently on my bitcoind node. The script is open source in my github misc repo called cfmstats. I host the results at bitcoin.speedstats.org. It shows two statistics arranged by trx value and fee, Probability (%) of Confirmation in Next BlockAverage Number of Blocks to ConfirmHope these are helpful to people. Feel free to check my code and let me know if you think something is calculated incorrectly. I was a bit surprised that probabilities of inclusion in next block are usually less than 80%.
|
|
|
|
|