Skip to content

v0.7.0 — sigop fix + corrected CUDA (METHOD_ID re-baseline 36a0415d)

Choose a tag to compare

@defenwycke defenwycke released this 24 Jul 21:41

v0.7.0 — sigop-count fix + corrected CUDA binary (METHOD_ID re-baseline)

⚠️ NEW canonical METHOD_ID: 36a0415d5763ed62e71c44915d36caa34ae840cfd1051587bce1de27be0dd7f5 (was 601d7ca2…). Proofs made against 601d7ca2 (v0.6.x) do not verify against this guest — the board is being re-proven on the new guest. See reproduce/METHOD_ID.

What changed

  • Consensus fix (guest, changes METHOD_ID): P2SH sigop over-count. tx_full_sigops now guards the P2SH redeemScript sigop count with IsPayToScriptHash(), matching Core's GetP2SHSigOpCount. The previous code over-counted every non-P2SH (legacy) input and could reject a Core-valid block near the sigop limit. Reject-valid only — never accept-invalid. (Issue #1 / PR #4.)
  • Prover reliability (host): the risc0 4.0.5 segment-boundary retry, now on ALL prove paths. HAZYNC_SEG_PO2 segment-limit + 20→19→18 retry is applied to every zkVM prove path (single-block, fold, chunk, aggregate, replay, IVC, snark), guarded by a CI gate. Both binaries below carry it — including the CUDA binary, which in v0.6.x still panicked on ~10% of workloads.

Assets (both built reproducibly at 36a0415d)

  • hazync-host-x86_64-linux-gnu — CPU build. glibc 2.39 (Ubuntu 24.04+).
  • hazync-host-x86_64-linux-gnu-cuda — CUDA build (L40S/CUDA 12.6), the corrected GPU binary.

Verify

SHA256SUMS.txt is PGP-signed by the maintainer key (fingerprint 777FE81F8CC077FD3D08055E852C2B3190F5B928). Build reproducibly and confirm the id: docker build -f reproduce/Dockerfile -t hazync-repro . && docker run --rm hazync-repro must print 36a0415d….