Skip to content

Latest commit

 

History

History
337 lines (221 loc) · 15 KB

File metadata and controls

337 lines (221 loc) · 15 KB

Nebula Measurement Results Calendar Week 28 - 2024

Table of Contents

General Information

The following results show measurement data that were collected in calendar week 28 in 2024 from 2024-07-08 to 2024-07-15.

  • Number of crawls 336
  • Number of visits 27,149,830

    Visiting a peer means dialing or connecting to it. Every time the crawler or monitoring process tries to dial or connect to a peer we consider this as visiting it. Regardless of errors that may occur.

  • Number of unique peer IDs visited 45,525
  • Number of unique peer IDs discovered in the DHT 45,090
  • Number of unique IP addresses found 60,434

Timestamps are in UTC if not mentioned otherwise.

Agent Versions

Newly discovered agent versions:

  • libp2p/1.8.0 UserAgent=v22.4.0 (2024-07-08 04:21:06)
  • js-libp2p/0.45.9 UserAgent=v20.8.1 (2024-07-08 05:50:50)
  • kubo/0.29.0/b35cd6243 (2024-07-08 07:21:04)
  • kubo/0.30.0-dev/ddfd776/docker (2024-07-08 14:51:33)
  • github.com/JackalLabs/sequoia@e4b286d38 (2024-07-09 02:20:57)
  • github.com/JackalLabs/sequoia@12d2ff2c9 (2024-07-09 04:20:49)
  • helia/4.2.4 libp2p/1.8.0 UserAgent=v20.10.0 (2024-07-09 09:51:32)
  • github.com/harmony-one/harmony@5baf287e2-dirty (2024-07-09 09:51:37)
  • github.com/libp2p/universal-connectivity/go-peer@4bd39c648 (2024-07-09 13:20:47)
  • helia/4.2.4 libp2p/1.8.0 UserAgent=v18.20.3 (2024-07-09 15:50:50)
  • helia/4.2.1 libp2p/1.6.0 UserAgent=v20.9.0 (2024-07-10 05:21:22)
  • libp2p/1.6.0 UserAgent=Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Mobile Safari/537.36 (2024-07-10 05:51:13)
  • github.com/JackalLabs/sequoia@6568fff94-dirty (2024-07-10 19:21:01)
  • github.com/JackalLabs/sequoia@6568fff94 (2024-07-10 19:51:37)
  • helia/4.2.4 libp2p/1.8.0 UserAgent=v20.12.2 (2024-07-11 01:50:47)
  • helia/4.2.4 libp2p/1.8.0 UserAgent=v22.4.1 (2024-07-11 09:20:58)
  • helia/4.2.4 libp2p/1.8.0 UserAgent=v18.17.0 (2024-07-11 16:50:49)
  • github.com/JackalLabs/sequoia@f63462528-dirty (2024-07-11 20:21:26)
  • helia/4.2.4 libp2p/1.6.0 UserAgent=v18.15.0 (2024-07-12 00:21:10)
  • github.com/harmony-one/harmony@35dd107d9-dirty (2024-07-12 09:50:52)
  • helia/4.2.4 libp2p/1.8.0 UserAgent=v18.17.1 (2024-07-12 16:51:52)
  • github.com/INFURA/ipfs-p2p-server@4d972c2b9 (2024-07-13 06:21:00)
  • fs (2024-07-13 13:20:52)
  • helia/4.2.4 libp2p/1.8.0 UserAgent=v18.20.4 (2024-07-13 13:51:08)
  • helia/4.2.4 libp2p/1.8.1 UserAgent=v20.13.1 (2024-07-14 18:51:01)

Agent versions that were found to support at least one storm specific protocol:

  • go-ipfs/0.8.0/48f94e2
  • storm

Protocols

Newly discovered protocols:

  • bpfs@stream/consensus/getRechargePoints/1.2.0 (2024-07-09 03:21:25)
  • bpfs@stream/consensus/getCreditPaymentQR/1.2.0 (2024-07-09 03:21:25)
  • bpfs@stream/consensus/transaction/signed/1.2.0 (2024-07-09 03:21:25)
  • /webpeerjs/1.0.0 (2024-07-10 05:51:13)
  • /orbitdb/heads/orbitdb/zdpuAmYmXJnAtEyrC46P9zhFiTLdPHcdx9N9xGJ79iaacJXMt (2024-07-12 00:21:10)

Top 10 Rotating Nodes

A "rotating node" is a node (as identified by its IP address) that was found to host multiple peer IDs.

IP-Address Country Unique Peer IDs Agent Versions Datacenter IP
159.203.76.161 US 194 ['github.com/ipfs-shipyard/ipfs-counter'] True
51.159.150.159 FR 84 ['kubo/0.22.0-dev/c95f9e1-dirty'] True
51.158.232.73 FR 83 ['kubo/0.22.0-dev/c95f9e1-dirty'] True
51.15.86.171 FR 82 ['kubo/0.22.0-dev/c95f9e1-dirty'] True
51.15.129.122 IN 76 ['kubo/0.22.0-dev/c95f9e1-dirty'] True
51.15.90.150 FR 74 ['kubo/0.22.0-dev/c95f9e1-dirty'] True
51.15.247.127 FR 74 ['kubo/0.22.0-dev/c95f9e1-dirty'] True
51.159.174.206 FR 69 ['kubo/0.22.0-dev/c95f9e1-dirty'] True
51.15.230.142 FR 62 ['kubo/0.22.0-dev/c95f9e1-dirty'] True
51.15.230.142 FR 62 ['kubo/0.22.0-dev/c95f9e1-dirty'] True

Crawls

Overall

Crawl Overview

Classification

Crawl Classifications

Agents

Crawl Properties By Agent

Only the top 10 kubo versions appear in the right graph (due to lack of colors) based on the average count in the time interval. The 0.8.x versions do not contain disguised storm peers.

storm* are go-ipfs/0.8.0/48f94e2 peers that support at least one storm specific protocol.

DHT Server vs. Clients

You can find the most up-to-date graph on probelab.io/ipfskpi.

Errors

Crawl Errors

Total Peer IDs Discovered Classification

Peer count by classification

In the specified time interval from 2024-07-08 to 2024-07-15 we visited `` unique peer IDs. All peer IDs fall into one of the following classifications:

Classification Description
offline A peer that was never seen online during the measurement period (always offline) but found in the DHT
dangling A peer that was seen going offline and online multiple times during the measurement period
oneoff A peer that was seen coming online and then going offline only once during the measurement period
online A peer that was not seen offline at all during the measurement period (always online)
left A peer that was online at the beginning of the measurement period, did go offline and didn't come back online
entered A peer that was offline at the beginning of the measurement period but appeared within and didn't go offline since then

Protocols

Crawl Properties By Protocols

Churn

Peer Churn

Only the top 10 kubo versions appear in the right graph (due to lack of colors) based on the average count in the time interval. The 0.8.x versions do not contain disguised storm peers. This graph also excludes peers that were online the whole time. You can read this graph as: if I see a peer joining the network, what's the likelihood for it to stay X hours in the network.

storm* are go-ipfs/0.8.0/48f94e2 peers that support at least one storm specific protocol.

Inter Arrival Time

Inter Arrival Time

Only the top 10 kubo versions appear in the right graph (due to lack of colors) based on the average count in the time interval. The 0.8.x versions do not contain disguised storm peers.

storm* are go-ipfs/0.8.0/48f94e2 peers that support at least one storm specific protocol.

Agent Version Analysis

Overall

Overall Agent Distribution

Includes all peers that the crawler was able to connect to at least once: dangling, online, oneoff, entered. Hence, the total number of peers is lower as the graph excludes offline and left peers (see classification).

Kubo

Kubo Agent Distribution

storm shows the go-ipfs/0.8.0/48f94e2 peers that support at least one storm specific protocol.

Classification

Agents by Classification

The classifications are documented here. storm* are go-ipfs/0.8.0/48f94e2 peers that support at least one storm specific protocol.

Geolocation

Unique IP Addresses

Unique IP addresses

This graph shows all IP addresses that we found from 2024-07-08 to 2024-07-15 in the DHT and their geolocation distribution by country.

Classification

Peer Geolocation By Classification

The classifications are documented here. The number in parentheses in the graph titles show the number of unique peer IDs that went into the specific subgraph.

Agents

Peer Geolocation By Agent

storm* are go-ipfs/0.8.0/48f94e2 peers that support at least one storm specific protocol.

Datacenters

Overall

Overall Datacenter Distribution

This graph shows all IP addresses that we found from 2024-07-08 to 2024-07-15 in the DHT and their datacenter association.

Classification

Datacenter Distribution By Classification

The classifications are documented here. Note that the x-axes are different.

Agents

Datacenter Distribution By Agent

The number in parentheses in the graph titles show the number of unique peer IDs that went into the specific subgraph.

storm* are go-ipfs/0.8.0/48f94e2 peers that support at least one storm specific protocol.

Website Monitoring

For a description of our measurement methodology check out this repository.

Time To First Byte

The time it took to receive the first byte of the first response (that was not a redirect). The large number in each tile is the time in seconds. The number at the very bottom of the graph shows the sample size that went into each subplot/website. Note: the color scales are different in each graph.

Time To First Byte

First Contentful Paint

First contentful Paint

Largest Contentful Paint

Largest contentful Paint

HTTP vs. Kubo

The number above each bar shows the sample size that went into the calculation.

HTTP vs. Kubo

Error Rate

The following graph shows the daily error rate in accessing these website.

Error Rate

DHT Performance

We are running lean libp2p peers that just support the Kademlia DHT protocol in six different AWS regions. Each peer takes turns to publish the provider record for a CID of random data. All other peers are then instructed to lookup that CID. "Looking up" here means finding the provider record. So the numbers below don't show the actual content retrieval times (which would depend on file sizes) but instead the DHT performance. The peers run go-libp2p-kad-dht version v0.21.1 + default configurations.

Code can be found here: dennis-tra/parsec (we plan to move this to our ProbeLab organization)

Weekly

Weekly Region CDF Publications + Retrievals

The number in parenthesis is the number of publications/retrievals for that particular region that went into the calculation.

Weekly Region Boxplot Publications + Retrievals

The number in the box is the number of publications/retrievals for that particular region that went into the calculation.

The box extends from the first quartile (Q1) to the third quartile (Q3) of the data, with a line at the median. The whiskers extend from the box by 1.5x the inter-quartile range (IQR). Flier points are those past the end of the whiskers. See https://en.wikipedia.org/wiki/Box_plot for reference.

Daily

Daily Publications Boxplot

The number in the box is the number of publications that went into the calculation of the box.

The box extends from the first quartile (Q1) to the third quartile (Q3) of the data, with a line at the median. The whiskers extend from the box by 1.5x the inter-quartile range (IQR). Flier points are those past the end of the whiskers. See https://en.wikipedia.org/wiki/Box_plot for reference.

Daily Retrieval Boxplot The number in the box is the number of publications/retrievals that went into the calculation of the box.

The box extends from the first quartile (Q1) to the third quartile (Q3) of the data, with a line at the median. The whiskers extend from the box by 1.5x the inter-quartile range (IQR). Flier points are those past the end of the whiskers. See https://en.wikipedia.org/wiki/Box_plot for reference.

Error Rate

Publication/Retrieval Error Rate

Peer Classification

Classification Description
offline A peer that was never seen online during the measurement period (always offline) but found in the DHT
dangling A peer that was seen going offline and online multiple times during the measurement period
oneoff A peer that was seen coming online and then going offline only once during the measurement period
online A peer that was not seen offline at all during the measurement period (always online)
left A peer that was online at the beginning of the measurement period, did go offline and didn't come back online
entered A peer that was offline at the beginning of the measurement period but appeared within and didn't go offline since then

Storm Specific Protocols

The following protocol strings are unique for storm nodes according to this Bitdefender paper:

  • /sreque/*
  • /shsk/*
  • /sfst/*
  • /sbst/*
  • /sbpcp/*
  • /sbptp/*
  • /strelayp/*