We would like to share an update about our current server infrastructure, which has changed significantly since the last time we wrote about it. Community best practices for block producer security, performance, and public requirements have all evolved, and we have adapted our infrastructure to fit.
Here is our current diagram:
This is how we have been setup since late May, with Phase 1 fully implemented. This is a fault tolerant multi-location infrastructure that is about 80% bare metal servers and 20% private cloud. Our primary producing node is in Hawaii and our secondary in London, UK, with peering in those two locations plus Singapore. Our public peer and API nodes are currently in London, with our Phase 2 plan to expand those to Hawaii as well. We will launch Phase 2 if we get enough votes to become a paid standby or active producer.
It became clear early on that producing nodes should be fully hidden and inaccessible from the public. This is now a common practice that has been adopted by many BPs. Ours are this way and only connect to our private peering layer, which connects to our public peering layer. We have also arranged other trusted BPs to connect to our private layer, but not our producing nodes directly. The public layer is available for anyone to connect to.
This multi-layer approach helps to better isolate our producing nodes behind several layers of security, so that an attack on them is much more difficult.
All of our public API and peering nodes are bare metal servers with 64-128GB DDR4 memory (upgradeable for future growth), and a mix of NVME and SSD storage. As nodeos currently is single threaded, we opted for less but faster CPU cores. They are all Xeon 3.5GHz or higher.
Good peering is critical to a fault tolerant, low latency decentralized network, and we have put a lot of effort into making ours top notch. We have private peering endpoints in Hawaii, London and Singapore, which backhaul over our hosting providers’ private MPLS network for low latency connectivity to the rest of our nodes.
Beyond our private peering to other BPs, we currently have around 350-400 incoming P2P connections to our public nodes, and that number is increasing as we see the EOS mainnet grow.
We hope this provides some insight into our infrastructure and the services we offer for the EOS community. If you would like to use our API or peering endpoints for your own project, see our bp.json file for the current list of node addresses.
Questions or feedback, swing by our Telegram channel.
Until next time, Aloha!