The bitcoin developers are about to reduce the transaction fees on the bitcoin network tenfold, thanks to the relatively high value of the digital currency.
Transaction fees are small amounts paid to send bitcoin transactions around the network (think of them like postage stamps) and to get miners to confirm them by including them in a mining block. They’re paid in satoshis (tiny amounts of bitcoins), which means that as the price of bitcoin rises, the transaction fees get higher.
Recent fluctuations in the bitcoin world may have set the price yo-yoing, but that doesn’t mean that it isn’t doing relatively well. The CoinDesk Bitcoin Price Index is still hovering in the $540 range at the time of writing, a little over six times the price last July, when the Index was first introduced.
Making it cheaper to send transactions
The core developers first started discussing the possibility of slashing transaction fees for the coin around three months ago, in this post on the mailing list. At the time, developer Mike Hearn mentioned that the last reduction in transaction fees were about six months earlier, from 50k satoshis to 10k satoshis, in the 0.8.2 release of the reference client (which was released in May 2013).
That held up for a while, but with the spike in pricing, it puts the average transaction fee at around 5 cents of the US dollar. This latest patch would reduce it to half a cent.
There are two thresholds to meet when creating a bitcoin transaction and deciding what fee to charge, explains core developer Jeff Garzik. The first enables the network to relay your transaction, while the second persuades bitcoin miners to include your transaction in a block that they are mining. The first must occur before the second, so that the transaction gets to the miners in the first place.
“In order to avoid spam, there is a hardcoded minimum, to avoid relaying transactions across the payment network that will never confirm (due to low fees or other reasons),” said Garzik. “This anti-spam minimum had not been adjusted since before the large price increase. Now, it’s been adjusted.”
The change is still working its way through the development process, though, said Hearn.
“It’s what’s currently in git master, although of course that’s open to be changed any time before the final release of 0.9,” he said.
Git is the online version control system used by the core developers to manage the various submissions to the code, and ‘master’ is the ‘official’ version, although this doesn’t mean that it has actually been released .
“Actually 0.9 should have been out already,” Hearn continued. “We went to a [release candidate] 1, but the recent malleability stuff means that it got delayed a bit I think.”
The one worry with lowering these hard-coded relay transaction fees is that it could open the door to denial of service attacks, in which people take advantage of very low transaction fees to flood the system with useless transactions designed to clog up the network. Gavin Andresen, who heads up the open source development team behind bitcoin, has explained that the ‘dust’ rule, which defines a minimum amount that can be sent over the network, is set by the transaction relay fee.
“I really don’t want to start playing whack-a-mole with spamming DoS attacks,” said Andresen. One proposal to try and limit spam involves restructuring the bitcoin memory pool (this is the collective memory around the network, that holds bitcoin transactions that have been received but not yet confirmed).
“I’d much rather get to a floating fee system with NO hard-coded relay fee rule sooner,” Andresen has said. What he means is that ultimately, transaction fees won’t be hard coded at all.
Garzik calls hard coded fees a bug, and a dynamic system of ‘floating’ transaction fees is preferable. In this scenario, the free market would decide both the relay limits and the block inclusion thresholds.
This is what smart fees are about. This enhancement to the bitcoin client would see both relay and mining fees handled dynamically, said Garzik. Only transactions likely to be confirmed in the blockchain within 48 hours would be relayed.
Smart fees aren’t yet complete, though, so for now, lowering the transaction fees is a way to make it cheaper to relay transactions. Let’s just hope it doesn’t create a deluge of crud along the way.
Mechanism image via Shutterstock