Port to whir PR #215 + PR #217 with Skyscraper HashEngine#288
Open
Port to whir PR #215 + PR #217 with Skyscraper HashEngine#288
Conversation
Replace IOPattern-based transcript with whir's DomainSeparator/ProverState/ VerifierState API (rev 246dae28). Update spongefish to v1.0.0-rc1 with byte-oriented Permutation<64> interface. Proof now carries narg_string + hints instead of a single transcript blob. Key changes: - Sponge: Permutation<64> with U=u8, WIDTH=64, RATE=32 - PoW: PoWSolution return type, solution() method - Prover: config.commit()/config.prove() replacing CommitmentWriter/Prover - Verifier: config.receive_commitment()/config.verify() replacing readers - Public weights use Weights::geometric (non-deferred) on both sides - Cross-evaluation hints for dual-commitment path - NTT registration via global type-map for ark_bn254::Fr - Clippy clean on prover/verifier crates
Propagate whir's debug_assertions transcript pattern through WhirR1CSProof so in-process prove→verify (bench tests) passes in debug builds. Add register_ntt() call in bench tests. Point whir to 22efa1b2 (px/reduce-tracing-noise branch).
Replace ark-crypto-primitives-based SkyscraperCRH/SkyscraperMerkleConfig with a whir HashEngine implementation that registers Skyscraper for leaf hashing, internal nodes, and proof-of-work. Uses block4 NEON SIMD on aarch64 for batched compression, with a stack-allocated pair buffer to avoid heap allocation in the hot path.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ports provekit to whir's PR #215 transcript API and PR #217 Weights trait. Restores Skyscraper as Merkle hash via whir HashEngine.
Changes
IOPattern→DomainSeparator/ProverState/VerifierState. Spongefish v1.0.0-rc1 (byte-oriented).Weightsenum →Covector<F>+dyn Weights<F>trait objects.HashEnginewith NEON SIMD batched compression.release-fastprofile, jemalloc, reduced tracing noise.SumcheckIOPattern,WitnessIOPattern,witness_io_pattern.rs.Tested
Prepare → Prove → Verify on
complete_age_check.