Last updated 2 years ago
When a network failure occurs, it would be useful to know which SPO are reachable from different locations in the world.
Build a simple, durable dashboard to show the reachability of stake pool nodes from the perspective of different locations in the world.
This is the total amount allocated to Stake Pool Reachability Dashboard.
Responding to a network failure begins with situational awareness.
I propose to build a simple dashboard showing which stake pool nodes are reachable from different parts in the world. This dashboard should indicate which stake pools are up, down, and if network segmentation is a factor.
The status information and dashboard are served entirely from Amazon S3 (highly reliable data store). Since no public-facing server is required, and S3 is protected by Amazon against DoS and other attacks, the dashboard itself should remain available in the face of attack and most types of network failure. Also, S3 is extremely affordable for small amounts of data; I expect the dashboard to be extremely lightweight.
The idea is for servers located throughout the world to use cncli-ping to regularly probe all stake pool endpoints registered on the Cardano blockchain. Results of the ping are uploaded to S3 in JSON format. The dashboard, coded in HTML+Javasscript, loads the JSON status and display the results in a pretty table.
We run the cncli-ping from various places in the world to test different network paths; the dashboard will present a table showing cncli-ping results from each geographic region (ping source) to each stake pool endpoint (ping destination).
For example, if an underwater cable between USA and Brazil is broken, Brazil-initiated probes might show USA pools as unreachable, and likewise USA-initiated probes might show Brazilian pools as unreachable.
For another example, if a stake pool is offline, all cncli-ping locations should show the stakepool as unreachable.
This gives us a simple, effective, at-a-glance view of pool reachability from various points on the earth.
The deliverable for this project is the source code to run the cncli-ping nodes and dashboard, released under a permissive open source license.
I estimate delivery around Oct-Nov 2021.
I consider this project a success if, after 2-6 months, myself and/or others use the software to host a publicly-available dashboard of stake pool reachability.
NB: Monthly reporting was deprecated from January 2024 and replaced fully by the Milestones Program framework. Learn more here
30-year professional software dev.
MASc thesis included failure mode analysis of computer networks (See http://ghost.eth7.net/AdHoc/))