Operating system, services and reproducible builds
The software for nodes in the network is distributed as self-contained TEE VM images.
These images contain a minimal operating system based on Yocto with a verifiable boot chain, and all the required services. The operating system and all components support fully reproducible builds.
Key Services
These are the main services running inside an instance:
Repository | Description |
---|---|
github.com/flashbots/rbuilder | The block building software |
github.com/sigp/lighthouse | CL client |
github.com/paradigmxyz/reth/ | EL client |
github.com/flashbots/system-api | Interface between operators and services inside the TDX instance |
github.com/flashbots/cvm-reverse-proxy | For verifying TDX measurements using attestations |
github.com/flashbots/tdx-orderflow-proxy | Receiving and multiplexing orderflow |
Additional software that runs inside the TDX instance includes cron, time synchronization, utilities for mounting the encrypted disk and a Reth database downloader (for fast chain syncs).
Testnet as well as initial boostrap nodes will have additional software, such as Prometheus and Fluentbit to export logs and metrics, as well as SSH for direct debug access.
Boot sequence
This diagram shows the builder node boot sequence, services and data flows:
Orderflow Proxy
Orderflow Proxy is a key service running inside TDX (and also in the Flashbots infra). It's main responsibilities are:
- Receiving orderflow from peers and Flashbots.
- Receiving orderflow directly (from users, wallets, operators, etc).
- Multiplexing it to all other builder nodes.
- Sending it to the Redistribution Archive.
- Forwarding orderflow to the builder service.