As has been discussed in this space earlier, we are gearing up for the general-availability release of BloqCloud later this summer. From my northern Minnesotan perch as DevOps lead for Bloq, I’d like to think that at least some of my own experiences have informed how we approach the upcoming BloqCloud platform’s Nodes service.
During internal discussions, the team continues to come back to the reality that “People want to exercise creativity in building blockchain apps, not patience.” This necessarily means offloading infrastructure. (Lots of people agree, it seems, as I imagine this contributes at least some portion of the ten-to-eleven-figure estimates of the blockchain industry’s market potential.)
However; patience, I can tell you, is the main quality someone ought to possess when managing their own node. Even something as simple-sounding as syncing an Ethereum node is tremendously delicate and time consuming.
Over the past few years, I’ve come to the conclusion that spinning up and managing a node is a skill possessed by people with highly niche skills and interests, almost like Cypher’s ability in The Matrix to see the disembodied humans represented in the green vertical scrolls of code. The difficulty is often underscored by their altruism, since people who run their own nodes do so without the coinbase rewards that miners receive, at least in PoW blockchain networks.
The team and I have learned a lot during the last few years of managing and building nodes. We’ve sat through the seven or ten days it takes to sync a node. We’ve seen full archives of the Ethereum blockchain eventually balloon to two terabytes or more. We’ve gone through the decision matrix of docker-versus-compile-from-source. We’ve even tried running ETH nodes from a spinning hard drive. (Short version: Just don’t.)
Obviously, if you want to spin up a node quickly, you should sign up for the limited public release of our BloqCloud platform — we’ll get you there in a fraction of the time. At launch, we’ll have a nodes-on-demand service for Bitcoin, Bitcoin Cash, and Ethereum, plus APIs and indexed blockchain data for Bitcoin and Bitcoin Cash to start. More services and network support is the way.
For the rest of you, here are three pieces of advice from an experienced node wrangler:
- Diligence: Rigorously monitor the health of your nodes. You’ll want to see that all of your nodes are on the best block and presenting valid data. This means ensuring that you are fully synced to the chain and keeping up with the latest valid block.
- Distrust and Verify (with apologies to Cold-War-era sloganeering): Part of knowing if your nodes are healthy is comparing them to other nodes on the P2P network. Checking against nodes outside of your control is good practice, but there are checks you can do without external references. For example, if you haven’t received a new block in a minute or so, you are probably stuck as most blocks on the Ethereum mainnet take about 30 seconds. (As it turns out, some beta users for BloqCloud’s Nodes service operate their own nodes, but still want an independent one from us to compare against.)
- Lock your nodes down: You want to be a good neighbor and give back to the community, so you want to run a full node. (Much like “seeding” a BitTorrent file is considered a neighborly gesture.) By all means, do so… just not with your production nodes. You may risk having them get attacked, possibly losing your production services.
Properly managed nodes serve as a basic foundation for developing myriad blockchain-powered services. We’re bringing our expertise here to bear on one of the first, core components of BloqCloud. Much more to come.
Ted Parvu is Bloq’s senior security engineer.