Skip to main content

Integrity Verification

Integrity is not a feature. It is a mathematical property of the ledger.

Every Genesis X-1 ledger is a hash chain. Each event seals the prior event's hash into its own digest. Any modification to any event in the chain — payload, timestamp, actor, sequence — breaks every downstream hash. This is not a policy. It is arithmetic.

integrity.verified is returned with every event read. It reflects a server-side recomputation of the chain. You should verify it yourself for any compliance, legal, or audit context. Do not rely solely on the server's assertion.


What verified: true Means

verified: true means the server recomputed the hash chain across the returned event sequence and found no breaks. Specifically:

  • No stored hash mismatches its recomputed value
  • No broken link between successive events in the returned sequence

verified: true does not mean:

  • The business content of any event is factually true
  • The payloads are legally valid or commercially approved
  • The chain is complete — a filtered query returns a segment, not the full ledger

What verified: false Means

A verification failure means the server detected at least one of:

  • A stored hash that does not recompute correctly against its stored inputs
  • A broken prev_hash linkage between successive events

The response includes a machine-readable issues array identifying the specific event and failure type:

{
"integrity": {
"verified": false,
"issues": [
{
"event_id": "7ad7f8d7-76a1-49de-917f-0c5d5313da0b",
"type": "hash_mismatch",
"detail": "stored hash does not match recomputed hash"
}
]
}
}

A verification failure is a protocol-level event. Treat it as a verification failure, log it, and escalate before making any downstream trust decision.


Independent Verification

The server's verified: true is a convenience. Independent verification requires no server trust.

Given the raw events returned by GET /ledgers/{id}/events, any party can recompute the chain locally:

import hashlib, json

def verify_chain(events: list) -> bool:
for i, event in enumerate(events):
expected_prev = '' if i == 0 else events[i - 1]['hash']
if event['prev_hash'] != expected_prev:
return False
return True

For actor signature verification (Layer A), fetch the actor's enrolled public key via GET /resolve/iaex:actor:{actor_id} and verify against the stored actor_sig and actor_sig_payload fields. No server involvement required after the initial fetch.


What Integrity Certifies

CertifiedNot Certified
Record is unmodified since appendFactual correctness of payload content
Event sequence is correctCommercial fairness of the transaction
Actor attribution is intactLegal enforceability of off-platform claims
Tamper detection is activePhysical-world truth of asserted facts

Genesis X-1 certifies record integrity, attribution, ordering, and tamper detection.

It does not certify truth.


For Auditors and Regulators

An event chain with verified: true and valid actor signatures on every event constitutes:

  • A tamper-evident record that no party can unilaterally alter after the fact
  • Non-repudiation for every actor-signed event — the signing actor cannot deny having submitted it
  • A causal history where events referencing prior hashes form a mathematically sealed sequence

This makes Genesis X-1 event chains suitable as evidence in commercial disputes, regulatory investigations, and compliance audits — without requiring cooperation from any other party to produce the record.