UpgradesSeptember 14, 2026by
EmpoorioChain Core
EmpoorioChain Core

The Threat Model: What EmpoorioChain Defends Against and With What

A threat model is the document that turns "secure" from an adjective into a list. EmpoorioChain's is in the repository, dated, and cross-referenced to the mainnet gate. This post summarises it and marks what is in place.

Assumptions

The network is a testnet; mainnet is blocked by audit, decentralization and benchmark gates. Consensus is Aura/GRANDPA/BEEFY unless the consensus status document proves otherwise. Eoonia Wallet is inside the critical perimeter. EmpooScan is public evidence, not a source of truth — the truth is the L1.

Critical assets

DMS balances and any bridged representations; the runtime Wasm and its storage migrations; validator, session and operator keys; the DeFi, bridge, account-abstraction, paymaster, AI, PQC, ZK and identity pallets; public RPC, the indexer, dashboards and CI/CD; the signing UX in Eoonia.

Threats and controls

SurfaceThreatsRequired controlsIn place
Consensusfinality loss, equivocation, low participation, version skew, single operator/RPC, peer attacksvalidator audit script, decentralization dashboard and report, best/finalized lag and peer alerts, upgrade policy with rollback and try-runtimeScript and report: yes. Two validators: the single operator threat is the current state
Runtimeoverflow in balances/fees/rewards/rent, incomplete migrations, duplicate pallets or broken metadata, wrong weights enabling cheap DoS, partially applied signed extensionsbounded arithmetic, try-runtime, metadata diff per upgrade, benchmarked weights, extension format documentedBounded state since 215; weights hand-written, not measured; extension format documented since 7 Sep
Walletseed exposure, blind signing, stale metadata, wrong chain idencrypted import, decoded calls, metadata refresh per upgrade, RED.json for chain idYes, after the September audit
Bridgereplay, escrow mismatch, relayer compromisereplay protection, threat model, E2E testnet bridgeNot done; wrapped token on Sepolia has zero escrow and represents nothing
PQC/ZKclassical-signature fallback on sealed accounts, invalid proofs acceptedsealed accounts reject classical; Groth16 verified in runtimeSealing: yes. External PQC/ZK audit: not commissioned
Infrastructurehost compromise, leaked credentials, quota exhaustionincident playbooks, secrets in a manager, monitored databasesPlaybooks: yes. Two host compromises and one leaked key in 2026, all handled

The audits

The mainnet gate requires three external audits — DeFi (DEX, lending, vaults), PQC/ZK, and mobile (Eoonia, the apps) — with frozen scopes in AUDIT_SCOPE.md, zero critical or high findings open, and certificates published. None has been commissioned. A page on the official website that listed completed audits by named firms was removed in September 2026 because it was untrue. This model is the input to those audits, not a substitute for them.

Fuzzing and formal methods

Required: fuzz suites in CI for DEX, lending, bridge, ZK verifier and intents; formal verification of the AMM invariant x·y ≥ k with Kani. Status: partial fuzzing, no formal proof.

The security readiness matrix

SECURITY_READINESS_MATRIX.md tracks each control per pallet group. Read together with the gate, it says what this post says: the model is written, the cheap controls are in place, the expensive ones — external audits, measured weights, a real bridge — are not.

Raising the bar

The bar was raised in 2026 not by adding controls but by removing false claims: audits that never happened, hosts that never existed, validators that were template data. A threat model is only useful over an honest inventory, and the inventory is now honest.

Based on THREAT_MODEL.md (2026-05-29), SECURITY_READINESS_MATRIX.md, AUDIT_SCOPE.md and MAINNET_GATE.md Gate 1.

Share this article