Forge Ecosystem Proof of Space-Time

Prove continuous storage over time by answering periodic space-time challenges. ForgeMiner operators earn ZKP-216 SFD streak rewards for sustained, verifiable storage.

Current Runtime

Live application state and user actions are enforced by the Express service and its PostgreSQL database. The Solidity contracts deployed to Sepolia are reference implementations, not the live runtime execution path.

Space-Time Challenges

The protocol issues Proof-of-Space-Time challenges every 1,000 blocks. Each challenge selects one or more storage chunks from a ForgeMiner's 1,024-chunk commitment and requires the operator to submit a valid Poseidon Merkle proof within 369 blocks (the proof deadline). Challenges are generated with a CSPRNG seed bound to the current block height and the NFT's storage commitment, making them unpredictable and non-replayable.

Streak Rewards

Successfully answering consecutive challenges without a miss builds a streak. Longer streaks earn higher reward multipliers on the base SFD payout. Missing a challenge breaks the streak and resets the multiplier to the base level. The automated slash mechanism (running at block checkpoints) detects overdue proofs, increments the strike counter, and ejects validators with three accumulated strikes.

ZK Proof Verification

Space-time proofs are verified using real Groth16 zk-SNARK circuits (snarkjs + Poseidon-1 on BN254) when proof artifacts are available, with a Schnorr–Fiat-Shamir fallback. The ZK circuit confirms that the operator knows the preimage for the challenged chunk's Merkle leaf without revealing the raw chunk data. Proof verification runs server-side; submitted proof bundles that fail verification are rejected and may contribute to the strike count.

Validator Statistics and History

The Proof of Space-Time dashboard shows your current streak, total challenges answered, lifetime SFD earned, and a paginated challenge history. Per-wallet statistics and history are private: the full view requires a wallet-owner signature scoped to the PoSp stats read action. Public views show only aggregate participation metrics without linking activity to a specific wallet.