🤖 AI Summary
This work addresses fairness concerns in blockchain transaction ordering caused by Maximal Extractable Value (MEV) attacks, where existing batch-ordering fairness protocols suffer from poor performance and liveness vulnerabilities. The paper proposes a novel Byzantine Fault Tolerant (BFT) consensus protocol based on Directed Acyclic Graphs (DAGs), which, for the first time, achieves γ-batch-order-fairness within a DAG-based BFT framework under a multi-proposer architecture. By parallelizing the graph construction of the fairness layer and integrating post-consensus graph building, explicit resolution of missing edges, and a reliable broadcast coordination mechanism, the protocol is implemented in Rust as an extension of Narwhal & Tusk. Experimental results demonstrate that the system attains throughput close to native Narwhal & Tusk (approximately 10,000 tx/s), improves saturated throughput by 90% over FairDAG-RL and by 100% over DoD-W, significantly reduces execution latency, and eliminates the liveness flaws present in prior approaches.
📝 Abstract
Transaction ordering attacks extract billions of dollars annually from decentralized finance users in the form of Maximal Extractable Value (MEV). Byzantine Fault-Tolerant (BFT) consensus protocols guarantee total order but place no constraint on how that order is chosen, leaving the door open for adversarial reordering. Batch-order-fairness (batch-OF) protocols close this gap, but existing designs pay a steep performance price for this guarantee. Leader-based protocols such as Themis concentrate all fairness decisions at a single replica, while recent DAG-based proposals FairDAG and DAG of DAGs (DoD) force their fairness layer into strictly serial execution despite running on multi-proposer DAGs.
We present Herring, the first $γ$-batch-OF DAG BFT protocol whose fairness layer parallelizes the dominant graph construction cost across committed subdags. Herring combines post-consensus graph construction with explicit missing edge resolution piggybacked on the DAG's reliable broadcast layer, a pairing that turns fair ordering from a per-round serial bottleneck into a CPU-bound task. We also uncover previously unreported liveness vulnerabilities in both FairDAG-RL and DoD that a malicious client can trigger to halt the fairness layer indefinitely, and propose patches that we integrate into our reimplementations.
We implement Herring on top of the Rust implementation of Narwhal \& Tusk and evaluate it against FairDAG-RL, DoD-W, and Themis. Herring tracks the throughput of Narwhal \& Tusk closely up to roughly $10{,}000$\,tx/s, achieves roughly $90\%$ higher saturation throughput than FairDAG-RL and $100\%$ higher than DoD-W, and substantially reduces execution latency at saturation.