Compute Receipts

Understanding cryptographic proofs of computation

What is a Compute Receipt?

A compute receipt is a cryptographic proof that a specific computation was performed correctly. It contains all the information needed to verify the result without re-executing the computation.

Receipt Structure

interface ComputeReceipt {
  // Job identification
  job_id: string;
  timestamp: number;
  
  // Input/Output hashes
  input_hash: string;
  output_hash: string;
  
  // Execution metadata
  executor_id: string;
  execution_time_ms: number;
  
  // Cryptographic proof
  proof: {
    type: "zk-snark" | "attestation";
    data: string;
    signature: string;
  };
  
  // Validator attestations
  attestations: Attestation[];
}

Verification Process

  1. 1Verify the cryptographic proof matches the stated computation
  2. 2Check that sufficient validator attestations are present
  3. 3Validate all signatures against known validator public keys
  4. 4Confirm the receipt has been anchored to the consensus layer

Receipt Types

ZK-SNARK Proofs

Zero-knowledge proofs that verify computation without revealing inputs. Highest security but computationally expensive to generate.

Attestation-Based

Multiple validators independently execute and attest to results. Faster but requires trust in validator set honesty.