EU AI Act Article 50 — 20 days to seal | Get passport

⚖️ BFT Defence Council

33-Agent Byzantine Fault Tolerant governance council for sovereign defence AI decisions. JSP 936 auditable, CSOAI certified, NATO STANAG aligned. Every kill-chain decision: human-authorised, AI-advised, BFT-verified.

33

Agents

33 sovereign AI agents voting. 23 required for consensus (2f+1 where f=11). No single agent can dominate.

f=11

Fault Tolerance

Up to 11 agents can be compromised/byzantine without breaking consensus. PBFT-style 3-phase commit.

JSP 936

Compliant

Full JSP 936 Part 1-7 audit trail. Every vote logged, signed, timestamped. Immutable.

🏛️ Architecture
🗳️ 33-Agent Council
📋 JSP 936 Audit
⚔️ Attack Vectors
🧬 MCP Tools

🏛️ BFT Council Architecture

1

Request Phase

Human operator submits decision request (e.g., "engage target Alpha-7"). Request is hashed, signed, broadcast to all 33 agents.

2

Pre-Prepare (Leader)

One agent designated leader (rotated per round). Leader validates request against ROE, JSP 936, mission parameters. Broadcasts PRE-PREPARE with sequence number.

3

Prepare (All 33)

Each agent independently validates leader's proposal. Checks: ROE compliance, PID confirmation, proportionality, necessity. Broadcasts PREPARE vote.

4

Commit (2f+1 threshold)

Once 23 agents agree (2×11+1), each broadcasts COMMIT. Decision locked. Cannot be reversed by minority.

5

Execute + Audit

Decision executed (human presses final button). Full 3-phase audit trail written to immutable log. JSP 936 Part 7 compliant.

ParameterValueRationale
Total Agents (n)33Prime number — no even splits possible
Fault Tolerance (f)1133 = 3f → f=11. Up to 33% compromised tolerated.
Consensus Threshold23 (2f+1)Any 23 agents form a supermajority
Leader RotationEvery round (30s)No permanent leader — prevents capture
View Change Timeout10sIf leader unresponsive, trigger view change
Agent Diversity6 LLM families × 5+ instancesHeterogeneous — no single-model vulnerability
Audit TrailSHA-256 + Ed25519 signedJSP 936 Part 7, ISO 27001 compatible

🗳️ The 33-Agent Council — Composition

The 33 agents are drawn from 6 distinct model families across 5 sovereign inference nodes. No single provider controls more than 30% of the council.

FamilyAgentsModelNodeSpecialty
LLaMA 3.38 agents70B-InstructM2/M3/M4 MacBooksGeneral reasoning, ROE interpretation
Qwen 36 agents30B-A3B (MoE)ORION Mac StudioMulti-perspective analysis
Mistral5 agentsLarge 2 (123B)GCP VM meok-backendLegal/LOAC compliance check
DeepSeek5 agentsV3/R1M2/M3 MacBooksTechnical validation, sensor fusion
Gemma 35 agents27BM4 MacBook ProEthics, proportionality, collateral damage
Command R+4 agents104BORION Mac StudioTactical feasibility, fire support

Vote Types

VoteMeaningEffect
APPROVEDecision complies with all ROE, LOAC, JSP 936Counts toward 23-vote threshold
REJECTDecision violates ROE/LOAC/JSP 936Blocks if 12+ agents reject
ABSTAINInsufficient information to decideCounts toward quorum, not approval
RECUSEAgent has conflict (model family, training data)Excluded from quorum calculation

📋 JSP 936 Audit Trail

Every BFT council decision generates a full JSP 936 Part 1-7 compliant audit trail. Immutable, cryptographically signed, exportable to MOD auditors.

Part 1: Decision Request

Who requested, when, what target, what ROE context. SHA-256 hash of all inputs.

Part 2: Pre-Prepare

Leader's validation: sensor fusion, PID confidence, ROE check, collateral damage estimate. Signed Ed25519.

Part 3: Prepare (33 votes)

Every agent's independent analysis. Full reasoning trace. Model version, temperature, seed. Vote + signature.

Part 4: Commit (consensus)

23+ COMMIT votes. Byzantine fault tally. Any rejected agents' reasoning preserved for audit.

Part 5: Execution

Human authorisation. Final command sent. Effect confirmation (BDA). All logged, signed.

Part 6: After-Action

Full timeline. All sensor data. All agent reasoning. Exportable as signed PDF + JSON for MOD DSA audit.

⚔️ Attack Vectors — What the BFT Council Defends Against

Attack VectorBFT MitigationResidual Risk
Model Poisoning6 model families — poisoning 1 family doesn't break consensus (max 8/33 votes)LOW
Sybil AttackEach agent has hardware-rooted DID (Ed25519 keypair). Cannot spawn fake agents.LOW
Leader CaptureLeader rotated every round. Captured leader can only delay (10s timeout → view change).LOW
Replay AttackEvery vote has unique sequence number + timestamp + nonce. Replay rejected by all agents.NONE
Network PartitionEach agent on separate node. 4 physical locations (M2, M3, M4, ORION, GCP).MEDIUM
Supply ChainAll models run locally (Mac inference). No cloud API dependency. Offline-capable.LOW
Prompt InjectionEach agent processes structured JSON only. No free-text input from external sources.LOW
51% AttackWould need to compromise 23/33 agents across 5 nodes + 6 model families. Physically infeasible.LOW

🧬 MCP Tools — defoneos-bft-mcp

ToolFunctionInputStatus
bft_council_statusList all 33 agents, health, nodeLIVE
bft_submit_decisionSubmit kill-chain decision for votetarget_id, roe_context, sensor_dataLIVE
bft_get_consensusGet vote tally for decisiondecision_idLIVE
bft_get_audit_trailExport JSP 936 audit for decisiondecision_id, format (pdf/json)LIVE
bft_list_decisionsList recent council decisionslimit, status_filterLIVE
bft_simulate_attackRed-team: test BFT resilienceattack_vector, compromised_agentsLIVE
bft_rotate_leaderForce leader rotationLIVE
bft_agent_did_verifyVerify agent hardware-rooted DIDagent_idLIVE
🐉 DEFONEOS · Sovereign British Defence OS · CORE DEMO Phase · 5 Jul 2026 · TICK 6