A long-running effort to move data for bitcoin's transaction blocks around the world more efficiently has received an upgrade.
Since bitcoin was released, an array of services or solutions have emerged to meet the needs of those using the digital currency. These include exchanges that allow bitcoin to be bought and sold for government-issued currencies; mining pools, which grew as miners sought to collectivize for greater profit; and new kinds of wallets that delivered better functionality and security.
But, some of the needs of the distributed network are not readily apparent to observers.
As Bitcoin Core developer Greg Maxwell puts it, the Bitcoin Relay Network, the brainchild of fellow Bitcoin Core contributor Matt Corallo, arose several years ago in response to a need to propagate bitcoin block data more quickly among miners, or those who process its transactions.
"A couple years ago as blocks started getting above 250k regularly we saw what looked like a rapid consolidation of miners towards the most popular pools. One of the reasons was smaller pools were experiencing high orphaning," Maxwell recalls.
He told CoinDesk:
"It seemed like we were rapidly on a trend where only a single pool would exist."
However, he said Corallo sprung into action, developing the original relay network and delivering what Maxwell called "radically improved block propagation speed".
The Bitcoin Relay Network ultimately materialized as a network of nodes positioned in China, Europe, North America, Russia and Southeast Asia. Each of the nodes sports a robust internet connection, and in theory acts as a railroad for block data. The data is compressed and then transmitted via the Transmission Control Protocol, or TCP.
That system has been described as bitcoin's vascular or nervous system – a critical component to delivering information throughout the body. Now, an enhanced successor has been released.
Corallo recently unveiled the Fast Internet Bitcoin Relay Engine (FIBRE), an effort aimed at building a more capable version to the Bitcoin Relay Network.
The idea is that, by improving the speed at which this information is conveyed, miners can reduce the amount of orphan blocks, or transaction blocks that are rejected by the network in favor of another created around that time.
Corallo, who operated the original network and designed the new version, said that the initiative also helped increase the cost of selfish mining and cut down on the amount of empty blocks generated through SPV mining.
But according to Corallo, the existing relay network began to "show its age" in the last year, prompting work on the new software in the past several months.
He told CoinDesk:
"Over the past few years of running it and very carefully benchmarking it, I've found that you just can't get the kind of reliable low-latency relay you want when using TCP in any form. A few months ago I finally got around to starting from scratch to build a new fast-relay protocol, building Compact Blocks as the foundation and early versions of FIBRE at the same time."
At issue, Corallo explained, was that the network that functioned via TCP was susceptible to data loss, which would require additional processing (and thus increasing the time it takes to relay blocks). He explained in his blog post introducing FIBRE that, with TCP, data packets can get lost along the way.
"Only then will the sender retransmit the lost packets, allowing the receiver to (potentially) reconstruct the original transmission," he wrote.
These extra round-trip times ultimately caused spikes in relay time on the original Relay Network, he explained.
To sidestep this problem of latency – the time in which it takes packets of data from one point to another (in this case, from node to node), Corallo said he turned to another protocol, the User Datagram Protocol (UDP).
"Instead of using TCP to send the data required to transmit a block once and relying on full round-trips to detect and resend lost packets, FIBRE sends the data using UDP with additional Forward Error Correction (FEC) data (ie data which allows you to reconstruct the full transmitted data even though some was lost)," he told CoinDesk.
It’s this latter element, FEC, that Maxwell referred to as "a bit of technology magic".
FIBRE's makeup also involves BIP 152, a proposal for "compact blocks" aimed at cutting down the amount of bandwidth used when block data moves from node to node.
"This way, even if some parts are lost, the block is still received very quickly and without back and forth communication," Maxwell explained. "It also retains its speed even if the block doesn't look very much like the receivers mempool."
Yet for all the enhancements, FIBRE’s most ambitious aim is, perhaps, an effort to get people around the world to run more networks.
Originally, the network was maintained under the auspices of Corallo himself, meaning that its operation – as with any bitcoin node – was contingent on his ability to maintain it.
Despite its code being freely available, Corallo said that there wasn’t much of an appetite to stand up additional networks. Ultimately, the success of a network (or system of networks) is arguably dependent on getting more people to actually run them.
FIBRE seeks to change this dynamic. The software is designed to function as an add-on to Bitcoin Core, offering an avenue for more people to come into contact with the code and potentially launch their own relay networks.
According to Corallo, work is underway to encourage other parties to create their own FIBRE-based relay networks – an effort he said is needed to keep things decentralized.
Corallo has also published a guide for setting up FIBRE networks.
In the meantime, he said new groups are now interested in setting up relay systems, and he is, for now, cautiously optimistic more users will help the cause.
"I'm not sure if I should mention them by name yet, but I'm confident at least two or so will stand something up and make it publicly available soonish."
Processing chip via Shutterstock