Section VIII
FAFO
Ahead-of-Formation Parallel Execution
FAFO (Find-and-Frame-Optimally) achieves >1.1M TPS for native ETH transfers and >500,000 TPS for ERC-20 transfers through a three-stage pipeline: conflict detection, frame construction, and DAG-based parallel scheduling. Unlike Solana's Sealevel or Aptos's Block-STM, FAFO requires no manual annotations and avoids speculative re-execution entirely.
three stage pipeline
Three-Stage Pipeline
FAFO schedules transactions for parallel execution in three stages, all computed before execution begins (ahead-of-formation).
- Conflict detection: Lightweight static analysis identifies potential read-write conflicts between transactions. False positives are safe (treated as conflicts); false negatives are impossible.
- Frame construction: Builds maximal sets of non-conflicting transactions. Each frame executes atomically in parallel.
- Parallel scheduling: Constructs a dependency graph of frames and applies topological layering for inter-frame parallelism. Independent frames execute on separate threads.
ahead of formation
Ahead-of-Formation Principle
FAFO's key innovation is that the entire execution schedule is computed before any transaction executes. This eliminates speculative execution entirely — there is no need to detect conflicts at runtime, roll back aborted transactions, or re-execute. Under high contention (>30% of transactions conflicting), speculative approaches waste significant compute on rollbacks. FAFO's cost remains constant regardless of contention level.
fafo benchmarks
Performance Benchmarks
Benchmarks measured on AMD EPYC 9654 (96 cores, 384GB RAM).
>1.1M
TPS (Native ETH)
>500K
TPS (ERC-20)
91%
Cost Reduction
0%
Rollback Rate
fafo comparison
Comparison with Prior Art
FAFO improves on existing parallel execution approaches in fundamental ways.
| Property | FAFO (Ring0) | Sealevel (Solana) | Block-STM (Aptos/Monad) |
|---|---|---|---|
| Annotation | Automatic (static analysis) | Manual (developer must declare accounts) | Automatic |
| Conflict handling | Ahead-of-formation (pre-computed) | Compile-time locks | Speculative re-execution |
| Contention cost | Constant (no rollbacks) | N/A (manual partitioning) | >30% overhead under contention |
| Merkle compatibility | Full (via MLE-DB) | Custom account model | Full |