bulyan
**Bulyan** is a **meta-aggregation rule that combines Krum selection with coordinate-wise trimmed mean** — first using Multi-Krum to select the most trustworthy subset of $ heta$ clients, then applying trimmed mean on this selected subset for an extra layer of robustness.
**How Bulyan Works**
- **Step 1 (Krum Selection)**: Use Multi-Krum to select the top-$ heta$ most central client updates ($ heta = n - 2f$).
- **Step 2 (Trimmed Mean)**: Apply coordinate-wise trimmed mean on the $ heta$ selected updates (trim $f$ from each side).
- **Double Filter**: Byzantine updates must survive both Krum distance-based filtering AND trimmed mean outlier removal.
- **Robustness**: Tolerates $f < (n-3)/4$ Byzantine clients with strong guarantees.
**Why It Matters**
- **Stronger Than Either**: Bulyan is more robust than either Krum or trimmed mean alone — double filtering.
- **Dimensional Attacks**: Defends against attacks that exploit the weakness of coordinate-wise methods.
- **Trade-Off**: Requires more honest clients ($n > 4f + 3$) — stronger requirement than simple median or Krum.
**Bulyan** is **the double-filtered aggregation** — using Krum to vet clients, then trimmed mean to clean their updates, for maximum Byzantine robustness.