Skip to content

Security Model

The proofs and contracts deliberately verify different parts of the system.

Proof guarantees

  • Settlement proves Kimchi validity and extracts a Zeko state transition.
  • A deposit bridge proof proves the deterministic transformation from supplied deposits to an Ethereum accumulator and Zeko action state.
  • A withdrawal proof proves the deterministic transformation from supplied withdrawals to an accumulator and Zeko action state.

SP1 verification does not prove that arbitrary off-chain inputs originated from Ethereum or Zeko. Contract-side continuity checks provide that binding.

Contract guarantees

ZekoSettlement.sol binds settlement outputs to Ethereum's stored root, verification-key hash, configured action state, and SP1 program verification key.

EthereumZekoBridge.sol binds deposit transitions to the deposit accumulator recorded on Ethereum. It accepts withdrawal transitions only between consecutive settlement-recorded action checkpoints.

Administrative trust

Administrative roles can:

  • change settlement verification-key and action-state parameters
  • configure bridge tokens
  • pause the bridge
  • perform emergency withdrawals
  • authorize implementation upgrades

Both contracts are UUPS implementations and must be deployed behind ERC1967Proxy proxies. PROVER_ROLE can submit proofs, while ADMIN_ROLE and UPGRADER_ROLE control administration and upgrades.

Deposit action-state limitation

Deposit transition acceptance currently does not require a settlement-recorded Zeko action-state checkpoint. Consumers must not interpret a BridgeTransitionAccepted event alone as proof that Zeko consumed the actions.

Proof-powered settlement and bridging between Zeko and Ethereum.