Transaction fees are small sums charged to submit bitcoin transactions across the network (think of them as postage stamps) and have them validated by miners by including them in a mining block. They’re paid in satoshis (tiny bitcoins), which means that the transaction fees increase in accordance with the price of bitcoin.
Recent price swings in the bitcoin universe might have caused it to yo-yo, but that doesn’t imply it isn’t doing well. At the time of publishing, the Coin Desk Bitcoin Price Index was floating around $540, a little more than six times the price when it was first launched in July.
Lowering the cost of sending transactions
Around three months ago, the core developers addressed the possibility of lowering transaction fees for the coin in this mailing list article. Developer Mike Hearn said at the time that the reference client’s transaction fees had been reduced about six months ago, from 50k to 10k satoshis, in the 0.8.2 update (which was released in May 2013).
For a while, this remained true, but with the recent price rise, the average transaction fee is now about 5 cents per US dollar. It will be reduced to half a cent with this new patch.
When making a bitcoin transaction and determining what fee to charge, core developer Jeff Garzik explains that there are two thresholds to follow. The first helps the network to relay your transaction, while the second convinces bitcoin miners to include it in a block they’re mining. The first must happen before the second in order for the transaction to hit the miners.
“There is a hardcoded minimum to prevent spam,” Garzik explained, “to avoid relaying transactions through the payment network that will never validate (due to low fees or other reasons).” “Since the major price rise, this anti-spam minimum had not been changed. It’s been tweaked now.”
However, according to Hearn, the move is still in the early stages of growth.
“It’s what’s actually in git master,” he said, adding that “of course, that could change at any time before the final release of 0.9.”
Git is the online version control system that the core developers use to manage the various code submissions, and ‘master’ is the ‘official’ version, though this does not imply that it has been released.
Hearn added, “Actually, 0.9 should have been out by now.” “We went to a [release candidate] 1, but I believe it has been postponed due to the recent malleability issues.”
One problem with reducing these hard-coded relay transaction fees is that it could open the door to denial-of-service attacks, in which users take advantage of incredibly low transaction fees to overload the system with pointless transactions in order to clog the network. The ‘dust’ rule, which specifies a minimum amount that can be sent over the network, is set by the transaction relay fee, according to Gavin Andresen, who heads up the open source development team behind bitcoin.
Andresen said, “I just don’t want to start playing whack-a-mole with spamming DoS attacks.” One suggestion for eliminating spam is to restructure the bitcoin memory pool (this is the collective memory around the network that holds bitcoin transactions that have been received but not yet confirmed).
Andresen has said, “I’d much rather get to a floating fee structure with NO hard-coded relay fee rule sooner.” He means that, in the end, transaction fees will not be hardcoded at all.
Hard-coded fees are a bug, according to Garzik, and a dynamic system of ‘floating’ transaction fees is preferable. Both the relay limits and the block inclusion thresholds will be decided by the free market in this case.
Smart fees are all about this. According to Garzik, both relay and mining fees will be managed dynamically with this enhancement to the bitcoin client. Only transactions that are supposed to be validated in the Blockchain within 48 hours are relayed.
Smart fees aren’t yet complete, but for the time being, lowering transaction fees is a way to make transactions easier to relay. Let’s just hope it doesn’t contain a slew of garbage along the way.