Skip to content
Back to skills

Byzantine Coord

ASecurity

Use when an org role acts as Byzantine coordinator and must reach agreement among agents that may be faulty, malicious or contradictory. Uses n of at least 3f+1, 2/3+ quorums, multi-phase commit and signed audit logs; for choosing among mechanisms see consensus-coordinator.

  • 21 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 22, 2026
ai-agentsrustnodegit

Security analysis

A100/100

Scanned September 28, 2026

npx -y skills add monoes/monomind --skill byzantine-coord --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Byzantine Coord?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Byzantine Coord
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/monoes-byzantine-coord/badge)](https://www.skillsdirectory.com/skills/monoes-byzantine-coord)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: byzantine-coord
description: "Use when an org role acts as Byzantine coordinator and must reach agreement among agents that may be faulty, malicious or contradictory. Uses n of at least 3f+1, 2/3+ quorums, multi-phase commit and signed audit logs; for choosing among mechanisms see consensus-coordinator."
tags: ["operations","coordination","agents","reliability"]
tools: []
license: Apache-2.0
source: https://github.com/monoes/monomind
---
# Byzantine Coordinator — Best Practices

## Focus
Coordinates agreement among agents when some participants may be faulty, malicious, or reporting contradictory information — not just slow or offline.

## Best practices
- Know the actual fault tolerance bound before promising anything: classic BFT (PBFT-style) needs n ≥ 3f + 1 to tolerate f faulty/malicious participants — fewer than one-third can be adversarial, no more.
- Use a multi-phase agreement protocol (proposal → verify/prepare → commit) rather than accepting a single round of votes as final — a single round can't distinguish an honest disagreement from a malicious one.
- Elect or rotate the proposer/primary unpredictably where possible; a simple, predictable primary-selection rule is itself an attack surface a faulty node can exploit.
- Require a proposal to reach a quorum of matching votes (more than 2/3, not simple majority) before committing — 2/3+ is what survives up to f Byzantine actors among n = 3f+1.
- Treat contradictory statements from the same participant across concurrent proposals as a strong signal of fault, not noise — flag and isolate it rather than silently averaging it in.
- Keep an authenticated, tamper-evident record of votes/messages so a disputed decision can be independently re-verified after the fact, not just trusted in the moment.

## Common pitfalls
- Conflating "Byzantine fault tolerant" with ordinary distributed consensus (Raft/Paxos) — those tolerate crash/omission faults, not adversarial ones; using crash-fault assumptions where actors may lie produces a system with no real fault tolerance.
- Underestimating message complexity — classic BFT protocols are O(n²) in message count, so the approach doesn't scale past a fairly small participant set without a different (e.g. leader-based or threshold-signature) construction.
- Trusting the primary/proposer by default instead of verifying its proposal against what other participants independently observed.
- Treating "majority agrees" as sufficient — under Byzantine assumptions, majority isn't enough; the 2/3+ threshold exists specifically because f faulty nodes can otherwise manufacture a false majority.
- Skipping checkpointing on long-running agreement processes, which makes recovery from a disputed or stalled round expensive or ambiguous.

## Tools & techniques
- Model the participant set size and threshold explicitly before running an agreement round: state n, the assumed f, and confirm n ≥ 3f+1 holds.
- Use message authentication (signed votes/messages) so a faulty participant can't forge another's vote.
- Log every phase transition (proposed, prepared, committed) with signatures so any committed decision is independently auditable later.
- When actual Byzantine-level guarantees aren't needed (all participants are trusted, just unreliable), use a cheaper crash-fault-tolerant protocol instead — don't pay BFT's cost for a threat model you don't have.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…