These days there are lots of “big idea” Bitcoin-related projects getting lots of attention.
Thomas Edison said that “genius is one percent inspiration, ninety-nine percent perspiration.” We don’t pay enough attention to all of the hard work that goes into making an invention successful, and I certainly see that in the Bitcoin world. It is one of the reasons I am a lot more enthusiastic about ideas embodied in source code I can look at, download and run than ideas that are just whitepapers or forum posts.
Matt Corallo has been contributing perspiration to the Bitcoin project for a few years now, working on wallet encryption, bloom filters, and micro-payment channels. His latest project is a “Bitcoin backbone network,” designed to give miners a fast, reliable, open and fair way of interconnecting.
He is running servers in different geographical regions, connected to each other with fast, as-low-latency-as-possible network connections.
If you own a mining pool or are a solo miner, you should connect to Matt’s backbone network; your blocks will propagate faster to the rest so you are less likely to lose block races. And you are more likely to hear about new blocks sooner, so you waste less time building on an old block.
Matt’s relay backbone is designed for speed and low latency. If you are not a mining pool owner or solo miner, then you shouldn’t bother
connecting to it– if you do, you will get blocks a little bit faster but will use more bandwidth, because the relay network tend to ‘blast out’ new transactions and blocks instead of asking nodes whether or not they’ve already got them.
Optimized Block Relay
Matt has also implemented a highly optimized block relaying tool, which avoids re-transmitting more than 95% of the transaction data in “new block” messages. It works as a network proxy running on a machine inside your network, acting as a bridge between your bitcoind and the fast relay network. It keeps track of which transactions have been
recently seen, and uses that knowledge to avoid re-transmitting most of the data in those transactions (it will send a 10-byte transaction identifier instead of the full transation data, which is normally 250 bytes ore more).
Your bitcoind maintains normal connections to the rest of the peer-to-peer network; the relaying tool just acts as a very fast, efficient connection to other miners who want to know about new blocks as quickly as possible.
See Matt’s post to the bitcoin-development mailing list for more information on exactly how to configure your bitcoind to connect.
But… but… Centralization!
But doesn’t having a fast backbone violate the purity of the peer-to-peer network? Isn’t this the first step on a slippery slope to a centralized, controlled, non-free Bitcoin network?
No. Anybody can do what Matt has done, and I encourage anybody concerned about centralization to create an even higher-performance backbone network and software. I’ll be happy to write about it once it is up and running (and I apologize in advance if you’ve already got a backbone network project up and running that I don’t know about).