v0.7.0 — sigop fix + corrected CUDA (METHOD_ID re-baseline 36a0415d)
v0.7.0 — sigop-count fix + corrected CUDA binary (METHOD_ID re-baseline)
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_sigopsnow guards the P2SH redeemScript sigop count withIsPayToScriptHash(), matching Core'sGetP2SHSigOpCount. 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_PO2segment-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….