diff --git a/docs/operator-guides/requirements/system-requirements.md b/docs/operator-guides/requirements/system-requirements.md index dddeaaf..32af232 100644 --- a/docs/operator-guides/requirements/system-requirements.md +++ b/docs/operator-guides/requirements/system-requirements.md @@ -4,53 +4,297 @@ sidebar_position: 1 # System Requirements -## General System Requirements +## Hardware Requirements The EigenDA network design dictates that operators with greater stake will be asked to store a larger number of blob chunks/shards. As a result, an operator's node requirements are a function of the total amount of stake they wield across all quorums, which we -call 'Total Quorum Stake' (TQS). For example, if an operator Foobar has 3% stake +call `Total Quorum Stake` (TQS). For example, if an operator Foobar has 3% stake on the restaked ETH quorum, and 5% ETH on a staked WETH quorum, then operator Foobar's TQS is 8%. -Operators should use the following table to determine which [EigenLayer node class](https://docs.eigenlayer.xyz/eigenlayer/operator-guides/eigenlayer-node-classes#general-purpose-eigenlayer-node-classes) -is appropriate for their level of stake: +The requirements here are designed to support max system throughput of 20MiB/s. -| Total Quorum Stake (TQS) | Max Allocated Throughput | Node Class | -| ------------------------ | ----------------------- | -------------------- | -| Up to 0.03% (Solo staker) | 80 Kbps | General Purpose - large | -| Up to 0.2% | 500 Kbps | General Purpose - xl | -| Up to 20% | 50 Mbps | General Purpose - 4xl | +### CPU and RAM requirements -Here 'Max Allocated Throughput' refers to the maximum amount of blob shard traffic that -will be sent to a node based on their total quorum stake. This measure does not translate -directly to the networking capacity required by the node; operators should use the network -capacity requirements of the associated node class. +| Total Quorum Stake (TQS) | vCPUs | RAM (GB)| +| ------------------------ | ----------------------- | -------------------- | +| Up to 0.02% (Solo staker) | 2 | 8 | +| Up to 0.2% | 4 | 16 | +| Up to 20% | 16 | 64 | -Professional operators with large or variable amounts of delegated stake should -select the `4xl` node class. The `large` class is intended to be used by solo -stakers with the minimal allowed quantity of stake. +For reference, these requirements generally match the large, xlarge and 4xlarge in [EigenLayer node class](https://docs.eigenlayer.xyz/eigenlayer/operator-guides/eigenlayer-node-classes#general-purpose-eigenlayer-node-classes). Operators could provision the node following this standardized node class based on their stake percentage. -We will update this specification to include new EigenLayer node classes as they -are introduced. +### Network and Storage Requirements -## Node Storage Requirements +*TL;DR Each 1% of TQS needs roughly 4.8MB/s download bandwidth, 48MB/s upload bandwidth, and 2.3TB storage* -EigenDA nodes **must** provision high-performance SSD storage in order to keep -up with network storage and retrieval tasks. Enterprise grade SSDs are recommended, such as `PCIe 4.0 x4 M.2/U.2 NVMe`. +Note: +* The bandwidth numbers here are the **actual steady-state data transfer throughput** needed Node (i.e. not just the ingress bandwidth of the node). +* Actual bandwidth may be affected by transportation via the public internet over geographic distances. +* Currently, the Disperser is located in AWS us-east-1, which may be subject to change and moving towards decentralization. +* The operators with less than 0.05% stake will be provisioning the resource the same as the 0.05% due to the rounding effects. +* This doesn't include the resource needed for other services (if any) on the same machine. -Failure to maintain adequate -performance will result in unacceptable validation latency and [automatic ejection](protocol-SLA/). +For reference, the following tables summarize requirements based on TQS: -The following table summarizes required storage capacity based on TQS: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Total Quorum Stake (%)Download bandwidth (MB/s)Max upload bandwidth (MB/s)Storage (GB)
14.848.002,322.43
29.494.004,548.10
314140.006,773.76
418.6186.008,999.42
523.2232.0011,225.09
627.8278.0013,450.75
732.4324.0015,676.42
837370.0017,902.08
941.6416.0020,127.74
1046.2462.0022,353.41
1150.8508.0024,579.07
1255.4554.0026,804.74
1360600.0029,030.40
1464.6646.0031,256.06
1569.2692.0033,481.73
1673.8738.0035,707.39
1778.4784.0037,933.06
1883830.0040,158.72
1987.6876.0042,384.38
2092.2922.0044,610.05
2196.8968.0046,835.71
22101.41,014.0049,061.38
231061,060.0051,287.04
24110.61,106.0053,512.70
25115.21,152.0055,738.37
-| Total Quorum Stake (TQS) | Max Allocated Throughout | Required Storage | -| ------------------------ | -------------------- | ---------------- | -| Up to 0.03% | 80 Kbps | 20 GB | -| Up to 0.2% | 500 Kbps | 150 GB | -| Up to 1% | 2.5 Mbps | 750 GB | -| Up to 10% | 25 Mbps | 4 TB | -| Up to 20% | 50 Mbps | 8 TB | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Total Quorum Stake (%)Download bandwidth (MB/s)Max upload bandwidth (MB/s)Storage (GB)
14.848.00185.79
0.94.3443.40167.99
0.83.8838.80150.18
0.73.4234.20132.38
0.62.9629.60114.57
0.52.525.0096.77
0.42.0420.4078.96
0.31.5815.8061.16
0.21.1211.2043.35
0.10.666.6025.55
0.090.6146.1423.77
0.080.5685.6821.99
0.070.5225.2220.21
0.060.4764.7618.42
0.050.434.3016.64
:::info The rough size of the message sent from the EigenDA disperser to a DA node can be estimated using the following formula: