GhostShift

Epoch-fenced handoff audit desk

Tracks
  • security
  • swarms
  • agents
  • business
  • open

GET /api/verify · not run

NEAR Hackathon 2026 · Split-brain zombie wakeup

The zombie wakes up.The fence holds.

Worker A stalls, so worker B takes over the job at a higher epoch. When A wakes up and writes with its old epoch, an unfenced coordinator accepts it: B's result is overwritten and the bounty is paid twice. GhostShift rejects every write below the current epoch, on-chain.

  1. 01

    Epoch fencing + Yield & Resume

    The Rust contract bumps a u64 epoch on every takeover and parks settlement in promise_yield_create until the verifier calls promise_yield_resume.

  2. 02

    Scoped function-call keys

    Worker sub-accounts may call claim_lease, heartbeat, takeover_lease and submit_result. Transfers, AddKey and resume_verify are refused.

  3. 03

    Signed offline verifier fixture

    secp256k1 signature recovery binds the lease and nonce to a pinned fixture signer. Hardware attestation is not connected.

  4. 04

    NEAR Intents 1Click

    The winner's payout is priced as a dry: true cross-chain quote preview. No funds move.

Live Testnet Read + safe sandbox simulation

即時鏈上合約狀態讀取 + 瀏覽器安全沙盒模擬。Run judge check reads live RPC; scenario clicks replay the local engine without signing transactions.

ghostshift-v1-mwbxwes8.testnet

Live RPC state has not been checked in this page yet.

01

Seeded scenarios

One click = POST /api/simulate
02

Split-brain comparator

Epoch fence vs. unfenced coordinator

Running 01. Split-Brain Zombie Wakeup on the server

03

Primitive telemetry

Four NEAR primitives, one closed loop

fast-check PBT04

P1–P4 invariants & shrunken counterexample

  • P1Monotonic epoch, single holder—
  • P2Stale-epoch write immunity—
  • P3At-most-once payout, exact conservation—
  • P4Terminal finality, yield-timeout liveness—

Each of 200 seeded random action sequences is checked against P1–P4 after every step.

GET /api/verify runs runJudgeVerificationSuite(), the same function behind npm run verify:judge.