🧠 System Architecture
Components
Kaspa L1
Network: UTXO-based Kaspa mainnet/testnet.
Assets: KRC-20 inscriptions (tokens encoded in transactions).
Deposit Mechanism: Uses the
EXTRAlink blob to encode bridge metadata.Finality: Bridge logic waits for sufficient confirmations before acting.
Kasplex EVM L2
Network: EVM-compatible based rollup on Kaspa.
Assets: ERC-20 equivalents of bridged KRC-20s.
Bridge Contract: Mint/burn contract, accepts threshold deposit attestations from relayers.
Transparency: Contract address and ABI published in Transparency & Audits.
Relayer Set (5 Independent Servers)
Deployment: Five relayers run in separate datacenters, providers, and geographies.
Operators: Each is managed by a distinct individual; no shared administrative domain.
Autonomy: Relayers do not rely on each other to function; each observes the chains and contributes signatures independently.
Responsibility:
Monitor both Kaspa L1 and Kasplex L2 via custom chain listeners.
Validate bridge events after block confirmations.
Generate partial FROST signatures for deposits/withdrawals.
Isolation: Each relayer stores its state in its own Postgres instance; enabling duplication, decentralized verification, and improved disaster response.
Coordinator Application
Role: Collects partial FROST signatures from relayers and assembles the final group signature.
Deployment: Runs on a separate system from the five relayers, with its own operators and safeguards.
Function:
Enforces nonce commitments and binding factors (to prevent rogue key attacks).
Rejects incomplete or inconsistent rounds.
Submits only valid group signatures to the appropriate chain / contract.
Custom Chain Listeners
Kaspa Listener: Observes L1 for KRC-20 inscriptions with the bridge’s
EXTRAblob. Emits standardized events after N confirmations.EVM Listener: Observes L2 for ERC-20 bridge contract burn events. Emits standardized events after M block confirmations.
Design: Written in-house for efficiency, auditability, and fine-grained control.
Output: Events flow directly into relayers, bypassing third-party indexers.
Postgres Databases
Schema: Track deposits, withdrawals, signature shares, nonces, and health status.
Isolation: Each relayer has its own Postgres instance (no replication or central DB).
Verification: Each database instance in the logic flow is regularly validated against on chain data for consistency and security by an independent worker service.
Durability: Implemented with WAL + backups per service operator policy.
Component Diagram
Invariants & Assumptions
Independent Operators: No single entity controls >1 relayer.
Finality: Only confirmed events on chain are processed.
No Shared Secrets: Each relayer holds only its FROST share.
Coordinator Independence: Coordinator cannot forge signatures; it only assembles valid shares.
Replay Protection: Each bridge request has a unique nonce; duplicates are invalid.
Transparency: All contract addresses, ABI definitions, and signer commitments are public.