Skip to content

qdrvm/eth-band

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

Vision

This model visualizes the traffic consumption by a single Ethereum node, taking into account the inbound traffic, which is categorizing by the type of data being transmitted (e.g., blocks, transactions, etc.).

Model defines the time of arrival of the data into the slot, as well as the size of the data. The configured time of arrival defines the time when the data was sent to the node and put into the inbound "wire".

Models

Slot configuration

  • Slot duration: The duration of a slot in seconds. Configurable.
    • Range: 1 to 12 seconds.
    • Default: 12 seconds.
  • Inbound bitrate: The inbound bitrate of the node in bits per second.
    • Range: 1,000,000 – 400,000,000 bits per second.
    • Default: 50,000,000 bits per second (50 Mbps).

Blocks traffic

This represents the amount of data received by the node during the block propagation process. It includes the size of the blocks. Each block could be received multiple times by the node, as it could be gossiped by multiple validators in the attestation subnet:

image

Parameters

  • Gas limit: The maximum amount of gas that can be used in a block. We use post-EIP-7623 conversion rate of 1.34MB per 30,000,000 gas as in blocksize repo.
    • Range: 1,000,000 to 1,000,000,000 gas.
    • Default: 36,000,000 gas.
  • Time of block arrival: The time into the slot when the block arrives. Configurable.
    • Range: 0 to Slot duration.
    • Default: According to the Plot image (baseline orange line): Block arrival time
  • Duplication factor: The number of times that the node receives the block. Configurable.
    • Range: 1 to 10.
    • Default: 4.

Blobs traffic

Each blob is 128kB in size. Each blob is gossiped in a dedicated gossipsub topic. Each validator could be subscribed to at least one topic.

Parameters

  • Blobs per slot: The number of blobs that are gossiped in a slot. Configurable.
    • Range: 0 to 128 blobs.
    • Default: 0 blobs.
    • Time of arrival distribution: The distribution of blobs arrivals within a slot. Configurable via:
      • Distribution type: The distribution type for blob arrivals.
        • Options: Uniform, Gaussian
        • Default: Gaussian
        • Gaussian: Blobs arrive according to a Gaussian distribution centered around a peak time.
          • Peak time: Slot time (in seconds) when blobs arrivals are most concentrated.
            • Range: 1 to Slot duration
            • Default: 2 seconds
          • Spread: Width of the arrival distribution (Gaussian standard deviation).
            • Range: 0.1 to 6 seconds
            • Default: 1.5 seconds
        • Uniform: Blobs arrive uniformly distributed across the slot duration.
          • Earliest: Earliest time in the slot when blobs can arrive.
            • Range: 0 to Slot duration
            • Default: 1 seconds
          • Latest: Latest time in the slot when blobs can arrive.
            • Range: Earliest to Slot duration
            • Default: 6 seconds

Attestations traffic

Attestations are small messages that validators send to attest to the validity of blocks. Each attestation contains a signature that proves that the validator has seen the block and agrees with its validity.

Attestations are gossiped in a dedicated gossipsub topic that define subnet committee. Number of attestations per slot is defined by the number of validators in the subnet committee. Each attestation could be received multiple times by the node, as it could be gossiped by multiple validators in the subnet committee.

Parameters

  • Attestations per slot: The number of attestations that are gossiped in a slot. Same as number of validators in the attestation subnet. Configurable.
    • Range: 0 to 2048 attestations.
    • Default: 128 attestations.
  • Signature size: The size of the signature in bytes. Configurable.
    • Range: 64 to 3072 bytes.
    • Default: 96 bytes.
  • Duplication factor: The average number of times that the node receives each attestation. Configurable.
    • Range: 1 to 10.
    • Default: 2.5
  • Time of arrival distribution: The distribution of attestations arrivals within a slot. Attestations cannot arrive before the block. Configurable via:
    • Distribution type: The distribution type for attestation arrivals.
      • Options: Uniform, Gaussian
      • Default: Gaussian
      • Gaussian: Attestations arrive according to a Gaussian distribution centered around a peak time.
        • Peak time: Slot time (in seconds) when attestations arrivals are most concentrated.
          • Range: 1 to Slot duration
          • Default: 2 seconds
        • Spread: Width of the arrival distribution (Gaussian standard deviation).
          • Range: 0.1 to 6 seconds
          • Default: 1.5 seconds
      • Uniform: Attestations arrive uniformly distributed across the slot duration.
        • Earliest: Earliest time in the slot when attestations can arrive.
          • Range: 0 to Slot duration
          • Default: 1 seconds
        • Latest: Latest time in the slot when attestations can arrive.
          • Range: Earliest to Slot duration
          • Default: 6 seconds

Transactions Traffic

Transactions are user-initiated operations (e.g., token transfers, contract interactions) propagated through the network before inclusion in blocks. They are broadcast via a dedicated P2P network and may be received multiple times by a node due to redundant propagation.

Parameters

  • Transactions per slot: The number of unique transactions arriving at the node per slot.

    • Range: 0 to 100,000
    • Default: 5,000
  • Average transaction size: The mean size of a transaction in bytes.
    Range: 100 to 10,000 bytes
    Default: 300 bytes (typical ERC-20 transfer)

  • Time of arrival distribution: The temporal distribution of transaction arrivals within a slot. Configurable via:

    • Peak time: Slot time (in seconds) when transaction arrivals are most concentrated.
      • Range: 0 to Slot duration
      • Default: 4 seconds
    • Spread: Width of the arrival distribution (Gaussian standard deviation).
      • Range: 0.1 to 6 seconds
      • Default: 1.5 seconds

    Note, on graphic it might look like a bell curve centered at Peak time with width Spread.

  • Duplication factor:
    Average number of times the same transaction is received (due to redundant propagation).
    Range: 1.0 to 5.0
    Default: 1.8

Aggregation and Simulation Notes

Total inbound traffic is the sum of traffic from all components (blocks, blobs, attestations, transactions). The model:

  1. Generates discrete data arrivals for each component based on configured parameters.
  2. Converts data sizes to bits (×8).
  3. Places arrivals in a time-ordered queue based on:
    • Fixed time (blocks)
    • Uniform random distribution within [Earliest, Latest] (blobs)
    • Gaussian distribution around Peak time (transactions)
  4. Processes the queue against the inbound bitrate to calculate:
    • Instantaneous bandwidth utilization
    • Buffering delays
    • Data loss (if capacity exceeded)

Visualization:
2D plot showing the total inbound bandwidth over time. X-axis: Time in slot (seconds)
Y-axis: Inbound bandwidth (Mbps)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors