🔭 Saturn Observatory

Our mission is to bring better observability tools and to increase the transparency of the 🪐 Filecoin Saturn network.

We built 🌖 Saturn Moonlet – a more powerful and insightful alternative to Saturn Node Dashboard. It's been running since July 2023 and gathered lots of public data about the Saturn network and its nodes. Now, we use these data to generate plots on this website, aiming to provide insights into the network state and performance.

🗓 Reports are published every month:

⚙️ Data & Tooling

Raw CSV data that we use to generate the plots are available on IPFS and Filecoin under CID bafybeibrmxyaolu226uqj3bv7qqjtjmmzugigsq6n3qzx74xpz2yt73yha.

To learn more about how data is gathered and analyzed, check the project's GitHub.

✉️ Contact

If you spot inconsistencies, or inaccurate claims, or want to request additional plots, please reach out to Elisey Zanko using any of the following channels:

Saturn Observatory is neither affiliated with the Filecoin Saturn project nor the Protocol Labs organization. Although, it was built during the Open Data Hack powered by Filecoin.

Network Size & Traffic

The total number of nodes is estimated using the number of unique node IDs reported by the orchestrator API as "active". Traffic is estimated using the lambda API that is used by Saturn Dashboard.

Retrievals

The total number of retrievals is estimated using lambda API that is used by Saturn Dashboard.

Network Geography

The total number of nodes is estimated using the number of unique node IDs reported by the orchestrator API as "active" during the month.

Earnings & Traffic by Country

Earnings per node for each country are estimated by dividing the total earnings in the country by the total number of active nodes in that country. Earnings are estimated by combining per node info scrapped from lambda API that is used by Saturn Dashboard with the physical location of the node reported by the orchestrator API. Note that such estimation is a bit rough because earnings and traffic are not distributed evenly. Traffic is the total bandwidth served by each country during the month. Traffic is estimated similarly to the earnings.

Note that to make the chart readable and fit it on the screen not every country name is displayed. To see all countries either hover the pointer over the bar chart or click and drag vertically to zoom.

Earnings & Traffic by Country, over time

Earnings, traffic and the number of nodes are estimated similarly to the above.

Nodes Without Traffic

This chart shows the percentage of nodes that haven't been receiving any traffic despite being continuously active for a given period. For example, to estimate it for 2 hour period we take all the nodes that were continuously reported as active by the orchestrator API during the past 2 hours. For every node ID in this list, we calculate its traffic for the past 2 hours using the lambda API that is used by Saturn Dashboard. The result is the ratio between nodes without traffic and the active nodes.

Gaps and spikes on the chart might be caused by several reasons. Including but not limited to issues with our API scrapper, issues with the orchestrator or the lambda API, or issues with the Saturn network itself.

Paid Traffic Ratio

This chart shows the ratio between outgoing Saturn network traffic (considered as "paid") and the total outgoing traffic served by nodes. Total outgoing traffic is estimated using network interface stats reported by the orchestrator API. Paid traffic is estimated using the lambda API that is used by Saturn Dashboard.

Gaps and spikes on the chart might be caused by several reasons. Including but not limited to issues with our API scrapper, issues with the orchestrator or the lambda API, or issues with the Saturn network itself.

Earnings & Traffic Distribution

To construct this chart, first, we calculate earnings and traffic for every node that was reported as "active" by the orchestrator API during the month. Earnings and traffic are estimated using info scrapped from the lambda API that is used by Saturn Dashboard. Then we create two lists of node IDs, sorted in descending order. One is sorted by earnings, and another one is sorted by traffic. Now, for each node in each list, we calculate what percentage of the network this node and the nodes above it in the list make up. We plot this value on the X asix. On the Y axis, for each node in each list, we plot the cumulative percentage of earnings and traffic this node and the nodes above it in the list receive.

Therefore, we have the chart that shows that X percent of the network receives Y percent of the network's traffic or earnings.

Node Age

To estimate the age of a node we subtract the node creation timestamp from the time when the node was last reported "active" by the orchestrator API. Node creation timestamp is also scrapped using the orchestrator API.

Correlation Between Node Age and Earnings & Traffic

Each marker on this chart is a node where its X coordinate is the node's age and its Y coordinate is the node's earnings or traffic during the month. Age is estimated similarly to the above. Earnings and traffic are estimated using info scrapped from the lambda API that is used by Saturn Dashboard.