This project implements a high-performance, Rust-based in-memory Auctioneer designed to replace Redis in the critical get_header path of PBS relays like Titan's Helix. It synchronizes bids across geo-distributed nodes using a CRDT-based gossip protocol, aiming to reduce latency, eliminate centralized coordination, and improve proposer and builder outcomes.
Gossip-Synced In-Memory Auctioneer
🦀 Rust-based replacement for Redis in Helix-style MEV-Boost relays 📡 CRDT + UDP gossip for bid propagation ⚡ Cuts get_header latency by 30–50% 🔐 Attestation-ready (TEE support planned)
- Cut latency in the bid path by 30–50%
- Eliminate Redis dependency in the hot path
- Enable decentralized, fault-tolerant bid propagation
- Maintain convergence guarantees via gossip
- Align with SUAVE and enshrined PBS design principles
graph TD
subgraph Relay Node A
A1[Builder Bid Submission] --> A2[In-Memory Auctioneer]
A2 --> A3[Gossip Broadcast]
end
subgraph Relay Node B
B1[Gossip Receive] --> B2[Bid Conflict Resolver]
B2 --> B3[Best Bid Updated]
end
A3 --> B1
B3 --> C[Proposer Get Header]
-
Bid CRDT Structure with merge logic:
struct Bid { value: U256, timestamp: u64, // monotonic clock builder_id: String, nonce: u32, // anti-replay signature: [u8; 64], // attestation-ready }
-
UDP-based gossip with configurable fanout (e.g., 3 peers)
-
Attestation scaffolding for future TEE integration
-
Latency benchmarking tools
- Builder-side TEE: Ensures bundle execution / ordering is trusted
- Relay-side TEE: Ensures best bid selection is tamper-proof and fast
- Optional Proposer TEE: May be used to verify attestations or simulate payloads privately in the future
inmemory-auctioneer/
├── Cargo.toml
├── README.md
├── docs/
│ ├── FRP.md # Full research proposal
│ ├── workplan.md # workplan
│ └── diagrams/
├── src/
│ ├── auctioneer.rs # Core in-memory logic
│ ├── bid.rs # Bid struct and merge logic
│ ├── config.rs # Runtime parameters
│ ├── gossip.rs # Gossip layer for syncing
│ ├── lib.rs # Lib
│ └── main.rs # Entry point and example
└── tests/
│ ├── auctioneer.rs # test auctioneer
│ ├── bid.rs # test bid
│ └── gossip.rs # test gossip
└── benchmarks/
└── gossip_latency.rs
- ✅ Bid struct + merge logic
- 🔲 UDP gossip skeleton
- 🔲 Multi-node local simulation
- 🔲 95% convergence in <100ms (local test)
- Remote attestation (Intel TDX or Fortanix SGX)
- Optional fallback to disk cache
- Peer scoring for bid trustworthiness
Inspired by Titan Builder, Flashbots, and Rorqual. Meant to plug directly into Helix or similar relays.
Contact: Stephan Thomas – stovole@gmail.com