Skip to content

Commit

Permalink
Website daily update for 2024-10-07T00-30-46
Browse files Browse the repository at this point in the history
  • Loading branch information
probelab-cmi committed Oct 7, 2024
1 parent 9520127 commit 66a8205
Show file tree
Hide file tree
Showing 18 changed files with 127 additions and 0 deletions.
110 changes: 110 additions & 0 deletions content.en/ethereum/discv5/2024-40-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
---
title: Week 2024-40
plotly: true
slug: 2024-40
weight: 1045619
---

# Ethereum discv5 weekly report 2024-40

The following results show measurement data that were collected in **calendar week** 40 **of** 2024 from `2024-09-30` to `2024-10-07`.

Our methodology is available [here](../methodology). Note we are only able to display information about dialable nodes, hence nodes operating behind a NAT aren't accounted for, even though they may be connected.

## Agents

### Agent Distribution

This bar chart represents the distribution of various user agents within the Ethereum `discv5` DHT. Each bar corresponds to a different user agent or client type and indicates its relative prevalence within the network for the given reporting period. The chart provides a snapshot of how different Ethereum clients are being utilized in the network's decentralized infrastructure.

{{< plotly json="../../../plots/2024/09/30/discv5-agents-overall.json" height="600px" >}}

This stacked plot shows the distribution of various user agents over time.

{{< plotly json="../../../plots/2024/09/30/discv5-agents-overall-stacked.json" height="600px" >}}

This chart presents the version distribution for all major user agents, with each bar representing the average number of online peers over the course of a week.

{{< plotly json="../../../plots/2024/09/30/discv5-agents-versions.json" height="600px" >}}

This stacked chart illustrates how the distribution of agent versions for all key user agents evolves over time. It offers insights into the uptake of newer versions among these agents.

{{< plotly json="../../../plots/2024/09/30/discv5-versions-distribution.json" height="600px" >}}

## Protocols

This plot illustrates the evolving count of nodes supporting each of the listed protocols over time for the different user agents. The identification of supported protocols relies on the [libp2p identify protocol](https://github.com/libp2p/specs/tree/master/identify).

{{< plotly json="../../../plots/2024/09/30/discv5-protocols-support.json" height="1200px" >}}

## Geolocation

Geographical data is sourced from the [MaxMind database](https://www.maxmind.com), which maps IP addresses to corresponding countries.

This bar plot illustrates the distribution of observed beacon nodes across different countries.

{{< plotly json="../../../plots/2024/09/30/discv5-geo-agent-All-bars.json" height="600px" >}}

This bar plot illustrates the distribution of observed beacon nodes across different countries, broken down for each major user agent.

{{< plotly json="../../../plots/2024/09/30/discv5-geo-agents-bars.json" height="600px" >}}

This plot displays the weekly geographical distribution of beacon nodes, categorized by country.

{{< plotly json="../../../plots/2024/09/30/discv5-geo-agent-All-lines.json" height="600px" >}}

This plot displays the weekly geographical distribution categorized by country, for each major user agent.

{{< plotly json="../../../plots/2024/09/30/discv5-geo-agents-lines.json" height="600px" >}}

## Cloud Providers

Cloud providers data is sourced from [Udger](https://udger.com/resources/datacenter-list), which maps IP addresses to known hosting providers.

### Cloud Hosting Rate

This line chart displays the count of beacon nodes within the Ethereum discv5 network that are hosted on known commercial cloud providers, compared to those that are not. It tracks the distribution over a specified period, offering insights into the infrastructure preferences for node hosting.

Regular analysis of this chart can reveal trends in the adoption of cloud services for beacon nodes. Such information is crucial for understanding the network's resilience and the potential reliance on cloud infrastructure.

{{< plotly json="../../../plots/2024/09/30/discv5-cloud-rate-agent-All-lines.json" height="600px" >}}

This line chart illustrates the number of beacon nodes within the Ethereum discv5 network, hosted by recognized commercial cloud providers, broken down by each major user agent. It provides a user agent-specific view, mirroring the approach of the previously mentioned analysis, to highlight hosting preferences across different user agents.

{{< plotly json="../../../plots/2024/09/30/discv5-cloud-rate-agents.json" height="600px" >}}

This bar chart presents the weekly distribution of Ethereum beacon nodes among various cloud providers, including nodes not hosted within data centers (grouped under _Non-Datacenter_).

{{< plotly json="../../../plots/2024/09/30/discv5-cloud-agent-All-bars.json" height="600px" >}}

This bar chart showcases the weekly distribution of Ethereum beacon nodes across different cloud providers, broken down for each major user agent.

{{< plotly json="../../../plots/2024/09/30/discv5-cloud-agents-bars.json" height="600px" >}}

The line chart illustrates the trends in the distribution of all Ethereum beacon nodes across cloud providers over the given time period. Note that nodes hosted outside of data centers are not included in this representation.

{{< plotly json="../../../plots/2024/09/30/discv5-cloud-agent-All-lines.json" height="600px" >}}

The line chart illustrates the trends in the distribution of Ethereum beacon nodes by agent across cloud providers over the given time period. Note that nodes hosted outside of data centers are not included in this representation.

{{< plotly json="../../../plots/2024/09/30/discv5-cloud-agents-lines.json" height="600px" >}}

## Stale Node Records

### All `discv5` peers

This stacked plot depicts the count of node records stored within each node's routing table and made accessible through the DHT. These node records serve as a mechanism through which nodes discover new remote nodes in the network.

Ensuring the reachability of referenced nodes shared within the network holds paramount importance. The plot delineates the occurrences of reachable and non-reachable (stale) node records. Note that nodes running behind a NAT are counted as unreachable even though they may be online.

For instance, if a node's record is present in the routing tables of 100 other nodes and the node is reachable, the plot will reflect an increase of 100 in the _online_ category.

This plot displays data about all nodes participating in `discv5` and isn't limited to Ethereum mainnet nodes.

{{< plotly json="../../../plots/2024/09/30/discv5-stale-records-stacked.json" height="600px" >}}

### Ethereum mainnet

This plot is similar to the above but only displays the number of Ethereum mainnet (Deneb) records found in the routing table of other Ethereum mainnet (Deneb) nodes.

{{< plotly json="../../../plots/2024/09/30/discv5-stale-records-mainnet-stacked.json" height="600px" >}}

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions content.en/plots/2024/09/30/discv5-agents-overall.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"data": [{"hovertemplate": "Agent: %{x} <br>Count: %{y:,}<br>Percentage: %{text}<br><extra></extra>", "marker": {"color": ["#4c72b0", "#dd8452", "#55a868", "#c44e52", "#937860", "#c44e52"]}, "text": ["42.4%", "34.2%", "15.5%", "3.9%", "2.9%", "1.2%"], "textposition": "outside", "x": ["lighthouse", "prysm", "teku", "nimbus", "lodestar", "others"], "y": [3491, 2815, 1281, 323, 237, 95], "type": "bar"}], "layout": {"template": {"data": {"scatter": [{"type": "scatter"}]}}, "xaxis": {"title": {"text": "Agent"}, "tickangle": -45}, "yaxis": {"title": {"text": "Count"}, "tickformat": ","}, "autosize": true, "annotations": [{"font": {"size": 18}, "showarrow": false, "text": "Agent Types", "x": 0.5, "xanchor": "center", "xref": "paper", "y": 1.15, "yanchor": "bottom", "yref": "paper"}, {"font": {"size": 14}, "showarrow": false, "text": "Total Count: 8,242", "x": 0.5, "xanchor": "center", "xref": "paper", "y": 1.1, "yanchor": "bottom", "yref": "paper"}, {"font": {"size": 10}, "showarrow": false, "text": "Data: week ending 06 Oct 2024. Source: Nebula", "x": 0.99, "xanchor": "right", "xref": "paper", "y": -0.14, "yanchor": "top", "yref": "paper"}]}}
1 change: 1 addition & 0 deletions content.en/plots/2024/09/30/discv5-agents-versions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"data": [{"hovertemplate": "Version: %{y} <br>Count: %{x:,}<br>Percentage: %{text}<br><extra></extra>", "marker": {"color": ["#4c72b0", "#4c72b0", "#4c72b0", "#4c72b0", "#4c72b0", "#4c72b0", "#4c72b0"]}, "name": "lighthouse", "orientation": "h", "text": ["3.6%", "3.6%", "5.4%", "26.6%", "8.3%", "16.9%", "35.6%"], "textposition": "outside", "visible": true, "x": [127, 126, 188, 928, 289, 590, 1240], "y": ["others", "v5.0.0", "v5.1.1", "v5.1.3", "v5.2.0", "v5.2.1", "v5.3.0"], "type": "bar"}, {"hovertemplate": "Version: %{y} <br>Count: %{x:,}<br>Percentage: %{text}<br><extra></extra>", "marker": {"color": ["#dd8452", "#dd8452", "#dd8452", "#dd8452", "#dd8452", "#dd8452", "#dd8452"]}, "name": "prysm", "orientation": "h", "text": ["3.8%", "9.6%", "10.1%", "3.4%", "15.2%", "22.0%", "36.0%"], "textposition": "outside", "visible": "legendonly", "x": [106, 270, 283, 96, 427, 619, 1011], "y": ["others", "v5.0.0", "v5.0.1", "v5.0.2", "v5.0.3", "v5.0.4", "v5.1.0"], "type": "bar"}, {"hovertemplate": "Version: %{y} <br>Count: %{x:,}<br>Percentage: %{text}<br><extra></extra>", "marker": {"color": ["#55a868", "#55a868", "#55a868", "#55a868", "#55a868", "#55a868", "#55a868"]}, "name": "teku", "orientation": "h", "text": ["2.0%", "17.4%", "2.7%", "5.4%", "4.1%", "13.3%", "54.9%"], "textposition": "outside", "visible": "legendonly", "x": [26, 223, 35, 69, 53, 170, 702], "y": ["others", "v24.2.0", "v24.3.0", "v24.3.1", "v24.4.0", "v24.6.1", "v24.8.0"], "type": "bar"}, {"hovertemplate": "Version: %{y} <br>Count: %{x:,}<br>Percentage: %{text}<br><extra></extra>", "marker": {"color": ["#937860", "#937860", "#937860", "#937860", "#937860", "#937860", "#937860", "#937860", "#937860"]}, "name": "lodestar", "orientation": "h", "text": ["3.0%", "7.8%", "3.4%", "8.2%", "2.6%", "2.6%", "4.3%", "41.4%", "26.7%"], "textposition": "outside", "visible": "legendonly", "x": [7, 18, 8, 19, 6, 6, 10, 96, 62], "y": ["others", "v1.17.0", "v1.18.0", "v1.19.0", "v1.20.0", "v1.20.1", "v1.20.2", "v1.21.0", "v1.22.0"], "type": "bar"}], "layout": {"template": {"data": {"scatter": [{"type": "scatter"}]}}, "xaxis": {"title": {"text": "Count"}, "tickformat": ",", "range": [0, 1364.0]}, "yaxis": {"title": {"text": "Version"}}, "updatemenus": [{"buttons": [{"args": [{"visible": [true, false, false, false]}, {"xaxis": {"range": [0, 1364.0]}, "annotations": [{"x": 0.5, "y": 1.15, "xref": "paper", "yref": "paper", "text": "lighthouse Agent Versions", "showarrow": false, "font": {"size": 18}, "xanchor": "center", "yanchor": "bottom"}, {"x": 0.5, "y": 1.1, "xref": "paper", "yref": "paper", "text": "Total Count: 3,488", "showarrow": false, "font": {"size": 14}, "xanchor": "center", "yanchor": "bottom"}, {"x": 0.99, "y": -0.14, "xref": "paper", "yref": "paper", "text": "Data: week ending 06 Oct 2024. Source: Nebula", "showarrow": false, "font": {"size": 10}, "xanchor": "right", "yanchor": "top"}]}], "label": "lighthouse", "method": "update"}, {"args": [{"visible": [false, true, false, false]}, {"xaxis": {"range": [0, 1112.1000000000001]}, "annotations": [{"x": 0.5, "y": 1.15, "xref": "paper", "yref": "paper", "text": "prysm Agent Versions", "showarrow": false, "font": {"size": 18}, "xanchor": "center", "yanchor": "bottom"}, {"x": 0.5, "y": 1.1, "xref": "paper", "yref": "paper", "text": "Total Count: 2,812", "showarrow": false, "font": {"size": 14}, "xanchor": "center", "yanchor": "bottom"}, {"x": 0.99, "y": -0.14, "xref": "paper", "yref": "paper", "text": "Data: week ending 06 Oct 2024. Source: Nebula", "showarrow": false, "font": {"size": 10}, "xanchor": "right", "yanchor": "top"}]}], "label": "prysm", "method": "update"}, {"args": [{"visible": [false, false, true, false]}, {"xaxis": {"range": [0, 772.2]}, "annotations": [{"x": 0.5, "y": 1.15, "xref": "paper", "yref": "paper", "text": "teku Agent Versions", "showarrow": false, "font": {"size": 18}, "xanchor": "center", "yanchor": "bottom"}, {"x": 0.5, "y": 1.1, "xref": "paper", "yref": "paper", "text": "Total Count: 1,278", "showarrow": false, "font": {"size": 14}, "xanchor": "center", "yanchor": "bottom"}, {"x": 0.99, "y": -0.14, "xref": "paper", "yref": "paper", "text": "Data: week ending 06 Oct 2024. Source: Nebula", "showarrow": false, "font": {"size": 10}, "xanchor": "right", "yanchor": "top"}]}], "label": "teku", "method": "update"}, {"args": [{"visible": [false, false, false, true]}, {"xaxis": {"range": [0, 105.60000000000001]}, "annotations": [{"x": 0.5, "y": 1.15, "xref": "paper", "yref": "paper", "text": "lodestar Agent Versions", "showarrow": false, "font": {"size": 18}, "xanchor": "center", "yanchor": "bottom"}, {"x": 0.5, "y": 1.1, "xref": "paper", "yref": "paper", "text": "Total Count: 232", "showarrow": false, "font": {"size": 14}, "xanchor": "center", "yanchor": "bottom"}, {"x": 0.99, "y": -0.14, "xref": "paper", "yref": "paper", "text": "Data: week ending 06 Oct 2024. Source: Nebula", "showarrow": false, "font": {"size": 10}, "xanchor": "right", "yanchor": "top"}]}], "label": "lodestar", "method": "update"}], "direction": "down", "pad": {"r": 10, "t": 10}, "showactive": true, "x": 0.01, "xanchor": "left", "y": 1.15, "yanchor": "top"}], "autosize": true, "showlegend": false, "annotations": [{"font": {"size": 18}, "showarrow": false, "text": "lighthouse Agent Versions", "x": 0.5, "xanchor": "center", "xref": "paper", "y": 1.15, "yanchor": "bottom", "yref": "paper"}, {"font": {"size": 14}, "showarrow": false, "text": "Total Count: 3,488", "x": 0.5, "xanchor": "center", "xref": "paper", "y": 1.1, "yanchor": "bottom", "yref": "paper"}, {"font": {"size": 10}, "showarrow": false, "text": "Data: week ending 06 Oct 2024. Source: Nebula", "x": 0.99, "xanchor": "right", "xref": "paper", "y": -0.14, "yanchor": "top", "yref": "paper"}]}}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"data": [{"hovertemplate": "Cloud Provider: %{x}<br>Count: %{y:,}<br>Percentage: %{text}<br><extra></extra>", "text": ["50.8%", "11.1%", "9.7%", "5.2%", "4.4%", "2.6%", "2.2%", "1.3%", "0.9%", "0.7%", "0.7%", "0.5%", "10.0%"], "textposition": "outside", "x": ["Non-Datacenter", "https://aws.amazon.com/", "https://www.grierforensics", "https://www.hetzner.com/", "https://www.amanah.com/", "http://www.ovh.com/", "https://njal.la/", "http://nine.ch/", "https://cloud.google.com/", "https://www.microsoft.com/", "http://www.gds.vn/", "https://devel.cz/", "others"], "y": [4437, 967, 845, 457, 384, 226, 190, 113, 80, 63, 57, 42, 874], "type": "bar"}], "layout": {"template": {"data": {"scatter": [{"type": "scatter"}]}}, "xaxis": {"title": {"text": "Cloud Provider"}, "tickangle": -20}, "yaxis": {"title": {"text": "Count"}, "rangemode": "tozero"}, "annotations": [{"font": {"size": 18}, "showarrow": false, "text": "Cloud Distribution of All Nodes", "x": 0.5, "xanchor": "center", "xref": "paper", "y": 1.15, "yanchor": "bottom", "yref": "paper"}, {"font": {"size": 14}, "showarrow": false, "text": "Total: 8,740", "x": 0.5, "xanchor": "center", "xref": "paper", "y": 1.1, "yanchor": "bottom", "yref": "paper"}, {"font": {"size": 10}, "showarrow": false, "text": "Data: week ending 06 Oct 2024. Source: Nebula", "x": 0.99, "xanchor": "right", "xref": "paper", "y": -0.14, "yanchor": "top", "yref": "paper"}]}}

Large diffs are not rendered by default.

Loading

0 comments on commit 66a8205

Please sign in to comment.