Inspiration Graph

2. Inspiration Graph: Technical Data Model

2.1 Graph Representation

The Inspiration Graph is formalized as a Directed Acyclic Graph (DAG):

G=(N,E)\mathcal{G} = (\mathcal{N}, \mathcal{E})
  • 𝓝 (Nodes) β†’ Canonical, unique representations of minted creative works.

    • Canonicalization β†’ Performed via Keccak-256 hashing of normalized metadata.

    • Identity = id = Keccak256(IPFS_CID || creatorAddress || timestamp)

  • 𝓔 (Edges) β†’ Directed inspiration links:

ejβ†’i∈E:Ijβ†’Iie_{j \to i} \in \mathcal{E} : I_j \to I_i
  • Each edge must be cryptographically provable via commitment to an onchain zk-SNARK proof.

  • Acyclic Constraint β†’ Cycles invalid β†’ enforced at verification level to prevent infinite recursive payouts.


2.2 Node Metadata Schema (EVM-Indexed)

Solidity-Friendly Metadata Schema (Struct):

struct InspirationNode {
    bytes32 id;                // keccak256(IPFS || creator || timestamp)
    address creator;           // EOA or contract
    bytes32 parent;            // Parent node hash (0x0 for originals)
    uint8 depth;               // Depth in DAG
    bytes32 proofHash;         // Commitment to zkProof onchain/offchain
    bool declaredInspiration;  // Explicit declaration
    uint16 royaltyShareBP;     // Basis points (e.g., 500 = 5%)
    uint256 timestamp;         // Unix epoch
}
  • Gas Optimizations: uint8, uint16, and packing for efficient storage.

  • Canonicalization Contract β†’ Optional pre-deployment content integrity check.


2.3 Proof Integrity and Verification System

a) zkProof System Design

  • proofHash β†’ SHA256 commitment of zkSNARK output.

  • zk Circuit β†’ Takes as inputs:

β†’ Computes a proof of derivation where:

  1. parent_hash β†’ Keccak256 of parent content

  2. child_CID β†’ IPFS CID (content address)

  3. salt β†’ Random nonce for uniqueness in commitments

Zero-Knowledge Privacy β†’ The content of derivation is hidden; only the proof verifies cryptographically that derivation took place from parent to child.


b) Advanced zkML Proofs (Future Planned)

  • zkML Integration (WIP) β†’ Use zkSNARKs to encode style similarity or content feature extraction.

    • Example circuits β†’ ResNet embeddings, audio fingerprints, or text semantic embeddings.

    • Prove β€œinspiration proximity” in latent feature spaces without revealing actual embeddings.

Input β†’ Embedding(child) - Embedding(parent) β†’ zk circuit β†’ ≀ threshold β†’ Proof

c) Onchain Verification Pipeline:

1. submitProof(bytes calldata proof, bytes32 parent, bytes32 child)
2. zkVerifier.verify(proof, parent, child) β†’ returns (bool)
3. emit InspirationProven(child, parent, msg.sender)
  • Verifier Contract β†’ Modular, supports circuit upgrades.

  • Proof Hash Storage β†’ Immutable commitment β†’ protects against forgery or post-hoc manipulation.


Last updated