HERON COLLAPSE

Provenance

The data and the steps to check that every token comes from the measured pool and was assigned by the rule committed before the mint.

Published data

Collection9fSzHfJa1XaiJnbdRhzjfPeqbBxbWu9NXvKdcXDt9ZPR
Pool hash62d7157814c447df8349484fcd7a5eb27ccf3a6635372d705c31097dd784eeef
Salt hashba6bfdd6ca9390fe9121be6748158dfff9ab2dcf069f765682f0a02bb25f39ef
Salt8f1cdca667555633a1148b5036de792c3d475232ff308aca137e50de485f03b9
https://gateway.irys.xyz/cDJd7GUz67a2UfN9P4WLtM85VKHhAt0UFA2A5pzeJFk
Source archivehttps://arweave.net/VoAzbmaX1ULZJKeQs3oA06QQp12rt6dfhrxJu9av-IU
SHA-256 177753a1435207ea77d051f7e6859f3bbf9f4b986d5afe0421a5e86df3088fc8
SVG archivehttps://arweave.net/qhtEBnUMzTHLvWXzJ4PowqzREh-sz62QzcJuemJu-zQ
SHA-256 c753e481fd7dcb4dbb101038e86ab9ed7c897e78c214c41dd338f0e3ded4486b

Measurement

3 jobs on IBM Heron r2 processors, run before the mint opened.

BackendCircuitShotsIBM job ID
ibm_marrakeshuniform1,408dag1nk1hvn6c73cq0h3g
ibm_fezuniform512dag1nj8mhr3c73e4hskg
ibm_marrakeshbell156dag1npfi3e6s738lqf6g

The pool hash is the SHA-256 over the ordered raw registers: uniform circuits first, ibm_marrakesh then ibm_fez, then the Bell circuit; each job's shots in the order the hardware returned them.

Trait code

SHA-256 of the files that turn measured bits into traits, recorded before any hardware job was submitted. The same values are in PROVENANCE.md in the source archive.

FileSHA-256
entropy/analyze_pool.py07b31709df629ede2103f6f3c904604c99d8e220e102eea71d43054c94b85457
entropy/collect_pending.py223a8c29e410c48a9226027e3efbf935a3fa705242fc47ca23cd26215fe53963
entropy/generate_pool.py0cc8684037251e2092f6a6b9e40542c6acc10bbfbd62ccd5e35fbc781f22945c
entropy/pool.py8fad41477e2637f87e95624621bc376ff28a53a78885a8b8f34c71927a7b0477
entropy/traits.pycdb6fe39fedf70ee30329c9f71615c0c4a2076bf53c6b41a09e10e205dfacd8d

Hardware statistics

Bias of the uniform jobs. Min-entropy is summed over the 156 qubits; the worst qubit is the one furthest from p(1) = 0.5.

BackendShotsmean p(1) min-entropyWorst qubit
ibm_marrakesh1,4080.5057145.9 / 156q82 at 0.0582
ibm_fez5120.5012147.1 / 156q72 at 0.6230

How to verify

  1. Code and pool. Download the source archive and check its SHA-256. Unpack it and run python verify.py; it needs only the Python standard library. It checks the trait code against the hashes in PROVENANCE.md, recomputes the pool hash from the three measurement files, and re-renders all 2,048 registers, comparing each SVG with svg-sha256.json.
  2. Commitment. The pool hash and the salt hash are the pool_sha256 and salt_sha256 attributes of the collection account, written when the collection was created, before the mint opened.
  3. One token. Its metadata carries pool_position and svg_sha256. Run python verify.py --position N with that position; the computed hash must equal svg_sha256.
  4. Assignment. The SHA-256 of the published salt must equal salt_sha256. With chain/binding.mjs from the source archive and Node.js, derivePermutation(salt, 2048)[N] is the pool position of the token whose mint index is N (Heron Collapse #0007 has N = 7), and must equal its pool_position. The salt file also lists all 2,048 positions.

Not verifiable. That the measurement came from IBM hardware. IBM jobs are visible only to the account that ran them; the hashes prove the pool was not altered after it was committed and that every artwork follows from it, not where the randomness came from.