Skip to main content

Hardware Requirements

OXN's confidentiality depends on Intel SGX. Nodes that execute contracts (including RPC nodes serving eth_call) must have SGX-capable hardware. This page lists the minimum, the recommended, and the prerequisites for making SGX work.

Minimum specs

For a testnet RPC node handling modest traffic:

ResourceMinimum
CPU4 cores, SGX + FLC support
RAM16 GB
Disk100 GB SSD (NVMe recommended)
Network100 Mbps symmetric, low latency to peers

The disk should be SSD — spinning disks cannot keep up with the state trie's random-access pattern.

For production use:

ResourceRecommended
CPU8 cores or more, SGX + FLC support
RAM32 GB
Disk500 GB NVMe SSD, room to grow
Network1 Gbps symmetric

SGX-capable CPUs

The runtime requires:

  • Intel SGX with FLC (Flexible Launch Control). Most Intel server CPUs from Xeon Scalable 2nd Gen (Cascade Lake) onward include SGX + FLC.
  • DCAP (Data Center Attestation Primitives) support for remote attestation.

Consumer CPUs often have SGX but not FLC, or have older SGX modes. Server CPUs are the safe choice.

Confirmed compatible families (representative examples, not exhaustive):

  • Intel Xeon Scalable 3rd Gen (Ice Lake) — full SGX + DCAP support.
  • Intel Xeon Scalable 4th Gen (Sapphire Rapids) — full SGX + DCAP support.
  • Intel Xeon E3-1200v6 — earlier SGX generation, may need extra driver work.

Not compatible:

  • AMD processors (SGX is Intel-only).
  • ARM processors (though ARM TrustZone exists, OXN targets Intel SGX specifically).

BIOS settings

For SGX to work:

  • SGX — must be Enabled in BIOS.
  • SGX Memory Reservation — set to a reasonable value (128 MB minimum for testnet).
  • UEFI Secure Boot — enable if your kernel supports signed modules; otherwise disable and use unsigned drivers.

Kernel and driver requirements

  • Linux kernel 5.15 or newer (Ubuntu 22.04 LTS ships with this).
  • In-kernel SGX driver: kernels 5.11+ include the SGX driver in-tree; no external module is needed.
  • DCAP libraries: libsgx-dcap-quote-verify, libsgx-dcap-quote-verify-dev, and related packages from Intel.

Installation (Ubuntu 22.04):

# Add Intel SGX repo
echo "deb [arch=amd64] https://download.01.org/intel-sgx/sgx_repo/ubuntu jammy main" \
| sudo tee /etc/apt/sources.list.d/intel-sgx.list
wget -O - https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key \
| sudo apt-key add -
sudo apt-get update

# Install DCAP packages
sudo apt-get install -y \
libsgx-dcap-quote-verify \
libsgx-dcap-quote-verify-dev \
libsgx-quote-ex \
libsgx-urts \
sgx-aesm-service

Verifying SGX before proceeding

Before installing the OXN node, verify SGX is working:

# Check kernel driver
ls -la /dev/sgx_enclave /dev/sgx_provision

# Should show two device nodes. If missing, check BIOS and kernel.

If those device nodes are present, you're likely good to go. For deeper verification, run Intel's test-app-sgx tool.

Cloud providers

Most public clouds offer SGX-enabled instances:

  • Azure: DC-series VMs (DCsv2, DCsv3, DCsv3 with GPU).
  • AWS: SGX-enabled EC2 instances (limited availability).
  • Alibaba Cloud: SGX-enabled instances.

Bare metal or dedicated hosts are also viable — often preferred for production where you want direct hardware control.

Storage growth

Testnet chain state is small today but grows. Plan:

  • Initial state: currently a few GB.
  • Growth rate: roughly linear with block production and dApp activity.
  • Archive vs pruned: an archive node retains all historical state (fastest historical queries, largest disk); a pruned node keeps only recent state (smaller disk, historical queries fail beyond retention window).

Start with archive mode for flexibility. Switch to pruned mode later if disk becomes constrained.

Next steps