RandProofRandProof
Whitepaper

6. RandProof Network: Architecture Overview

RandProof Network is a standalone, permissionless, decentralized keeper protocol implementing the PoFR standard across 17+ blockchain networks. BIT505

6.1 What RandProof Network Is

RandProof Network is a standalone, permissionless, decentralized keeper protocol implementing the PoFR standard across 17+ blockchain networks. BIT5050 is the genesis client, proving the protocol works at production scale across 17 chains.

6.2 Network Mission and Positioning

DimensionRandProof Network
MissionUniversal cryptographic fairness proof
Protocol standardPoFR™ (coined and owned)
Revenue model20% protocol fee from every PoFR event
Node operatorsAnyone who stakes earns 70% of fees
TokenNone, USDC or native assets
ClientsEnterprises, governments, DeFi, DAOs, gaming
Chains17+ (EVM + non-EVM)

6.3 Five-Layer Architecture

LayerComponentFunctionTrust Model
1: ApplicationIntegrating contractsEmit PoFR requests, receive outcomesSmart contract logic
2: CoordinationKeeperCoordinator.solStake registry, BLS verification, fee distributionImmutable on-chain
3: RandomnessRandProofRNG15-source entropy aggregation, BLS threshold signingCryptographic
4: AutomationRandProofKeeperEvent detection, signing, fulfillmentEconomic incentives
5: ComputationRandProofComputeOff-chain computation with on-chain proofMulti-keeper consensus

6.4 PoFR Event Lifecycle

Contract emits DrawRequest(eventId)

Keepers detect event via RPC WebSocket

Each keeper fetches all 15 entropy sources: DRAND round, NIST beacon, chain-native VRF, commit-reveal XOR, block timestamp, Ethereum RANDAO, Bitcoin Merkle root, multi-chain block hashes, ANU QRNG, Tor consensus hash, BABE VRF, drand Quicknet, RandProofVRF, Autonomous Beacon, and Epoch Entropy Pool

Each keeper computes M = keccak256(eventId || drandRound || **nistBeaconValue ||** blockVRF || **block.timestamp**)

Keepers generate BLS partial signatures σ_i

First keeper with t=3 signatures aggregates: σ_agg = σ_1 + σ_2 + σ_3

Keeper calls KeeperCoordinator.fulfill(eventId, entropyInputs[15], entropyBlock, σ_agg, signers[])

Coordinator verifies BLS aggregate on-chain (BN254 pairing) against M = keccak256(abi.encode(chainId, address(this), eventId, entropyInputs[0..14], entropyBlock))

Coordinator verifies on-chain entropy sources (Layer 1): DRAND BLS sig, PREVRANDAO opcode, block.timestamp, RandProofVRF, Autonomous Beacon VDF, EpochPool contract

Coordinator verifies multi-keeper attestation (Layer 2): at least 2 independent keepers submitted matching values for off-chain sources

24-hour challenge window (~43,200 blocks on Base) opens (Layer 3): any keeper or observer can submit fraud proofs for unverifiable sources

If no fraud proof after 10 blocks: Coordinator calls back IntegratingContract.fulfillRandomness(eventId, seed)

Coordinator calls back: IntegratingContract.fulfillRandomness(eventId, seed)

Contract computes outcome = uint256(seed) % totalEntrants

Coordinator distributes fees: 70% to keepers, 20% to treasury, 10% to gas pool

RandProof stored on-chain, permanent, public, verifiable

No Centralized Path: No party can control, delay, or influence outcomes. No admin key on fulfill(). Four-layer entropy verification ensures submitted values are independently verifiable, not just signed by 3 keepers. Fraud-proof challenge window allows any observer to invalidate fabricated entropy.

On this page