Rivellum

Rivellum Portal

Download Wallet (Chrome)
Checking...
mainnet

Security Threat Model

Attack Surface

1. Network Layer

ThreatMitigation
Intent spam / DoSPer-account and per-IP rate limiting; admission pool backpressure (429 response when queues full)
Replay attacksPer-account monotonic nonce; duplicate envelope ID rejection
Eclipse attacksPeer diversity requirements; authenticated peer connections
Bandwidth exhaustionMaximum body sizes (1 MB per envelope); batch size limits

2. Consensus Layer

ThreatMitigation
Byzantine leaderView change protocol triggers on timeout; new leader elected from highest QC
EquivocationAurora BFT safety rules prevent voting for conflicting proposals
Long-range attacksFinality is immediate (no reorgs); no fork choice needed
Validator collusionBFT tolerates <1/3 Byzantine per committee; committee isolation limits blast radius

3. Execution Layer

ThreatMitigation
MEV / front-runningEncrypted batch ingress — payloads encrypted until committee decrypts for execution
ReentrancyMove VM type system prevents reentrancy by design
Gas exhaustionPer-intent gas limit; gas metering in Move VM
State bloatFee-based storage pricing; pruning capabilities

4. Cross-Lane (CPC)

ThreatMitigation
Double-creditNullifier check — each CreditReceipt can only be applied once
Orphaned debitsTimeout and reclaim mechanism
Cross-epoch replayEpoch binding in CommitCert prevents receipt reuse across epochs
Forged CommitCertRequires >2/3 quorum signatures; committee verification

5. Cryptographic

ThreatMitigation
Quantum attacksCRYSTALS-Dilithium3 (NIST Level 3) for all signatures; ML-KEM-768 for encryption
Key compromiseSession key policies limit blast radius (contract allowlists, gas caps, expiration)
Hash collisionsBLAKE3 (256-bit, collision-resistant); Poseidon for ZK circuits

Rate Limits

The admission pool enforces configurable rate limits:

  • Per-account: Maximum intents per time window
  • Per-IP: Maximum connections and submissions per IP
  • Global: Maximum admission pool depth; backpressure (HTTP 429) when exceeded
  • Body size: 1 MB maximum per envelope submission

Vulnerability Reporting

Security vulnerabilities should be reported through responsible disclosure. Do not open public issues for security bugs.

Asset Constraints

The constraint engine supports:

FeatureDescription
Asset freezeGuardian can freeze a specific asset via EmergencyFreeze governance action
Contract pauseHalt execution of a specific contract
Preflight checkPOST /v1/constraints/preflight validates an intent against active constraints before submission

Constraint API

EndpointDescription
GET /v1/constraints/queryQuery active constraints
GET /v1/constraints/status/:asset_idCheck if an asset is frozen
POST /v1/constraints/preflightValidate intent against constraints
GET /v1/constraints/policy/:policy_idGet constraint policy details

Compliance

EndpointDescription
POST /v1/compliance/audit_logQuery compliance audit log
POST /v1/compliance/exportExport compliance data
POST /v1/compliance/enterprise_reportGenerate enterprise compliance report

For the ZK privacy layer, see ZK Pipeline.