FNP - Security - Byzantine Fault Tolerance & Threat Model
Summary (Explain Like I’m 5)
Imagine a treasure hunt with 100 kids, but some are liars trying to trick everyone: Problem: You ask a kid “Where’s the treasure?”- Good kids tell the truth
- Bad kids lie to mess things up
- How do you trust the answer?
- Ask many kids and use majority vote
- Even if 20 kids lie, 80 truth-tellers win
- No single kid can trick everyone
- ✓ It can’t forge signatures (Dilithium stops it)
- ✓ It can’t reorder other users’ edits (LSEQ positions are fixed)
- ✓ It can’t delete without audit trail (tombstones + Dilithium)
- ✓ The document stays cryptographically valid even if 1 replica is evil
Technical Deep Dive
Byzantine Fault Tolerance is the ability to tolerate malicious (Byzantine) nodes that:- Refuse to participate
- Send corrupted data
- Arbitrarily deviate from protocol
- Collude with other malicious nodes
| Threat | Attacker Power | Defense |
|---|---|---|
| Signature Forgery | Forge Dilithium signatures | Cryptographically impossible (2^256 work) |
| Replay Attack | Reuse old operations | Lamport clock + operation_id uniqueness |
| Delete Forgery | Delete other user’s edits | Only signer can delete (Dilithium) |
| Position Collision | Two edits same LSEQ position | Position generation impossible to predict |
| Timestamp Manipulation | Fake Lamport clock values | Server checks monotonic increase |
| DoS Attack | Send millions of invalid ops | Signature verification before processing |
| Network Split | Partition replicas | Eventual consistency handles it |
| Colluding Replicas | Multiple evil servers | Deterministic merge defeats coordination |
| Metadata Leakage | Learn edit patterns | Blind server verification (partial) |
1. Signature Forgery Impossibility
- Finding short vector in high-dimensional lattice = exponential work
- No quantum algorithm known (contrasts with RSA/ECDSA)
- Even with quantum computer: still 2^128 work (secure enough)
2. Replay Attack Prevention
3. Delete Operation Security (Cryptographic Audit Trail)
4. Position Collision Impossibility
5. Lamport Clock Monotonicity Check
6. Colluding Replicas Can’t Reorder Edits
Mermaid Diagrams
Key Terms
- Byzantine Fault → Node deviates arbitrarily (lies, corrupts, delays)
- Byzantine Fault Tolerance → System works despite malicious nodes
- Cryptographic Binding → Operation bound to signer via Dilithium
- Audit Trail → Timestamped, signed record of all operations
- Eventual Consistency → All honest replicas converge despite partition
- Monotonic Clock → Clock value never decreases (prevents replay)
- Signer-Based Deletion → Only message signer can delete their own message
- Non-Repudiation → Signer can’t deny signing (Dilithium provides this)
Q/A
Q: What if the server is hacked? A: Server can’t forge signatures (attacker doesn’t have users’ secret keys). Can’t reorder edits (CRDT enforces position order). Can’t delete others’ edits (only signer can). Can’t replay ops (Lamport clock check). Hacked server can’t break protocol—at worst, goes offline. Q: Does FNP need a majority quorum like Raft? A: No. FNP uses deterministic CRDT merge—no voting needed. Any subset of replicas converging gives same result. This is weaker than Byzantine consensus (which needs 2f+1 nodes for f faults) but stronger than traditional replication. Q: What if attacker is Alice herself? A: Alice has legitimate signing key. She can delete her own edits (that’s fine). She can forge signatures only on her own operations. She can’t forge Bob’s signatures (different secret key). Design assumes: Users trust their own devices (local security is prerequisite). Q: Can an attacker learn what users are editing? A: Server sees operation positions, timestamps, sizes. Server doesn’t see content (encrypted). Blind server verification means server can’t verify correctness of proof. Attack surface: timing patterns, operation sizes, edit frequency—not operation content. Q: What if two servers disagree on operation order? A: CRDT resolves it! Positions are absolute (not relative to server). Any subset of servers applying operations deterministically converges. Order disagreement is impossible because LSEQ positions create total ordering. Q: How is FNP different from Blockchain? A: Blockchain needs consensus (expensive). FNP uses CRDT (no consensus). Blockchain works with arbitrary adversaries. FNP assumes users keep their keys secret. Blockchain is decentralized; FNP assumes trusted client devices. FNP is much faster and simpler.Example / Analogy
Notarized Document Analogy: Without Byzantine tolerance (fragile):- Server: “Alice edited the document”
- If server hacked: attacker can forge edits, delete things
- No way to verify: “Was this really Alice?”
- Notary (Dilithium): “Alice personally signed this edit”
- Attacker hacks server: “I’ll say Bob edited this”
- Problem: Attacker doesn’t have Bob’s signing stamp (secret key)
- Notary rejects: “Stamp is forged”
- Document remains cryptographically proven authentic
- Company document, 50 editors, 1 server hacked
- Hacker tries: “I deleted all security reviews”
- Problem: Each review is signed by original author
- Server: “Which author’s secret key signed this delete?”
- Hacker: “Uh… I don’t have anyone’s secret key”
- System: ✓ Rejects all unsigned deletes
- Document stays secure despite hacked server
Cross-References: Dilithium Signatures, LSEQ CRDT, Lamport Clocks, Security & Zero Trust Category: Security | Distributed Systems | Byzantine Tolerance | Threat Model Difficulty: Advanced ⭐⭐⭐⭐⭐ Updated: 2025-11-28