From c35f497776bdbb1ec12b8c1cad702212b563d6ea Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Mon, 17 Aug 2026 16:25:40 +0100 Subject: [PATCH 01/30] fix: derive guest input root from processed ciphertexts --- .github/workflows/ci.yml | 19 ++ .gitignore | 4 + .husky/pre-push | 2 + BRANCH-NOTES.md | 104 +++++++++++ Cargo.lock | 5 +- agent/INVARIANTS.md | 34 +++- agent/flow-trace/04_DKG_AND_COMPUTATION.md | 38 ++++ crates/compute-provider/Cargo.toml | 7 +- crates/compute-provider/src/compute_input.rs | 108 +++++++++-- .../compute-provider/src/compute_manager.rs | 109 +----------- .../src/merkle_tree_builder.rs | 6 + crates/support-scripts/dev/src/main.rs | 3 +- crates/support/Dockerfile | 2 +- crates/support/contracts/ImageID.stamp.json | 21 +++ crates/support/methods/build.rs | 16 +- crates/support/tests/Elf.sol | 24 --- .../threshold/user_data_encryption/utils.rs | 73 ++++++-- crates/zk-helpers/src/utils.rs | 6 + docs/pages/tutorials/write-e3-program.mdx | 49 +++-- package.json | 2 + scripts/check-image-id.sh | 167 ++++++++++++++++++ templates/default/Cargo.lock | 1 - 22 files changed, 625 insertions(+), 175 deletions(-) create mode 100644 BRANCH-NOTES.md create mode 100644 crates/support/contracts/ImageID.stamp.json delete mode 100644 crates/support/tests/Elf.sol create mode 100755 scripts/check-image-id.sh diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d211e26d8e..95398e740c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -281,6 +281,20 @@ jobs: - name: Run ZK Prover Integration Tests (with network downloads) run: 'cargo test -p e3-zk-prover --features integration-tests --test integration_tests -- --nocapture' + # Guards the RISC Zero guest artifact. The on-chain imageId is immutable, so a guest change + # that leaves ImageID.sol untouched ships a verifier that no longer matches this tree. + check_image_id: + timeout-minutes: 10 + runs-on: 'ubuntu-latest' + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + with: + # The pin-ancestry check reads history, so a shallow clone is not enough. + fetch-depth: 0 + + - name: Check guest pins, toolchain, and image ID drift + run: ./scripts/check-image-id.sh + build_e3_support_risc0: needs: [detect_changes] if: needs.detect_changes.outputs.docker_support == 'true' @@ -941,6 +955,11 @@ jobs: - name: Build circuits run: pnpm build:circuits + # The generated verifier contracts must match the freshly built verification keys. A drift + # means the deployed verifier accepts a different circuit from the one in this tree. + - name: Check generated verifiers are in sync + run: pnpm check:verifiers + - name: Upload compiled circuit artifacts uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 with: diff --git a/.gitignore b/.gitignore index eb04b88b84..62c899d4c4 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,7 @@ __pycache__/ # circuit benchmarks circuits/benchmarks/results_*/raw/ + +# Generated by crates/support/methods/build.rs. Holds a machine-local guest ELF path, +# so it is never committed. +crates/support/tests/Elf.sol diff --git a/.husky/pre-push b/.husky/pre-push index c0c9733c5e..a9c723051f 100644 --- a/.husky/pre-push +++ b/.husky/pre-push @@ -6,3 +6,5 @@ pnpm check:license pnpm check:committee pnpm check:docs pnpm check:invariants +pnpm check:image-id +pnpm check:verifiers diff --git a/BRANCH-NOTES.md b/BRANCH-NOTES.md new file mode 100644 index 0000000000..5e0f817e2c --- /dev/null +++ b/BRANCH-NOTES.md @@ -0,0 +1,104 @@ +# Branch notes — compute input binding and guest provenance + +Working notes for `fix/compute-input-binding-and-provenance`. Delete this file before merge, or move +its content into the pull request description. + +## What this branch changes + +### Security + +| Finding | Change | Test | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | +| Guest proved the input root and the computation over unrelated input sets | `ComputeInput` holds only `fhe_inputs`; `process` derives the leaves from the ciphertexts it processed. `with_leaf_hashes` is now `#[cfg(test)]`. | `compute_input::tests` (2 tests) | +| SAFE commitment ignored components beyond `c[1]` | `bfv_ciphertext_to_greco` rejects any component count other than two. | `ciphertext_with_more_than_two_components_is_rejected` | +| CRISP never bound the emitted ciphertext bytes to the stored commitment | **Not fixed. See "Open decision" below.** | — | + +`ComputeManager::start_parallel` is removed. It set the final leaves to sub-tree roots, which is +incompatible with deriving leaves from ciphertexts, and it produced a tree of sub-tree roots rather +than the flat input root an E3 program compares against. Every call site passed +`use_parallel = false`, so the path was unreachable. `ComputeManager::new` loses its `use_parallel` +and `batch_size` parameters. + +### Build and provenance + +- `crates/support/Dockerfile`: `ARG RISC0_TOOLCHAIN` `1.88.0` → `1.91.1`. The old value could not + build the guest at all — the guest lockfile pins fhe.rs `f2c1d22`, whose workspace declares + `rust-version = "1.91.1"`. +- `crates/support/methods/build.rs`: `RISC0_USE_DOCKER` is read for its value, not its presence, so + `RISC0_USE_DOCKER=0` no longer selects the Docker build. +- `crates/support/tests/Elf.sol`: untracked and `.gitignore`d. It held a machine-local absolute path + (`/home/ace/...`) and nothing consumes it. +- `docs/pages/tutorials/write-e3-program.mdx`: the journal example moved from the stale four-field + 528-byte layout to the current nine-field 1,188-byte layout, and now states that an E3 program + must compare the input root itself. +- New `pnpm check:image-id` (`scripts/check-image-id.sh`), wired into `.husky/pre-push` and a new + `check_image_id` CI job. +- New `pnpm check:verifiers`, wired into pre-push and the `build_circuits` CI job. + +## Blocker: the guest still runs the old code + +**The leaf-derivation fix does not reach the deployed guest on this branch.** + +`crates/support` is a separate Cargo workspace, excluded from the root workspace on purpose +(`Cargo.toml:53` — "client needs to be able to build crates/support independently"). It consumes +`e3-compute-provider` through a git pin to a **remote** revision: + +- `crates/support/Cargo.toml:45` +- `crates/support/methods/guest/Cargo.toml:16` + +Both name `c2097da61b4d07c4ce83840393ff4e9f171eefb4`. So the guest compiles the published crate at +that revision, not the tree. Changing `crates/compute-provider` locally has no effect on the guest +until the pin moves, and the pin can only move to a pushed commit. + +That pinned revision is already behind main in a second way: `crates/compute-provider` at `c2097da6` +computes the Merkle depth as `ceil(log2(n))`, without the `.max(1)` that main added. +`one_zero_leaf_matches_solidity_lazy_imt` documents that the minimum depth of one is what matches +the Solidity LazyIMT. + +`crates/support/host/src/lib.rs` therefore still calls the **five-argument** `ComputeManager::new`, +because that is the signature at the pinned revision. It is deliberately left alone. + +### Sequence to finish the fix + +1. Review and merge this branch. +2. Push, then bump both pins to the merge commit. +3. Update the two `ComputeManager::new` call sites in `crates/support/host/src/lib.rs` to the + three-argument signature. +4. Rebuild the guest: `./scripts/check-image-id.sh --rebuild`. +5. Commit the regenerated `crates/support/contracts/ImageID.sol`, refresh + `crates/support/contracts/ImageID.stamp.json`, and set `imageIdVerified` to `true`. +6. Redeploy `Risc0BfvCiphertextVerifier` — `imageId` is immutable — and every E3 program that stores + its own image ID. + +## The image ID is stale, and the stamp does not hide it + +`crates/support/contracts/ImageID.sol` last changed on 2026-06-23 in `8b81f51c`. The guest and the +journal types changed on 2026-08-06 in `f716d933b` and again on 2026-08-13 in `02ebe4589`. The first +of those replaced a four-field result with the nine-field domain-separated journal. The committed +image ID almost certainly does not correspond to the current tree. + +`ImageID.stamp.json` starts the drift ratchet from the current tree so future guest changes are +caught, and carries `"imageIdVerified": false` with the reason. `check:image-id` prints a warning +whenever that flag is false, so a green check is not read as a verified artifact. Only `--rebuild` +clears it, and that is blocked on the pin bump above. + +## Open decision: Finding 3, CRISP vote bytes + +`CRISPProgram.publishInput` decodes `encryptedVote` and emits it in `InputPublished`, but never +binds those bytes to `encryptedVoteCommitment`. The commitment is a SAFE/Poseidon value over the +ciphertext's CRT limbs, so the contract cannot recompute it from the serialized bytes — there is no +on-chain fix. + +Before this branch, a compute provider could route around a mismatched input by supplying the +genuine on-chain leaves while processing only the well-formed ciphertexts. **That escape hatch was +the leaf-derivation defect, and this branch closes it.** With leaves derived from the consumed +ciphertexts, one malformed input makes the round permanently unresolvable: the prover cannot +reproduce the on-chain root, and the failure bills the requester as a `ComputeTimeout`. + +Any address in the public census can trigger this for the price of one input transaction. The +mask-vote branch of `circuits/bin/crisp/src/main.nr` asserts only `valid_zero_vote`; the signature +and address checks sit in the `is_mask_vote == false` branch. + +**This must be resolved before the pin bump in step 2 above.** Landing the leaf-derivation fix +without it trades a forgery vector for a denial-of-service vector. The options are in the +conversation; none of them is a small contract edit. diff --git a/Cargo.lock b/Cargo.lock index 9e7898598d..4e0157801c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3489,12 +3489,15 @@ dependencies = [ "ark-ff 0.4.2", "e3-bfv-client", "e3-fhe-params", + "fhe", + "fhe-traits", "hex", "lean-imt", "light-poseidon", "num-bigint 0.4.6", "num-traits", - "rayon", + "rand 0.9.2", + "rand_chacha 0.9.0", "serde", "sha3", "zk-kit-imt", diff --git a/agent/INVARIANTS.md b/agent/INVARIANTS.md index 53d5028c52..98b4c755bc 100644 --- a/agent/INVARIANTS.md +++ b/agent/INVARIANTS.md @@ -356,6 +356,22 @@ skip-proof feature containment (`pnpm check:invariants`, baselines in binds the chain, Interfold address, E3 ID, scheme ID, BFV parameter hash, committee public key, output hash, and SAFE commitment. The E3 program verifies application rules separately and cannot create a decryption duty by itself. — `flow-trace/04`; INDEX Z-15 +- **A Secure Process derives its input root; it never receives it.** `ComputeInput` holds only + `fhe_inputs`, and `ComputeInput::process` derives the leaves from the ciphertexts it processed. + The protocol verifier takes the input root from the proof envelope and does not constrain it, so + the E3 program's comparison against its own on-chain root is the only check — and that comparison + is worthless if the guest can be handed leaves that disagree with the ciphertexts it consumed. + Publication is unpermissioned and one-shot, with no dispute path, so any party could otherwise + publish a tally over ciphertexts that were never submitted. `MerkleTreeBuilder::with_leaf_hashes` + is `#[cfg(test)]` to keep it out of that path. — `flow-trace/04` +- **Every E3 program must compare the proof's input root against its own root.** + `Risc0BfvCiphertextVerifier` takes no `inputRoot` argument and constrains none. A program that + skips the comparison accepts a result computed over any input set. — `flow-trace/04` +- **The SAFE ciphertext commitment requires exactly two components.** It covers `c[0]` and `c[1]` + only, matching the Noir circuit, so `bfv_ciphertext_to_greco` rejects any other component count. A + padded ciphertext would otherwise share a commitment with its two-component prefix while threshold + decryption rejects it, failing the round as a `DecryptionTimeout` billed to the ciphernodes. — + `flow-trace/04` - **Client PK commitment binding (C-01):** serialized PK event bytes are an untrusted transport hint; indexers store the decoded key only when its recomputed commitment equals the on-chain (C5-proven) value. Proof-backed committee publication never accepts key bytes. Public-key @@ -438,7 +454,23 @@ skip-proof feature containment (`pnpm check:invariants`, baselines in - Committee four-file sync (above) — `scripts/check-committee.sh`, pre-push + CI. - **Never hand-edit generated files:** parity matrices, `utils.ts` H/T values, verifier contracts - (`generate-verifiers.ts` output), `.active-preset.json`. + (`generate-verifiers.ts` output), `.active-preset.json`, `crates/support/contracts/ImageID.sol`, + `crates/support/tests/Elf.sol`. +- **Generated verifiers must match the built VKs** — `pnpm check:verifiers`, pre-push + CI + (`build_circuits`). A drift means the deployed verifier accepts a different circuit from the tree. +- **A guest change must reach `ImageID.sol`** — `pnpm check:image-id`, pre-push + CI + (`check_image_id`). `Risc0BfvCiphertextVerifier.imageId` is immutable and names exactly one guest + image, so a guest change that leaves the image ID untouched ships a verifier that no longer + matches the tree. The gate asserts three things: every Interfold git pin the guest workspace reads + names one revision; the Dockerfile `RISC0_TOOLCHAIN` matches `rust-toolchain.toml` (the guest + builds the same dependency tree as the host, and the pinned fhe.rs declares that MSRV); and the + digest of the guest-affecting inputs matches `crates/support/contracts/ImageID.stamp.json`. The + stamp is a **drift ratchet, not a proof** — it shows the inputs are unchanged since the image ID + was recorded, never that the recorded value is the one those inputs produce. Only + `./scripts/check-image-id.sh --rebuild` shows that. A stamp carrying `"imageIdVerified": false` + has never been reproduced; treat its image ID as unverified. +- **`Elf.sol` is never committed.** `crates/support/methods/build.rs` writes it with a machine-local + guest ELF path, so it is generated per checkout and `.gitignore`d. - Upgradeable-contract storage baselines are committed and CI-gated (missing baselines, compiler drift, layout incompatibility, bad gap consumption all fail); baseline creation is an explicit maintainer command. — INDEX concern #27 diff --git a/agent/flow-trace/04_DKG_AND_COMPUTATION.md b/agent/flow-trace/04_DKG_AND_COMPUTATION.md index 89447c67c5..7392ecf360 100644 --- a/agent/flow-trace/04_DKG_AND_COMPUTATION.md +++ b/agent/flow-trace/04_DKG_AND_COMPUTATION.md @@ -813,6 +813,44 @@ smallest binary Poseidon tree that can hold the submitted SAFE ciphertext commit minimum depth of one. The compute provider and E3 program must use this same leaf value, order, zero value, and depth rule. +The guest derives the input root from the ciphertexts it processed. `ComputeInput` holds only +`fhe_inputs`, and `ComputeInput::process` calls `MerkleTreeBuilder::compute_leaf_hashes` over those +ciphertexts before it builds the tree (`crates/compute-provider/src/compute_input.rs`). The leaves +are therefore a function of the processed set, not a separate prover-supplied value. + +This binding matters because nothing else supplies it. `Risc0BfvCiphertextVerifier` takes the input +root from the proof envelope and never constrains it, so the only check on the root is the +comparison an E3 program performs against its own on-chain root (`CRISPProgram.verify`, +`MyProgram.verify`). If the guest accepted the leaves as an independent input, that comparison would +pass for a tally computed over ciphertexts that were never submitted: a prover would replay the +genuine on-chain leaves while processing its own ciphertexts. Publication is unpermissioned +(`Interfold.publishCiphertextOutput` has no authorization modifier) and one-shot, so any party could +do this, and no dispute path exists. + +Two rules follow for anyone changing this path: + +- **An E3 program must compare the proof's input root against its own root.** The protocol verifier + will not do it. +- **A Secure Process must derive its leaves, never receive them.** + `MerkleTreeBuilder::with_leaf_hashes` is `#[cfg(test)]` for that reason. + +`ComputeManager` proves the whole input set in one guest run. The former `start_parallel` path +proved per chunk and set the final leaves to sub-tree roots, which produced a tree of sub-tree roots +rather than the flat input root an E3 program compares against. It was unreachable — every call site +passed `use_parallel = false` — and it is removed. Restoring batching requires first defining what a +leaf means on that path. + +### Ciphertext component count + +The SAFE ciphertext commitment covers `c[0]` and `c[1]` only, matching the Noir circuit. +`bfv_ciphertext_to_greco` rejects any ciphertext whose component count is not exactly two +(`crates/zk-helpers/src/circuits/threshold/user_data_encryption/utils.rs`). Without that check a +ciphertext padded with a third polynomial commits to the same value as its two-component prefix, so +the input root and the output commitment stay identical while threshold decryption rejects the +padded output — `ShareManager` requires exactly two components. The round would then fail as a +`DecryptionTimeout`, which `FailurePayerLib` bills to the ciphernodes. Seed-compressed ciphertexts +are unaffected: `TryConvertFrom` expands the seed into `c[1]` before the converter sees it. + ``` Compute provider runs computation on encrypted data: │ diff --git a/crates/compute-provider/Cargo.toml b/crates/compute-provider/Cargo.toml index f97b0f4f52..5ab8c03093 100644 --- a/crates/compute-provider/Cargo.toml +++ b/crates/compute-provider/Cargo.toml @@ -16,7 +16,12 @@ hex = "=0.4.3" light-poseidon = "=0.2.0" ark-ff = "=0.4.2" ark-bn254 = "=0.4.0" -rayon = "=1.10.0" zk-kit-imt = "0.0.7" e3-bfv-client = { workspace = true } e3-fhe-params = { workspace = true, features = ["abi-encoding"] } + +[dev-dependencies] +fhe = { workspace = true } +fhe-traits = { workspace = true } +rand = { workspace = true } +rand_chacha = { workspace = true } diff --git a/crates/compute-provider/src/compute_input.rs b/crates/compute-provider/src/compute_input.rs index 6498abde95..e98e1430db 100644 --- a/crates/compute-provider/src/compute_input.rs +++ b/crates/compute-provider/src/compute_input.rs @@ -18,11 +18,15 @@ pub struct FHEInputs { pub params: Vec, } +/// The full input to the Secure Process. +/// +/// This type holds only the values the Secure Process computes over. Every field the journal +/// publishes is derived from these values inside the compute environment. A prover cannot supply +/// the input Merkle root or the output hash as separate values, because a separate value can +/// disagree with the ciphertexts the Secure Process actually consumed. #[derive(Clone, Debug, serde::Serialize, serde::Deserialize)] pub struct ComputeInput { pub fhe_inputs: FHEInputs, - pub ciphertext_hash: Vec, - pub leaf_hashes: Vec, } impl ComputeInput { @@ -41,16 +45,12 @@ impl ComputeInput { .to_vec(); let params_hash = Keccak256::digest(&self.fhe_inputs.params).to_vec(); - assert_eq!( - processed_hash, self.ciphertext_hash, - "Ciphertext hash mismatch" - ); - - let merkle_root = MerkleTreeBuilder::new(self.leaf_hashes.len()) - .with_leaf_hashes(self.leaf_hashes.clone()) - .build_tree() - .root() - .unwrap(); + // Derive the leaves from the ciphertexts this Secure Process consumed. The E3 program + // compares the resulting root against the input root it accumulated on chain, so the + // comparison rejects a result computed over any other input set. + let mut tree_builder = MerkleTreeBuilder::new(self.fhe_inputs.ciphertexts.len()); + tree_builder.compute_leaf_hashes(&self.fhe_inputs.ciphertexts, &self.fhe_inputs.params); + let merkle_root = tree_builder.build_tree().root().unwrap(); ComputeResult { ciphertext_hash: processed_hash, @@ -60,3 +60,87 @@ impl ComputeInput { } } } + +#[cfg(test)] +mod tests { + use super::*; + use e3_fhe_params::{build_pair_for_preset, encode_bfv_params, BfvPreset}; + use fhe::bfv::{Ciphertext, Encoding, Plaintext, PublicKey, SecretKey}; + use fhe_traits::{FheEncoder, FheEncrypter, Serialize as FheSerialize}; + use rand::SeedableRng; + use rand_chacha::ChaCha8Rng; + use std::sync::Arc; + + fn sum_processor(inputs: &FHEInputs) -> Vec { + let params = Arc::new(decode_bfv_params(&inputs.params).unwrap()); + let mut sum = Ciphertext::zero(¶ms); + for (bytes, _) in &inputs.ciphertexts { + use fhe_traits::DeserializeParametrized; + sum += &Ciphertext::from_bytes(bytes, ¶ms).unwrap(); + } + sum.to_bytes() + } + + /// Builds `values.len()` encrypted inputs under one key, plus the encoded parameters. + fn encrypted_inputs(values: &[u64]) -> FHEInputs { + let (params, _) = build_pair_for_preset(BfvPreset::InsecureThreshold512).unwrap(); + let mut rng = ChaCha8Rng::seed_from_u64(7); + let secret_key = SecretKey::random(¶ms, &mut rng); + let public_key = PublicKey::new(&secret_key, &mut rng); + + let ciphertexts = values + .iter() + .enumerate() + .map(|(index, value)| { + let plaintext = + Plaintext::try_encode(&[*value], Encoding::poly(), ¶ms).unwrap(); + let ciphertext = public_key.try_encrypt(&plaintext, &mut rng).unwrap(); + (ciphertext.to_bytes(), index as u64) + }) + .collect(); + + FHEInputs { + ciphertexts, + params: encode_bfv_params(¶ms), + } + } + + fn root_over(inputs: &FHEInputs) -> Vec { + let mut builder = MerkleTreeBuilder::new(inputs.ciphertexts.len()); + builder.compute_leaf_hashes(&inputs.ciphertexts, &inputs.params); + hex::decode(builder.build_tree().root().unwrap()).unwrap() + } + + /// The journal's input root must be a function of the ciphertexts the Secure Process consumed. + /// Before this binding existed, the root arrived as a separate `leaf_hashes` field, so a + /// prover could publish a tally over one input set while proving the root of another. + #[test] + fn merkle_root_is_derived_from_the_processed_ciphertexts() { + let inputs = encrypted_inputs(&[1, 1, 1]); + let result = ComputeInput { + fhe_inputs: inputs.clone(), + } + .process(sum_processor); + + assert_eq!(result.merkle_root, root_over(&inputs)); + } + + /// Changing the consumed ciphertexts must change the published root, so an E3 program that + /// compares the root against its own on-chain root rejects the substituted set. + #[test] + fn substituted_ciphertexts_produce_a_different_root() { + let honest = encrypted_inputs(&[1, 1, 1]); + let mut forged = honest.clone(); + // Same leaf count, so the tree depth is unchanged; only the ciphertexts differ. + forged.ciphertexts[2] = encrypted_inputs(&[9]).ciphertexts[0].clone(); + + let honest_root = ComputeInput { fhe_inputs: honest } + .process(sum_processor) + .merkle_root; + let forged_root = ComputeInput { fhe_inputs: forged } + .process(sum_processor) + .merkle_root; + + assert_ne!(honest_root, forged_root); + } +} diff --git a/crates/compute-provider/src/compute_manager.rs b/crates/compute-provider/src/compute_manager.rs index 314a18f05c..0671803a88 100644 --- a/crates/compute-provider/src/compute_manager.rs +++ b/crates/compute-provider/src/compute_manager.rs @@ -6,11 +6,7 @@ use crate::ciphertext_output::ComputeProvider; use crate::compute_input::{ComputeInput, FHEInputs}; -use crate::merkle_tree_builder::MerkleTreeBuilder; use crate::FHEProcessor; -use rayon::prelude::*; -use sha3::{Digest, Keccak256}; -use std::sync::Arc; pub struct ComputeManager

where @@ -19,121 +15,26 @@ where input: ComputeInput, provider: P, processor: FHEProcessor, - use_parallel: bool, - batch_size: Option, } impl

ComputeManager

where P: ComputeProvider + Send + Sync, { - pub fn new( - provider: P, - fhe_inputs: FHEInputs, - fhe_processor: FHEProcessor, - use_parallel: bool, - batch_size: Option, - ) -> Self { + pub fn new(provider: P, fhe_inputs: FHEInputs, fhe_processor: FHEProcessor) -> Self { Self { provider, - input: ComputeInput { - fhe_inputs, - ciphertext_hash: Vec::new(), - leaf_hashes: Vec::new(), - }, + input: ComputeInput { fhe_inputs }, processor: fhe_processor, - use_parallel, - batch_size, } } pub fn start(&mut self) -> (P::Output, Vec) { - if self.use_parallel { - self.start_parallel() - } else { - self.start_sequential() - } - } - - fn start_sequential(&mut self) -> (P::Output, Vec) { - let num_leaves = self.input.fhe_inputs.ciphertexts.len(); - let mut tree_builder = MerkleTreeBuilder::new(num_leaves); - - tree_builder.compute_leaf_hashes( - &self.input.fhe_inputs.ciphertexts, - &self.input.fhe_inputs.params, - ); - self.input.leaf_hashes = tree_builder.leaf_hashes.clone(); - - // Compute the ciphertext + // The host computes the ciphertext only to return it to the caller for publication. The + // proof covers the copy the Secure Process computes for itself, so this value never + // reaches the journal. let ciphertext = (self.processor)(&self.input.fhe_inputs); - // Compute the hash of the ciphertext - self.input.ciphertext_hash = Keccak256::digest(&ciphertext).to_vec(); - (self.provider.prove(&self.input), ciphertext) } - - fn start_parallel(&self) -> (P::Output, Vec) { - let batch_size = self.batch_size.unwrap_or(2); - - let ciphertexts = Arc::new(self.input.fhe_inputs.ciphertexts.clone()); - let params = Arc::new(self.input.fhe_inputs.params.clone()); - - let chunks: Vec, u64)>> = ciphertexts - .chunks(batch_size) - .map(|chunk| chunk.to_vec()) - .collect(); - - let tally_results: Vec<(P::Output, Vec, String)> = chunks - .into_par_iter() - .map(|chunk| { - let mut tree_builder = MerkleTreeBuilder::new(chunk.len()); - - tree_builder.compute_leaf_hashes(&chunk, params.as_slice()); - let merkle_root = tree_builder.build_tree().root().unwrap(); - - let fhe_inputs = FHEInputs { - ciphertexts: chunk.clone(), - params: params.to_vec(), - }; - - let ciphertext = (self.processor)(&fhe_inputs); - let ciphertext_hash = Keccak256::digest(&ciphertext).to_vec(); - - let input = ComputeInput { - fhe_inputs, - ciphertext_hash, - leaf_hashes: tree_builder.leaf_hashes.clone(), - }; - - (self.provider.prove(&input), ciphertext, merkle_root) - }) - .collect(); - - // The leaf hashes are the hashes of the merkle roots of the parallel trees - let leaf_hashes: Vec = tally_results - .iter() - .map(|result| result.2.clone()) - .collect(); - - let fhe_inputs = FHEInputs { - ciphertexts: tally_results - .iter() - .map(|result| (result.1.clone(), 0u64)) // The index is not used for the final computation in the parallel case - .collect(), - params: params.to_vec(), - }; - - let ciphertext = (self.processor)(&fhe_inputs); - let ciphertext_hash = Keccak256::digest(&ciphertext).to_vec(); - - let final_input = ComputeInput { - fhe_inputs, - ciphertext_hash, - leaf_hashes: leaf_hashes.clone(), - }; - - (self.provider.prove(&final_input), ciphertext) - } } diff --git a/crates/compute-provider/src/merkle_tree_builder.rs b/crates/compute-provider/src/merkle_tree_builder.rs index fb8566eee2..7815634192 100644 --- a/crates/compute-provider/src/merkle_tree_builder.rs +++ b/crates/compute-provider/src/merkle_tree_builder.rs @@ -31,6 +31,12 @@ impl MerkleTreeBuilder { } } + /// Sets the leaves directly, for tests that need a known tree. + /// + /// Never use this to build a tree the journal publishes. A Secure Process must derive its + /// leaves from the ciphertexts it consumed, with [`Self::compute_leaf_hashes`]. Leaves that + /// arrive as a separate value can disagree with those ciphertexts. + #[cfg(test)] pub fn with_leaf_hashes(mut self, leaf_hashes: Vec) -> Self { self.leaf_hashes = leaf_hashes; self diff --git a/crates/support-scripts/dev/src/main.rs b/crates/support-scripts/dev/src/main.rs index 4f7c451a42..827f98023f 100644 --- a/crates/support-scripts/dev/src/main.rs +++ b/crates/support-scripts/dev/src/main.rs @@ -46,8 +46,7 @@ fn encode_mock_compute_proof(seal: &[u8], result: &ComputeResult) -> Result Result<()> { let server = E3ProgramServer::builder(|job| async move { - let mut manager = - ComputeManager::new(MockProofProvider, job.inputs, fhe_processor, false, None); + let mut manager = ComputeManager::new(MockProofProvider, job.inputs, fhe_processor); let (result, ciphertext) = manager.start(); let proof = encode_mock_compute_proof(&[3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5], &result)?; diff --git a/crates/support/Dockerfile b/crates/support/Dockerfile index 937037c1fb..47d385744c 100644 --- a/crates/support/Dockerfile +++ b/crates/support/Dockerfile @@ -1,6 +1,6 @@ ARG RUST_VERSION=1.91.1 ARG RISC0_VERSION=3.0.3 -ARG RISC0_TOOLCHAIN=1.88.0 +ARG RISC0_TOOLCHAIN=1.91.1 ARG SKIP_SOLIDITY=0 FROM rust:${RUST_VERSION}-slim-bookworm AS base-dev diff --git a/crates/support/contracts/ImageID.stamp.json b/crates/support/contracts/ImageID.stamp.json new file mode 100644 index 0000000000..8323994b11 --- /dev/null +++ b/crates/support/contracts/ImageID.stamp.json @@ -0,0 +1,21 @@ +{ + "imageId": "0x7ac6020923d10004ccb27d8cdb5df72e7476e8a9775b9c1c711e9d906b44e105", + "guestInputsDigest": "f3833685a270dfdb50c36b3eaa4289c7d63710f0d9e883c67e5004f02d9add47", + "imageIdVerified": false, + "reason": [ + "The recorded image ID has never been reproduced from these inputs. It is very probably", + "stale: ImageID.sol last changed on 2026-06-23 in 8b81f51c, while the guest and the journal", + "types changed on 2026-08-06 in f716d933b and again on 2026-08-13 in 02ebe4589. The second of", + "those replaced a four-field result with a nine-field domain-separated journal.", + "", + "This stamp starts the drift ratchet from the current tree. It does not endorse the recorded", + "value. Run './scripts/check-image-id.sh --rebuild' to reproduce the image ID, commit the", + "regenerated ImageID.sol, then set imageIdVerified to true and drop this field.", + "", + "A rebuild also needs the guest to read the fixed compute-provider. The guest reads", + "e3-compute-provider through a git pin (crates/support/Cargo.toml and", + "crates/support/methods/guest/Cargo.toml), so the leaf-derivation fix in", + "crates/compute-provider does not reach the guest until that pin moves to a pushed commit.", + "See BRANCH-NOTES.md." + ] +} diff --git a/crates/support/methods/build.rs b/crates/support/methods/build.rs index d818cf7d9d..e164d15841 100644 --- a/crates/support/methods/build.rs +++ b/crates/support/methods/build.rs @@ -27,14 +27,26 @@ use risc0_build_ethereum::generate_solidity_files; const SOLIDITY_IMAGE_ID_PATH: &str = "../contracts/ImageID.sol"; const SOLIDITY_ELF_PATH: &str = "../tests/Elf.sol"; +/// Reports whether the reproducible Docker guest build is selected. +/// +/// The variable is read for its value, not its presence, so `RISC0_USE_DOCKER=0` selects the +/// local build. +fn use_docker() -> bool { + matches!( + env::var("RISC0_USE_DOCKER").unwrap_or_default().as_str(), + "1" | "true" | "TRUE" | "yes" | "YES" + ) +} + fn main() { // Builds can be made deterministic, and thereby reproducible, by using Docker to build the - // guest. Check the RISC0_USE_DOCKER variable and use Docker to build the guest if set. + // guest. Set RISC0_USE_DOCKER to 1 (or true) to select the reproducible Docker build. Any + // other value, and an unset variable, select the local build. println!("cargo:rerun-if-env-changed=RISC0_USE_DOCKER"); println!("cargo:rerun-if-changed=build.rs"); let manifest_dir = PathBuf::from(std::env::var_os("CARGO_MANIFEST_DIR").unwrap()); let mut builder = GuestOptionsBuilder::default(); - if env::var("RISC0_USE_DOCKER").is_ok() { + if use_docker() { let docker_options = DockerOptionsBuilder::default() .root_dir(manifest_dir.join("../")) .build() diff --git a/crates/support/tests/Elf.sol b/crates/support/tests/Elf.sol deleted file mode 100644 index f2f1590950..0000000000 --- a/crates/support/tests/Elf.sol +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2024 RISC Zero, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// SPDX-License-Identifier: Apache-2.0 - -// This file is automatically generated - -pragma solidity ^0.8.20; - -library Elf { - string public constant PROGRAM_PATH = - "/home/ace/main/gnosis/interfold/crates/support/target/riscv-guest/methods/guests/riscv32im-risc0-zkvm-elf/release/program.bin"; -} diff --git a/crates/zk-helpers/src/circuits/threshold/user_data_encryption/utils.rs b/crates/zk-helpers/src/circuits/threshold/user_data_encryption/utils.rs index a11f3127fb..e5f405832c 100644 --- a/crates/zk-helpers/src/circuits/threshold/user_data_encryption/utils.rs +++ b/crates/zk-helpers/src/circuits/threshold/user_data_encryption/utils.rs @@ -22,15 +22,34 @@ use fhe::bfv::{BfvParameters, Ciphertext, PublicKey}; /// A tuple of (ct0is, ct1is) where each is CrtPolynomial /// /// # Errors -/// Returns [`CrtPolynomialError::ModuliLengthMismatch`] if `moduli.len() != self.limbs.len()`. +/// Returns [`ZkHelpersUtilsError::UnexpectedCiphertextComponents`] if the ciphertext does not have +/// exactly two components. +/// Returns [`ZkHelpersUtilsError::ConversionError`] if `moduli.len() != self.limbs.len()`. pub fn bfv_ciphertext_to_greco( params: &BfvParameters, ciphertext: &Ciphertext, -) -> Result<(CrtPolynomial, CrtPolynomial), CrtPolynomialError> { +) -> Result<(CrtPolynomial, CrtPolynomial), ZkHelpersUtilsError> { + // The Greco form and the Noir circuit both cover c[0] and c[1] only. A ciphertext with more + // components would commit to the same value as its own two-component prefix, so two different + // ciphertexts would share one commitment. Reject the extra components instead. + if ciphertext.len() != 2 { + return Err(ZkHelpersUtilsError::UnexpectedCiphertextComponents( + ciphertext.len(), + )); + } + let moduli = params.moduli(); - let ct0is = fhe_poly_to_crt_centered(&ciphertext[0], moduli)?; - let ct1is = fhe_poly_to_crt_centered(&ciphertext[1], moduli)?; + let to_crt = |poly| { + fhe_poly_to_crt_centered(poly, moduli).map_err(|e: CrtPolynomialError| { + ZkHelpersUtilsError::ConversionError(format!( + "Failed to convert ciphertext polynomial: {e}" + )) + }) + }; + + let ct0is = to_crt(&ciphertext[0])?; + let ct1is = to_crt(&ciphertext[1])?; Ok((ct0is, ct1is)) } @@ -117,6 +136,8 @@ pub fn compute_public_key_commitment( /// The commitment of the ciphertext /// /// # Errors +/// Returns [`ZkHelpersUtilsError::UnexpectedCiphertextComponents`] if the ciphertext does not have +/// exactly two components. /// Returns [`ZkHelpersUtilsError::ConversionError`] if the conversion fails. /// Returns [`ZkHelpersUtilsError::CommitmentTooLong`] if the commitment is too long. pub fn compute_ciphertext_commitment( @@ -125,12 +146,7 @@ pub fn compute_ciphertext_commitment( ) -> Result<[u8; 32], ZkHelpersUtilsError> { use crate::commitments::compute_ciphertext_commitment; - let (ct0is, ct1is) = bfv_ciphertext_to_greco(params, ciphertext).map_err(|e| { - ZkHelpersUtilsError::ConversionError(format!( - "Failed to convert ciphertext to greco: {}", - e - )) - })?; + let (ct0is, ct1is) = bfv_ciphertext_to_greco(params, ciphertext)?; let pk_bit = compute_modulus_bit(params); let commitment = compute_ciphertext_commitment(&ct0is, &ct1is, pk_bit); @@ -179,6 +195,43 @@ mod tests { assert_eq!(actual_pk1is, inputs.pk1is); } + /// The commitment covers `c[0]` and `c[1]` only. Without a component-count check, a + /// ciphertext padded with a third polynomial commits to the same value as its two-component + /// prefix, so two different serialized ciphertexts would share one commitment. Threshold + /// decryption then rejects the padded ciphertext and the round fails. + #[test] + fn ciphertext_with_more_than_two_components_is_rejected() { + let (threshold_params, _) = build_pair_for_preset(BfvPreset::InsecureThreshold512).unwrap(); + let sample = + UserDataEncryptionCircuitData::generate_sample(BfvPreset::InsecureThreshold512) + .unwrap(); + let inputs = Inputs::compute(BfvPreset::InsecureThreshold512, &sample).unwrap(); + let ciphertext = Ciphertext::from_bytes(&inputs.ciphertext, &threshold_params).unwrap(); + + let padded = Ciphertext::new( + vec![ + ciphertext[0].clone(), + ciphertext[1].clone(), + ciphertext[1].clone(), + ], + &threshold_params, + ) + .unwrap(); + assert_eq!(padded.len(), 3); + + assert!(matches!( + bfv_ciphertext_to_greco(&threshold_params, &padded), + Err(ZkHelpersUtilsError::UnexpectedCiphertextComponents(3)) + )); + assert!(matches!( + compute_ciphertext_commitment(&threshold_params, &padded), + Err(ZkHelpersUtilsError::UnexpectedCiphertextComponents(3)) + )); + + // The two-component original still converts, so the check rejects only the padding. + assert!(bfv_ciphertext_to_greco(&threshold_params, &ciphertext).is_ok()); + } + #[test] fn test_bfv_ciphertext_to_greco() { let (threshold_params, _) = build_pair_for_preset(BfvPreset::InsecureThreshold512).unwrap(); diff --git a/crates/zk-helpers/src/utils.rs b/crates/zk-helpers/src/utils.rs index da46e794a9..86816b1bec 100644 --- a/crates/zk-helpers/src/utils.rs +++ b/crates/zk-helpers/src/utils.rs @@ -37,6 +37,12 @@ pub enum ZkHelpersUtilsError { #[error("Commitment too long: {0}")] CommitmentTooLong(usize), + + #[error( + "Expected 2 ciphertext components, got {0}; the commitment covers c[0] and c[1] only, \ + so a ciphertext with more components must be relinearized first" + )] + UnexpectedCiphertextComponents(usize), } pub type Result = std::result::Result; diff --git a/docs/pages/tutorials/write-e3-program.mdx b/docs/pages/tutorials/write-e3-program.mdx index 0be6e86b6f..645919b5a1 100644 --- a/docs/pages/tutorials/write-e3-program.mdx +++ b/docs/pages/tutorials/write-e3-program.mdx @@ -206,27 +206,44 @@ function verify( bytes32 ciphertextOutputHash, bytes32 ciphertextCommitment, bytes memory proof -) external returns (bool) { - if (msg.sender != address(interfold)) revert CallerNotAuthorized(); - - // Reconstruct the exact RISC Zero journal from known values - bytes memory journal = new bytes(528); - _encodeLengthPrefixAndHash(journal, 0, ciphertextOutputHash); - _encodeLengthPrefixAndHash(journal, 132, ciphertextCommitment); - _encodeLengthPrefixAndHash(journal, 264, e3Data[e3Id].paramsHash); - _encodeLengthPrefixAndHash(journal, 396, bytes32(e3Data[e3Id].votes._root(TREE_DEPTH))); - - // Verify the RISC Zero proof - risc0Verifier.verify(proof, imageId, sha256(journal)); +) external view override returns (bool) { + E3 memory e3 = interfold.getE3(e3Id); + bytes32 paramsHash = getParamsHash(e3Id); + bytes32 inputRoot = bytes32(e3Data[e3Id].votes._root()); + + // The compute provider chooses the input root, so compare it against the root this program + // accumulated on chain before the journal is rebuilt. + Risc0ComputeProof.Proof memory computeProof = Risc0ComputeProof.decode(proof); + if (computeProof.paramsHash != paramsHash || computeProof.inputRoot != inputRoot) + revert InvalidComputeContext(); + + // Rebuild the exact RISC Zero journal from on-chain state. + bytes memory journal = Risc0ComputeProof.journal( + bytes32(block.chainid), + bytes32(uint256(uint160(address(interfold)))), + bytes32(e3Id), + e3.encryptionSchemeId, + e3.committeePublicKey, + ciphertextOutputHash, + ciphertextCommitment, + paramsHash, + inputRoot + ); + risc0Verifier.verify(computeProof.seal, imageId, sha256(journal)); return true; } ``` -The guest returns these four values as 32-byte Rust vectors. RISC Zero serializes each vector into -132 bytes, so the contract must reconstruct the same 528 bytes before it checks the proof. The -journal binds the proof to the output hash, SAFE commitment, inputs, and parameters. A front-runner -cannot replace the commitment while reusing a valid proof. +The guest commits nine values as 32-byte Rust vectors. RISC Zero serializes each vector into 132 +bytes, so the journal is 1,188 bytes. `Risc0ComputeProof.journal` builds that layout, and +`Risc0ComputeProof.FIELD_COUNT` holds the field count, so a program never hardcodes the length. + +Eight of the nine fields come from on-chain state, which is why a front-runner cannot replace the +commitment while reusing a valid proof. The ninth, `inputRoot`, arrives inside the proof envelope. +The protocol verifier does not constrain it, so **every E3 program must compare it against its own +input root**, as the check above does. A program that skips that comparison accepts a result +computed over an input set it never saw. --- diff --git a/package.json b/package.json index a32b5a3b41..9db51b630b 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,8 @@ "check:committee": "./scripts/check-committee.sh", "check:docs": "./scripts/check-doc-sync.sh", "check:invariants": "./scripts/check-invariants.sh", + "check:image-id": "./scripts/check-image-id.sh", + "check:verifiers": "tsx scripts/generate-verifiers.ts --circuits dkg_aggregator,decryption_aggregator --check", "test": "pnpm evm:test && pnpm rust:test && pnpm sdk:test && pnpm noir:test", "test:integration": "cd ./tests/integration && ./test.sh", "coverage": "pnpm evm:coverage", diff --git a/scripts/check-image-id.sh b/scripts/check-image-id.sh new file mode 100755 index 0000000000..51a2142495 --- /dev/null +++ b/scripts/check-image-id.sh @@ -0,0 +1,167 @@ +#!/usr/bin/env bash +# SPDX-License-Identifier: LGPL-3.0-only +# +# This file is provided WITHOUT ANY WARRANTY; +# without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. + +# Guards the RISC Zero guest artifact against silent drift. +# +# The on-chain `Risc0BfvCiphertextVerifier.imageId` is immutable, and it names exactly one guest +# image. Nothing else ties that value to the source in this repository, so a guest change that +# leaves `crates/support/contracts/ImageID.sol` untouched produces a deployed verifier that no +# longer matches the tree. +# +# Three checks run here. Two are cheap and always run. The third needs Docker. +# +# 1. Pin consistency — every Interfold git pin the guest workspace reads names one revision. +# 2. Toolchain sync — the Dockerfile guest toolchain matches `rust-toolchain.toml`. +# 3. Source drift — the recorded digest of the guest-affecting inputs matches those inputs. +# +# Check 3 compares against `crates/support/contracts/ImageID.stamp.json`. That stamp is a drift +# ratchet, not a proof. It shows that the inputs did not change since the image ID was last +# recorded. It cannot show that the recorded image ID is the one those inputs produce. Only a +# rebuild does that: +# +# ./scripts/check-image-id.sh --rebuild +# +# Exit 0 when the checks pass, 1 on drift. + +set -euo pipefail + +REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +cd "$REPO_ROOT" + +SUPPORT="crates/support" +IMAGE_ID_SOL="$SUPPORT/contracts/ImageID.sol" +STAMP="$SUPPORT/contracts/ImageID.stamp.json" +DOCKERFILE="$SUPPORT/Dockerfile" +TOOLCHAIN_TOML="rust-toolchain.toml" +REBUILD=false + +for arg in "$@"; do + case "$arg" in + --rebuild) REBUILD=true ;; + *) echo "check:image-id: unknown argument '$arg'" >&2; exit 1 ;; + esac +done + +fail() { + echo "❌ check:image-id: $*" >&2 + exit 1 +} + +warn() { + echo "⚠️ check:image-id: $*" >&2 +} + +# --- 1. Pin consistency ------------------------------------------------------------------------- +# The guest workspace and the host workspace must read the same Interfold revision. A split pin +# means the host proves against a guest built from different sources. + +pins="$(grep -rhoE 'rev = "[0-9a-f]{40}"' \ + "$SUPPORT/Cargo.toml" "$SUPPORT/methods/guest/Cargo.toml" \ + | sed -E 's/rev = "(.*)"/\1/' | sort -u)" + +pin_count="$(printf '%s\n' "$pins" | grep -c . || true)" +if [ "$pin_count" -ne 1 ]; then + fail "the guest and host workspaces pin different Interfold revisions: +$(printf '%s\n' "$pins" | sed 's/^/ /') + Every Interfold dependency in crates/support must name one revision." +fi +PINNED_REV="$pins" + +# The pin must be a commit this repository knows, so a reviewer can diff it against the tree. +if git cat-file -e "${PINNED_REV}^{commit}" 2>/dev/null; then + if ! git merge-base --is-ancestor "$PINNED_REV" HEAD 2>/dev/null; then + warn "pinned revision ${PINNED_REV:0:8} is not an ancestor of HEAD. + The guest is built from sources that are not in this branch's history." + fi +else + warn "pinned revision ${PINNED_REV:0:8} is not present locally; run 'git fetch' to check it." +fi + +# --- 2. Toolchain sync -------------------------------------------------------------------------- +# The guest lockfile pins fhe.rs, whose workspace declares an MSRV. A guest toolchain below that +# MSRV cannot build the guest at all, and the failure surfaces only at container start. + +docker_toolchain="$(grep -oE '^ARG RISC0_TOOLCHAIN=.*' "$DOCKERFILE" | cut -d= -f2 || true)" +repo_toolchain="$(grep -oE '^channel = "[^"]+"' "$TOOLCHAIN_TOML" | cut -d'"' -f2 || true)" + +[ -n "$docker_toolchain" ] || fail "no ARG RISC0_TOOLCHAIN in $DOCKERFILE" +[ -n "$repo_toolchain" ] || fail "no channel in $TOOLCHAIN_TOML" + +if [ "$docker_toolchain" != "$repo_toolchain" ]; then + fail "guest toolchain drift. + $DOCKERFILE ARG RISC0_TOOLCHAIN=$docker_toolchain + $TOOLCHAIN_TOML channel = \"$repo_toolchain\" + The guest builds the same dependency tree as the host, so these must match." +fi + +# --- 3. Source drift ---------------------------------------------------------------------------- +# Digest every input that changes the guest image: the guest crate, the journal types, the user +# program, the build script, the resolved dependency graph, and the pinned revision. + +guest_inputs_digest() { + { + find "$SUPPORT/methods/guest" "$SUPPORT/types" "$SUPPORT/program" \ + -type f \( -name '*.rs' -o -name 'Cargo.toml' -o -name 'Cargo.lock' \) \ + | LC_ALL=C sort | xargs shasum -a 256 + shasum -a 256 "$SUPPORT/methods/build.rs" "$SUPPORT/Cargo.toml" + echo "pinned-rev $PINNED_REV" + echo "risc0-toolchain $docker_toolchain" + grep -oE '^ARG RISC0_VERSION=.*' "$DOCKERFILE" + } | shasum -a 256 | cut -d' ' -f1 +} + +current_digest="$(guest_inputs_digest)" +current_image_id="$(grep -oE '0x[0-9a-fA-F]{64}' "$IMAGE_ID_SOL" | head -1)" + +[ -n "$current_image_id" ] || fail "no PROGRAM_ID found in $IMAGE_ID_SOL" + +if [ "$REBUILD" = true ]; then + command -v docker >/dev/null 2>&1 || fail "--rebuild needs Docker, which is not on PATH" + echo "check:image-id: rebuilding the guest with the RISC Zero Docker builder..." + ( cd "$SUPPORT" && RISC0_USE_DOCKER=1 cargo build --release -p methods ) + rebuilt_image_id="$(grep -oE '0x[0-9a-fA-F]{64}' "$IMAGE_ID_SOL" | head -1)" + if [ "$rebuilt_image_id" != "$current_image_id" ]; then + fail "the rebuilt guest does not match the committed image ID. + committed: $current_image_id + rebuilt: $rebuilt_image_id + Commit the regenerated $IMAGE_ID_SOL and refresh $STAMP." + fi + echo "✅ check:image-id: rebuild reproduces the committed image ID." +fi + +if [ ! -f "$STAMP" ]; then + fail "missing $STAMP. + Create it with the current inputs: + { \"imageId\": \"$current_image_id\", \"guestInputsDigest\": \"$current_digest\" }" +fi + +stamp_digest="$(grep -oE '"guestInputsDigest"[[:space:]]*:[[:space:]]*"[0-9a-f]+"' "$STAMP" \ + | grep -oE '[0-9a-f]{64}' || true)" +stamp_image_id="$(grep -oE '"imageId"[[:space:]]*:[[:space:]]*"0x[0-9a-fA-F]{64}"' "$STAMP" \ + | grep -oE '0x[0-9a-fA-F]{64}' || true)" + +if [ "$stamp_image_id" != "$current_image_id" ]; then + fail "$STAMP records image ID $stamp_image_id, but $IMAGE_ID_SOL holds $current_image_id." +fi + +if [ "$stamp_digest" != "$current_digest" ]; then + fail "the guest sources changed, but $IMAGE_ID_SOL did not. + recorded inputs: $stamp_digest + current inputs: $current_digest + Rebuild the guest and commit the regenerated image ID: + ./scripts/check-image-id.sh --rebuild + Then record the new inputs in $STAMP." +fi + +# The stamp says the inputs are unchanged. Say plainly when the recorded image ID was never +# reproduced from those inputs, so a green check is not read as a verified artifact. +if grep -qE '"imageIdVerified"[[:space:]]*:[[:space:]]*false' "$STAMP"; then + warn "the guest inputs are unchanged, but the recorded image ID has never been reproduced + from them. See the 'reason' field in $STAMP. Run with --rebuild to verify it." +fi + +echo "✅ check:image-id: pins, toolchain, and guest inputs are consistent." diff --git a/templates/default/Cargo.lock b/templates/default/Cargo.lock index 50f7f6eb4b..9ccf9a2a9d 100644 --- a/templates/default/Cargo.lock +++ b/templates/default/Cargo.lock @@ -1318,7 +1318,6 @@ dependencies = [ "light-poseidon", "num-bigint", "num-traits", - "rayon", "serde", "sha3 0.10.8", "zk-kit-imt", From e63b9d5e8c6db557c13012b847bc27970f9f7f6e Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Mon, 17 Aug 2026 17:42:11 +0100 Subject: [PATCH 02/30] chore: add compute-guest provenance manifest and verification docs --- BRANCH-NOTES.md | 9 + agent/INVARIANTS.md | 8 + crates/support/Cargo.toml | 10 + crates/support/contracts/ImageID.stamp.json | 2 +- crates/support/methods/guest/Cargo.toml | 3 + docs/pages/_meta.json | 3 + docs/pages/compute-provider.mdx | 7 + docs/pages/verifying-the-compute-provider.mdx | 127 +++++++++ docs/pages/write-secure-program.mdx | 17 +- .../contracts/CRISPProgram.sol | 8 +- package.json | 1 + scripts/README.md | 45 ++++ scripts/check-image-id.sh | 23 +- scripts/generate-provenance-manifest.ts | 248 ++++++++++++++++++ 14 files changed, 504 insertions(+), 7 deletions(-) create mode 100644 docs/pages/verifying-the-compute-provider.mdx create mode 100644 scripts/generate-provenance-manifest.ts diff --git a/BRANCH-NOTES.md b/BRANCH-NOTES.md index 5e0f817e2c..4765f8dae6 100644 --- a/BRANCH-NOTES.md +++ b/BRANCH-NOTES.md @@ -34,6 +34,15 @@ and `batch_size` parameters. - New `pnpm check:image-id` (`scripts/check-image-id.sh`), wired into `.husky/pre-push` and a new `check_image_id` CI job. - New `pnpm check:verifiers`, wired into pre-push and the `build_circuits` CI job. +- New `pnpm provenance:manifest` (`scripts/generate-provenance-manifest.ts`) — the release record. + It refuses to claim completeness: unresolved fields are listed and `complete` is `false`. +- New docs page `docs/pages/verifying-the-compute-provider.mdx`, linked from the compute-provider + page and from `write-secure-program.mdx`. +- The `e3-compute-provider` pins in `crates/support/Cargo.toml` and + `crates/support/methods/guest/Cargo.toml` now carry the rationale for being revisions rather than + paths, and the rule for bumping them. +- `CRISPProgram.setImageId` / `setRisc0Verifier` document that they cannot replace an accepted + computation but can fail an E3 in flight. ## Blocker: the guest still runs the old code diff --git a/agent/INVARIANTS.md b/agent/INVARIANTS.md index 98b4c755bc..74f576f1fb 100644 --- a/agent/INVARIANTS.md +++ b/agent/INVARIANTS.md @@ -471,6 +471,14 @@ skip-proof feature containment (`pnpm check:invariants`, baselines in has never been reproduced; treat its image ID as unverified. - **`Elf.sol` is never committed.** `crates/support/methods/build.rs` writes it with a machine-local guest ELF path, so it is generated per checkout and `.gitignore`d. +- **A release publishes a complete provenance manifest** — `pnpm provenance:manifest`. It ties + source commit, lockfile digests, pinned revisions, RISC Zero version, builder image tag **and + digest** (the builder tag is mutable and `RISC0_DOCKER_CONTAINER_TAG` overrides it), guest ELF + SHA-256, image ID, and the deployed verifier to one record. The generator reports + `complete: false` with the unresolved fields rather than emitting a partial record that reads as + verified. The ELF SHA-256 is **not** the image ID: SHA-256 checks binary integrity, the image ID + is computed from the loaded memory image. Procedure: + `docs/pages/verifying-the-compute-provider.mdx`. - Upgradeable-contract storage baselines are committed and CI-gated (missing baselines, compiler drift, layout incompatibility, bad gap consumption all fail); baseline creation is an explicit maintainer command. — INDEX concern #27 diff --git a/crates/support/Cargo.toml b/crates/support/Cargo.toml index ff951c6566..e3d8fc10b2 100644 --- a/crates/support/Cargo.toml +++ b/crates/support/Cargo.toml @@ -39,6 +39,16 @@ risc0-zkp = { version = "=3.0.2", default-features = false } serde = { version = "1.0", features = ["derive", "std"] } serde_json = "=1.0.141" # The Interfold revision must match for all Interfold dependencies in this workspace. +# +# The Interfold crates below are pinned by revision rather than by path because this workspace is +# excluded from the root workspace on purpose (see the root Cargo.toml): a client must be able to +# build crates/support on its own, and the RISC Zero Docker build context root is crates/support, +# so anything outside that directory is unreachable from the guest build. +# +# The pin therefore decides which compute-provider code the guest runs, and moving it changes the +# image ID. Bump it only together with a rebuilt crates/support/contracts/ImageID.sol and a +# refreshed ImageID.stamp.json. `pnpm check:image-id` asserts that every pin here names one +# revision and warns when that revision is not an ancestor of HEAD. fhe = { package = "fhe", git = "https://github.com/gnosisguild/fhe.rs", tag = "v0.2.2" } fhe-traits = { git = "https://github.com/gnosisguild/fhe.rs", tag = "v0.2.2" } fhe-util = { git = "https://github.com/gnosisguild/fhe.rs", tag = "v0.2.2" } diff --git a/crates/support/contracts/ImageID.stamp.json b/crates/support/contracts/ImageID.stamp.json index 8323994b11..1edb26f0ed 100644 --- a/crates/support/contracts/ImageID.stamp.json +++ b/crates/support/contracts/ImageID.stamp.json @@ -1,6 +1,6 @@ { "imageId": "0x7ac6020923d10004ccb27d8cdb5df72e7476e8a9775b9c1c711e9d906b44e105", - "guestInputsDigest": "f3833685a270dfdb50c36b3eaa4289c7d63710f0d9e883c67e5004f02d9add47", + "guestInputsDigest": "a0df9e6388a0fc3ea8565faf8dcb334b402b406db84de79bee971ead4e68f21d", "imageIdVerified": false, "reason": [ "The recorded image ID has never been reproduced from these inputs. It is very probably", diff --git a/crates/support/methods/guest/Cargo.toml b/crates/support/methods/guest/Cargo.toml index cb2deb6ef9..96f876761e 100644 --- a/crates/support/methods/guest/Cargo.toml +++ b/crates/support/methods/guest/Cargo.toml @@ -13,6 +13,9 @@ path = "src/bin/program.rs" [dependencies] risc0-zkvm = { version = "=3.0.3", default-features = false, features = ['std'] } +# This revision decides which compute-provider code runs inside the zkVM, so it decides the image +# ID. It must match the pin in crates/support/Cargo.toml. See that file for why the dependency is +# pinned by revision instead of by path. e3-compute-provider = { git = "https://github.com/theinterfold/interfold", rev = "c2097da61b4d07c4ce83840393ff4e9f171eefb4" } e3-support-types = { path = "../../types" } e3-user-program = { path = "../../program" } diff --git a/docs/pages/_meta.json b/docs/pages/_meta.json index 856164356f..c35c36b65e 100644 --- a/docs/pages/_meta.json +++ b/docs/pages/_meta.json @@ -88,6 +88,9 @@ "compute-provider": { "title": "Compute Provider Setup" }, + "verifying-the-compute-provider": { + "title": "Verifying the Compute Provider" + }, "putting-it-together": { "title": "Putting It All Together" }, diff --git a/docs/pages/compute-provider.mdx b/docs/pages/compute-provider.mdx index faf487b988..b1d7293843 100644 --- a/docs/pages/compute-provider.mdx +++ b/docs/pages/compute-provider.mdx @@ -113,3 +113,10 @@ To use Boundless: [CRISP setup guide](/CRISP/setup#boundless-configuration) For more details, see the [Boundless documentation](https://docs.boundless.network/). + +## Verifying a Deployment + +Choosing a verifiable CP gives you a proof that a particular guest ran. It does not, by itself, tell +you that the guest corresponds to the source you are reading. For the procedure that ties a source +commit to the image ID a deployed verifier accepts, see +[Verifying the Compute Provider](/verifying-the-compute-provider). diff --git a/docs/pages/verifying-the-compute-provider.mdx b/docs/pages/verifying-the-compute-provider.mdx new file mode 100644 index 0000000000..af6ac01475 --- /dev/null +++ b/docs/pages/verifying-the-compute-provider.mdx @@ -0,0 +1,127 @@ +--- +title: 'Verifying the Compute Provider' +description: 'Reproduce the RISC Zero guest image ID and check it against the deployed verifier' +--- + +# Verifying the Compute Provider + +A RISC Zero proof tells you **which guest ran**. It does not tell you **which source produced that +guest**. This page closes that gap: it is the procedure for going from a source commit to the image +ID a deployed `Risc0BfvCiphertextVerifier` accepts, and for checking that the two agree. + +Read this if you are auditing an E3, operating a ciphernode, or deciding whether to trust a +deployment you did not build. + +## What the chain already gives you + +Three properties hold without any work on your part: + +1. **The verifier is frozen per E3.** Interfold snapshots the ciphertext verifier for an E3's + encryption scheme at request time. A later `setCiphertextVerifier` does not affect an E3 already + in flight. +2. **The image ID is immutable.** `Risc0BfvCiphertextVerifier.imageId` is set in the constructor and + is `public`. Read it from the deployed contract; nobody can change it. +3. **The journal is rebuilt from chain state.** The verifier reconstructs eight of the nine journal + fields — chain ID, calling program, E3 ID, scheme ID, committee public key, output hash, SAFE + commitment, parameter hash — from values the compute provider does not control. + +The ninth field, the input root, comes from the proof envelope. The protocol verifier does not +constrain it. **The E3 program must compare it against its own on-chain input root**, and both +shipped programs do. See [Writing the Secure Process](/write-secure-program). + +What none of this tells you is whether `imageId` corresponds to the source you are reading. That is +what the rest of this page is for. + +## The procedure + +### 1. Check the pins and the toolchain + +```bash +pnpm check:image-id +``` + +This asserts three things without building anything: + +- every Interfold git pin the guest workspace reads names **one** revision; +- `crates/support/Dockerfile`'s `ARG RISC0_TOOLCHAIN` matches `rust-toolchain.toml`; +- the guest-affecting inputs still digest to the value recorded in + `crates/support/contracts/ImageID.stamp.json`. + +The third is a **drift ratchet, not a proof**. It shows the inputs have not changed since the image +ID was recorded. It cannot show that the recorded image ID is the one those inputs produce. + +If the stamp carries `"imageIdVerified": false`, the command warns. Treat that image ID as +unverified until you have run step 2 yourself. + +### 2. Rebuild the guest reproducibly + +```bash +./scripts/check-image-id.sh --rebuild +``` + +This sets `RISC0_USE_DOCKER=1` and builds the guest with the RISC Zero guest-builder image, then +compares the regenerated `crates/support/contracts/ImageID.sol` against the committed value. It +needs Docker. + +Two things about this build are worth knowing: + +- It uses the **RISC Zero guest-builder image**, not `crates/support/Dockerfile`. That Dockerfile + builds the support _service_ container; it does not build the guest. +- The builder is selected by a **mutable tag**, and `RISC0_DOCKER_CONTAINER_TAG` overrides it. A + rebuild is only meaningful alongside the resolved builder digest, which is why the provenance + manifest records it. + +### 3. Read the deployed value + +```bash +cast call "imageId()(bytes32)" --rpc-url +``` + +Compare it against the value from step 2. They must be identical. If they are not, the deployment +does not correspond to this source — stop and find out why. + +Also read `risc0Verifier()` and confirm the underlying RISC Zero verifier is the one you expect for +that chain. + +### 4. Generate the manifest + +```bash +pnpm provenance:manifest --rpc --verifier --out manifest.json +``` + +The manifest records source commit, lockfile digests, pinned revisions, RISC Zero version, builder +image tag and digest, guest ELF SHA-256, image ID, the deployed verifier address and runtime code +digest, the underlying RISC Zero verifier, and the on-chain `imageId()`. + +It prints `"complete": false` and lists what is missing when any field could not be resolved. **A +release manifest must be complete.** An incomplete manifest is a record of an unfinished +verification, not a passing result. + +## One correctness point + +**The SHA-256 of the published ELF is not the image ID.** + +SHA-256 checks that a binary arrived intact. The RISC Zero image ID is computed from the _loaded +memory image_, not from the file bytes. Two artifacts can share an image ID and differ in SHA-256, +and a matching SHA-256 does not by itself establish that a proof will verify. + +The manifest records both, for different purposes: the SHA-256 for transport integrity, the image ID +for proof acceptance. Never substitute one for the other. + +## What this does not cover + +- **Governance of the proxy.** The Safe owns Interfold's `ProxyAdmin`. The per-E3 verifier snapshot + protects an E3 in flight from a `setCiphertextVerifier` call, but it is not protection against a + proxy upgrade. That is a governance property, not a build property. +- **Application-level image IDs.** An E3 program may store its own image ID and verifier — CRISP has + `setImageId` and `setRisc0Verifier`, both `onlyOwner`. Because the protocol wrapper stays pinned, + changing those cannot replace a computation the protocol already accepted, but it can make an E3 + in flight fail. Verify the E3 program's values separately from the protocol verifier's. +- **The ciphernode image.** Reproducible builds for the ciphernode container are a separate concern. + +## Related + +- [Writing the Secure Process](/write-secure-program) — why the Secure Process derives its input + root rather than receiving it +- [Compute Provider Setup](/compute-provider) — choosing a provider +- `agent/INVARIANTS.md`, "Build / config sync" — the rules the gates enforce diff --git a/docs/pages/write-secure-program.mdx b/docs/pages/write-secure-program.mdx index 6b4faa296c..1230641625 100644 --- a/docs/pages/write-secure-program.mdx +++ b/docs/pages/write-secure-program.mdx @@ -20,10 +20,23 @@ To simplify integration with the Interfold, use the provided Compute Provider pa **Benefits:** - **Handles Merkle tree construction**: Recreates the input Merkle tree inside the compute - environment. + environment, from the ciphertexts the Secure Process consumed. - **Simplifies proof generation**: Manages proof creation for computation verification. - **Abstracts complexity**: Allows you to focus on your computation logic. +> **The first point is a security property, not a convenience.** `ComputeInput` carries only +> `fhe_inputs`, and `ComputeInput::process` derives the leaves from those ciphertexts. It must stay +> that way. If the leaves ever arrive as a separate value, they can disagree with the ciphertexts +> that produced the result, and the input-root comparison your E3 program performs becomes +> meaningless — a prover could replay the genuine on-chain leaves while computing over inputs that +> were never submitted. Publishing a result is unpermissioned and one-shot, so that is not a +> hypothetical failure of a trusted party. +> +> The matching obligation on the contract side is that **your E3 program must compare the proof's +> input root against its own on-chain root**. `Risc0BfvCiphertextVerifier` takes the root from the +> proof envelope and does not constrain it. See +> [Verifying the Compute Provider](/verifying-the-compute-provider). + **Implementation:** - Import the Compute Provider package into your project. @@ -117,7 +130,7 @@ pub fn run_compute(params: FHEInputs) -> Result<(Risc0Output, Vec)> { let risc0_provider = Risc0Provider; // Create the ComputeManager with the provider, params, and the secure process function - let mut provider = ComputeManager::new(risc0_provider, params, fhe_processor, false, None); + let mut provider = ComputeManager::new(risc0_provider, params, fhe_processor); // Execute the program and get the output let output: (Risc0Output, Vec) = provider.start(); diff --git a/examples/CRISP/packages/crisp-contracts/contracts/CRISPProgram.sol b/examples/CRISP/packages/crisp-contracts/contracts/CRISPProgram.sol index 738d15fe37..7ca16e4cbd 100644 --- a/examples/CRISP/packages/crisp-contracts/contracts/CRISPProgram.sol +++ b/examples/CRISP/packages/crisp-contracts/contracts/CRISPProgram.sol @@ -231,12 +231,19 @@ contract CRISPProgram is IE3Program, Ownable, EIP712 { } /// @notice Set the Image ID for the guest program + /// @dev This value is application state, not protocol state. Interfold snapshots the protocol + /// ciphertext verifier for each E3 at request time, and that verifier's own `imageId` is + /// immutable, so changing this value cannot replace a computation the protocol already accepted. + /// It can still break an E3 that is in flight: `verify` would then check the receipt against a + /// guest that did not produce it, the round would fail as a compute timeout, and + /// `FailurePayerLib` bills that to the requester. Change it only between rounds. /// @param _imageId The new image ID. function setImageId(bytes32 _imageId) external onlyOwner { imageId = _imageId; } /// @notice Set the RISC Zero verifier. + /// @dev Carries the same in-flight risk as `setImageId`. Change it only between rounds. /// @param _risc0Verifier The new RISC Zero verifier address function setRisc0Verifier(IRiscZeroVerifier _risc0Verifier) external onlyOwner { if (address(_risc0Verifier) == address(0)) revert Risc0VerifierAddressZero(); @@ -529,7 +536,6 @@ contract CRISPProgram is IE3Program, Ownable, EIP712 { // census families encode ballots in the same units and a tally decodes the same way. uint256 power = rawPower / round.votingPowerDivisor; - // Eligibility comes from the power at the snapshot. The weight the circuit enforces comes from // the credit mode, so a CONSTANT round gives every eligible slot the same credits. return (bytes32(round.creditMode == CreditMode.CONSTANT ? round.credits : power), onchainHonkVerifier); diff --git a/package.json b/package.json index 9db51b630b..44ac755a00 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "check:docs": "./scripts/check-doc-sync.sh", "check:invariants": "./scripts/check-invariants.sh", "check:image-id": "./scripts/check-image-id.sh", + "provenance:manifest": "tsx scripts/generate-provenance-manifest.ts", "check:verifiers": "tsx scripts/generate-verifiers.ts --circuits dkg_aggregator,decryption_aggregator --check", "test": "pnpm evm:test && pnpm rust:test && pnpm sdk:test && pnpm noir:test", "test:integration": "cd ./tests/integration && ./test.sh", diff --git a/scripts/README.md b/scripts/README.md index 2c8c7e74e8..3c79983a87 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -436,3 +436,48 @@ Generated verifiers are automatically: - Verifier contracts are large (~24KB) due to pairing cryptography - Library linking (e.g., `ZKTranscriptLib`) is handled automatically during deployment - Generated files are excluded from linting (`.solhintignore`) + +## Guest provenance + +Two commands cover the RISC Zero compute guest. The full reviewer-facing procedure is +`docs/pages/verifying-the-compute-provider.mdx`. + +### `check-image-id.sh` + +`Risc0BfvCiphertextVerifier.imageId` is immutable and names exactly one guest image, so a guest +change that leaves `crates/support/contracts/ImageID.sol` untouched ships a verifier that no longer +matches the tree. This is the gate. + +```bash +# Cheap checks: pin consistency, Dockerfile-vs-rust-toolchain sync, guest source drift +pnpm check:image-id + +# Also rebuild the guest with the RISC Zero Docker builder and compare (needs Docker) +./scripts/check-image-id.sh --rebuild +``` + +The drift check compares the digest of the guest-affecting inputs against +`crates/support/contracts/ImageID.stamp.json`. That stamp is a **ratchet, not a proof** — it shows +the inputs are unchanged since the image ID was recorded, never that the recorded value is the one +those inputs produce. A stamp carrying `"imageIdVerified": false` has never been reproduced. Only +`--rebuild` clears it. + +TOML comments are normalized out of the digest, so documenting a pin does not read as source drift. +Rust sources are digested byte for byte. + +### `generate-provenance-manifest.ts` + +Emits the release record: source commit, lockfile digests, pinned revisions, RISC Zero version, +builder image tag and digest, guest ELF SHA-256, image ID, and — with an RPC — the deployed verifier +address, its runtime code digest, the underlying RISC Zero verifier, and the on-chain `imageId()`. + +```bash +pnpm provenance:manifest +pnpm provenance:manifest --rpc --verifier

--out manifest.json +``` + +It prints `"complete": false` and lists unresolved fields when anything is missing. A release +manifest must be complete. + +Note: the SHA-256 of the ELF is **not** the image ID. SHA-256 checks binary integrity; the image ID +is computed from the loaded memory image. Both are recorded, for different purposes. diff --git a/scripts/check-image-id.sh b/scripts/check-image-id.sh index 51a2142495..60b3b6d5d7 100755 --- a/scripts/check-image-id.sh +++ b/scripts/check-image-id.sh @@ -102,12 +102,29 @@ fi # Digest every input that changes the guest image: the guest crate, the journal types, the user # program, the build script, the resolved dependency graph, and the pinned revision. +# +# Manifest files are normalized first: a TOML comment cannot reach the compiled guest, and a gate +# that fails on one teaches people to re-stamp without thinking. Rust sources are digested byte for +# byte — over-strictness there costs a rebuild, while under-strictness ships a wrong image ID. +digest_manifest() { + # Drop comment-only lines and blank lines, so documentation edits do not read as source drift. + sed -E 's/^[[:space:]]*#.*$//' "$1" | grep -v '^[[:space:]]*$' +} + guest_inputs_digest() { { find "$SUPPORT/methods/guest" "$SUPPORT/types" "$SUPPORT/program" \ - -type f \( -name '*.rs' -o -name 'Cargo.toml' -o -name 'Cargo.lock' \) \ - | LC_ALL=C sort | xargs shasum -a 256 - shasum -a 256 "$SUPPORT/methods/build.rs" "$SUPPORT/Cargo.toml" + -type f -name '*.rs' | LC_ALL=C sort | xargs shasum -a 256 + shasum -a 256 "$SUPPORT/methods/build.rs" + + for manifest in $(find "$SUPPORT/methods/guest" "$SUPPORT/types" "$SUPPORT/program" \ + -type f \( -name 'Cargo.toml' -o -name 'Cargo.lock' \) | LC_ALL=C sort); do + echo "manifest $manifest" + digest_manifest "$manifest" + done + echo "manifest $SUPPORT/Cargo.toml" + digest_manifest "$SUPPORT/Cargo.toml" + echo "pinned-rev $PINNED_REV" echo "risc0-toolchain $docker_toolchain" grep -oE '^ARG RISC0_VERSION=.*' "$DOCKERFILE" diff --git a/scripts/generate-provenance-manifest.ts b/scripts/generate-provenance-manifest.ts new file mode 100644 index 0000000000..bec8a6576f --- /dev/null +++ b/scripts/generate-provenance-manifest.ts @@ -0,0 +1,248 @@ +#!/usr/bin/env tsx +// SPDX-License-Identifier: LGPL-3.0-only +// +// This file is provided WITHOUT ANY WARRANTY; +// without even the implied warranty of MERCHANTABILITY +// or FITNESS FOR A PARTICULAR PURPOSE. + +/** + * Build the release provenance manifest for the RISC Zero compute guest. + * + * `Risc0BfvCiphertextVerifier.imageId` is immutable and names exactly one guest image. A proof + * tells a verifier which guest ran; it says nothing about which source produced that guest. This + * manifest is the record that closes that gap, so a third party can start from a released tag and + * arrive at the deployed image ID. + * + * Local fields come from the working tree and the build output. Chain fields need an RPC endpoint + * and the deployed verifier address; without them the manifest still emits, with those fields null + * and `complete` false. + * + * pnpm provenance:manifest + * pnpm provenance:manifest --rpc https://... --verifier 0x... --out manifest.json + * + * The manifest is a record, not a check. `pnpm check:image-id` is the gate; this describes what was + * built and where it was deployed. Verifying a manifest against a rebuild is + * `./scripts/check-image-id.sh --rebuild`, and the procedure is documented at + * docs/pages/verifying-the-compute-provider.mdx. + */ + +import { execFileSync } from 'child_process' +import { createHash } from 'crypto' +import fs from 'fs' +import path from 'path' + +const REPO_ROOT = path.resolve(__dirname, '..') +const SUPPORT = path.join(REPO_ROOT, 'crates', 'support') +const IMAGE_ID_SOL = path.join(SUPPORT, 'contracts', 'ImageID.sol') +const STAMP = path.join(SUPPORT, 'contracts', 'ImageID.stamp.json') +const DOCKERFILE = path.join(SUPPORT, 'Dockerfile') + +interface Args { + rpc?: string + verifier?: string + out?: string +} + +function parseArgs(argv: string[]): Args { + const args: Args = {} + for (let i = 0; i < argv.length; i += 1) { + const flag = argv[i] + const value = argv[i + 1] + if (flag === '--rpc' || flag === '--verifier' || flag === '--out') { + if (!value || value.startsWith('--')) { + throw new Error(`${flag} needs a value`) + } + args[flag.slice(2) as keyof Args] = value + i += 1 + } else { + throw new Error(`unknown argument '${flag}'`) + } + } + if (args.rpc && !args.verifier) throw new Error('--rpc also needs --verifier') + if (args.verifier && !args.rpc) throw new Error('--verifier also needs --rpc') + return args +} + +function sh(command: string, commandArgs: string[]): string | null { + try { + return execFileSync(command, commandArgs, { + cwd: REPO_ROOT, + encoding: 'utf8', + stdio: ['ignore', 'pipe', 'ignore'], + }).trim() + } catch { + return null + } +} + +function readIfPresent(file: string): string | null { + return fs.existsSync(file) ? fs.readFileSync(file, 'utf8') : null +} + +function sha256File(file: string): string | null { + if (!fs.existsSync(file)) return null + return createHash('sha256').update(fs.readFileSync(file)).digest('hex') +} + +function firstMatch(text: string | null, pattern: RegExp): string | null { + if (!text) return null + const match = text.match(pattern) + return match ? match[1] : null +} + +/** Collects every Interfold git pin the guest workspace reads, so a split pin is visible. */ +function pinnedRevisions(): Record { + const manifests = [path.join(SUPPORT, 'Cargo.toml'), path.join(SUPPORT, 'methods', 'guest', 'Cargo.toml')] + const pins: Record = {} + for (const manifest of manifests) { + const text = readIfPresent(manifest) + if (!text) continue + const found = [...text.matchAll(/rev = "([0-9a-f]{40})"/g)].map((m) => m[1]) + pins[path.relative(REPO_ROOT, manifest)] = [...new Set(found)] + } + return pins +} + +/** + * Resolves the RISC Zero guest builder image. + * + * The builder is selected by a mutable tag, and `RISC0_DOCKER_CONTAINER_TAG` overrides it, so the + * tag alone does not identify a build. Record the resolved digest whenever Docker can supply it. + */ +function builderImage(risc0Version: string | null) { + const tag = process.env.RISC0_DOCKER_CONTAINER_TAG ?? (risc0Version ? `risczero/risc0-guest-builder:v${risc0Version}` : null) + if (!tag) return { tag: null, digest: null } + const digest = sh('docker', ['image', 'inspect', '--format', '{{index .RepoDigests 0}}', tag]) + return { tag, digest } +} + +/** Reads the guest ELF path out of the generated Elf.sol, which is not committed. */ +function guestElf() { + const elfSol = readIfPresent(path.join(SUPPORT, 'tests', 'Elf.sol')) + const elfPath = firstMatch(elfSol, /"([^"]+program\.bin)"/) + if (!elfPath) { + return { path: null, sha256: null, note: 'Elf.sol absent; build the guest first' } + } + const sha256 = sha256File(elfPath) + return { + path: elfPath, + sha256, + note: sha256 ? null : 'Elf.sol names a path that does not exist on this machine', + } +} + +async function rpcCall(rpc: string, method: string, params: unknown[]): Promise { + try { + const response = await fetch(rpc, { + method: 'POST', + headers: { 'content-type': 'application/json' }, + body: JSON.stringify({ jsonrpc: '2.0', id: 1, method, params }), + }) + const body = (await response.json()) as { result?: string; error?: unknown } + if (body.error || typeof body.result !== 'string') return null + return body.result + } catch { + return null + } +} + +/** `keccak256("imageId()")[0..4]` and `keccak256("risc0Verifier()")[0..4]`. */ +const SELECTOR_IMAGE_ID = '0xef3f7dd5' +const SELECTOR_RISC0_VERIFIER = '0x5c9770c5' + +async function chainFacts(rpc: string, verifier: string) { + const code = await rpcCall(rpc, 'eth_getCode', [verifier, 'latest']) + // SHA-256, not keccak256: Node's crypto has no keccak256, and any fixed digest serves the + // purpose here as long as the manifest names which one it is. + const runtimeCodeSha256 = + code && code !== '0x' + ? `0x${createHash('sha256') + .update(Buffer.from(code.slice(2), 'hex')) + .digest('hex')}` + : null + + const onchainImageId = await rpcCall(rpc, 'eth_call', [{ to: verifier, data: SELECTOR_IMAGE_ID }, 'latest']) + const underlying = await rpcCall(rpc, 'eth_call', [{ to: verifier, data: SELECTOR_RISC0_VERIFIER }, 'latest']) + const chainId = await rpcCall(rpc, 'eth_chainId', []) + + return { + chainId: chainId ? Number.parseInt(chainId, 16) : null, + ciphertextVerifier: verifier, + ciphertextVerifierRuntimeCodeSha256: runtimeCodeSha256, + ciphertextVerifierCodePresent: Boolean(code && code !== '0x'), + underlyingRisc0Verifier: underlying ? `0x${underlying.slice(-40)}` : null, + onchainImageId, + } +} + +async function main() { + const args = parseArgs(process.argv.slice(2)) + + const dockerfile = readIfPresent(DOCKERFILE) + const risc0Version = firstMatch(dockerfile, /^ARG RISC0_VERSION=(.*)$/m) + const risc0Toolchain = firstMatch(dockerfile, /^ARG RISC0_TOOLCHAIN=(.*)$/m) + const stamp = readIfPresent(STAMP) + const committedImageId = firstMatch(readIfPresent(IMAGE_ID_SOL), /(0x[0-9a-fA-F]{64})/) + + const elf = guestElf() + const chain = args.rpc && args.verifier ? await chainFacts(args.rpc, args.verifier) : null + + const manifest = { + schema: 'interfold.compute-provider-provenance/1', + generatedFrom: { + sourceCommit: sh('git', ['rev-parse', 'HEAD']), + sourceDescribe: sh('git', ['describe', '--tags', '--always', '--dirty']), + treeClean: sh('git', ['status', '--porcelain']) === '', + }, + build: { + risc0Version, + risc0GuestToolchain: risc0Toolchain, + hostToolchain: firstMatch(readIfPresent(path.join(REPO_ROOT, 'rust-toolchain.toml')), /channel = "([^"]+)"/), + builderImage: builderImage(risc0Version), + pinnedRevisions: pinnedRevisions(), + lockfiles: { + 'crates/support/Cargo.lock': sha256File(path.join(SUPPORT, 'Cargo.lock')), + 'crates/support/methods/guest/Cargo.lock': sha256File(path.join(SUPPORT, 'methods', 'guest', 'Cargo.lock')), + }, + }, + guest: { + elfPath: elf.path, + elfSha256: elf.sha256, + elfNote: elf.note, + // The SHA-256 of the ELF is a binary integrity check. It is NOT the image ID, which is + // computed from the loaded memory image. Both are recorded; neither substitutes for the other. + imageId: committedImageId, + imageIdVerified: stamp ? !/"imageIdVerified"\s*:\s*false/.test(stamp) : null, + guestInputsDigest: firstMatch(stamp, /"guestInputsDigest"\s*:\s*"([0-9a-f]{64})"/), + }, + deployment: chain, + } + + const unresolved: string[] = [] + if (!manifest.guest.elfSha256) unresolved.push('guest.elfSha256') + if (!manifest.build.builderImage.digest) unresolved.push('build.builderImage.digest') + if (!manifest.guest.imageIdVerified) unresolved.push('guest.imageIdVerified') + if (!chain) unresolved.push('deployment (pass --rpc and --verifier)') + + const output = { ...manifest, complete: unresolved.length === 0, unresolved } + const json = `${JSON.stringify(output, null, 2)}\n` + + if (args.out) { + fs.writeFileSync(path.resolve(REPO_ROOT, args.out), json) + console.log(`provenance manifest written to ${args.out}`) + } else { + process.stdout.write(json) + } + + if (unresolved.length > 0) { + console.error( + `\n⚠️ incomplete manifest. Unresolved: ${unresolved.join(', ')}\n` + + ` A release manifest must be complete. See docs/pages/verifying-the-compute-provider.mdx.`, + ) + } +} + +main().catch((error: unknown) => { + console.error(`generate-provenance-manifest: ${(error as Error).message}`) + process.exit(1) +}) From 5562be9f66846e25eb10aedfa7dca4fe97ff5d99 Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Mon, 17 Aug 2026 19:19:19 +0100 Subject: [PATCH 03/30] chore: record Zenith audit scope and tie guest pin to it --- BRANCH-NOTES.md | 22 +++++++++ agent/INVARIANTS.md | 6 +++ agent/flow-trace/00_INDEX.md | 29 +++++++++++ crates/support/Cargo.toml | 9 ++++ ...260714-Interfold - Zenith Audit Report.pdf | Bin 0 -> 3362049 bytes packages/interfold-contracts/audits/README.md | 46 ++++++++++++++++-- scripts/check-image-id.sh | 18 +++++++ scripts/generate-provenance-manifest.ts | 10 ++++ 8 files changed, 137 insertions(+), 3 deletions(-) create mode 100644 packages/interfold-contracts/audits/20260714-Interfold - Zenith Audit Report.pdf diff --git a/BRANCH-NOTES.md b/BRANCH-NOTES.md index 4765f8dae6..6ad7578ddb 100644 --- a/BRANCH-NOTES.md +++ b/BRANCH-NOTES.md @@ -91,6 +91,28 @@ caught, and carries `"imageIdVerified": false` with the reason. `check:image-id` whenever that flag is false, so a green check is not read as a verified artifact. Only `--rebuild` clears it, and that is blocked on the pin bump above. +## Answered: was the compute path in the audit scope? + +No. The security report asked this; the 2026-08-17 Zenith report settles it. + +The audit's scope commit is **`c2097da61b4d07c4ce83840393ff4e9f171eefb4` — the same revision the +guest is pinned to.** So the pin's reason is "freeze the guest at the audited baseline", and that +reason does not hold up: the audit reviewed six Solidity files and no Rust. +`crates/compute-provider`, the guest, `crates/zk-helpers`, and `Risc0BfvCiphertextVerifier.sol` were +in neither the audit nor the mitigation review at `c64bcfb8`. + +That is the simplest explanation for how the input-root binding defect survived: it was never in +scope. Zenith's own §2.5 Security Note recommends a follow-up audit before deploying significant +capital. + +Recorded in `packages/interfold-contracts/audits/README.md`, `agent/flow-trace/00_INDEX.md`, +`agent/INVARIANTS.md`, the pin comment in `crates/support/Cargo.toml`, and the `build.auditBaseline` +field of the provenance manifest. `check:image-id` now fails if the baseline recorded in the script +is not documented in the audits README, and warns when the pin moves off it. + +**Any follow-up audit should scope `crates/compute-provider`, the guest, and `crates/zk-helpers` +explicitly.** + ## Open decision: Finding 3, CRISP vote bytes `CRISPProgram.publishInput` decodes `encryptedVote` and emits it in `InputPublished`, but never diff --git a/agent/INVARIANTS.md b/agent/INVARIANTS.md index 74f576f1fb..6520f6723a 100644 --- a/agent/INVARIANTS.md +++ b/agent/INVARIANTS.md @@ -356,6 +356,12 @@ skip-proof feature containment (`pnpm check:invariants`, baselines in binds the chain, Interfold address, E3 ID, scheme ID, BFV parameter hash, committee public key, output hash, and SAFE commitment. The E3 program verifies application rules separately and cannot create a decryption duty by itself. — `flow-trace/04`; INDEX Z-15 +- **The compute path carries no external audit.** The 2026-08-17 Zenith audit covered six Solidity + files and no Rust. `crates/compute-provider`, the RISC Zero guest, `crates/zk-helpers`, and + `Risc0BfvCiphertextVerifier.sol` were outside both the audit and its mitigation review, so a + `Resolved` `Z-` row is this repository's remediation rather than a re-reviewed one. Treat changes + in these areas as unaudited by default. — `flow-trace/00`; + `packages/interfold-contracts/audits/README.md` - **A Secure Process derives its input root; it never receives it.** `ComputeInput` holds only `fhe_inputs`, and `ComputeInput::process` derives the leaves from the ciphertexts it processed. The protocol verifier takes the input root from the proof envelope and does not constrain it, so diff --git a/agent/flow-trace/00_INDEX.md b/agent/flow-trace/00_INDEX.md index 63ee09a884..3276249032 100644 --- a/agent/flow-trace/00_INDEX.md +++ b/agent/flow-trace/00_INDEX.md @@ -297,3 +297,32 @@ _Found during source-code cross-referencing of these trace documents._ | Z-16 | **Safe slashing-manager retirement** | Resolved | Retiring managers remain authorized for their assigned E3s, bans, slash locks, proposals, and pending routes. `closeE3` now also waits for the objective accusation submission deadline. Revocation requires every canonical obligation counter to be zero. | | Z-24 | **Build-bound crypto configuration** | Resolved | The generated configuration ID binds the encryption scheme, exact parameter hash, and circuit version. Requests accept only that append-only configuration and snapshot its verifier addresses. Rust validates the emitted ID against its local build, and the indexer uses local immutable parameters plus the E3's frozen ID instead of querying mutable live parameter bytes. | | Z-45 | **In-call request fee bound** | Resolved | Each request supplies its expected fee token, expected crypto configuration, and maximum fee. Any change between quote and inclusion reverts before escrow transfer. The SDK obtains a fresh quote when the caller does not provide an explicit maximum. | + +### Scope of the Zenith `Z-` entries + +The `Z-` rows above come from the 2026-08-17 Zenith protocol audit. Read its scope before treating a +`Resolved` row as external assurance. + +The audit reviewed **six Solidity files and no Rust**, at scope commit `c2097da6`, with a mitigation +review at `c64bcfb8` over the same six files: + +``` +E3RefundManager.sol Interfold.sol lib/ExitQueueLib.sol +lib/InterfoldPricing.sol registry/BondingRegistry.sol registry/CiphernodeRegistryOwnable.sol +``` + +Outside both file lists: `crates/compute-provider` and the RISC Zero guest, `crates/zk-helpers`, +`verifiers/bfv/Risc0BfvCiphertextVerifier.sol`, `lib/InterfoldLifecycle.sol`, +`lib/Risc0ComputeProof.sol`, `lib/FailurePayerLib.sol`, and `examples/CRISP/**`. + +Two consequences worth holding onto: + +- **A `Resolved` row describes this repository's remediation, not an auditor's re-review of it.** + Several entries were remediated by adding files that are themselves outside both lists — Z-15's + protocol verifier among them — so the remediation code did not pass through the mitigation review. +- **The compute path was never audited.** The input-root binding defect fixed in + `crates/compute-provider` (see `04_DKG_AND_COMPUTATION.md`) sat in unaudited code, which is the + simplest explanation for how it survived. Zenith's §2.5 Security Note recommends a follow-up audit + before deploying significant capital. + +Full scope detail: `packages/interfold-contracts/audits/README.md`. diff --git a/crates/support/Cargo.toml b/crates/support/Cargo.toml index e3d8fc10b2..d2b0617f8a 100644 --- a/crates/support/Cargo.toml +++ b/crates/support/Cargo.toml @@ -49,6 +49,15 @@ serde_json = "=1.0.141" # image ID. Bump it only together with a rebuilt crates/support/contracts/ImageID.sol and a # refreshed ImageID.stamp.json. `pnpm check:image-id` asserts that every pin here names one # revision and warns when that revision is not an ancestor of HEAD. +# +# Why this revision: c2097da6 is the scope commit of the 2026-08-17 Zenith protocol audit, so the +# pin freezes the guest at the audited baseline. +# +# That reason does not carry the weight it appears to. The audit covered six Solidity files and no +# Rust at all; crates/compute-provider and the guest were outside its scope, and outside the +# mitigation review at c64bcfb8 as well. See packages/interfold-contracts/audits/README.md. +# Pinning here buys reproducibility, not assurance, and this revision predates fixes that have +# since landed on main. fhe = { package = "fhe", git = "https://github.com/gnosisguild/fhe.rs", tag = "v0.2.2" } fhe-traits = { git = "https://github.com/gnosisguild/fhe.rs", tag = "v0.2.2" } fhe-util = { git = "https://github.com/gnosisguild/fhe.rs", tag = "v0.2.2" } diff --git a/packages/interfold-contracts/audits/20260714-Interfold - Zenith Audit Report.pdf b/packages/interfold-contracts/audits/20260714-Interfold - Zenith Audit Report.pdf new file mode 100644 index 0000000000000000000000000000000000000000..173b6720adb7bdf8481c38c69616e64401598ded GIT binary patch literal 3362049 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 Jp}v)v>-KNIF1Xuo=#RY;6<-0yt>>v8mYgY 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∓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%0DGZrt-Jb#5{V| zlqR(E-rYOKM@|Z$XA8{$ZmdiC#1EQLeqd3HhTB*j|&Y`w`ql2Wi(e61OM~; z2N(=%(&pUXKiOP=h02Et%$yM!bIUQDEEk?L?2HMl01h1xWrIedAJFbe2vIhPj&^e5 zCX56V%B(y{5sl(svc9Yowg$0YjYGp=^;m3mMc?xD=>ft8{lEH}XG^`F7>?iVsodYf z^*f763fAmY6%o~{30O2hVH#DA4ydOz?fgnMi!9V=f0e&nf=T0Au6>BA*~-4&OutCC zJtScx-KqJ<4{SQ4=M=K<2fw{`s~U+grF|02$_0>eHAEqijY}6N?#UUydVfosc8^

jH4B(<&wis-JH-!7_NJd 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 pbq$26Wd0Yx;@#C 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ŽjWEm5`pb#g#o2}N#4PP`UEU+AgU6~KCB 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

_g(Bk!8 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� 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

I58p&A2Q*2hsz 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�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%0D0D;$;sTfOnHcQ`ZPU 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‡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�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 z�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

8gg88+po0-v~opiLEj) zg$n6#WLRQmk)6Ed)VQ0B{lc(9B{ofk!k4whI^Cv zTE(6t*whA9e%_Vae00(Q4Bs#+s`v=nOc7rQFstAQ93IT!ZpZrJzI<5Mv)XEa>e=2( zaBrU5_EM{9F{X`CE)5}U>gdy`dU#OT{?tioN~1XFKi{pdsUwKcE5v>Q5Z(W3Q6Zh! zhZa5KG_SsFXfnzmI^m7sEYgl;inhwS^;hw7Zq$ynSa)d|Bfd_P z5wLM_#TJl;@@?%&cL4pgCuNn^w|ZG4h#f1x?AGqKL0WojyNa}%XS!(#4bl(P+`j1-A~^mziaXqYq-Du) z7H|acftB99dO&rOM5yq!8h~4*gu8|L!JFdjyhe?V(j*k(g3Y=${_WLM%gBbA4Is;j zV!k}5y}~80W6c55I#P4oufLntSWfm#HYzCCEoS>Y=K@3LxP=3Rtb?kIA?93@k22-H z*uk$@(=0AizXf(UfM0CyO8_4~Z7D_zw>ckWIj*>aj?g{0*(v>8RKoc!!Yh{Ju`+6T z*L4I}?4C8*HpIN~vSTI~n_RSJ)8weXStcTi4Du&h(!FHiD=?*F+AT>*{A|*-Wn#8% zFx&LKgZ*=HC#5iDgF)fkD@1({CdBn>)UTjJ+LIHbhyk*NiAkah18M>*ANYRV#iqu=D)I4? zavvVe`pgp^_PbxPOwuc^a=jUY6RWn{6yQZdUiN6QdX#IL?C(8R*?T!=?q+L$0JyzD z10eZ7zc3K_&ri1E{!O?m#-2LVtn2Q2^qW0#FFvYAsF>F6v<+76!z#Islf3zw#E~(b zAZPoip-4iMcK7PKhcA_8z+j*R9|r$2V@kAS&vpPS63O@$EbJP1B@3sVm`@|%@?Pm{z6;fd!p?%Id}?eZ#RQ%96bOV&HI7-fxK%4=`sVas>UuJNr3vh1>7+n>yZI zWNmZqBaZRuUVGP}{RfM>G2?ub!qZu8(HQy0R{8pVnv>d<8;-r#LCmC&I?Y>Z@I2y@ zfc!(>df{#(J{rhJE#)sFnv}BnIt~^b?45oCL6D220$8flZtbc4WV4-%*!PfiwB$QO zxtNtX81~s(k~4*}aGd2+yBtW^oR%b`ESDrPe zOL2-`u{>qI;RFy+)KE2RJpi3rQ@325i6hZJy<`k{Jd-y2(Rt9t(|T4Ft+|*wU&XH{ zQQQxmFrP=KfA=?nl>A>*{pH`ru!;g}n14`5d!OvL()SYO-Q@DOnj31@ir<&LwFZ{0 zEw0%26RyU%fg<|h!Z_nKys#Pm6;_MSI zLQ_ouf1464Z5kp-x%zPN_9S~F><>vnM+=I*LXt)2Dm3X4LAH{*wuo7_VObSnSyVK@ zJ8$kd{dc*JzXvU%3L3;!A4QEdu+8wlMQ<1=|!Vnp1>o>gPBA^D6O-J&f zil&|VIe>rs^}oaDCH+gO!R4XS(>L|Dm*g~B%N*DDA{lhCL^e1Aa@CgRHCHt?bmsji z^7-~`4J+JKfqb7c8no)>zSUVb35!a`I-ZwC9$&3C+^LpL%N$Q+ZMNjzo#GT(&>&Cm z&{+~EveWa-L`rf=-&dn6_QjPh*rh*DnQ@utp@!ZxvtjvNGr4Y}d9`X2RH8Xc%1A#n za-INS%yg~#NBh#$C2HM222%$ z*a_^iKsnA^kDwGZZS>rNeXM&J@Dew1Dhq)ju1W2uNqN)gL%v}znkKRrgw7JbKN8JY zv%n@x_@#SzbNZ||j-DgG!H)80K=9S4&|3`Q)n*H=8ZM+@wEk2I4UlHp&pzidL9Ct` z!9~swfdW%q0d1keet%-9A>tpt6)x|U zZ+kj8L_WJSgL+$GAV7~#b~5g|u?Tq%eJU$(Wc-w4yyj)+M_n3@h=Q1REj48UIpzx9 zi-5>omx2GaNSF8PLJ*JMwdOi_vBY1%IVN7k(JAt^5M|RJk;~-8}cfXx{y_7k% zyoV@M63O;@86~G;VQ(%k+Sit;|N&?H=aZ;1=^UH8IPOysk5lIx4J=ZC0!I=((PDzSu5F zS#8Ewh8_n?Df){a4!^+IzJElYWXNho0oLfwDK4C z@?$rCmY1YQA<~{OK-T{M5%pC8QTNZ+D5)T*lr#d;-5t`cbR*r}t#n9ti*$D`-Q5jK z!_u+j63e?k_4&Vd-nR8}Z&5Ht$@+@)6Q)nXznmq~g)Mr%jF(6f_ve#(f zb`xgafwdyco#IW{!+g!GmBr>HM>p84Lw=J~cC;zq&SR6A&Ai(xir@aJ%Jp0ow8PBS zer|K6E z-v~f+Cmd>w+h-sD#M2$MBbsclhNB-OP7gDouni)_UhI zs}k8^bBk1CzqVc z<#(k8oZ}q$mdpc3Zr$aH!v{Au(h+ZiUB~@ZeAdUM+n!;(Kt4TNA6wI4-RBk|SDGEi zo9=tUud2rIW?*YT9SQZ_QzJ3Tk?!WuJG(D;FW$3;#66OsC|{4QcQhSxMCs3+M$D}H zcIk`%G26M~f3yuh0>DJJBe4guQblx zCWEb-qlV#r7FV(1bA>NeG^j0+ zP4elgHUWVatKk|&jdbvn87G6AtUbW!6@#sW5+cbF(ld3nF{Gj0JMWA6@(`FVSYFz4 z>RSk*(ai`=0WalC2Qa_*db zK)-PwApxQolZL2deck-=?E__sSfh@*V(zwTk|htS+bAd~TlExelzxSzItft2;}lgq zxe9b~XgDyt#kkd3idRi6?9ulT7z~!Hs_b%{lR0QrI>bLmLS>R$P$)O0{TGPme#rku zy?z)EyHwRJ?euAzCp;B2)SgbhG%bxu59A%%6-(0IswR(7_he&CSIQES*G1KsEG_*(aI!W#|LZi}Snz;<hZFjVdR3w6eP(PsrA&v8lTo7c4@t__DXj@q8&4?aS3Gb6B_plK(e=Y$Akq zlDrwi5e*@sRHS3;D#<*jmD(!;m{(QJdY16xn{DZ2b#(In2|T!S#sA7lp|pU=4nXTj z(M8_9lTuNDKK~6LY}3nEWvoPv)yL=SXU|^^$1yle(ytey1a$fnt@0)39jD$c(G1;R zH|fHCS9vG~tQg2D)fJvHt~{|fDy+AW@R@Y!UPG@8BLqk0{NXtrZuO3IPE=(q2lYa( zY=#MMiCmnA0+W~n&Ymmw7-rzB!p8@NS9hUkJ3^=UGeKn)&(2lV_-P<_>((#Uw^C5s z?Lzvta5O`K@?t66Io;P{s$9z8tHQ#F7IYEj@7uVal!>|wYU=9(Sb`l{=U)_jg4a|- zOCjJ$o)NDwnf*?^+;Rer&vQUH!NDau=zR?r(UQ(Q1f@C;*%J~C%15%Ae2IS$ZXZ)( zlC_)bCVBpGOHE_!<~dG8^V?rzLG4KYSuF&7I41)3!&({7qE zsXbMgYV1UgXhu}0sd(l%yRYc|+!-icH(0uIW+#4f25^aU*X2~Iobol9O9-3;Q3#DA zN$p%QTl(&ZW(ss1mqxD34=Q%-&lzo7xO`XjF&*#TdUL|Oi>zewbh##by+zx@13uSt zAH}a*4IJ5AGTzk%QpB0PhC|Dq@mZB3kzO0>vptGk%6E;7#8%P@(*+*$Q-|??X*%mW z6c>Z1^@uj4O7;YfYHaeY?@$%%)ZD|VG(L`OGT}~g#6vblrzhncs=g#x27NZ(48Agg zt5iET!~A2a$4ZgECfkV4RiWKwLOKatKd*n%>91#tw#>cq6mQnqGwl;5biCn8t4w&c zc3Srdbhy|#moL~L(`ZJ)Zl$Jnbx~$hnI({`<8|TcbZyg7`SM8QJWtN`#4$dmPmzz( zs@;?{f;!cgJdF*~hL+pZ$ z&ahc(SY-Oj+{LO2aAmFry7?^}^~<(WV_E*ty{QVntb?(Zk7Fx`C=2xx=h@n7JYEl# z_{r}cHUu>MGFu|is8I$Nb9%X1&|!%vn-iJ8?d;Tw?2U%;73cn?`j8Z$&CtAo8sGMa zN=4PPs3dI&E1uc)S(Hr{9#QB$vpc>-*5e0Zqw}7A<;RPE;EL}*aJ8Lsc=^o1)1JY) z?bEfCvMqbl_vo0fWY8iX_z@J~X&|$F4>)o*R7x){?QM0T(edm`?0}YgEqh72d%BZ& z_V6|X^wCOivs4{_6)xn8YLIh<#6;ow#d8rXkFDB#Ee|mLvA5EIRDq2u?VV0|RTv@R zv_N)Ukw4cEkxFr~SdkZ#E7C#m7)oWf(p#{!bf+UT_rl;!4ZKm%!;V`5>jzBst<;(` zo)NX9#aBH_ya7JWuFc9Fv!E^sN=dJh^mNv}_~8uIcaFew>9}QG8rYHj z$9XpVUi_<4{ND2Ia%l5m`MOLAmn5y?K3J3Z_TL{;9pW<42DePVa(#t5RO0+Vios*Z zO>Exr$`KU#9RA_zNDPvg2)yPXS9jG#Z}-vj1T?n*>idU;o+3K^dI7u1~4; zjz7@u$hD|Q&J}uCW@0FD^!t(6NUtnfY#9yuy{%jlf2^xz%yXER7ix)Ah@ht;;iZ#K zU=}A^*c~;j3G6#r@4XPh<;<+pO}o#-}Zs5!CA@Yy2v)?xn2CT_D!T z%nz_mOxVliGs|4*IGZ_@X#P127>`Kq%2(WTFYTpxUR2E1n~lTSmGbs;H`NSI{7%k5 z0c@m7T)6-e3lj2LxmnyTxek30%yjWHx7p_HZh+rH=Ub8Zm#EICNdE@ix#YR2PoiY6 z_-XLcc(B0bX2tnNcgX`PCxq?@8oQi6y%rgf zA6UqFx^MJ%ik1uH_5$cx4rWz&k44Lf1?^t0#;C#x7w&X;Rb0!cu98lskn|0RFdi=K zL6><4Pcd5Vetc(8>PAm#;c|>f@T5wTpaJ0jq0wgc4#WMsZ&egj%~!^>ThRM zTmYBuQ+t5}ZYEgSeULwGVWtIu?t z7FhG0`4B%PT!WM6)AQW+M2`7+wpIO9qAx&yujCm2ADZInsH_|+0#loqe`PwUGsLUb z*!=48(5UbG)ed!JW37$`>$Tj_7?HJ#xlt5&>C+r)6dAeDGO3Sx_8N@I^P|6ddCTGK zzPlz0(Y|8Tk3KyiDda2bx%8?2{>OD{@8rc_U#T$iH6S|S^@O%i^1H-Z>zA;9VU|^E z$mQ{y9hn~1-C?YBpJ+gX0`Fu&3n(QeN@LMGaRnhXc{ zmWeM&L*i_I|115@&Vq&g{%n4oJcQ@$>MLIMv-YvdBL|@=&kNnLwMX&p7$UCKAVEja zircgd-rttWHy=>ppK0BMT=MBaVFPz;OKC-yGsv^k8xs(*yu4{ zzbbwYU@i1>p;%`~-gog2ipslvFG)8|?-1xH9eeEgam$K=>3aIbM*>QLj0oq{MZCPh z5Zu?Dn6((rNp5MVlU@DmnpLE^OYH-t^*D;Q1A#OS8EG_%Qz%)o7M6QrtV}L&aVtV( zgtq0xyNoJrD5j%X6nu2gF$eI%jiv>OZ+~PF&nAZc+%dkiU@Qz-@HR7cP315v`w}Bf z62C(yYuK_dXoBxDA~$L2Vf5DD_T$72|_US9kM~(}0{2}*;w~V=DCJN!j z0NI~>S#bi6N?maT3f%GVJ?`+nCyhhJ&Hr|V2=UYc@aPB~dj$1H=|C@srtZMrY9`JVK>Ze8#5oyeWn`@*FJ6DF4ivvg*qNG#=ngS%ByY}$$@Q3yekSmRk!<|2` zQ)`wyl*CPF9>G26Cd*hLFRY^~1f)%m$@=ZAJaN@Yw+V$gTHAV9{RFJVgliRH6hh7!%Tb!Z)Pl&G?UlBUfQ+)|t78(tnwL^mwE zw&k;j?H)ecsjCM&rea^!52oe?gQCx*YU2M!0eSz;&N>2tO2v(?5(lHxO{;?D%3Q1%O#-vE&@0< zR-OrK#<5&JXB&abV_{}!q8{qGwYEL(^(1ygnX!8f`7MB`>FvIXglLL?(f2yux#mr* zHEC^QwJDB-+&I$!rBKAf8!7>xGZPu2Z$m^ULD}==vbh3;GCcQ#I^u0_>D^kJU9b9n zH8Z6n<7fIf*x2$AevbpN`NdDBaZIR4csTo}M|DSY$(k}mY(&BuQw;G1is#PUBh1E0 z?*gq5waB?xl?ZY@^a>L>Ov@d)y)Nh>vbc7WQKsT(XI>M*o|ZSiGANR1rS+G_8z0?! zI!EK)_Va|Q(w+Ycy-eZ1Z{n_1d(Gbu5N-~K_DHHZsnd*8NY%ko z1QmRcx+h>kYSrOUylR$&ii1qQq&vIwytrI2pJDeiR)7ZSGwoteSYB7y)nC`jvO1X7;834J$it#eo%U#yhTV)6rV6@cP_!d#c8(6!oo}^tu}%-)mL@b!(RI zmLum2`h}U*rry4(aa%K=T!>Rg8;at?=Sqmu=_tq3xA*x9TcFBGiU@8lA%#nMmIiO~ zJi>EpnJ_=I(z9yw2av=LD$5PYS{lCef0MH^WDj zY`|zxpy!h>By4SpmQ$Ntn|K1C#MB)J7ls@;SmW(RK5FZ0#hM8WWJzXo--~HhTxo>q z$7R#zIDMvG{|Ms(g}reU;BjG}h`{Oqu4`}v(__|NaJ*GfAXN_LRcsEvNYXK7f}czZ zkU6j~r5KWxEZ4^KQhxLPIsTn9uM5{qW7xea(@Bcp#y1{u_cZdLyZeBrBwUG-IIk_7kgAA=mtP?)_OX#MDV~l7xvl>@#aOBoH(1%4pxAifG z&B>`>VS@G(AREee-yYu2L##W0-=xLSeFx#3|JT;a3(=PQ^VumBv9QZwE1(Ct-yo$4 zj`OK*8YO>ezK?WjhQ2_+b&3=DjldMa>v*jH@RXOw$Lr?B66O- zV-hnu5Q9h(8NOwe?&xP7*t+?~ilK=!WoMQ|ejB9J3Y(F0&DC$VJEhtI?dS`io|@Ck z=Gyb`#D3ef7(PSTByhmh+%hjs8Txuc!p@>sTL$Vk=yH1|i-DMz(h6eT21`IY|ENs* z8bLcZ7VQeYAmS)mMMFCx>vAI7q^3}}ZEdvrR0JQF!AQwrIndlkKcVqqnTn%neCec5 z=$==aN#rp`YBG)e)shWm*vvnI4^1uds;o^r>E9MNUZk-mU$=UEe2tijDil+=Vg*yh zIf)y*7bl+>r-cnkm5h%wGVKKFspc;Tos_fea)|%tG;@!)egANp@*?Dn18?{i>c@qf zEUx>k<+ezW2(A3-ZM~!#N)RE-)&5FMRpIpm@YA+9IU<+l9T)V-_b7Mu^s>+{s}i3@ zjZy=0en6Vz1yjgHGW@pUedSs7OAd4a={S(5qnoYYo!pX2^j|%keNIEr?8=vQ@XwM} z)>Vu4JxoW4$5ZzGmD$mOd4Jtu?IuoPmvXe}oG`o|J4(w(8AqT^r8=( zs)0O6!swNCw*vn|W8k-nbRy`SS+2G`Enie{R}$o4yz$L%R&&Wva;|XeFBB5I2kY^STNljXLok=V(+JNh(4m3L6l9Z#$d4Y>M zvKs2Me5{YJ3|1;OE|sw&WHg`O3*P<(H5H!ul$pWf5%S{OXn z#gE5}NF%R9i35icIBtrpf1IVr$j_X+>{G#hv=OL;uyYe7aldMU?DwGrK#0K4E8ET< zb>x(J_{wWkwXKcd3N(CBTzcT}A^UN}EesG!nE4qtY%g#S$Ua+Dk~vxK&7{APu%v~o zjgVk)%C?cTG`0DEzqEo);G9M%-}kWXZ}Yl$vf;ig*jPNZUCI9dqe?D$uH+je;hv-M zNoz4V-fU?$oO-mnU-yL6y$zHB<0Ki@+Jg@@L+A_&+^qLRKGepn_3a4-qi*8=+Fu=} z>%C?nceS)Ev1CBSo7lFJhkQaXOe}eq`i+^GNjLGEp6r1VN=NK+9L4y;apd`ox z0{<3r&%g8#oxqEaed^O?5cR7*Ck43|U=BgjL2hgOOl_J>^0yK@_DR;^euc?(0@hZ_Ff^PSv3=D1OEcV@Ausq7{~LZ|cDseT3e*+p z*}Cdr7Y_#8%3|tT6ocWb+STq9rFem!%|e- zfdXIVa$>d0RXm63I@-;7&=2O&T21sh+uo{oJ{gHS^`Zv(lh(I%c@{+=9Jrn>kgRkZ zT<)pUexYBX-95`X@*K$+^%o=1eEPPZOA`4cD;AKh%e4U>ROH>_W7j{`Xa_58o!ruN=CD3g9HhI|!YG2>V#6o{2tlHiuB0 zlPSWoZ1kyLA9@rZ$h%TxMqBQ%$|-#RHI;R-A$FMbqv$o}b@yfWjXphNt+|Tvy=Zqk zYbD3mg(LY4kL34D1n?)9P13j782~#nHiK7&sA+aQn$)K5o}BMJ-UeMLo_-w`?1HV6 z(I)&J0?1=$w^>%fb#HvS+>{t{3Ie)aa^hv{60^wS8JZQUSdXJOn(~qe==h(3Sq&)Q z>lQz2tanSCiJi8bp2}|bxya-c=cMN6bc0pPxo#kwrN(KZC$3)IlQ}ye?SBG9xNGdc z4(ZL`k*sbrwVLRv$6u>=nI0idKI;R~mnEma@^4giWyLX@iFhY+?&qCOlqh>9H-T-( zNWb2sJ?fS9Zn|))Z-SD=V$oDUbDr|o*O@<=4rjjvhRQ0lHi|MlI^QoF@~M^<&2qWy9!=OjR!>; z+@fT08&=~-kP5Kl1!ZwBF+yBwjT&vY%<4=T)>--l{k{4bQzsv}?+S$HUkwJP1JNS0 z4gOth7ykR0Z;)$fEoTW3**TfBZLAFOC zCIB9fyGib%y7<**Uj_MMxK);r2bKj9Ob+;4?FrqFO`LMKHNcmZ3x2Gatj#gvPiAD2 z5p0gQ#gWb1B{N`Sbx;zfN|=bo?dbowPwAzfcaD=HNBBLUg<%K2^}*H*qPUr(Nc>Sr z74oi+nh<1>ah_=hvaZBu?9>w6FImuwo0Eh!^PHh-ZrOIk)Srnc#5DBUmpux0=vg+2 zTF+m4Pgh|LF7gT;)>iq4wSj2<(U7^}z&-uAoX-x-cM}c-QQHWVBGWptdnECe`MrOP z*6GLjPjHoYF0@;p>3DGKXkq3U!&4K$sfGJSXgwRB-Lid_VWO^A=V-Ii@A_yGpWLoC z7l-i^U>`sHx|pquhiz!8i!B4C;o@^n=gXd_29N2h{&7zlUzMAbufH93LR;YAxL)1$ zKM&j;u)W`J*2PbDmtQ&xYv=MmtmItxZd{}NB3Qs9y|=T(2K@CDe|#z-a&juglwowO z#^WiLGfsA8cqkXOYmV=cuWRU@P@HO~0aC7M;=EO_{}5Fa^^01zHxhUJH;5oK{iW9Mve6+H1kEarC~X zc>FUzdy-<#)FhYa*a$^?$f@WL?71(Q)=(ajRQbUtE=DCPuKO7;Hy0bE^_gNeUk$p@ z`@B9hIdJ>iWA6vEhw>ag-u>P12K9+{)yFwFY@s_YHFsfGxmW?@N9uQqk1E{t?mlN9 z8%vgXE7G~aT{?-{w|e!CAwfqm|C|`-pA$R#6Qqt0v)HybUFi3vM=*I8CVh*bx|`)% zPZ%+gJn{pNi0hj@KP?pQ6qC6YOD51yC#Xy%191?NyFEe2HGO1+Uo%UUfgoIoUwnl{c0616)Ah5cr z%$mFib)|vC1A-KiBcxhN(vjZ?T$OD5mt|Z&ma3r@qLum6Lux}6S;t}b3M!%?eh=%OAhHFvp%5ok zyd=V;!o+$~v+R+)xev`PXwhct`9FOYLo2GyearIDbyMpRtC6Z}OZ8mUhuU8MvF)Se zkH6VfSliWmAWOL2t!{$~{scPmOX2JY{F4R(d4_I9q=@RE_A*LOMCI;Sdl+5(V7Pag z6Af`wfo+L@CBgOP^HCpaia#ZD07ooGYUO!1_p~6YclZm|^24oj>-AQn1 z?boxW(eT^5EZy@<`;v#zJm$yYocjb#Qy2<0j7O!j$pnu7YV+2n{RCQ8Zn#;w)^M0b z>kD)dC5Emz#4rS?=?SDB!pW8&)B=^L;BRw5RxQ0Rbo~wnFPcr12|7*7&WS!{6^0&E zKJ*TaEa7 zc5!nX7NRbWb!xbLOfAP%^vU(veB$I^k~b@CEopc~hqtOI8nqXk?DLK-r=s#HVquc? zqhBQ#Bv)1bH_fBWXg$|8S6xR;a&4KHIoj~v;NG>TNFSMToFKG8KdzG@a%kf8Uao&Y z1vB#P$&=p=l5=AnX|wMSVpo=jo!U2Nb1Y*`02W*t2(B{(%fiS?Svw6 zW>XfoCdcLR<#BfJ#Xr8W0OIr8UvhPDrWB$txvk+dOlm9WL9S_$Op}9AWotgkO>6OW z<>C{(VFGE6rISn_MufTw3FxvrBy%<>M0aa^d^6$zR8BzrgP`s({@X@ujFdWWNmR@h zo4=!vGz>k;_G8D_&sAJmy=)nu-j(xml`Sw?_dIJxE1l|Zm2@VWEzP=v<5op#Z+?52 zXFHeo(TeWz-L0s#B%UkKOz4sWkWRV&F*(C^Rg3!QdE)YYZNCaRD`jRu;Wuk#x{6CiYjsiRlnqeKVyoaClWx%E$8A)m%RO+D4IL~s$9 zys+%BxbGp=7A5C3Q*BtY$GC`@P>r)YL=K}8O0Twvv6BbM&2iw&ac$9LGeBnYw zG>Bg}DJ#nAY?;;?p|#UEpu^#tRB1}$XnF7wM}m7gM4;uoyS*U1XUs3dI&D$TDq)DTEyllMm_-|Ek?9 zM^Z|UOsPka2Vs=S^|?KS6(iJvh72MSR^7*B+hD?#xjdIyh{ zOsiJw9>zE1&K4#OQ}(J6KbMYR6!H@Y@y|!kxoV8Wpy(3#<2scs;KTL6(^%Y0hW$1g z`O@7gYW!`M0bIevfCU53NRr#S`95FsNNIld+;I4(rjg$Jw=9Q@kar#sG^!$U_CoFA zuc?w(G?SOEt<8tv;8dA4AcwUYl|5c_a9p-TsahQlCW@f)a3X9Wm3;*_yY^4HvV_9K z>7knv7IM}gvitiZnBE67(tb+Jg^z3%nd5`XV~CIYngUFp^ufX=aAq3&Pg=Oc4EUF1 zU;fTlI~)^dm{g4OWO|C^rTE1m%xFh%dE}iNC)-7kXGDuL1Q4QrS4KR%C3AmT=_WOR zzT5piwOdkWYDFc2Bkl=BmGavg28VkI-h2LBs8E8V?eCX%!=^b~BW>k)v!M!gR}!o9H2SQ71qd zM#PoRS%~(^fHv`Vc8NsmC){w!@Mp6H*xC}^dR9X6(@9d@N7gE7c)*_zIx>i?SI4;r z)!ZIF6ub@^{erY{-v7&|(uC)EXk~qBV+LfibL|D>RtC|+^(**2>^hekC-K=2g_uPY z{QeI4$^NWA;iYn=L2O&DNg_~O=1WHM$yTuS!hS@`fCmTJlK3j`VXIE5q~du8nYaiA zVFh9Uqq$p&c@K>@EF3@jL>~yzM|y*4Fvj_rk@1dg?*ygks(SFjF{^ZmK#vrWKIcr&Ls8=+wn1Fkt;cbIqa@^bN4G>Jqu{2&ujAHIilo#B+u$L2sM-0Mq$7}3w_Bt6 zTb9S0?|HnPXTIYbNuoxp>(m@&8?j7uUTv6{;u35V`J5$NkOV@AvY$JXYMENW><_4&6 zWb`4_p@hjwh%l4Qd(T{@Rk=!58nvQ*FFxV|QdK3%Kv}BY=Dkaa&r=_$`B9SJBg7_| zrpLPo?fkL{_2(L2X<|M zF3D79i0ax__b4%HMbC~hJNE+6*Lz#ImgU0R+)K5`D=!6{_qhJB){x*RFE;NCZJJS5 zv||uEYUSi6$fi>e3t-&7^qUEg<4gUV^Go75FL8*d*(`VO$ zKJOY!DG>qgce~?CogS)%)*&3aW7=jw`k0qawx3}u*oUUz!=) z2t;D6nrYSmwGa&5JT4`;jVS!|_`E$nz9aYG&cGO zZEiB7es`0tpge++2Ulq*_Duk_BbdoRrH4LiBP)5gUFl)i{8O-)tB+*yAj9Tf?~Z>- zY6d^cPZRL$S6MFOJA(q7uy|2^F;*t>RBMs z@{l;yJ^k7sffWP}mfYoccVY7gKdb}y7ehq+VSV~H5RQRs%k7(dHQ{bU^otF(J)I@fTeM6HJrJNDuRnA52`xV2XbhNYKtpF$r<1($I|VnQVd!D!(KS8Za-q?*Lq`qs)Wv)F4YmrC?rV}O1r4R7TWV~Z zJrXCU>bl3Pp7Q!t;YF)UXUe?@BQ^})W3pOxwmnVc(z8RfacI3Pk+=hXb1xFCkww|; zqcXtk{~|(8)OWqouABbkNcX;h1bn~3?%~~9e~3WVk~hNJbZ#?jZEvf8IJLBUZifhL zJk#DHQQF6FH{3T2#re%njl}}n;Mo(jbzV%Iz zSF}1t>Y&gYGD6@Pf#N}L`Fq4+s=$X+mTF|FSPE`FV;#0k;|@`Bc~|6nLto9{sW{0n zs(ewb6IBbQ+aKdCQ&2J?)0`Ynq&I2k3;5@E`&5>;B>>9W#%5YWRyU*}J*BC&d8IlA z__@sNRIjoVsTBafIEyW(g3=01-%ha$Ed$8hri{8<(o?r|=HmW_$84ll+WMrE08{P_ zXuCm$ywsQHIBRT5DOQBv7obtFQy4JEvpIL>d0n^YgQ>uDmsH?uD(c=Y%a(tu2nUp4sMl&jVwWmn>76swuk8?LfM7aNb2$R00u&iIlLbTE6{z@jq z2NRet`;xr9T0c0tYOhAPAlfMNA>*_5!Y5@GI3Nc7c(VHnjjiQ8OZOJs%f&~y$AbUP z9fw1*qzeTC3W&{(J(?#vRow%cX{o_8IeC*o>gBiie8L)h7!7ejuc%}~E+~Fky$9TJ zq&kl;0ur0|ki29s_228tD6#m$s77dciqQ*vmrDkIeVFjf6aB-l zRAxI=NWHHX$8tN4zi6wVU^$!0>`->&X@g&DnNpv2W2>O2zPP5=w$}FV1-S)QZo)u; z4EW2mWLiG73Wafm@xp}s`<m7cc(zcR0 zu~tB{iK_u_@p<&h}f=`GVO~sxfz*sS0p`1{twk-9)=rH zB-r2W<$rX4do?GnbMStA6JL#uJ!SN~5?TNJ%A%G!B2MC!=LD_Ovgx{iuq!2Q$y-q| zN0pT`00C28&&j09O%k2_o4niaTKy;uxHxIaWP6`aYtuCFc|f-j7q2$XN+vu;(CvO< zi}fSGP5^pT_;bRYsnaGgN%vOBTf2`{{Cp0DSKu0%n?0I&acUrA6^2Y1{~3K4$43Wj zVf)ehED}b`p~@k5@O&X)(G1b$I@s*&o8`2u7Hla|BfID@D2|D9s-?xp!f-Wf%^_iDX`4a^`v4bJCOZsWb_|EwG#e=@Q(nRB##O1J!T;oJKB;lQq&+9Su z*ZjsGf-~euZ8QahRKNj*UJHOvr5}bvqU%=?lX_hN)=bPOIE?HrIL}I7O+O++Rqus* zZ(}mHvj$@1K4weNoiP!lRE#?jF3st9zvN!nZOL@apm0g~kr6G|tt;&2m~|Y@`oUE} zJi7|dolw_?FF>sw;OUB#=TQ=QfP44Q_H%_mESO{S!;aOyAlQLYdTu!iRN@5YjSLYKw*@6e}oD_kQBS<|L29JS zF@eMsse&f1_rx*det<_E*7%n7EBN8J)y5*;!~?h;+P*&+wqC7vH_9q8=uU2c$-HC* zlS_WaYIDPtiu9$SZOiS}-BT7;Dm==bptJpM1wrp+SLLNjcw({(Hu<{YY63qSk*M#z z)<@OQ>1L0(jvV7;DB}CX055Ahg1yM5grXxPoJd*N!*+BUQHxJ}AnEL2-*Du3VKB`C z`sugelV%}2T%|>b(mAp;*3bscdC@=p69>+&jY;0~DLG=s(pV=TG(}KLdmvhuA?gj@ zgyP0SL4bkbQ%|4Wt4fl`e45|Lze&Z~s^R#wK7J(qn~DQFu&LqxS(enD@A~B2r>p06 z|I+)_6jHMu*8PR$=I0X0=#1y~(lO*A?lpSa_rFfSEpjJzX1HXzixq+cH}BFE3hJKU zG825`pC?Pn#QqXZED03)qzrb`9~%J2{F2uG_WV)X724Bl{q1cFS0bk`{((WE)`jFG z0>J<*2PRZK>YWSgoVH9dfsH*M+u7yu$+?cPL>{q-6GNc6+xRE?)?4BPtmfv|o zr6wt9TuN@9RHea%K4<){E@c_Bgsd_+h_@UosQ!@|Kd!*1i==@Mb^LJIsAlC4qqzs- zJy9&;D7vzFSe=$UjX}R(8@(F5g->5gTEo*ebFxr??2MEx;+b=7hVxzJNOE&Radgd zl(a;C0;%L{r854iiDo*Pk2GqDgLrYPsHgZK%G_sQHJ4+B$yUMT;H>Q8B-gvxrwfCR z2i{q-ue|QWF|=e@x_58&O+XecT!^y4!r+)CuJV!y14UHBELO@)zWtz+E_F($xwT^HjOk3~uE!$CW$;mS&@+CPDpr6OzK zOWQouyy$$hyaw>pzUI-^a$oN5Z>M=Kx@Ku65ii=7+gUb@+vdk^I8B=vfJal^KGh zg|#`7z`oRse8dTKIH5Ing$|;B*ceLu3l8poAQ>glkNsDz{FENy;>m+hTg7gd@oQi8!74LPsl!%`h#@g75Rn*q>1B)Ny6=dXm z;yMXIz?DGZmqO=Mw?Eze#2j{og50xYwBvlRP78HX>~qoVeoCr z-^8$a2KO57FHXAy8J6DjQ_o{$*fDg(Xo5CCcV6yo8X{y^!Kc!WPK8=8P(FPJIr9zo z@je}HmBv^}6)-W*;l4M7&)SM{iv6YuXE!Y87Sy^lh|*xu?oU~Nd<2403HLDbPfwsz zJ^+**na;T=_I!Q%(2l8Q+&pcY& z!0tt*5SSVKxTCnb4cYgtNMGttFK#8h3t#NeLvPe0?2M&4*%>W$v)0WjM9V=%g%=7L zVN$wz$x(yOWhD2G-uX3T6uo7@)cDmq5af|&7?)+nvRCm~M}~jN)4TVxGL(>v@UAJ{ z4Y|;@>Yd@CSAQYP?-*_$Od!*;qc5U_xOuerew~jMhRhxJ!eSvu5{WZ8LKr7p13r#p2}W1t;kTZ=Y%D*qrq=YUt-%3 zZI&A~Tg(|A^`XiE(eL(`^`4opHhy?koxSwM7n4pp2|~;>CI2ijh|d-FNbTFyft7ys zW^K8jQC#?$YWP%kh%|=d_0UsoW5mR6OguRPuWQ_dr1atqCt-%BTjQ689bu8F;OhP5y%WG7M+&Qhb zf!|_ly3MF|16AXq3gV2Vn-4n~H-QP|J|biqxy7v%sit17s(v=LVTe*z9Nu!{gzb%- zv&^xIOcH4W+Ry883uskNGNJy5AQ=Bc5St|7CqXiyp~&hh{rR)(;~|tjN!~ro);r7i zHiACh;|dq~aZEGa&IRcZ^lv|q@G$_j?Zv^|^#r&(Txu!gbvCJw>iHUeOe4~uE%#Y#cZk`CQi5!)<2L;|p2p`fTdD6(}Q$0{D$106}uR`dA{8UBB4 zef2|>TNf@3N-5IaHH3n63JB8DozmSycPQN*(%l_HH`3kB&<#V+<=*cc&oB31c=x;4 zde#$b-&rL(i^ir(XFn-#u=wageo!C-a7@hciF^Uu>`hZOU&JVdkc^dQ<*($=+ba8H zNqjg-M@rzGE7H4upKv0a<}ZwOd7atu{$ysgllM*Ei6P>0K+5$yL-DLLK>*#!4ISGL*aO-da5_|x@fNBIP`ctyrOao#4_D}PZ)Z4{HOVg38i&0o1u1WKl0GyZ_^tA$CHN_1~ ztSR;x4~6Mprc$PAY{KOeUT360trYVm!QnnU*R5GhPBakc{pZ|B`YGzJ;UT`QR}9B= z66IJVU_5N#qgi~1rAzGZ7XrXHuD;Pue71Dv_6JipjSY>HTC=*Y-(Z_k`Ph&+_d}nZ zr@UF#rOWQ}PqAtPHcpm!bZtd?egQVQ!F927IGQkF^L7*iCbvN zTR7@*`Q)w>{X5TrggnjP{I8BY!C&m*m=uU6Ps6(a%Gj^m?d42D;K`Wo(Q>V&XWwUz zu|_{ER41%i#^vay-5W z-pw7#s%2KFH7(BXzMx%V@qS*oIJkHgsnfZif6K{150miLc^4$?4S7rmjj(yUQe!K_ zx!dRXLXtE%vw%SsgbR-=I>&94o|b5L0~r}-o)+@c1vaFZi_eQ2Cy&mtJxgw#{v@;H zRWG(9?&v=m`LVgnoX`euU|O=XaTqCWKJQ>%?_%y~oplcpnOE1CcHNM}{``D#c=c_y zXJdo4__1InSNZ4Hz7RXYwyQR~Cfbs)mJCGLaSn>=AI5l|ZGyxZ458VdP6yPj06?*P zn18=D$A48CgKs?3EuJjOH99m4wJWg_5AaIh-0E~NZQR6$lcDtJ83{YvAUd`*e>aY4 zUMoxtM@VjPbKcS$wwni_a!Y*B8AVelboOi`#clB8mYWvYP2%#BDo1qDC1{-;uAt|L zW;kq}d-y24_(C`gXsON4NKxp<*MY~Pq z+B9olqM+tD%hZccr%i@ZISHBHZrm-7$8_}o0y1si$x&eMSAZGx#@T;ZhvjaQ_GUQk zNpj}1e?lOXqqyDwbOvJJwKxL$g<+vObL!{quK9~a1ulpH6rag zcGH>8C0ba*`^lT<87%U1V0<3<5C8n@&VN}WDEGpubu9Zf#Vr~BN()e4psM~xIse-u zZAG|BsY-C**@+@S+qLW1XDv+HV}N3<>Z9!QXHPYHl+{c|s@bviw$$25J>Z77dM4?c zofzTFGr1d$<2;)L(wahfVB#K}<|k6bx0^3w@wvI)b+twavQnZ5~72x!s&%MMdApTQBVtcxZgK zfx}T~RC2MK{m(Mis#(ci(9AfhfYS6E&`3<76qa+2AdVRWRddeGuuzV$d{aTq2Ujdm zVE;Cx%Y;NPutsRXj3)LY+WQ|pu4y?NtavKt@Z@&uOPb`0W{X2w`X0I5Yd;wgopHF@ z-XC?gh90E`KO#Kkou4G9`@Q+!@Bc#iAJE2~!^?tqcP{bN-E)X(l%~j0g}O^tTa((K zZDM&|4eD&1yAMSpRdwce(+wsyav1TttzIMgdvZ`Pefl{OP_HSw#~m^xyb;u7-X&LG zGd+J0d!Uf{9!_KD9YF>w&d&5U;Wm8!qF-?ht(c+zC#;1x9(ZTU5_Z*Fa7d(Y#YSlnk3dR3rBk_o2(UAV=xHTVG}N^uutv&b~amiOhK<%tvs8)aoMG40P8*a1J?|pG=m6HB4YIRagj2N=25LDq(#PQkd& zDJrx_B%y2THj1+T<@nC-0{ z`ciyAwni30=&+!1%N~^A>QOsTX)B&u_5RQyKnau0$0_0fEl*T*Yd}+F-;ViSgiOsl z0lr%Sq?P(u;fTnsfMdxs9J12;)Lo<^%RjW>7 zgelTQ!}`W!l8ps`0UD+M<93;OCgM8g%17Vld`{@7+oMIv{r7GKx>5xZ=+r`8s8t3NbZuSl zlsHYLa6}_?+qnkee`rVet~LPfpC<9baQD5uy@FDwPos=9XY;P4skVF)BejQClPA}sw2?d}0J@?POelEI#oqd>xZHp2LK2 z45bfadWY7Sl+D}vB4MZ;ombqhVfBJTtuJhV6~onUrV^#DXNE#ZY8R65&=_~Xa}{Uh zqV@`0#olcFg~si^LQ(zVd){{QyD63)X&3(-xp%KrR*)Yc!biUROJYN6S;d{U^cx-5 znT~}vgqu8E)KFutC&v@68-1{Ab0PP#5)&jmVO;*oqBOTen<+18_X+%4^_N@>Dgy<$ zV+^z|po-ByVs&Ah=H~JzGSad?<_T*Tk@lyi>N+ySFwVCj!_Vx0a$+`(JrYpe?Jkc*5Zm>qq?p{l6^8kfJKUh#_I>4tV?Ox^; z?9RjDdn7d1pZWrgMp#_7>K1=U$pqfX-4CQ2uL)_)Jqd1DJKJ~|z^)Y5bEA`aqS#>n zpkBK9AlcM70afUO2jfNB78!=w8P=cZ3=rJ9w!Ld(ms?bnrZ&m2j@^W1nR&8p<5Q4b zXDu`;=%^$(ON@xDmCLF?Z2F`kClF0rQs=2H$;z>@nBnU-C*v~K)X`xsd*Kr8et}UD z+4o1GS=Th&stDVARLWKlqT|4x`p9OC^NuaL-`&{xwTaf$-@TLTgJd)eq+$i!-s zFM#lj&FlHaD^it2pw9uKet-O#6~$cv8Aku=oEeD`X(A)80_Pn!IAeSF)KDWs28Gdg zh;_^hk%E=bf-I~^c-Ky)eO`yut7wfA)AF+HEkxhh$rq??mPg3^kM{HKrQ>fK_whOA z_i!oTq9z(lski`i$+%-w>Zvr~MPyhQ8}H7a#Lm=%IXj$Lciwh_jMT?$I-ohE2>KCi z1k|QH;Aa-ZN*pm|;qN<|aHaSKdK~(;+Pf(keFkUm0TU-S&fKmFL2VlEFgkh6Kf;)S zT3er5r;sp*k3F^TaZ>oq`Is0(iOy|)-{f-erlE;5p;KQr=6cLS<>Z5 zT=cBzV1wAWVf-lwyOJTRdW6X5iSgw%&Yz1uN|?%P!5`?-EM^5BA3pM@hhp%y^2QKv z`ksOKKyA12NnX0eRl)=aRZenxe!lU1`CCq;sbHTYYo35Mv`dj{vMAKd7WDTnv?IBmE zi*rzu#M9LRIV#O*CCxm&nA zdJ36-R8QSh=zC9rZ3|nMmP|OlINC~~<~tweNUCMB+(|01r1`Om273&C)xN;oAF}R# z;V&5+fhqGc!~gL$=3q$+Nx3<(_!<-4qaDTSSn^dZU%UYfDh~q$sLd~JR<#3DG24+nzd0MLo2<9 zFYe-@?PH!}rPN^i1x{nh5Nac$M_EviQfhTrd<(lqy^|;=={~(w?g3MgT}{V}gU{lE z9;pIa$vh~9{em)@frt>E*(FEXKMI12D^rDCoGz*(#d$HKdlBuW`Ak(j^kw$$b!|kh ztmfD;prOomV;$%Lw?@UhWHU^&I%FMFS%P&#`zU-6F0#9U-(zz4xxn}y)x z=S6Hy;gZQ<13M;i{1yOyi*JDtrh_R=?CJbvB3(((qT3VrBf||WS78C-79+z`#Y>N#6kuAA*7Wu>Hf8lQ(wbl zv4o!(Jop6Sx4D50qGfmO1B+vI3DT3zz31kk)mkVJk2IubMl>bWU*jv%w(C78Qn9{m zc4e}y(FIMD;`9}E)`x!KcHBDHV!wJ`=~Iv~JYmG|__ua0&w$oX3Z(Qe+7tO`%Fj=& z>gU(}G%-9ZsreS`cwt`$=Kzh%=XnFzcAlE0p6VPjIH3Yhv zd-hm_bhYjlsWx+8M*~y}?c924;y3+;@0gdsky9`J6@~=rA}Rj;kqW?X+V739zvJL! z{6y*c@GvX-4-o?XPgr@~bEWDC4tY;{GzTIe{YGIsb6?KK-gp*oo8)PLZa36=GBvoD z^Ji*yc{h&sHoceLedq4B+n;hAS-Rshmq%{hL3P%v#A%Z-Okq#m`~?lz*E?lm+J*xqZ%2*S3LliU!z&w9|oqOOwW;h z@_NpilCcU9P?*@@K)-RCqX-&f2KEy_C;oWG5o5nL#^;V04_Vjq`8B=a1EZ`TX=lJc!2lqLgTZoiCDqn;7dGA2n~q)udDoRW*uv;8XvmtMynn2M?i4JpUoT z>_@DDSZr{(*XmPwtNJP7hXh!WgP#(VQFhww{0G@`)l?fo+Zg*sUexx+|FW)7@ZX81 zgAT2yX;6-8in8j@k$0 zBK{+4`tEjOG78^dqpY|c?FYKy^pId`!c6cZ-AJ_pau&yU&UaS!F^$~J_HDno^jKZy zKA)Nv)_MN6jJ~%?WPLf*d#9ytGI_gP(#B_i!~>^P z=N-9OYWXJC^~#xjWH^&PjIl2TP=Nc{C*c5T(7hTYpd?`LW zeG@{-m9xvH^p)ieYw?4Sd|Omey5!^f#E3P|XgWh}URPwH<@)R%!TCN0;<-YQBzbl4 z#`9rYj-B5HQQYp4(yqP?O$$Sj`1NUj-;5HYOu}yCfp$a0_Pbkn4Z#gjfW1#!NnQ#> zZBLMei1W12@;&N&dzEEeZIKz~G2fGy0N3iD#!{~OCafosz4m3W|qL&D2=(Ewbq)CgwBNf2Q9QbM`ic-0p^yRS7#DvPw6u`u$Ym# z0-8jTXHMsMI08S5rQELRv2yL#Nf$3PDBdaVat<@|u-}O!{-wI${(|Op^h&%e#|b#x zaxCIIRrA1sgL$nCdhPD)W0SD;7QPX;g{`UGrDRo8U6&5XPm-t4hygZUzP~V2-)Np^ zE;L<1{fdi_A|rIx(={RO#o6LMbszfMQ%DYrv8Hlubyb?S>=ot$+zz0znBZrcA)uvp zNd#svNfb!iwlImP?_f_FuzK57tWhtrx>Wp!N!)S6ZYXN@Ilm}MJf*-`|3 z{REjyaeAw^>ZE0NRIGG>>ti$VaWjEle)Y{(ko9ucbWLNbh}rF9!Dx!0iRGrOt=~}` zQ5Ul%qEi1i8NQ&)hFL;3mSz(cBuD4A6)r&{rZgC*QNap9X%fbe4WB7LL%~TmFU^Dl z=qr^*aD|+^J#?qeEqkUjTWN$J860}6@s?XX6j<$fIIT%@*^8rKvAu{wM~X!>KEAnh z)$81IP^3p(!x2d(5zXh!N4j68SBxRKSj<*N=;}utpsQ0*Y|#5MwYSl=*k8 z^!cxOl%GGSAm;Ik$NL>mEK#-1pYZvstZ0@Ljf*u(x08>TPl;;9$pD$$%s!pmg3NF1 zhp9#(s_4eyJXnSNRG)wDoaYcP%hhk8FP&^wL-aiabYrv;xSO!1S&>PTj-mS8EgOYU zs^`X9dI5(MyMha?Yr3B}{R%mvEsr^V#Tv~Moog%+R@MU6U+P*OggP~krpZ$le7FQf zzGGh9aD61gW*Z>`nCS3-7Bsdw9A!W12hrFq@N<1PMcn<=Eezex%^h@rMSlV>SI z$wZ~e7x^6N-1J1*GUM78Fe~*`B{A&%nRbk&DGpd1u&l!5Na_^@b8(u#tZu$r_AEI% z=!*5XJ)r-02M}KAUTY8=wtz*5qq^UPEmJ(}adm~3mV7f9__k~k*SYmZ<=78Z_QNjx z(WPDwumBi6YD(N@2Ujx82ck*-?O@LX)AS08b_fz;yyoU`h}~q!{?Mf^C$qlPhHdeu zl5CZzJak;K2}$cDVXn5Ze;`E?6yzX++$$jAKhPP^80b5w8b5>O^9#OPT{cfaCE0#@ zwcZiqF~n5hczS7aLSB`hHPyv8@dD#RRZ<1)3}Et0(Wwa2ejcww=+^Z znK{YK9)fE7fBgCBYuQeipP3YF&MW~ZA4OApCthIjO)XS zP4yjZ!#j~?hQhbIjq0as7X-F64yWr*tBt2$Sg@I9QkA1x`l&lAEq_%rG1F!73Pvrr z8!CXPNGjEMC0@rCW0a7p&W0wF#g@GgInel!10Gg#&=hLj^k8u zq8(_dwC4mOPu4rJEQHkcpZr`tIXX<2nM8DXJpEH%tO1t(im;aT%g0LsR*i3a^@$$? zHncA*ZQy=-?MEkMOLu2SDT z73oB`w`fun^t}w94fEVPtZ<&FfoFFf>3Y9g*RgN#e^mqb-!WzSIaNIIA}KT#6mlXJ zw;{|bpLjT%_qcX^hIsecwKpNTkb|{7>4H(RZ<+NQ*_2UoO0T7_K3V&!}AS z9&D#bPQXobZ%h+c@nNp%zF+yh2SN@vIbl|n@#{uiP0#n8ec2(tY+BWveXD&0ZC;&9 z&xfQL2UxT{FIq6Bln5J{Y#Id{#KEl0v?Bi=Q>EWuO6+n$^W*39=E4<)0OvWCoVp~A z)o{ZLFjv@Bk;*95{T%?%!DcjU!zy`ybE4+xYrbjBa7H!MpjDwO3nKST>A|=cc7z-={Q6AOvWIP@M3F_^YF{D3&v`ul^|Re z+L+&XfSEs78x>{cvrye@i}ajDr!EOo{Q~=P4WF}pR$~7Nt8C=w%}1E@+_j%W_G{(O zNU3!`A6bWlMSPmW=|Vg7o|tcB{O{7y*BwKrhaAv%-W*JiPqUtFJ<|vkYzg&!ZTDF> zx?j30Q}!ADJ&(E0PI5Y5WE2Pv&8|z_dBZ||-KF4MqFS2ovRX`>NwK`3k;6ScxwO)y zxeF6X&ZcE2M=i8(h-}&KXT}aOziGA}X~i>y%!O6atfT4r`{;kt-29N3b{!edYy%fc zbuiZ2t+)}Br8x4O=St12$$pmGSZ)OK)c0u#7iPOxz4@rTr@jwDU3Jf42`zXlcd~Epv zb~G=X8g&gmQ-B>NKX!Chv{+w$GwF{xd-!6p3#z>w4QyvO9X*X}>+s=M-t1~!@?6S7 zf5%hGtPg;FHOz*4T-0C!f|VD*u&07-_)3wj1H3~nu$lHTDVC3$pRrX?V2R6A1S<&= z={9gqP*Yv9EVZYb77tnGjDAgR?s;C;K1jFh%_a-W%3**?(;{2m28mf+B#5{n$1B;(iw9f)+@j4;`926{I~ zq{~<}mPOmsm-w)seBKKk2Dtvl&K(|` z*)mUo85e2GI*62t`@v#jHPFKJBd!Sqc{0~a>1bIEEut2fS4REVsM}`tN#qgW(5vb` z)*MVW2&}=+_s9E$VtuhW7X|_NLy({2Lm0F!;>NVsd~TN(diGuj7xp@rLA96*%XHx5-J~mNMjoOwAz}-}lkjBzJ#Fg-!9AA< z>0;q7jv;>c|9oc%-O%@c^_a@gh`!KaC#11gSJWJS>`iL|_w8P(+wPvnqs>oz9I1yp z5J4Sc;_9WAP4cE_J!6m&H=2NJRr6h%V*Z=_bE>s#Nj<$aYVA|r>$iJzd!8`0ZC@pr zheowve`SJ7D0nzYaqujD50(Eqguc=->7b7@U%8`76OLFVn&(dr+s0}8H~++Pd?37> zCfw#r76+N)m*q44IUQMVgORkncgDfqOvjWH5YBK~DCL}tPuI!1W4K)4GsUezf%jj0 zc8CV#G;~h)caYKvRF(xS^J)&&G?mho$0|kHZ_0R+k6(y9WCO2i1QLCK_Yh2g<0C-) zdF5?+>APFxdfAwd;!Z`$hPH+84~Cg2q*XhDuxnMuXG2zkAM6XUz$61MgYrmjokTQ6}Qrg|Aq2bXs;XA3gp$yc^1 zVKnEqIE9S?9NW~r+d{XQ^>KK0rplpF2jx5NJNG34dH}#$5pQsT>xjl6;6E=Kw_%dV|1C?5$13{IA^@iuxD! z>0wpkq22HxCI5Lgt*~UlE3UMEAij(6UYYnVmT!k^{H~rgBU6soOgrVmhT%$Ai>;&Z z_>Yq9#pM=<^1OMip_z71bO~*E&nT_+v#reD^3lzA8xHEYG}Q(6x%gqxGEqKM!P5e$ z^qg!y^y)_n#8TpNI%kR^-QH~M&Y3s&Rc3jd zrlL8y%wxGo|qB}!r*IdP?(k!ty`{P7KMP^rvrNpMa!-{@3{z&PlTCGDN z{WjSMOr|Ez;Fj(Rr}XvEgLI?a==Yqpva(Ny)lLdVHcG(vLUZ3)E}m&Fo}+^U)5#4# zqsc-uX*cXCNni)(*O5Fpr@LO z3sz@$Og-movqM=`s^m6WbY$1zquLmFpOVwPG_N#lD-#FZ?k8_Wy1$c(E{!>L2*jSf zX}}TsU|)D8Ec8@lQuGOYecO8??(;LZ{?5v)5=msCLU{kA$YYCcMkL@zndJdXV(Y-L zP9GakZ;uC_EROl(KNr!5>~9U7?>SOKB3~^7-+yH6=l6P;x$dJi668^0DLm!k{1L%Y zyk}#nNjG)^Gh)2lHpah z2DzLMkj-w}mJG2ijxD@Gd|gF;69zqW56sV(x@Nu_JXypDLeE0Pp`G?seC=G@_hS zKb+Z|G)C8Rh=y2V1aX3F4fh^;%Sy;$l_IZ{QZfC&(J?e}x^Z2YFC-9)2DIl57w)TO zHo-K5W+TY!9K&8-0r8%25GG3sA1_VN-;p(&OCteovnPdNe!yjQ-ge!otPD_b9k6fc3L`sb^=?|Kj5z z58J8|S^~v899YAtw^QuM7*xJY19FNoH|M!S_eF%23P%5A10kcXuV-Y)TDUlugiB5wP~L2ueQgtY4zV!y z=^IRGj-HAtQs6mCOFkgVIw5d>=Qb1(OI>FDZF7UiV$f5@5rW7fi>F8u07~(po8YF< znuHnnCS&@nSa7-;5YvV)FIYZi?!F(*Te(k?_Dkhj5fIC(a@sgM6G~P_Fm`g_{{59X z$x8yB4f_)Tnj;>R#nd>YsoSLSJS;#%$x`_pXuB6#hq9g?|07P{P-1T07c%TXvz) zKiJs>jHVQ5srGyjgcw+UbONfPSOuhUM#yBGykAN8+Eq9SD;FGEb;MxdqN}<(CiwPj ztEVgUyAZY^e~?MTq)G>U(k|n+82Ghz5$ks71IJ+(Lskz5nu21q@LiWneG^FA4P<1+ z`losRvdLK&LydjLacUC>ZodALt-C&Bp8XlaGD^rA-=qu}R3bnA6$@fwr z5opa|Vw~8D^J(1CXf^r5TG+ToA>|NC`4d*6u_VXjH2I#Jp~Y`q5{?5JNay9xD7Go_ zLg-D*B(XPWd;N@yFQN{~Vw*jw+5K+K#xUZWuSpE3l*Y?(7Z651j`3&INWyq&4{V_( zPUyFkf~5r9>JMpLPhMk37G$U-5%Q%-8_$EWc{!v47Um#|39tCO0g{c55X&0(0uQT( zR&|?-z;|bPD_%tJE@a+yah~c;6Mz*)?bTS0VR7{aZCn2Z9Z(nDHMLf0as&D(y-I(%uZ+e=9z2lM>AH9NqV= z&h35^xrul;y(6`F1CUHtvaG>g3c2BYlp{_vYbBpMG~z?D(Nm+^@JUDL{HwNW0o zeaZ6_I;pS4Tp_s$fgeSi)0GXT`GV`&_?5M$Rnkw!GVJb7fj@BkYgfg*i%Y4=oV>h% zdHX)EvEaixd+(a}gl>67-6x~3k3#+{$eR9FHZ5jw(bxKQhEVj32kza>%%7)ucIvKB zIu7buL3M(6Bdkon9nrhUR*+NkUAc!xgjb=ybq4sM9je!$xxDQ&r_J`qlpfiCN$8P~G$A;F}@4*{0uy)858o5yAb6uT`OvWz1rJR^H*o+@9JG+iFeZ!j?oKmZ$K zZ5EBO*b|KRYgqg2n*x_^`EV|Bpic{&+N7*{mxq`&h&bxaOzWhYk+7Zwq<(9LDWwZ= z?I1h8>JZ&4IMP-zKPKf<|DMrrui~46O7ScR3zDsQsN;%ecZ+o}GEQP`48NdGhO$%oCOUb#o> z!wnwYbj6ZG7C{GWKeSL;xs(1RNuZ<3omX$PxxC!3f6~l z<b@ndm8)f;LrYQ=qB@;->O3B zVV|RX2_s0atMF~R%6F(A9v|!36(ecEPJq{sT3w=VsDSf9-!`RU&8vtxcD;wKuAfX&lmYWCvqL;dui zj;VcpKhQMCvP%zY)*Pc+za|OV#v!P1cFi4mb31mk@2h)g?P~9+at3@MP%WxA{j5P4wZ)E`0Crr+BYY|l&)3{+>Qj#{5^r`=W)-FbPGKu9Oc;MyCz zkU%37(yVlfdZ?^-IG@bgX^)v)0yQvB$ToxN9BwfJ0J!;isBNH1TZnAe5j(ppPBuN2Zdp3h=@W^D|x zXgVoFO_G}ECca<&Z4xit=WkKKDFUv_NT<~+S6ycr1!-~KCZgMw2U4_gtlhVkWrT79 z5;6|i>&@4EgerPVVSXJ3CJeXR+HO?hnoV$NoTi2AEXXjmbr_o~axy|Xw(9`-O2_7} zvi%|RO5KFQwfX>l+}3OvKFxi!pPp zD{|ZW%!~4Ge*?WRsJzU*c zZrr5>$gYY2QPo9MM91$DZBaBGR=?)1`PovsT$hN znEfaL(76Z5DxZ!HsO>`I+)gb^U<%wqi0gt4X^aZ+-D6ycdckyU>`U8Y*f$o+|J zD&7N?t-(O+(;+e6e9MFpXC|&^ZIK1)ov=Bsath3T&M-w=CiAh60xbzrp(f8YBSW%Z zu>*7`{4SLd`HgA?_jl6Tt$S@R+o5-=JwJi<_rQ?^kVU>4U&Oa;VRdrByjZyC>9>?v zRmuuk^+ena8HcqHX~$Qaz;x|&@N$koAhLOY%a4+k?nrfXW4bge-aJIq3c25HDyeAE zUbH;G(UL+vJY+(?F-*f^V}^blH5N%-?eqdVjXh`MCy6qhp?Ilr4)z)*HQHgXY6h?r z9b>&a6&;Dqc$_F=w*voMN{jX>L6+ZlF{xme^bZEh(OizNWGa}WXITU?V;*98rMH#C zIt-u7^X)f_oick4Dh#yNpf*?cSsoj? zV-ttV12Zcoyzn3Le+K+k!cKM6LeEWP6O%>=ea78Rtl+563@>w<~RnBk2cppWWFL!#c`iqY8PfU!nr z|K%Ak!sW9ye)q8NJ5qt+j;B%O_TT)pyWMkny^klY6fcvbkx@zyd&fNtt-G966P3QA zAnjXeN+fA^zAzlKEj!UjxNvY?`uDeRCVJe>y{vwgRr*?!YSvcxh7f6DUMzG2*HhTXo=kr7re7-_23=!uOTTMwjZ{P*zU&8M*M~-G*j-ZPv zyOab6ORnpou6~I!>>BfkFD~LgFV?cT0@1*)NEoxZ3vYi7gk>_|J~pR0VU{+JZ%EhR zTIQ~`QllY>VkwFYQj9KLj+=h#vJ&5=q6T4^72;TZAf3EvJ0PUniBe);pWV;;e8k5= zRbR64@cc-ohOP!DD4-;i1wVp4dP!#;Qz%$22-bB)*ceu$j_kT_vw$Q?RLGln4fy80 zO*7#Jze}^=nd4(io3nLKN(vM5(Zm@bH%41?3q_^VW*H+bBZR%w4!hoclY;0n$Z7p( zHyYh7vW5Q6YLrI=7x^MHcX5&{J@+YzR31uaGtYm+PzY{l5Fb49WcHB`H+BnV>#KzC&oT{1TpPkCNR+*gB%6h+XvS9{-Ybdu>XGhk5Su)Qn_?C zyL46Xar`)&Z+e&ZY*E}aO)9~9JS}wg5_{pRYv;3q*&c$MwQqK-w-k5dCPxi)%&`a9 zZS~vOZD^>l#kM}RRwOIKW?h#09g&OHM$HBR9H32??L1dKo}=#gF3MDYd5rg1IV&ac zbO_cw6$e|)P`4knH%|&vvM&7L2>i?cXq^`{>)S*a)WCjU;z?oh?S?;C9ZN9}Sn9an zipuD{!H78YKDC*b-I#77WsuR`8GeidNs8Ire&^Xom~Zzr5y(NDYO@z`3~k+givj;o zSnyal>~_M`gj1o;5AnegsCpT?jQExEG8Jw(<%q9cqSZ_khgl&XIvmj8Pd-4w3|z^# z;aSjb*9q1995ZimQ<%n+s-J^&_CS9rWbWBTa~*s0h*Bk(m(hqg$@S zU)xZl^ND@DA@Rv=3U>{DjaG4xS80RHpK2KIxnHIE$AHj6mW=-02$v?pTx_F~qIdJ| z1E%f+!=P5WjpGdF5>ayPF4#?w1C?C*vUY&>?=MAxBKN#a0$)o3yaOYOm<( zXbS@gdfUt4qpra0QD)9NX*GLX83Apc9yz$TLP??1{2vogm5f!Wj24fVv1Vca;_tuK z6)1E;SAC&u%$8Z1Wx+J|7;b_>2z#K)mgxa|YH&5hQQ9JQXCi;@5X+sTqR;Xhbp3eW zC;GMX$(W0e7DN?TLVd{n6Sw^Gi!O>}^rDt%tTxX0^%biGw~a!14z6?f3W$T=@8kZC^5Z{eB&SUoFYq~vpIke5p{qW$ z86#hda{Z-*)6qGIK5ppy1NEZZ0qsBJ>cIXU)oE_1D{lKo& zH?ykB4}GkMUG5%DvJMFP;3y$%%kti;#_vHsS2T)NV-sW{${H?uFSz5SEjI{W`@L^q z8qWgn_D>ESQSW&w78~KxALX3I%FUa#NeLJ*hecLn4xhUD zOji3XWA z{glA5gOG$1k5KsCV9|W1pnBR5`7HOS>$gdWnNBS%cx3LVy>WEQe2ROAUgfG`*3%p< zzu?aw4@lEacrS;%bs-~OGs`mBCo-HYiLe27CwPR{r3wFFav#jU(f9Sup}5h$;r^W> z>qWih=4$mt?exmg#^J`*CHIyK3-4`}z9|`F-z71rUEs?d)kAlQ-%#F)#hJs4lG!&p zUu|6naiV-m(Y@6MPb$AnJETUh1I3RVTJRo62~13{g(KSuo&F$vz7h?0=&QV(VuJ%) zfL1N4C@`-L3Hf%ZTxa5A(|6WuF7Yi0V-p6k1`BOeZfEy8mi1y)v>rRoZ*IG5=|5@jP_rrSMShySbNgQMoPP1* zanUPK6|DIU(Bp)c6KV8!3=LF!FLE=DCL!cRH*m| zov!5#O@Ob@ph!rqaxs4Mon@ zwmZs&H$iYo111_vNM?-kWC8S8`BS@FPUCknl^;K2s4`si_{q`m_Ex)W_o&M3h`T#E zx-=!?&rg1oa@u)fC5=)+9~~0^9iOLtO1S(ziMNY40M+6V&URomm;LaWZj0!z&x-56 zQqGdeU(7saD-$WA{+ke{j^C=S#EONmzVDqE)#WoD`lB>n*q~-BD|SQOio79*vn9K5 zfQ>TxpK0XMuF$@%xjCg2ETWC#X6Y=RjD?M(qJ5KV_NdXL_CQXIjT^(S`&s%JmwOT^ zFRXBw-^Lg*|cZsJP$6nyj!StfNTjytuNbqe4yW zb>U}HU>{u;;?-qa*9Hf?(Xg?hFTbYt?OgIJMP1=tg*fYyuYF`MZr*f1O99`sjKz&% zn7W<0XG(O*v9rHiGf3d=btwXBRc)4KQW477v(Iy{pK}jIgAIxh!0@x{tvpnIcGg#Ftp7Ax6noMaEFawj4YT5zsu#zDhJ}^9 z3`xDV-sMdxjO2@&UZR=?<+XM{(n(4cd063kuGaKEX5Yv3s065#;wB}$4H8estCnsR z9qD+-ic_eBS5DNjGq)TAj2id@1voA%!+Cx}gNemOk}+Z?qIE@!dw05K`rx=Ji2A5j{D z$Y&_BMh3dvK`nv5`;OCqBF9h{XWa*ekND_6H`t3g0#A#hNLO3f)A-PJR+i_ohmc1D z5D1($tGl0DRd6o-sEwhGB9?yS6`UrPnb*E`uK+LET&u%9Y!8`$vops@V#zRRYH}c z6dD+6{nc>dJ+bLC=3A=|_Eqf0c(DV&qZ#QEzzzW{UeYTJ_4HX-B1$dAPl52M7U?9o za*k#nZRn7Mj2;)TV2>r+Z_Svyn18Dy=#A|+?)?Y=An93bF*dMlBfNIbrk_3@mz8N9 zla<>4Yi*I!el!NH^)OMhNX-X=eXfqN*j zWPh5_ae)Q?CJl*h%)(k78mZvaa>bDlDT>>573~-zyHbXLHF4M!jOZRaaXxiMN9Jz_ z4l1MX)M0s&(`;J25Yobid&oaoLto)sg%DUs#(E)Bg%xEp4n*VDY*EihW64d_G|hOh zVA3!E5jA~&UP^aRuWwdi36Y}FRv;lDYWj5laqmYp*6cx9>y$ikRA<~ASD%WWF?~$! zi&5?++DQE=dh)kvBz+G{2KO&$^2fK`B4Mg5vyqxo49`QaYlI54mwtdL(v&-p6fxh9 zGq&x5&f2#w~4 z(iT4vqvF7-|3O=C`#(H=Q($Fnu(N&`BW?OlS8vU-u>B#}HITM`v9ijcC7k&XZ$4#ly4Ibt1( zL=5Gq|GwC2TRK-Aexf$8Sw!UaaA0a;)-+Z8OAKMP(~WPxqLZGmfBd(8M}=~{w3#)U z5Lsb@$)ze3c%cJGtXn* zIkx`iM`h0M@@!204E2t%v;VKv3Cy(7rKeEFF=@>E`N%UcV|yd$ViJ6n)WYi-=51du zZ^8un6p8Z-Tgszaxg5Qux zYG&2JcfOMc6<1tS8+l~1&M)hXqB@H&pIzBNv@nn_u9MybM3E8aitdfX!B?-6XhDP~ z?g0x|NO7;P3?jW85y(O_w0Q#GI#I(sIzY*7?q0(~8xG@bq+kFgU$FG253$UMmMHuu zjziA-b$*8pIQZT0izSt=m3`YqTaA_aRfp2;eKrJwS~*eY#~{6?lIE}T_5-F`*n@Yo zFHl+h!fvn9nF!{Yiv7cdu=P8(F*I$xN*gsiHu&TojwK{s$mL=I2^FuQdL{pH90T9K zQ5vFFXW4Ij43m-D4Oh2jV(pxZTp&|-4*rlaLq-n@We*RL(m6Wec!>iVeI zQ{usQ(1BLQSV^7S1l8m86cW@nZrl52Ee={gH7!j>pmq`evEc$}|2s?;psuX^a7S^t zOp}z*2(l@7E{=e5UsBm!Ag-l>tcw~tJ>Bh?w`R!Q(4{kJyBZbi? z1{Gln`w)0G!_U4RHH~^GXW5j9yeszD3@`^_{d^U zeYg0UGaX7H-aX;0>p|; z&n-{HklWVke(#TFPViCOD@kFi2Yh}^D?bPda~tL&}IboLRj}p*<4zWQi!#(Qbh`ml9~G~@T*2rIvta|;||sI z9V|QYCW7XGqk9Qju=@280GIeDF)IJ+un+!&diej`Q~~OPGr}@=?c*xu=PVQXL;oht zW5AX$J394VdpJJu4X5H%j~&XrWt#$MIN^ZrCiHQPh1JGBoACMwAy`HhUt$57>H%+x z5C+Ik;&^C2yTSFR{J-*1Mo&U-Jvcv~VG%Opw!4|xO4(ve&ts^aW)27poG-J6cw@`j7*H-+R@C z9K+Nh91ucgPje1EFcVSXU0rq9e2=E}uq$2!j)P0q~;oQ{8Q zZ6CT`I<{ykCK!X0ouLm!uf0!yDNq-^d_kpwXP?zi*oi+c>o%J@PpXDWWI$5&w&Eev zVv}VO1tCJQ>_%xJI)_ORtmP=z zAAWlu(5A26&4r;)@2^XaqztmDh5kfdxs|7KyH1^iac$%9@?FG!Iim8n4zU=XEw@ub z>9T7)6l;7ns`PN=;ZAG~)9X^vx%UZsXzkvs&iHk1xXEN1d~~x105S-^VpLWGLE_W@ z-y7-te>akdO^2u>P%6<%(5erTL>I=~<36S>D&_thW=eJFb#IgxBp@nid^lfTlZ8pA zP9Byq3@)RIo6v&I;$d=|~!vO+`tjHe}o=|OsvxWbi} zeCS*oYxA&>MHL56Y0V2ZM!jNDNlEX;8WsXq41kc}-u`n@KTaWp%vNq|uv(rbHGuDH zW#dAyseGZ!W+VtAv7x`p*a>%)XQOkU3wncQ(mcJ$zMucXH4$w?Csh!jhLIX>a=G1k zx4bP(d2m+uc&R_l) z^K(1xt)|+km8E8PO~ajcsf@^WVKpQwePT~WH1vqQ^o2@9W&B3Mg+D!1 z7}b`0n`LYg4jh~Y4nc;42|dwt=!?YfM9Nl@DJr~b%w~FnpL}uu-(Xuc{0tI*@hI9N zsUY31k?q;e=$o+WyPxc4P)>d>W*&_#__0=n9>FOY<4TUR36078LxtvmP_`%Tf2~}2 z{_kkH&0+4t7x22M?H7$S==QgvJwJ_x3f`xy*fi%0txQn3gY1t_zYq5)zpgEjqM)wx zgYUx2Om%&9$w^t9EjEx43RBFNA$1H0na1AZ@r?cz<@4K5{l)(O`>7Mc8Z!xE2#k)# zg4WV5R>Yqrf=kxlcjj0>uck<%bZAj2Ck3t?XLbR$)G3+b3NPzE5*c{8jUK+fI+pcp z?^^Q23*5l%SaR8P=m16bWzRiYLg`nPG(Q%NL?;b6>j-VMZrtf~Rcgv>baMnHtpCcL z%>z(-6;eg~p{@V=J@K(#WS|Qekur59dUq`u$i9dFZuY<#@XRG*qy*i15M97I97ViTX$dvSy{_vNlU?J3`Jpi9WS9d139 z7b9E7yhhLt*@!O#1MU%>9n*Rj*olj#2dn0&}xKkyAx zqI}=kQ8wxt6+chv8-m*|5aDsJm2UUyv+-f#^2?RIok>~ispJ*n-Pz()d0N#gRJP1O zUJ3K#8(Rl8lQ+TKt^tO$k5mdxrIsTp%8k{!x4I|_by_?fy$*GT&E9Z zj0>f&n#lD_#3)y;xBz~PC^bmEJ6tejlX7MO&W4Ro50UBBz@nQi{7%>F_P+BxHLI(< zRIKlSQvyXd!*2nRKR+O_Vd|vxidlnCxOM3Jn;+WlQnk;mr%W$Kh6X-h=%4z{P*i$R zI__8!8it&lNn2E^;^&m7#r($iVnt%kCrOtr5XU%lG)*@MZ7gX#%f%&Huxj0SRvFq3 zeeSkao^Y3G27?B#_iB>F=_%MOovuNN@cC8V>990hyvTX)faM;jU}yUYRh-$TCZWB6Ho z;2|4+W}W^4+JMWn^Qgh(s2(F2H zE|dWY(m}IUz^mtr8LV4Z!yo&Z=+ecN-b6+Y_3y@?nw5Fyl?-3c!$no$|7LSSC#>Erf{5D z`U_UIkOH=hPC)#LDcFBQTU$&5gilSyq z@jXUjz`SHI{$da{%1&kOyv4nWZwfsWpK3>xXqbShZ`DT)^bz1W|) z`|L2+ZL_%LYqnX}KZXLA?PQg{0Hr|tu7_}lxDHxD92PZUBnK@`9i&02L!LC)RGgyl z!tIG`{(EqZr#o}2pFpFB_O^%eHqEk20U{e8U#WRNU8kHdX=g&W{^FKmXL_j5`&7Q* zFp;~6!bp4fS`+=qJ*}5FDeB@+spagsOg+8q4CCVVl*Y2;N^gu)3Jf5vJ8t$diCksX zT1(4J(Sdls7{}Bu0FUsL8~Ra-jfH%4@pq}WcpcZY_$=+oULI@j<9AtWnS6OaAzDl_ z1f_A0gCQFRNb3sCaJIO_shs?{vEDYq>Tl_QeC3nzA zy*A&z^O`qDv>jEZ1Th)IlZvlN5tM1&v_r6mV5Gp-Mz!=!K&% z%K@wCQvU+hMYza^!3S$Nf?t|rwPrAQvxyaY^Kjf!aP24It($dSO>}D7v2*S2;e$@r z>+Kct(O19cHcZUO$28XMLL~oD5?^MIG1}{(kMgEQLMa%{T_jqRx6e8sVJo+Mtty>> z1yl6!nT`)qTds#H-Bh?Qpu^|$@*w;t!&zL5sRPK#+x2Bl1tp=%OO4(;(xGQ3edA^X zflI-CUkLtvAgVDyr#aK(ez;uY?BokHD_115Matm0s3Kl-9A1_UJ=LgUN3>bEgAYx^ z0+sef*~w=rLjmEf{#6CH>#eITyJ+8W|H~#Ip?PyOv2_S;Ewskmyruo(c-Sbv+G{u& zsON8##GQb6h3_;rAZnctxkS@u?+Y>z%U4SBvjaCDE4Q4ioSJ=|l?WJQFJ#vL-D@}v z?YN`eWHXiFm#A@8%bEl8UdXP%$c^Q(ZJx&M^?gD?{9hI93lZEO9{Jy+ z(K{Hhf0M0S$=)CT&8okdUfJz5ZgZJbD!5?9tcmiy*uc>q!2I?F4~% zs@~ICN}iNTs($2G5){Q@ObdzXSG%{eoA?0eYRXs03G+11rPI!GM+H`bJUPC1o0JSY z^pATm6wd_V2j)4Ai4cTr!vp*#G+FQ}B`LiJBe3@6zbowO>h6qThDFm`%<`_NVmt%% zV`FBsX^Ig=c{Q@tFhzQR+@hM~@oBxCJ+XzxtOyZH5i9HlJ{_4XZgAaybQ|K~b@PIr zdLC!GlNlpNYX(B{W7Sc}XrXbExaKE^Pw~erhp!2%G}$H9wid-9SR8%pK@lv55}Yt$ zZ4bQ&I`}ZBYKy28sV>Vh!?DX(ZQBx~V&lZ$)R*RRiyB9E#wq<2-F^O^V7X>HKIlsC z7E8-_*R)>R^dwIef5a;9eH;%5;Yyr$_nEHc^^$rSUBe1CQnvl*Q#}=j_cPsDs;I;8 ziRdV3V0oqQcGiFTtvGcmbHy%!oq_Mmi%bsXJYM~ftebVaiAvM{MajCVhKfd=Q=^d% z$Mr>I`UCG|*RmtDr{JI8f;TG0KP&xR1D8X3VQt0;upr0g6hgOzahjJr$^dy%W_=jh zogxaZ0&Xgo_i|2vN}zxGu|M>y|@ z%=_aj0=BTS_vzB%Fk=Bp746~aQ4NGXg zTQSdZ#rC@WD~&ip+o|cN6cqHyPv`dTR2H#`Dc1@2^v^WUYQIH0h(|s5wG8>GkCty| zr&3Kr!mk<&eLtFHSD$~DyT4gH(}yVkkz;yxqbbLpCv7>y9bH;V0_<%+5_mZ{vBwFD z@{QceUf@{{LyAoZ-1v^l3Vh6=N7>&3h7T^U=rVp{a{=gc zf()~PL1c10rP$PvEuf^qZ{N((b&996D+ArS*9c1=PAYF|Hhi~JZFyioe$KDfZTOKG z!c7fo69#TIfhfG{cd0{?9s7I;49HP6mlFAKN zb$ssRu)5-z?(cqBA|H7%c~^OuacK|&oul(o$Jdfa?~iWIaZY3jq9wr%=EKj}JJsfH ztt&%KHBZ{nS>V^pfA^bS6QcHRRc;kIqSB2I3uiRV0+b3~T3K`EXdIyO#aAT?n4_Ug zJ=Ym!mm+f5{>EUFRVi;Kl$eKnS+<>EiYsoZLi0CiD6;)P`$<&W%yL*1b50hc;kQ2d zP@@!fK{k%O;I*Sz0PDE@#?5M6kbJL58N30|_?k$wvZgN4dE(6bIR*}MVuNi50uoiM z_O1n|5~w?L9U^n=V-JTML3I_)n~(%Lwj77r{hX6Dq(=eE!y%tV+;C>?xOEO=NV%=I z@Z;ao^$Xt*kbjX;B+V&GOiZ}&YAiUENH<-+TVY=MS0ezcF3LG$s)7E)NNAi#Xwxx%%@v-yNy=Z_Q&NoRv1y2 zBgMR$TZibn%7Jga3QScO-EX^w25BxtxBbSXQF~7PV|5I6Jz^g?*(PHw?#a)K@0F`U z&uKbg@*aF0ii8pad*9fS2CJZvTC-NZ?uUVk>?L|yv_Q!kDOuuz=yHPYg=OuJ=@^bk zwg^;*Whz@;Yz~bt9^AnWH-2M}1v5A^B= za$B7ex;R2%UD=)kVkRKJ3@fW!JkWui7)x6!Boy#cBMoSP_00MbHT2 zyt@quyUWI65EQaSqEhvFqJQpCf@fra^;5cXeQy7t_?KDa-)OV+=iXq4Zz5pkFU%)q zOn-E>w1qHM(vl?V<>jPVVU}w$EbgBQZf|p(CebgJ1pKzn9)PUfDk|fIO-nF z+2mx9umA-K*CPmPo6fwtA1`Iw!)bI`Ly0Q3$TO!1OJuflYvx`zTA&-PaSeqnCkcfh zGuggZjQ$!qyGJ8szG{3$IA~vivp0NwYTV8WX-jHfg`Y)TPio$Q+IRVaKVM zQVwWkomPK(Be&{NFPrX6zSKf0uU=cmGFT|)M^2L$aD9li=f`w;QY(}jh(Zm0MwMS5 ztQs~0l&7`A7&T*qh8>^qS;P7n(OhRE9yDnie20wNXlZou7>R*@CNi#StgxAHE3a(JxT`1kB2Fd0(w0u5}E*`c|MT>F7K-(w-a#}{AlclBNnQ0(5x35Pz<^}49fK*f4pn^9xe4pu!W6l zW)!=X2p`SEgCkGVsyx;!(UwA$YN#Wk-^H(=W@B^OCb$|Y?JHPRK0S;8)4wr{7xeTN?UJU7b5hx@4f^iZ^|@`mTYG!G_s6F>bLN;_ z#4AN!664e&&vi{=r0SM>96y)E0a+zlq@nOY?zDNz({k(1D@@pt|h0i+%ul< zhy5#^et2%Ar;zdnZUv+cc6sj32j76(%r!i34c^OU(_U^^$RF>mH;ZT0`P>`u13*wHq}- z{2W`z&w1LaOxbH^<))PcO;4>&#E6N+yd7l26{MGGk!Gbw^4zA{0tSIHxiL9>or#)7 z+Y{j735M3qa=C^7Xo~s|5zn&Bfc#G_4E5m(RN#{nYqM=k{I7rQz1ANtcN6Jg-$#g)I=qfOP{TgrSv z@a{9D0YM)1-8!vHC1EQJv7|Ex0+opC)o)UHKrS=AsxGQly;Q8RhU@18mF^i# z1k7a>YL{4K0~1oZhmFnDJU?>gX;j49t|t`_9Ft3PHGcA+Nc>-;MeKZNhaga-z-joG zwYsU6%XK!E`?8jP2LlcKJW@B!g94`)Q(`M|#+Y8l<*d1|vMwc2i7kjry zmBYT)&Z|tGJC3A_tH}T(Fq;pPplf7H_D6QHL$npgkojr8nzV3bz^XmoFQjV{44b0muzm4oVszXAyp1SyqP z;eLmh=U3i5Js9QesE$P8U-hsoeHi~U=luQR!@BqLf7W+y=|c=PDeBA#uZ%6qN()CJ z$Ui_At!Aco1BD(uTj6l#7t`GBMiKRWcgqBXP&25Om~wabD_Z8|M)|u<$Bfy{v0%g! z)~j&wkaX!@!+#4VFy}_gJ|&aDU6#MOqSY^$<+@id8m?!=)=XZ+a`SaL(FxIP{M`BN z#t%zOHU~IdXFLT|PuD(l!L0&<$wyeEla$^Ksrd1GlpahS$KBv85!cM~!a?aS?ZtJ~ z7)*Rn6;96;d@x&hl%o?SPBho1oe5UVEU!LLKQVO_>;gX@|G2K)*V=aa5b1mzml~Ga z@dQ&v4R|n}r;wjCFFUHs`Au=L8GMpfqSD2*bvg;*;D zWGWYd_$BvtA*WP7ikO;Ih+8ENIm!he>U<3iFbaA`p}P;mAPmF#D5PHA?IhY=dD_vh zk&Rn(z>%uVL-2*(^B-wDRe5r=~s{W?81`%JL?r-)ULd%TTO1vCOMMNd>(E zRB_6~DO!l$<#a?dzs{s<^%Fv<#J8hQKkk!X-R2t$z^4zatExN}TAA5ATr5>qu^_f$ zv}hPlvKe}T2-NjP{`6r}7hJ3_c^*)ROGqeJCEM!^N{@w*%HW({5`tuoyWPRZxo}JF zJAu*Uq5qt$&li99HbBe)@jk|I{#&|Kpx9+ z%q2;<*V@@B){FQQLgpZrwM2`)tTXkswS@zc-I5<+u*j5B&rT){0l!w;3)) z?aVg3&w=z2pzMR?aSxu*gq+`PfFJCr#l+th^xze_yv--)q43Z^JZ)qnLz(kD6a)v4 zpj+X(IAEvVN`M1d8tH)3)&zNxKlB}wjiMT2mcEem<&rGnkg_O=>T+~n3-u*`L3(|X zNYZqTo#6+!n{6;h%%$ao&vu-!b`suu*f0s#s~^TBL)1QS#YjI;;*rm)$=)_}a0V z4OpPZN^l0zod}yHpo+*JeGX((Wk1B_-**?KyCC5o6V4SWaS;0&o~1Y+A1lq6KWXHi z&ZF45pbF^e{>P`KgM$C~pLXlzIbTcT2Dz7Wx6QZjdTtI`IqZSmv)FM$Ig|Vf!rtO= zg;%rD;yOfw_AQl><26IUZv`&lJy@SRjRBk-W?&v{OGVjmX{x?VO&(l)n20@RBHG%% z>)9oZ>~D|cxt`2x>jZ3c)TjRU+L83c&F7r|LfK9y`X5wyCi~IAc7rWlo#F+2?h+|n ze^)e+`X-jg4V^nqb-vG>gtrGDfkd62IpjNvyBRGgAW}EPFGHg2e5YyQ>a6GS-m~b$ zkd{;Z(tzb3bj+Yzb z(TFUZ&6t)Irh6@$O?oldy9C9`f_l9BakVA67AulESo|xYm9`bNUkvZ`Fmh_l2n-^} zj%X1Wwg8bh3bxR+w3^g#*J!MD0M59Z;zt2((^i;sb}4(|gNX(`O3>uB;NO7tF!hyZ zr8rUZuXps0Ma{BdCT{K<9?WD~^zIC8_G~1vt1peOiZm$LiIBL2NwCt9oy~nlyWBH` z)gBr1$p_tlM#sTm^HIr=G8W<4P54{NK7s5J!1{6-LqtF9@>JU zNz9avD@W>Oy*7?A<#osnV;ddg>G306V0IA|$u{82oh>?}pX%*#Yr!Y1O*-`B{R4)9lU74@pSp4YbpG}3S4uqQFMhulrKKzYdh z7XZ`!?0o0ik0nal6%0c!iV?L)Oct=Mo>8L;aPfApZ^pGu?)nu#6=67QrI!!E%a8Y& z<72M$JZyQJ{7h{V8hIr&l=zcx8D9oql6}ETs-nFK#5YYE(@)@3i77G%^J3~pICMtnz0~)d*Di2C(WA! zp`B!We>1Q6o^>n9SwR-)SiN2t`;9eG`SsJeOA?x1WsBHhRjTcYy8{a#%&|Bu!U?Z# zN$%VfJ?m8xlCgE!BCPlt@|24NtN=1HxZ2$xkH%{%=ckMpWc@T*27ukW@uq|nonV|R zBzunqIV7#)Y?reS*(I5w>$UXi!MS*}L)mL!^g{**2k~Rz-NiwaT?Tq`Ny#a3up}Q- z5_7OFj^!^NlM#({pY%JdZv(b}wdJ=Eez_g=e_slh{AcG5(FkU12+GY%)Z7coF~7IY z^KNQ07wv}Pl9Gh>O+=B(*pgFwj>E&fr|`C`x7_b8dhRe*h;My=Ks<|MGPnc|o+P#k zY%aTvrK_pj(eeV}nl;Y}-!gIz(zn67-nNGNvbHlWgy|30vI@h z2kNh-FZ;N`u|k^wC|Xj-8#B|J_lkQU>1+x>cT4N2p7f)ybq9A)*{TF>!FRE=d6=CS zxNyVm-*QNYxCE-EF|*XOxSg)HQa?dBQ0hLI{mENQ*6kL4*Pr9Nsa1o8_AkOoT_ZR?s zbau~4bYGf)GY8vINxc)z^1NoDhIQz$2h)AmU5&EEt8jF**$GN-8U$k4Tz@R-YKd=Y z-xwB80#%l*mXNF{6+Rgaq93r&Ex*tJcXia(djE!|ZNJ>`vQhrGsU_C?FOxLXhqyU8 z!XNY@m18{9$GR$&Yr@#g3@SeRbk`)Us>dvyfS-`X032D(tYsZ+vIZ~qMrejv*~_C% z&0F*5>FZ4Y{9(+sdC@3AK@VP2I-22%6$5^AsMX+Dx++um=a0jusc^%-=%CRK62aFf zY>x^UXJ6$%)ogKZCT$NY=~uwhk0iRWMAw1cnvC=F0Lh|w4_?9nNh-*<8#&G2Bq5~b z{wulJvkDQ$7rbNBz)keih2%_xQd4IMi&;Apm|f74IO%r=eUb{xqA6M?Tn5=>4fYI~ z_1T_(4-jN!?+JjWU!g#;{assbTiDr-ZDVrY47ltCMYqV`hmH5h(b%k}l{#x>uUmJ| z$L5Duw|LlhW2FWW1QHOKs6x&ICbcYLMofIYq`9lHV|~qJ$7_R~8WV88jR$qW(dZd@ zXYX;LOPO?S@ts2ABxl39dn%P*EJ)|8;zMR5Tru+5 zda=29#}%9&m_QF$N5w2PXvSObWo9|*`=LxA;~?UB{u2Fh&2#{}TV1^oF{+^dFKrey zU;O_L8T~unV9OuJ7N|P0yNouz$1A_HrDgeb_vXQmw zC_jxzz|6OMi*d3ZJJ1%3LpO3HayDR71s9IuDgk8w$}NVQ ziwxdi(w~LUBC_qYp)S;%rVZ^RB=kB3zxn{LS{O7xzgiCOCS^`0hG|RAP(l4O>g}tH zP!j=!hEb0Ym+MLTd8LD$C%&JqnktqC4L=NX;~PG5-65I!AVj!5lZ z&w~Q$O4h2M{OC^+_Kr zs}>`iZIfSOi(BkvLCaLaY#iJt{h>+Wx2n?Lsqe3ozm|5Qybp19Sb^^t6{2kkAT20) zw%IYYKR*?a?AOJ0{Y$R;&akmDJjsehmhe~Fz18lBQ7%7948b|!ieF*sh}DR7W%)W^ zcQQ@4h5r0`nKciED`8V@hC@m%7EeudpT21hO!{C&pA*fe8PIGTL=>Jjo>3Wn&7DY2L~tu>KdI+|bWbA3)pQPkMPPY5unv{PYIMAoNWG&Y_t{(4kyQ#M=q z+T{?Mvg}CvnqD_7Lz&+npvqy(%FyIU%8s9J63K(daGH1qcj(Wc4l~V)x#`wXL8#VGqnDVxo`s zk}}!y)%fB)>pd%YtbPJq=a%$8?f*Ao!{YVZ|6eYk?@3`6p5f1wY{7ic#=_rkF33Y= zrc7_i6&UEClY`d#CkxN*iA&^IcOOUJp4tbpQ`POaX0VbE@ zx_S(z&-~}v4dtWAB3h)xYnG#`=6cE0zOt`lOv>?KxezhFc0rI_>YSN@`u4ZHQTl$6 z9T2;GS^_$4vRkyfS(yOvzra~dDv-7tdi6`5B6Rba_phTFm;r_% z^`wcOg~s>~ujd2(A6y3xsnLaK<2){@J4KwQQkd0#(_J>RF7LIZ9o3Lm-R|jLpEPO^ zsEGf2^l&qw4p>NZS8crpMm=_eiIGAJE`cdQ&13sn{1+@>YQ20w5$xE)w0x&=LxU-R zih985Ot5Mx$?%Fs6BAgpmsQp?$TYAAv}fa66e$6{jpET}Sd}LmvbvJJ~27h*K=deC`&$EyC$F_YnMy zDnFI)H_dN1!=W76u5)0GW>nWdAcj3tq4~C0Xm_qTqH+=j6lPUz^0Z#Bo_J_insr?X z|NLO$%6{hGXtG5u=#NEyBW3|vO9CoZgNl{C4a-Vk4*AKJg( zx1TOw%6;#Ys+4ZH0&%Q;^kQX^CCze7NN7fO6cG5^4Alh9O~z<1tlJGkP5m@lFE25= zw{Xh?Px_Vao#aY37vq;nuJ(;Mt3~jz8>g7s4F=^v_+T&;6_Fj-S^`h~eL}IfZ;FF2)PHE*MXHPtO(I0b}XO&hAn{2GDcz_uvuF2T<)$P({Ck`&!*hW*5 zn_%l|M|%Wi;^-TD|7nERHu<72kmozPP#nmzlo)r7pR`rjxHkz34Q$Vq!=7FTWLjx* zU-nR3T*=ki^P1s*kUBPEuXwtfy`y3q#aok>wL}?*Dk(HSwizd|LCFGwH+N7L5S}v| z?32#uL@%yU*~k$2{r5xxnaTko?KOuq6wC#zW3aYx2P9Nd73?N$&TkWJ_-$V;EqHAM z9#H3|*pG=dS^h|G#8JO^_{BFcp#l9X04$#2|0!v1V}_URJYyx$H!OY+d0SgY1Nmr= zjc)APztXQ48J3P_sLZW+nh4i>93FxV39e=y6r+4F06r3^Y$UU6=+P%8il3VrI(sQl zD5oWIa~N;mBWjT%VMTpbJ zoz`$_I!J+w_UzQGzcLojyrc@k0y%BB-}@1V;Ud{1w=cHysmL1sr+7A!}nYAS3ktfCzM z%-2#6Y~Xz5|1e5XWzjbK{gn2RkUTDkU5dcfBh@%_9eA^Xt=l}jkH0) zO2%2``}Gh8wytK4h>}59falGmr^sJDY%O~}Bpc{p@d-smD0=SRK%mrfQSn%fs&8d&S?h%6puSF@fQi!?ntaIO&vRK|?4nwHVV z$H9})*7}4YT!NpWyj}J4nJjoegyO_m#?s2B?WF#8p_uyw8c|y$HI$_LUE56OkQah* z9O<_ddCCMFx6c+I=XwsiXMq|Wh8SMSrrkvMnr_zik9r%QMbN7Z-n2-{&J|6qzbDF= zGI^aY-14*~St3^0nNVC5Y5s3H8H#7JT{%+*eBPkHBw08OUKPs*wdpoE8@7B4rw2Y@ zQ;`ygQv!Hl5f5YTnc?WmvOk&|yQGa%5!km?K#pI&=5$9!@Tb1#3Nd#<*-!(o<6`Mt zT5fw*B8;Bzt%lHJxeB*>27PT}eTxF22ZMNTyQNxKT(lNnvI1D=PaBH$Qe`B~&~q#a zCG=7Ohwx#VtB*ZqRnWq~AAKt{bq94FO*xYrH<^75ZIT&OSSNTH%B+|PC?E+08R0P}3649e&3{@r@i4!Nx*GG12 z;D20BmD+g>?j!~+^=~?723zwiY(|<3ur5*k0U=Uixc;zhmRCaS#)0kHmlagv7MhTt zF^}_winc<5{?FwPyb@}3f_a77?x-~=jPr4K8!`6%j5?bvp|_=IDs+Qj(#6Q=85277ZzMM^l^DoI;W@_xJ7$=WLKILY`Pk?3BD7 zw44)rRz2nq5fuZ34Ddeecym!m+9{M!7X=@Am&A;qyuLxVDRA-mZ*^)AySFy4biN?$ zOh0&eD!C8Pv~e6_9!Joh^K-5Ud3 zckSY8!SQc7EM6cRE;}tQsgzAev-BMsFH)#a~DgN!N9fClGssi8(f5 zEvf8;b?jZXjWiS#f&Us$NP&_6l$?9`u!O!cTpzk0S+j=bG9;pD`pS>_lO%kF%zVdQ zhV``#mTTSCER)jgGKpvxe9Ck4cu`_Rs36%gGD!{@;RB5Mi^m~H#Zi|=JMr8S;qkj= zpie%B^fE?Z13OA5YKKLnvg&~-zjmUxPuT?M;AGzjqbz1VmYK`aIx}IG1Al1LTvniA zs^`semVm_e`@Fn4RW%47sB}bWP>qeRrC*XR!IPxUUnNSx#TN_C!?gd}YXzdkoy}SA zUVJjLh0l2^@7!ivdz$aQI}{J~A){ShV1Rzih`QBOnj*WNCa(v4FWAgPuAoMBdaj=1 zdKqn@df&SBcFW$L0U(Op%Afe>j&!va8tN;uJtJk5lGHHi19CKb9qxwr_|BM+nn?es z_GmH_i$IE6kb!|OsYi|2K5W?ypgxzJ@|Nj%Mcxat8F-Pp*euFeaec)3@{HUDi_<>U zR-5OUt2(Ogh{=wkxs(*y)?2sBXFJkmw4)c_e=7S1RQEuZrm%jaQB@LtuIeUq2$-%T z&svrFzL-GQ3!hq^qDkhrzw@cDN>rN>idW&d@LE+$Hu~BiA_cfJ938p~FRkbcC36`b zWm~g|du9vdE-nzeIm>^qINssLODl4Q=R;86?*dLwZ8YoK&!5EhPJO7SJzSt_nup=$ zgCxcE(paW?tioNBY;hrl?i?j}E(y_ScK4KmsyaPV<$ldM-Es;3?C5Mu@IcCj!n=zr zp6p=y2Vy=td{O^XfPN&%cbzD~LN(=UoUKdhVMxC06p~ytt8V=WI`26l9CWE0meRsp z@zE#wF*fr^BmLdP+_Q4?@G!AXKq}syA=v@GC*4sH4(Q0IcvGbBvggQWX~tu>hLFsbQm$!)LL)uxp@}x)O2_blO0B1o?dcR;RMn zCG>PK_k8m2sjq58m^%>}d{Chf%Xq)TqUXC;@`NDr1n`0+$Sk$7yU#53 zXv$MbV?fY2=StwONeEz6lCFHjJVdRyPl!vXnA&*CiwrRpz_b`@qK3f#BkG&NE8UiM zW1Ah@wvCQ$qoa;(+fF*RZQHhOb!?yc@3rVGaqU$_nC(TWGsw99V_RlnzNBNp!f2j5GEVZ+|c96Wj@kDPEK|A8X~35~uz z{$T~*A`Y$h2f)vBW!~s$(3#oVB2eDM1v9kpC1m|}23cvw+r{US=QyNgphGhFwq)Zz z#@%{~5qH^6hbFj9tI;A4XM4Q_ZX-5BB2yFCN3)WGlfnbiQVLIyf{yyW;t%MXh~0xqUrWBzP~48)x_e3n*Jy0){{Yf~e|I}*W?DK8^@OHAh*pDE|3o%kxc zn8-3)8R+-T^>J=AEk}Wg){4E5Nys9h=7}bKhzj6UJais7#p3YTG!P`GR4o*i*^CCW zn(XNAt5Lyz8F>^9CKzuDu^x2mR0vODCz2wWuput(m5AJ=*F>g6($el-l2Rb17e zWicGJ-W*zBzxU`E*o_*$swC-{zpT=vCxX^Uil##!86|5uLv= zNQVhV@NKOz{okx29ax@H;84Z)<6ZvT>=jV53thS3-doWK=unl!{QKh-(!v$Q>ta_z zTPZLS%V~WHaM9e(Mcw0BwnrfZx3SY_&)QOF9Ff2`HZm60m#T>Y9udz3zvEH zo1}6))_+_Bd}twG8ZgVOn8~ zV}6y`@2sQoyEmM#VZX zb+5Q!^dCf{*NY%AdSpBUg_3&(IgM;Cq}3|%8(iofQs<8%eKyj}x@R9@f?+cEB|`Px zrWShAb>JYsx8BK=O>liXQ3M_ZvZ{2!rvn`Rh;MVG4Sx|-F;I?WZGXsF;hftbD~iW) zyvfloq5%Y-_+Gx&+d1Q4xK^~KabpL!Dj58NyWGl;dzcHM+C*3L9%9rFN^_Yb0%wBt zTrSe$81*WNuM0m97!EV2kuHTr<7B2PG3}RxZVulGLxfi^wjuxqH z!NkNanASK*i(6Err34v{8PV(kD}NVvR@^{rP(LoZ6_j0Ge(Hj=U&mnEX!;2q1akPF z!aBJ(-##zNs&vqECGjUVUb{J z!j>~Y)sqEDoci4HQN)_f+44P1WZ9t|0 zai`6FynwEf5$hh_bewlnkt%CKK~>xhYBxk2tGG z$ES|6t9ot1PNSi^?E{VAxF(DtK70qQ=e<_n_9F>2`=BW?8fDDprHiwBYw*7J9M5)2 zkqlO%EF1I~!>@!`(?AYwopw?BlL*RTUZ|twi8>iK#JYIsUtPbHM8t*XA%+;?QmI<0 z-#(kPRMpN+Nft{URVWPqt($JjU(3cROSaZHCbFhEzH4^w5H$(3tj63`E^)N(3n0FSY>q80rn| zT&-)I$YXiQCUZ4jf)9I$j@kyf;Y-sF4Yd!Z>x5Ur?7h>V0c+Zt4F?gIdHU7rNiJD@ zgxS0HhG`X|@hR_T3^NWY3+8_jXRyA1wVU4(r%Tdg@(CF+cZDXD2)W2v1PlNc(7jet z9>h~@t#n^00-rBJJDd}XU`kQL_Z?yHYEmkA$D!9|2w~9B*zPa5iVdTQ1^bw?0Ic+h zE5&{~4$|6=W%`_=j&kgM7_^>>yL=avM8qo|iXZ1=DGT z9GM^2nT`*y3ett-N-YMruR!WeXe7p)#wnPld=SQe^P>JY}-U8eSjA zxjODpCk|~GAS{Asc@?1pp!g7vtJ?ZOQi$0TpDBx#I`lLhN_${HqBk{4p?jssXOcy= z=vETJHWgW9O%`*7mJPa1*!X-2Ti=WV3oNFb`su@}G^xVqJ8Z-JP!&M;Ze1@;A1ecM zn0+{cwD@onwV7Gzir=$q{*6NFU!=1No#$U}L|uH46jAcpw&`hykus2(Zc&+^CDHEA z{!YHnXrD*g`s?nf7xWj-HflULtniBqg$DrQnUrNkpNd-@*tEdVl7aKtg z*7QC@K2IBFtzh^7;Cgm^2Ft5dp#dcdG%4?&?5pu9m*^KmIP^NgUHyG)f)Y(e6@?m3 zCs3au#tavD=@YnEeLWwKs*e5Zn+?q*J$>gX`hYkO=p;{9aTCR40nouY>nsJIcAT(NT zgwbz9Izgl)2qF**bS8(!)Z7d!A1a9vn{3=wEh2a9KzXLxvKo<2CP{PlQE)TPMJhM^ zn)RI}X-qFLN=5z{km*CK?GB@B&*yLejGx+q+-$X&vNP_4jT39eq=#loTJqzD%1)O5 z7(5G`T2&+0Z(KoD)n5UFl%{GLgUggU04x6Bss>|;w6yT=XYxzte#RjRhS4mRfRlMLGwnL6_D-#gx9~Ps<^Lh`WQ% zxkE^?R}fk!6o7@sO}Uy<(sEy4>M!Qofo=ij3UeE&{5$pOtX!o9fy#_8t~m8@(EKFU zg6nH^D^{t6?^eTlKlkB4auAAV$Jt?mF)71UwV2=6m0a& ztvoPn;w~%z@6;Q?rUi?6iNPKvEawxG)rt0 z*EP7+^Luq-5DXbMtE31}eNg+@HQ~aOoPi*>Io`Vy+eH%xmKVJj@`<`M$Df~YPX8U%{apztzm)^HHre##`VstljHwOOkIKIh75w?ZM=ANLw#%hSsB}N~L zz8adT)(QHnG^N}BS=yF)Hc-Mpg#RJua!S88_MR|5VYAq^5(xTn%!><`&q7Y;5#O~( zgdp~=0rCIn>e1=C$f-7VD4R~Nh!@A9Z1=`ogKFyQM{K2>?^P|E(Lvsx%lk7#v||+Q2IKZf zJvqNGm^TrDpf|2GIjMV~!zfxaQe5jM_+x1u`&;4iL z9W+A^@fW+d($sk?S=s24855t)4ehz5YZ)oUqm{Yww(f?&5cv5`Z#mN;L2MetL}hNh z6#kX3fGO{YKey5M_qeBhPa#S~8@32J4f>Y5;Kb?H{LZ+)-|AY}@LXR+SsVAwbR65% zdGIJePn2z`0JtWp$252~uCGMAX;HaCtShG0C$jU)YrUHW>2M}tXmwf+ucuQm}fqB5=_K=4A&7PY6Id34B|+%`AaNH2RSh?1 z`Sy9SXuv_!-B#!T7pFgP0AV2$27}hDj2#ha(}P9Fi^+sj_ro%^^HT)M6!bPEUz&>QID?|JotWfTI9uH=lo!Y@uDrx?;PrK&UP2-FSd~(?{<>2b*#ha8v0#@*N`(M6FyXt?~b9f^!{=QF-P$!#)!x z_2pumO3l=&n?0T)l87yaZeF(&Ba<#i(*9Nki#23aX)R}v(HWBdEFx|)iRvT&JJ*^i zllC+%sr^{_O0&}L3{MkRO7cyz0i414)u#KG-rX+yY4W<;y}~1%IdfDl1dF1%x`Pe) zo;F`S8D?qfwwTHaBDXr28|Nal@k4dHU$%JbIZBYa%Y2KEX67+9J=>M;h_p8O;Djiw%*KpIES#V^z(o-(`NybF+{0zSPvGN9hr;f(_;^@rF zgIboPC*|bjU@t~>#`DuymQOut2ZO}ph`oV$|Ez!H$B)c`n((OeC#iU;?rn-m?Wzh9 zjtfT$2|EEy&HRmu`=FpP*5MG4hqvi+rn_QNr(HWeR={`b=+x>hu@OT24nl4n^Uaro>GU%fc&DY~E;Rwz zy}r4C->2xDm-7-4(=n{j$G1r&1r+AfJrLx2!l%(Qag54h95of^1XSt@AzobowCPCF)dy5}kc5cMkK(plX$( z)%AgWUDBsKd@1WLWCf!swdBdR7t!OMdiBsqh1+toT6{h$Yn(B?=y!wELypRNw?KMS z2rI1w_O*d}j|2FGp*icj&y-h>4Sp4aXu=?!w9Vg8Xl5=%-*T!$06U-jO!ebEBI%hp zf0xgy!lOTeCJ%V86IJPB%eei(a=8sPm;vPUz zR}@0=mT^(mkA&{OtaTfPd&zZ-($AFJd?oJ0|`X;CPnX2|!O}nbwc$`>`NU~Ge7ZzGvFLQTs)mDV7 zf?&yR7qc#}+mQ#}@e8Tc=Y3^4DnNh5?@;!I&!zb?EgJax(v9HmJ30FQ4`BLV9SK$R zcu#=@Ys(@K&j}t~zAXdk+H<^6DHV7p9S8Wde6W(Wol#1^^Bp)#($akS=kapGeR{l> zu~La>HtTB{H9JH!g}@n`dx*~^XiFy)pLJ}=`I`}BhRHATd3~-!gx~&_g@6vpR8~NX zH@bt~(8_l0ZcdHN>-51#f92B9AXEa?iz?AcmDvKv#Y9};c7u_wrmKy6>9K;wAACok zx&TJ@IzjuD!6`fo6AEslp$Kk`gKHV67;UXUxljC;Xh_xOPTJL30-oGg-tH>96NNxY z6~yvBH%A_#|7v8q{;hmHlQ)gF&{mqxPFRf_>+2jn6mGX0Y@c77FSW$#{qyOV=pZ{` zfbHJE8rX=%B5mU*nZ@KTZG+)pC|Rcwa+`RDaOSz4vtFQ?siHcQq3C1|UswP%*E{d0 z@J(%laW_NS;>pO7FJ((CL1UyrZ@POcIkj{U14uGH=q)4MiyJYXY!@-UT+9l}7P1u- z8Xo@J5fontkr&9Y8J*FP8wvO4`z^&W*)?1&Uca^D)$NBlY z3N`z}Hq6=mETpk`fk5mbc(SNQCtrj5 z#JAf$oLwimK2O@h-z#(AYUtZb*wL#E``2e(Rrj3v1Yx}FNC^3f?H+I#IjY-)9BUs% zMXNwSpK5Nv-gculTN-sT7wMPG+7PHb(j#Otpo_}y=HKc=0QcYO zBLHV&PUS55_s`DX<(ZswvslD6trUQSw-PUGmr`s$Jy^;={q|(WICk1QL&8pf5w$HJ zK*f?PBIR3IWh7NNVQ=mtpgiKS-LYXnPyRb#$2{ldT`^=iSjxwK013VM>wES`DdV_F z-Lq#lDM6a8B@kgFlwC%K6jA_>dZi_@?GG&{xqU=&F6!!+>=1gI|1SejJj=e zFO;ztXJ3?>7^!*h5Jw}oP`}o_sRmTbDEgY7JE#!U`P3`G!VY^6=mq$1<+rS#Ue97d zrnf6j5F@4J*yr=^gDs?-iml{C+%}{&F%Q+K%9k`%kSGWu0mG4;{lbE^ZLkN$d;luD z)#Au&Bkm21sE2u#i$c0O&4~4OhSpRs*?=@)z{n+ZY&2}vTT!k^f~Zz@wbaxj71XoR zIX$D`U7R?bdVh3Ve>3!fc#}O`Ylx$%*8g?B;|-X@vzbV8X2u2C9AKU!>t6tgm?;7LFz4yNx z%!*YvoN=xr_A0Y;U6_r6t+Ir&y-cevw%|gZKVVU^KVKET4mJ;TX;Esv7z#hSQi5XS z#und6b!`?{Urp5TqY~r23^IMc$^x0YCC)?fAD-?DQ5hI8(aZQaH978@r3T7)08rvM zo>@?@J&QJqvG+4KD5P$XJA${1nT1fDHG_V4rG`*{22ai30Ca!6TMG!Iift}UG)N#s zmtg2$dA4+rEsh4gpsLKgK#X=j7$p7i%+fSi&=7=9co6LX}0 z`~@JE`mGCj2fzBQR5sX4FC0vda3GW2wI$gLz9$(l<0!2Pb62ZHcb8)LV^|vT_^9FjeR23VcsmPU+zRYk()Sln`58HlO?#eiDMW3${l>aoMJKDG)T@a-UKImkLbwOAb_m) zdaMx0o8uE?4iB#M;l)$y^{_X$tjJsVOKu~F3lNsfaC|F5;)TIX>K(*qZvFoiUG!l6 zYgV`Ki;_`{#Z->xi6N55-@X9c$V1@EpAn1#EN1~eILn4nqz0~!n2&!jv#;!G(#=U$ zP~G3XKhCaZ*{|7|tO5w1DMp!$)3|s232@p)lH< z#eiQd%C%yAs9%4h@aqC}24%zXT$~A)Ya7qP};eB(&V}_T!6YM5SJ+>x({;yTDY#HwPTcYd0Sh3xyD~5 zgsq=z2FNrpX6k#z%k4cqEhInhx5jxPAvz7OdIGhDZ6r`eH*Nf}s)pEoR=i=0iNC^C zeqek4B`%3A@vX3poA^|NRai<|N`N4b0y8*&BR9p)mS`etRO>95Pvl5%V_b5;PYJo$ z;nQPzoN$p;Q?f_qOaDW5D33#|b-g_KP67Zsg0t-p<^~ZOtj7n6NRn=F4$ZeJ5kXg_ za0PVQP&nbW;Yn`6T6_A8<}$wVTomBAwglLYz(E(wGasB-Gg%QF^audT>W*)=p(Ee* zKPR`53o6gDAtb!eHKy&|ki?49s_s*)Ir%4>^DJ8h!B^qA9LyADnOvEuVP8Sk!tEn4 zY{xhqcEkKNKd&cKFc}LD7hF33BqS_Lh6igjM=6;84v(jRSrRjY_5p1PHS2;dnZ8_% z5PdYa6L2Iu1)JlaZagslZZVv_)xhJx_7?l6H+e|~{@4BNLp~sM$i*ptrDaV+N%GC> zFfG>sB3r=s`;k|aT9IGJ%-EtHF5TSMSe@M(m`;=h}w)+(!El^62<7%@gTXV#sMO$o-cus0ov+VG1iLzOxT0 zwc`oLj8v(jts`)OM9MV+y!c-JNc*L3t( zf?;H%ur%@pdjYUaILA*1U0*g!R%K1p`OFq7NshV|-P&|l$ufJ;v_raX-zAYDo_7Go zW|rno(3}8UQSpQ?EPxT3{5sTV%bXp*q9WdtCCOcipZjEm><~WFVOy37JW|c(=xqXu z(dUu!rnwhA%VOx3c!41Z2EoGN+Gx7|1ro>7QRS+0bx&(?zf6zXUis|>FhP~?o=xOv z{7wD?5=n`QW9&V_9VKk}G*0+?@2hIHj?e2Y|27&NYFQLuo_!8FKY9jvFrSjEr$=jQ zP~ho6V=nt?ZPcMhJiTI1Wgkb8AyyPraC#AI(vbGmN016It>wsO;_LxP_+>X+{cA!| za>@xW%n0D*SDKQP<88!pg&MCjo>;gm+R{3J$H>QDP8`Bcukm+6B1`+Qi#YLIV?T-b zAQJ-7TZAab+SFuQ6K%}Xd=~EIk?elRJ|sNhJcDekrzb5P+1{@aGTa5gGDK_eg&q0jH#gL(vN`=ynB$w^8G^YmD~;em3EL8kAOl53nmI?zoXz^*m1tHr0e>q zwiSNj>62q`dhX$cOS-kxtN5;J;ah)6E%0yi)=S%i zAxO(i1q`MfSNWH-Qv(m<_n};O+|0@6nw<}ZGU>!lPh0J*K$lEl$B?c%&w`h#ruT`d z?@s2P#Uho(0iCL~jr{dMZDO0&3&?HpCPL1(oWlnRN_>_4P?h>l7r_IV@T+VSC0H3FZ=D>StDGcAo}SZAhk&@o zYfJUw>)Y}&_Uh5&PI(t`Kedoe_`vengA9i%truH@(>{UZ9fDZifi71b1!9r(st6#of8wh{0T>AU|03A;$M{jbtXDXK zOgyW8wkaovDG~FHHl?q-nK9kygW8ISMc#%o7o&=d#J9e7L4A@u4%iwU<4I+mFt8kp zwujk#*wYVzi>!VsvyBwM=$0bGbf_Z}?d|I;7O2S-r7*(+uZSN%2z+~SeEgAyn?omf zQkR+ogLN@W5FajogFj*R9ByTHJWNg7@$~wavg9OcHk5wg7;@y*oaizi+=GWpvlj^+ zXv?OD#j_h5ZYl1`YhrVU(Hs3W>^Hmcz^lm#;xcmFN9h84$VsL?#_14h&;SVIkDpKS zxbJcAGK}Ygn1k1_!2xD}&l{ha6~KDI++VKx`>P2-GVV%)mlMs;bI(4=1~O2dg+sOH zeuL79yewi_dp+oC60sxLz?G1AdYZnwp6>qj{^NLZJyIQ9(~}czdi?a@y%y?F``VS9 zpGLB{cxeDu8!jJPas0kcV270Q1_q{W7l^AQs480zFZex(@;eXznyohn)V883*xL(_ zx*@vE=OvEj&^!UZb4_nRr*Bg8Rz{xCW3d=wHaXr?z+Tv2fKo|mcV|fr-U@PnLGGL3 zWWlCFhkj*0j|^hyAnxulf=~MP{n98Ghw~E#t3T&_a5-^h`ru0Bjt5$w`>dl@C0=lb zV;gqMJ&xbY91`ZIo#a!awnHEe!r|c6?dbZZB&p zFznQlc8a5a_*3P_)B2FRf^NddM-SS>@B*!3WRk9c{vx;jC45!~&}|>6L~VT7Sf~bK zG>F0;^FS(6Cx_9$4M^&re0SjF)rxw1>lO-(=z`&D?0{KEgn}xqKPH5usJ!qoV(OzY z(F0a#L92yxbUO|PCII5^X`Hyi&#+HpspV>3Sj-IEI&q`^It{?Ont)>w<@&bPSIwWf55jM_a z1!xLJGL)c2ctsj4^xg6x&0x0skt1YxU3jM3SVMQiNZb^ey1XSQr4n}Rhvf{R-|mB3 z6iS2``6=HW2u4g$2OV#ARW2UBQ{&37Wdh=lJi8A5nq4dXy)02rW~!T?95X1kV^OO- z*i-XCW_3)^4qlrtofA;*^-qUCsf0K~QzYuDCwqjHv_EY;oG4%${%05H)s72qfq${+Ax!NN8Idc#EtHY7mF5wHwK=H z^ZUSn|3trUl8AzG?tkJ2v448_cNllE6Ya5CM;ADB?GM=@39q|P*nQ?V707vbk(iGs z4@FV%!qUnr`!B2m&XSolwW#w8%go1t(c0P)69zF%^A!b|G`*e$LxpU6h>I>2>f~N+ zKa@0lSn1&sy>tqE#L@@GbbQ!+z3F4*?0kA?w};RZ7h8{ySMfRN7J_z!TZn2pG#h0! z(AG(VOe^p=rQblk?z?k;)T^pqC0oH_hB<>v21y*H2bOfp4bR7b6}KDq^m5y%@S#V< zN|%GE4!+s^IurM0IwNjpJ4IQ>7hdew&mGA9HOb}#zGUjAf0ka8)T1> z6e!W4YSVro$2Ty5{5n}Pop`@!HFDS^SsC6{vr(iZ!^;p*1hX^qnA^bd$wRP)J51He z9F8rKJbRrC`?G^L_)gJ)d!srB%0nF=;T@zMarvW@VCqk0r@-sxJWkiT%*545t1e6z zBKe5TObvQq>B_rb-fhPnb-z#Cq1Khqt{Z#|Rr3NrFUIMfp(PFw(|Ah;QC4QlhFB&O zBN%F_tc?tV@umwBh>9hE#v?Ze*L}T%*3DX=V$P& z4CTM^L6HXn1oNNxCPmuty)K55-HLWtE>e;_)j|E_y*sC0P(4|@LWK?9+$TP6zce42 zYQ-d#x6#X{sXF70ZzM{57^6dL#RXR|`ZGT_G}w57SA0IO#7!>fGs5WB-3~#ZLQhC9 z;?Ks71?%=VSvGHIhf!DzI#AH@An4)y?YNvGH~u9)OmvX~X?%ZcstJucocPLFr)H&# zh4^lhfjSOwU3ck5P1FGx9_3Q^GMjSkc-+poGIGb*VS04-GmUAk+AQl&ymyHSg$lg;iM)aSDbsX2Z0sOw2u z_(Sats2=`cXRFJM$l%ZG%eMEHEPswF!n4@4TR$qYnjtpN!N|y8zQ@_iS0AtoC+7R<8R}(VCDqRPEV(D$?GMiuU`wOFRnWt zEww8Xtd4Gojm5WyC1F})T=r)y*ir+jSLGP&K=TF`=JT(Scv*k_cX%E<;v6Dun6Y7U zUF7K?y9660Dv58Dc&exWNeCF2Z~jsszkiB`07Mf&$Lk7OVOt*66_bgzwM!8UIYIQ%H=Zk#^enKcw=IbL42nq2+Q7s8H7XOn^eyV}TDd>j z(M3uuZ*QP8#;gGPfQE)<5TuMqCa|kKSt=l&7&>h`RToL9rVuP7JF(m!l$gf(s* z&$w~0gys{ie#K%GFR53o33l$mC3Wf1%~}(vmt>z2J4+usjUj59E_%{lz$~iner9e> z3?!)3aaAL)R^NyG7k`LuwQtQ`)H{yx+aBxU*L}TY@0Ou?3LY=-#L5s>UB?^IOZ`_8 z!W6nvbG6L?+%CDy4?H>MU~)YIg?Zp&3z*xCJUjTlxCW8j?%g=}P?i#XMfC}Q2?A)p z7+N%NnTOdPunc9xj``Z?*Vp)53RZg{l!@t(b*=&uaFi&rZ|U?69fzoZ?MZ5wP1uKz z8QQw!Q>zy1fNYk_-3i2WacTQNIYn>RoEOy-=|kin1)L%vqZwG1K(sKPEzjM~EzL(A zy|fQ>qRApb2Y+^+emn2GYS)l0@qQnHRUkLVyF4{3_D^is6PJsuhj&MBBSb6DjaTC3 zkTnooz)`G7v&HwfKRk^^ek2U&$5=|w7Le-QcNvsL1L>By{e?j;Cr_j=z4fe{{2@?>{%k3;i!Y`2K%>fJS-2A>m+~I9$dX z|Gp5br4vJC68H4%f(l=9;x~vIqmvKrqV2!!2SHo}A}>oD%?CHhrMMzX=tnFU97j{*|mxCiR=m!*(vt!<{Imx?G{4>Y_m5`#CO6w3;F z*=IxK`#a4KhtR5+;*~H{RPwu+I+L|vL9U@~h|(Rx4_VkGS3wxBW)e~q2L-(YOIgK+ zd#Sgpu7(?+U%@Y#=Bsh|?!DrNOcUXnGv0#7mdxS~b}m%Z4kU>c5xcc-Dxy7ClOb&J z2Aiq379J$;Mfn|lclZ#d3)L>gQma5-t9m8rpy&kClww*6aiZv@OIce?a^RC4|F407cmY2+C24@zUw#-R< zzo4z?(%W&QVzZ2d1^rV{S<@|>1UjP(O43>pVjmiYrb9M0=2>M)0*Q!Hk4?@g#r>=t zs{a%vOipbnDL!Nl!37+En{MJIc!>&I^Qx~!_fQ9UWX8a-0FkE$dDByI_{L`H#AI^P z>gXl57XN~G`CAUMr!mL3@b0J12~vT!ik0PH4slG5KH99�D<~R^l8H8*>Ld26K_WF*gX3%`W50b) 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

e`hoZsd>*ZZ^d=KyvkDz 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

crpAlHd2wc)MpY_Sbhudie{+ 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¨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%0D--$GBxCsU&r2hYedp2un9N}Da(FTvvgnyR7 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%0AC} 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

NY1p8$$ztb) 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 z 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

yj zIP0v{IPTFe4%=)fg*7>-P`GEJ zdsagd05pOr!6jE?ay648n0LE3ma%^CT0;%l0vSVMVRrMY3WoNZttT&;4>Vx_I-pm$%8stHSXo#599)vNE1AQq&~yyaTwGY3*miR6K;1hBvA!`KTsX}- zM|AV0pj3eLGs9+7#5wedoS_L0)Z3$5GuC){hVlVA|Gvgm$AhAEoHKJS@Y~T~!>NI- z6)_hp_*P8XU$=MVwqLIQ-!I;<)?mq244)^?q%8EuKi~1_;ZuWenILNfD&Ea0jC=sX zG=d(Z{4W5R?B|#|hW7Q;Q$s^T3}XO4y^#jZP#Eudyv#Cqt&i+z6(P-|NWbM}-o{vL zh9LOeJ2;1178=|@?58LXbmsuL!7M_FKMYUMH7yI=GxYrgi!e$@x$$X>k@6OwXD5Xdk-oDVSzdrIO;R0n-hcWW?`>8P7gvf-U;)JGai; zn)&J<$J5i&Y3INoVlwFuQhd-nPr=u`J1)xU)o3A-H}kREpe6ef{G^!EW#`sG(V_|N5j)9>!5hwEm}GSA1e791#1n)2ty$rhC1+#jPL6Ue=j7n%P3!!Zi22HblZ=a0+fQu%TQwdTLS zXFmE+HQs)tFbK|13pj3u_edKa+OvL7J z^YQ#Q-+3^82bEM&I0KH%s&F?hId5Ja;CEScg|OE`v9K*zacFM|+7Lt1pt}ez&hMnHr$a--Pdz{V?763Xu-U;NIspmC z9576$P=m*53I$pm9>bMUHahmZY$67VvP<#SV$3VH8L1n~2j4jFOnok-`s&Wkfs%@O z@#0ziWcBdLcuCKqiAzbOy3E6r@KWImjm>zO?gmjGJspF>ZmP`z=J&sFuCGWEs*C5G zx+2}rPe)5C#rc6={k@N#jpe^t+1j#6k8|C2?%X*BEaP~Ks?XT^#EXi5{(Rs0 z{@#Is-t+x^0|U+k+moY~76cXj2K{MZ0RO4K|7?GM|HX@48MT3alZ*?5HW+oErzIAg z)7byZcM^uVh+kNk*LOTCE9+05JSizbx7$53lG2w#-8-Hjq+Gbx4jic3!$_Q)o8#D; z`|#nz;vekm>(do}G&zC7S8s2xzV+ZaUOPjj-++1xNH?A877h-0Mn^d+TEq$YH&hHb zHkLbMI5X^KkEien;%r|Z3+jerqa}2PGpM2n^Av<-04%0=*8

y7c~2#)Idc(K23R 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\EJ#23 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 o3yTaR23o0WtIk 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

{^ivgP#)zlkQ~W9I}@d1%ExaXEzQ@P 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

k-EJ^<+gI!gVv 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�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

@@ -22,9 +22,23 @@ where P: ComputeProvider + Send + Sync, { pub fn new(provider: P, fhe_inputs: FHEInputs, fhe_processor: FHEProcessor) -> Self { + Self::with_published(provider, fhe_inputs, Vec::new(), fhe_processor) + } + + /// Carries what the E3 program published alongside each ciphertext, which its + /// [`crate::InputPolicy`] reads to build leaves and select inputs. + pub fn with_published( + provider: P, + fhe_inputs: FHEInputs, + published: Vec, + fhe_processor: FHEProcessor, + ) -> Self { Self { provider, - input: ComputeInput { fhe_inputs }, + input: ComputeInput { + fhe_inputs, + published, + }, processor: fhe_processor, } } diff --git a/crates/compute-provider/src/lib.rs b/crates/compute-provider/src/lib.rs index 8671259269..adb1b81bbc 100644 --- a/crates/compute-provider/src/lib.rs +++ b/crates/compute-provider/src/lib.rs @@ -8,7 +8,9 @@ mod ciphertext_output; mod compute_input; mod compute_manager; mod merkle_tree_builder; +pub mod policy; pub use ciphertext_output::*; pub use compute_input::*; pub use compute_manager::*; +pub use policy::{InputPolicy, PublishedInput}; diff --git a/crates/compute-provider/src/merkle_tree_builder.rs b/crates/compute-provider/src/merkle_tree_builder.rs index 7395819d70..9e1ba4e457 100644 --- a/crates/compute-provider/src/merkle_tree_builder.rs +++ b/crates/compute-provider/src/merkle_tree_builder.rs @@ -4,7 +4,8 @@ // without even the implied warranty of MERCHANTABILITY // or FITNESS FOR A PARTICULAR PURPOSE. -use crate::compute_input::{ComputeError, FHEInputs}; +use crate::compute_input::{ComputeError, FHEInputs, PublishedData}; +use crate::policy::{InputPolicy, PublishedInput}; use ark_bn254::Fr; use ark_ff::{BigInt, BigInteger}; use e3_bfv_client::client::compute_ct_commitment; @@ -12,18 +13,9 @@ use fhe::bfv::BfvParameters; use light_poseidon::{Poseidon, PoseidonHasher}; use num_bigint::BigUint; use num_traits::Num; -use sha2::{Digest as Sha2Digest, Sha256}; -use std::collections::BTreeMap; - -/// One input, paired with its position in the tree so the selection stays ordered. -type PositionedInput = (usize, (Vec, u64)); use std::str::FromStr; use zk_kit_imt::imt::IMT; -/// The BN254 scalar field, which every tree leaf must be reduced into. -const SNARK_SCALAR_FIELD: &str = - "21888242871839275222246405745257275088548364400416034343698204186575808495617"; - pub struct MerkleTreeBuilder { pub leaf_hashes: Vec, pub arity: usize, @@ -52,101 +44,68 @@ impl MerkleTreeBuilder { self } - /// Derives one leaf per input, in the order given, and returns the inputs to compute over. - /// - /// The leaf matches the layout the E3 program builds: - /// `sha256(sha256(bytes) || commitment || slot) mod SNARK_SCALAR_FIELD`. - /// - /// The tree is append-only, so a slot may hold several entries. For each slot the most recent - /// entry whose bytes reproduce its commitment is returned; entries that do not reproduce it, - /// or that do not deserialize, keep their leaf but are skipped. That fallback is what stops a - /// third party appending bad bytes to a slot and erasing a vote that was already counted. + /// Derives one leaf per published input and returns the ciphertexts the policy selected. /// - /// The selection is a function of values the root binds, so any prover holding the same - /// published data reaches the same set. + /// Two guarantees hold whatever the policy does, because they are applied here rather than + /// delegated: /// - /// When `commitments` or `slots` is empty, no check is possible: every input is returned and - /// the leaf falls back to the bare ciphertext commitment. + /// - **every input contributes a leaf**, so the root covers the whole published set and a + /// policy cannot make the result unpublishable by omitting one; + /// - **leaves are derived from the ciphertexts given**, never accepted alongside them. pub fn compute_leaf_hashes( &mut self, inputs: &FHEInputs, + published: &[PublishedData], params: &BfvParameters, + policy: InputPolicy, ) -> Result, u64)>, ComputeError> { let degree = params.degree(); let plaintext_modulus = params.plaintext(); let moduli = params.moduli().to_vec(); - let bound = !inputs.commitments.is_empty() && !inputs.slots.is_empty(); - - if bound - && (inputs.commitments.len() != inputs.ciphertexts.len() - || inputs.slots.len() != inputs.ciphertexts.len()) - { - return Err(ComputeError::MerkleTree(format!( - "{} ciphertexts, {} commitments, {} slots", - inputs.ciphertexts.len(), - inputs.commitments.len(), - inputs.slots.len() - ))); - } - - // Keyed by slot; a later entry replaces an earlier one, so what survives is the most - // recent usable entry for that slot. - let mut latest_per_slot: BTreeMap<[u8; 20], PositionedInput> = BTreeMap::new(); - let mut unbound_usable = Vec::new(); - - for (index, item) in inputs.ciphertexts.iter().enumerate() { - // A commitment that cannot be computed marks an unusable input rather than a failure: - // the bytes are attacker-supplied and must not be able to stop the round. - let recomputed = - compute_ct_commitment(item.0.clone(), degree, plaintext_modulus, moduli.clone()) - .ok(); - - if !bound { - let commitment = recomputed.ok_or(ComputeError::LeafCommitment { + let empty = PublishedData::default(); + + let entries: Vec = inputs + .ciphertexts + .iter() + .enumerate() + .map(|(index, (ciphertext, _))| { + let entry = published.get(index).unwrap_or(&empty); + PublishedInput { index, - reason: "ciphertext could not be deserialized".to_string(), - })?; - self.leaf_hashes.push(hex::encode(commitment)); - unbound_usable.push(item.clone()); - continue; - } - - self.leaf_hashes.push(Self::input_leaf( - &item.0, - &inputs.commitments[index], - &inputs.slots[index], - )); - - if recomputed == Some(inputs.commitments[index]) { - latest_per_slot.insert(inputs.slots[index], (index, item.clone())); - } - } - - if !bound { - return Ok(unbound_usable); + ciphertext, + commitment: entry.commitment.as_ref(), + metadata: &entry.metadata, + // Recomputed here rather than by the policy: it is the one value that ties the + // published bytes back to what the E3 program proved, and it needs the BFV + // parameters. A ciphertext that does not deserialize yields `None`, which is an + // unusable input rather than a failure — the bytes are untrusted. + recomputed: compute_ct_commitment( + ciphertext.clone(), + degree, + plaintext_modulus, + moduli.clone(), + ) + .ok(), + } + }) + .collect(); + + for entry in &entries { + self.leaf_hashes.push((policy.leaf)(entry)?); } - // Ordered by tree position so the computation is deterministic, not map order. - let mut selected: Vec = latest_per_slot.into_values().collect(); - selected.sort_by_key(|(index, _)| *index); - Ok(selected.into_iter().map(|(_, item)| item).collect()) - } - - /// `sha256(sha256(bytes) || commitment || slot) mod SNARK_SCALAR_FIELD`, hex-encoded. - /// - /// Must stay byte-identical to `CRISPProgram.inputLeaf`, or no root will ever match. - fn input_leaf(ciphertext: &[u8], commitment: &[u8; 32], slot: &[u8; 20]) -> String { - let bytes_digest = Sha256::digest(ciphertext); - - let mut outer = Sha256::new(); - outer.update(bytes_digest); - outer.update(commitment); - outer.update(slot); - let combined = outer.finalize(); - - let field = BigUint::from_str_radix(SNARK_SCALAR_FIELD, 10).expect("field constant"); - let reduced = BigUint::from_bytes_be(&combined) % field; - hex::encode(reduced.to_bytes_be()) + let mut selected = (policy.select)(&entries); + selected.sort_unstable(); + selected.dedup(); + + selected + .into_iter() + .map(|index| { + inputs.ciphertexts.get(index).cloned().ok_or_else(|| { + ComputeError::MerkleTree(format!("selected index {index} is out of range")) + }) + }) + .collect() } fn poseidon_hash(nodes: Vec) -> String { diff --git a/crates/compute-provider/src/policy.rs b/crates/compute-provider/src/policy.rs new file mode 100644 index 0000000000..d69d42ae42 --- /dev/null +++ b/crates/compute-provider/src/policy.rs @@ -0,0 +1,118 @@ +// SPDX-License-Identifier: LGPL-3.0-only +// +// This file is provided WITHOUT ANY WARRANTY; +// without even the implied warranty of MERCHANTABILITY +// or FITNESS FOR A PARTICULAR PURPOSE. + +//! How an E3 program's inputs become tree leaves, and which of them the computation sees. +//! +//! Both are program-specific. A leaf must match whatever the E3 program builds on chain, and no +//! two programs need agree; selection is the program's answer to "what does a second input for the +//! same participant mean?", which CRISP answers differently from a program where every input +//! counts. +//! +//! What is **not** program-specific, and is enforced by this crate rather than delegated: +//! +//! - leaves are derived from the ciphertexts the Secure Process consumed, never received alongside +//! them — a received root can disagree with the data it claims to describe; +//! - every published input contributes a leaf, whatever the policy decides about computing over it +//! — dropping one changes the root and makes the result unpublishable. + +use crate::compute_input::ComputeError; +use num_bigint::BigUint; +use num_traits::Num; + +/// The BN254 scalar field. Every leaf must reduce into it before the tree will accept it. +pub const SNARK_SCALAR_FIELD: &str = + "21888242871839275222246405745257275088548364400416034343698204186575808495617"; + +/// One published input, as the Secure Process sees it. +pub struct PublishedInput<'a> { + /// Position in the input set, which is also this leaf's position in the tree. + pub index: usize, + /// The serialized ciphertext the E3 program published. + pub ciphertext: &'a [u8], + /// The commitment the E3 program stored, when it publishes one. + /// + /// The proof an E3 program checks at input time typically constrains this and never sees the + /// serialized bytes, so the two can disagree. Comparing it against `recomputed` is the only + /// place that mismatch can be detected. + pub commitment: Option<&'a [u8; 32]>, + /// Whatever else the E3 program published per input, opaque to this crate. + /// + /// CRISP carries the 20-byte slot address here, because its tree is append-only and it selects + /// per slot. A program with no such notion leaves this empty. + pub metadata: &'a [u8], + /// The commitment recomputed from `ciphertext`, or `None` when it does not deserialize. + pub recomputed: Option<[u8; 32]>, +} + +impl PublishedInput<'_> { + /// Whether the published bytes reproduce the commitment the E3 program stored. + /// + /// `false` when the two disagree or the ciphertext does not deserialize. Always `true` when + /// the program publishes no commitment, since there is then nothing to check against. + pub fn matches_commitment(&self) -> bool { + match (self.commitment, self.recomputed) { + (Some(stored), Some(recomputed)) => *stored == recomputed, + (Some(_), None) => false, + (None, _) => true, + } + } +} + +/// Builds a leaf, which must equal what the E3 program builds on chain for the same input. +pub type LeafFn = fn(&PublishedInput) -> Result; + +/// Chooses which inputs the computation runs over, by index. +/// +/// Must be a function of data the input root binds, or two provers over the same published inputs +/// would disagree and a prover could choose what to leave out. +pub type SelectFn = fn(&[PublishedInput]) -> Vec; + +/// An E3 program's answers to both questions. +#[derive(Clone, Copy)] +pub struct InputPolicy { + pub leaf: LeafFn, + pub select: SelectFn, +} + +impl Default for InputPolicy { + /// The behaviour every E3 program had before policies existed: the leaf is the ciphertext's + /// own commitment, and every input is computed over. + fn default() -> Self { + Self { + leaf: commitment_leaf, + select: all_inputs, + } + } +} + +/// A leaf that is the ciphertext's own SAFE commitment. +/// +/// Matches an E3 program that inserts the commitment directly, as the starter template does. It +/// cannot detect a published ciphertext that disagrees with its commitment, because the leaf is +/// derived from the bytes alone — a program that needs that must bind both, as CRISP does. +pub fn commitment_leaf(input: &PublishedInput) -> Result { + input + .recomputed + .map(hex::encode) + .ok_or_else(|| ComputeError::LeafCommitment { + index: input.index, + reason: "ciphertext could not be deserialized".to_string(), + }) +} + +/// Every input is computed over, in published order. +pub fn all_inputs(inputs: &[PublishedInput]) -> Vec { + (0..inputs.len()).collect() +} + +/// Reduces a digest into the scalar field and hex-encodes it, ready to be a leaf. +/// +/// Exposed because reducing into BN254 is a property of the tree rather than of any one program, +/// so a program building its own leaf should not have to restate the modulus. +pub fn leaf_from_digest(digest: &[u8]) -> String { + let field = BigUint::from_str_radix(SNARK_SCALAR_FIELD, 10).expect("field constant"); + hex::encode((BigUint::from_bytes_be(digest) % field).to_bytes_be()) +} diff --git a/crates/program-server/src/lib.rs b/crates/program-server/src/lib.rs index 0d3e37478b..f689417500 100644 --- a/crates/program-server/src/lib.rs +++ b/crates/program-server/src/lib.rs @@ -10,7 +10,7 @@ use actix_web::{middleware::Logger, web, App, HttpResponse, HttpServer, Result a use alloy_primitives::U256; use anyhow::{Context, Result}; use e3_bfv_client::compute_ct_commitment; -use e3_compute_provider::FHEInputs; +use e3_compute_provider::{FHEInputs, PublishedData}; use e3_fhe_params::decode_bfv_params_arc; use serde::Serialize; use std::{future::Future, pin::Pin, sync::Arc, time::Duration}; @@ -72,6 +72,9 @@ fn fixed(value: &[u8], name: &str) -> Result<[u8; N], String> { pub struct ComputeJob { pub inputs: FHEInputs, + /// What the E3 program published alongside each ciphertext, in the same order. Empty when the + /// program publishes nothing beyond the ciphertexts. + pub published: Vec, pub domain: ComputeDomain, } @@ -367,35 +370,39 @@ async fn handle_compute( .clone() .ok_or_else(|| actix_web::error::ErrorBadRequest("callback_url is required"))?; - let commitments = req + let published = req .input_commitments .iter() - .map(|hex_commitment| { + .zip( + req.input_slots + .iter() + .map(Some) + .chain(std::iter::repeat(None)), + ) + .map(|(hex_commitment, hex_slot)| { let raw = hex::decode(hex_commitment.trim_start_matches("0x")) .map_err(|e| actix_web::error::ErrorBadRequest(format!("bad commitment: {e}")))?; - <[u8; 32]>::try_from(raw.as_slice()) - .map_err(|_| actix_web::error::ErrorBadRequest("each commitment must be 32 bytes")) + let commitment = <[u8; 32]>::try_from(raw.as_slice()).map_err(|_| { + actix_web::error::ErrorBadRequest("each commitment must be 32 bytes") + })?; + let metadata = match hex_slot { + Some(slot) => hex::decode(slot.trim_start_matches("0x")) + .map_err(|e| actix_web::error::ErrorBadRequest(format!("bad slot: {e}")))?, + None => Vec::new(), + }; + Ok(PublishedData { + commitment: Some(commitment), + metadata, + }) }) - .collect::>>()?; + .collect::>>()?; - if !commitments.is_empty() && commitments.len() != req.ciphertext_inputs.len() { + if !published.is_empty() && published.len() != req.ciphertext_inputs.len() { return Err(actix_web::error::ErrorBadRequest( "input_commitments must have one entry per ciphertext input", )); } - - let slots = req - .input_slots - .iter() - .map(|hex_slot| { - let raw = hex::decode(hex_slot.trim_start_matches("0x")) - .map_err(|e| actix_web::error::ErrorBadRequest(format!("bad slot: {e}")))?; - <[u8; 20]>::try_from(raw.as_slice()) - .map_err(|_| actix_web::error::ErrorBadRequest("each slot must be 20 bytes")) - }) - .collect::>>()?; - - if !slots.is_empty() && slots.len() != req.ciphertext_inputs.len() { + if !req.input_slots.is_empty() && req.input_slots.len() != req.ciphertext_inputs.len() { return Err(actix_web::error::ErrorBadRequest( "input_slots must have one entry per ciphertext input", )); @@ -404,8 +411,6 @@ async fn handle_compute( let fhe_inputs = FHEInputs { params: req.params.clone(), ciphertexts: req.ciphertext_inputs.clone(), - commitments, - slots, }; let domain = ComputeDomain::new( req.chain_id, @@ -417,6 +422,7 @@ async fn handle_compute( .map_err(actix_web::error::ErrorBadRequest)?; let job = ComputeJob { inputs: fhe_inputs, + published, domain, }; diff --git a/crates/support-scripts/dev/src/main.rs b/crates/support-scripts/dev/src/main.rs index 34fcff234d..7845fb4e44 100644 --- a/crates/support-scripts/dev/src/main.rs +++ b/crates/support-scripts/dev/src/main.rs @@ -18,7 +18,7 @@ impl ComputeProvider for MockProofProvider { // This dev provider stands in for the zkVM, where a failure aborts the guest. Panicking // with the reason keeps that behaviour while naming the input that could not be used. input - .process(fhe_processor) + .process(fhe_processor, e3_user_program::policy()) .expect("the Secure Process rejected its inputs") } } diff --git a/examples/CRISP/Cargo.lock b/examples/CRISP/Cargo.lock index 4541109713..9e2f01a30b 100644 --- a/examples/CRISP/Cargo.lock +++ b/examples/CRISP/Cargo.lock @@ -2610,7 +2610,11 @@ dependencies = [ "e3-fhe-params", "fhe", "fhe-traits", + "hex", "rand 0.9.2", + "serde_json", + "sha2", + "sha3", ] [[package]] diff --git a/examples/CRISP/program/Cargo.toml b/examples/CRISP/program/Cargo.toml index 4c913a5f53..af3d090737 100644 --- a/examples/CRISP/program/Cargo.toml +++ b/examples/CRISP/program/Cargo.toml @@ -7,8 +7,12 @@ edition = { workspace = true } fhe = { workspace = true } fhe-traits = { workspace = true } e3-compute-provider = { workspace = true } +sha2 = "=0.10.9" e3-fhe-params = { workspace = true } [dev-dependencies] +hex = "=0.4.3" +serde_json = "=1.0.145" +sha3 = "=0.10.8" e3-bfv-client = { workspace = true } rand = { workspace = true } diff --git a/examples/CRISP/program/src/lib.rs b/examples/CRISP/program/src/lib.rs index 179ccc75e2..0ebcab3456 100644 --- a/examples/CRISP/program/src/lib.rs +++ b/examples/CRISP/program/src/lib.rs @@ -9,6 +9,14 @@ use e3_fhe_params::decode_bfv_params_arc; use fhe::bfv::Ciphertext; use fhe_traits::{DeserializeParametrized, Serialize}; +/// The input policy this E3 program requires. +/// +/// Every E3 program exports one beside its processor, so the guest and the dev runner do not need +/// to know which program they are running. +pub fn policy() -> e3_compute_provider::InputPolicy { + policy::crisp() +} + /// CRISP Implementation of the CiphertextProcessor function pub fn fhe_processor(fhe_inputs: &FHEInputs) -> Vec { let params = decode_bfv_params_arc(&fhe_inputs.params).unwrap(); @@ -22,3 +30,80 @@ pub fn fhe_processor(fhe_inputs: &FHEInputs) -> Vec { sum.to_bytes() } + +/// CRISP's answers to how an input becomes a leaf and which inputs are tallied. +/// +/// Both are specific to this program and its contract. They live here, beside the `CRISPProgram` +/// they must agree with, rather than in `e3-compute-provider`, which every E3 program shares. +pub mod policy { + use e3_compute_provider::policy::{leaf_from_digest, PublishedInput}; + use e3_compute_provider::{ComputeError, InputPolicy}; + use sha2::{Digest, Sha256}; + use std::collections::BTreeMap; + + /// The 20-byte slot address `CRISPProgram` publishes with each input. + fn slot_of(input: &PublishedInput) -> Result<[u8; 20], ComputeError> { + <[u8; 20]>::try_from(input.metadata).map_err(|_| ComputeError::LeafCommitment { + index: input.index, + reason: format!( + "expected a 20-byte slot address, got {} bytes", + input.metadata.len() + ), + }) + } + + /// `sha256(sha256(ciphertext) || commitment || slot) mod SNARK_SCALAR_FIELD`. + /// + /// Must stay byte-identical to `CRISPProgram.inputLeaf`, or no root will ever match. It binds + /// three things: the bytes, because the Noir proof constrains only the commitment and never + /// sees the serialized ciphertext; the commitment, so no commitment can be paired with any + /// ciphertext; and the slot, because selection is per slot and an unbound slot would let a + /// prover re-group entries. + pub fn leaf(input: &PublishedInput) -> Result { + let commitment = input + .commitment + .ok_or_else(|| ComputeError::LeafCommitment { + index: input.index, + reason: "CRISP publishes a commitment with every input".to_string(), + })?; + let slot = slot_of(input)?; + + let mut outer = Sha256::new(); + outer.update(Sha256::digest(input.ciphertext)); + outer.update(commitment); + outer.update(slot); + Ok(leaf_from_digest(&outer.finalize())) + } + + /// The most recent entry per slot whose bytes reproduce its commitment. + /// + /// CRISP's input tree is append-only: anyone may write to any census member's slot, since the + /// mask path checks no signature. Overwriting in place would let a third party replace the + /// bytes of a counted vote and erase it. Appending keeps the earlier entry, and selecting the + /// latest *usable* one falls back to it when a later entry contradicts its commitment. + /// + /// A slot whose entries are all unusable contributes nothing — it never held a good vote. + pub fn latest_usable_per_slot(inputs: &[PublishedInput]) -> Vec { + let mut latest: BTreeMap<[u8; 20], usize> = BTreeMap::new(); + for input in inputs { + if !input.matches_commitment() { + continue; + } + // Walking in order means a later entry replaces an earlier one for the same slot. + if let Ok(slot) = slot_of(input) { + latest.insert(slot, input.index); + } + } + let mut selected: Vec = latest.into_values().collect(); + selected.sort_unstable(); + selected + } + + /// The policy `CRISPProgram` requires. + pub fn crisp() -> InputPolicy { + InputPolicy { + leaf, + select: latest_usable_per_slot, + } + } +} diff --git a/crates/compute-provider/tests/onchain_root_agreement.rs b/examples/CRISP/program/tests/onchain_root_agreement.rs similarity index 72% rename from crates/compute-provider/tests/onchain_root_agreement.rs rename to examples/CRISP/program/tests/onchain_root_agreement.rs index dd6336b5d6..7fd90230a6 100644 --- a/crates/compute-provider/tests/onchain_root_agreement.rs +++ b/examples/CRISP/program/tests/onchain_root_agreement.rs @@ -15,12 +15,34 @@ //! `MerkleTreeBuilder`. Such a divergence makes every round fail with no other symptom, and no //! single-language test can see it. -use e3_compute_provider::{ComputeInput, FHEInputs}; +use e3_compute_provider::{ComputeInput, FHEInputs, PublishedData}; use e3_fhe_params::{build_pair_for_preset, encode_bfv_params, BfvPreset}; +use e3_user_program::policy::crisp; use sha3::Digest as _; -const FIXTURE: &str = - include_str!("../../../examples/CRISP/packages/crisp-contracts/tests/fixtures/input-tree.json"); +const FIXTURE: &str = include_str!("../../packages/crisp-contracts/tests/fixtures/input-tree.json"); + +/// Reads the fixture entries into the shapes `ComputeInput` takes. +fn load(entries: &[serde_json::Value]) -> (Vec<(Vec, u64)>, Vec) { + let mut ciphertexts = Vec::new(); + let mut published = Vec::new(); + for (index, entry) in entries.iter().enumerate() { + ciphertexts.push(( + unhex(entry["encryptedVote"].as_str().expect("encryptedVote")), + index as u64, + )); + published.push(PublishedData { + commitment: Some( + <[u8; 32]>::try_from( + unhex(entry["commitment"].as_str().expect("commitment")).as_slice(), + ) + .expect("32-byte commitment"), + ), + metadata: unhex(entry["slot"].as_str().expect("slot")), + }); + } + (ciphertexts, published) +} fn unhex(value: &str) -> Vec { hex::decode(value.trim_start_matches("0x")).expect("fixture hex") @@ -32,39 +54,29 @@ fn rust_reproduces_the_root_the_contract_produced() { let expected_root = unhex(fixture["inputRoot"].as_str().expect("inputRoot")); let entries = fixture["inputs"].as_array().expect("inputs"); - let mut ciphertexts = Vec::new(); - let mut commitments = Vec::new(); - let mut slots = Vec::new(); - for (index, entry) in entries.iter().enumerate() { - ciphertexts.push(( - unhex(entry["encryptedVote"].as_str().expect("encryptedVote")), - index as u64, - )); - let commitment = unhex(entry["commitment"].as_str().expect("commitment")); - commitments.push(<[u8; 32]>::try_from(commitment.as_slice()).expect("32-byte commitment")); - let slot = unhex(entry["slot"].as_str().expect("slot")); - slots.push(<[u8; 20]>::try_from(slot.as_slice()).expect("20-byte slot")); - } + let (ciphertexts, published) = load(entries); // The SDK builds ballots under the insecure-512 threshold preset. let (params, _) = build_pair_for_preset(BfvPreset::InsecureThreshold512).unwrap(); let result = ComputeInput { fhe_inputs: FHEInputs { ciphertexts, - commitments, - slots, params: encode_bfv_params(¶ms), }, + published, } - .process(|inputs| { - // Membership of the tree is what this test asserts, so the processor only has to be - // deterministic over the usable set. - inputs - .ciphertexts - .iter() - .flat_map(|(bytes, _)| bytes.clone()) - .collect() - }) + .process( + |inputs| { + // Membership of the tree is what this test asserts, so the processor only has to be + // deterministic over the selected set. + inputs + .ciphertexts + .iter() + .flat_map(|(bytes, _)| bytes.clone()) + .collect() + }, + crisp(), + ) .expect("the fixture round must process"); assert_eq!( @@ -99,9 +111,8 @@ fn the_sdk_and_rust_agree_on_the_ciphertext_commitment() { ); } -const APPEND_FIXTURE: &str = include_str!( - "../../../examples/CRISP/packages/crisp-contracts/tests/fixtures/input-tree-append.json" -); +const APPEND_FIXTURE: &str = + include_str!("../../packages/crisp-contracts/tests/fixtures/input-tree-append.json"); /// The poisoning case, against a tree a real contract built. /// @@ -115,22 +126,12 @@ fn rust_falls_back_to_the_last_good_entry_in_a_slot() { let honest_index = fixture["honestIndex"].as_u64().expect("honestIndex") as usize; let entries = fixture["inputs"].as_array().expect("inputs"); - let mut ciphertexts = Vec::new(); - let mut commitments = Vec::new(); - let mut slots = Vec::new(); - for (index, entry) in entries.iter().enumerate() { - ciphertexts.push(( - unhex(entry["encryptedVote"].as_str().unwrap()), - index as u64, - )); - commitments.push( - <[u8; 32]>::try_from(unhex(entry["commitment"].as_str().unwrap()).as_slice()).unwrap(), - ); - slots - .push(<[u8; 20]>::try_from(unhex(entry["slot"].as_str().unwrap()).as_slice()).unwrap()); - } + let (ciphertexts, published) = load(entries); assert_eq!(entries.len(), 2, "the fixture must hold both entries"); - assert_eq!(slots[0], slots[1], "both entries belong to one slot"); + assert_eq!( + published[0].metadata, published[1].metadata, + "both entries belong to one slot" + ); let honest_bytes = ciphertexts[honest_index].0.clone(); let (params, _) = build_pair_for_preset(BfvPreset::InsecureThreshold512).unwrap(); @@ -139,18 +140,20 @@ fn rust_falls_back_to_the_last_good_entry_in_a_slot() { let result = ComputeInput { fhe_inputs: FHEInputs { ciphertexts, - commitments, - slots, params: encode_bfv_params(¶ms), }, + published, } - .process(|inputs| { - inputs - .ciphertexts - .iter() - .flat_map(|(bytes, _)| bytes.clone()) - .collect() - }) + .process( + |inputs| { + inputs + .ciphertexts + .iter() + .flat_map(|(bytes, _)| bytes.clone()) + .collect() + }, + crisp(), + ) .expect("a poisoned append must not stop the round"); assert_eq!( diff --git a/examples/CRISP/program/tests/secure_process.rs b/examples/CRISP/program/tests/secure_process.rs index 0149b64532..46e69fb800 100644 --- a/examples/CRISP/program/tests/secure_process.rs +++ b/examples/CRISP/program/tests/secure_process.rs @@ -6,17 +6,15 @@ //! Runs the CRISP Secure Process natively, outside the RISC Zero zkVM. //! -//! The guest is one line — `input.input.process(fhe_processor)` — so calling that here exercises -//! the same code the zkVM runs, with the real CRISP processor rather than a stand-in. Everything -//! except proof generation is covered, which matters because a guest failure inside the zkVM -//! surfaces only as a missing proof and a requester-billed compute timeout. -//! -//! These tests are the reason the byte-to-commitment binding exists: an input whose published bytes -//! are not the ciphertext that was proven used to abort the whole round here. +//! The guest is one line — `input.input.process(fhe_processor, crisp())` — so calling that here +//! exercises the same code the zkVM runs, with the real CRISP processor and the real CRISP policy. +//! Everything except proof generation is covered, which matters because a guest failure inside the +//! zkVM surfaces only as a missing proof and a requester-billed compute timeout. -use e3_compute_provider::{ComputeError, ComputeInput, FHEInputs}; +use e3_compute_provider::{ComputeError, ComputeInput, ComputeResult, FHEInputs, PublishedData}; use e3_fhe_params::{build_pair_for_preset, encode_bfv_params, BfvPreset}; use e3_user_program::fhe_processor; +use e3_user_program::policy::crisp; use fhe::bfv::{BfvParameters, Ciphertext, Encoding, Plaintext, PublicKey, SecretKey}; use fhe_traits::{ DeserializeParametrized, FheDecoder, FheDecrypter, FheEncoder, FheEncrypter, @@ -46,6 +44,12 @@ impl Round { } } + fn slot(tag: u8) -> [u8; 20] { + let mut address = [0u8; 20]; + address[19] = tag; + address + } + /// Encrypts one ballot the way a voter's client would. fn ballot(&self, votes: &[u64], nonce: u64) -> Vec { let mut rng = StdRng::seed_from_u64(1_000 + nonce); @@ -54,7 +58,7 @@ impl Round { ciphertext.to_bytes() } - /// The commitment an E3 program stores for a ciphertext. + /// The commitment `CRISPProgram` stores for a ciphertext. fn commitment(&self, bytes: &[u8]) -> [u8; 32] { e3_bfv_client::client::compute_ct_commitment( bytes.to_vec(), @@ -66,38 +70,44 @@ impl Round { } /// One ballot per slot, which is the ordinary case. - fn inputs(&self, ballots: Vec>) -> FHEInputs { + fn round_input(&self, ballots: Vec>) -> ComputeInput { let slots = (0..ballots.len()).map(|i| Self::slot(i as u8)).collect(); - self.inputs_at(ballots, slots) + self.round_input_at(ballots, slots) } - fn slot(tag: u8) -> [u8; 20] { - let mut address = [0u8; 20]; - address[19] = tag; - address + /// Ballots published to the given slots, in order. Repeating a slot models an append. + fn round_input_at(&self, ballots: Vec>, slots: Vec<[u8; 20]>) -> ComputeInput { + let published = ballots + .iter() + .zip(slots.iter()) + .map(|(bytes, slot)| PublishedData { + commitment: Some(self.commitment(bytes)), + metadata: slot.to_vec(), + }) + .collect(); + + ComputeInput { + fhe_inputs: FHEInputs { + ciphertexts: ballots + .into_iter() + .enumerate() + .map(|(i, b)| (b, i as u64)) + .collect(), + params: encode_bfv_params(&self.params), + }, + published, + } } - fn inputs_at(&self, ballots: Vec>, slots: Vec<[u8; 20]>) -> FHEInputs { - let commitments = ballots.iter().map(|b| self.commitment(b)).collect(); - FHEInputs { - slots, - ciphertexts: ballots - .into_iter() - .enumerate() - .map(|(i, b)| (b, i as u64)) - .collect(), - commitments, - params: encode_bfv_params(&self.params), - } + fn run(&self, input: ComputeInput) -> Result { + input.process(fhe_processor, crisp()) } /// Decrypts a tally ciphertext, as the ciphernode committee would. /// - /// `ComputeResult` carries only the keccak digest of the output, so the output ciphertext is - /// taken from the processor directly. Comparing digests is exact where only equality matters. + /// Against `self.params`, not a re-decoded copy: fhe.rs compares parameters by `Arc` identity, + /// so a structurally identical clone is rejected as incompatible. fn decrypt_tally(&self, ciphertext_bytes: &[u8], options: usize) -> Vec { - // Against `self.params`, not a re-decoded copy: fhe.rs compares parameters by `Arc` - // identity, so a structurally identical clone is rejected as incompatible. let ciphertext = Ciphertext::from_bytes(ciphertext_bytes, &self.params).unwrap(); let plaintext = self.secret_key.try_decrypt(&ciphertext).unwrap(); Vec::::try_decode(&plaintext, Encoding::poly()).unwrap()[..options].to_vec() @@ -108,30 +118,24 @@ impl Round { #[test] fn the_secure_process_tallies_well_formed_ballots() { let round = Round::new(); - let inputs = round.inputs(vec![ + let input = round.round_input(vec![ round.ballot(&[3, 0], 1), round.ballot(&[0, 5], 2), round.ballot(&[2, 0], 3), ]); + let all = input.fhe_inputs.clone(); - let result = ComputeInput { - fhe_inputs: inputs.clone(), - } - .process(fhe_processor) - .expect("an honest round must process"); + let result = round.run(input).expect("an honest round must process"); - // Every input is usable, so the processor output over the whole set is the tally. - let tally = round.decrypt_tally(&fhe_processor(&inputs), 2); - assert_eq!(tally, vec![5, 5], "3+2 for option 0 and 5 for option 1"); + assert_eq!(round.decrypt_tally(&fhe_processor(&all), 2), vec![5, 5]); assert_eq!(result.merkle_root.len(), 32); } -/// An input whose published bytes are not the ciphertext that was proven is dropped from the -/// tally, and the round still completes. +/// An input whose published bytes are not the ciphertext that was proven is dropped from the tally, +/// and the round still completes. /// -/// This is the case that used to abort the guest: `fhe_processor` deserializes with `unwrap`, so -/// the bad blob panicked before any error path could run. The binding now keeps it away from the -/// processor entirely. +/// This is the case that used to abort the guest: `fhe_processor` deserializes with `unwrap`, so a +/// bad blob panicked before any error path could run. The policy keeps it away from the processor. #[test] fn a_contradicting_input_is_dropped_and_the_round_survives() { let round = Round::new(); @@ -141,131 +145,96 @@ fn a_contradicting_input_is_dropped_and_the_round_survives() { round.ballot(&[2, 0], 3), ]; - let mut attacked = round.inputs(honest.clone()); - // A real, proven commitment beside bytes that are not its ciphertext — exactly what an E3 - // program cannot detect on chain. - attacked.ciphertexts[1].0 = round.ballot(&[0, 99], 9); + let mut attacked = round.round_input(honest.clone()); + // A real, proven commitment beside bytes that are not its ciphertext — what an E3 program + // cannot detect on chain. + attacked.fhe_inputs.ciphertexts[1].0 = round.ballot(&[0, 99], 9); - let result = ComputeInput { - fhe_inputs: attacked, - } - .process(fhe_processor) - .expect("a contradicting input must not abort the Secure Process"); + let result = round + .run(attacked) + .expect("a contradicting input must not abort the Secure Process"); - // The tally is the two inputs that matched, and nothing from the substituted one. - let mut only_matching = round.inputs_at( + let survivors = round.round_input_at( vec![honest[0].clone(), honest[2].clone()], vec![Round::slot(0), Round::slot(2)], ); - only_matching.ciphertexts[1].1 = 2; - let reference = ComputeInput { - fhe_inputs: only_matching, - } - .process(fhe_processor) - .unwrap(); + let survivor_inputs = survivors.fhe_inputs.clone(); + let reference = round.run(survivors).unwrap(); assert_eq!( result.ciphertext_hash, reference.ciphertext_hash, "the substituted ballot must not reach the tally" ); - - // And the surviving ballots are the honest ones: 3 and 2 for option 0, nothing for option 1. - let mut survivors = round.inputs_at( - vec![honest[0].clone(), honest[2].clone()], - vec![Round::slot(0), Round::slot(2)], - ); - survivors.ciphertexts[1].1 = 2; assert_eq!( - round.decrypt_tally(&fhe_processor(&survivors), 2), + round.decrypt_tally(&fhe_processor(&survivor_inputs), 2), vec![5, 0] ); } -/// Undecodable bytes reach the same outcome. Without the binding this is the cheapest way to kill -/// a round: one input of garbage and the guest aborts. +/// Undecodable bytes reach the same outcome. Without the binding this is the cheapest way to kill a +/// round: one input of garbage and the guest aborts. #[test] fn garbage_bytes_do_not_abort_the_secure_process() { let round = Round::new(); - let mut inputs = round.inputs(vec![round.ballot(&[4, 0], 1), round.ballot(&[0, 1], 2)]); - inputs.ciphertexts[0].0 = vec![0xff; 32]; + let mut input = round.round_input(vec![round.ballot(&[4, 0], 1), round.ballot(&[0, 1], 2)]); + input.fhe_inputs.ciphertexts[0].0 = vec![0xff; 32]; - let result = ComputeInput { - fhe_inputs: inputs.clone(), - } - .process(fhe_processor) - .expect("garbage must not abort the Secure Process"); - - // Only the second ballot survives, so the tally is that ballot alone. - let mut survivor = round.inputs_at(vec![round.ballot(&[0, 1], 2)], vec![Round::slot(1)]); - survivor.ciphertexts[0].1 = 1; - let reference = ComputeInput { - fhe_inputs: survivor.clone(), - } - .process(fhe_processor) - .unwrap(); + let result = round + .run(input) + .expect("garbage must not abort the Secure Process"); + + let survivor = round.round_input_at(vec![round.ballot(&[0, 1], 2)], vec![Round::slot(1)]); + let survivor_inputs = survivor.fhe_inputs.clone(); + let reference = round.run(survivor).unwrap(); assert_eq!(result.ciphertext_hash, reference.ciphertext_hash); assert_eq!( - round.decrypt_tally(&fhe_processor(&survivor), 2), + round.decrypt_tally(&fhe_processor(&survivor_inputs), 2), vec![0, 1] ); } -/// Two provers over the same published data must agree, or the excluded set would be something a +/// Two provers over the same published data must agree, or the selected set would be something a /// prover chooses rather than something the inputs determine. #[test] fn the_result_is_deterministic_across_runs() { let round = Round::new(); - let mut inputs = round.inputs(vec![round.ballot(&[1, 0], 1), round.ballot(&[0, 2], 2)]); - inputs.ciphertexts[0].0 = vec![0x00; 24]; + let mut input = round.round_input(vec![round.ballot(&[1, 0], 1), round.ballot(&[0, 2], 2)]); + input.fhe_inputs.ciphertexts[0].0 = vec![0x00; 24]; - let first = ComputeInput { - fhe_inputs: inputs.clone(), - } - .process(fhe_processor) - .unwrap(); - let second = ComputeInput { fhe_inputs: inputs } - .process(fhe_processor) - .unwrap(); + let first = round.run(input.clone()).unwrap(); + let second = round.run(input).unwrap(); assert_eq!(first.merkle_root, second.merkle_root); assert_eq!(first.ciphertext_hash, second.ciphertext_hash); assert_eq!(first.ciphertext_commitment, second.ciphertext_commitment); } -/// Reordering the inputs changes the root, which is why the indexer must sort by the on-chain -/// index before handing them over. +/// Reordering the inputs changes the root, which is why the indexer must sort by the on-chain index +/// before handing them over. #[test] fn input_order_changes_the_root() { let round = Round::new(); let ballots = vec![round.ballot(&[1, 0], 1), round.ballot(&[0, 2], 2)]; - let ordered = ComputeInput { - fhe_inputs: round.inputs(ballots.clone()), - } - .process(fhe_processor) - .unwrap(); - - let swapped = ComputeInput { - fhe_inputs: round.inputs(vec![ballots[1].clone(), ballots[0].clone()]), - } - .process(fhe_processor) - .unwrap(); + let ordered = round.run(round.round_input(ballots.clone())).unwrap(); + let swapped = round + .run(round.round_input(vec![ballots[1].clone(), ballots[0].clone()])) + .unwrap(); assert_ne!(ordered.merkle_root, swapped.merkle_root); } -/// With every input unusable the round has nothing to tally and fails with a typed error rather -/// than a panic. Only reachable when no honest input exists. +/// A round where every entry is unusable degenerates into one with nothing to tally. The processor +/// returns an empty ciphertext, which does not deserialize, so the output commitment fails with a +/// typed error rather than a panic. Only reachable when no honest input exists. #[test] fn an_all_unusable_round_fails_cleanly() { let round = Round::new(); - let mut inputs = round.inputs(vec![round.ballot(&[1, 0], 1)]); - inputs.ciphertexts[0].0 = vec![0xab; 16]; + let mut input = round.round_input(vec![round.ballot(&[1, 0], 1)]); + input.fhe_inputs.ciphertexts[0].0 = vec![0xab; 16]; - let error = ComputeInput { fhe_inputs: inputs } - .process(fhe_processor) - .unwrap_err(); + let error = round.run(input).unwrap_err(); assert!( matches!(error, ComputeError::OutputCommitment(_)), @@ -275,45 +244,46 @@ fn an_all_unusable_round_fails_cleanly() { /// The mask-poisoning case, through the real Secure Process. /// -/// A third party appends an entry to a slot that already holds a counted vote, with a real -/// commitment and bytes that are not its ciphertext. Append-only means the earlier entry is still -/// in the tree, so the victim's vote survives instead of being erased. +/// A third party appends to a slot that already holds a counted vote, with a real commitment and +/// bytes that are not its ciphertext. Append-only means the earlier entry is still in the tree, so +/// the victim's vote survives instead of being erased. #[test] fn a_poisoned_append_does_not_erase_the_vote_already_in_the_slot() { let round = Round::new(); let victim = Round::slot(7); let honest_ballot = round.ballot(&[6, 0], 1); - let mut inputs = round.inputs_at(vec![honest_ballot.clone()], vec![victim]); - // The attacker's entry: it reuses the victim's commitment beside unrelated bytes. - inputs.ciphertexts.push((round.ballot(&[0, 9], 5), 1)); - inputs.commitments.push(inputs.commitments[0]); - inputs.slots.push(victim); - - let result = ComputeInput { fhe_inputs: inputs } - .process(fhe_processor) + let mut input = round.round_input_at(vec![honest_ballot.clone()], vec![victim]); + // The attacker's entry reuses the victim's commitment beside unrelated bytes. + let reused_commitment = input.published[0].commitment; + input + .fhe_inputs + .ciphertexts + .push((round.ballot(&[0, 9], 5), 1)); + input.published.push(PublishedData { + commitment: reused_commitment, + metadata: victim.to_vec(), + }); + + let result = round + .run(input) .expect("a poisoned append must not stop the round"); - // The tally is the victim's original ballot, untouched. - let reference = round.inputs_at(vec![honest_ballot], vec![victim]); + let reference_input = round.round_input_at(vec![honest_ballot], vec![victim]); + let reference_fhe = reference_input.fhe_inputs.clone(); assert_eq!( - round.decrypt_tally(&fhe_processor(&reference), 2), + round.decrypt_tally(&fhe_processor(&reference_fhe), 2), vec![6, 0] ); - - let reference_result = ComputeInput { - fhe_inputs: reference, - } - .process(fhe_processor) - .unwrap(); assert_eq!( - result.ciphertext_hash, reference_result.ciphertext_hash, + result.ciphertext_hash, + round.run(reference_input).unwrap().ciphertext_hash, "the poisoned append must not change the tally" ); } -/// An honest re-vote still replaces the earlier ballot, so append-only does not freeze a voter's -/// first choice. +/// An honest re-vote still replaces the earlier ballot, so append-only does not freeze a voter into +/// their first choice. #[test] fn an_honest_re_vote_replaces_the_earlier_ballot() { let round = Round::new(); @@ -321,25 +291,23 @@ fn an_honest_re_vote_replaces_the_earlier_ballot() { let first = round.ballot(&[1, 0], 1); let second = round.ballot(&[0, 7], 2); - let mut inputs = round.inputs_at(vec![first], vec![voter]); - let later = round.inputs_at(vec![second.clone()], vec![voter]); - inputs.ciphertexts.push((second.clone(), 1)); - inputs.commitments.push(later.commitments[0]); - inputs.slots.push(voter); + let mut input = round.round_input_at(vec![first], vec![voter]); + input.fhe_inputs.ciphertexts.push((second.clone(), 1)); + input.published.push(PublishedData { + commitment: Some(round.commitment(&second)), + metadata: voter.to_vec(), + }); - let result = ComputeInput { fhe_inputs: inputs } - .process(fhe_processor) - .unwrap(); + let result = round.run(input).unwrap(); - let reference = round.inputs_at(vec![second], vec![voter]); + let reference_input = round.round_input_at(vec![second], vec![voter]); + let reference_fhe = reference_input.fhe_inputs.clone(); assert_eq!( - round.decrypt_tally(&fhe_processor(&reference), 2), + round.decrypt_tally(&fhe_processor(&reference_fhe), 2), vec![0, 7] ); - let reference_result = ComputeInput { - fhe_inputs: reference, - } - .process(fhe_processor) - .unwrap(); - assert_eq!(result.ciphertext_hash, reference_result.ciphertext_hash); + assert_eq!( + result.ciphertext_hash, + round.run(reference_input).unwrap().ciphertext_hash + ); } diff --git a/examples/CRISP/program/tests/selection.rs b/examples/CRISP/program/tests/selection.rs new file mode 100644 index 0000000000..e77d832c80 --- /dev/null +++ b/examples/CRISP/program/tests/selection.rs @@ -0,0 +1,143 @@ +// SPDX-License-Identifier: LGPL-3.0-only +// +// This file is provided WITHOUT ANY WARRANTY; +// without even the implied warranty of MERCHANTABILITY +// or FITNESS FOR A PARTICULAR PURPOSE. + +//! CRISP's selection rule: the most recent entry per slot whose bytes reproduce its commitment. +//! +//! The rule lives here rather than in `e3-compute-provider` because it is CRISP's answer to CRISP's +//! problem — an append-only tree that anyone may write to. A program where every input counts wants +//! the crate's default instead. + +use e3_compute_provider::policy::PublishedInput; +use e3_user_program::policy::latest_usable_per_slot; + +fn slot(tag: u8) -> [u8; 20] { + let mut address = [0u8; 20]; + address[19] = tag; + address +} + +/// Builds one slot's entry sequence. `true` is an honest entry; `false` an entry whose bytes do not +/// reproduce its commitment, which is what a third party can publish. +fn entries(pattern: &[bool], slots: &[[u8; 20]]) -> Vec { + let stored: Vec<[u8; 32]> = (0..pattern.len()).map(|i| [i as u8; 32]).collect(); + let bytes = vec![0u8]; + + let inputs: Vec = pattern + .iter() + .enumerate() + .map(|(index, honest)| PublishedInput { + index, + ciphertext: &bytes, + commitment: Some(&stored[index]), + metadata: &slots[index], + // An honest entry's bytes reproduce the stored commitment; a poisoned one's do not. + recomputed: Some(if *honest { stored[index] } else { [0xff; 32] }), + }) + .collect(); + + latest_usable_per_slot(&inputs) +} + +/// Every sequence for one slot resolves to that slot's most recent honest entry. +/// +/// The case that matters most is honest → poisoned → honest: selection has to move *forward* to the +/// later honest entry, not fall back to the first. Get that wrong and one poison would make every +/// later re-vote by that voter invisible. +#[test] +fn selection_picks_the_latest_honest_entry_in_every_sequence() { + let cases: &[(&[bool], Vec, &str)] = &[ + (&[true], vec![0], "a single honest entry"), + ( + &[false], + vec![], + "a single poisoned entry contributes nothing", + ), + (&[true, false], vec![0], "poisoned append falls back"), + ( + &[false, true], + vec![1], + "an honest entry after a poisoned one wins", + ), + (&[true, true], vec![1], "an honest re-vote replaces"), + ( + &[true, false, true], + vec![2], + "honest, poisoned, honest picks the last honest", + ), + ( + &[true, true, false], + vec![1], + "poisoned at the end falls back one step", + ), + ( + &[true, false, false], + vec![0], + "two poisoned appends still fall back to the first", + ), + ( + &[false, false, true], + vec![2], + "honest after two poisoned wins", + ), + ( + &[false, true, false], + vec![1], + "honest in the middle survives a later poison", + ), + ( + &[true, false, true, false], + vec![2], + "falls back past a trailing poison", + ), + ( + &[false, false, false], + vec![], + "an all-poisoned slot contributes nothing", + ), + ]; + + let one_slot: Vec<[u8; 20]> = (0..8).map(|_| slot(1)).collect(); + for (pattern, expected, description) in cases { + assert_eq!( + &entries(pattern, &one_slot[..pattern.len()]), + expected, + "{description}" + ); + } +} + +/// Sequences interleaved across slots must not bleed into one another. +#[test] +fn interleaved_slots_resolve_independently() { + // A-honest, B-poisoned, A-poisoned, B-honest. + let pattern = [true, false, false, true]; + let slots = [slot(1), slot(2), slot(1), slot(2)]; + + assert_eq!( + entries(&pattern, &slots), + vec![0, 3], + "each slot resolves on its own entries, in tree order" + ); +} + +/// An entry whose metadata is not a slot address cannot be grouped, so it is not selected. It still +/// contributes a leaf — that is the crate's guarantee, not the policy's. +#[test] +fn an_entry_without_a_valid_slot_is_not_selected() { + let stored = [7u8; 32]; + let bytes = vec![0u8]; + let malformed = [0u8; 4]; + + let inputs = vec![PublishedInput { + index: 0, + ciphertext: &bytes, + commitment: Some(&stored), + metadata: &malformed, + recomputed: Some(stored), + }]; + + assert!(latest_usable_per_slot(&inputs).is_empty()); +} diff --git a/examples/CRISP/server/src/server/indexer.rs b/examples/CRISP/server/src/server/indexer.rs index 975b1a653d..70c6faf16e 100644 --- a/examples/CRISP/server/src/server/indexer.rs +++ b/examples/CRISP/server/src/server/indexer.rs @@ -9,7 +9,7 @@ use crate::server::token_holders::{ }; use crate::server::{ models::{CensusMode, CreditMode, CurrentRound, CustomParams, TokenHolder}, - program_server_request::run_compute, + program_server_request::{run_compute, RoundInputs}, repo::{CrispE3Repository, CurrentRoundRepository}, token_holders::{build_tree, compute_token_holder_hashes}, CONFIG, @@ -447,9 +447,11 @@ async fn handle_e3_input_deadline_expiration( e3.encryption_scheme_id, e3.committee_public_key_hash, e3.e3_params, - votes, - input_commitments, - input_slots, + RoundInputs { + ciphertexts: votes, + commitments: input_commitments, + slots: input_slots, + }, format!( "{}/state/add-result", CONFIG.interfold_server_url_for_clients() diff --git a/examples/CRISP/server/src/server/program_server_request.rs b/examples/CRISP/server/src/server/program_server_request.rs index b89671b331..58ea4c44cc 100644 --- a/examples/CRISP/server/src/server/program_server_request.rs +++ b/examples/CRISP/server/src/server/program_server_request.rs @@ -89,6 +89,16 @@ fn build_compute_request( .json(request) } +/// The published inputs for a round, in on-chain index order. +/// +/// Grouped because the three vectors are only meaningful together: entry `i` of each describes the +/// same input, and a length mismatch mis-pairs ciphertexts with the commitments that prove them. +pub struct RoundInputs { + pub ciphertexts: Vec<(Vec, u64)>, + pub commitments: Vec<[u8; 32]>, + pub slots: Vec<[u8; 20]>, +} + pub async fn run_compute( e3_id: &str, chain_id: u64, @@ -96,9 +106,7 @@ pub async fn run_compute( encryption_scheme_id: Vec, committee_public_key_hash: Vec, params: Vec, - ciphertext_inputs: Vec<(Vec, u64)>, - input_commitments: Vec<[u8; 32]>, - input_slots: Vec<[u8; 20]>, + inputs: RoundInputs, webhook_url: String, ) -> Result<(String, String)> { let request = ComputeRequest { @@ -109,9 +117,9 @@ pub async fn run_compute( committee_public_key_hash, callback_url: Some(webhook_url), params, - ciphertext_inputs, - input_commitments, - input_slots, + ciphertext_inputs: inputs.ciphertexts, + input_commitments: inputs.commitments, + input_slots: inputs.slots, }; println!("Sending request"); diff --git a/templates/default/program/src/lib.rs b/templates/default/program/src/lib.rs index ae4b4332dd..44e590fbe8 100644 --- a/templates/default/program/src/lib.rs +++ b/templates/default/program/src/lib.rs @@ -4,11 +4,23 @@ // without even the implied warranty of MERCHANTABILITY // or FITNESS FOR A PARTICULAR PURPOSE. -use e3_compute_provider::FHEInputs; +use e3_compute_provider::{FHEInputs, InputPolicy}; use e3_fhe_params::decode_bfv_params_arc; use fhe::bfv::Ciphertext; use fhe_traits::{DeserializeParametrized, Serialize}; +/// The input policy this E3 program requires. +/// +/// Every E3 program exports one beside its processor. The default is the historical behaviour: the +/// leaf is the ciphertext's own commitment, and every input is computed over — which matches a +/// `MyProgram.publishInput` that inserts the commitment directly. +/// +/// A program whose contract builds a different leaf, or that needs to drop inputs it cannot verify, +/// supplies its own instead. See `examples/CRISP/program` for one that does. +pub fn policy() -> InputPolicy { + InputPolicy::default() +} + /// Implementation of the CiphertextProcessor function pub fn fhe_processor(fhe_inputs: &FHEInputs) -> Vec { let params = decode_bfv_params_arc(&fhe_inputs.params).unwrap(); @@ -29,10 +41,10 @@ mod tests { use e3_fhe_params::DEFAULT_BFV_PRESET; use e3_fhe_params::{BfvParamSet, build_bfv_params_arc, encode_bfv_params}; use fhe::bfv::{Encoding, Plaintext, PublicKey, SecretKey}; - use fhe_traits::FheEncoder; + use fhe_traits::{FheDecoder, FheEncoder}; use fhe_traits::FheEncrypter; use fhe_traits::{DeserializeParametrized, FheDecrypter, Serialize}; - use rand::{rngs::OsRng, thread_rng}; + use rand::thread_rng; #[test] fn test() -> Result<()> { @@ -46,7 +58,7 @@ mod tests { params_set.error1_variance, ); - let secret_key = SecretKey::random(¶ms, &mut OsRng); + let secret_key = SecretKey::random(¶ms, &mut rng); let public_key = PublicKey::new(&secret_key, &mut rng); // 3 @@ -73,7 +85,8 @@ mod tests { // Decrypt result let decrypted = secret_key.try_decrypt(&Ciphertext::from_bytes(&result, ¶ms)?)?; - assert_eq!(decrypted.value[0], 5); + let tally = Vec::::try_decode(&decrypted, Encoding::poly())?; + assert_eq!(tally[0], 5); Ok(()) } } From 4ede85246e52553c49097d47aee64cf80cc18898 Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Mon, 17 Aug 2026 23:23:06 +0100 Subject: [PATCH 06/30] docs: risc0 --- BRANCH-NOTES.md | 168 -------------------- crates/support/README.md | 34 ++++ crates/support/contracts/ImageID.stamp.json | 6 +- 3 files changed, 37 insertions(+), 171 deletions(-) delete mode 100644 BRANCH-NOTES.md diff --git a/BRANCH-NOTES.md b/BRANCH-NOTES.md deleted file mode 100644 index 7c12853ec1..0000000000 --- a/BRANCH-NOTES.md +++ /dev/null @@ -1,168 +0,0 @@ -# Branch notes — compute input binding and guest provenance - -Working notes for `fix/compute-input-binding-and-provenance`. Delete this file before merge, or move -its content into the pull request description. - -## What this branch changes - -### Security - -| Finding | Change | Test | -| ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | -| Guest proved the input root and the computation over unrelated input sets | `ComputeInput` holds only `fhe_inputs`; `process` derives the leaves from the ciphertexts it processed. `with_leaf_hashes` is now `#[cfg(test)]`. | `compute_input::tests` (2 tests) | -| SAFE commitment ignored components beyond `c[1]` | `bfv_ciphertext_to_greco` rejects any component count other than two. | `ciphertext_with_more_than_two_components_is_rejected` | -| CRISP never bound the emitted ciphertext bytes to the stored commitment | Leaf binds bytes, commitment and slot; tree is append-only; guest selects the latest usable entry per slot. See below. | 18 unit + 8 native + 2 cross-language + 8 Solidity | - -`ComputeManager::start_parallel` is removed. It set the final leaves to sub-tree roots, which is -incompatible with deriving leaves from ciphertexts, and it produced a tree of sub-tree roots rather -than the flat input root an E3 program compares against. Every call site passed -`use_parallel = false`, so the path was unreachable. `ComputeManager::new` loses its `use_parallel` -and `batch_size` parameters. - -### Build and provenance - -- `crates/support/Dockerfile`: `ARG RISC0_TOOLCHAIN` `1.88.0` → `1.91.1`. The old value could not - build the guest at all — the guest lockfile pins fhe.rs `f2c1d22`, whose workspace declares - `rust-version = "1.91.1"`. -- `crates/support/methods/build.rs`: `RISC0_USE_DOCKER` is read for its value, not its presence, so - `RISC0_USE_DOCKER=0` no longer selects the Docker build. -- `crates/support/tests/Elf.sol`: untracked and `.gitignore`d. It held a machine-local absolute path - (`/home/ace/...`) and nothing consumes it. -- `docs/pages/tutorials/write-e3-program.mdx`: the journal example moved from the stale four-field - 528-byte layout to the current nine-field 1,188-byte layout, and now states that an E3 program - must compare the input root itself. -- New `pnpm check:image-id` (`scripts/check-image-id.sh`), wired into `.husky/pre-push` and a new - `check_image_id` CI job. -- New `pnpm check:verifiers`, wired into pre-push and the `build_circuits` CI job. -- New `pnpm provenance:manifest` (`scripts/generate-provenance-manifest.ts`) — the release record. - It refuses to claim completeness: unresolved fields are listed and `complete` is `false`. -- New docs page `docs/pages/verifying-the-compute-provider.mdx`, linked from the compute-provider - page and from `write-secure-program.mdx`. -- The `e3-compute-provider` pins in `crates/support/Cargo.toml` and - `crates/support/methods/guest/Cargo.toml` now carry the rationale for being revisions rather than - paths, and the rule for bumping them. -- `CRISPProgram.setImageId` / `setRisc0Verifier` document that they cannot replace an accepted - computation but can fail an E3 in flight. - -## The compute-provider crate stays generic - -The leaf layout and the selection rule are CRISP's, so they live in `examples/CRISP/program`, not in -the crate every E3 program is pointed at. The crate holds only what is true for all of them — leaves -are derived, never received, and every input contributes one — and takes the rest as an -`InputPolicy`. - -- `InputPolicy::default()` is the pre-existing behaviour and matches the starter template. -- Every E3 program now exports `policy()` beside `fhe_processor`. -- `PublishedData { commitment, metadata }` carries what the program published per input; `metadata` - is opaque to the crate, and CRISP puts its slot address there. - -`FHEInputs` is back to `{ ciphertexts, params }`, so processors are unchanged. An earlier draft had -put CRISP's `slots: Vec<[u8; 20]>` on it, which broke the starter template's test and would have -silently given CRISP's dedup to any program that populated the field. - -## Blocker: the guest still runs the old code - -**The leaf-derivation fix does not reach the deployed guest on this branch.** - -`crates/support` is a separate Cargo workspace, excluded from the root workspace on purpose -(`Cargo.toml:53` — "client needs to be able to build crates/support independently"). It consumes -`e3-compute-provider` through a git pin to a **remote** revision: - -- `crates/support/Cargo.toml:45` -- `crates/support/methods/guest/Cargo.toml:16` - -Both name `c2097da61b4d07c4ce83840393ff4e9f171eefb4`. So the guest compiles the published crate at -that revision, not the tree. Changing `crates/compute-provider` locally has no effect on the guest -until the pin moves, and the pin can only move to a pushed commit. - -That pinned revision is already behind main in a second way: `crates/compute-provider` at `c2097da6` -computes the Merkle depth as `ceil(log2(n))`, without the `.max(1)` that main added. -`one_zero_leaf_matches_solidity_lazy_imt` documents that the minimum depth of one is what matches -the Solidity LazyIMT. - -`crates/support/host/src/lib.rs` therefore still calls the **five-argument** `ComputeManager::new`, -because that is the signature at the pinned revision. It is deliberately left alone. - -### Sequence to finish the fix - -1. Review and merge this branch. -2. Push, then bump both pins to the merge commit. -3. Update the call sites in `crates/support` that track the crate's API: - - the two `ComputeManager::new` calls in `crates/support/host/src/lib.rs` drop the `use_parallel` - and `batch_size` arguments; - - `crates/support/methods/guest/src/bin/program.rs` must handle the `Result` that - `ComputeInput::process` now returns, and pass the program's policy: - `input.input.process(fhe_processor, e3_user_program::policy())`. -4. Rebuild the guest: `./scripts/check-image-id.sh --rebuild`. -5. Commit the regenerated `crates/support/contracts/ImageID.sol`, refresh - `crates/support/contracts/ImageID.stamp.json`, and set `imageIdVerified` to `true`. -6. Redeploy `Risc0BfvCiphertextVerifier` — `imageId` is immutable — and every E3 program that stores - its own image ID. - -## The image ID is stale, and the stamp does not hide it - -`crates/support/contracts/ImageID.sol` last changed on 2026-06-23 in `8b81f51c`. The guest and the -journal types changed on 2026-08-06 in `f716d933b` and again on 2026-08-13 in `02ebe4589`. The first -of those replaced a four-field result with the nine-field domain-separated journal. The committed -image ID almost certainly does not correspond to the current tree. - -`ImageID.stamp.json` starts the drift ratchet from the current tree so future guest changes are -caught, and carries `"imageIdVerified": false` with the reason. `check:image-id` prints a warning -whenever that flag is false, so a green check is not read as a verified artifact. Only `--rebuild` -clears it, and that is blocked on the pin bump above. - -## Answered: was the compute path in the audit scope? - -No. The security report asked this; the 2026-08-17 Zenith report settles it. - -The audit's scope commit is **`c2097da61b4d07c4ce83840393ff4e9f171eefb4` — the same revision the -guest is pinned to.** So the pin's reason is "freeze the guest at the audited baseline", and that -reason does not hold up: the audit reviewed six Solidity files and no Rust. -`crates/compute-provider`, the guest, `crates/zk-helpers`, and `Risc0BfvCiphertextVerifier.sol` were -in neither the audit nor the mitigation review at `c64bcfb8`. - -That is the simplest explanation for how the input-root binding defect survived: it was never in -scope. Zenith's own §2.5 Security Note recommends a follow-up audit before deploying significant -capital. - -Recorded in `packages/interfold-contracts/audits/README.md`, `agent/flow-trace/00_INDEX.md`, -`agent/INVARIANTS.md`, the pin comment in `crates/support/Cargo.toml`, and the `build.auditBaseline` -field of the provenance manifest. `check:image-id` now fails if the baseline recorded in the script -is not documented in the audits README, and warns when the pin moves off it. - -**Any follow-up audit should scope `crates/compute-provider`, the guest, and `crates/zk-helpers` -explicitly.** - -## Resolved: Finding 3, CRISP vote bytes - -`CRISPProgram.publishInput` emitted `encryptedVote` without ever binding it to -`encryptedVoteCommitment`. The proof constrains the commitment and never sees the bytes, so a -submitter could publish a valid commitment beside unrelated data. Once leaf derivation moved into -the guest, one such input made the round unprovable — a free denial of service, since the mask path -needs no signature and anyone can write to any census slot. - -Prevention at input time is not reachable in this architecture. The contract can afford one linear -pass over 348 KB, so it can only verify a byte hash; the circuit can afford Poseidon over field -elements but not a byte hash at that size, so it can only produce what the contract cannot check. -Passing the ciphertext limbs as circuit public inputs *would* work — proof verification becomes the -check — but costs ~49k public inputs at the secure preset, roughly 35M gas, over a block limit. - -The fix has three parts: - -1. **The leaf binds bytes, commitment and slot.** - `sha256(sha256(bytes) || commitment || slot) mod SNARK_SCALAR_FIELD`, identical in - `CRISPProgram.inputLeaf` and `MerkleTreeBuilder`. -2. **The tree is append-only.** `_processVote` never updates in place. With update-in-place, an - attacker could mask over a counted vote with bad bytes and erase it silently — a worse outcome - than the bug being fixed. -3. **The Secure Process selects the most recent usable entry per slot**, keeping every leaf so the - root still matches, and falling back to a slot's last good entry. - -The Noir circuits are unchanged: `prev_ct_commitment` now comes from a `slotCommitment` mapping -rather than the tree leaf. - -**Not done:** an on-chain test of multi-entry append behaviour. A second input from one slot needs a -re-vote proof with matching `prev`, so append-only semantics are proven in Rust against real -ciphertexts and on-chain only as `numberOfVotes == 1` after one publish. Landing the leaf-derivation fix -without it trades a forgery vector for a denial-of-service vector. The options are in the -conversation; none of them is a small contract edit. diff --git a/crates/support/README.md b/crates/support/README.md index 4e5607a4d0..9181b5b8d7 100644 --- a/crates/support/README.md +++ b/crates/support/README.md @@ -116,6 +116,40 @@ interfold program compile This builds the guest ELF binary inside the Docker container. Output goes to `./target/riscv-guest/methods/guests/riscv32im-risc0-zkvm-elf/release/program.bin`. +### Changing the guest, and the pin that decides which code it runs + +The guest does **not** compile `crates/compute-provider` from this tree. `crates/support` is a +separate Cargo workspace, excluded from the root one on purpose so a client can build it +independently, and it reads `e3-compute-provider` and `e3-fhe-params` through a git pin to a +published revision (`crates/support/Cargo.toml`, `crates/support/methods/guest/Cargo.toml`). + +A change to `crates/compute-provider` therefore has no effect on the guest until that pin moves, and +the pin can only move to a pushed commit. Moving it changes the image ID, and +`Risc0BfvCiphertextVerifier.imageId` is immutable — so a guest change is a redeployment, not a patch. + +The order matters: + +1. Merge the change to `crates/compute-provider`, then push. +2. Bump both pins to the merge commit. They must name the same revision; `pnpm check:image-id` + fails if they diverge. +3. Update the `crates/support` call sites that track the crate's API — the compiler will point at + them, since they built against the old revision until now. +4. Rebuild the guest against the pinned code: + + ```bash + ./scripts/check-image-id.sh --rebuild + ``` + +5. Commit the regenerated `crates/support/contracts/ImageID.sol`, refresh + `crates/support/contracts/ImageID.stamp.json` with the new input digest, and set + `imageIdVerified` to `true` — it is `false` for any image ID nobody has reproduced. +6. Redeploy `Risc0BfvCiphertextVerifier`, and every E3 program that stores its own image ID. + +Skipping step 4 leaves a deployed verifier that accepts a guest no longer matching this tree. +`pnpm check:image-id` catches the source drift, but only a rebuild proves the recorded image ID is +the one the current sources produce. The reviewer-facing procedure is +`docs/pages/verifying-the-compute-provider.mdx`. + ### Step 3: Upload Program to IPFS (Pinata) ```bash diff --git a/crates/support/contracts/ImageID.stamp.json b/crates/support/contracts/ImageID.stamp.json index 1edb26f0ed..f4df075d98 100644 --- a/crates/support/contracts/ImageID.stamp.json +++ b/crates/support/contracts/ImageID.stamp.json @@ -14,8 +14,8 @@ "", "A rebuild also needs the guest to read the fixed compute-provider. The guest reads", "e3-compute-provider through a git pin (crates/support/Cargo.toml and", - "crates/support/methods/guest/Cargo.toml), so the leaf-derivation fix in", - "crates/compute-provider does not reach the guest until that pin moves to a pushed commit.", - "See BRANCH-NOTES.md." + "crates/support/methods/guest/Cargo.toml), so a change to crates/compute-provider does not", + "reach the guest until that pin moves to a pushed commit. The procedure is in", + "crates/support/README.md." ] } From d878c572292f8d90c90121280ea7a62310eea57a Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Tue, 18 Aug 2026 08:14:09 +0100 Subject: [PATCH 07/30] fix: crisp bugs --- .github/workflows/ci.yml | 2 + .github/workflows/releases.yml | 21 +- agent/INVARIANTS.md | 50 ++- agent/flow-trace/00_INDEX.md | 13 + agent/flow-trace/04_DKG_AND_COMPUTATION.md | 107 ++++- crates/compute-provider/src/compute_input.rs | 69 +++- .../compute-provider/src/compute_manager.rs | 18 +- crates/program-server/src/lib.rs | 41 +- crates/program-server/src/types.rs | 5 + crates/support-scripts/dev/src/main.rs | 11 +- docs/pages/tutorials/custom-zk-circuits.mdx | 31 +- docs/pages/tutorials/write-e3-program.mdx | 5 +- docs/pages/write-secure-program.mdx | 4 +- examples/CRISP/Cargo.lock | 2 + examples/CRISP/circuits/bin/crisp/src/main.nr | 170 ++++---- .../circuits/bin/crisp_onchain/src/main.nr | 168 ++++---- examples/CRISP/circuits/bin/fold/src/main.nr | 4 +- .../circuits/bin/fold_onchain/src/main.nr | 4 +- .../circuits/lib/src/ciphertext_addition.nr | 34 ++ examples/CRISP/circuits/lib/src/utils.nr | 325 ++++++++------- .../client/src/hooks/voting/useVoteCasting.ts | 17 +- examples/CRISP/crates/evm_helpers/src/lib.rs | 16 +- .../CRISP/crates/zk-inputs-wasm/src/lib.rs | 70 ++-- .../zk-inputs/src/ciphertext_addition.rs | 124 ++++-- examples/CRISP/crates/zk-inputs/src/lib.rs | 371 +++++++++++++----- .../contracts/CRISPOnchainVerifier.sol | 6 +- .../contracts/CRISPProgram.sol | 130 ++++-- .../contracts/CRISPVerifier.sol | 6 +- .../tests/fixtures/input-tree-append.json | 24 +- .../tests/fixtures/input-tree-revote.json | 19 + .../tests/fixtures/input-tree.json | 13 +- .../crisp-contracts/tests/input-leaf.test.ts | 52 ++- .../tests/input-tree-e2e.test.ts | 167 +++++++- examples/CRISP/packages/crisp-sdk/README.md | 7 +- .../packages/crisp-sdk/src/circuitInputs.ts | 59 ++- .../CRISP/packages/crisp-sdk/src/index.ts | 1 + examples/CRISP/packages/crisp-sdk/src/sdk.ts | 10 +- .../CRISP/packages/crisp-sdk/src/state.ts | 16 +- .../CRISP/packages/crisp-sdk/src/types.ts | 53 ++- examples/CRISP/packages/crisp-sdk/src/vote.ts | 11 +- .../packages/crisp-sdk/tests/vote.test.ts | 79 +++- .../CRISP/packages/crisp-zk-inputs/README.md | 26 +- examples/CRISP/program/Cargo.toml | 1 + examples/CRISP/program/src/lib.rs | 106 +++-- examples/CRISP/program/tests/input_leaf.rs | 105 +++++ .../program/tests/onchain_root_agreement.rs | 102 ++++- .../CRISP/program/tests/secure_process.rs | 20 +- examples/CRISP/program/tests/selection.rs | 253 ++++++++---- examples/CRISP/server/Cargo.toml | 1 + examples/CRISP/server/Readme.md | 18 + examples/CRISP/server/src/server/indexer.rs | 64 ++- examples/CRISP/server/src/server/models.rs | 11 + .../src/server/program_server_request.rs | 10 +- examples/CRISP/server/src/server/repo.rs | 130 +++++- .../CRISP/server/src/server/routes/state.rs | 53 +-- .../scripts/protocol/validate.ts | 11 + scripts/check-image-id.sh | 13 + scripts/generate-provenance-manifest.ts | 62 ++- 58 files changed, 2448 insertions(+), 873 deletions(-) create mode 100644 examples/CRISP/packages/crisp-contracts/tests/fixtures/input-tree-revote.json create mode 100644 examples/CRISP/program/tests/input_leaf.rs diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 95398e740c..dc9c208f80 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -291,6 +291,8 @@ jobs: with: # The pin-ancestry check reads history, so a shallow clone is not enough. fetch-depth: 0 + # This job only reads; it never pushes, so it needs no credentials left on disk. + persist-credentials: false - name: Check guest pins, toolchain, and image ID drift run: ./scripts/check-image-id.sh diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index bc2d6768c3..26d6a5aab0 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -456,19 +456,34 @@ jobs: with: path: dist/ - - uses: actions/setup-node@v4 + # Pinned to immutable SHAs: this job has `contents: write` and force-pushes `stable`, so a + # mutable tag could introduce unreviewed code into the release. + - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 with: node-version: '22' - - uses: pnpm/action-setup@v4 + - uses: pnpm/action-setup@f40ffcd9367d9f12939873eb1018b921a783ffaa # v4 - name: Install dependencies run: pnpm install --frozen-lockfile + # A released guest that does not match the released source is the failure this whole gate + # exists to prevent, so the release fails rather than shipping an unverified artefact. + - name: Check guest pins, toolchain, and image ID drift + run: ./scripts/check-image-id.sh + # A RISC Zero proof names a guest image; it does not name the source that produced it. This # record is what lets a third party tie the released source to the deployed imageId. - name: Generate compute-provider provenance manifest - run: pnpm provenance:manifest --out compute-provider-provenance.json + run: | + pnpm provenance:manifest --out compute-provider-provenance.json + # `complete: false` means a field could not be resolved. Publishing it would put a + # partial record beside the release as though it were a verification. + if ! node -e "process.exit(require('./compute-provider-provenance.json').complete ? 0 : 1)"; then + echo "provenance manifest is incomplete; refusing to publish it" >&2 + node -e "console.error(require('./compute-provider-provenance.json').unresolved.join('\n'))" + exit 1 + fi - name: Prepare release assets run: | diff --git a/agent/INVARIANTS.md b/agent/INVARIANTS.md index 85ea97789f..d0b92a2986 100644 --- a/agent/INVARIANTS.md +++ b/agent/INVARIANTS.md @@ -385,14 +385,50 @@ skip-proof feature containment (`pnpm check:invariants`, baselines in no universal answer. `InputPolicy::default` is the historical behaviour — leaf is the ciphertext's own commitment, every input counts — which matches the starter template. Every E3 program exports `policy()` beside `fhe_processor`. — `flow-trace/04` -- **CRISP binds bytes, commitment and slot into its leaf, and selects the latest usable entry per - slot.** `CRISPProgram.inputLeaf` is - `sha256(sha256(bytes) || commitment || slot) mod SNARK_SCALAR_FIELD` and +- **CRISP binds bytes, commitment, slot and parent into its leaf, and selects the end of each + slot's chain.** `CRISPProgram.inputLeaf` is + `sha256(sha256(bytes) || commitment || slot || parentIndexPlusOne) mod SNARK_SCALAR_FIELD` and `e3_user_program::policy` rebuilds it byte for byte; a divergence makes every root mismatch and - nothing else would catch it, so both sides pin the same vector and - `onchain_root_agreement.rs` asserts Rust reproduces a root a real contract produced. The tree is - append-only because the mask path checks no signature, so anyone can write to any census - member's slot and update-in-place would let a third party erase a counted vote. — `flow-trace/04` + nothing else would catch it, so both sides pin the same vector (`program/tests/input_leaf.rs`, + `tests/input-leaf.test.ts`) and `onchain_root_agreement.rs` asserts Rust reproduces a root a real + contract produced. The tree is append-only because the mask path checks no signature, so anyone + can write to any census member's slot and update-in-place would let a third party erase a counted + vote. — `flow-trace/04` +- **A slot's head must be openable by anyone, so selection follows a parent chain rather than a + mutable pointer.** `chain_head_per_slot` takes an entry only when its bytes reproduce its + commitment *and* the entry it names is that slot's current head. `CRISPProgram` cannot check the + first — the commitment is a Poseidon sponge over CRT limbs and the circuit never sees the + serialization — so with one mutable head per slot, anyone could publish a valid proof beside + unusable bytes and leave a head only they can open. A slot nobody can mask is a slot where every + later input is provably its owner voting again, which is a coercion receipt. Because an unusable + entry is never the head, it is never a valid parent, and the next honest input names the same + parent it did. + + The rule takes the **first** usable entry to extend a parent, so a later sibling is dropped and an + input can be front-run into not counting. Keep it that way: a stale parent cannot be told apart + from a sibling built a moment earlier, because only the circuit knows whether an entry replaces + the slot or adds to it. Preferring the later sibling would let a mask on a superseded ciphertext + restore it over a vote — a silent tally corruption, against a dropped re-vote the voter can see + and retry. — `flow-trace/04` +- **CRISP's three ballot operations prove one relation and publish one shape.** Voting, updating, + and masking all prove `published = addend + ballot`, with the addend selected by the private + `is_mask_vote` and derived as `keep_previous = is_mask_vote & !is_first_vote`. The circuit returns + `sum_ct_commitment` on every path, the SDK has one code path, and `CrispSDK.prepareBallot` makes + the same server request either way. Branching any of these apart — a different published + ciphertext, a different commitment for the digest, a different request — makes the three + distinguishable on chain, which is what masks exist to prevent. Deriving the selector rather than + witnessing it is what stops a voter counting their old ballot twice and a masker erasing a vote. + — `flow-trace/04` +- **CRISP constrains every coefficient of the ballot plaintext, at the real BFV degree.** The + witness generator reverses the message over the full degree, so the payload sits at + `k1[D - MAX_MSG_NON_ZERO_COEFFS ..]` with the options back to front; + `crisp_lib::utils::ballot_layout` derives that offset and both checkers use it. Coefficients + inside an option segment must be binary, everything outside the ballot region must be zero, and a + mask's plaintext must be zero everywhere. Indexing as if the polynomial were the message width + makes both checks read only padding: every vote passes any balance bound, and a mask — which + needs no signature and may be written to any eligible slot — can carry an arbitrary payload into + someone else's ballot. Tests must build `k1` at the compiled degree, not at + `MAX_MSG_NON_ZERO_COEFFS`. — `flow-trace/04` - **The SAFE ciphertext commitment requires exactly two components.** It covers `c[0]` and `c[1]` only, matching the Noir circuit, so `bfv_ciphertext_to_greco` rejects any other component count. A padded ciphertext would otherwise share a commitment with its two-component prefix while threshold diff --git a/agent/flow-trace/00_INDEX.md b/agent/flow-trace/00_INDEX.md index 3276249032..624f6b7ff2 100644 --- a/agent/flow-trace/00_INDEX.md +++ b/agent/flow-trace/00_INDEX.md @@ -203,6 +203,19 @@ _Found during source-code cross-referencing of these trace documents._ | **IF-003 — decryption proof phase and party binding** | Fixed | `decryption_aggregator` requires 1-indexed, strictly increasing party IDs, while `BfvDecryptionVerifier` checks the surfaced SK/ESM commitments against the E3's registry-backed DKG anchors. | | **IF-004 — ciphertext commitment binding** | Fixed | The off-chain SAFE commitment is stored at ciphertext publication, propagated as a final decryption-proof public input, and compared on-chain without attempting BFV decoding or Poseidon2 execution in Solidity. | +### CRISP Ballot Remediations + +Found while making voting, updating, and masking work as one indistinguishable operation. Every one +is in the reference app (`examples/CRISP`), not the protocol. + +| Finding | Status | Implemented behavior | +| --------------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **Ballot rules read only zero padding** | Fixed | `check_coefficient_values_with_balance` and `check_coefficient_zero` indexed `k1` as if it were `MAX_MSG_NON_ZERO_COEFFS` wide, while the circuit receives the full reversed BFV degree. Both read padding, so every vote passed any balance bound and a mask could carry an arbitrary payload. `ballot_layout` now derives the real offset. | +| **Coefficients outside the ballot are unconstrained** | Fixed | The whole plaintext is bound: binary inside an option segment, zero everywhere else, and zero everywhere for a mask. An unconstrained coefficient survives to the decrypted tally, so it was both a way to corrupt a slot and a channel a coercer could read a receipt from. | +| **Re-votes are accepted and never tallied** | Fixed | The witness published `previous + new` while the circuit committed to `new`. One generator now publishes exactly what the circuit commits to on every branch, and the SDK exposes one commitment for the ballot digest. | +| **Occupied-slot masks cannot be published** | Fixed | The client built the digest from the ballot commitment while the contract rebuilt it from the stored one, which differ for a mask over an occupied slot. `PreparedBallot.ctCommitment` is now the published ciphertext's commitment on every branch. | +| **A valid input can freeze a slot** | Fixed | Publishing a real proof beside unusable bytes advanced the slot head to a commitment only the submitter could open, so nobody could mask that slot — and a slot that cannot be masked is one where every later input is provably its owner voting again. Inputs now name the entry they extend and the guest follows the chain. | + ### Protocol Design Concerns | # | Concern | Severity | Detail | diff --git a/agent/flow-trace/04_DKG_AND_COMPUTATION.md b/agent/flow-trace/04_DKG_AND_COMPUTATION.md index 143a83b9b6..07db7f997f 100644 --- a/agent/flow-trace/04_DKG_AND_COMPUTATION.md +++ b/agent/flow-trace/04_DKG_AND_COMPUTATION.md @@ -1325,7 +1325,8 @@ commitment and every input is computed over — and matches the starter template `fhe_processor`, so the guest and the dev runner need not know which program they are running. `PublishedData` carries what the program published per input: the stored commitment, and opaque -`metadata` the crate never interprets. CRISP puts its 20-byte slot address there. +`metadata` the crate never interprets. CRISP puts its 20-byte slot address and the 5-byte parent +index there, laid out as `abi.encodePacked(address, uint40)`. ### Input leaf binding and per-slot selection @@ -1335,21 +1336,25 @@ the contract nor the circuit can tell: the commitment is a Poseidon sponge over limbs (~49k field elements at the secure preset), and the circuit cannot reproduce the fhe.rs serialization. The guest is the first place both representations exist at once. -`CRISPProgram.inputLeaf` therefore binds three values: +`CRISPProgram.inputLeaf` therefore binds four values: ``` -leaf = sha256(sha256(encryptedVote) || encryptedVoteCommitment || slotAddress) mod SNARK_SCALAR_FIELD +leaf = sha256(sha256(encryptedVote) || encryptedVoteCommitment || slotAddress || parentIndexPlusOne) + mod SNARK_SCALAR_FIELD ``` - the **bytes**, so a submitter cannot publish a valid commitment beside unrelated data; - the **commitment**, so any commitment cannot be paired with any ciphertext; - the **slot**, because the tree is append-only and the guest selects per slot — an unbound slot - would let a prover re-group entries and change which one wins. + would let a prover re-group entries and change which one wins; +- the **parent**, because the guest walks each slot's chain by it — an unbound parent would let a + prover re-point entries and change which one holds the slot. `MerkleTreeBuilder::compute_leaf_hashes` rebuilds exactly that layout. Both sides pin the same test -vector, and `crates/compute-provider/tests/onchain_root_agreement.rs` asserts Rust reproduces a root -a real contract produced, from a fixture generated by `tests/input-tree-e2e.test.ts`. A one-byte -divergence would make every root mismatch and nothing else would detect it. +vector (`program/tests/input_leaf.rs` and `tests/input-leaf.test.ts`), and +`examples/CRISP/program/tests/onchain_root_agreement.rs` asserts Rust reproduces a root a real +contract produced, from a fixture generated by `tests/input-tree-e2e.test.ts`. A one-byte divergence +would make every root mismatch and nothing else would detect it. SHA-256 rather than Keccak: the zkVM accelerates SHA-256 inline, while its Keccak accelerator emits a proof assumption the host must prove separately and compose. The extra on-chain cost is about 67k @@ -1362,19 +1367,58 @@ to any census member's slot. With update-in-place, a third party could replace t that had already been counted and erase it silently while the round still completed. Appending leaves the earlier entry in the tree. -For each slot the Secure Process computes over the **most recent entry whose bytes reproduce its -commitment**. Entries that do not reproduce it, or that do not deserialize, keep their leaf — removing -one would change the root — but are skipped, so selection falls back to that slot's last good entry. +Every input names the entry it extends. `publishInput` takes `parentIndexPlusOne` in its calldata, +reads that entry's commitment out of the per-slot history, and hands it to the circuit as +`prev_ct_commitment`; zero means the input extends nothing, which the circuit reads as +`is_first_vote`. + +For each slot the Secure Process computes over the **end of that slot's chain of usable entries** +(`chain_head_per_slot`). Walking in index order, an entry becomes the slot's head only when both +hold: + +- its bytes reproduce its commitment, so it is a ciphertext anyone can read; and +- the entry it names is the slot's current head. + +Entries that fail either rule keep their leaf — removing one would change the root — but are skipped. The rule is a function of values the root binds, so any prover holding the same published data reaches the same set and none can choose what to drop. +Why the chain rather than "the most recent usable entry": `CRISPProgram` cannot tell that a +submitter's bytes disagree with the commitment they published — only the Secure Process can, and only +after the input window closes. With a single mutable slot head, anyone could therefore leave a slot +whose head only they can open, and a slot nobody can mask is a slot where every later input is +provably its owner voting again. That is a coercion receipt, and a cleaner one than the receipt masks +exist to destroy. Because an unusable entry is never the head, it is never a valid parent either, so +the next honest input names the same parent it did and masking continues. + The resulting properties: - a malformed input costs one entry, not the round; -- an append with bad bytes cannot erase a counted vote; -- an honest re-vote still replaces the earlier ballot, because it is the most recent usable entry; -- a mask preserves the tally, since the circuit forces its plaintext to zero - (`check_coefficient_zero`) and proves `sum = prev + zero`. +- an append with bad bytes cannot erase a counted vote, and cannot freeze the slot against masking; +- an entry naming a stale parent is dropped, so a mask cannot restore a superseded ciphertext over a + later vote; +- an honest re-vote still replaces the earlier ballot, because it extends the head and adds to + nothing; +- a mask preserves the tally, since the circuit forces its plaintext to zero everywhere + (`check_coefficient_zero`) and proves `sum = head + zero`. + +**What the rule costs.** Two entries naming the same parent are siblings, and the first usable one +takes the head; the second is dropped. So an input can be front-run into being dropped — an attacker +who sees a re-vote in the mempool can land a mask on the same parent first, and the re-vote is not +counted. + +That is the deliberate side of a genuine trade-off, not an oversight. A stale parent is +indistinguishable from a sibling that was simply built a moment earlier: both name an entry that is +no longer the head, and only the circuit knows whether an entry *replaces* the slot or *adds* to it +— which is precisely what `is_mask_vote` keeps private. Favour the earlier sibling and a re-vote can +be delayed; favour the later one and a mask built on a superseded ciphertext can restore it over a +vote. The first is visible to the voter (the server resolves the chain, so the client can see its +input was not taken) and is fixed by submitting again. The second is a silent tally corruption that +nobody can detect or undo. Submitting through the CRISP server's relayer also keeps the transaction +out of a public mempool, which is where the race would be won. + +Closing the gap entirely would need the guest to tell a replace from an add, which means publishing +that distinction — the thing the whole design exists to hide. Capacity: `TREE_DEPTH = 20` gives 2^20 entries, against a physical ceiling of roughly three writes per block at the secure preset — append-only is not capacity-bound. @@ -1384,6 +1428,35 @@ empty ciphertext does not deserialize. That is only reachable when no honest inp indistinguishable from a round that received none, which the protocol resolves as `NoInputsReceived`. -`InputPublished` carries the slot and the commitment alongside the bytes. Both were already public — -the slot is a plaintext `publishInput` argument and `getSlotIndex` exposes it — so emitting them -leaks nothing and saves every consumer from parsing transaction calldata. +`InputPublished` carries the slot, the commitment, and the parent alongside the bytes. All three were +already public — the slot and the parent are plaintext `publishInput` arguments, and `getSlotIndex` +and `inputCommitmentOf` expose the rest — so emitting them leaks nothing and saves every consumer +from parsing transaction calldata. + +### One relation for voting, updating, and masking + +The ballot circuit proves the same statement for all three operations: + +``` +published ciphertext = addend + ballot ciphertext +``` + +The ballot is a fresh BFV encryption of `k1`, covered by the recursive `user_data_encryption` proof. +The addend is the slot's current head for a mask, and the zero ciphertext for a vote, a re-vote, or +any input to an empty slot. `is_mask_vote` chooses between them and is **private**, and the selector +is derived (`keep_previous = is_mask_vote & !is_first_vote`) rather than taken as a witness — so a +voter cannot add their new ballot on top of their old one and count twice, and a masker cannot +discard the head and erase a vote. + +The circuit returns `sum_ct_commitment` on every path, so the public inputs, the stored commitment, +the ballot digest, and the published ciphertext have the same shape whichever operation ran. Telling +them apart would mean distinguishing a fresh BFV ciphertext from a sum, which the encryption scheme +hides. The SDK has one code path for all three, and `CrispSDK.prepareBallot` makes the same +`state/previous-ciphertext` request either way, so the request pattern says nothing either. + +The plaintext is fully constrained on both branches. `check_coefficient_values_with_balance` binds +every coefficient of `k1`: those inside an option segment must be binary, and every coefficient +outside the ballot region must be zero. `check_coefficient_zero` requires the whole polynomial to be +zero for a mask. Both read the payload at `k1[D - MAX_MSG_NON_ZERO_COEFFS ..]`, because the witness +generator reverses the message over the full BFV degree — the ballot occupies the **last** 100 +coefficients, and the options appear back to front. diff --git a/crates/compute-provider/src/compute_input.rs b/crates/compute-provider/src/compute_input.rs index 80c9ade109..eba7b85b93 100644 --- a/crates/compute-provider/src/compute_input.rs +++ b/crates/compute-provider/src/compute_input.rs @@ -84,6 +84,20 @@ impl ComputeInput { fhe_processor: FHEProcessor, policy: InputPolicy, ) -> Result { + self.run(fhe_processor, policy).map(|(result, _)| result) + } + + /// As [`Self::process`], and also returns the output ciphertext. + /// + /// A caller that publishes the ciphertext must take it from here rather than running the + /// processor itself. The two are not interchangeable once a policy excludes anything: an E3 + /// program hashes the published bytes into the digest it rebuilds, so a ciphertext computed + /// over a different input set makes the receipt unverifiable and the round unpublishable. + pub fn run( + &self, + fhe_processor: FHEProcessor, + policy: InputPolicy, + ) -> Result<(ComputeResult, Vec), ComputeError> { let params = decode_bfv_params(&self.fhe_inputs.params) .map_err(|e| ComputeError::DecodeParams(e.to_string()))?; @@ -122,13 +136,16 @@ impl ComputeInput { .to_vec(); let params_hash = Keccak256::digest(&self.fhe_inputs.params).to_vec(); - Ok(ComputeResult { - ciphertext_hash: processed_hash, - ciphertext_commitment, - params_hash, - merkle_root: hex::decode(merkle_root) - .map_err(|e| ComputeError::MerkleTree(e.to_string()))?, - }) + Ok(( + ComputeResult { + ciphertext_hash: processed_hash, + ciphertext_commitment, + params_hash, + merkle_root: hex::decode(merkle_root) + .map_err(|e| ComputeError::MerkleTree(e.to_string()))?, + }, + processed_ciphertext, + )) } } @@ -386,4 +403,42 @@ mod tests { .collect(); assert_eq!(all_inputs(&entries), vec![0, 1, 2]); } + + /// The ciphertext a caller publishes must be the one the journal describes. + /// + /// An E3 program hashes the published bytes into the digest it rebuilds, so if the two are + /// computed over different input sets the receipt never verifies. That is exactly what happens + /// when a policy excludes anything and the caller runs the processor itself. + #[test] + fn the_returned_ciphertext_is_the_one_the_journal_describes() { + fn drop_the_first(inputs: &[PublishedInput]) -> Vec { + (1..inputs.len()).collect() + } + + let inputs = encrypted_inputs(&[1, 2, 3]); + let policy = InputPolicy { + leaf: commitment_leaf, + select: drop_the_first, + }; + + let (result, ciphertext) = ComputeInput { + fhe_inputs: inputs.clone(), + published: Vec::new(), + } + .run(sum_processor, policy) + .unwrap(); + + assert_eq!( + result.ciphertext_hash, + Keccak256::digest(&ciphertext).to_vec(), + "the journal must describe the ciphertext the caller publishes" + ); + + // And it is genuinely the selected subset, not the whole set. + let over_everything = sum_processor(&inputs); + assert_ne!( + ciphertext, over_everything, + "the excluded input must not be in the published ciphertext" + ); + } } diff --git a/crates/compute-provider/src/compute_manager.rs b/crates/compute-provider/src/compute_manager.rs index 2aa55c8ebe..e7a0cbb5fb 100644 --- a/crates/compute-provider/src/compute_manager.rs +++ b/crates/compute-provider/src/compute_manager.rs @@ -5,7 +5,8 @@ // or FITNESS FOR A PARTICULAR PURPOSE. use crate::ciphertext_output::ComputeProvider; -use crate::compute_input::{ComputeInput, FHEInputs, PublishedData}; +use crate::compute_input::{ComputeError, ComputeInput, FHEInputs, PublishedData}; +use crate::policy::InputPolicy; use crate::FHEProcessor; pub struct ComputeManager

@@ -43,12 +44,15 @@ where } } - pub fn start(&mut self) -> (P::Output, Vec) { - // The host computes the ciphertext only to return it to the caller for publication. The - // proof covers the copy the Secure Process computes for itself, so this value never - // reaches the journal. - let ciphertext = (self.processor)(&self.input.fhe_inputs); + /// Proves the computation and returns the ciphertext to publish. + /// + /// The ciphertext comes from the same selection the proof covers. Running the processor over + /// the full input set here instead would publish bytes the receipt does not describe: an E3 + /// program hashes the published ciphertext into the digest it rebuilds, so any excluded input + /// would make every round unpublishable. + pub fn start(&mut self, policy: InputPolicy) -> Result<(P::Output, Vec), ComputeError> { + let (_, ciphertext) = self.input.run(self.processor, policy)?; - (self.provider.prove(&self.input), ciphertext) + Ok((self.provider.prove(&self.input), ciphertext)) } } diff --git a/crates/program-server/src/lib.rs b/crates/program-server/src/lib.rs index f689417500..4c4da3f72c 100644 --- a/crates/program-server/src/lib.rs +++ b/crates/program-server/src/lib.rs @@ -373,23 +373,27 @@ async fn handle_compute( let published = req .input_commitments .iter() - .zip( - req.input_slots - .iter() - .map(Some) - .chain(std::iter::repeat(None)), - ) - .map(|(hex_commitment, hex_slot)| { + .enumerate() + .map(|(index, hex_commitment)| { let raw = hex::decode(hex_commitment.trim_start_matches("0x")) .map_err(|e| actix_web::error::ErrorBadRequest(format!("bad commitment: {e}")))?; let commitment = <[u8; 32]>::try_from(raw.as_slice()).map_err(|_| { actix_web::error::ErrorBadRequest("each commitment must be 32 bytes") })?; - let metadata = match hex_slot { - Some(slot) => hex::decode(slot.trim_start_matches("0x")) - .map_err(|e| actix_web::error::ErrorBadRequest(format!("bad slot: {e}")))?, - None => Vec::new(), - }; + + // The metadata is opaque here — what a policy reads out of it is the E3 program's + // business. It is assembled in the order the program packs it, which for CRISP is + // `abi.encodePacked(address, uint40)`. + let mut metadata = Vec::new(); + if let Some(hex_slot) = req.input_slots.get(index) { + metadata + .extend_from_slice(&hex::decode(hex_slot.trim_start_matches("0x")).map_err( + |e| actix_web::error::ErrorBadRequest(format!("bad slot: {e}")), + )?); + let parent = req.input_parents.get(index).copied().unwrap_or_default(); + metadata.extend_from_slice(&parent.to_be_bytes()[3..]); + } + Ok(PublishedData { commitment: Some(commitment), metadata, @@ -397,6 +401,19 @@ async fn handle_compute( }) .collect::>>()?; + // One-sided metadata is a caller bug that would otherwise fall through to the default policy + // and silently produce a root the E3 program rejects. + if req.input_commitments.is_empty() != req.input_slots.is_empty() { + return Err(actix_web::error::ErrorBadRequest( + "input_commitments and input_slots must be supplied together", + )); + } + if req.input_slots.len() != req.input_parents.len() { + return Err(actix_web::error::ErrorBadRequest( + "input_slots and input_parents must have the same length", + )); + } + if !published.is_empty() && published.len() != req.ciphertext_inputs.len() { return Err(actix_web::error::ErrorBadRequest( "input_commitments must have one entry per ciphertext input", diff --git a/crates/program-server/src/types.rs b/crates/program-server/src/types.rs index 5726657d7c..1ff6311d8b 100644 --- a/crates/program-server/src/types.rs +++ b/crates/program-server/src/types.rs @@ -40,6 +40,11 @@ pub struct ComputeRequest { /// `input_commitments`: the tree is append-only, so the Secure Process groups by slot. #[serde(default)] pub input_slots: Vec, + /// The entry each input names as the one it extends, plus one, in the same order; zero means it + /// extends nothing. Required alongside `input_slots`, because a policy that groups by slot may + /// also order within one, and CRISP's does. + #[serde(default)] + pub input_parents: Vec, pub callback_url: Option, } diff --git a/crates/support-scripts/dev/src/main.rs b/crates/support-scripts/dev/src/main.rs index 7845fb4e44..4fb9709276 100644 --- a/crates/support-scripts/dev/src/main.rs +++ b/crates/support-scripts/dev/src/main.rs @@ -50,8 +50,15 @@ fn encode_mock_compute_proof(seal: &[u8], result: &ComputeResult) -> Result Result<()> { let server = E3ProgramServer::builder(|job| async move { - let mut manager = ComputeManager::new(MockProofProvider, job.inputs, fhe_processor); - let (result, ciphertext) = manager.start(); + // `with_published`, not `new`: a program whose policy reads the commitment or the slot + // needs what the E3 program published, and `new` supplies none of it. + let mut manager = ComputeManager::with_published( + MockProofProvider, + job.inputs, + job.published, + fhe_processor, + ); + let (result, ciphertext) = manager.start(e3_user_program::policy())?; let proof = encode_mock_compute_proof(&[3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5], &result)?; Ok((proof, ciphertext)) diff --git a/docs/pages/tutorials/custom-zk-circuits.mdx b/docs/pages/tutorials/custom-zk-circuits.mdx index e996edf443..cf2d7d0569 100644 --- a/docs/pages/tutorials/custom-zk-circuits.mdx +++ b/docs/pages/tutorials/custom-zk-circuits.mdx @@ -95,15 +95,27 @@ fn main( ) -> pub (Field, Field, Field) // (final_ct_commitment, ct_commitment, k1_commitment) ``` -The circuit supports two modes controlled by `is_mask_vote`: +The circuit proves one relation for every operation — voting, changing a vote, and masking: + +``` +published ciphertext = addend + ballot ciphertext +``` + +`is_mask_vote` chooses the addend and is **private**: - **Actual vote**: Verifies the signature matches the slot address, checks that the vote amount - doesn't exceed the voter's balance, and validates Merkle membership -- **Mask vote**: Verifies a zero-value vote. Anyone can submit mask votes to any slot, which - provides + doesn't exceed the voter's balance, and validates Merkle membership. The addend is the zero + ciphertext, so a vote replaces what the slot holds rather than adding to it +- **Mask vote**: Verifies a zero-value ballot, in every plaintext coefficient. The addend is the + ciphertext already in the slot, so the vote there is unchanged. Anyone can submit mask votes to + any slot, which provides [receipt-freeness](https://blog.theinterfold.com/vote-masking-receipt-freeness-secret-ballots/) — voters cannot prove which ciphertext is theirs +Because both branches return the same commitment and publish the same shape of ciphertext, an +observer cannot tell them apart. Doing so would mean distinguishing a fresh BFV ciphertext from a +sum, which the encryption scheme hides. + ### Library Modules **`merkle_tree.nr`** — Poseidon-based Merkle membership proof with a 20-level tree. Proves that a @@ -180,7 +192,7 @@ The public inputs include: - `prev_ct_commitment` — commitment to the previous ciphertext in the slot - `merkle_root` — the eligibility Merkle root - `slot_address` — which vote slot is being written to -- `is_first_vote` — whether this is the first vote in the slot +- `is_first_vote` — whether this input extends an earlier entry in the slot, or nothing - `num_options` — number of voting options --- @@ -197,11 +209,10 @@ import { ZKInputsGenerator } from '@crisp-e3/zk-inputs' await init() const generator = ZKInputsGenerator.withDefaults() -const { encryptedVote, inputs } = generator.generateInputs( - previousCiphertext, - publicKey, - voteCoefficients, -) +// `previousCiphertext` is the end of the slot's chain of usable entries, or `undefined` when the +// slot holds nothing. `keepPrevious` is set only for a mask over an occupied slot: it is what makes +// the ballot add to that ciphertext rather than replace it. +const { encryptedVote, inputs } = generator.generateInputs(previousCiphertext, publicKey, voteCoefficients, keepPrevious) ``` The WASM module handles BFV encryption and produces the exact polynomial decompositions the Noir diff --git a/docs/pages/tutorials/write-e3-program.mdx b/docs/pages/tutorials/write-e3-program.mdx index 645919b5a1..90e69822a3 100644 --- a/docs/pages/tutorials/write-e3-program.mdx +++ b/docs/pages/tutorials/write-e3-program.mdx @@ -211,8 +211,9 @@ function verify( bytes32 paramsHash = getParamsHash(e3Id); bytes32 inputRoot = bytes32(e3Data[e3Id].votes._root()); - // The compute provider chooses the input root, so compare it against the root this program - // accumulated on chain before the journal is rebuilt. + // The Secure Process derives this root from the ciphertexts it processed, and the proof envelope + // carries that derived value. Compare it against the root this program accumulated on chain: the + // protocol verifier does not, so this is the only check that the result covers your inputs. Risc0ComputeProof.Proof memory computeProof = Risc0ComputeProof.decode(proof); if (computeProof.paramsHash != paramsHash || computeProof.inputRoot != inputRoot) revert InvalidComputeContext(); diff --git a/docs/pages/write-secure-program.mdx b/docs/pages/write-secure-program.mdx index 1230641625..74fb333ce3 100644 --- a/docs/pages/write-secure-program.mdx +++ b/docs/pages/write-secure-program.mdx @@ -111,8 +111,8 @@ expects: - The `FHEInputs` struct that consists of the FHE parameters and the ciphertexts to use. Each ciphertext is a tuple of `(bytes, index)` where `index` is the position in the input set. - The Secure Process function `fhe_processor` -- A boolean flag `use_parallel` to indicate whether to use parallel processing. -- An optional `batch_size` that will be used for parallel processing. Must be a power of 2. +- The [`InputPolicy`](https://github.com/theinterfold/interfold/tree/main/crates/compute-provider) + your E3 program exports, which decides the leaf layout and which inputs are computed over. The `FHEInputs` struct is defined as: diff --git a/examples/CRISP/Cargo.lock b/examples/CRISP/Cargo.lock index 9e2f01a30b..63283b1734 100644 --- a/examples/CRISP/Cargo.lock +++ b/examples/CRISP/Cargo.lock @@ -2116,6 +2116,7 @@ dependencies = [ "derivative", "dialoguer", "dotenvy", + "e3-bfv-client", "e3-compute-provider", "e3-fhe-params", "e3-sdk", @@ -2611,6 +2612,7 @@ dependencies = [ "fhe", "fhe-traits", "hex", + "num-bigint", "rand 0.9.2", "serde_json", "sha2", diff --git a/examples/CRISP/circuits/bin/crisp/src/main.nr b/examples/CRISP/circuits/bin/crisp/src/main.nr index 009e570004..b12fd32a22 100644 --- a/examples/CRISP/circuits/bin/crisp/src/main.nr +++ b/examples/CRISP/circuits/bin/crisp/src/main.nr @@ -4,7 +4,7 @@ // without even the implied warranty of MERCHANTABILITY // or FITNESS FOR A PARTICULAR PURPOSE. -use crisp_lib::ciphertext_addition::CiphertextAddition; +use crisp_lib::ciphertext_addition::{CiphertextAddition, select_addend}; use crisp_lib::ecdsa::{address_to_field, derive_address, digest_from_halves, validate_signature}; use crisp_lib::merkle_tree::get_merkle_root; use crisp_lib::utils::{check_coefficient_values_with_balance, check_coefficient_zero}; @@ -23,9 +23,10 @@ use interfold_lib::math::{ /// /// This circuit implements the core verification logic for the CRISP (Coercion-Resistant Impartial /// Selection Protocol) voting system. It verifies that votes are properly encrypted using BFV -/// (Brakerski-Fan-Vercauteren) fully homomorphic encryption and handles two distinct use cases: -/// 1. **Actual Voting**: An eligible voter casts a vote -/// 2. **Mask Vote**: Anyone submits a zero vote to mask slot activity +/// (Brakerski-Fan-Vercauteren) fully homomorphic encryption, and it covers three operations: +/// 1. **Voting**: An eligible voter casts a ballot into an empty slot +/// 2. **Updating**: The same voter replaces the ballot in their slot +/// 3. **Masking**: Anyone adds a zero ballot to any eligible slot /// /// Votes are stored in an on-chain Merkle tree, where each vote ciphertext is stored at a specific /// index. A mapping stores the slot address (Ethereum address) to the index in the Merkle tree. @@ -39,11 +40,27 @@ use interfold_lib::math::{ /// impossible for a voter to prove which ciphertext was their actual vote, preventing them from /// providing a verifiable receipt to a coercer or briber. /// -/// The circuit verifies all inputs and returns the appropriate ciphertext commitment. -/// Specifically, it returns a Field commitment depending on the case: -/// - **Actual vote**: `ct_commitment` - commitment to the new vote ciphertext -/// - **Mask vote (first vote)**: `ct_commitment` - commitment to the zero ciphertext -/// - **Mask vote (updating slot)**: `sum_ct_commitment` - commitment to the sum of previous votes in slot +/// # One relation for all three operations +/// +/// The circuit proves the same statement whichever operation is being performed: +/// +/// ```text +/// new slot ciphertext = addend + ballot ciphertext +/// ``` +/// +/// where the ballot ciphertext is a fresh BFV encryption of `k1`, and the addend is the ciphertext +/// already in the slot for a mask, or the zero ciphertext for a vote, an update, and any input to +/// an empty slot. `is_mask_vote` chooses between them and is private, so the returned commitment, +/// the public inputs, and the published ciphertext have the same shape in every case. An observer +/// cannot tell a vote from an update from a mask; distinguishing them would mean distinguishing a +/// fresh BFV ciphertext from a sum, which is what the encryption scheme hides. +/// +/// The circuit returns: +/// - `sum_ct_commitment` - the commitment to the ciphertext that becomes the slot, and the value +/// the E3 program stores and the ballot digest is built over +/// - `ct_commitment` - the commitment to the ballot ciphertext, which ties this proof to the +/// `user_data_encryption` proof in the fold circuit +/// - `k1_commitment` - the commitment to the ballot plaintext, for the same reason /// fn main( // Ciphertext Addition Section @@ -89,6 +106,8 @@ fn main( k1, DS_USER_DATA_ENCRYPTION_COMMITMENT, ); + let sum_ct_commitment = + compute_ciphertext_commitment::(sum_ct0is, sum_ct1is); // ============================================================================ // STEP 2: Eligibility - Merkle Tree Proof @@ -99,7 +118,7 @@ fn main( // the expected root, which is stored in the contract and passed as a public input // when verifying the proof. // - // This check applies to BOTH cases: + // This check applies to every operation: // - For actual votes: verifies the voter is eligible // - For mask votes: verifies the slot address is in the eligibility tree let merkle_root_calculated = get_merkle_root( @@ -113,58 +132,51 @@ fn main( assert(merkle_root_calculated == merkle_root); // ============================================================================ - // STEP 3: Vote Type Detection and Return Logic + // STEP 3: The Previous Ciphertext // ============================================================================ - // The circuit branches into two cases based on the is_mask_vote flag: - // - // CASE 1: ACTUAL VOTE (is_mask_vote == false) - // - This is an eligible voter casting a vote - // - Verify vote amount <= balance (checked via valid_vote) - // - Validate the signature over the public digest (checked via valid_signature) - // to authenticate the voter for this ballot - // - Verify address matches slot address (checked via valid_address) - // - Return new vote ciphertext commitment (ct_commitment) - let valid_vote = - check_coefficient_values_with_balance(k1, Q_MOD_T_CENTERED, balance, num_options); - - // The digest is a public input, so the prover cannot select the message that the signature - // covers. The contract computes the digest from the round, the slot, and this ballot, which - // binds the signature to all three. - let hashed_message = digest_from_halves(digest_hi, digest_lo); - let valid_signature = validate_signature(hashed_message, public_key_x, public_key_y, signature); - let valid_address = - slot_address == address_to_field(derive_address(public_key_x, public_key_y)); + // Only a mask keeps what the slot holds. A real vote replaces it, and an empty slot holds + // nothing, so both add the ballot to the zero ciphertext. The selector is derived rather than + // taken as a witness: a voter cannot add their new ballot on top of their old one and count + // twice, and a masker cannot discard what the slot holds and erase a vote. + let keep_previous = is_mask_vote & !is_first_vote; + let addend_ct0is = select_addend(prev_ct0is, keep_previous); + let addend_ct1is = select_addend(prev_ct1is, keep_previous); - // CASE 2: MASK VOTE (is_mask_vote == true) - // - This is anyone submitting a zero vote to mask slot activity - // - Verify vote is zero: k1 must be zero (checked via valid_zero_vote) - // - If first vote in slot: return zero ciphertext commitment (ct_commitment) - // - If updating slot (is_first_vote == false): - // * Verify prev_ct_commitment matches the computed commitment from (prev_ct0is, prev_ct1is) - // to ensure the prover hasn't tampered with the previous ciphertext - // * Verify ciphertext addition: prove that sum_ct = prev_ct + ct where: - // - prev_ct = (prev_ct0is, prev_ct1is) is the previous ciphertext in the slot - // - ct = (ct0is, ct1is) is the zero vote ciphertext being added - // - sum_ct = (sum_ct0is, sum_ct1is) is the resulting ciphertext - // * The verification uses commitments and Fiat-Shamir transform with Schwartz-Zippel - // lemma to prove the homomorphic addition without decrypting - // * Mask votes add zero to the previous ciphertext, creating a different ciphertext - // with the same plaintext, preventing receipt sharing attacks - // * Return sum ciphertext commitment (sum_ct_commitment) - let sum_ct_commitment = - compute_ciphertext_commitment::(sum_ct0is, sum_ct1is); - let _prev_ct_commitment = + // A mask has to open `prev_ct_commitment`, the commitment the E3 program recorded for the entry + // this input names as its parent. Without it a mask could add its zero ballot to a ciphertext of + // its own choosing, and publish that as the slot. + // + // Asserted only where the addend is used. A vote adds to nothing, so it has nothing to open, + // and it can write to its own slot whatever the parent turns out to be — which matters, because + // the E3 program cannot tell whether the bytes published beside a commitment deserialize to the + // ciphertext that commitment describes. Only the Secure Process can, and only once the input + // window closes. + let recomputed_prev_ct_commitment = compute_ciphertext_commitment::(prev_ct0is, prev_ct1is); - let valid_zero_vote = check_coefficient_zero(k1, num_options); - let valid_prev_ct = prev_ct_commitment == _prev_ct_commitment; + if keep_previous { + assert(prev_ct_commitment == recomputed_prev_ct_commitment); + } + + // ============================================================================ + // STEP 4: Ciphertext Addition + // ============================================================================ + // Prove that sum_ct = addend_ct + ct, where ct = (ct0is, ct1is) is the ballot ciphertext and + // sum_ct = (sum_ct0is, sum_ct1is) is what the E3 program will store for this slot. + // + // The verification uses commitments and the Fiat-Shamir transform with the Schwartz-Zippel + // lemma to prove the homomorphic addition without decrypting anything. + // + // Asserted on every path. That is what constrains the published ciphertext: it is the ballot + // the `user_data_encryption` proof covers, added to the ciphertext the slot already held, and + // nothing else. Without it a submitter could publish arbitrary bytes into someone's slot. let ct_add: CiphertextAddition = CiphertextAddition::new( QIS, ct0is, ct1is, ct_commitment, - prev_ct0is, - prev_ct1is, + addend_ct0is, + addend_ct1is, prev_ct_commitment, sum_ct0is, sum_ct1is, @@ -172,25 +184,45 @@ fn main( sum_r0is, sum_r1is, ); - let valid_ct_add = ct_add.execute(); - // Actual conditional logic. - if is_mask_vote == false { - assert(valid_vote); - assert(valid_signature); - assert(valid_address); + assert(ct_add.execute()); - (ct_commitment, ct_commitment, k1_commitment) - } else { - assert(valid_zero_vote); + // ============================================================================ + // STEP 5: Ballot Rules + // ============================================================================ + // CASE 1: ACTUAL VOTE (is_mask_vote == false) + // - This is an eligible voter casting or replacing a ballot + // - Verify the ballot is well formed and worth no more than the balance (valid_vote) + // - Validate the signature over the public digest (valid_signature) to authenticate the + // voter for this ballot + // - Verify the signing address matches the slot address (valid_address) + // + // CASE 2: MASK VOTE (is_mask_vote == true) + // - This is anyone adding a zero ballot to mask slot activity + // - Verify the plaintext is zero everywhere (valid_zero_vote), so a mask cannot change what + // the slot decrypts to, and cannot carry a payload a coercer could read back out of the + // tally + // - No signature is required, which is what lets a third party mask a slot at all + let valid_vote = + check_coefficient_values_with_balance(k1, Q_MOD_T_CENTERED, balance, num_options); + + // The digest is a public input, so the prover cannot select the message that the signature + // covers. The contract computes the digest from the round, the slot, and this ballot, which + // binds the signature to all three. + let hashed_message = digest_from_halves(digest_hi, digest_lo); + let valid_signature = validate_signature(hashed_message, public_key_x, public_key_y, signature); + let valid_address = + slot_address == address_to_field(derive_address(public_key_x, public_key_y)); - if is_first_vote { - (ct_commitment, ct_commitment, k1_commitment) - } else { - assert(valid_prev_ct); - assert(valid_ct_add); + let valid_zero_vote = check_coefficient_zero(k1, num_options); - (sum_ct_commitment, ct_commitment, k1_commitment) - } + if is_mask_vote { + assert(valid_zero_vote); + } else { + assert(valid_vote); + assert(valid_signature); + assert(valid_address); } + + (sum_ct_commitment, ct_commitment, k1_commitment) } diff --git a/examples/CRISP/circuits/bin/crisp_onchain/src/main.nr b/examples/CRISP/circuits/bin/crisp_onchain/src/main.nr index 3a72926680..8407921f3d 100644 --- a/examples/CRISP/circuits/bin/crisp_onchain/src/main.nr +++ b/examples/CRISP/circuits/bin/crisp_onchain/src/main.nr @@ -4,7 +4,7 @@ // without even the implied warranty of MERCHANTABILITY // or FITNESS FOR A PARTICULAR PURPOSE. -use crisp_lib::ciphertext_addition::CiphertextAddition; +use crisp_lib::ciphertext_addition::{CiphertextAddition, select_addend}; use crisp_lib::ecdsa::{address_to_field, derive_address, digest_from_halves, validate_signature}; use crisp_lib::utils::{check_coefficient_values_with_balance, check_coefficient_zero}; use interfold_lib::configs::default::threshold::{ @@ -28,9 +28,10 @@ use interfold_lib::math::{ /// allowlist. This circuit is for a census that comes from an on-chain token. Removing the tree /// removes the trusted census producer, and it removes the Merkle path from each proof. /// -/// The circuit handles two use cases: -/// 1. **Actual Voting**: An eligible voter casts a vote -/// 2. **Mask Vote**: Anyone submits a zero vote to mask slot activity +/// The circuit covers three operations: +/// 1. **Voting**: An eligible voter casts a ballot into an empty slot +/// 2. **Updating**: The same voter replaces the ballot in their slot +/// 3. **Masking**: Anyone adds a zero ballot to any eligible slot /// /// Votes are stored in an on-chain Merkle tree, where each vote ciphertext is stored at a specific /// index. A mapping stores the slot address (Ethereum address) to the index in the Merkle tree. @@ -44,11 +45,27 @@ use interfold_lib::math::{ /// impossible for a voter to prove which ciphertext was their actual vote, preventing them from /// providing a verifiable receipt to a coercer or briber. /// -/// The circuit verifies all inputs and returns the appropriate ciphertext commitment. -/// Specifically, it returns a Field commitment depending on the case: -/// - **Actual vote**: `ct_commitment` - commitment to the new vote ciphertext -/// - **Mask vote (first vote)**: `ct_commitment` - commitment to the zero ciphertext -/// - **Mask vote (updating slot)**: `sum_ct_commitment` - commitment to the sum of previous votes in slot +/// # One relation for all three operations +/// +/// The circuit proves the same statement whichever operation is being performed: +/// +/// ```text +/// new slot ciphertext = addend + ballot ciphertext +/// ``` +/// +/// where the ballot ciphertext is a fresh BFV encryption of `k1`, and the addend is the ciphertext +/// already in the slot for a mask, or the zero ciphertext for a vote, an update, and any input to +/// an empty slot. `is_mask_vote` chooses between them and is private, so the returned commitment, +/// the public inputs, and the published ciphertext have the same shape in every case. An observer +/// cannot tell a vote from an update from a mask; distinguishing them would mean distinguishing a +/// fresh BFV ciphertext from a sum, which is what the encryption scheme hides. +/// +/// The circuit returns: +/// - `sum_ct_commitment` - the commitment to the ciphertext that becomes the slot, and the value +/// the E3 program stores and the ballot digest is built over +/// - `ct_commitment` - the commitment to the ballot ciphertext, which ties this proof to the +/// `user_data_encryption` proof in the fold circuit +/// - `k1_commitment` - the commitment to the ballot plaintext, for the same reason /// fn main( // Ciphertext Addition Section @@ -89,6 +106,8 @@ fn main( k1, DS_USER_DATA_ENCRYPTION_COMMITMENT, ); + let sum_ct_commitment = + compute_ciphertext_commitment::(sum_ct0is, sum_ct1is); // ============================================================================ // STEP 2: Eligibility @@ -102,58 +121,51 @@ fn main( // circuit. // ============================================================================ - // STEP 3: Vote Type Detection and Return Logic + // STEP 3: The Previous Ciphertext // ============================================================================ - // The circuit branches into two cases based on the is_mask_vote flag: - // - // CASE 1: ACTUAL VOTE (is_mask_vote == false) - // - This is an eligible voter casting a vote - // - Verify vote amount <= voting_power (checked via valid_vote) - // - Validate the signature over the public digest (checked via valid_signature) - // to authenticate the voter for this ballot - // - Verify address matches slot address (checked via valid_address) - // - Return new vote ciphertext commitment (ct_commitment) - let valid_vote = - check_coefficient_values_with_balance(k1, Q_MOD_T_CENTERED, voting_power, num_options); - - // The digest is a public input, so the prover cannot select the message that the signature - // covers. The contract computes the digest from the round, the slot, and this ballot, which - // binds the signature to all three. - let hashed_message = digest_from_halves(digest_hi, digest_lo); - let valid_signature = validate_signature(hashed_message, public_key_x, public_key_y, signature); - let valid_address = - slot_address == address_to_field(derive_address(public_key_x, public_key_y)); + // Only a mask keeps what the slot holds. A real vote replaces it, and an empty slot holds + // nothing, so both add the ballot to the zero ciphertext. The selector is derived rather than + // taken as a witness: a voter cannot add their new ballot on top of their old one and count + // twice, and a masker cannot discard what the slot holds and erase a vote. + let keep_previous = is_mask_vote & !is_first_vote; + let addend_ct0is = select_addend(prev_ct0is, keep_previous); + let addend_ct1is = select_addend(prev_ct1is, keep_previous); - // CASE 2: MASK VOTE (is_mask_vote == true) - // - This is anyone submitting a zero vote to mask slot activity - // - Verify vote is zero: k1 must be zero (checked via valid_zero_vote) - // - If first vote in slot: return zero ciphertext commitment (ct_commitment) - // - If updating slot (is_first_vote == false): - // * Verify prev_ct_commitment matches the computed commitment from (prev_ct0is, prev_ct1is) - // to ensure the prover hasn't tampered with the previous ciphertext - // * Verify ciphertext addition: prove that sum_ct = prev_ct + ct where: - // - prev_ct = (prev_ct0is, prev_ct1is) is the previous ciphertext in the slot - // - ct = (ct0is, ct1is) is the zero vote ciphertext being added - // - sum_ct = (sum_ct0is, sum_ct1is) is the resulting ciphertext - // * The verification uses commitments and Fiat-Shamir transform with Schwartz-Zippel - // lemma to prove the homomorphic addition without decrypting - // * Mask votes add zero to the previous ciphertext, creating a different ciphertext - // with the same plaintext, preventing receipt sharing attacks - // * Return sum ciphertext commitment (sum_ct_commitment) - let sum_ct_commitment = - compute_ciphertext_commitment::(sum_ct0is, sum_ct1is); - let _prev_ct_commitment = + // A mask has to open `prev_ct_commitment`, the commitment the E3 program recorded for the entry + // this input names as its parent. Without it a mask could add its zero ballot to a ciphertext of + // its own choosing, and publish that as the slot. + // + // Asserted only where the addend is used. A vote adds to nothing, so it has nothing to open, + // and it can write to its own slot whatever the parent turns out to be — which matters, because + // the E3 program cannot tell whether the bytes published beside a commitment deserialize to the + // ciphertext that commitment describes. Only the Secure Process can, and only once the input + // window closes. + let recomputed_prev_ct_commitment = compute_ciphertext_commitment::(prev_ct0is, prev_ct1is); - let valid_zero_vote = check_coefficient_zero(k1, num_options); - let valid_prev_ct = prev_ct_commitment == _prev_ct_commitment; + if keep_previous { + assert(prev_ct_commitment == recomputed_prev_ct_commitment); + } + + // ============================================================================ + // STEP 4: Ciphertext Addition + // ============================================================================ + // Prove that sum_ct = addend_ct + ct, where ct = (ct0is, ct1is) is the ballot ciphertext and + // sum_ct = (sum_ct0is, sum_ct1is) is what the E3 program will store for this slot. + // + // The verification uses commitments and the Fiat-Shamir transform with the Schwartz-Zippel + // lemma to prove the homomorphic addition without decrypting anything. + // + // Asserted on every path. That is what constrains the published ciphertext: it is the ballot + // the `user_data_encryption` proof covers, added to the ciphertext the slot already held, and + // nothing else. Without it a submitter could publish arbitrary bytes into someone's slot. let ct_add: CiphertextAddition = CiphertextAddition::new( QIS, ct0is, ct1is, ct_commitment, - prev_ct0is, - prev_ct1is, + addend_ct0is, + addend_ct1is, prev_ct_commitment, sum_ct0is, sum_ct1is, @@ -161,25 +173,45 @@ fn main( sum_r0is, sum_r1is, ); - let valid_ct_add = ct_add.execute(); - // Actual conditional logic. - if is_mask_vote == false { - assert(valid_vote); - assert(valid_signature); - assert(valid_address); + assert(ct_add.execute()); - (ct_commitment, ct_commitment, k1_commitment) - } else { - assert(valid_zero_vote); + // ============================================================================ + // STEP 5: Ballot Rules + // ============================================================================ + // CASE 1: ACTUAL VOTE (is_mask_vote == false) + // - This is an eligible voter casting or replacing a ballot + // - Verify the ballot is well formed and worth no more than the voting power (valid_vote) + // - Validate the signature over the public digest (valid_signature) to authenticate the + // voter for this ballot + // - Verify the signing address matches the slot address (valid_address) + // + // CASE 2: MASK VOTE (is_mask_vote == true) + // - This is anyone adding a zero ballot to mask slot activity + // - Verify the plaintext is zero everywhere (valid_zero_vote), so a mask cannot change what + // the slot decrypts to, and cannot carry a payload a coercer could read back out of the + // tally + // - No signature is required, which is what lets a third party mask a slot at all + let valid_vote = + check_coefficient_values_with_balance(k1, Q_MOD_T_CENTERED, voting_power, num_options); + + // The digest is a public input, so the prover cannot select the message that the signature + // covers. The contract computes the digest from the round, the slot, and this ballot, which + // binds the signature to all three. + let hashed_message = digest_from_halves(digest_hi, digest_lo); + let valid_signature = validate_signature(hashed_message, public_key_x, public_key_y, signature); + let valid_address = + slot_address == address_to_field(derive_address(public_key_x, public_key_y)); - if is_first_vote { - (ct_commitment, ct_commitment, k1_commitment) - } else { - assert(valid_prev_ct); - assert(valid_ct_add); + let valid_zero_vote = check_coefficient_zero(k1, num_options); - (sum_ct_commitment, ct_commitment, k1_commitment) - } + if is_mask_vote { + assert(valid_zero_vote); + } else { + assert(valid_vote); + assert(valid_signature); + assert(valid_address); } + + (sum_ct_commitment, ct_commitment, k1_commitment) } diff --git a/examples/CRISP/circuits/bin/fold/src/main.nr b/examples/CRISP/circuits/bin/fold/src/main.nr index 64781419c1..dd8c7559eb 100644 --- a/examples/CRISP/circuits/bin/fold/src/main.nr +++ b/examples/CRISP/circuits/bin/fold/src/main.nr @@ -11,9 +11,9 @@ use interfold_lib::math::commitments::compute_vk_hash; /// `examples/CRISP` after changing ct0 / ct1 / user_data_encryption / crisp (or the lib preset). /// Insecure: `lib::configs::default` uses `insecure::*`; secure: uses `secure::*`. pub global CRISP_FOLD_EXPECTED_KEY_HASH_INSECURE: Field = - 0x104652e4140264c4bf518b0469d4062b9e2d4a9b4567979be7568a010a0db217; + 0x0cfedc11fbb1437ca55ba6ae31fe3adb29eefba7a62ea8257d427ce1e1e32e6f; pub global CRISP_FOLD_EXPECTED_KEY_HASH_SECURE: Field = - 0x02068bab950c2f2f8ceb72404c406facc12e658233af8c7d732775bf36962783; + 0x133970fec6679c0be03d6bf71981d9bdb9135f919b1c8c3fcc24aee68acb12ad; fn main( // User Data Encryption Section. diff --git a/examples/CRISP/circuits/bin/fold_onchain/src/main.nr b/examples/CRISP/circuits/bin/fold_onchain/src/main.nr index 2d56161350..f908d258e8 100644 --- a/examples/CRISP/circuits/bin/fold_onchain/src/main.nr +++ b/examples/CRISP/circuits/bin/fold_onchain/src/main.nr @@ -11,9 +11,9 @@ use interfold_lib::math::commitments::compute_vk_hash; /// `examples/CRISP` after changing ct0 / ct1 / user_data_encryption / crisp_onchain (or the lib /// preset). Insecure: `lib::configs::default` uses `insecure::*`; secure: uses `secure::*`. pub global CRISP_ONCHAIN_FOLD_EXPECTED_KEY_HASH_INSECURE: Field = - 0x1833f8fa609f79d0fafb594b3648322f084733077f6bc1b3a8e5f21aa35dd156; + 0x06c830801c0712d55b8095ea55a13d5122694f33969a2dfd8694575d37a22b48; pub global CRISP_ONCHAIN_FOLD_EXPECTED_KEY_HASH_SECURE: Field = - 0x0a58bb5d3d8e3f18d08ca977488c07ef6fa22cf42304e30c7333de1484842012; + 0x16818150403cb64eb84e5dccc9d68d33c5a8c8e70fb40de649e6b758db10e7fa; fn main( // User Data Encryption Section. diff --git a/examples/CRISP/circuits/lib/src/ciphertext_addition.nr b/examples/CRISP/circuits/lib/src/ciphertext_addition.nr index d25564cefd..67aa6b6910 100644 --- a/examples/CRISP/circuits/lib/src/ciphertext_addition.nr +++ b/examples/CRISP/circuits/lib/src/ciphertext_addition.nr @@ -42,6 +42,40 @@ use interfold_lib::math::commitments::compute_challenge; use interfold_lib::math::polynomial::Polynomial; +/// The ciphertext an input adds to, which is either the one already in the slot or nothing. +/// +/// Every CRISP input proves the same relation, `slot = addend + ballot`. A mask keeps what the slot +/// holds, so its addend is that ciphertext. A real vote replaces the slot, and a first input has +/// nothing to replace, so both add to the zero ciphertext instead. +/// +/// Selecting here rather than branching keeps the addition constraints live on every path. The +/// alternative — proving the addition only for masks — leaves the published ciphertext of a real +/// vote unconstrained by this gadget, and makes the two paths different shapes of proof. +/// +/// # Arguments +/// * `polynomials` - The ciphertext limbs already in the slot +/// * `keep` - Whether this input adds to them +/// +/// # Returns +/// The limbs when `keep` is true, all zeros otherwise. +pub fn select_addend( + polynomials: [Polynomial; L], + keep: bool, +) -> [Polynomial; L] { + let factor: Field = if keep { + 1 + } else { + 0 + }; + + let mut selected = polynomials; + for i in 0..L { + selected[i] = polynomials[i].mul_scalar(factor); + } + + selected +} + /// Parameters for ciphertext addition verification. /// /// # Arguments diff --git a/examples/CRISP/circuits/lib/src/utils.nr b/examples/CRISP/circuits/lib/src/utils.nr index c8c8579691..cbd1636607 100644 --- a/examples/CRISP/circuits/lib/src/utils.nr +++ b/examples/CRISP/circuits/lib/src/utils.nr @@ -4,12 +4,80 @@ // without even the implied warranty of MERCHANTABILITY // or FITNESS FOR A PARTICULAR PURPOSE. +use interfold_lib::configs::default::MAX_MSG_NON_ZERO_COEFFS; use interfold_lib::math::polynomial::Polynomial; use crate::constants::{MAX_OPTIONS, MAX_VOTE_BITS}; +/// Where the ballot sits inside `k1`, and how wide one option is. +/// +/// `k1` reaches this circuit as the whole BFV plaintext polynomial, of degree `D`, reversed: +/// `k1[i]` is coefficient `D - 1 - i` of the message. The SDK writes the ballot into the first +/// `MAX_MSG_NON_ZERO_COEFFS` message coefficients and pads the rest with zeros, so after the +/// reversal the ballot occupies the **last** `MAX_MSG_NON_ZERO_COEFFS` coefficients of `k1` and the +/// options appear back to front. +/// +/// The layout inside `k1` is: +/// +/// ```text +/// [ ------- zero prefix ------- | pad | option n-1 | ... | option 1 | option 0 ] +/// 0 base D +/// ``` +/// +/// `pad` is the tail of the message region that no option uses, because the SDK divides +/// `MAX_MSG_NON_ZERO_COEFFS` between the options and zero-fills the remainder. The reversal moves +/// that tail to the front of the ballot region, which is why it counts towards the zero prefix. +/// +/// Each option holds `segment_size` binary coefficients, least significant first. +/// +/// # Arguments +/// * `num_options` - Number of voting options +/// +/// # Returns +/// The first coefficient of option `num_options - 1`, and the width of one option. +fn ballot_layout(num_options: u32) -> (u32, u32) { + assert(num_options > 1); + assert(num_options as u64 <= MAX_OPTIONS as u64); + // The ballot cannot be laid out in a polynomial too short to hold the message region. `D` is + // the compiled BFV degree, so this is decided when the circuit is built. + assert(D >= MAX_MSG_NON_ZERO_COEFFS); + + let segment_size: u32 = MAX_MSG_NON_ZERO_COEFFS / num_options; + let pad: u32 = MAX_MSG_NON_ZERO_COEFFS - (segment_size * num_options); + + (D - MAX_MSG_NON_ZERO_COEFFS + pad, segment_size) +} + +/// Checks that every coefficient before the ballot region is zero. +/// +/// The ballot only occupies the coefficients the options are laid out in. Everything before them +/// must be zero, or a submitter could attach a payload that the vote rules never look at. Such a +/// payload survives homomorphic addition and is decrypted with the tally, so it is both a way to +/// corrupt a slot and a channel a coercer could read a receipt out of. +/// +/// # Arguments +/// * `k1` - The plaintext polynomial encoding the vote +/// * `base` - The first coefficient of the ballot region, from [`ballot_layout`] +/// +/// # Returns +/// Returns `true` if every coefficient below `base` is zero, `false` otherwise. +fn check_prefix_zero(k1: Polynomial, base: u32) -> bool { + let mut valid = true; + + for i in 0..D { + if i < base { + valid = valid & (k1.coefficients[i] == 0); + } + } + + valid +} + /// Validates vote coefficients for n-choice voting. /// +/// Constrains the whole plaintext, not only the option segments: coefficients outside the ballot +/// region must be zero, and every coefficient inside it must be a binary digit. +/// /// Rules: /// - 2 options: Mutually exclusive (only one can be non-zero) /// - 3+ options: Can split votes, but total must not exceed balance @@ -25,13 +93,9 @@ pub fn check_coefficient_values_with_balance( balance: Field, num_options: u32, ) -> bool { - assert(num_options > 1); - assert(num_options as u64 <= MAX_OPTIONS as u64); - - let mut valid = true; + let (base, segment_size) = ballot_layout::(num_options); - let segment_size: u32 = D / num_options; - let remainder: u32 = D - (segment_size * num_options); + let mut valid = check_prefix_zero(k1, base); let mut sums: [u64; MAX_OPTIONS] = [0; MAX_OPTIONS]; let mut non_zero_count: u64 = 0; @@ -40,10 +104,9 @@ pub fn check_coefficient_values_with_balance( // Process each option for opt_idx in 0..MAX_OPTIONS { if (opt_idx as u64) < (num_options as u64) { - // Due to reversal, TypeScript option opt_idx is at circuit segment (num_options - 1 - opt_idx) - // Remainder zeros at end of TypeScript layout become start after k1.reverse() + // Because of the reversal, option `opt_idx` sits at segment `num_options - 1 - opt_idx`. let circuit_segment: u32 = num_options - 1 - opt_idx; - let start_idx: u32 = remainder + (circuit_segment * segment_size); + let start_idx: u32 = base + (circuit_segment * segment_size); let mut sum: u64 = 0; @@ -86,226 +149,202 @@ pub fn check_coefficient_values_with_balance( valid } -/// Checks if all vote coefficients are zero. +/// Checks that the plaintext carries no ballot at all. /// -/// This function verifies that all vote regions contain only zeros. -/// Used in masking operations to ensure that invalid or unauthorized votes are properly -/// masked (set to zero) before being added to the tally. +/// Every coefficient of `k1` must be zero, not only the option segments. A mask needs no signature, +/// so anyone may write one to any eligible slot; a mask that could carry a payload outside the +/// segments would let anyone corrupt a slot they cannot vote in, and would give a coercer a channel +/// to mark a ballot with. Checking the whole polynomial closes both. +/// +/// `num_options` is still taken, and still range-checked, so a caller cannot reach this function +/// with a round configuration the vote rules would refuse. /// /// # Arguments /// * `k1` - The plaintext polynomial encoding the vote +/// * `num_options` - Number of voting options /// /// # Returns -/// Returns `true` if all vote coefficients are zero, `false` otherwise. +/// Returns `true` if every coefficient is zero, `false` otherwise. /// pub fn check_coefficient_zero(k1: Polynomial, num_options: u32) -> bool { - assert(num_options > 1); - assert(num_options as u64 <= MAX_OPTIONS as u64); + let (_base, _segment_size) = ballot_layout::(num_options); let mut valid = true; - let segment_size: u32 = D / num_options; - let remainder: u32 = D - (segment_size * num_options); + for i in 0..D { + valid = valid & (k1.coefficients[i] == 0); + } - for opt_idx in 0..MAX_OPTIONS { - if (opt_idx as u64) < (num_options as u64) { - let circuit_segment: u32 = num_options - 1 - opt_idx; - let start_idx: u32 = remainder + (circuit_segment * segment_size); + valid +} - for bit_pos in 0..MAX_VOTE_BITS { - if (bit_pos as u64) < (segment_size as u64) { - let idx: u32 = start_idx + bit_pos; - valid = valid & (k1.coefficients[idx] == 0); +// --------------------------------------------------------------------------- +// Tests +// --------------------------------------------------------------------------- +// +// Every test builds `k1` the way the witness generator does — SDK message layout, reversed over the +// full BFV degree — rather than at the width of the message region. The two only agree when the +// degree equals `MAX_MSG_NON_ZERO_COEFFS`, which no preset uses, so testing at the message width +// hid the layout the circuit actually receives. + +/// The BFV degree of the `insecure-512` preset. Large enough that the padding between the top of +/// the message region and the degree is most of the polynomial, which is the region the old index +/// arithmetic read from. +global TEST_DEGREE: u32 = 512; + +/// Builds `k1` for a ballot: `encodeVote` from `@crisp-e3/sdk`, followed by the reversal the +/// witness generator applies. +/// +/// # Arguments +/// * `values` - One value per option, in option order; entries past `num_options` are ignored +/// * `num_options` - Number of voting options +/// * `one` - The coefficient a set bit encodes to, which is `q_mod_t` in centered form +fn encode_ballot( + values: [u64; MAX_OPTIONS], + num_options: u32, + one: Field, +) -> Polynomial { + let segment_size: u32 = MAX_MSG_NON_ZERO_COEFFS / num_options; + let mut coefficients: [Field; D] = [0; D]; + + for opt in 0..MAX_OPTIONS { + if opt < num_options { + let start: u32 = opt * segment_size; + + for i in 0..MAX_VOTE_BITS { + if i < segment_size { + // The SDK writes each segment most significant bit first. + let bit_pos: u32 = segment_size - 1 - i; + let bit: u64 = (values[opt] >> (bit_pos as u64)) & 1; + + coefficients[D - 1 - (start + i)] = if bit == 1 { one } else { 0 }; } } } } - valid + Polynomial { coefficients } } #[test] fn test_2_options_vote_first() { - let mut coeffs = [0; 100]; - // Option 0, value 5, circuit segment 1 [50..99], LSB first - coeffs[50] = 1; // 2^0 = 1 - coeffs[52] = 1; // 2^2 = 4 - - let pol = Polynomial { coefficients: coeffs }; + let pol = encode_ballot::([5, 0, 0, 0, 0, 0, 0, 0, 0, 0], 2, 1); assert(check_coefficient_values_with_balance(pol, 1, 100, 2)); } #[test] fn test_2_options_vote_second() { - let mut coeffs = [0; 100]; - // Option 1, value 3, circuit segment 0 [0..49], LSB first - coeffs[0] = 1; // 2^0 = 1 - coeffs[1] = 1; // 2^1 = 2 - - let pol = Polynomial { coefficients: coeffs }; + let pol = encode_ballot::([0, 3, 0, 0, 0, 0, 0, 0, 0, 0], 2, 1); assert(check_coefficient_values_with_balance(pol, 1, 100, 2)); } #[test] fn test_2_options_both_voted_fails() { - let mut coeffs = [0; 100]; - coeffs[50] = 1; // Option 0 - coeffs[0] = 1; // Option 1 - - let pol = Polynomial { coefficients: coeffs }; + let pol = encode_ballot::([1, 1, 0, 0, 0, 0, 0, 0, 0, 0], 2, 1); assert(!check_coefficient_values_with_balance(pol, 1, 100, 2)); } #[test] fn test_2_options_exceeds_balance_fails() { - let mut coeffs = [0; 100]; - // Option 0, value 10, balance 5 - coeffs[51] = 1; // 2^1 = 2 - coeffs[53] = 1; // 2^3 = 8 - - let pol = Polynomial { coefficients: coeffs }; + let pol = encode_ballot::([10, 0, 0, 0, 0, 0, 0, 0, 0, 0], 2, 1); assert(!check_coefficient_values_with_balance(pol, 1, 5, 2)); } +#[test] +fn test_2_options_at_balance_passes() { + let pol = encode_ballot::([5, 0, 0, 0, 0, 0, 0, 0, 0, 0], 2, 1); + assert(check_coefficient_values_with_balance(pol, 1, 5, 2)); +} + +/// The top bit of an option segment. The old index arithmetic read the zero padding instead, so a +/// ballot worth `2**49` passed against any balance. +#[test] +fn test_2_options_top_bit_is_bounded() { + let pol = encode_ballot::([562949953421312, 0, 0, 0, 0, 0, 0, 0, 0, 0], 2, 1); + assert(!check_coefficient_values_with_balance(pol, 1, 1, 2)); + assert(check_coefficient_values_with_balance(pol, 1, 562949953421312, 2)); +} + // --- 3+ Options (Split Voting) --- #[test] fn test_3_options_split_vote() { - // D = 99, segment_size = 33 - // Vote 40 on option 0, 60 on option 2, total = 100, balance = 100 - let mut coeffs = [0; 99]; - - // Option 0 at circuit segment 2 [66..98], value 40 = 101000, LSB first - coeffs[69] = 1; // 2^3 = 8 - coeffs[71] = 1; // 2^5 = 32 - // Total: 40 - - // Option 2 at circuit segment 0 [0..32], value 60 = 111100, LSB first - coeffs[2] = 1; // 2^2 = 4 - coeffs[3] = 1; // 2^3 = 8 - coeffs[4] = 1; // 2^4 = 16 - coeffs[5] = 1; // 2^5 = 32 - // Total: 60 - - let pol = Polynomial { coefficients: coeffs }; + let pol = encode_ballot::([40, 0, 60, 0, 0, 0, 0, 0, 0, 0], 3, 1); assert(check_coefficient_values_with_balance(pol, 1, 100, 3)); } #[test] fn test_3_options_vote_all_three() { - // Vote 30 on each, total = 90, balance = 100 - let mut coeffs = [0; 99]; - - // Option 0 at circuit segment 2 [66..98], value 30 = 11110, LSB first - coeffs[67] = 1; // 2^1 = 2 - coeffs[68] = 1; // 2^2 = 4 - coeffs[69] = 1; // 2^3 = 8 - coeffs[70] = 1; // 2^4 = 16 - // Total: 30 - - // Option 1 at circuit segment 1 [33..65], value 30 - coeffs[34] = 1; // 2^1 = 2 - coeffs[35] = 1; // 2^2 = 4 - coeffs[36] = 1; // 2^3 = 8 - coeffs[37] = 1; // 2^4 = 16 - // Total: 30 - - // Option 2 at circuit segment 0 [0..32], value 30 - coeffs[1] = 1; // 2^1 = 2 - coeffs[2] = 1; // 2^2 = 4 - coeffs[3] = 1; // 2^3 = 8 - coeffs[4] = 1; // 2^4 = 16 - // Total: 30 - - let pol = Polynomial { coefficients: coeffs }; + let pol = encode_ballot::([30, 30, 30, 0, 0, 0, 0, 0, 0, 0], 3, 1); assert(check_coefficient_values_with_balance(pol, 1, 100, 3)); } #[test] fn test_3_options_total_exceeds_balance_fails() { - // Vote 60 + 60 = 120, balance = 100 - let mut coeffs = [0; 99]; - - // Option 0, value 60 - coeffs[68] = 1; // 2^2 = 4 - coeffs[69] = 1; // 2^3 = 8 - coeffs[70] = 1; // 2^4 = 16 - coeffs[71] = 1; // 2^5 = 32 - - // Option 1, value 60 - coeffs[35] = 1; // 2^2 = 4 - coeffs[36] = 1; // 2^3 = 8 - coeffs[37] = 1; // 2^4 = 16 - coeffs[38] = 1; // 2^5 = 32 - - let pol = Polynomial { coefficients: coeffs }; + let pol = encode_ballot::([60, 60, 0, 0, 0, 0, 0, 0, 0, 0], 3, 1); assert(!check_coefficient_values_with_balance(pol, 1, 100, 3)); } #[test] fn test_5_options_single_vote() { - // D = 100, segment_size = 20 - // Vote only on option 2 with value 50 - let mut coeffs = [0; 100]; - - // Option 2 at circuit segment 2 [40..59], value 50 = 110010, LSB first - coeffs[41] = 1; // 2^1 = 2 - coeffs[44] = 1; // 2^4 = 16 - coeffs[45] = 1; // 2^5 = 32 - // Total: 50 - - let pol = Polynomial { coefficients: coeffs }; + let pol = encode_ballot::([0, 0, 50, 0, 0, 0, 0, 0, 0, 0], 5, 1); assert(check_coefficient_values_with_balance(pol, 1, 100, 5)); } #[test] fn test_zero_vote_passes() { - let pol = Polynomial { coefficients: [0; 100] }; + let pol = encode_ballot::([0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3, 1); assert(check_coefficient_values_with_balance(pol, 1, 100, 3)); } #[test] -fn test_non_divisible_d_vote_passes() { - // D=100, num_options=3 => D % num_options != 0 (remainder=1) - // segment_size=33, remainder=1; option 0 at circuit_segment 2 [67..99] - let mut coeffs = [0; 100]; - coeffs[67] = 1; // Option 0, bit 0 (2^0) - coeffs[69] = 1; // Option 0, bit 2 (2^2) => vote value 5 - - let pol = Polynomial { coefficients: coeffs }; - assert(check_coefficient_values_with_balance(pol, 1, 100, 3)); +fn test_invalid_coefficient_fails() { + let mut pol: Polynomial = encode_ballot([1, 0, 0, 0, 0, 0, 0, 0, 0, 0], 2, 1); + // Option 0 occupies the top segment, so its least significant coefficient is the last one. + pol.coefficients[TEST_DEGREE - 1] = 2; + + assert(!check_coefficient_values_with_balance(pol, 1, 100, 2)); } +/// Coefficients the ballot layout does not use must be zero. Before the layout was corrected they +/// were never read, which let any submitter attach a payload to a slot. #[test] -fn test_invalid_coefficient_fails() { - let mut coeffs = [0; 100]; - coeffs[50] = 2; // Invalid +fn test_payload_outside_ballot_region_fails() { + let mut pol: Polynomial = encode_ballot([1, 0, 0, 0, 0, 0, 0, 0, 0, 0], 2, 1); + pol.coefficients[0] = 1; - let pol = Polynomial { coefficients: coeffs }; assert(!check_coefficient_values_with_balance(pol, 1, 100, 2)); } +/// With three options the SDK leaves one message coefficient unused, which the reversal puts at the +/// bottom of the ballot region. It belongs to no option, so it must be zero. +#[test] +fn test_unused_message_coefficient_fails() { + let mut pol: Polynomial = encode_ballot([1, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3, 1); + // MAX_MSG_NON_ZERO_COEFFS is 100 and three segments of 33 leave one coefficient over. + pol.coefficients[TEST_DEGREE - MAX_MSG_NON_ZERO_COEFFS] = 1; + + assert(!check_coefficient_values_with_balance(pol, 1, 100, 3)); +} + #[test] fn test_check_coefficient_zero_passes() { - let pol = Polynomial { coefficients: [0; 100] }; + let pol: Polynomial = Polynomial { coefficients: [0; TEST_DEGREE] }; assert(check_coefficient_zero(pol, 3)); } #[test] fn test_check_coefficient_zero_fails() { - let mut coeffs = [0; 99]; - coeffs[33] = 1; - - let pol = Polynomial { coefficients: coeffs }; + let pol = encode_ballot::([1, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3, 1); assert(!check_coefficient_zero(pol, 3)); } +/// A mask must be zero everywhere, not only where the vote rules look. This coefficient is outside +/// every option segment, and it used to pass. #[test] -fn test_check_coefficient_zero_non_divisible_d_fails() { - // D=100, num_options=3 => remainder=1; option 2 at circuit_segment 0 [1..33] - let mut coeffs = [0; 100]; - coeffs[1] = 1; // Option 2 LSB +fn test_check_coefficient_zero_outside_ballot_region_fails() { + let mut pol: Polynomial = Polynomial { coefficients: [0; TEST_DEGREE] }; + pol.coefficients[0] = 1; - let pol = Polynomial { coefficients: coeffs }; assert(!check_coefficient_zero(pol, 3)); } diff --git a/examples/CRISP/client/src/hooks/voting/useVoteCasting.ts b/examples/CRISP/client/src/hooks/voting/useVoteCasting.ts index fb9d79843e..a3d56a3669 100644 --- a/examples/CRISP/client/src/hooks/voting/useVoteCasting.ts +++ b/examples/CRISP/client/src/hooks/voting/useVoteCasting.ts @@ -25,7 +25,11 @@ const INTERFOLD_API = import.meta.env.VITE_INTERFOLD_API /// into telling a voter two different things about the same round. const ONCHAIN_UNSUPPORTED = 'This round uses an on-chain census, which this client cannot vote in yet.' -const getPreviousCiphertext = async (e3Id: string, address: string): Promise => { +/// The end of the slot's chain of usable entries, with the tree index the new input will name as +/// its parent. Not simply the newest entry published: one whose bytes do not reproduce its +/// commitment is never selected by the Secure Process and is never a valid parent, so the server +/// resolves the chain and answers with the entry that actually holds the slot. +const getSlotHead = async (e3Id: string, address: string): Promise<{ ciphertext: Uint8Array; index: number } | undefined> => { const response = await fetch(`${INTERFOLD_API}/state/previous-ciphertext`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, @@ -46,7 +50,11 @@ const getPreviousCiphertext = async (e3Id: string, address: string): Promise { }) } + /// The number of inputs `CRISPProgram` accepted for a round. + /// + /// The authority on how many there are. An indexer's own count can be short: the contract + /// accepts an input while `block.timestamp == inputWindow[1]`, and the deadline callback can + /// run before that log is stored. Computing then would tally a subset and derive a root the + /// contract rejects, which fails the round with nothing to explain why. + pub async fn get_published_input_count(&self, e3_id: U256) -> Result { + let contract = CRISPProgram::new(self.contract_address, self.provider.clone()); + let round = contract.getRoundData(e3_id).call().await?; + + Ok(round.numberOfVotes.to::()) + } + /// Get the slot index from a given slot address. /// Returns `None` when the slot is empty (contract returns -1). pub async fn get_slot_index_from_address( diff --git a/examples/CRISP/crates/zk-inputs-wasm/src/lib.rs b/examples/CRISP/crates/zk-inputs-wasm/src/lib.rs index 1b1e75e028..29ab48edb0 100644 --- a/examples/CRISP/crates/zk-inputs-wasm/src/lib.rs +++ b/examples/CRISP/crates/zk-inputs-wasm/src/lib.rs @@ -46,20 +46,34 @@ impl ZKInputsGenerator { Ok(ZKInputsGenerator { generator }) } - /// Generate CRISP ZK inputs from JavaScript. + /// Generate the CRISP ZK inputs for one ballot from JavaScript. + /// + /// One entry point for a first vote, a re-vote, and a mask. Pass the ciphertext currently in + /// the slot, or `undefined` when the slot is empty, and set `keepPrevious` only for a mask over + /// an occupied slot. Everything else is identical between the three, which is what keeps them + /// indistinguishable once published. + /// + /// # Arguments + /// - `previous_ciphertext`: The ciphertext in the slot, or `undefined` when it is empty + /// - `public_key`: Public key bytes for encryption + /// - `vote`: Vote value as a vector of coefficients + /// - `keep_previous`: Whether the ballot adds to the slot rather than replacing it #[wasm_bindgen(js_name = "generateInputs")] pub fn generate_inputs( &self, - prev_ciphertext: &[u8], + previous_ciphertext: Option>, public_key: &[u8], vote: Vec, + keep_previous: bool, ) -> Result { let vote_vec: Vec = vote.into_iter().map(|v| v as u64).collect(); - match self - .generator - .generate_inputs(prev_ciphertext, public_key, vote_vec) - { + match self.generator.generate_inputs( + previous_ciphertext.as_deref(), + public_key, + vote_vec, + keep_previous, + ) { Ok((ciphertext_bytes, inputs_json)) => { // Parse the JSON string and return as an object with both encryptedVote and inputs. let result = js_sys::Object::new(); @@ -81,11 +95,11 @@ impl ZKInputsGenerator { } } - /// Generate CRISP ZK inputs for a vote update (either from voter or as a masker) from JavaScript. /// Computes the SAFE commitment of serialized ciphertext bytes. /// - /// Needed to build the ballot digest for an update, where the commitment the contract stores is - /// the commitment of the summed ciphertext. + /// The witness already carries this value for the ciphertext a ballot publishes. Kept for + /// callers that hold bytes they did not generate, such as a slot ciphertext read back from the + /// server. #[wasm_bindgen(js_name = "computeCtCommitment")] pub fn compute_ct_commitment(&self, ciphertext: Vec) -> Result, JsValue> { self.generator @@ -93,40 +107,6 @@ impl ZKInputsGenerator { .map_err(|e| JsValue::from_str(&format!("{e}"))) } - #[wasm_bindgen(js_name = "generateInputsForUpdate")] - pub fn generate_inputs_for_update( - &self, - prev_ciphertext: &[u8], - public_key: &[u8], - vote: Vec, - ) -> Result { - let vote_vec: Vec = vote.into_iter().map(|v| v as u64).collect(); - - match self - .generator - .generate_inputs_for_update(prev_ciphertext, public_key, vote_vec) - { - Ok((ciphertext_bytes, inputs_json)) => { - // Parse the JSON string and return as an object with both encryptedVote and inputs. - let result = js_sys::Object::new(); - - // Set encryptedVote as Uint8Array - let ciphertext_array = js_sys::Uint8Array::from(&ciphertext_bytes[..]); - js_sys::Reflect::set(&result, &"encryptedVote".into(), &ciphertext_array.into())?; - - // Parse and set inputs JSON - match js_sys::JSON::parse(&inputs_json) { - Ok(js_value) => { - js_sys::Reflect::set(&result, &"inputs".into(), &js_value)?; - Ok(result.into()) - } - Err(_) => Err(JsValue::from_str("Failed to parse inputs JSON")), - } - } - Err(e) => Err(JsValue::from_str(&e.to_string())), - } - } - /// Generate a public/secret key pair from JavaScript. #[wasm_bindgen(js_name = "generateKeys")] pub fn generate_keys(&self) -> Result { @@ -275,7 +255,7 @@ mod tests { let vote = create_vote_vector(); let old_ciphertext = generator.encrypt_vote(&public_key, vote.clone()).unwrap(); - let result = generator.generate_inputs(&old_ciphertext, &public_key, vote); + let result = generator.generate_inputs(Some(old_ciphertext), &public_key, vote, false); assert!(result.is_ok()); @@ -315,7 +295,7 @@ mod tests { let public_key: Vec = public_key_array.to_vec(); let vote = create_vote_vector(); let old_ciphertext = generator.encrypt_vote(&public_key, vote.clone()).unwrap(); - let result = generator.generate_inputs(&old_ciphertext, &public_key, vote); + let result = generator.generate_inputs(Some(old_ciphertext), &public_key, vote, false); assert!(result.is_ok()); diff --git a/examples/CRISP/crates/zk-inputs/src/ciphertext_addition.rs b/examples/CRISP/crates/zk-inputs/src/ciphertext_addition.rs index ffb91cb58a..009c0df28b 100644 --- a/examples/CRISP/crates/zk-inputs/src/ciphertext_addition.rs +++ b/examples/CRISP/crates/zk-inputs/src/ciphertext_addition.rs @@ -12,6 +12,7 @@ use eyre::{Context, Result}; use fhe::bfv::BfvParameters; use fhe::bfv::Ciphertext; use num_bigint::BigInt; +use num_traits::Zero; /// Set of inputs for validation of a ciphertext addition. /// @@ -38,65 +39,116 @@ pub struct CiphertextAdditionWitness { /// fine and is rejected on chain, because the digest the contract rebuilds does not match the /// one that was signed. pub ct_commitment: BigInt, + /// Commitment to the ciphertext that becomes the slot, which is what gets published. + /// + /// The circuit returns this value, `CRISPProgram` stores it, and `CRISPProgram.ballotDigest` + /// builds the digest the voter signs over it. Exported for the same reason as `ct_commitment`: + /// the digest is itself a circuit input, so the value has to be known before proving. It + /// equals `ct_commitment` whenever the ballot replaces the slot rather than adding to it. + pub sum_ct_commitment: BigInt, } impl CiphertextAdditionWitness { /// Computes the ciphertext addition inputs for zero-knowledge proof validation. /// + /// The circuit always proves `sum_ct = addend + ct`, and picks the addend itself from the + /// private mask flag: the ciphertext already in the slot for a mask, the zero ciphertext for a + /// vote, an update, or any input to an empty slot. This witness has to be built for the same + /// addend, which is what `keep_previous` selects. + /// + /// The previous ciphertext is exported and committed to whichever addend is used, because the + /// circuit checks it against the commitment `CRISPProgram` stored for the slot. Only the + /// quotient polynomials depend on the addend. + /// + /// An empty slot has no previous ciphertext and no stored commitment. It gets zero limbs and a + /// zero commitment, which is what the contract passes the circuit for such a slot. + /// /// # Arguments /// * `params` - BFV parameters - /// * `prev_ct` - The existing ciphertext to add to - /// * `ct` - The ciphertext being added - /// * `sum_ct` - The result of the ciphertext addition + /// * `previous_ct` - The ciphertext currently in the slot, or `None` when the slot is empty + /// * `ct` - The ballot ciphertext + /// * `sum_ct` - The ciphertext that becomes the slot + /// * `keep_previous` - Whether `sum_ct` adds to the previous ciphertext rather than replacing it /// /// # Returns /// CiphertextAdditionInputs containing all necessary proof data pub fn compute( params: &BfvParameters, - prev_ct: &Ciphertext, + previous_ct: Option<&Ciphertext>, ct: &Ciphertext, sum_ct: &Ciphertext, + keep_previous: bool, ) -> Result { let moduli = params.moduli(); - - let mut crt_polynomials = [ - CrtPolynomial::from_fhe_polynomial(&prev_ct[0]), - CrtPolynomial::from_fhe_polynomial(&prev_ct[1]), - CrtPolynomial::from_fhe_polynomial(&ct[0]), - CrtPolynomial::from_fhe_polynomial(&ct[1]), - CrtPolynomial::from_fhe_polynomial(&sum_ct[0]), - CrtPolynomial::from_fhe_polynomial(&sum_ct[1]), - ]; + let pk_bit = compute_modulus_bit(params); // fhe-math stores coefficients in ascending degree (c_0, c_1, …). But here we want // that each limb is stored in **descending** order (a_n, …, a_0) so circuit evaluation can use Horner's // method in one forward pass: `result = result * x + coefficients[i]` from i = 0, // i.e. P(x) = ((…((a_n·x + a_{n-1})·x + …)·x + a_0), with no extra reversing or reindexing. // - // We center so the quotient r = (sum − (prev + ct)) / q_i lies in {-1, 0, 1}. + // We center so the quotient r = (sum − (addend + ct)) / q_i lies in {-1, 0, 1}. // BFV/fhe-math already gives coefficients in [0, q_i), so reduce is redundant. We need centering // into (-q/2, q/2]: then the difference per coefficient is small in absolute value, and for valid // ciphertext addition that difference is a multiple of q_i, so the quotient is in {-1, 0, 1}, // which the circuit and compute_quotient expect. + let mut crt_polynomials = [ + CrtPolynomial::from_fhe_polynomial(&ct[0]), + CrtPolynomial::from_fhe_polynomial(&ct[1]), + CrtPolynomial::from_fhe_polynomial(&sum_ct[0]), + CrtPolynomial::from_fhe_polynomial(&sum_ct[1]), + ]; + for c in &mut crt_polynomials { c.reverse(); c.center(moduli)?; } - let [prev_ct0, prev_ct1, ct0, ct1, sum_ct0, sum_ct1] = crt_polynomials; + let [ct0, ct1, sum_ct0, sum_ct1] = crt_polynomials; + + let (prev_ct0, prev_ct1, prev_ct_commitment) = match previous_ct { + Some(previous) => { + let mut limbs = [ + CrtPolynomial::from_fhe_polynomial(&previous[0]), + CrtPolynomial::from_fhe_polynomial(&previous[1]), + ]; + + for c in &mut limbs { + c.reverse(); + c.center(moduli)?; + } + + let [p0, p1] = limbs; + let commitment = compute_ciphertext_commitment(&p0, &p1, pk_bit); - // Compute quotient polynomials: r = (sum_centered - (ct_centered + prev_ct_centered)) / qi. - // For ciphertext addition: sum_centered = ct_centered + prev_ct_centered + r * qi. - // So: r = (sum_centered - (ct_centered + prev_ct_centered)) / qi. - let r0 = Self::compute_quotient(&sum_ct0, &ct0, &prev_ct0, moduli) + (p0, p1, commitment) + } + // Shaped from the ballot limbs, so the degree and the number of moduli follow the + // parameters rather than being restated here. + None => ( + Self::select_addend(&ct0, false), + Self::select_addend(&ct1, false), + BigInt::zero(), + ), + }; + + // What the circuit adds the ballot to, which is the slot's ciphertext only for a mask over + // an occupied slot. An empty slot has nothing to keep, whatever the caller asked for. + let keep = keep_previous && previous_ct.is_some(); + let addend_ct0 = Self::select_addend(&prev_ct0, keep); + let addend_ct1 = Self::select_addend(&prev_ct1, keep); + + // Compute quotient polynomials: r = (sum_centered - (ct_centered + addend_centered)) / qi. + // For ciphertext addition: sum_centered = ct_centered + addend_centered + r * qi. + // So: r = (sum_centered - (ct_centered + addend_centered)) / qi. + let r0 = Self::compute_quotient(&sum_ct0, &ct0, &addend_ct0, moduli) .with_context(|| "Failed to compute r0 quotient")?; - let r1 = Self::compute_quotient(&sum_ct1, &ct1, &prev_ct1, moduli) + let r1 = Self::compute_quotient(&sum_ct1, &ct1, &addend_ct1, moduli) .with_context(|| "Failed to compute r1 quotient")?; // Coefficients are centered per modulus; no zkp reduce. The circuit reduces mod r when needed. - let pk_bit = compute_modulus_bit(params); - let prev_ct_commitment = compute_ciphertext_commitment(&prev_ct0, &prev_ct1, pk_bit); let ct_commitment = compute_ciphertext_commitment(&ct0, &ct1, pk_bit); + let sum_ct_commitment = compute_ciphertext_commitment(&sum_ct0, &sum_ct1, pk_bit); Ok(CiphertextAdditionWitness { prev_ct0is: prev_ct0, @@ -107,9 +159,30 @@ impl CiphertextAdditionWitness { r1is: r1, prev_ct_commitment, ct_commitment, + sum_ct_commitment, }) } + /// The limbs the ballot is added to, mirroring `crisp_lib::ciphertext_addition::select_addend`. + /// + /// Zeroed rather than dropped so the quotient computation keeps the shape of the ciphertext it + /// replaces, whatever the degree and the number of moduli. + /// + /// # Arguments + /// + /// * `previous` - The limbs of the ciphertext currently in the slot + /// * `keep_previous` - Whether the ballot adds to them + fn select_addend(previous: &CrtPolynomial, keep_previous: bool) -> CrtPolynomial { + if keep_previous { + return previous.clone(); + } + + let mut zeroed = previous.clone(); + zeroed.scalar_mul(&BigInt::zero()); + + zeroed + } + /// Computes the quotient CRT polynomial `(sum - (a + b)) / q_i` per modulus. /// /// For each limb index `i`, divides `sum_i - (a_i + b_i)` by the modulus `q_i`. @@ -186,6 +259,7 @@ impl CiphertextAdditionWitness { let r1is = crt_polynomial_to_toml_json(&self.r1is); let prev_ct_commitment = self.prev_ct_commitment.to_string(); let ct_commitment = self.ct_commitment.to_string(); + let sum_ct_commitment = self.sum_ct_commitment.to_string(); let json = serde_json::json!({ "prev_ct0is": prev_ct0is, @@ -195,9 +269,11 @@ impl CiphertextAdditionWitness { "sum_r0is": r0is, "sum_r1is": r1is, "prev_ct_commitment": prev_ct_commitment, - // Not a crisp circuit input. The caller needs it to build the ballot digest before - // signing, so it rides along with the witness rather than being recomputed. + // Neither of these is a crisp circuit input. The caller needs `sum_ct_commitment` to + // build the ballot digest before signing, so both ride along with the witness rather + // than being recomputed. "ct_commitment": ct_commitment, + "sum_ct_commitment": sum_ct_commitment, }); Ok(json) diff --git a/examples/CRISP/crates/zk-inputs/src/lib.rs b/examples/CRISP/crates/zk-inputs/src/lib.rs index 38a7a2c509..5e834cd6ed 100644 --- a/examples/CRISP/crates/zk-inputs/src/lib.rs +++ b/examples/CRISP/crates/zk-inputs/src/lib.rs @@ -26,8 +26,6 @@ use fhe::bfv::{Encoding, Plaintext}; use fhe_traits::FheDecoder; use fhe_traits::FheDecrypter; use fhe_traits::{DeserializeParametrized, FheEncoder, Serialize}; -use num_bigint::BigInt; -use num_traits::Zero; use rand::rng; use std::sync::Arc; mod ciphertext_addition; @@ -87,91 +85,46 @@ impl ZKInputsGenerator { Ok(commitment.to_vec()) } - /// Generates CRISP ZK inputs for a vote encryption and addition operation. - /// Note that this accepts the previous ciphertext in GRECO ABI encoded format. + /// Generates the CRISP ZK inputs for one ballot. /// - /// # Arguments - /// * `prev_ciphertext` - Previous ciphertext bytes to add to (in GRECO ABI Encoded format) - /// * `public_key` - Public key bytes for encryption - /// * `vote` - Vote value as a vector of coefficients + /// One function for all three operations. A first vote, a re-vote, and a mask differ only in + /// what the caller passes here; the encryption, the witness, the published ciphertext, and the + /// proof all have the same shape, so nothing about a submission says which one it was. /// - /// # Returns - /// Tuple containing the sum ciphertext bytes and JSON string with CRISP ZK inputs - pub fn generate_inputs_for_update( - &self, - prev_ciphertext: &[u8], - public_key: &[u8], - vote: Vec, - ) -> Result<(Vec, String)> { - // Deserialize the provided public key. - let pk = PublicKey::from_bytes(public_key, &self.bfv_params) - .with_context(|| "Failed to deserialize public key")?; - - // Encode the plaintext into a polynomial. - let pt = Plaintext::try_encode(&vote, Encoding::poly(), &self.bfv_params) - .with_context(|| "Failed to encode plaintext")?; - - let user_data_encryption_computation_output = UserDataEncryptionCircuit::compute( - DEFAULT_BFV_PRESET, - &UserDataEncryptionCircuitData { - public_key: pk, - plaintext: pt, - }, - )?; - - let ct = Ciphertext::from_bytes( - &user_data_encryption_computation_output.inputs.ciphertext, - &self.bfv_params, - ) - .with_context(|| "Failed to deserialize ciphertext")?; - - // Ciphertext Addition Section. - // Deserialize the previous ciphertext. - let prev_ct = Ciphertext::from_bytes(prev_ciphertext, &self.bfv_params) - .with_context(|| "Failed to deserialize previous ciphertext")?; - - // Compute the ciphertext addition. - let sum_ct = &ct + &prev_ct; - - // Compute the inputs of the ciphertext addition. - let ciphertext_addition_inputs = - CiphertextAdditionWitness::compute(&self.bfv_params, &prev_ct, &ct, &sum_ct) - .with_context(|| "Failed to compute ciphertext addition inputs")?; - - let ciphertext_addition_witness_json = ciphertext_addition_inputs.to_json()?; - let user_data_encryption_witness_json = - user_data_encryption_computation_output.inputs.to_json()?; - let inputs_json = utils::merge_json_objects( - ciphertext_addition_witness_json, - user_data_encryption_witness_json, - )?; - - // For updates, return the sum ciphertext (ct + prev_ct) - let ciphertext_bytes = sum_ct.to_bytes(); - - Ok((ciphertext_bytes, inputs_json)) - } - - /// Generates CRISP ZK inputs for a vote encryption and addition operation. + /// What the circuit proves is always `published = addend + ballot`, where the ballot is a fresh + /// BFV encryption of `vote` and the addend is the ciphertext already in the slot when + /// `keep_previous` is set, and the zero ciphertext otherwise: + /// + /// | Operation | `previous_ciphertext` | `keep_previous` | Published | + /// | --------------------- | --------------------- | --------------- | ---------------- | + /// | First vote | `None` | `false` | ballot | + /// | Re-vote | slot ciphertext | `false` | ballot | + /// | Mask, empty slot | `None` | `false` | zero ballot | + /// | Mask, occupied slot | slot ciphertext | `true` | slot + zero | + /// + /// A re-vote replaces the slot, so a voter cannot count their old ballot twice; the circuit + /// derives the same choice from its private mask flag and would reject any other. The previous + /// ciphertext is still required for a re-vote, because the circuit checks it against the + /// commitment `CRISPProgram` stored for the slot. /// /// # Arguments - /// * `prev_ciphertext` - Previous ciphertext bytes to add to + /// * `previous_ciphertext` - The ciphertext currently in the slot, or `None` when it is empty /// * `public_key` - Public key bytes for encryption /// * `vote` - Vote value as a vector of coefficients + /// * `keep_previous` - Whether the ballot adds to the slot rather than replacing it /// /// # Returns - /// Tuple containing the vote ciphertext bytes and JSON string with CRISP ZK inputs + /// Tuple containing the ciphertext bytes to publish and a JSON string with CRISP ZK inputs pub fn generate_inputs( &self, - prev_ciphertext: &[u8], + previous_ciphertext: Option<&[u8]>, public_key: &[u8], vote: Vec, + keep_previous: bool, ) -> Result<(Vec, String)> { - // Deserialize the provided public key. let pk = PublicKey::from_bytes(public_key, &self.bfv_params) .with_context(|| "Failed to deserialize public key")?; - // Encode the plaintext into a polynomial. let pt = Plaintext::try_encode(&vote, Encoding::poly(), &self.bfv_params) .with_context(|| "Failed to encode plaintext")?; @@ -189,22 +142,29 @@ impl ZKInputsGenerator { ) .with_context(|| "Failed to deserialize ciphertext")?; - // Ciphertext Addition Section. - // Deserialize the previous ciphertext. - let prev_ct = Ciphertext::from_bytes(prev_ciphertext, &self.bfv_params) - .with_context(|| "Failed to deserialize previous ciphertext")?; + let previous_ct = previous_ciphertext + .map(|bytes| { + Ciphertext::from_bytes(bytes, &self.bfv_params) + .with_context(|| "Failed to deserialize previous ciphertext") + }) + .transpose()?; - // Compute the ciphertext addition. - let sum_ct = &ct + &prev_ct; + // An empty slot holds nothing to keep, whatever the caller asked for. + let keep = keep_previous && previous_ct.is_some(); - // Compute the inputs of the ciphertext addition. - let mut ciphertext_addition_inputs = - CiphertextAdditionWitness::compute(&self.bfv_params, &prev_ct, &ct, &sum_ct) - .with_context(|| "Failed to compute ciphertext addition inputs")?; + let published_ct = match (keep, previous_ct.as_ref()) { + (true, Some(previous)) => &ct + previous, + _ => ct.clone(), + }; - // IMPORTANT: First-in-slot votes have no previous ciphertext; set prev_ct_commitment to 0 - // so the on-chain verifier accepts the proof. - ciphertext_addition_inputs.prev_ct_commitment = BigInt::zero(); + let ciphertext_addition_inputs = CiphertextAdditionWitness::compute( + &self.bfv_params, + previous_ct.as_ref(), + &ct, + &published_ct, + keep, + ) + .with_context(|| "Failed to compute ciphertext addition inputs")?; let ciphertext_addition_witness_json = ciphertext_addition_inputs.to_json()?; let user_data_encryption_witness_json = @@ -214,9 +174,7 @@ impl ZKInputsGenerator { user_data_encryption_witness_json, )?; - let ciphertext_bytes = ct.to_bytes(); - - Ok((ciphertext_bytes, inputs_json)) + Ok((published_ct.to_bytes(), inputs_json)) } /// Encrypts a vote using the provided public key. @@ -295,12 +253,39 @@ mod tests { use super::*; use e3_fhe_params::constants::insecure_512; use e3_fhe_params::{BfvParamSet, BfvPreset}; + use num_bigint::BigUint; /// Helper function to create a vote vector with alternating 0s and 1s (deterministic) fn create_vote_vector() -> Vec { (0..insecure_512::DEGREE).map(|i| (i % 2) as u64).collect() } + /// A ballot of all zeros, which is what a mask encrypts. + fn zero_vote() -> Vec { + vec![0u64; insecure_512::DEGREE] + } + + /// Reads one commitment out of the witness JSON, as the decimal string the circuit takes. + fn commitment_field(json: &str, name: &str) -> String { + let parsed: serde_json::Value = serde_json::from_str(json).expect("Invalid JSON output"); + + parsed + .get(name) + .unwrap_or_else(|| panic!("witness has no {name}")) + .as_str() + .expect("commitment is a decimal string") + .to_string() + } + + /// The same commitment computed from serialized bytes, for comparison with the witness. + fn commitment_of(generator: &ZKInputsGenerator, ciphertext: &[u8]) -> String { + let bytes = generator + .compute_ciphertext_commitment(ciphertext) + .expect("failed to compute ciphertext commitment"); + + BigUint::from_bytes_be(&bytes).to_string() + } + #[test] fn test_inputs_generation_with_defaults() { let generator = ZKInputsGenerator::with_defaults(); @@ -309,7 +294,8 @@ mod tests { let prev_ciphertext = generator .encrypt_vote(&public_key, vote.clone()) .expect("failed to generate previous ciphertext"); - let result = generator.generate_inputs(&prev_ciphertext, &public_key, vote.clone()); + let result = + generator.generate_inputs(Some(&prev_ciphertext), &public_key, vote.clone(), false); assert!(result.is_ok()); let (ciphertext_bytes, json_output) = result.unwrap(); @@ -330,7 +316,8 @@ mod tests { let prev_ciphertext = generator .encrypt_vote(&public_key, vote.clone()) .expect("failed to generate previous ciphertext"); - let result = generator.generate_inputs(&prev_ciphertext, &public_key, vote.clone()); + let result = + generator.generate_inputs(Some(&prev_ciphertext), &public_key, vote.clone(), false); assert!(result.is_ok()); let (ciphertext_bytes, json_output) = result.unwrap(); @@ -350,7 +337,8 @@ mod tests { let prev_ciphertext = generator .encrypt_vote(&public_key, vote.clone()) .expect("failed to generate previous ciphertext"); - let result = generator.generate_inputs(&prev_ciphertext, &public_key, vote.clone()); + let result = + generator.generate_inputs(Some(&prev_ciphertext), &public_key, vote.clone(), false); assert!(result.is_ok()); let (ciphertext_bytes, json_output) = result.unwrap(); @@ -388,7 +376,7 @@ mod tests { .expect("failed to encrypt vote"); assert!(!ciphertext.is_empty()); - let result = generator.generate_inputs(&ciphertext, &public_key, vote.clone()); + let result = generator.generate_inputs(Some(&ciphertext), &public_key, vote.clone(), false); assert!(result.is_ok()); let (ciphertext_bytes, json_output) = result.unwrap(); assert!(!ciphertext_bytes.is_empty()); @@ -404,11 +392,11 @@ mod tests { let vote = create_vote_vector(); // Test invalid byte inputs. - let result = generator.generate_inputs(&[1, 2, 3], &[4, 5, 6], vote.clone()); + let result = generator.generate_inputs(Some(&[1, 2, 3]), &[4, 5, 6], vote.clone(), false); assert!(result.is_err()); // Test empty slices. - let result = generator.generate_inputs(&[], &[], vote.clone()); + let result = generator.generate_inputs(Some(&[]), &[], vote.clone(), false); assert!(result.is_err()); // Test invalid public key for encryption. @@ -427,12 +415,14 @@ mod tests { .expect("failed to encrypt vote"); // Test vote = 0. - let result_0 = generator.generate_inputs(&prev_ciphertext, &public_key, vote.clone()); + let result_0 = + generator.generate_inputs(Some(&prev_ciphertext), &public_key, vote.clone(), false); assert!(result_0.is_ok()); let (_, _) = result_0.unwrap(); // Test vote = 1. - let result_1 = generator.generate_inputs(&prev_ciphertext, &public_key, vote.clone()); + let result_1 = + generator.generate_inputs(Some(&prev_ciphertext), &public_key, vote.clone(), false); assert!(result_1.is_ok()); let (_, _) = result_1.unwrap(); } @@ -445,7 +435,8 @@ mod tests { let prev_ciphertext = generator .encrypt_vote(&public_key, vote.clone()) .expect("failed to encrypt vote"); - let result = generator.generate_inputs(&prev_ciphertext, &public_key, vote.clone()); + let result = + generator.generate_inputs(Some(&prev_ciphertext), &public_key, vote.clone(), false); assert!(result.is_ok()); let (ciphertext_bytes, json_output) = result.unwrap(); @@ -591,4 +582,192 @@ mod tests { let result = generator.decrypt_vote(&[], &[]); assert!(result.is_err(), "Should fail with empty inputs"); } + + // ----------------------------------------------------------------------- + // The three operations + // ----------------------------------------------------------------------- + // + // A first vote, a re-vote, and a mask all go through `generate_inputs`. These check that each + // publishes the ciphertext the circuit commits to, because the E3 program stores that + // commitment and the Secure Process drops any input whose bytes disagree with it. + + #[test] + fn test_first_vote_publishes_the_ballot() { + let generator = ZKInputsGenerator::with_defaults(); + let (_secret_key, public_key) = generator.generate_keys().expect("failed to generate keys"); + + let (published, json) = generator + .generate_inputs(None, &public_key, create_vote_vector(), false) + .expect("failed to generate first-vote inputs"); + + // Nothing was added, so the published ciphertext is the ballot itself. + assert_eq!( + commitment_field(&json, "sum_ct_commitment"), + commitment_field(&json, "ct_commitment") + ); + // The contract passes zero for an empty slot, and a public input that disagrees would make + // the proof unverifiable. + assert_eq!(commitment_field(&json, "prev_ct_commitment"), "0"); + assert_eq!( + commitment_field(&json, "sum_ct_commitment"), + commitment_of(&generator, &published) + ); + } + + #[test] + fn test_revote_replaces_the_ballot_in_the_slot() { + let generator = ZKInputsGenerator::with_defaults(); + let (secret_key, public_key) = generator.generate_keys().expect("failed to generate keys"); + + let first = create_vote_vector(); + let (slot, _) = generator + .generate_inputs(None, &public_key, first.clone(), false) + .expect("failed to generate first-vote inputs"); + + let second: Vec = first.iter().map(|c| 1 - c).collect(); + let (published, json) = generator + .generate_inputs(Some(&slot), &public_key, second.clone(), false) + .expect("failed to generate re-vote inputs"); + + // A re-vote replaces rather than adds, or the two ballots would both count. + assert_eq!( + commitment_field(&json, "sum_ct_commitment"), + commitment_field(&json, "ct_commitment") + ); + assert_eq!( + commitment_field(&json, "sum_ct_commitment"), + commitment_of(&generator, &published) + ); + // The circuit checks this against the commitment the contract stored for the slot, so a + // re-vote still has to know what the slot holds. + assert_eq!( + commitment_field(&json, "prev_ct_commitment"), + commitment_of(&generator, &slot) + ); + assert_eq!( + generator + .decrypt_vote(&secret_key, &published) + .expect("failed to decrypt re-vote"), + second + ); + } + + #[test] + fn test_mask_over_occupied_slot_preserves_the_ballot() { + let generator = ZKInputsGenerator::with_defaults(); + let (secret_key, public_key) = generator.generate_keys().expect("failed to generate keys"); + + let ballot = create_vote_vector(); + let (slot, _) = generator + .generate_inputs(None, &public_key, ballot.clone(), false) + .expect("failed to generate first-vote inputs"); + + let (published, json) = generator + .generate_inputs(Some(&slot), &public_key, zero_vote(), true) + .expect("failed to generate mask inputs"); + + // A mask adds to the slot, so what it publishes is not the ballot it encrypted. + assert_ne!( + commitment_field(&json, "sum_ct_commitment"), + commitment_field(&json, "ct_commitment") + ); + assert_eq!( + commitment_field(&json, "sum_ct_commitment"), + commitment_of(&generator, &published) + ); + assert_eq!( + commitment_field(&json, "prev_ct_commitment"), + commitment_of(&generator, &slot) + ); + // Adding a zero ballot leaves the vote in the slot untouched, which is the whole point. + assert_eq!( + generator + .decrypt_vote(&secret_key, &published) + .expect("failed to decrypt masked slot"), + ballot + ); + } + + #[test] + fn test_mask_over_empty_slot_publishes_the_zero_ballot() { + let generator = ZKInputsGenerator::with_defaults(); + let (secret_key, public_key) = generator.generate_keys().expect("failed to generate keys"); + + // `keep_previous` is set, but an empty slot holds nothing to keep. + let (published, json) = generator + .generate_inputs(None, &public_key, zero_vote(), true) + .expect("failed to generate mask inputs"); + + assert_eq!( + commitment_field(&json, "sum_ct_commitment"), + commitment_field(&json, "ct_commitment") + ); + assert_eq!(commitment_field(&json, "prev_ct_commitment"), "0"); + assert_eq!( + commitment_field(&json, "sum_ct_commitment"), + commitment_of(&generator, &published) + ); + assert_eq!( + generator + .decrypt_vote(&secret_key, &published) + .expect("failed to decrypt mask"), + zero_vote() + ); + } + + #[test] + fn test_repeated_masks_preserve_the_ballot() { + let generator = ZKInputsGenerator::with_defaults(); + let (secret_key, public_key) = generator.generate_keys().expect("failed to generate keys"); + + let ballot = create_vote_vector(); + let (mut slot, _) = generator + .generate_inputs(None, &public_key, ballot.clone(), false) + .expect("failed to generate first-vote inputs"); + + for _ in 0..3 { + let (published, _) = generator + .generate_inputs(Some(&slot), &public_key, zero_vote(), true) + .expect("failed to generate mask inputs"); + slot = published; + } + + assert_eq!( + generator + .decrypt_vote(&secret_key, &slot) + .expect("failed to decrypt masked slot"), + ballot + ); + } + + #[test] + fn test_revote_after_masks_replaces_the_slot() { + let generator = ZKInputsGenerator::with_defaults(); + let (secret_key, public_key) = generator.generate_keys().expect("failed to generate keys"); + + let first = create_vote_vector(); + let (slot, _) = generator + .generate_inputs(None, &public_key, first.clone(), false) + .expect("failed to generate first-vote inputs"); + let (masked, _) = generator + .generate_inputs(Some(&slot), &public_key, zero_vote(), true) + .expect("failed to generate mask inputs"); + + let second: Vec = first.iter().map(|c| 1 - c).collect(); + let (published, json) = generator + .generate_inputs(Some(&masked), &public_key, second.clone(), false) + .expect("failed to generate re-vote inputs"); + + // The masks are discarded with the ballot they covered, and they carried nothing. + assert_eq!( + generator + .decrypt_vote(&secret_key, &published) + .expect("failed to decrypt re-vote"), + second + ); + assert_eq!( + commitment_field(&json, "prev_ct_commitment"), + commitment_of(&generator, &masked) + ); + } } diff --git a/examples/CRISP/packages/crisp-contracts/contracts/CRISPOnchainVerifier.sol b/examples/CRISP/packages/crisp-contracts/contracts/CRISPOnchainVerifier.sol index b8534a884b..d1e699ac66 100644 --- a/examples/CRISP/packages/crisp-contracts/contracts/CRISPOnchainVerifier.sol +++ b/examples/CRISP/packages/crisp-contracts/contracts/CRISPOnchainVerifier.sol @@ -8,7 +8,7 @@ pragma solidity >=0.8.21; uint256 constant N = 2097152; uint256 constant LOG_N = 21; uint256 constant NUMBER_OF_PUBLIC_INPUTS = 17; -uint256 constant VK_HASH = 0x0b1a8d6509209282299c53d628ce472a47ef437bdb6799ccbc0423372bb530d4; +uint256 constant VK_HASH = 0x0a12a4d2efe48fe7bee586e156eb7cb5d2d7dc71bccf0fa4b4a9b91c097b4c8c; library HonkVerificationKey { function loadVerificationKey() internal pure returns (Honk.VerificationKey memory) { Honk.VerificationKey memory vk = Honk.VerificationKey({ @@ -20,8 +20,8 @@ library HonkVerificationKey { y: uint256(0x01137e39f6b1ec6101fad7a4472102bfe11e7534e55e58109734c4b927efe6a6) }), qr: Honk.G1Point({ - x: uint256(0x289b159ca7e4437437f18d73d2b649c2043fa68dfcf97dbfeedf6f1b424d068b), - y: uint256(0x28ed000f4b9a44c36695072beaab8802db7f39473ce933426e62ee4f817e0899) + x: uint256(0x2ac08692659e39f2a9f8cff82c54221ef67e138279c03ffbe9cba0976cb5c5bb), + y: uint256(0x18d2a25f4040b02577dcec145c99e389c578119bc9652bd2e07cf1e6ac2edbd9) }), qo: Honk.G1Point({ x: uint256(0x18424976826978ddb710bfdc21c64a296884c27b0d8dadf6ac7681445dde8d8c), diff --git a/examples/CRISP/packages/crisp-contracts/contracts/CRISPProgram.sol b/examples/CRISP/packages/crisp-contracts/contracts/CRISPProgram.sol index 538dea1f18..c5602f3efd 100644 --- a/examples/CRISP/packages/crisp-contracts/contracts/CRISPProgram.sol +++ b/examples/CRISP/packages/crisp-contracts/contracts/CRISPProgram.sol @@ -64,12 +64,18 @@ contract CRISPProgram is IE3Program, Ownable, EIP712 { uint256 merkleRoot; bytes32 paramsHash; mapping(address slot => uint40 index) voteSlots; - /// @notice The last proven ciphertext commitment for a slot. - /// @dev Held separately because the input tree leaf binds the published bytes as well, so the - /// leaf is no longer the commitment. The Noir circuit takes `prev_ct_commitment` as a public - /// input and compares it against the commitment of the private previous ciphertext, so it must - /// keep receiving the commitment itself. - mapping(address slot => bytes32 commitment) slotCommitment; + /// @notice The proven ciphertext commitment of every input, keyed by slot and tree index. + /// @dev Keyed by both so a parent lookup for the wrong slot returns zero and is refused: it + /// costs no more storage than a single-key map and removes a separate same-slot check. + /// + /// A history rather than one commitment per slot. An input names the entry it extends, and + /// this contract cannot tell whether the bytes published with an entry deserialize to the + /// ciphertext its commitment describes — only the Secure Process can, once the input window + /// closes. Keeping only the newest commitment would therefore let anyone leave a slot whose + /// head nobody but they can open, and a slot that cannot be masked is a slot whose every later + /// input is provably its owner voting again. With the history, an entry like that is simply + /// never extended: the next input names the same parent, and masking continues. + mapping(address slot => mapping(uint40 index => bytes32 commitment)) inputCommitment; LazyIMTData votes; uint256 numOptions; CreditMode creditMode; @@ -164,6 +170,10 @@ contract CRISPProgram is IE3Program, Ownable, EIP712 { /// to zero — able to publish, but unable to carry any weight, which is disenfranchisement that /// nothing on-chain would report. error MinVotingPowerBelowScale(); + /// @notice An input names a parent this slot never wrote to. + /// @dev Includes an index belonging to another slot, which the per-slot commitment map reads as + /// absent. Name no parent instead when there is nothing to extend. + error UnknownParentInput(uint40 parentIndex); error SlotIsEmpty(); error MerkleRootNotSet(); error InvalidNumOptions(); @@ -185,7 +195,8 @@ contract CRISPProgram is IE3Program, Ownable, EIP712 { address indexed slotAddress, bytes32 encryptedVoteCommitment, bytes encryptedVote, - uint256 index + uint256 index, + uint40 parentIndexPlusOne ); /// @notice Initialize the contract without an Interfold controller. @@ -485,26 +496,26 @@ contract CRISPProgram is IE3Program, Ownable, EIP712 { if (data.length == 0) revert EmptyInputData(); - (bytes memory noirProof, address slotAddress, bytes32 encryptedVoteCommitment, bytes memory encryptedVote) = abi.decode( - data, - (bytes, address, bytes32, bytes) - ); + ( + bytes memory noirProof, + address slotAddress, + bytes32 encryptedVoteCommitment, + bytes memory encryptedVote, + uint40 parentIndexPlusOne + ) = abi.decode(data, (bytes, address, bytes32, bytes, uint40)); // The two census families differ here and nowhere else. A Merkle round proves membership // inside the circuit against a posted root. An ONCHAIN round reads the power from the token // and gives it to the circuit, so the eligibility check has to happen here instead. (bytes32 eligibility, IHonkVerifier verifier) = _eligibility(e3Id, slotAddress); - (uint40 voteIndex, bytes32 previousEncryptedVoteCommitment) = _processVote( - e3Id, - slotAddress, - encryptedVoteCommitment, - encryptedVote - ); + bytes32 parentCommitment = _parentCommitment(e3Id, slotAddress, parentIndexPlusOne); + + uint40 voteIndex = _processVote(e3Id, slotAddress, encryptedVoteCommitment, encryptedVote, parentIndexPlusOne); // Set the public inputs for the proof. Order must match Noir circuit. bytes32[] memory noirPublicInputs = new bytes32[](9); - noirPublicInputs[0] = previousEncryptedVoteCommitment; + noirPublicInputs[0] = parentCommitment; // A Keccak digest does not fit in one field element, so it enters the circuit as its two // 16-byte halves. The circuit rebuilds the 32 bytes with `digest_from_halves`. { @@ -514,7 +525,7 @@ contract CRISPProgram is IE3Program, Ownable, EIP712 { } noirPublicInputs[3] = bytes32(uint256(uint160(slotAddress))); noirPublicInputs[4] = eligibility; - noirPublicInputs[5] = bytes32(uint256(previousEncryptedVoteCommitment == bytes32(0) ? 1 : 0)); + noirPublicInputs[5] = bytes32(uint256(parentIndexPlusOne == 0 ? 1 : 0)); noirPublicInputs[6] = bytes32(e3Data[e3Id].numOptions); noirPublicInputs[7] = encryptedVoteCommitment; noirPublicInputs[8] = e3.committeePublicKey; @@ -524,7 +535,31 @@ contract CRISPProgram is IE3Program, Ownable, EIP712 { revert InvalidNoirProof(); } - emit InputPublished(e3Id, slotAddress, encryptedVoteCommitment, encryptedVote, voteIndex); + emit InputPublished(e3Id, slotAddress, encryptedVoteCommitment, encryptedVote, voteIndex, parentIndexPlusOne); + } + + /// @notice The commitment of the entry an input names as its parent. + /// @dev Zero when the input names none, which is what the circuit reads as `is_first_vote`. + /// + /// Naming no parent is allowed even when the slot already holds entries, and it has to be: a + /// slot whose every entry is unusable has nothing to extend, and refusing that here would leave + /// it permanently unwritable. Nothing is gained by refusing it either — the Secure Process + /// accepts an entry only when its parent is the one currently selected for the slot, so an input + /// that skips a usable parent is dropped from the tally wherever this contract lets it through. + /// @param e3Id The round. + /// @param slotAddress The slot the input is written to. + /// @param parentIndexPlusOne The tree index of the parent entry plus one, or zero for none. + /// @return The parent's commitment, or zero. + function _parentCommitment(uint256 e3Id, address slotAddress, uint40 parentIndexPlusOne) internal view returns (bytes32) { + if (parentIndexPlusOne == 0) return bytes32(0); + + bytes32 commitment = e3Data[e3Id].inputCommitment[slotAddress][parentIndexPlusOne - 1]; + // Zero for an index this slot never wrote to, including one belonging to another slot. The + // circuit would read it as `is_first_vote` while this contract reads it as an update, so the + // two would disagree about the same input. + if (commitment == bytes32(0)) revert UnknownParentInput(parentIndexPlusOne - 1); + + return commitment; } /// @notice Resolve the eligibility public input and the verifier for a round. @@ -641,15 +676,32 @@ contract CRISPProgram is IE3Program, Ownable, EIP712 { return votes; } - /// @notice Get the slot index for a given E3 ID and slot address + /// @notice The index of the last input published to a slot. + /// @dev The last one *published*, which is not always the one that holds the slot. This contract + /// cannot tell whether an input's bytes deserialize to the ciphertext its commitment describes, + /// so the entry at this index may be one the Secure Process will never select. A client naming a + /// parent must resolve the chain — from the published bytes, or from the CRISP server's + /// `state/previous-ciphertext` — rather than reading it from here. /// @param e3Id The E3 program ID /// @param slotAddress The slot address - /// @return The slot index, or -1 if the slot is empty + /// @return The index of the last published input, or -1 if the slot is empty function getSlotIndex(uint256 e3Id, address slotAddress) external view returns (int40) { uint40 storedIndexPlusOne = e3Data[e3Id].voteSlots[slotAddress]; return int40(storedIndexPlusOne) - 1; } + /// @notice The commitment this contract recorded for one entry of a slot. + /// @dev Zero for an index this slot never wrote to. A client names a parent by index and must + /// prove against exactly the commitment stored for it, so this is how it checks what that will + /// be before proving. + /// @param e3Id The round. + /// @param slotAddress The slot address. + /// @param index The tree index of the entry. + /// @return The stored commitment, or zero when there is no such entry for this slot. + function inputCommitmentOf(uint256 e3Id, address slotAddress, uint40 index) external view returns (bytes32) { + return e3Data[e3Id].inputCommitment[slotAddress][index]; + } + /// @inheritdoc IE3Program function verify( uint256 e3Id, @@ -679,39 +731,37 @@ contract CRISPProgram is IE3Program, Ownable, EIP712 { return true; } - /// @notice Process a vote: insert or update in the merkle tree depending - /// on whether it's the first vote or an override. + /// @notice Record one input: append its leaf and remember its commitment for later parents. function _processVote( uint256 e3Id, address slotAddress, bytes32 encryptedVoteCommitment, - bytes memory encryptedVote - ) internal returns (uint40 voteIndex, bytes32 previousEncryptedVoteCommitment) { + bytes memory encryptedVote, + uint40 parentIndexPlusOne + ) internal returns (uint40 voteIndex) { RoundData storage round = e3Data[e3Id]; // Append-only. Updating a slot's leaf in place would let anyone who can write to a slot — and // the mask path needs no signature — replace the bytes of a vote that was already counted, - // erasing it. Appending leaves the earlier entry in the tree, so the Secure Process falls back - // to the most recent entry whose bytes match their commitment and nothing is lost. + // erasing it. Appending leaves the earlier entry in the tree, so the Secure Process can fall + // back to it when a later entry is unusable, and nothing is lost. voteIndex = round.votes.numberOfLeaves; - round.votes._insert(inputLeaf(encryptedVote, encryptedVoteCommitment, slotAddress)); - - // Zero for a slot's first entry, which is what the circuit reads as `is_first_vote`. - previousEncryptedVoteCommitment = round.slotCommitment[slotAddress]; + round.votes._insert(inputLeaf(encryptedVote, encryptedVoteCommitment, slotAddress, parentIndexPlusOne)); round.voteSlots[slotAddress] = voteIndex + 1; - round.slotCommitment[slotAddress] = encryptedVoteCommitment; + round.inputCommitment[slotAddress][voteIndex] = encryptedVoteCommitment; } /// @notice Builds the input tree leaf for one published input. - /// @dev Binds three things the Secure Process must be able to trust: + /// @dev Binds four things the Secure Process must be able to trust: /// /// - the **bytes**, because the Noir proof constrains the commitment and never sees the /// serialized ciphertext, so the two can disagree and only the guest can tell; /// - the **commitment**, so a submitter cannot pair any commitment with any ciphertext; - /// - the **slot**, because the tree is append-only and the guest tallies the most recent usable - /// entry per slot. Without the slot in the leaf a prover could re-group entries and change - /// which one wins. + /// - the **slot**, because the tree is append-only and the guest tallies one entry per slot. + /// Without the slot in the leaf a prover could re-group entries and change which one wins; + /// - the **parent**, because that is what the guest walks the slot's chain by. An unbound parent + /// would let a prover re-point entries and select a different one. /// /// SHA-256 rather than Keccak: the zkVM accelerates SHA-256 inline, while its Keccak accelerator /// emits a proof assumption the host must prove separately and compose. The extra on-chain cost @@ -719,10 +769,10 @@ contract CRISPProgram is IE3Program, Ownable, EIP712 { function inputLeaf( bytes memory encryptedVote, bytes32 commitment, - address slotAddress + address slotAddress, + uint40 parentIndexPlusOne ) public pure returns (uint256) { - return - uint256(sha256(abi.encodePacked(sha256(encryptedVote), commitment, slotAddress))) % SNARK_SCALAR_FIELD; + return uint256(sha256(abi.encodePacked(sha256(encryptedVote), commitment, slotAddress, parentIndexPlusOne))) % SNARK_SCALAR_FIELD; } /// @notice Decode bytes to uint64 array diff --git a/examples/CRISP/packages/crisp-contracts/contracts/CRISPVerifier.sol b/examples/CRISP/packages/crisp-contracts/contracts/CRISPVerifier.sol index d02d02e1da..5b85606560 100644 --- a/examples/CRISP/packages/crisp-contracts/contracts/CRISPVerifier.sol +++ b/examples/CRISP/packages/crisp-contracts/contracts/CRISPVerifier.sol @@ -8,7 +8,7 @@ pragma solidity >=0.8.21; uint256 constant N = 2097152; uint256 constant LOG_N = 21; uint256 constant NUMBER_OF_PUBLIC_INPUTS = 17; -uint256 constant VK_HASH = 0x1d0e6ec8f2fe720a1f528f02a66b66c1479c1648afaaedec06d89b889a0ff0c2; +uint256 constant VK_HASH = 0x00d736cd7cf93a94fe0fa02be1bd85f7ea05d3bfa1697f95456c05a7cce354ce; library HonkVerificationKey { function loadVerificationKey() internal pure returns (Honk.VerificationKey memory) { Honk.VerificationKey memory vk = Honk.VerificationKey({ @@ -20,8 +20,8 @@ library HonkVerificationKey { y: uint256(0x01137e39f6b1ec6101fad7a4472102bfe11e7534e55e58109734c4b927efe6a6) }), qr: Honk.G1Point({ - x: uint256(0x0c9d534606fb88b2814caaec28c8f0ccd9f903b2236fe399ce723cb7a89cff54), - y: uint256(0x12d1f3a930e1c9be768e98d5ed2c5c74b3bd1bce2f50ce042cde7270f8032df1) + x: uint256(0x048bf2f40b9f0e61917b3bd9d156debaa531af8449eebbb46c6ba23cb0de4ae2), + y: uint256(0x25842efe61b33504731c38e50c899a32ec606172705f7a3c74ca1427d83d0fe4) }), qo: Honk.G1Point({ x: uint256(0x18424976826978ddb710bfdc21c64a296884c27b0d8dadf6ac7681445dde8d8c), diff --git a/examples/CRISP/packages/crisp-contracts/tests/fixtures/input-tree-append.json b/examples/CRISP/packages/crisp-contracts/tests/fixtures/input-tree-append.json index 1994b9917d..dce7eb7dbc 100644 --- a/examples/CRISP/packages/crisp-contracts/tests/fixtures/input-tree-append.json +++ b/examples/CRISP/packages/crisp-contracts/tests/fixtures/input-tree-append.json @@ -1,17 +1,25 @@ { - "note": "Generated by tests/input-tree-e2e.test.ts. Asserted by crates/compute-provider.", - "inputRoot": "0x121e53b587b4041e0d85302772ca3e054412547cf49ce715ca05f4c0da745939", - "honestIndex": 0, + "note": "Generated by tests/input-tree-e2e.test.ts. Asserted by program/tests/onchain_root_agreement.rs.", + "inputRoot": "0x036374502f7484886e156270a41b94633363c0faa3c6e4d8ecb23882beb4469c", + "honestIndex": 2, "inputs": [ { - "encryptedVote": "0x0a8a2408021080041a80244e8470857b83ee5ae8e7a7e7d1b8971f6e6c1c9e01b8e1e6f4688cbb4caa58c11e94dba84839bf0e41a0c4e394d2e95f1ec813cc3c202dee396a319a52b297a3bd4ae721d52919b43f806a9b075d0220399bb46517c23cca221e0c4910eaab7665b0f6b905e0fdd3f8e883109b9d6ea6a798193dd9b6ccc6729d3ebb05ab5aba2173f30816d16be7188eb534b6981061ad87811aafe8fc8ac81c88d57f0e0aec97b6c28ef9e26bd01f885963d1870da17ec3e82628a5db7a2c69985723d93f4ba4acff64fa97acfea68ea444d2437658c9aff65bca179ff11452f0fb44cd590a51b5f0d7e802418cc974aca7fc0685a2d0339eab3c5520924b28fce34ad130e7364d2e8512c77d6ada6efe531e7b61be413239ada7578055fcdb9ae9f85512bc4b8e1dfefd115d8848a1a69c6fb8c5dd3dc449715d6b682817022f24b73188b5ed86cce31e46c18c7ce01a22439ec1ea8b2009f3069628f44baca00ffb59c6b87ede38329328d54adb86f46fcf8feb636d1840fbe20851e7146f4302f42a214b477602f51bbafe03e01402a2cd698685d86e4a502a23c61ebe4c00674ff14a06a13667c881c3ecee9b0e6449da9633409f49a9997be0ff88ba5775ed1f2923089e5760a97af209d4e76bf1de1bd3b9858e526b537dec984a8acadb139e58a366184bc9a901b04582887508e61347efad02178abdc719e3faedd3315b06c640732d4b7a24a668ef914ff58e05592827b679cf9d396286e07ec54b035c30b39115e06ac2e8875afc9e0e3fedda34225741ec4858ffb7b701fd0d5bb4b5074f055559c052e87bd3d921867a5c9b6e5136fd2adcaa10178fc7da5acd9521d964e0d3963dcb24b83a66e8f8d205df377fb51180bd1395dd69589420bfb10fe582c74f8137b335916f9d2965596c4d1ddfbd0487668d8813542706d0950356de9c1250247752caeba43f6582194953e2d6898cf6df934ee4102999c56ad2c0f2c284ea8f6331f1a07c0db67b76fea15251f34eb09dbdb9795319fdc78a9f52bcbe80b74eb32659d655fa8d2b29b8e766f73797e05c2bdacaf8fea86092e851fa0fe904cbbb3f2bc83650f5ff01bb96ee31354a3e5d68a274601eade1b14bccbb717056064cf810c36f947aff4cb53420b9f8501c3c56dacfd855e732831d4fea552c9ab643808fa08a4f742720e0fc966bd7f89fb5fe4d3bf67ff4675aab1fa789ef0240efcf942185141c13f81be679f8252117986108fcb741d8a084a33182238fd3387de2a2b648c43a6a86f70f55df3dab462882f1ece9bb8b8d19dba343a2c08f51192e3afce0f605829bcc4224e20a73ed01e62b893079e713f4b08ae586954709e6b38aba45243ae689b1760babcf5d1aedb32f0c027571ddd4db94b926ccad1459df7c610bb6cff50573b0301076bbf00c39edbeb89dd09f5d8b40401ab8aa9bda33f5e34b142a584df8d089218e2e746ba21517bd44e9bf44c79ae017b176e569d2ebdc0a5194b4d3bb81680b20e216c8308a6f80043f6db485a529afa36f05806f523041d2f5c0646c168bb2f0ceb9bdf5daa6326c4a687fd76703c9c16ca33067bc2d4f66af9a28e81f765a898836bc0e531138b3aeaa44ac39c7fee79d54a209bed039f596114f2ffd1388b65cf405a9fe06ca69d3ba07fdc43b8908372b4fc1d80dd95e43dd9b25c06ab91728ae16cf578d0e5f278fab72ae5bdd7a06d6857c1e01976c7d297c1dc3068ee333305ccb9f85318be40a9475a49fab4264739b90b092a474cd19663a7a9d1c20574bc67faa86fc08b3387af4dba1406f2ec5f37a776e39ff4b9e703088c61f5ecc131e708250a401445f2b4a061fc8510953fa0e87f9348814f4cc7fc4dbcec51dfaac337c0c803bd8e70bfb91a2bc8b357eac1b059e6324930f04dff762c0342d873734b5d8f0051712301de124619f23e48c11d63906ae7646d72869931abff0cdb2579afc795bd5e8eb535777926973632d53b013441140f624766ccc1b9c66a859f490836bad4e45b401525369172c7d7e8a6ccc8254461fff9bd88c811d2651b8becd9de3ef3a30ad51f5ce9fd97feeaac30bfbf79b7e321b4f9b96ecb9de3eab0f1f68a2abae7fad9b276b5b20e0cc2769636a4b9fa3af1261568915edcd55277282f5d5b291e98a4191166c0220eea5f24a558ee1b7c857a5df0af8f9f71112dba90f4f276936ab3ae668bf5bd8b630494e408f05876c2f8836f2b3d66283e1c656b94a704708459fcbf61342cb7d1a0e9236c14b57494aa762373f1741cf46a695b7e7679c169090a85f062ebbfb640137523b5b8d5eb66215cc2b1a1b0b1b1c394c96142a30c5bf4d7c5e5e8f46ba517c311da34091cbfbc6dadde185b7d51b562fc2a1441c706dbc94d83915e09120158c78fcc14f2cfea56f2d6962ec11a577aca91dfb19be64e128694cab6bfad2a90095fbe704abd8e6335f40b2783577450b767d242f555e62f8b07e253759b59a61a05a34cd4bef794b64afded29f9b4d969abba5c7a7bcaf47edbb7bd5d85e5559e5255a8aee180ac085f2c5638f9ebd179f21cdb09199b89bb12374e3abfaf08098c5d51e73a0d1d22990282c222b30bb6fc9a349424868fbf76b2433eeddd987c0792772c04ecee9a2138d309372c616463d0b423c93cfbb969f1b361faf25a362f01351d2cfbedb9a6edbb4e50fac428f993c8522d3625be042a9c253fc99e4263f879daa10f50853665b2626ad9666f6ec9978345cffdfd1415b3461fd30d51636afb5e22974ba13652b261f9e29054280e2e510cf7d7f96abeb1b02f44a0c6999949b9c779b2ac4530b63efeb87ccc7adb0d1ec37d26411bf7c19c1bed6454dd734d76912c033b5d1c49ea008ab915d991c3effef9ac470fddcc73e96f301822041e067171f2e670ddde460c9038693b1a4a8c5564fbee8902d83510e53404c7a467338baa1a394bc6961622d3115e02b6863309eb14e7512c2465636d5112ad5b9e33c3e31fa6c8eb2bf88304cebca27085a9ffabb82acf668048d78c50a101b05c5ac4fd0a7790e2f2da35533d359183ead6edcc053a5ae1f3b5e4197676025840543c1f9b171b538b745ef1740a7b6e53aa7d1dd20f2b8a554a1f5446a51965720c13238005fa97f002ef372654e3f4d58b648ffe106529a3508f85e6430f71072e9bbae3cc2fb7b1cd21b6d941fc095f4c9d30bac408e0d10549a6361c472153fc7053394678e699fd076ed3430203b6acfadd1502ef50e815e605652d184fe34fa4f29b9ea41652b9cabcb28b7956e7e931b6a3354c68275a1671412d7fec67fac9780e677629b30875511a4605bb56b23fa638c603f24fc7d423ab6c0a13b3594ba7d3ad0d23f0dc29156de0595d59f63aa4feb967c4cda6cfe83e7fd95aae3607dfc49e4219e0c32b803aadb31e68aa5796494c056d30faa437fa9ada8d145155a90fd7fdce727f7530865ed4dd1778fc2388d102dd67c360b7875f9bdda62ee7543f7b75c30b6ca2524afe362a4de694936f331348a312a82720ce9e58110920167cc8677d02544eaabfee0de22dc5ac2bef66baa6f9a49cb4740a7162dd41d71c2caa91f569aaf0851c0be11c636db0008a3a7e74cb1497863b91436e9e573d8ae0e778c503f2728147635c2d9f4ab1f2b12eb50e88982c4fbb318926cad20504878a0d482ea0b80ef232bdb8dd15e2c327314fdbf8825b5123e7bae011666cc1cb926f6443dd4a3bcdb330ae3ee8beacccfb520ffe808a157c4ed1414c325ee2a039f53a449451b6a002c9d47108a900abebd3bffe23447cf6608b3feb0a71529174fd4f1e0a6a5ce1f2b265bd6b123706a5ca58a0e8d037a494bde0837ff3765d3cbf8d15d14e4bf89c05c7b9b371dfc72e712328908bc82405326da7b2589f336e22565968683605e5e1b214d6c89d034f90b2da0354b82af2c3eab7fba777c16893af125413eb3d1e3aaf237461266bea79137d52432c050daae1b291fb974e11df45c7690704e9776f2e8ab3197c4536a8df7cf1f8becce71ade21d4f69f1d0981890ba3509a28e686f19c3c9a8bf9c0f76422ce76e83bc6a4ef8708ef3b1d15f013d5cd364805c08e22792e340561ae555555ad36e2ce10efd2a764201b231369fe82f4d9a31ad6a82c0b96af90fe5c662de4f7c49c05a23ee52a5ea84aad0be86038e33ab093a79f92084b110de9c81f7535153fea86d0ab7b859e2de2dbe66389a41a7f3a18d9ecdea663ba3b953574108c6a1fa2d76c1c10bc6d3dd9d6a983c55e385ad6d635aa4a676bdcf49c92c36963c2ee39ab4be4059d9c31ee469f9854eca0419a0d2f3ffb17bfa51a2fd1dfa98cf06d8fcd5222defb594ef3dee33946645852032e44d9b99ad22eeab297a24ec239a8b42ffbb36b0dfaa682ea2e1d09ff61d23ad49cc850a4db32ef0c294807c8b7c18dec0b5d233198a0962fd86038efcc64a282404f57d96cdceb32a0b722d59c99554262f858df0bb99d6218c43336c0bd87bcfcb9d9bb05a0b263f1404bd498db26447740072f2a7eb97386eb08d6562b7f246ffb19d28540312963e71686019988f610811fa9791fb2d6c1344ff44aa31e9c9f92929590bae93375cf16eac6a04dcc57441b49d835c7c7c2c1e46fd9cbefa48369dded69b5daee2c42c21d24a2cded65b224b22bd8c5187b520bb84f95c1f9ee3f29661242c3dd3e2991d25b6590e5f033024772c74203cacf8c4eaf2e1887188da460354f5365af2324ec771d004b7941a43a7d6f731de9afd5e9f931581b27b3c567c3f932a580a89fba059a3af87d95fac1de6201d52752e3298a5d0b5d89d5c030c931a60204ef919602944f6269caadefb59c07aac345c87d05104bde1a4e9ec481c36162160ed750c41ad46129fac800681f9238ed76bcbcd91a7123ad32da5d09dd66e30df627ec05559971abe0187d53446053f014c0ca653047e0808a01689bcf2c941b066e7db59ca713dd3d609bd470b0d4c683590f565b727bf24a1f352aac217b52a2b24614382eef8919abc098fed46945c95deef4c704b3c21596c45742c45e02566541fb41db4c408843baf4df6be70433cf71bbc40931dbdf2151a29c223785b98f19513d9884f09580ff1394656f0a617936ce07b215cbbce6e92f955bc9b6f6df765d9e249d09c029da5fc62c294e11e721282738fd1bf2e691dadd63d88cecf57ae3562578b1d7bae8c6bda7db36e53471c81eefc309fc1c923351333362ab4df773b00e100219c34d705866b3cbc69daca501fd419f4e76d78225f325121c58e6283ad6d3b4b3595f3a32431a0b73032a143049bd45f179ce4642a489b7e5d3bc59e10e8afe7d7777aff35bf34eee9bb03cdbda43b2c7148473294da2e8251bfda0e7dc968e6dd5de75b391aeb169c6a10805516fc4c83d482b243d570a9583f174e8a17a51fc9325491c553bfef22dd8d0f258e113b88dd9f3fcf228bf25f72b509054cad0b5d3a00ac5b740fb07e3ea36f070a66f144497fe7fcc2c74e47e85d058925cf953d5242bd7b320ef9681071f0deafa1620162e0155440dcc6aee69b581a01049b815e32c3d18fee05133b392d83e1bc5e7efb4c9b4bb3819138c0e97b8143217d04b20108e396b716938a635a749c3fdf993d14360df92cde8ed83d3486ecd2bce00305b17416428a58e3723dc8edd3633ac1503b6556bd4d64704c6e2fde6d57495a868eaeca0724a6509679282aed934b37fd5a00e41cdc1293fcb3a0917cdeaa83c6808b2f77b61ce29639a9dc2d0885a87153244d33d82042fd618967b309a3575eae3d29ec7202aaebaec90ae043983f4bb7e83859e70ebf6becd64f11f9645a0f270f9110444dd1054a1b15f8535e17914613d24f95d591505df2082a457da6b172458f7d341e58dd5e8d534e4d67f07997c4d65385fed7f3bc922c4d6ec37c05f2643080e9c7ba09da1dabc937a5145d60f46e3df9dcec07158799299be9ff7a8efb595de76369eb235a9e10bf0eecf03ef565fa13db7d33759358dd60d2ea4c6e91cb232812791830e724aae5244a72db7935731f688eb579d0ecb1be5844ca5c78d8d50f6233216014bb0ad8ff1ad6ee4d733a4e88a6b55efa2527d3f0ff91391a2967433469a78720f052a974b5d932a51e2ba5c8ecd29121ddcec559a7d0e29e6abe8fd445f218e98a3f7d602d167176750acd15fd1ab782c3d5343a8500d521ca84dbf870d569a30d201bd66d810f44fb4aeeb969a4249a278adbb4829de9892eab1d8d9c064168fe0351ca66ef731a79a02e372ec831b4402dcc23df3e7bbeded660075c1978879a58b93fe517156f15977c578ee68a85c77eae5375997298428b0a907f03f7419c9a672c25ab9a2fb768eac52e9359a916456362f2cac60d9a4f87c6fecfff09ff12fd9eff4fe33723b6016b1f1ad4796d2b10177ea3cf75a41a2cf1a1f933984f07b1ccb9e6e0df9f0e5fce5a47ee245fb9bb6eaf4e23fcddace69ab265f12c8e0ff6105b89ec62942082cc2a20010a8a2408021080041a8024b1f26d382b93babcae6af7f425212ae19a6ad3ef37b2478d3a8ef1864d64be8c4cef37944be31329f95321da7a5af77c4c46e25f673b981e5f32e50b8045170e7ba43de36578454fbfff3b2dd9cabada54f8b5017b19f5d987c1ac662443d2008280a4c92f1dd6cb320387b18fbc5f0a5893c0277dcb8d742bb227794ebe0e13da6b233a64a10c572b3b97b022e700c245f494f38e99f1ca2d368d9dc667dd2d8c4e2d22176cd3faf6d2e29edebceb79defe696b84dc86d5d0fadb852455ba6291a2da96fd28b0fe271761d53a9adb4b8e8bbaf1e6592c92f938c20ca855091c35abb379ec2c33a34bca598e0f91b4cb5c3e79b0c6ae1924a9480f21f642bd9221e871a366f97a62186e44fb2b5ae6ecff29437ee6167cb22614014f7f40954d489e5776a64bfc0b0d55ca5c2943084d6a9265ba641fdbbf49de7b3bed23b9cd65b2b6cd9b82f87fdd73d3cc513fbeb197a78aa99f687703ae09eb70e58b017c95d49222c1fc5ab2b452117583b939fb6dcf8b81b0f54d44dbac957d9513c1f1936bcde3d2320ab3aebe69865b177f91722fa7f292786fa4cc046b2748df7526cf6480c7e0a948e73811ed2444472ffb79891c17c23fd1693cd7b3fa3fe1c872607354e6e5548a35d49ec8f12fb57bee450cd63ad5f3674ffa5f18f9451d634a12771275ee0850594f739da18d879b7d662f6d309c1cc55d354eed82e54d618306297564eb8a16d7d7a8deb306eb114cea5cc77067b7191e41e56edae4587c00263a0ff20eb9dcc38af25176d9bea85795e34934647ba749be7e9928e89487ff4d3313ff6f8943d147774a361d3f773f303003c2cbc250d86a16a67ea21ff882e9766cd5db620965d04b9618884a85c7bb6b85913aad57771aa5fa37e8cf99c1549074275122f3625d33a25e1bf16626385d12fb1199c6857d672b7d21422c0a4684338b6b87097826bb5913f27341723688c7cea51903f39e73757ed867941a12c87f6a96ccd555c92caacce3d776d6f1f427719359708ebbd7b33211da30194e73a002602155a2f25f26177a97892ababed6d57c91187177e4b1defbdb4daadc14a3bf0f66c024a6ddabb64e0a774e530ab5161c42a9d071600ae96c405c8514be6fd9f20eaca85c055efa46b21f98ddb9481f04a1a459a0572b58d16fae3c279790697dc02f7744959fe8cb3ec70488e2afa2ad8d34602533e08256af1d441601bcc20696f338776f8b2967de411c580c8967f63affc8cf40111fb8bde2b2f1e88fc479303917a8636160a5eaf7023c0193835891d480720bd3db1e46b7757d380e7154cc56a3ee98a069dfa2221c0c519c8b7d4007683bfb5438437d60830d934d741f264e8220b69a4d31afe215fbb94cf7693a375c644a490e16548c1d960792323755e664f74a2d7f72777ef0072577197e0bba1939fa69cf2ec848e2941c9600e04ef3a1504217206cb574787abafd2e5e5d7014648d9535f8729d0940b80552b3289fef61e0cf8513edc62410965e73a0eb3b0a0343850fd484468776de6a74fb79ba3aea7c06ce4a418b2968aee364226f50393c892a9432beb59a6ff9b127f839f79cea5f8a7a2b0a93d806a26b5110f03139363ddee18d8e9e14eae71cd5d1191b462392fb714942cbc911e9de6762d763bebb14ec62ffb077acc24d43327cfafffcd919c59d8b26a421e038d3d8a24e4e84853c86457ee3aca6b2e79a8f07129985a03dddee7ef666fad357bba65bc62a3c49915efcb5d09b6bef446759b1d58280cf57b2cbb1979588c13d4d242e87c4090aedd0e7c725133047eac3cf4d834fcf63dfb961964d1049071989b9dafa243cc5b62f2ed0e8b7994405beb8920bb3fe16b4b9ae3a741a2aa5bfa980a5e9b9585a55a30a891cc623c0a5578d993e2b3690a3a7afb298ea18a2af0cdfbc4ea306b3cabf752491ce11a298bab848e8398de152f9e45ab0f9774f94e0d5c575e4f89b9f3ac35686321fcc92c30a10af9e7820fec7b6a292d5c197208d732d2bafe63533a486d6fc6df9d82dd63452c5daaa9126b8304ba840be333e984485777e53a8c9bfbdc19c75ca3845b84f5aafb92ec4c0138867268ee78fc0dab397994c91da613b02b639fc3652aab4b1934aff408ae2c619953de58d25d00812c4dbc54732c1165c1e0ece9606fbbf3257f0466c46d411ced3d93e9a8987e396e4335653196d68d0c3d9cca7af0a160e6a36f0dda29482dfed6fde9312fbc34d84c8083e06e208fb8f066147495386767a84a29418a417d39a6ec15f962bd56c8d9792b304d5b1ff65c6bfb5fb374fb814632f76bb5472a4edf6fd64474165f3ace08672b4fb619bc3a20ebdbfd741ba48f86f4ecdbd979a216f80c49019527baef5088bc689fd971bb03aa71d40d19967d566b14aaa8b9361e5c552b41bddba7f1b3f76c6fc8737a6107a709079df923f6f2c47c68c5fe6d30b440542b708a9b919a011ce652089157bcb27480dfb531da1f76366babbf49c2a410476d74ab71f94f2a01d3118fd981cf6b1dd589254dffae686089b671a3a1a2d943d4152868cf53f3f67b6151c8f8194d17f6d0354cb26c58ada56badea791e6b4aca443fcb65ec9f6716a90b078f28a4b5fd102ec991df11695b1e98a2303d21c1f56bb2ae823f0fab80a06bcbe29d917a6cd9deb9ed280c94b6cc8ac57bff9902d928d4f0435309ceccf4e3d9f0d8ec3cac278555473382ffd2d156bc68dc9e34c6aa8d9ef9ee90edcec234772aa72865293bedb1844bf685f630b1ce821a1dd47cec2a4936e3dc6245a34191ca94cafa68fc69e9e21e6d4f3d03504e94866dc0e661d5998f2e2ed1779bbcbdb131ec70df7fa4b310cf532aa7c3fb0d2ea025b4575456afbe012a2efebbc62c5e787400efce615a29159af6e1aaf0ab730c623f5136a69eb6df22bfd1e8e90c9f2278009644d899aa73ad705ba348f2b8f899267f4645f7926c3af1c50b07601572b25305a749d41888aa2ff22436560c771671b26f22642263eed32fa4e0db543b770db41024c394c0006e5bde9a977b7e704630fdab0b6dd4a1ce8c5434e25497735b6a7bc8c7b49d0516bc8445191d260e409d22dfd2215d06ad97905b04fc5b145682f125df3c38700f741808c9798d238ffcbfe2fee8a2763b65b88854ef1537a376796b2af5f46d22cac380a4437d52017b623f7a604dacdaf91f8e4d50280f3a51bb432876d320dd1fd2f7fb7a88ace9ebc1d159891ec618b25b6b802c31f59fcad240c7e00c2fe2588e08b5e34640c93514263311b9168b438a16931592645c5c4ac3adf54784ce232fbdf68ee4a640a0251abb9d2aef12a5c857dacfc7ffaa62f10efe08caed1622eb4b7c3b5348ecb88e949de415708a64b573a744db6a2b5411ecf586ae1ca3acb800dbda662f5356db3108d94026163817510a1c1e334cf5e655f23bde2847766a9703e2899e0439a27a363011902e92067bb139fbf56606365b9dc1ee01d4dbc0cf5a403eedb90c254c95da6f55a79ce649cb2bb2599e5d4d87017784ea09aa1038ffb28b83e47ff984d93bfff1f5876043c5d5e828b788ab378f7e02537931e754129eae25d6ba380ba1ed3d572e5983ce24269d33ee22bed06890be85752022eb7d75b89d2ec05d3117f03d56a80fe68e975941e3fa9e3dee85157ec4e6c438b198e2c4ab2b1e9b82eb03e0ed8f5cfa6614e9473248a3265eb2c1c0c11797c0246aae1287d5c367c3b2bd351837a0cc19f7099531e21b132a5143fe85adfd9937422d22739878cd514e07515ff8ff0631ea2fd693488f71514c9fee4fd4364d37b088a5f9ef6a5f172c60196f04a3ea0e27942444e58ad738be7067d17b072fc9b6326f44ec62e13563aa78c27c09e669b05da71055219a7323d67eead97340a1977ab298bd962e91cd49552d83a49232834b5d2bb639035b5d86594e367cb258f77cbd51d937b53c64b29079895e97432332545e8ef85c74fdfced7c03539943096d86c81ade429eec193bf85b54f344e194ed5f570039bf32ad7781b1ecb0eeb81cc1beb91eae127044b0cc3011b82ef88091f49b93642c36029db45e1ca8f02b5d993693c5228839224a8bffb511347f7ad245cc8a1fd636a57c624435d87d616e9e30d3e9ae508853af6ae617cf14ea4f365b2834e03de2e4fb659cd84eb8b4350122c76c3ba961c159043b1fedf1f5f9ad262ec2715a8a8a5608d344e997e10fb5dbc996ac28996990dd5908bfbd9b55d0bf432cbaf67bb3281717ec7c3e6f219434f12b43d27017c0a2e2c6002e6e2f695d015be212e71db87c76d918387e525c5eea817e395a9469a4eaed23254ac8ed778852adecd036c5ad0c35f41ac7fa7aa8b31a3c3fb170652b6240009776e9f8f3ad3d16915a6eb656d1e1dbdedcbab48b3beb0a5343b9a1d0f5f45c552d95ca0c2e16ff57014304723b98c9703f2c09dcce4032d1f7df51331ca79e5c2d6a28043360b6b74a1a22d8543775fa441c2b0103e570c1be4af973eafab3d5912dbee022f3c81c520b1b58985caeb03f9fa803aec7f2c19f8fed94602543d825da08fa5ae8623f2a3e2e2a2ff19af8dac788fa0ee3874352f12d10c2b215d4b575fa54465cfe39914c0ad47f041ae7c0ed96f68b677d4197eb6d532cf3c5a90d502b5f29b04b13f86fbeeb4c4fb2cbe9d447dfa2db2ec6238957fbe8bf5b6f95483771e9c4c660a1d82f79182a6b135078906292544bf19f0d0a48f0d3ececc6ef0ef3d913ab95eb51fa2e31c4f9605711fc6cf8617f87e8a70dbe3fd57a6434cf9d3277a910cd6d58909269cebf1d8b895d9e052b19d7e6131efcb6d587ec2624d0d0dcd9a3b00197389e641412f106db50ab89a0ec710910ad1823c3b730b87e6688a9113dfd77e032962c684955daecae236bae433cb85151e8cb5c3ebb9fa183717afe78b925aaadfb81d0bf9ea2277d52b313c638d8215f761f30a919db61b66b58ecb83068aab2c2c9d51b4a6cb5e438d519ab7f5495e5859cf7958538d3b9935298428529e8452089598b7b66a0b4e9bd84485203cf3c6a75d59c022e59404453e9f92912929f28c167b34a90a0eb047963f17e50dfaf7ebdaa5b8ff6e66fe0988950eda16c59703c9ccc38b7a38c305828ecdf960da25812e6892e69028e34d536a809daa5e85fdcfbb3f26dbe083c15e4ec0ed929ecd97e6e70340c300c93c8237612b2e2f273cb4917561caeeac8700a064c2d8e8506611e09e676083aa8cdf3bec5fe5388e8846417ede258dcb8c36b915378311b22b0fd04877c32f33badb4aa5572e95c23095c9086f8c8c5c224ad54bdc084497cbab167d370f4c9f6ada25a96b12da675230bbe6d125440b7db25c8b9177b60dd53a549ed178365074608fc3ec50cb607685e9684097ec25605fe9f06b2d6951f1e99f9c226e8e9686935b8fb9cfa63d50866b10e1ab7c3fa71dd324396ca304bd4c93d8c2e245971c0696b0f7e6326aaeb4fa37e374dc113a6197845033d9549a20c3937f8b86b73c298448bd2b12f1aeb418ba26b840ad820a50edb8560c57ff5e978c9f679b1bbba622f3601a58fa416564871b550559fae42d76f046322e30c78353a2da8d85edd73ed88f6c41036f50c3379b764fe385b52e197734ed8fddfd5af8daa15a0ac33cc76e020caaec96e7017d7a4a937e60a4d9930bfa306d2655636bba0c71868ac34371e3add10683f941be023f9bc12593d0dd57a891270f499a360044dd046c23ba7d51b446aa7802c4add7a4f3c84752404fb663c54dd5454b62ed919bad1ad666ebf8d5b3e6cbb41cfa426d1c26f05f7a102efbebd83daf48baac3dfdaf11a25b4996e05fe37334be38a39afe9af1d980142091faf6360b114ecd6ba174d860f6e30a6d6156638e862c62d625fee5a9f8d7cb74ef25ecd47c3a19cc868755b1a8dd0e5d42b924bc19e3be8434586fd7ce3724848f64ae602b908fa3f8ec671a63f1533af0d91f8fced9865f87045bf66e436c02a132cc60e48cf0b7a8b4299ca2f972be53b52828b9c9230989f7432afcc0dcd10df23ca47c90ef980f631220ba2030f4ab9fc41041fe16d031fa16c44038864077d995ee0fcfc0e60f12b357685a1678b8fb9c90df89571d50ced35d690eab96cd6f4ed1b516638043cd0676d5c28e42fdd0dbe574876d82615e3dba0e119938672e0d3e3d8ef6885549adcb622870e1e53c67a1bf8949150d89c1b17c3f2f6981a1dee9dc8e8f0613664a13deecb8c2bb54c0ddcf336d89be1db5b95b668c6601ddd8f0312f729f9893e41f6c6d557c095c44b7ddcb93fdf01a53a76b9a794a16c55cfe06002d7e6f452c52ccff62fc6a9453fea91685619bbb08b601b3e49b1267a3789136d70371ef5d866a0eba4b84e34ed77dcee3c4c4a2414b63139e633db76c030f72f468e1de525789fb89021c5b8a1dfe5e5aee8ac49c4413f1393fe57bd9f92b2dc181cea48f51c544293f19c5e00dc62fb70215b16bc2f8dde3a2e158af962f8f6f95ee1aaf2001", - "commitment": "0x1b2aa1508ceef95ab2c52cdafc6b21ffc1fd5174a85a49892c8986520467ee12", - "slot": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" + "encryptedVote": "0x0a8a2408021080041a8024add4b51990b07ac16361142944c8a9dfcb5643fa0bc02ce942fca08830ed09caa3e8e04e6cc8e86c8deba8098c00210c5f3e2578f19dd9e9910ed28a48e0ad60e7240a728ea1f050f1d366aa3d3475286c3e009c9db8ab62146163c5842c029967e3ae965f59690801ffb8d21144656a85341c05f713885f97ef4e721d832576b8d8ad5758aa00f9e28024a358354df6f422fb1c80dd9357e63b253979b9f0540f8cc413e394d1853d8086fa6b94be1748d4ee1da20a94e790072c08e6ab8e69d2b1bc86aa510dc2b7757a7471d1f1576fbf406cc4cd89cc245ba9f41ffb26a73c0eca8288f6fce6cb4c4bb8a59779ade044937deca3461f034df5d8b85795dcafe96235c82753eb73e4caf0076b778b3d187dd1ec35433f3c6357b576cea2664e6db2df66facb5cff104e99ca713a08b083cac781881ebc62c7c92f706581e2709586f3c59e84320d6a0992b13d6fb4235be530fa1d98e666ea569bae312c925ded65b033e57c56ebce3448141e7f59405a2ed72d0cc37fc6d625b04b55f3d004d10a94422615cbbe1e054eb90491d6b589ec2b6835ab24b91e85889aeff7de5dd56c64ad2c0a7d9fcf7751ae768eac08b66b69db668b6366ac7ba50bfe2e8e260f8b67071330fa7f7a6847964c42c4dd3da8984eb0e8d56deec5951dd06551ada1691a78e87ef375d9942db9cb71122407f100f1e07e8efc3b96d1c8085356d1d50ad11ddc4362000c7234b29e581bb1a0711e3adb188aeebe0641012603f1143986b090a1bb0fa4981d9bbb8553b71ec5815f16b072b7926aeef4fad3a8b4c279fe513d7d57014cbaecb1a0cff83223929790768d82442fbca8988fd6de6800fb2c0e146cab2c1b2682c27533cb749b1601e7d6ea7ef7e4f57ea106405699412c15725675f2ae9ed52a0bc5c342a558e2e9aa4e0369e0e48a83ea9102672f8b918786223ed544130cedf7a21a7bd496ccb88ec6f97475cd595a8643792d7175a72815b2d61dbfb0c953a0e092e659a83604374daba7f6db2a10a01b8ce10ab2d19a03c90d2a0eaac5b0ed0feb88a711732cd742edb645e8d205ae4e3ef52788c513d043e57c955c3351114c46f1c86174af54a492292ff061b53d1cfb724928009c98c71204bf5d78e2e51f6eb9817b2a7c306a136e3de75d579033b63f3f0a093f2901a853a5bf9c9f3e4ac180dc4ede74c77c7f285e178c1d421bbbf05437c01d4454f6f68eecbd889230b38d5c740485243f0dc771b8ed007c04bcdb78048360dff89b056f42987900f349d723ef3509e116007f045d575119a075cac283443db0312276e5be7c5adac8d074c5eb04fb98d9f832b54a5ee3a6121f7d9223f003f08fe817d3e6304a6cbdadc8ca73bd651c40dc46d4ff33a8fa52000bd57ce94f21661e649d5400bc444259175eba3a61b4cd44598593af875537b57334742fe17fc12765083dab06998bc220a3c13e9775b70121634a37f8e05306bca5c24f1f4df798340f98d06c89f4072265ff9c1bb925e17445bd84c1136f6f84b9885166b5c7a3f6f93e272a04405363db80bc6160ef419b9e8a1bd4404c068b58517ad6e15ae315fc5b234f56543bda2ac889b5277f3e66b5e087eff4d7a159737f2397be9aba4f05ed0a46f167121884fadd27d3a1675b628920acae7ad41d49ca70c37110407031d1a762f62e1450b167094090a435bcf213aa5dd5145581e42fad0e60c73ad0e81eaecfec5d0e61c4e6079f72d15a0a3daaedc308adfb004a0b03d4d95dce6eb72e9aad098017b6a57466ea9f48f78bd5f79e5c6ac19b97c466bf5684d28be92cfb827bc914d0bae5026baf976cdbd6925c5461432e8b09193d805e7c06c42379f02dc6edb82861a86f613c8f9b3f625b14f52ef890480466623471a83fa17c3baf401f389b9d35135526cca54ed15c2f64d3dc38321e3fb94d438d6b7137dc21412c5ea13cdb77bd07be9ac2ffe70f00917589a88d100f58445bb5f2dddb9110d5e5acb3eee30a57beb0b73ec12995e7d502f5891698de615b2fa3ce0a856dbf2751684c3d5d2980a601b62864161ebb4419903e030b4224a99d2eefd6f463b9a3d4c84fa8ae0b52e001940ecd78485e26083f6dd8a8505e4c301e7b1339e1dc56bb8288dd18fe5b6a352dd95996b32a2d99b2fcb33b420f3cfbc6e8af39cc91467044ac6f30597eeceb598c576a2e266260f099489d317999196a4d8031900d9efd662dcabf0e9d865100c589f12e6c178fc1b9342f3bfbfc560f477ac13ff4b925a5a23f0619a83e8ea781f4232607aa6e432026c0d2e8f2340a23dbd3ef0222e8914d7a163ec3c68af53cc49ab6a18369a70a0daeaf08c6710acb730bb76756ae5393c04d327a57c38e018696a1fc79d9ab672b695c58c55f04f2a2378d5ead2ab0554b35c7fd9329ff58b58c1fff015e04cd31550be6f94a3f366d5bab46844f1aea49faaeafc71eea81b365c47370a8fc7b3c8d151f8f96ae0212bf0f504c447c2ea0ea8167726dad6daddc08d653979292d3b88cfdef0ac568cad4c9f0d49543b6b5ccec6b63f556bd6428520186dfe57f69122b8212d4c2a6b1d81086172aab051568a9c81d1a8860226d0fa7e1416b6650df2e829a4e8e498abd9317dc888e26402d35c95750d381910802423a436712071e87eaf48c1f0b6799a74a36a5f783d6deb9443288951ca6eb418b66d660bff8216abb9d3a51eb36ad6468fbba5b08758c65eddacd41d114e069b937f0546ea0bcaef38ded6a5c2de3c7789f86a0238e614d1b5ca058a1cbfaeb96e1f995264c8b93e6058f17ced1d7ab427cf874ba2bf6f2ea2c9f1ad3468f580e2f836dadd94fd9f3444e31de335dba6b464ffc158a0a73394f25017ab3103963ae177f90a7d4da097c0b10f6dc35cede984bd46d1d84b581b50398a7466ba278bc1ac6560d6372759c98d984eb7b55f68ae9b34fd0264d9b3c93b0f1af469327d4bacd74bab3c2ef635540f20683483716cdb78421813053f4ddcd7601d975848338ede6f9dbf36e07f4bf1c04f9c801db71818cc68d11cdb9f712791e0c2afec1ba7e91a7f2e679514f57a7ab2715514154df41cb307343f1cad6b4ed4f99245dc4f4efe05ef99685c407a12771b2be041ec2c6986bf776039fdb009da2117be4f8506b6d45246a55ea98be6f750016265afa8184d2a4d16061636cb0067f7be376468b7d5a8d7d9f3c5e6fa8e21ade2695e8aad1fa932ee49928430b8ff30d504be3de28fe0493fc2ad0b099cbe3a39475c70c3ef0a3c8c662c99b382987ce1ea8964258bcfcfcddec7b8f91dde1c1252f91447677838f4077e64fc7acd861dd3001f49116a4be8cefc47a27ae5f9293501d478e2a7ad89e6b7a1f01360430b75705f58ffd45376d27c3dc81734ab6d79eb6cf10b94c5694f6de7ac205989452e44db9f2e63f68e736dd44e64896a4b76603077fdd30140dad9cbae53f187dee6a3c91fb6495bc681338f0ebcf96686c94be5ba6e024f8350b35c98ff466b9c7a1419155221f76fb58bdaba476250183f97dbbe13ba28f2bc20fbc8e98593315499cf7590c929562aa627838daeda93943a8a2d99c80a00d792af2dcaf711ff7477f9ba9f11687f945dcc3bce8f57439dda4623f3ec5a09cf0c510339354d72e3ee5d2fca764e0caf1d6cfbdc458dd4996a0c4005e1465deb389d30d0e55baafac37e0f94c1eda3eacd70ad8a3f656b173f1d19ed8527ad9788ca090deaf2c83720272d9c49e371843bb29ae64a94d7c2264bd4545d7734c872d6f58bf2af1e73ae497d3d8272cca68b48426e8cf1356576e529f233f8267841b6e24ee52068ef312ed06292cdfa025e84159b09a4db8ac61a12c4dfe947bcbdd245b5396ec8c6970ecbf9058f1daccb9113cd061d7f9e15f15b01207d04a4d814fe66bce52b1c243c63eadf6db06ac56e03d2d91feffd0902a08fc0b3ef857a496392d70c849373f47bdc218582367b4366fde1f525b15d1e3d9eea35fc89259a3774a9ff6a11dc390f8dbf3e97e8f1e393ec20d4a52dbb5b042d5a7a34f0c3a0f9afed4aedd11ade308e7b7b3a016a93e3f0ce4522a4f64e45cbdf5932db757629faebc461d7d1876c9cd03a430557ddf16a6a16574494c275920f5dcc94e9d7a9b82b7b66a8fd4bcfa924740caf096976e6c7a79eb3ae77ed6b6c6d473cfe8e3c4cf12402b757c388c99ebfc4db816322cf047b8c4b019418b6b55c3078508443640eccea18d7b50e6fc615e2b35a388749ffe9648351fd14df28078a959e52b51d3f7a5a977ee7e2567373aaf0a353987eca56de933259ca804a394644d1b703775c6b4ea7591ea56a0ad8dd639b46df5894e0659905ee79489d3653f7538c0923704550551d467396aa140d3041bfd9bc6dc86fe17c585d217127a55b63b780b47d4eec751d3db7e98df5f066347accf959ce2d970ce8e64e4f09ff30ddae8366a8910c81f76369fd6c1e5209715bd37bc5ecc44a88294c9c0abf39f9f0476399d72fca59842a8aa0c6565ca9ad746d0b0800b11c3c4c7f990b998b6992432a8662c5caa15a27ffcb8e0ae3dc4155c0a0b73306fed0a7a0aa9ec68a49b5fc5df4e67971e714a1ebc4a5eded05fa299d9d3ddd8535c3035664361fccd2092427878939de6ccdf54826264927dc1199b46bedf62f9aa9993eb7872e345b041187ce6cccf63cc67a37565cba81951dc47f67490de88d4015e256cf670bc25b24792bd7b795664376eba6e79e1f028241fa345eb872fdf3b5526d5873c1b8ea150f4ea693a8059046f9a5f8d6980eddad36415377bb072da2c7fc73859de22a921d42d6d64aae5698e10a7fee1d61c5cda22a1d329a24a2c5c90528304efec9ae34bd219407d6a32fd58da06bbe1314690ca17d369adfb846e01b48c044bae7050a3f317abcb66e9b3a7b821ef58e25c255e81eb0790e7c8cc15e726c68650ace6ba7ec42773a9ec037cf16f5e1d4f8afc1e961e7df42f005cac54dcbfa0fe11407d5567a0a48458e20e205ee74e3956c2f8c7895fadb0185dbeb6e1a8e5727ff72f0b6bd22390b2cbaffc46a9a0e6c1ed11b690529dd39891e6e4b7888ad1e7bdbcf99d8df8b3284ee86c0d6d5bf10ec24116099f092076c4fa36a33017e771331d6f2a15ad084d6a3b200e42d1e5088ef3764c4a7bdc74d3cf00ed532e7345ef7d953a8c2f48c36f130d0e6194e80f400b12407cdc677a800a7711ad694d0ed2fed58e7b800abcf5ca685ac65be9bc00964f630bfae20596d17aaab8dcd873aba70af52e2ec85ce46f13dde3af4a5aab56e71d586c57ad8bf197d1000ac159cc7a5b8e1504bc867f8cd2f6ccbb84b33e2f8b718f4f713456f0b06cc2dc6f810ac7f33eb9d2e9b60972c9ff5f621f0d3d78cfcbd196dac94b73f499e42a05b812a61891c93dc745316c753ca1fb3891e03f6568065692100c094d0f335fcde5df068365df2c672c08318c3b392042f2196404bc410a2b907a452610fa7f1bb3ba1fbfc961608bdab98a8b063385aa787188707ccc230242b965fedfc43ded80786af34cb966543e8ec521e0f2bd151ee5e96377f302d5c6001dfc26090c1df0cc6ea96836ec39ed115c0d43f01dcf2354567511fcf58c5c33dafcef55a16fe66080a72dda25ba6d9a53d08d3f3f12d8f1fdd44a73c6ae6025f0bdf8977e8d7921103c93670d1c90cb89d7a3237a7b507e6f295fa1c0c8d639b9070aea64305889974ab66b85527c59cd71190c9c40f2f040be3ff366212889c89957a5a254fd408d33aa48e78e789e4e4bacbecd575ee20b90f8e7bf331bd64c8f81ae4c492eeab65960c745eb7ebcc7bd4747d5108f6c3ab18498c50c89cf65d69e16d16a79f66558ad3c190f8ae318d353cf91af5962378fa4d2e2b1f667f7e837cb69c054db1367cdfca5524d2ce717e9ee53be4b92fd498d92678db29e62859bfaaddbfa4a8dd169ac94803dfd26f7448d4b13f86b184dcb63711e1647208a3c093943e44efd16909f568e5914a74502a6a05853dcf61675b7dea8479da00c3bae88f7038b282cbde60d3a9d29f9d12a5cd225bf42d4247ca93da001634256fa7c76ad478d71866b1aeea24a8b10c6f24737f8c54c65c0cbd9c4a25f7a294f45598d32b83ee4010dd433a1c108496cf785ebab20b00ddc2d7594cf9deae913ff0eeddb91e90a636622e67cfd1fecce3d11940cbf7e5aadcaab8d8c2f81884c157f4c68e9011dd33a8814f335ed93128520c29bdba66e27dc99840a9b00c293231368112e5eea48767a43712f5999ff5922a0132aede9db38664b48c27714bc32a6ba72f7846cee9078f3a5fd0bce9cac5e45dcce76b50c23f75578d43c04cb4b82e41eee94d7d126c984252d6d7a0f9e8a38a0c44a4198a682018fd3723d796bb08cc7a6965530ddb53f06e91f83bc12577aa96f29c468fcc266d33a5c996c2501b4a21680015dd1ec6f9abfeb100a761856312e6baa7c7e6d54b234476c8eb39763e2c27ec8c24ace685b8e488392c8eb20010a8a2408021080041a80242f23a0a811166fc584279fb281ba91bd8f5e88b05f4a3729e8b17bea88376eb7f3c4801a0b7573bd37dd84285d9a371282a68892d01d93ce36ec7ed22a8f5a613513bb5a418dedc718222be9f1ba49efcf51973aaec54232b897d789ee03b3b46038362fac07ace44d88cc94fccf785a49e17a0c1ecb708eb2a40787cafe0505f0729ecad57cf010234aa2f32b57c690126bcb0e35dbd3264264b286fcc5c6d71c9decb78f08af2ab749b6f15b8b180b199002caa4c69e912ff86115bc7277513c401a58185e5156cf460381da4baed7503136b2a2124c731e1e2c1a2115a17e32482e628e5265f58d500ce6fca11af816bb4057f4db869b9605215894f9cb9fd850d198d713e58b37e7bd1bcf3c193647c0ce1d879c9294f5e8f138bc01b120acc1f69e05c1933292225fa44dadbd5b721cd0a26294e418cbc2c4856ca66ac4d250b3b68ce2fe353427f613555644af03b8707d05dd46732e9196969f392b000ffa97623e338c7a22f061c31f34816f174db6d06f9f850b1d8b412c4e7fd91140c8ea537307136a598e6f605cc3e154ecd32d12e7fb0c327f7b3f96ddbab9bd9c0daea94a05c9c038fbcd04652e189444ff2ff4abfbd6ee37da47a233b3efcf270e6a5c2c1167a62bc77b495d9c6ef1cab130c7f26a4dd1efd512d7e42d608a532286791a7fde9d3dde719b954af82fc25f696b2860c18373f7e255094b7a891b32b5db01dd939a5394907882035c4cf55435dfb50989989cd4e67f624b6accd7cd9227f73eaf79a29fa49d269bea2ce47e705eb2b55b392832427fc75924a824e6769fd597b27460a354a3bdd54fc8b50fc0e4a96460de155f8262d7735247b64f550a3476ed27d9a893505d26ffd0b52635c6ba62eb86dec145205cbf81443d214f42eb48bd1be78071f0397c74ecbada883295236f597eb1af0bbdcf169ed0eccbdc0e0ab5f11e1356c0f54b754c50d5029fab5cb377b5d1d60690e0b2d0583418d5b68c0a9e2620a9cb0c5d0c87d7de68f9f35f683e6e6edbbd76eeaea5d6c63346db6b4eaa0c90d5c3df5193cf769fd778f20f826acc3ac67356d35a137ec0e384237e7e1f44c519ce6cb36d6aca42664381c695062eb6bb558c8bc63e53adf41f97fc71125d6d18cf52abc08b70122608de89aa24ae99ed94fc9e4620ee3635eb872bccc11fbf6a0370c47fd808a5d545b39fc5c2d6c889fead20a1406969e51f70420a62303f7dc11922bdb1219b2158743ee85cbbcfed35b8f434d1a2443e34956bfb7710e239829a0de49e39b5501142cdfaa5af80554a99e04702a9d996beaebd90f5410faef332558b2ddfe6babce9cc87aa8a4844fe8f481b9554c2b1ff1a2636b9e0c6d2b85f6c55aa3eba8dab1096a9854aa63c86f06af75becc233c2419e5d242d7244c34d580f2d003097778624611c64f76df5e770be6fbe4c807aa4190eb26f631a1b3fb0b24e87c341171aa4917fe8e3272ae4ff4b0e4e1a0ea7bd60ad55d3d45f1772b88a861cdad22b025d06ecc78601b38d4b811d2b94c8ec651c33c217eb671cd2111ca0db9bf8cac4512cdfe33e91287e7449fad52e502d4ccbd7cf08bc72fc6fbf29c4a0c7c6c029dba23bbfa202c77cd8188048dd30e88a37fca65d35e443c4228e82218ab851fdd79067a0e12a45059817d0ae74289554f2c764853148beebd8cd207514b09609c1342487e951f54bf1982e79f2ef2f385710f74a46ff36cb3493ebcb9206ccc4a7ae661968afe51e710140c50bba251cc0263b38a39dd69350ef8dd1090b13a8fcea22202965565bfa5b51d67c569692220ead7ce0afe594558e13b89499861d0dcf9c5f6c65c2916892e2fd667baf58142893979f7721c38d7ce9ff7b8b8aa445a2d36848305f00a472dd5bf72b6c35b9eb4521891bc66fab9daf1ad0e58665a77a002951622cf2106c52b70c3ba8d4c0f3d28e687197a5cc0a434efe8b7effe68c31240246b8e0f344524d454e012414bfa6097ac4226a6b67d89392656e7a38fa2a8e920190a86b6d1ef1f7167b7707cbf72a4e8659334bac5a40a35726fdf5c8f12f9b43967ab1724864af1b82e4ee48422b2ad07e5e1c5f326f84f0aa444ca34f23c093da461b48da59382b5a43e77476636dd4137126b3ffcd6c5c1af4ace705be38aa32e3283ebab929a0b4d9c52966716f82b598e441718f07c72834c17ab7e67c6da680de56bc8d3afe6e1f0635a4897caca22543099d2fd371a05a2688d0c08725eb42fcf9b0e22f6ff2fa573a63b4238461b67f0780add28cd9d49a931bb9d21a0a930172e0178bb04e81bf31f9a4bf7090ccf33251108f9467a1e2ac3f160eb3cdee97e27cca2ce41b9d0acaff010a567f92e9e9b91360a9767ae6431267679a1c17cff52690f6ee43380c2cb99f07ebf135adca33ea25a50eddc2429746772308722995e6414279eb7adad3fa94eaa77b8594d6c62d0fce126569e5f900e4869d3dfda37ee662d34f39236e0162d5173aa5a09d9477c21a8a653f742cbf0e54285ecb337b9cc3fc434d2bfcb5abfc6bd806eedad194fae69f4f2462047eef8416bace7d7b89a4abd4effc7a02fb1cb39b2895794afd658ed1af50a8712a019c382b909ad8f2404c9cc435ed2d2ba777c1ee1158a97a8d6ab633176c7f78acb762996ce1e87d0b0f3dfd58b289ab4ab6cebd1986fff2fea01c9f79316db2037fead9532e7095e94bd2700f3cdc07c0b313fed5a035679a443ff4a431e2eb622d01b966cc7dac92ac494fc9d610c15fcf67f69504d9f4a1f51ce65a4bf4eb5098f272424c99fbe0e2d611a923f85e650b43868c1a56ab77a45fee30f9a8d5842ff5a0adb0d29882fd36c90cd55b6d81f1056658ca889f2232274647fb1bc63359488596b11050c8fa229ddd43a0fcd531e250a7331f1f058770907c3a06b0a98381ad9670be63297f4e2c3b3cefdde8406537dd88a274e9b1d377169dd4c8e6036ea620e3f14c04c0cbde47c0ba122a9ce616fa14b893ebdf7de3f116783e2acfc9c4588b389aceb9c8569df953e3842a2d399cca7190bbad8fe339455adc760f179d6237112bc94e272d0bd11c96ba1e85f2d5852fae45b5eb3b7296de91dd7e13f56133b5f5467ecc4b5f0832933b9c5f851c3c63ad6c0162e13c121eafcb23c734aef8b958a0af0871b1bcf5aeb4792829ca47291870608f46faf2a11352f32346dac435f9876f471e3c5a2881ad3f17c2567619c49aff279938254f9b51bb4ff64a4909677ef194dc7d32b4671adea4353d02b33c48fe8f919ad43cc2b47271892831196ab8937a8c53e7f4d3d6a537831dada5b6102d46944fbcbe33d9e161a2d43c04f218db620dfbf93d08f395fc0843b8d6531839d73f3c7d75b260cf1a02e813d701fd45eaf43a42320b86e13b4f7d5cd651ac131688b2af5d9c6add1583d48ebed22484b484b5917611efe6c0d6668d128c88d4fe578d6b1dcb72aeccf9d977b9f3064a4fc00db1822465a53a85f8b2628c25d74a6e6fd4975384de31e235d6ea568b735b1fe21361c905f01960faa545c685da6e9ad94886cd69d804d7a4338b79ef46d0fe539daf0ef0b040761ca25cbe966296de655426994631f16a03eacac05fc940d2466bb8f15e741c0b9e8946dff2bbac08368ee162fc839cd2ba6a7a0c9ee00a47444dce731e5eda4b8c088e873e3fda767f1ea92ae70d14db9a33454b2b4bef565ed66e1113c1e944d2bb64c114cd24462123d35fbe5bbccacba1fb7a5d714086ab52f27fad361f768d9b03330d762bf62e8f2d79e20f9e2c37cce8e05a3a00e136ed196bc5b9a8a6511f36ea5e7f80470c75a2cdfc1a7911d442622d44e97466dfda8a8505ff4b6732c3a6fe195be96544a7b5e72b6a9e129fdb9cedde0f92fe9ce05f28a178f0233df2dc6ebdb8fe36f45e125730ea70bf76f1a3a1c0f9488069d32c1af15ed6eeb46bf316cdaa41c6396ce6c4c97d27db0a40d406aa7918198088f649501624f03a1a805970aa2b2303f9aaddd4c552c188d30519b9c63c566bbee8ed79bd1d125959d0791e74a5e066ab9151745389fee95bf6cb7801b82b6f73c72b271a26f9b27f12df4cff0536c7840b15f3579bcfa5aca94c70fd062aefb6d06b5d0bb469f309ad4d64e98c4677870286eb76243b604e7155af900ad49107d3c8c4b4382ed237239c35d208ae06807bab8befc18c57192c18e7e7e541d879b05ebf7629d9a4c1ee11ce36d8e1bbea8d88bbab64e1991baef2edb8b8d9d9814dc78793fce8d9d0f5eefd04c5cf8b9d03d321fa2614ff73f4439a134fa347226b19de69c8256e3c96206cb99d7f765136d575cd7d24ab2055dbb7a69f46b2ceb65c2eb08ff5a1554e89b4a5ca59e3e94f20e62fc85f5d08552850ea9031c7c421443fda7d1a90d6bc22d1ca3946c4aae94d0ec9071f2a8e54d3fb2ee2b8df55aa61604663142a8866f31c49fc9e6666750d2ee8ac320029aaabbe2c3b95463421ed61714f0ffb8062548480546fea93b41e92b433e807a18fcd3e27e6dd4fe6b27a5098f1e3138650a10b834c163c2643c444b6f727a8333e87b2640bee7e75fc030bf57a9db53621724e84345f7b708c15c9e052215eabdf9675a28629e28ec7be2a4dd22acb5e4d95b16c9ffffc49326b5a29c6b3c9672b686fcb0cbd99d9479181a08a44da021e7a9a213736d957056e2a01af31333aedc45d797d2d6e7244e5677be17cd792fd9e86e1b61b50512fa6d0d2e5d795c76cb74e8f86832ceef20769bac4f781b8995907f3d20091d3dc8845de056e317e487f07b0bf4295ea7f95d18d32ef5812b0c9a78d155eba67a3b0446ca49a9efb0ecb13a71e01476c5fc2ac724ce5369c821b7e0b6f418d8577398d8e3f44d7765fe9e75d7482e1feb651c7d00eda467437d2d9e3790db8c614607bb39cfa22ff38eff7d71dd68b7371b48f5c5adc4aa28949f3469e120660991ef41ad999958475c0bdb9c6acd60000e2d3e2d5c60b6af8439cfd02d1cdf8d1527250e02f9cfc499a54df128ee5627c185ea2115fc583a068000592855e4875d4664ed7ef19b61db6a1d571972b30701a36d6c9f9183e448d7c1119b40f5700b94b7f026c0ca6ba1dcc4a459b048a7042b4674588d1d2ebf492daaa13b09b53894261d36d74388960340061aa81e924743c846f1dbb0ed7cc62c6d7dfeaca80956dd752a8f58e581ca2284c95d1c362d1954dff1d810db0754547acdd6a050ad9d9f3ee1d033d90dfd5bb8a0f8023a3e191a91cac5de4f5485847d84cf1b28f21958644065e83fb368042c180869eebc867029b15c973ea7f63c6f59046975840616de9875c06e2d5e32ed14fb2d10c0a7713302be7932fa3b4d23e0a6dcf9eec10f32b32c20eea5634cd4eff8d13d0dd3c5603178c730ae5d77ccfb1a65735967afcc36023103becfb57421adf8ab1a9a3de840ca6eb1923e57e1bd462cefb8c954058732a1609b64e4b4f1f0bbd67296825440b889baf5460d8c0facb79dcd919f74ebfd033b5ec17694ec9cd4a6af56138023a861f37aabf7b108ef1e82bba3d5f6ec09551de58ac80f81d25506968e90bd10553799e17e45feb459612f053cfcfd3a10d6b3a670aa11627f4bbd1ccefedcef8ecf59321c47a4c8dd81e42641ec48ab0456e0aee721c590c50d991a5d1a5a9302f62dd949efcae759f38273ba13a1213657db777d19043c8ade3f286ec1e91511859f640871f3bbe4a65bc9cbd989b3c87a348deec985426f3e54940b9b43b2316c21d22290c54667e9d87bf29519552ae20a9b99f6dd07247de31e89dd2b3c20d076d7a8b79b934de60758eb1d5d1d93e653438c0d05bc790f75f66d7420171fa897c87999788df3df8fc1fbf55fc32dc98ecb4479575bf616626fbe394668b5a5b846529435a7b95411966cba55a65a86b5c9d690e88fbad7d6719b3f26564e334b545129e7b08c0bc2b35b6e2fd17d817e2057b57085e588b291d79cef237dc94203d546db76bf1f05ef60fc38097927999e236cbd8b078a613da28dfa01352f66abb6036cc1792aee15e36e00631ceba8812caf22fe7cbae73ef97f925f7c0ea79616f5de510f186777f05be016f08171241ce3aa4a9b97fb143603ecd1f10c3e8cdea81b636cddafe72057277e897004fe870f28466cfd44b6bc3140d3e5c4194997db84917fb07c691713cfe50a54eda8d8190de30c778198953b37d01195e757389ba8a74ebff2dff32aee40091e5309a9e827abd9776b8a571aaada12bc33913d698bc765192e01934ed0ff28f94a5f34710272177e5325c106b23040e7d50e1bced5466ca8bf0f185b79fd45be14ea623e6a18d0b5489011a7688ed4c4eb921c48a8790fac6bfc96c9c7a32ae97e90127fbab8f3baff7faa626bce463cb967cfbd0dc12718027fa990ffd6f3c2985304da96d081800cd268d74dbaa6daf245dde3743a7f3347f1f36e74f89ab4a400bc762e666968c20a273d80059441aa3cccdb67e626dc8b18a278e39e2bcda6c2001", + "commitment": "0x1943df9816bf3590226989eb2a997504c6ba6328e7cffe838aebb7540d217a01", + "slot": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "parentIndexPlusOne": 0 }, { "encryptedVote": "0xdeadbeef", - "commitment": "0x2c0810e002c4bd5c29a23a8f66782bd813b35fa5fbe1c1a7aa50c86e89c00d44", - "slot": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" + "commitment": "0x283312a32cc00d80920a684bb27931dcfa6d24cc48b0677b9dfe546dd9f55acd", + "slot": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "parentIndexPlusOne": 1 + }, + { + "encryptedVote": "0x0a8a2408021080041a8024549a8ab7527c5aed12d6c40c1a5539175091ed717127f85705267cfc1ec7a3a3b4126235ef9e57f5566a924785d802e1aa71953ae24d661ea55abbb9b5141c7d065a41d67bf50382c663dfbac81c1a69b84f2694c48cc7ae0b805c75af42971d1e18c835d9c1859b353fc6f45be8c2283b397de437822679c2173f869913513cef0025874c91295701d1dbcf1a6b018f59a333ed3ba0907fe0546a963a751c9b18ca459920aafe6840f44cb39ee871bed45f07903025cd0c4dff68c937b98d2fbff06e41cef40ecaf44422e350a26b713677c7f3a7584cacbc188ae759e54d5f15dc45de3844ec2411f1d73c580762efce2b535cb8a5ae27b5bf39730a7d5d3269300d58060012baedeaaa1d0f929edefe01dcf7c1405972e5521a84b21cbe4432b9b07125251f5d0c3bacdf1fa0c7450db174f67ca5a523c04b5053eab107bbb9ddf0ded0be93ba14f30e2df5c8fac3fc7f8425309229788ecbcb173356fb128048663471b2aa253ba35d8db3ad37351c031458f82cac02e632cdddc86cc07f45413fba47d2b16d1230937a97fc1e0eb538590e5817bbb86616aaf248eb58ce855fdf3eebf2d442c1b2862706863ae1c135b960a3e59e14261560ce0e934156407a2322e1d956622f667bd5ace762e0fd82ae709d2555920954adc21a3468c07265e9c1c0696933683ab7f88a52a823d344bf99c0d614c8afc35b4c4ad028c947398a97742d39d5d81c080a439a248e957bf9c92a19e222ba7dedf4dc2480e385288554e5ebb6499a81aa8cd3a92d73fd25b6cb49a440bbeb6e550282482f36e1ddeae61b013e05f0932ad97e2ccc7bf21500927b2fbab7f30ac13e73c88c211baa06c6a09136f07608318300bc8c597ffd81525c38cbeffbf06846e6ce8b2fdcdb868f3c92c06a62d46f76cc0ee69dcfc45dcabb3dbaa5b2e0901ef4f098f9b71d750bcf6bb168b1432f56582c9b27a59d79934ef7ca3dae589924466dbc4869d677bec4c1d24a3a5dddf4d05b246d132071727be46454e60c96afe00afdff9f7dc4c6a90289f8e008a1126f8dcb51413177d4cfcbddb196d2dfa6135d9bd05f901eaaf4d382e0cfebebc235ad5a7a9c02c4f75679cdd8db2521e06774f98165a8e22003f4ca585153c3fab66861adc977e17b256569a30773accd70282121e5975cba0a801385ed1c4d074d5713451b197d35e9ed73775dbfdfa2f725326b7a076a78d39cbbc83cca6faafe70119e53e9ef0ae1d0d72f0ecf281937236f1266ef2d99e293fbdbe9c0f46bdeb784843397978ab2fd73364b328bdf89a19572ad78cc8cddc473e50856f2edeedc76b0ee21759e1052381894063d8446e6cf5c962cef2e7af179fdd7846d50aacfada3912385b875b3c37260d6c6c8a962949685889193300f35a1b895d3f41dd86bab2a615650372956e9074817e7e0e5938000d0f3e53e37668630940964ea3e9b2e2617dc02348a9798f10a6c0315c64cd90f97c8d038eb735c8e2e9350726bc238f693060ef7af05b16d717b5f09f4928205d91b57071cafbf5508ab0b21e39db8ba69480c3907c44a3a00f9639945b4afed96abc5ac988ab5d09f5a7ddce70eb2fc0d5e6312d83e4ffc72f2c9e1c8c53eabe8db2fd3f459b157ae7570b0b7f6377d1a77a4fd6ee4c02405c2d81053aad72e10f7077d9b94177a4138ef933266fbe9e323322e08b890a60eb3e58f17f2cc3129d50e811fce022099c5d742a9865cdad0aeb1d85dc1e2bfaf999972ceb1ff777d08a6fd34d2f323719d0ef44c1da40345581a781609781a17260393139f064c8230780949d425a48d402298ec75ce97afbcbca547ce4e7cad7c7e1c3a39c2ceec7a05ea2aeb96aea12d68e677c3e572c8d49c5084c0b6837c9ccb469fe684e50106c0c395f9e3e47d4a1f09a771e4b6b25f2fb6d68183686919832882928080a2b1a4d7ba010e9f930e63f26d1cc65d1e17efc882a2107c15ddaeae172fac4e7f3d48032c2dcb7583ca044013cb572152e91cbc0d3cc3a913d341bfc3a5668fe431aeb9f0bcb9cc1d93fe1d24df6ed60cdb98af158199553f20657bb2c7cf3c4cedafe0dc828dba64acbfef766446b3274bc6f4a662e64c903249f897190d68a274a08dec63a341ac5d1c9ec16ef3684123f7fd7e677db55058b8260db55dee3318d0cd32dfe747849329644cf1cc4391229474cc5aaa4facbcf69755ee4fb436f4ecc66714c83ba341868a039e0d7c2edcf754500eb8fcc50d2a5c7d037488db6000e8bd75a6f32dd32305ae068b91ebd312625c1ec1a394dd4e76c4c31b6e408912320b91f474768bae8bd38cab3db5d2011920649bf780eb01959e2569cf89438110e9ca05bf9e0fcf74001a81c387344e61c25dd823dc22b4e54fe75041b07cc4115b413c81eedd2049e5f8d02d0e8cffe9f4103b6d66a1c9d80bd84c6180060b3d75694195868a844b988c2db0162069eab103f3212f34b0b552fec39634f84b4f0fcc06704e645afc9793c977cb164ffe9315ec0d8404f9a3d12c3a3a38f127367784182b0eabeda1a76ca9cb361dd5f9f66562dcc3b1e31169a3ec2f29063392f74c8ef20a0259eb4454c869387e2c6f24d43223d9667847c3bea17eb49bfc22fa2a9f20318068857d6017512763b6af8026b60f8e2dc2504da55c16e949699794abae9eec79ad531cbe63c22177bffdd6411b8042f1192cb0b4c2bd73a4b30fef92ec5ead65765bf663c503f19d6f2e047e91b453966f688ac7230e739ef1da449aab1843ebd90310a04fd59ef453c059f5b3d76023ba233a8a44de363aea219a1aebbe6f9fe1a982cdf10eab110c888493fd9c9823e2852adfc1ce31d8e8b17ebc63e85fe68df3b4174a4282b90571283fd57841e27861c01a72933f2431b48ee6a7e68519ad31091107a1b3532e71a96173cadf5aa97b204f0512db8711e3ae4798b4eb7ee65559439976da87f5cae5c827daec347190b8912a56063289d41263e29aefca9b7644a59ab190d52e205c97e22c43146c2e210bec60a3f77195ba1f1279f60113c1a09012f421a389e26f365950b8890cd7bf5816449f57374963c4549d4df90c0d673445dfe918bbcd8c9162070205c21f34030b3e1ad79edffc9337bda1d13ed61a0a124a3ddb2cdeb724aa5d81e646e51ccdfb8b936ab6f572bd1adb78ad89d823c7227241667be9279242877dd15ba5b05d940dda5f5d143afb405f9007e7052c3f425e5e2a4905121f7176d9a7639b8ee41d40659a90d139996db1031528bfcef80f8fd6f346e526ae5769ced0b2479c0652ff3b7ac22ca16c1202941549deccac42fbf36be58bf665560d413ee30b23e04b5e93905bbc23fbda4cb5f7f0f5eefb9246f815b5037f56bd26368e50f48346ebf259b873621982f4a2c81bf4bb3e003b25fd238d6701b58d8c7f4b0a865fb39491503036e6fe31bbc20b7d670268d1881e7efdfd0647fc93c0e79956569692929e46dce1397cc96296a0ca40b3738ed94793f825e6f8e77d1570d37eef2609945d41dcf079005102eb931bad3d1f4bc5f13ad4a1ce979007dd2afb38e3c788f484ca334c67a6efa5957d1fac5a3165e1564a96191ac508627809be59cbaa1a5c72865368090cf19d375f99c72b4cdb838c15e557c2fb613c3e078a2d0469847b81b600c35d369f18175f156d2e5ce3d0ce93526c3f0cf2f7cf4bedfb51ceb14ec6f6c045b9fc140b885f5f11595ea9620e8720adf48ecbd48d4f665abf5ac7a8c8d28fbde919b38ba0a90ad643b7ec16a6b5c20ebd1ab64af3643eb5ebd0a89f3deb75bc4a5aa849e3f2f86fea84d26efd79e0ac80f75a3b193f9313ead0b4ea6dcd9e912abe3e5b10d7abb7f96ccaefa141d10b11f2baab985d98e7fa82fdb61b1d54f69a063a889efad85c597d3d09f6d1526dd3a4a9a2e13eed472136e53017da6605a3bea374cdb5e6dd231955f5375b91977ca66557dd8168c3ade14e16d040b7b9e23a5c4052064fbf59a1360ef28c6af354ae02ed83cf31bc497df009baa3dd7c65cd462f639b8ee7cb6089d604a47d7152f47713d2bcf44743283ad71aba850ff8331126562a11b2d5bf4f09284aa7a598583166f8eace6b59e6007cc65849779ec8730927735e6d7900ecef121e34ea80bb110efd439456d1dccfba832eb66e2b8c9328b343cb0df789e83331166d845776da9cec3dbd51f75d744a7e524947df366e3eddb52da5e97f74993bc5a88d94a3810be2cced09b45063dc18f65d56d4873f1cb1a05d932aee6292dd963d017d8890e61c27be87af863e06f4fab2c1038095613480ce8f8dc3849d3208fc9f24170295b7cb34d8fd1e7ba10dec96fa2e06d6c4632034e76f4401fa8b266e0e2178dc1e1e936b546e046dc84fcfc04c4de6ace008367cbd08334e36ba32fc71f27edae7e924160b1f3f3872879bf4155827bfec91fe7a694aed5b64d0933b4b1f1d43b55deb77ce83613cb9d136f853f04ec28b4d10bdaed3a61b865341a29f20f0c158a1341d26cc8c0c0953a9bd0ab49235c88fab419e0168b0f2254dd083f019aa5bb8e83b4f1b86852dbc811038acce206381cd6e766e2f7f85a50539ccc1784e2e30faef0c2eb41fe5357376d69e77c9aacdfd76b4da4d53119b087e889b0c8f93a77b9fdb2e04b3a12dd02a71a2e0dc339262141fdd71c3e18e53262c47594e3c32ddcccd4d5a73ef606ec61015134dd786c5ba2019739e0a933fbaebc904da33a8599d8d6cc8510d3776d4c14f4a882107b6fe586df256197bdfe1c10ea20da0ed451b170e8a648967b7a865e02400fe407dc8788c1f805a543d2d23e7ac7cbd8148d8e83e144f92f0cb1f69e918ebc8130472577dd9d30277b61f23c4cffd7d0ef2c03293c544cab4fcd13852b74e143c62eb21b57d93fb7f1b07268d2105771528055a4554c26a4cfe9f5983be9395e1c62063b6c07921dfff8f6cd5a27bd84e1febe4b848aa51e7d2d074e14c56c366b736584ffe69c3e7ed3d212d4fbfdde25490db2d41363ecad4a428d9d0cd92053cff99ccb4581ba256d64d50da86e2a3b893d2101211915ed7b236fdcb1b6de4818b1eaf79fa71ae85979ac903ceae8e3c46c36ac607315273a89e9f77874c372105291d76595b14af0eeb2daa37483bc9ebe5387a28fe4fd9371ce848c9f3a4347fcf7aa5e808f1abe4ee8d1139cd88c9a755cd45538c0509d35734e0f288a262c2e749067f5e7ec9c492db2c2b2b1a6d4146dfb4ed26ef328385a3e5b25b0414350b74eb05e03f4633c471fa1dd3d387d4cc11981b23ba41c2b64cdf96f949e0f20bea9e4170497bf08aae46bda4d8c0a62734542bf1c317468e8b367c54b7040c0700c1813338057aa7a0fb924ff07ed89a7bfe4b2c72478aea9cd4461dd2996baa511a8d7f0192f9188e2dd59e146f8639dc1bc9181d8c982a4761dcd8a555c51e8596b70fcfb54f779244368f2e366ce9a4298e2d0c75b2eac8ded17421c3c584c6e3e6bfddff8741610c8d1a1b3084dd49b03ecba80ffc39e8d4a223b8be9214579aefa2813e36f5140b66766280c52cf8558804dbb8f63cde30f11024b373272c41bd9f337fbf7b4d31098e45c686b99ab837b63a2e4a200302ce8175008e4efff8aaae97a95bff049282dfbc8319dd78e2a9dc3d211ce58cb7c56993a886b6683ef0f4a2c9f06e7804fc2248d500e987fad469561006d9d2ba44118fef964213ccbce18e7d9257307b0e69f52f5a2efbb12a0797c96241250a1507c3e1159a50694d699302a29eee808c63959fe68c69a12b872f7a52bb21efec95b7a2e7d5b2e24f7db8fd85bd65827e3af7a7e5366759821e0bf0fc178137b1398d2f2f1627c448292f0f1016791b406fbf4f853bef70c78d6a85fa13c7dad2904a45bb2f189a784b3b6133486afdb77da2c7c6864dba460b08e062342aced74e92f97515ef56e5d147fec504df3d5d08ec8e2daa98064c50c42dfddddec9902d37f404391ca4dc194c3d0e53e498a28c82a64d8f8de124a20e0a0fadef452e19062247a7b9499db070e264b5ce16bacfed4e48fa6c0c8448ec4a0ee45d1a42f9e30151eb2a48dd26e7e3ea86be9e3be5ec2163dc037efc3c98d6f00f74a68b3f5a9f88b4ac32f62003f27a163b4b47fe1279170b939309b8cd6e002fa5faa55a2768cf5d13b4813adaaa0e001f4a8addcaf2c1581aea406569d5ecc18d123be0cdf05e2420bda61d20a20c5c43e1e376f24fcb4e92f792be910bf86c34d65f769f308c442bc7fa8b4a7c7e9bd07c7b9bf2b00de9d664f81df0f80266f9e2ceb2419026092f7a21c84c34e4472e4b41ffe25a5e931981ec68d3ad84cb642ab10d1942bcc7c16b7686b522dfe18107e7167a7b39c5e3f6993373d1e4f25a2cc5164d2ffd230ca38edaca66480081ddd0000fa3e26cb2551ab78ef5d8488b2156c6350c784467c5639e96223cc9e9065dde4e268f3c98bebda1caf79931fcb1aa5a138d9399eeffdf7be251a6becc1cd3af74ea6bedb1eba46120010a8a2408021080041a8024bfb9908b743398e01dceadb26eecbd202bfa4947e8fd2eeab566ebb0456c3ae3964ac9cc615757655d520df4422fa017b0ef1b181e9650f4b73c654fa029dbfbbe0cea1c8bf705496a8b06b32654887f4040f4d8c072be5d5c6a3a6c58ef244e2e69b82721d971a9d64fb5c12e328e68b7a5d75eb1d8ce3bfb8c33c494d509149c48c57f8c63ea909f1da8415a2c92bd4058205626f31daa9cc125eec9b04c8760c4923c34811ee290d8325e9b3d4c58ec640ef59e8c4ec5cb8de83e5c961d8e63021f14c26d7eb740eadfd59f0928261e2ed9faaf41c9c293b72ead20b2d54112b7053d7d33c31e7d9655c4a536b8b3e56c39d28e66c33fa2e41a24c268ee5951ff8a4172cf267ab05dce6709ca87c85eb4f4dcf78783d54b5c68447536f0652b8e79f0886d75ebd5e591bb5473fb08738a27edfc56c25054f5ef0e06063c601ce00a8f47009864c2b5b40f97f2adb8749f26009f96f60ce033a5873b54f79cb17641187eec4018c016d81041ed06787a298960c307ed6c43e6dada32a17ef444174d6952b54b5ee71b3e6b8a24ea7df3431a5636f77a8828aa8adf6d7f23ca13a9b8af9109f0302e9651721ab54d4dc434d92ba103ba6f973e49cd1b77918b5057b9660ea7ccee5cf216e03e826129ad1d401433cf553e40af526ab96705ebc90ed8ab4486ec490683a0536df1c647b37c0ddd02416b379a95b0c0e63a4da62119bd76386cce37571abfb84bf8db03345be38893403f6f8925b0417da320c0499b0c65106ece00c6ae27b4d1a4cd4198dafefb179d446167b12f775eaeaf8a0c7783f14a2b6be4bc8a135d731cdc6803e1b0129bd82e4ba8bc918ea2444abc7f396c60c79c2eafdf08f0e8d1bdd99e7d6853d9787dbac5fd35fd36a21d9ec09bdb17f14737598e6af817507d0e4fbdd195a09a5c5cb187164c86e3ce8c5b6d5d608f3755d14f79d54119056be9d18d17f994d439668dc107fdc4936afcee4ff37b59343d1c680d5ff99bddb455cdd6e441787b53e569f2df63980f34b389503eb1b1d5cf5aa9929d4bd342abc95e283abff18e85503bc1c20953f0b579125734f549deba15c7909f0a60a365d3b3ac86995c0eb426be82dec1aa15df90d164b4a56395849e3e3195f696db845af07dcda85e130b6e37844cc752b67b922c3d71d9aa5d146693a8629a003b4a9273468f5a2c182842d4ff317b6ad930c90b019ceeca08723e994aa79b25b8e1c7b7a7fdf391b1ba80d38c289c699340943b8d6ea127111426f5d6cbf1482e1dfb29ae57bbdb1010334315ea8f580b362b33b963da31a3863f8a3ea5595931dae246ba37a1ccca13bb45f1b38080608806ef24dd05a36ae48ef02ec332f6b781f908244183cb846114b3edc506629c72bb06c6fc7a431a59c1f2774e5a775ed7a77e031e9fcf96f5c9bff9a2bf39b335571af31879505f27f732db6348f480e8c3a123f86893585fa7afd74dd3c13ea1a4dd89c248427e248d064d067cbe63fb89b20f6ae6ed93bf2603580e8dfbee4d2d62d72287007d48b174c5f1178bc13b68392e337195bf08342cdd38abed93a28fb82e91954d547e567cfb80f960e395b4442118401f7f33805de66cb3da3b23a77baa3f12e48b054626904fedb340e3328c52e756b08f9bfaff3564a0bb06a4e8612e13f79c7f1571d4875c788dea60d3b9ebac80792846356515fc3036f6341431744a16b291de00ebc5fd5e5f2d19b1e3c62d92cc9f3bfa46a26fea5f7b26b29ec3fe5e1df6d5ffe440c26da4289a82b3bc99902f0292d7401e40a6f1bde169e0c3e9b0b1df2badd7a4f9c0cda11f5fee8672e86af0a457eeec6ef9a3d91648628b666af1f57f586187df87b1f5bf1e621dfeee95ab801bf5c224f46d02c097018e235722e74d87bed7967bab3d00d6ffa01ce3234e2996b048b4f02c02cb81c22709e4e08504914d08f5cc6b434abdc840a5c8c9b1325749f9a5e4de250b8cc7d3536b166ca2ab6fcf6033bf4a1cc220b57e022e96d1a702dc5852a6587dfcd1f54668384c5e139b147d88d33492fe96e9104e1c62d485d90c8b549beb14dbd0b3581cec1fb22b6bf472e13dc79402b09609b646b00de1c5a4cb772aab12e008c7616568386b01fb6de94463147c458788cc7a5c185940d5c46e834a7edab9636fc834d398742861c1965c3eadb0a7d083207469d2a8d7c3edefe0ac71043190495982a02ac0031f5bcbf6ce5488f86f8368ae9755b85563acc55e72a5c92015f8ade6edf634717fe51391b2cd866c24c42e3d5aa89c27c0add0b09c7e87c4e3d80b2e80d9f0eba7d362ef3e1064bcd4900947a1aba9ecf1ea6f2e6df058d236de4893ea4097e43e423be7b063a93f3e68cbcfe25c965368652df6571b6461f43f9358feb47f4355936f1572b94c4838aaa8abdd3940e848da96e903f8572f45a7471ceb7ebbe47af98a93a3ce17b174dd7fd863968a43f7b2bbe055fd0a8f8c9e166673ef4081c082496cc5feee712468995eae1bbacf49a271c795ab06d4d4f6937d86efd792a9e7fca69dc4c7e637f31538b17dd776af42403293c3ff22067b518d10841403566123322fc13fd1b4896f1ec7d7800bc7131218a97f41298419d146aa0bee9c2aabd538984bee9ec6ff2e43b528fef9e6054a80027ade17b5bd4aabcc174d32bc4f329187f3c8b30d7a4f7d4708863814bc36d657c3031ea919ba874563ac1350bfc4196631b584c25b8a403e3d80ab3908a88a328fddd02769d2d730045a70743fd9d334043b518b73ae822bd27400034a07cda50771760b00ed97f6a55dc1050b5de38b48cb30c0bfc7e98b242df2d261026b5c19ff1a36fe3b99736918f7b155078d49d2064f8f90f254d5a84e75cbefcf6b96b38a570db64dbba9bab76c663d973436c1a56337476e904e1d38a1024cc9e377a38f0b177fb37a4239290c05ab2e616d9104dc95c8e636380313f281bd0db877e3ba4fb48050e3225380dc9911306113025abf3925c0b3f344bccd00f1b0fd7846435200c0001e81e435f3c565ee9c8fcba5dd6ffd98afc5ffb63065d19d889ab15bf0e81bdab46c92538188a9823bf41b5d12ab11cb070c2159a835a09d3ae78011c0d45a61ff6fb4d0c78e33f414a635d7401729734b4452c73fbf6874b87271d91cc323c794e4c8a96cdfe967b58a065f7b36c905aa1341d779363b1afc76e63990acada1e6bc94237f82bb598ca96b0254f659a835b8530b2fb2a7601232b3685caae30259b2aa748504b4859eb43f87f0c20693ed8c8ec3afffee71f40321affefdf0046f52076b7f1fdd0f32ec8aaf71de6d8bb056bd1458a9d71eb15fe3a7438b13373a4a2a4625277df50f365a1a4534ccd1bd095e9cd288658baa6c5b8c52897cf56b4b7df7cd802988d821e020292b22abc03d7238bf323d3ebc606ed7303774f2b8650ef21e024b95f68e81b3dad4be0222a3bd2cdb4e90fc008e9c903c44fda2ffb78a02c559413b521c58b576b81e943cc958a154c1011a1e5a17bc37fc33e94998927daebadd4fcb5cc5b79aff936427a0e7a2f160f272fdbf46e9c1d5a8d5bdc7417a9c7ce2d6a6d29fc5e7856b7a5b2ca37ac8de098769fb6bca721dddb93524cd3190ca61b7f37c8adef864c1108b902955da7005dced78b7bb460a6a0c53a2312647a0a4c7268838d8fe3d83c4497232c86380abe37b425b03aa51852e863497e2e008e7cd3b1cb1d1f350fe8b0d51ead3b7ef7e4ee3876ef100f78aee49f86fbe28b92e7adb3f4c5de314f289ff5175736318010fd40c60b63a3efbd7c858960ad42cf207d33793cf13512270eba9f3e0c6206dd626d2284777f7b6450b1662f2c3942b58a46684e96021db8530510d7b329e85fd726f46379f81bdee325c556c6989d61491ad3d15cb770fa10b84d4415d9af49abe6855fc755b2844ed1d400dfb8a8aa85a0f3186bc72b5e8ca4bb5739c068408c2ca9eabc17f805e7f1e3e52c3ca0217361e75d786659565e36d3784269eaa435405ece93de9ab6db3ffa973cb21688c2168f5bf9864d0488033c3b9acddfc1a7e561f06d93c5df506d0a549384aa8a859fb3f23161c31d1c65d5633bacd500c5787f971ea780607374a2cc659519d14e4a203845621066a8ca2d13de859b6891ca188f75197187c8af605b7f8664fb7a9fac69772d27cdfb2e84e9f082981c4b3c3ebd8d6e873d268367e1659c94d167b1aaa2863a94134210856813ff9b0fb4551e9d9b9e2c2edc122cc78fc5b95e0ffee67f425ccde57e0c40036eb8fb68ff570c4426c6afbcd144c85dc873f3ff019bf815965c198e47b016b18b306fa114f77963219876a0571c65d37829ed1b7c95a32aa7ccda1a57b1391dfaaeda9f41997cf927239f48140d43ad759bf0b110c899b9aa19b8c81a63fa61932259d5c5462f0fb90350b5fba4047a980a2979634bbbfbe369ccbb2a177d7c97f18cbf8e261d279cf4e49ecd2d6581e7a8beae8992b93355832bcc053d306025af5a493f53277daf57f890a0dcd3b15addbc3d991a3b1c154c6144fe7dbdf82c0950d5a039f8bb8b8d8a2f19403a312306daa6f6ffb0a707968e6aacb75e91bac4e5d19e2458f53e19e4fdf22121bf0f6640f4138d4c2eba98003d230d29478a0b679efaf1c0fde74654253d62a62c134c37ce5da9a54c1ee1039ee2ad2e9d79d69d19b13a348d88f6bdd17410edbbd57f97874eadfe58d1778b959fa6c42cd853fde38d1c9b0e63d98ed3092b565d03447f94f8a896a083e0d6fc2bd9d7991b2cafaa3f3f50320395999d37b9e1b68e6d5a07ab7d7620b58564ca1f144e70c01f57c0c848e9e40f6fc6a3d320a915fd5fb8f5d515bdb192ad863f0c7a39da7f429c8807a295400bd1c67328c18aed3d7565c7af768f3b200e5a05c7b070d9f2406ae51a465020778289ae81f60230f56d38c0891ed79604e69bc7f3cef9d2cf0185d01aee179be20668eb624d5fb6a10c92dece00315f3e317dbb955e4b48d96d4545e74589af1f3cee486aa28fb85a998d899f88034b25aaa657c920195aab95bbf87f3c9ac920df169c9389d6a98c51c871faa6f4ace0e537ced895ea10047d743b4a3df3f6eb9a0b508007637adffe664caaa773e8e7ad164e052650cbc7f68387084e5ca26208871743e3abacf75e125c4bdfde24a37881923e633113d744b90db4384e0ba5d9ff0bd933616852b9dc4ef8b902ac265bf3ccc8a157bcc1894f6b55611ee7389231f87b0a752aba1b65503818629e0cff48e1407729bc8a338341d8b8402ce6b3aed5ddc9c3f7df4bd0f18619d477bde79ac71c4e55def0bcf780e9a4696c00123e4eb2b7927d9ec61bde58337c88331fa40146b0e80eb33ede75522030ef18008e5d28e69cbd0eeded4a3bba22b2358ec8559216b481beccf75d4f0ac5018828695e881cfe93fd03de0112f08332e81c363f0c7176b86490260b01a84156001db484785803cef9da697f3fb7a44d671c68d4acb364786103f1fe543a690c9f765ddd17e251ab822add43073f64ca119edd31d09c290e485eebe9e4490378b7997e9fffba6cef3f39dd84133a4d71d415e4e5ef8384a146984cab8f0baefbc42030fdfa8f9d99aaced4caf50fe64b8798d743f2199430999ad893244a102396338922477bc7fafb200805d9dd88bdd53dfdbac1e46c6c4c98d40a1bbf950e903ab87236a79013c539dc56b66c0968c89c9c506cef851a00e0b71ba4ade5d1fa3926bbe5e08c119c5409353e99f45efeb9d40bf195d8c4fc1cf353672e4426408a4f56a3311dcc9d173514c608c8bf7f21b952c7743db6b8e332b985f81d500e6807b4b9ad0df2e766e7c70687b131b2559ac4db88d05fb60ea293c074392e8854495b327a34be022cd89960c6452e449b2068f276745c3194bd5b3b6d2e8382c7593cf17babc680456f1f297612bd22a8e13b1d12fca91b739cf96d1a8910bdadc40a37f8f4b1c85e721406331ff2d65a05763346091340ede3eacdadc640a742069d441700a0297cf28841a9c145f6d691352442886856973cb1bfbe8db079ef75cfdae762a676e6d28d50d991fda2ad8db194bc4aa6af8d0b3d46e19fdb98a58aa07117e28d295fc3ff526cd7e9d21226918258dd8629d0eaf33ec9417cd0df255ef982d33e09f9254b15ff44b753fd794f9f4835a2982bfbbe99a862a7862eda7184d7d212397a4598337822dbaec3acd4598230160e0813c7ce0fe0c1ea6ff7eb94bcdf25aa259af06d7424e63a641b2d9baa83591e3e2eb2dcb18f4f56075b34e923797887bc493d6486055df0dbc0811cedfd2e9d32c62defa3ff4b2c578489e2485eb41a3465c363bf56b2274d9e8579b49bffc004af50a75171e0f022a138476627d450623b1ba74a0a392240189d9b9b2c5a969386269277e1e2a5fb657a5446bcb18ede9ca99bf515db8d4a98dda6a73eb2277ae01a1e5c67b054f1b6c0d4641beb696c97be9a7c594796733062f2c83c0573e8bf8512be921f46ba9a82001", + "commitment": "0x2e31221fdadf16d05bfde6a977228f508359251c1e0844e09e9c035da9536216", + "slot": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "parentIndexPlusOne": 1 } ] } diff --git a/examples/CRISP/packages/crisp-contracts/tests/fixtures/input-tree-revote.json b/examples/CRISP/packages/crisp-contracts/tests/fixtures/input-tree-revote.json new file mode 100644 index 0000000000..64b693ed1b --- /dev/null +++ b/examples/CRISP/packages/crisp-contracts/tests/fixtures/input-tree-revote.json @@ -0,0 +1,19 @@ +{ + "note": "Generated by tests/input-tree-e2e.test.ts. Asserted by program/tests/onchain_root_agreement.rs.", + "inputRoot": "0x28315053ea867b2f8f82d6e5af47b20039b4ff95eb88d9193a4ef5c2929fd077", + "reVoteIndex": 1, + "inputs": [ + { + "encryptedVote": "0x0a8a2408021080041a8024f7ecbe4c047e3c375f1492c56213e8df855d302e3c539ea8a6b1ca077c974eb3d65425a45c035e4f6c6307a5d89a462943140879b988fde8cfcf361777b48ccea7195b7d5f08474bd808010c81662c773872a05dcbb9b285d5e9dca5b81741e4dd213e97ca0eebc65a0636b69d9fbf11fd0e7a5f0bdeb0f024917eb3990296d8d227556ec6c21bd5091f62ed2f441c23175603a3fd8d5a850ba9431db6c914446f444fe5db05ca53658c8b24d921f1d0dc827bbe2a2c62799288eb0bbb96423b13687cb1febf3811e5fb3d59bd674f1d9bc01511981e89723c999c719981cac035ed45351fdff97f081c511dc17b6cdb2c64bfefe0d459e4321e4050055c59c4a89605ae1364397032e780a6c40bba4e767685e3c9c9edb54ad3f51997742a9499180aa4a61377ac84a395bd7dc92df4391047908c8950588e9515245b25a0603fb629c26b3e8f76b45b6235c3a2e34e0cda94746df74fe8798b6afdeb05c3d58fd826bbb3ee0b5805e69ea535e08acdd441f1e439552782497d02440592bfb8fd7597a1d574fe13e704bf1cc81c6c2ef7bfc725af7a488de826880d28e85c93847e9f415b5cc60475c789a0a4b5f34326a85723aa85766b748f44abc53cb3349c37fe27a1c5472ba340ffcef6f1483e0ddf4cd682fee5d4da03b48d83ab6cc262472f614f8bcdce6ee2eccef05fe32dd3d933bc4017c41572295c30d959e1bfe6b8a823a3abcd8f45b3c9f0f2b39d4055a3886639ca2e846a2c5a1302892020a3e18d8686043ee76f9b6767873a4064480dcfe25944a3d3632d5377ae784ef9e23eb74c67009bf833cc972ff73f0418f75e9fe180e3124c7e2bf1a5f019dfd2910e2cca1602ce8eb4ff932a098be2041a6d7fe1960edc2df6162dd061091f20f65d26ac0ef4f0c1aaa8c932a16557b817d0976cabb4d2a3761f03f41c4103b86d73dc1175c9c47b592a6888443aa6e410d426bb0e388cea374f1a383dc3dd995a3a9390b19c4e0143e9b7348c6cda3beb50395dc15719c0f21a8ee3531f774e9207ab8af0d849290b3d08c107f572f341a0cae96f0d70bbc5b6d5f1ef0b40331b53ad0f6d72b8ac3a97ed24b8bf5d810b1f67bb33694d286e768dcc264881da775842b2977b59d6da57734c1f8b31c3a94e5b2a771f0660d8e5096756a2b07020a0a1faf61a6e4489f3fd3160ecf06721cecfa6499330f3121ce2c3c550b9c6754b192550bbbbcf958d44f89b39837fe6d2618459c95ed4503ad818a11cfc5e2d7b549aed10ef467d4baea942364e96568da642caea0627c219e01e823ffc76efec71c1e17f1d631a8fdfbf77fbf4c2a9fd20907a072261e530b2836f32e03a6bf0a6a3ce49e3cf88a7c13d6a370e0492bb30973c8a13b56ec6e102cae2eb393c5ef18e8d7ea81341ffac3f35b19fdc0eb5eaf595c5e6a19e6b25d1fbac17d282ff813c293da827cc7fb5ffcf0a919b0eae9d3557ff478872e5f561ca4f026820a8433ed11cbf6abc5533740259c5c4e93df78cf3d5879e8c0c0991cc9502b2f67f019727a1fc3477ad33d8afbefdd98206599edddc2ac0e14b0a10678b5ebe7d006d7b226773345c8e1b59107c7241da80679d5f5a47ec26adf250851597516b1e2c151036498a4600cf7dc2a1e410d9d571ffb0fc2f8576ed14b490f3ece104a35200066db2d07c323ea073fc4b80e1ce9fdbe727c3397756384f683a3be161ea9740c7dfe7a55b314e60b26d40d22da49d9cd23e9f44b6b1581e6dc5cd1fedbdc8b28f5fac4e0ba099367a9e7e51aac7b0c05214681af6c85a2d3a828da21a49a24b1ee3a3ec7a80472433062db1bc4227493350feb292d9ebb82e8b538a8f67f9a82573848fb2d4f94acad9f3f104d1174a017c7368159349ff82345a09d5c35a81a57d38c78341f7b82daeb6aaeecc7c44c90249c693de7f95c98e1f409c013f038afcbc375e3adeb6c167eeecde6c6434d6eb8db829f5b0700ae612f0dfd10dcfacb2d9508bcdf27a680a465d9babefed7f1cd5c4c34d7b9547aebd7bf6391507f380390ab8ebb882b4832a2084d510d9907abec3825221d525c5377662fd8e9e817e9add86416a5d612b205138a057abc64d45e046241bfd013e7b314d33bfe8dfa51487f3861b9aabd998805bb7ef0c8b1dd4ee77932e8cf24ec51e0a0e77cd62a7c04c98ce288bf713abc0aa53b44efdf5510d3aee2d902a745ec8d0723558129d7e3f671b3002cf58b869450fae2a046061e99da6fa0d894659d7da6dc669e88fbc7207f8a0b3559c51e6979eb03c551ac50b9f6dc957b5ced507d2f51a969064bcc65aeb8dcbb477cb6592e71697af5461962183129555c308a610682595074656b5512254f9a027f61599c2fc15152933405c10a05e77b8594131f40386035c47f57a70be937237599ef34e2fadc123256e47d0aee4d5b29cd244b08921a1cf55375032e51d64b70c7ab279642b3af614e6db2dc092f33d980dd404e3803d6710108580d368375802bbc5a0c7cf330906359a5926c099d7b65bc179bcda959f5d88d390a70cf4bd5728b3a7b4d527a891338b799442210dc59a2babffe74b216fdb80c940d57b5109223b9648e554754f5a54ebaf6554c43d2b97018de3f79c2b2d28248c8a70890a5557320d582c090171b847d3618f0ed172c86413499323789b2615de807f47b4e2e30ee5b2993709d0d92c64c328693178903a14aaa3c1a04d2996e7d90831211a0bbc2e5538639bab11af48c9e7320886c691278915473d5547435aeeb58603e4bdcd0786d87d87a488f608570ca767d4b1534c8c0092458df4ca11c32cc1d50229ccafa8765e1ec36f56c67bf843879405226179c48167ff4d873532cc775d94a097096618719a75f137bf3a9bb6c066306f702459138def6c2e286212bcac79410c6917510a81169d89b77602c277c0b747ff61d052063fb1c687fdf0ee62a3e91b41c22c1bf0765a508bb1c41d5edaefef247af873b1f99ae6c0d03cc5614f2803e22fa784a039c521fc1ad354a446468e22dd62422f960023c24cd07b8cd3d6d283c1173f6a72168bff61b81c50ceb960efb56279c51d7d929bcaacde7a84e4465bc4e8a70949b5eb0f50bb37efa6274bdbc8e3708ff3f62ec2b726905dfc4f2bd0ba72018fe5e829988fced7a2a90878bdc0f2bf1468a390cf2c6e2dfe41c9abd37ba9249e7b36a56df4f7232390c8db9bad4fe36734e7a9e1470ffe72bd12641f5a4a8fdac8200fefcfa03aee976edd22a674740e86ec2b96a56b7bff956e55e7a52ebff1e4d1ce426036f39b8245b067a60334f5ad40883878101e9bdfce21abfadfb689b35db2a6b8341f862e6d6ac4a162656d5e17184bd6a14dce166a32a9b92967ff9be78204dc2f59dcb6b4dc07b01274db323ece3121f9007e549cbff65e163a2cc8e67d4c6b648925056353eacde5f0f7b4fb2415b601b13af20d4b36eae907c27ab9733c49467fc1e1a04d3da4fa4d5d9ad7b0e46036d266107c65236e43b9b6f3e7179cb0a62d9d78a95be9d10c0a63e5886bb5983c74573bbcecce738414f87fbc36057353b0d5d4bc88b3ea4ef1ad827729ac7072daae45816399e78d1491fd1890f4eef64b33ba420c8cdf920f24883f696592f3a5deb41a93c930a8dc5a153f0af27ddbbe05f31d9c137a3faed8a18e2454880af7e6c73dbbe6670bbdd869905cd3602634841cec7237fd3e8a88e1305588825304a7a94e06c278a75b66d8cafab0b81d9e607bda8c6bf8e5d9d44742754dffc74aada29f73307bdb8196094e6a31ecdbd0179c4f09a5d10440f17c30c71ad2143daa77ee6808564d887d0b337ac39695dceb328c2f8253a660e7b713f82f5dcc31687556ccecdc077dbeb39ac1819acb7b965bc745b2d35ca17297b7aa7627a92c3f5313745ea74bfb2d1df322e7c89c88bcd7a5470ae61bd5260b7fb2a1230bede0775de7778b05d94bbe3c2043108f6561a2c51beb408ba16710153702fe04bf97ed32a1048a25982ca874f29e28909972f51cb942cc8c6422e4561d3c9ff339875018db5440d95a6696d4e0c0ca24615025b620d9074d45e855897d130ab46185f99862a2c07ed7650dfab0514ffcf7d5872470d9576c3705de12a4c0d16bb2701febd89384e26f8b9604573cca155e7f2054a2ea6840cc01426de361a26d93a677b54f74b1b9926ad7550011c09842eb56b9130606ae38e29f6e90965cf58c7f74e310887b9052aaeddf85e7c0783928847367e7de7862100114efd69d067e9b4e91abbe2da63203be3690380bb6301c796904f43cbfe4b0d5a043a8900695ca196365d273c8583ba22f24b7b2cdece697e15b011fd531f8c8d42f4b739664d1b986f3eea73f58acba083e82bff1d3feaec464e7c5783a2ad45e9072eafd9aad4df7f4a97f3cdf52faa26da2b303a6a22a5ca4b62d9b67639243a4d14201e19ebd03dfa42f2c0abd8acdd545f537ba2fb7cc61d392e53f40618c1714d5896768aee71c3a2ad0261e197da4f8b440d4422241746d80e1ff01c53962ccf58a7b0e8ef4d614ca6903460d88de9c41a0579a0f6309da84da85eec8f2b4307cad57d129e1fea24e7acfe916968d4e2045fd904d38897af75021ef7d1138f010b975ae8e083f78812127b09d8e1a6a6495264e98690a18bbac2c2b0a7d53616bf59819d5c61c18e650508a4721dbb9c1b6c3e9916e4302247dc20ce40f7b18c955f330036daba596365f13a0246a3388d33550870180227f92c2ae35624400ed0c0deb9bdf3526ad662a5f0673ef64c70732582bb9524e2430b7f3059090ed9687ec3c4985710083b3894f8ef6bd1f6d08454197ae213ce80bfddf5574747b9d8a9dd23101875a9e5f0ee993d18d610d300ae3e17c97145f0c17c6b33a5c04808eca38961217a1aaa755956ce21b6d29487ca5dcd017e6962aa262a3ca25199672aaf85c609d4156933eec495c6b2db8ab4940334786064473f97e57da4cda1e001547c485856d92ec4562078464fa01ecffe7f808a8cfab1fc4e509bd2801b15d8e926daf1de89c1c40c4a5e2e5902fe438c8b75717f96ddae37497ea38c01212e2fd1930818f02dfd359d621c8e2050b48a27ef978b0f5fb0b80c5e0c7aef9fd1e931c8d1803f780ba596c3ab8574684f2db6760e3f48cf4c8bce9eae96a8d8617f4a2f73af46a22d418b55b2d842abefbe74e00e88fff5db865dc8c10cdfbcf12764c25c230f178446cffa6f81f16b994b3ce423e6ef3dc0b779405497e84c7f24a1adecff68cd567f611af0ee2299593b9c18b546316ff594e41da50d9e354ce2a96d285c98ffca80a4f5b73dad1ce1a6709984c3c9ab9b864bf208726429ee7d87aac7964da54503bc18b80fd6e6b4bd2581763e47731095fe4487b40b37a116a536c5d83b1a4eb3a6bb5604ba1d6e3cff86f9346879fa700e9d573ca6c6bc692d3b37d63905cecf4fd95953644ba48526f0c287f067c1022b83fc22a61fcae4b04847c4bdced88839975f156f366e06c13d33843b76e3f3cfaf16ac6a564fd49ddad2a317f12ffb7f222b45cf661d10df8f88d6e1227dc3b612d5eb84ee9ddf0f45c21aa736e81c796fc9a5e0dc26902300cdf64cb01ea2d46bb8d1977709e2b16d58c6dee087e3edab06101bf14d4104f469169ea77f6f3f1a2701548dd0f0b824c055f8ac470bb1db42de98b79420b83dc302da89b21dbad709e031fea9e71d87b45d178aae3c93fa2d5541c9aa795843aa993feb30d28616d7bb7b3d223b1ee1dc51be95792abed2bf987149c06ded51d966d4bcf807b4055361215ab7243f4b2495bca34fdc2663bfbdf3374774242c2e8d646ca32bb0b801a0442c0c0f8bfa37aaf4dff53e36fa12e9ed35c913fef90f1bb291eb2f42234aa476511b6a201f104edd75132b81edd2bd774a2ce256bcc08c5fbaad7698e0cccf035019917d1e6b44e17b182dfd9f628209fb808f8b701cf87bf726a92e0b98e54a9acc3882d90f214c747230e0028642dcb24f571d07605799adfdccea3d08c556e028b29f7dcb7a36f39508ec426a8965b200637164970c4aa1f2ec7a76232048d098bdc552c6781f4b9c37df3f067b1db16ba31517d243d30ea1c287770c313a7f8d8a577a13426ee2368f5e38c7869ca7aa0cace6f8d6537decfa6723a1e97e68ca73d773632423de85728008bde747bdc23d42d85fcb9d5ea9c879b78d16131d035a58ea2a62a5e6fdaf4a6796a183932e9326605803a9adf7459dec0d33524b9301a9be4781e29a218a528ff813942c3fbb44af1450d4eb21a4c150882ed4f4ecf6104828c8747b66523f3190eeec5a7619611016a5c5ad76cdaffc185221f5c82e5481c443308f21e58ca8f6bd1e95be74a1019eee10c09e397432df490f09c4d0772865380c681f5a8295f718e9bef02e10ca73c10507c76ba7d0d37d295146dd74c9f23cc5fa62980420d647bc25b718bc2ea5d59e8fd16825904e6662302f49fa6f18c032045262f47de8ff2e163de47e920010a8a2408021080041a80245a25233d89a1ee1d9e714d14839d48c16083457883e5d0449e4ca3d7fdc71aedae2624e91c118af9959b3d05f8a9a18047f9e6660fd953d6f3bdca8b5b710645838274796af7b78813fdb99213ad80afc8ced8267c113766c8331306faee23b58b5958cd066e8e84bd35c7de78da051f725095421e6de80d6341b88d7abb3ae333be72dc5441c1786841acdbb3220b1c6ce9fbfec6b5db821a1c3cbc3b2c8f34552666ee1b010e00e9e4c938d32e82c3b035dffb48686d09b72f37706b8bdaaf4c726381043bf1d9054e98a02aae928ec69c195830f108171a677a5f9435ab62b15f7260f99541a586d931967c393f8d7efdfca86c9f9887226ae91902807b9aeab917c1b7e744dc9b70ff13f7f169d7fae27631909a8f88194e792b087753619fd990208b82923e9e150c5b912fbca229d786f51b20144e1e6a7c629e0b8172fa6a2ee83ee39d9274f771d68a3614af4603f8a61bfd3ec623cf125ab6304bc4893505cd2ac6fa2c9228e813ecd4fc4874a7a500464f5961c097e2d39abc097864d33f6840f9141887d82fc25fa72e92732c586e1d28b7a5434599db4b5b658555305bc18b73900b47cdaef683486ce237807816d90bee5c8c55d5fccba2bc1fe136ec7592163f8d15eb615d034138746a3180768e6747e071228afe3f88f456e4a8219799a4a8910df656ac3615444464acf0753fe356f8a51f6ef93c5ecd3248add0bfc9cb51328ff03e378e98f9ebe2f1fa9df1e96ec9f5b24c88394c3fcabc05fabbf3a7127e4e35dedc2495fe026040acb7f7ebed22d63f879da771998421b52975e58d024b0f48fbe3000c30476bc455fd96904133541d19902ca2836b87fce13216bdab191c6e2b2f405b0c229f95a47f926a167b1fddaca5a73fa89d7e1986804b34cdcbc904eb2414aceef197454fefd8882f8f809472dcd1c23109678c40e895ad6b4cc7d2226a22b9f75cf72eb90db0a4b390d63be9126e982a7389f38281e4f5db5358ce278f3861262ef26362ac60a9ba6f880ffa94e577e572de1009cdd0cd0c6a307a93e40b11b7d29be671dbc30befe5f86105f22d69cb97f7d677e7f1af4787cc9ac82b3eee13ccefd3260477fc02e03a5f4ef3c4f000496cd9e09f1317d4751634ac95767bd95beee2bf8a8d719ee3c909cffc79dc00651577443c120757118e17c0665583a6f212ca8ef7aab63d91504ffd69720207e9e9dfe48727389d19876f2fa11f0debc0832c055f4a4955e4b8f3b835836a247f4eac80d08c4ceac0644bf59827848d4602cd803955c5bf782fe18686fdf719ffe84168d899518586298bac64d0cd3f5d2313cfcb76ce0d1ad822ea3db5a29e947c8e75839bae0c1232e5c7d6bd60abbe6fcc91ed42a88bf543085688c5d99d407053814d108101b663e3ba2097e983df746b8e1d63e1fec61fa2d7a41e519c74ac1434da16bb6a52b219df17db8183c5c97298e6d3d9bda9fa0ca0b9ee3c32d831d2c63841f199c1b7c7fd9594a0ce93a2fff6bdba99d114f088bd500e59d85cb58afbe08bce035835c7f6e3d8a28bc61261e0f1168c0eb16147a1475def4a3e66020d8aa85841b540575c5a8267222fd83dbf6012f847b101821ea436d31eba93a2cefde01de9414dc5486fb669e75582e93f2ae3259c84ba35713d6095245876e4997e71538e8451edd687936f7f04ebee61c50804f0410288c62ba5739845e90dd1a5b711080674a7886919222bfd0221c0e19a30afb637c21bb69db61c3b6f7eb20545cfb8a0c89a8017a2739a3064324a8651199b1a18ba80265fe9f1d20da0339d7e7bb9419de17ba240887fbff5eb6298ed03f5dbceb5bec75b8f5427433e3d01b49a042e422c40c123dcfd1aa9caf682bccae9bbff82720416520286930eedc40fab92905db5c534a6772b9c3315ef8b4a1a265c1d5ba99cc895b2db012e75f61857a8acfedc1978cb1728f7e0cebc0f2b7104f6323258872a65a36010d01203737bf874781ff2fc779bf6a4f5fabdedd114dc1c24f9a227e1ac42a234c2408202d8a962c64d3363a3b482040c24a929b186c5d515d0bee0122ca46e24d099a2d1186a346fcdb1d8c68e9a47aba7d788fcbc3f6f71d960e72739f6ba6689b96ebf77ccfaf65ade1ab0e672e7189258ce9d2b336095a1b51e9efb29d52b80f2a548c3ffcc85662af38ad3517a7d4fcb001eb5e5b73fc12c89dfebf8fe834cc195cc32dd4f3d94679c17086accbeece218c2abdd0582e6ea34ef58538e4f5b8a21c354f5c7da7d415b7673d66bde6882136348c1a3671ad7c83ae0cbed7dee22b3d2e8d62d394b4790055d909ff243213f7c6f012105523411edee17c0a50d4e1ab91cf8e7d20d10ee76431a0d5a5003ae3ed1e4cac8e67a3757cb931080d4653448530b52b060097dcc5c2acaf7ba6356e72a6739b6bab24383aba5bc93b7321326fb6b9f4275db9ba715ce6a8f3f82fb0454744c23d7a7a4f25bcd71c32bf1ea599391138a124fed35a17e851c2734805261adebffa693986d14547a3085b9b9ee4c9e1bad145a8a004396350f403759b0df4a306927608057128e326fcaa57aedc592ae0e6b06d0d1156d9c0a79efbb513acad019f55779ef698440da232e2e0845c360cb5545a8987b062fbd035300c6a717b8c4eaf6522f8637f79e4b3bb5111ad9cbd276eef7473e61337d0c460e732d8ebdc891b1df6b8fbe5d5f4f0a3a84991d83bac6e6a246f023d252f37afb19cf3bcfc487e8981a5719466b28f945913fdbfe782aa569e47b7a5224f72f90032dd1d7260d7d7c2f82f1feccaac2a8d5b0f061d53bfe388590ad9b5c55a35f7ac4fb9ffd81367351233cd3e36430687895eaac83d18fedf4ca3c26ac492253a7db203805efd7be83f23af1c0ad4b3ea77575ae40c3fa4ed30102cb92a02c2bb8879001ae100f723d3dc5a57d8088e458ea9094e91255540bc5bb78bc1a9005df2fc8d3d3994b1ad6556b8fc1d5b883141e784f8829dcf2f5ada8f09bc44b06abb25b4aeebfb59fe3d0f8733dcc997cca86d941dd36126de3763f1d0d147bb308dac0c2ad8d6014f58b0ecf562364a84dce796ea5fce35e28969c06f75caf1b75c4e9d2ea34bcd0c1c2e4bcef71373ddf345ea316a4e2f83722bf6a05cef13098a159c9c7bdcf74f9b945001b7f5c4d432e710273f0d97a1dc03c548c4cef6d4c6c9429c6603b7bd946e27efe1e1cd2e4d5b4713294f4d52a0ee04ae13814fed7a59629d3ec34ac578d9ddaaac9e31c7ae3d25fad04c813b03e35f6019823660a430baa83da43171d7db60c930719b586cf7648f8dc377fa8c2fe39c6bfcaec1d083a9663da4e757c71cbed59c4a72d5b37003dbfa2546696d4ba57fe36efd2ff9d7084333cad620dfa9b579d9c44ad7cf61aa307a0d218781efd5c3ebed5c61b889d2bca81e7477fc982cf854b5a298db6ebe654cdd601a6d2bac9774f7de3f6bac445fcc65c7b96d7f88ae2d9c3478a54ade562ac949545e0f8ff94cc395f11d8244b55bb86d53671b983ff8afeaf1f634d566f2cd0a991263b08a9a92eff78d681847b827c6dbac70af290cd104e070d282cf2f8b7bac6dce8e4345292bd6fb2bb10764a84b108a9b5370e91fb2f76f20fbf262f6876380dc30d2970f2c7c9cb619883bbb71cd9072d987cc899f8df5f93a7015057edeeea5e2e164eca526fcf3b4400124d9f7285bc0d0ba25e6b6ca0c07ed5a7917da8551b4063f0487801eb75e31b406268fe900489376a55a7398e9fa67dcd49879162176ac72c97d0476e71adb817ba924ce0654eb8c653f9d3adffeb9fcc0928b3d59dc657fc31e4cb8af37ccfde2550a6fce925815595287982d2583a8f9f222f02c982957fea511fe247c62c0d8643cf38503a95168982fca2d48a9d47ec6654de88db1dc297f3a6421e48acde28002f3b4fbee197405cdb43a9a600a7c33fde6cd431923e81d994020029833fe2d1fa9edb65188bba57bfbafe0b26fca2788c85c053171de59f7fe65a6e92afbf1ff4ad297bb3f0abbe3806ebdae6fd13ceadc388c636ba510317c78f213447a158c4b95c89783759f842b15a76278c03a41cf92f0242a16f7e8742b0083449b2e52bd10d16f5b27adaa92667b8b4f623b380a2084c3aaf79150bc564e631d84ceaaa5ebfe7b12657aa37c2bd4f0abe6cb74ae4409c603279fe117a9a00d90e42c2e89c6e4c7abfe297271bf139cfd14a8a70a22c3c6c96f02063eb20abc29d8ea808098804128c3617c528058bb84b914d126777ddfe34c2eb680b99352951eb3c338db565a0ffbbda371269a284bc8f1b2135e0284e88b1dbf7435976ec4b37f1fa9da0b3c95ffdb252d6c222e08afecff2190c5c32eecaa955b3d7a8042afffe6113cb99e56a3e8a6daee9fa86205d395b046569b16e984eff5d5cb7ca7374275fabde9d5efaab3ae975b051467ec95d4c323c99636b51a3fb1465d32228eb9bfc3ca738a67636b8579d11699a6ba9d02b515546a406a04347ec0f619c6dc580b8190dd567dd4806ccdb81a835d14723828cff250ed078a2b4533ded14f2705ee72aeb9e7e97aabb60f0e6ccf56f4923e2abc937e048daee53e41ced11a249d275ca90c733f6df76960347b68491edfc1e8c51cae7fe02d88605745803b734c83f784e01b1140d6a1a010b4b738234fe561d496cecb3187a86cc79b3aeb57ff5256fed88d0953db415d2bba710f50e5e2115a0d0590a7c0b4bcc4159eb60ab4e933d78a37470289daf261c21333b739c8f59b316483ac33669702993707e1402599f5987ac688007bb0c1c88f308ce8d7d5bcec99a370de667d4d441b51fed960f67e5b529fd2b481363465b8b9c702da5f362d0b42fc25368e38a9bbc99bed7a77ed8e633bc25a36fb81508d54e587656ed1572aef1972c467cd8157c157cebc68495ff3add1ad8d5ff47e1d276970554abd463ea06769ff580ebc73ce2226fe014208f38d1152bfc4fd9bc0367f90b7fc3ab20e0399b76ebd34df9957e51d9e657b4a0b07979b03ab6a497ddca9f4f66e5905ac76125816a82bb682c334600738acce083c0afe6d9e0619709c94a1686b45be2dd514352aa0882dd3330667af187572334afcfbcf8f03a46afe86c4e433a191944231a2596768dbe01b8485f6e4ec1149abb2cc071d5a5956cbd7b93ac9276d53511fd33e31928d6f55fd0228c7ca63689e177a91a54f7e1bed823a5758907707c975fe6311e6e3e8658f0af84db69453b529781af904981fe38b2ce5d92805a6c47f8ecb27960e878a4295f22bf9a31e99cb7cfd0f8fe11cadc5091358c464ebf0800cfb10ec868e7ec8aa754ed0b70b4e4f8a64813033fdd1f409d6f11adaa6776784f81b80ccfa86445d4194e8f7b43bc2e2ebd7d9527f34b23c1f7cbcbc68c9c95964ac39b32718c8d3a2a040f5aab5b070771b57627089fd4909584a629170100627d20062bf05b6db2a6b6658667065301ea8d1a47ac9482a94dd58aa80162047e27aa3b033f7c620f56684b9afc26545c6e39bf0fcf06eee6e00b7d875ddb67584dda0972b9c15189b325465568a000d91e37d4d2e7d70bce2e7d0672e9bc6d495c9fb63d910b064eb73478ed38fd11ca766cc2fb69f547cad2623bfd1af8414273032b2abddd97e1e9d2073286cfe2d0bbb95ed743a9cc86a474f0df1a79247afce79f83f234ce98507e92b5fd64cc84b9e5202f94988477131010edcdbaff2c36225539d318c7eb5058f1835abc80635d0d44c9717d4c6953553994b2b736cd07b033d3ce6533e9226136972112396dd6793ad9e92cefa71254294afe6be0a4ff8568ba80288b261e8e05d65fdab958d86176663910b676eb7e34fd46fb951528444c4543044096f4539d4cc1f3914eacc67626c57ec3d668de332c2ae89a23b7ea5b1340db2b15ef028740b19eddf31ec01db8a9a997b347710bcb92c6cdf30a369a84b1ea13d6ebe19aad6fe435b0ad8c3e348161fab4fb9b1b71ae7d2c0b376a402745c12acc44bb65e76b49fe166e361a2fb9ee00ccb956984335a65f6a8c21767cdbfa51909a7ab58dd153e39b18132fc906e714958c6a1325b2b9e0db83da10f2eefc865cfac20c889b25ffb83b0fce6d51612aeca66354a544c2b40fb4c9b6ec4cb0d3e0934144745bb46b77c5ca1ca873e8672a0bffb185bb495b2c1fd58fb2a36c53d0394ddc2a67949789f68592da9595b63d60ae34227930ec82092910863e0a1906a811a2a28d620fcafb22835df2c9112e53b804bfd47858f3be503aa8452c01b4a98609e3bde0a209552b53b5f28dec97f2cb062b31f8b365d78fddb39b9dc0f406641b5d1d0d731a50824162770beaf873d5be4bf11282ca02b31151eb6ef895f32a0c5530d5c650ca87a407aa8ebfefcf3fa1cda60a40ad3ff36cddeeb54ca9e403c13adf62eadbf3332ed62e63b34923eeae1e89477add09a5384c0a8af90e6f4674cab1614b65e965f35f0874ba4cb23cfb9a1e68df7ba08a9b797885ac37d05d0bf12001", + "commitment": "0x01f234deff6725bde5e3cc9821c6c7544cecedfa6bc55501deed2439cf73c9d7", + "slot": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "parentIndexPlusOne": 0 + }, + { + "encryptedVote": "0x0a8a2408021080041a8024f1ca817a3013bf381235b147c5e52cb5f0dbfa2ba506bd48441172ed9a592863922564010a26c0ae24415b94ee3c53ef5938e65221acc2e3c171e928663e43ea99401ebbbea49561cba4b526f84042c587338825f60d728ec26273d770f335e16ef36af09865ef1dd67363f7ae3b9100de3ff3ee7d86ac256ef024017f96f7ecc9a58ce3323182c86e5815aaae915fc96094eec46394075ecdbfaee3bca983dcf82bbf479e79fe300a4828e5a0020cbfa12ed4096697f37b99fb9837ac3be1281ea04ced3dbff03546bf365a23d886fca9344739a2d7da3631d5bb6ebb1fdb65509a90ec0232604323a5916c5f48fcfda38bd4379323a1050b2258d97e43703a7cb48a02f74a850ced25a6012da9ca102c24a3c5059ca89781dc8bbb93939dc21492966b7af0f039980f5ecc57e9151d8ca0d8327e8ef67e16dfb0c255edac0c0b1bce1e1ae9e5196d3e1186396d07c398e2b111dfeaf6c28351956a5eb107451901e3a7821c3871fdc1c64ea8d0d37dc0fcab421721375b9d3ed470c0ae058509ae5dea0cd016fa223197ac2f21e333b4c1e7f0fa30432957a7b49ea1b7575a63f0b1726ffaaacb87d0da265feb0e1f9e5020aa32b2ee2381f94e5a74ee5dfabbb05210747f137c62b01755c72ab3e99ae500cdceb7c4d16c0d983253a95c4570b8b6439f72f30a0a22194ab9f1f60dd928628441f97e7f2a48c06be58b265effbb87268c99acf93fee6d924052eae805efd1799cc8be958f7fafe3dc2d1bb00507f11e443cdcd6d4881cfa89ab3e0d3f9a33c2f9d51a4d48578bc2530b0fe51ba2fc4fb118a2c17e7e146fe16b5763b8c7b854d6d2436b8d74dcb2e056d8d1b7f803720a3682ff94ad008a140fcf1daf0757ae2c4e04a685bac9ef9c6ad978c05378907c08be0f2c17a09984be1c3527c548220793dcfd35ce744a70f46f522c9e3a5f35801f49853679242127241a770e95eb54fd8a3f1a0fe49597cf9ef50a1b2645cda49873de071118bc366335fa5f56e3f366a414a6e0783491f19f25d6e053653f531526baef2c3a61a216248a623f326274130f01cf78b77690214e890d3f95e82ad8cb97f9dec4ad074491562cf4d240ce916d96091ccf691ac84cadba0b94f00884c80fc89d35cf9018753c7abff6fa75c8f26d5fa3cffb546bc583034ad046a0d6a9c1818a1ba04d98abd395fef4302778209c1572efe65ceca3ce9850f71264ce3bcad0712594667311ac75a1a05ae1522c7130f8a9f1d7613905f28dd575ffbe39213cef4565c060c4ca085361d67c163ea92c7e8b390941263b582eb46080f75fd19ca9bb5da90e7742af317589668b05bfc8569cc95be85487e953bc2f219ca18b687f5938d912a74d5fe5fb3b1927b62d73d63282f4d1146db1f460526affc10852155aa7117aa7ed17ca5e05833445f207f6c364cad8f842fd3a0f9884f667dc25ff381791a274c83eb87b67f6142d6f40a47e2c8317296ef5ee4171e5dbd3bf53e08880525b1a081bf0c9e89cca8be424d8c8d6b070f434abf9f55207e67be94cf2aec4789c46f2af23ec9f641b383886cc848e751338b63543cb2eeec764d92f6b9afc38698803932faa20556f2f3e7ef05039dbff9821120fbb0cdbb9c7fd80471221d25a26a0435014ca66fdf289828b7b91a5bfeadb37c4d559630a3a9d5e1e328ae3e9abcb34082d3040831e797eaf1df30bffd7fcb4d33b6efc1c7aad390eac260b844b98160ec23673d9153d624f3eb8f4e8f4c61006142ec40d39557b8bda0d4096f8b8da0ba10f55e161834f1720d1bebbc7dd5ff04f6768f249c1f79c4c3fb040ab03e11373b269b54d27b0e31b096fc91a5488c638aff516ae7c113e4d94b0ba73c395290acf529166d6f6625a0a03ccd6b0616ac1bf791b54782350fd0f8cb4d8f58d6bcd183a3b9bf7b4da4aa09d5d30c0ce919ea17b044d8bf45dc2b378f13688a5c08e65df1966420fb39bfd38ac3dc316452079158e3559fef297b68fbc0889355d0fb5270433cb299fad2ea34cb9c21beaedc4856a4667b0bc39a3b9a45e070d265905627ab3d83176a2fb0cd751dc4ee986e2ff8ab723dc8d708ab9f982cc5f163b01a9c3998a68066b25c30c1666727770b361a2ce37ce3f64bbd340c1e6d35130fc86c3ef925d521f903164add53e7914ccf97f553ff7bc164378dc79e6b6d539cc826778f89afdf4c7ea74fbef5e468a95a25642257e2dff128733f3cea62dacc825c9220d60acbf2f4f389bf77ceade6c9006b509f889cbfb21ed27f902aeb51ac715b0741338842efd5be069c73184ab6b69e97840ac5be53f0744979d728ea4a255579a367c2ed318b1be8b931175ac83f1db823886b027ac6b9ac7f485144f2e1461679ab2e33e9e002379011d26274f9ee59f26a7471dfcfe195a488b58cc1bbf904e088e5ec3e2f76b8c37fa8b93474e8905c9a4f780ceecd5dbe4030539cf48929428c9c80222abfa9eb99646feacfae6186d2f6d3ecbfce906c19c109b68e5afe4e1a9b6260061b298c677d574f566b9997e10c4564c8e77b385c90d6327a61bf329bddd4f676dfa6865ad0f137a476127edc03c12714f0842cbfc30b26cfc7979923feb2900f80011b865aa25306c2cb411acfd94348b4cc51f79bce0c9138198617ab49fa54769759615689b3fe096897d72c301ed2bc6e52dc8a362ccdd875992fd314a0a301792e98c4c8d47e0ee921dd1c48aefff46d0cd18b3d9fc68a7c278040e651f777c300a9359c2f91ce91d43c95bda272ae13ff5767772a35449c2bafcd26ad77c6d9d4ad01655587d9f055fb7965b8b220e08daa8f19a620fdffb46008d77bc60efd3782537456628fa3b506a2091c586b046dfa26572cb0230fd70018e49a31ca421b44d89ad89c1033cd9cf9b28a897a473bb1b86eb1fddaab7f4adc238efd7cccc36a0703aec410eb865a89b18a9a081d1a44687b2c49879c1e3fb7b66dd53a8ef460899b5d44921beb12d85ad523f92825ce6cb49eb26015f4528e56b2cac873079dc23bedf2f946c9815e78e3dda618dfd95650b4453b92e0c56cc8ec6f38aad51c13368b8d84987910749b66c9283f19034602b6ea9d78317a33098041a4ff1d58bccabd1cb50d61e18e264d80e210100c642284777e7128215d1d07512c0a15e895c0ea526efd6879da6ce45704d176838a9fd48046ce7e8b38f662b75efdc9c845b623e2bc27a765d7848833b010bcda92e841c41184f846b3ce854aa6eb081230f39ac26fcae5bb1acd47821e9db08607f5ae1d43a0fc231d739d8ad58870709ea544e5e9f036431899bda20f3133a4356599fd884056c3603eda3b4a456a24a47c7a6431d404019010cbd5e9bf65f339db5dd59050aee4998c2ebc5f19da11c00f38f0fd993f1080bdda0da3a7f0b8017042a30e8667dfd964c0e833270d4ddfd4870ce34949f6a347ecf7dcff35d75d9f81bb2362802fcab6a1cce91fbcc7fd3288d9a692e5e7880b785a3591d1d2a87501d308e0eaa9ff61685f90c762fb303114c9403a389ff6fb60d52ed6e629a01828fb4be411de3e2fca1d785870b42892b84dd10be7ee37b6eae02ecb2653fb3e5244c31a0168de2c7b3b7b49a9ef7b39e5a70ebb61605c383e845f415de31aa4f8cac23590801a6e9d8ba0c76dd0b8ed2277612a20ba7f95537167a07dff060fdd651d9cc04abec793bd0d96bcd4b8856465298aafc2dc179518d6b07515840d96151882cd6a0712430eec5586595d9161eae70369dde7fe89b5c015614dac70a3f2ef60e6b75f9e1bafb79d122faf479e162034bb3ba2b9f1a0fb345024f9b33f8ffdb9ed50e0c703c379596d259b7c583ab234e9242d4eca0d2efaf3e4b43a85102c73db3dd8765d5f8c53576f60507081883c753358cd2daf1777f174cd650a69dae6a3e44932eafdb49482c6351e0d9a9daf2ebe122521fbb8d30d586446d80b07730025f934c61fae4c3e14212fa58cb4df724924dbc9fb8ae8661625f544ce87e6aeedeb7333628088fe3290c86d5936897ad14b4644591d7a090f98c591feced4dc9ec8a6dff9231bb5caba01ab772a6564028dd0d9bcda9852624865afb86661339c5094677eac99b9254db9e9c159c2ca73d9eb093993d0ed8ce19709e02181408a17d0baf6c463a97c74be87fe0377587833e2dea23e6b81718294a82bd755c7a3a77f342fab442a0f46eca0a2f9f2ebcab7683b47d818efe0373eaf4136bd8b0c3a5b79b77462a63a85441f050d8d2f4784f7da4b825504f28d1283fa1ae764560ecbb8f9a865317ac7885766c19b3881295fffcdf282ec219873b08be145fdc1c03fb46b101f1d4a6cecc56df85980a8ac5bfaf0f4bbc3ae8aaf96a932830df3f201ad727f7cbb41e1bfc4747957d43a0fe9f3524396dac2db50b49ac7f4b9c03336e853b9268e2d793b05572aa8a0addcc9f9c63327bc7a9f3ed39c634b303c61defde7639e4d5d65ef267f471fb732da82005fb2d57b296c3b48d5877ae99ff3a6a746f12fe2ea6fc6068930546ffca737635b0cf3f3e29e25d2e2867a0906cb491d7afe7eb32bed2bc308a5627132cab3fb0f430f7777d44d14c2c2f6e7532043265de107f5cf9a4892f5da0a6b138165d402849933fe7bc27ae46084293c884903d9eac38d1afc7098e165d3fb034b5ac55370d214c91a1b42ede7f8d2b0962c8944ac68a6b9a8237777a36917db9b696a964244371dcf402b278d9ccf137c0345239f04aba6032ee4752f3b74ac6965c17e2936e3d6c88c1cf4ed7d5e3a3d088fb7eb828a5ac053e5a17bdbfc38f9fbbf0cd338dd3edb23900179de4e56a3fb1727ff28dce4b80b128f6ffc37ec7487676cb39e24bfda3a81912bc97a2f88b799944d1f3a727e1e7c682d843eb13f21256bc1293f277b404f31075d38c485bfa6e63d1450236414836322d4cd04466261225418387f6ebdfdbfe0f3999e5f400a5eb7b25f6e45745bd84f7887cfc10af7e29386c20e30d3cba996bf96ebf84669b90ae2cfd5f49e0fa3be3f91674d8f35797cb8d1e5b03526a02ad9b29f30fca48ddf951b052b8e01dc0a4e5eb2bbfc48e55c788705c96bf85e162272a6e089ebc8c60106e9745caec20e77042e84029377c18de9118642b7c7d0dfccd03752e0a990cd30554719f47b644125830677bc583584c4419867c6ca8011f1899c2c5c7ff741aa9799e0c32c54ee7560f48faa50ddd2a11948f74d60250fa205c61885ae6845454d611fb1b857f3ad523ec8bbd985a5222a4e041fdd0bfc8e2f3c80a4de2b9a41962ae9fc41c24e17004f7ea4413ad3a085037670930da8701607aeed0ef8adeeb211213b0bd865d22a2dc9f0669025b97fc013493fbaae2e2f6bd65fe1ee55e7dbab823f5d8163ca00afee2d4ef04be8960575ad1f5e626185162fe129cb6b09d8a6156d197fdb70c17c09bae112c8f8d67201c1148257b9ad5356dc45b229bf654e84a56f5cd074e8423349b4193580bcbb2dd3f6b22d1101f882d0fdbae3c9f81140a2b57993ef5f45e30ed434a27ef339956d3d383b4974834fc5b2ce8527324af7049cfd41851170bf975950cd62fdbe08e68e14cd9932fd035c04582eff506f0bc1e9a687e2ff33c540cc2b4b4c6be5803161a047282c3a87948325dad9f4f1ccc520e736cfaa8cd201110a119e3a6c858f33f4574cb6314c9cd3b0afda761f12028c8067f92d64682a51f943cc314c65f4fe2860d5c7726dc73f00b4a310f9d359557c0f2367d11ccf8fd04dbf2abab38d3c04d03b09d7b5e5ce8c335abab5185a7b835e60dc568a20b75e47eddfefd039eaa4179f99ea37e9ac92c8527a514010fcecbac643b6e2deb37cd71bd4f312274d0385424cab727b963e40a03c032e352ebd66c8bf97645eb193cdbaa92b94e1eb4b645250172bbf990501d595f8de26dd8f1677f025d183c416dbe5ad8a107af418d7081d9d35d745a6c205e1fcf912b96b24ddbd78567e966f16390623d882d9671cd9ee687fb09805a9896f449ccb3ebdea78729b6993f1c605d88e03d87f139c489dbdd10b53bfa993acf1dfbd17a44bacd210426270f1ce17a83d78855a9e8a09a416a0e8b4dcd76184996e9f00aa3328b237034ca16c556ca1b302c05b3af2341b4eca39a242375aa9ddf912793e4341bf701d42c63cb917a1028154d6900719745a8286ef3a32e23cbc5d099b6a03ab177fd70c0ee45badea1d01af77dcd84e7bf949e287b2358b77b49c13cb868df38b40c154508454a15a774a1a1a54a1853c451783272feb588a975fb587a66bea904d8a5e2817ddb863f1a7532b8bf507432110d20c0eb3845d736e63be50e06f2996c69ce56eb6bbea307c4137787d7f8864e6d08eaf4f31d8c73231985b1d8c8e40ca7d0dc325ef33b42017d6b322bbc534a1e39c2ad9ab0fed1a273dd0eb92cc535052a28c90f12a807a9e9d99cd097d1940ed1dee5cebf09c42948e2c220915a2b6b759289768e2ecc05450aff89f7ce56d48996ff1e20010a8a2408021080041a8024d4dc83e9069d6e04b68be1afe10dd78d32e7ee85982e390d51ac0117fde120eda64e7c495d24906fdd6f71eae036be4d7041c7b30f7e18c6b5829c31fe81e285ccdb9b4abe455769fc45a3ff7de6c9cca03ee7525b1d5e76532eabc31b93772482a97f05e5c6b1f1f2eb6211328a39daa37e38d2443777b4ecd44f5a507f412731fec9bf59ddf3c8a90fc530ba4e7c61ac2fbea6aa5c0d93fa8409a823f1cd5e1a4da35366dab217c67af9a398d499b4478283da0b42468644e5cf98b937c3cd33d697c61d0cce71ab9aa41b87ac004c01a317e0e1f027ed6d62d954960f63d783e6031059c44084597d21af5bd9eabcf62ee11c4b74cb08c67bb49d823e051b7ecf13bef86967848931d36042f6bc0767c8369d652fae562f69835de57286632345359a048883f01de5b85fdc2cf3058f9caa8f6675a71744b7ecf28cfe6893bd0c9b0dd287d788c98406c2a60b7268bbb59e682462a7ac7346d0992409906c4f9afcc9daa235597459e06cd285670e3ad68244b69538f8a6ca5130bdec0984678f09750ee2f35de69742aecb5e8f97f36eea28083c13f656c6d9aff0a9a2cf79535d5d8495e495327c337205d37e2c2fe07a3488f5af995cd73f587be7bdaa19c586082012195d98fefb36090d61febe73a5c6213b238c4f81ddb00a3f5e07c99c338fbe9fa3ec50757920fb0cca84e7cf61fefbac36d3cf3eaad18f617eec3f8910de51c65b3671058f8cf00c375570625fbce4e4666f25e2bb789c71d7041f3482ab34f864c55caaba09704c68318ab653d776a0cfdef153d685ed2555461d4be29ced35eb29955862bfd58841c7d7e9db6ff2cbfd6a7e30fb117e17fae3bf08179531270e72ba65fb4cf93470506352541d8699d7f21de58c9751369f6fc73c3ac05e5cd82e0ba59d98a843d753d256e2d70f991a3926bbf0576d431c5b2c716346e40feddb4af20775f552a33ada83edcb3ec3d65c530da87af7569f5385d0929050190c6271e3f3c997b0f133b6008bbb68a40b468c1969fa57f17fad45ef0af76d84807bbe9242967fea3b6b1107d5d55280df67c81d658cbd565260c2098dd2d8b6fcfebe5d8ea5e783f50839e9d96b67412fb363bd101bd96db1acaa932f111f808fa6f63dc6fda4ab014f636f03ab9d4c0f0c6feb317a1e1ed99e6ffa2f1f323989e055e4c70fb72ca849c4f7f8da8bfee735ba2f64bf5253834b88d6efdf24c9311f9a6d72b627ef2369ea66b5325da0fa5d8962f77b48b00d4d88137c07090ecbad9b1cad370745311ce5db871f761da5a365789021614f7197cc9ba68da83449f2c865a4760d73e632477b6e0728f7ebdd255675f809be0327452599f9038ca72c8cc8b6ab2a85dc887dd8018d78aa87b5c5d6f3fa10dc91336d942c62c671ac01ded6fd33d388beed784f7ee927e8223af6dcbe58a66acefebc16f032a9472440ba5f81351188fd15e939cb3e45aa836c6bb5268bca705abefda657eaf19283a7a4b18bbf3a191438dddfa484566fb4d8a6c3bb956b6263b37ed8a5d7ce2db7596191bcd368d58c422f6d3b1e87bf9d4c203880e47e70e9263a79be9068fb8af64da78cba65252c787baec93a768b301f5645756b65e74e6f4936608ca51c92f4d093f3d78d19d5c5e7a0072b1e3f3d9cb51cf2dbf567116c9ed2251c916ef83036f5a13df0cfe3530fa27645b102bfb3d0fd387ff0ed667222299a812747f538613a922b6b6761b6bc5d2d27fd8275f43de08d72144e821bc782403ff5c31ee51ae2a75824176f06e7fa56bd54485f7c90d4d33b1ce2adb276dd6fea13f52caf95c61990b861049233c883b85296cb869a8e42f52c1b646d90bfc1d07bfcbd9077a5fa8114df353252dc631ab1b33448dee5612ca8e68cde8f5437362f48a160e15ca80a2ab1beedd169a4b7cda54d96779ec3bd4cf4204cde1dd4cc78419b6080232e03db7e4c6867cbacc75a79db5a2791e8c754544d4b2934ef22eacda30e966b5b49755f5571a3f84bc39bdf963372432818fd4d3ead627391fe8db3771d0041414da0fea571ff636d4c5b466901d4a0c859650fbbb48d60c7b0b13c1cc21315eb91db516d498eace237926bbad2348561a9842cb41e432e5b401e156bbf938bfcc59b7e41fe6457e17474d9121ce239b168f3ccb57669f31da296c20fae666f33ce48994261fc1c40a5af4a53a57cad7ba7bfb8e9357f3f300139a5854947073dd1af91acfdacf0b072e4f403b5e4d27591b593154b7e19171c48d2601735646d8557fe3840e0416089db1972a46bc7b670332bb5675d7c7a6084618e4bddc811b34ac234a3ad100d342cebae28646f8ae66f8e873c0c78d03c0e9323651ca7e20c4782f1f121a7760244dce21d34609cb73a3988ab196e20fb50c3049d294069d6b908bbe34c687a578389a2c2244841729cf51676c70c19db6053b98fcd0979cc63817f07453cc63269db2a857bc21aabd11c5b5d8e8b0723a517825bf3a3cfb0b4af701f28a832bd0a2fec34cb7201940e2441e10aae68e35688973e112c87e7e3b5b3207806e663ddc0480b0aef4aa316c9372b3898495a82fcb7987b77187e2a4d177a593fbc4ad4f43eaefb840dce0b047599a7d5278b455478f3b372a90fc0d374ed6ec15ebd546f014aee553b3c1ce61aec8cf8d3437f06cb49b341c1d5d4ab2cea26dae3c81d831a7eedfe7a4426e0eaf6347c8ec856ff8afbb21d5e3f80182f62c9c90580a6c5b51f1493ce1d86c9ff17da9b699b8d20e3c0017d25b585cc1fbb6d1c8f6d378d46808dcd1894840817b7aae63cc29fd88125c38bf8ae24f5566ef1e7436e44095ac259f9b0e180d8b28d72a002669502a6251df0dfeab0e65d4a9b60d0686e96d835b05520c2d7f6b8f60c3269e7f74c19ed1c8bae956f566883427bff1450595b47bd6faef597009f495a5b050f3ed829f404c38c453e045532d4526fe121f3e1e8b8c5cd65e021de38736c33eab88ddcd89adb970a991a22e45d3eddaef634b1ce61dad8a45ba3b4caa9850245cb22e288bd9aab5cc1543b8e0ae33b3a521e9f913084da1f89e62383a7c4c5cd155c4d37cb8a2d8e7ab8b1085929b6fdfada7fcbe7d8dac32db7ca4e82d3f51d17a4003ede0b623f5f52d31bea6015c8c8f7000cd73684a79ea09d752846afc7e9c3350c3055e35a3123b235d47d81af67bec16a9955a8f87618a91d1abd300bc64a6d1f9da137bccbc2c88c18020bceb8459fc307ada8ab5af99f5d07b914b7f4227edecded557558b064908520bfb6a26d06036a5a2e68e6eca2c3dd13c1c2affee45bd43debe0586ea9ca38406c6b9794ee15485b3e60b7f2cb39bf9cd59e3b924638c4f5be6df08cd201d57fef9e88d7b423f2681e2644c6cc66fd9dd22222c3b5848bb958ea29fe493780de8f217e13c4e2518cd362544ec2246ec93a9e6d0edcb0528eab7f2a4c312c3d75fbba614c7d43c3d9f3e9364ca2a9fd6ebc6d5db6cac6ad57ad1ac9ce662c553f6d1e0953452ce27972d7d3205abe5e03c41497aa94cbf6845189ab8d38444bc3d807256d42eb09bf19858612d9d54849f5bf8b705ce97e245be5d92e5e0ceace1c7fbbc8847c4ce20ba527865c3d46c8bbec564a69e60bba977258a745a01db25b09fe576e05fa64312b83936559abba8f7dae8a1a5e86cc24043d2412d85f3f34147cf885315d18e782e06fbddca6178841989b4132b272cfe7b8d8ab67daf663f33822b0ef1e55f19d547cb489a0e0cc8812b347da660ae4b9e72d4219fcc1bbfb23acf62976936b90194b84bc52ee43ec85e0afa0d3d2b78b07fbd72c195b57102f21118278700c04d9958b1518bca5c8e7e38b15e25794792b252088918bf1f74b57aa186d44db189f151ea297f595fa0883c067726a9ddae64fd63457b49f74be87f39ecda232013f13a2894f47c9676a43cea2cba888e44f796e5ad7c1b571af1a0f1dfa630adf71ec3caca041d1b7aaf7ab62f3c786a30e8a5c8929e7243975966fe46abadd72325fc35134ea81edbc3c0ece1c679740ba59b3967ae2cb7722fa9ba146bd69bc77e8b65a3038dc240e7f6119f124b44a1ec86ca96eb732fcabfecfc3f040ff6934963718265a4c3b37d003de2a8fe2364ea3f8d8b73bf8a02ced52149062e67cf866d87dc3e8eb4430a8a3b3501b32265317875515558d92e3dfb3d8ed2b3c193f7bf7ff7d405cf0fdd3e2c256dfdf879c6f3133b146d36a474e863a4320d7118066732b0bd0b743f7dc6a017af8a14c528b8f0964d72cf6728e11b896f95b96c05c27c85329745564f2392502cb5b659be3552aafcf1ddeb4a386e541a3be2668f059b7af25b84ddbd70bc51256fd3fd30ebb6b742208e6c82a43a430b7ba817e63a4acf1a4ec03f6c0e4cd1e5d02a26d9793a2ab2b157a6d37e976d5c096d5b356612fea5fc60613a38ecff3877d11e87eec414ea8cd4bf3304f8fa97ef9e1ae5671cdf4b495babc5642bdc1ff42b074d1319babc0d6f5c77ac6c38c72888bbf1572d816119f41475f4cc7c1e7aac4da242bd49d67767109f9c79e3f9bd16f2ec4e1290fd13818035804333416f7f978dae43f6f83bb1efad45365dbc6218ffd0aa73e857c8171f8c1cebad22efeb68f0414a87a2cf7c84f7c9a53d755fac78083f37306f7483bf3f49bb271babaeafd0f9225ccba9843f5f5715fc1c4f2d0c4a92eb2f73a0eaa7688c8247b3685ab0ecc704201709b1aad105f73031febb3d77ddc07412c3cd44bcffa8f9f18478a777cd635185975e49a294ec67dbc268d25cbce8d4781a5c7514052460c1a5292c08f05815f510f7371344a3441f1391cf723662a8b7c89ad742e20b2f4ee6d8566173a3ec1508194f9b24f721d0685222b924730047d96d7ca69cd00f0c03733d5ff695327ac97b4107d1c304aaf65ec8d2d3fd3763cadabfd4fda94bf19a921d0fcdb8564d4f54cae213326a57bf532ab1b64ddbe98f923407c8fd0f5464b622c9c04d4c1a60f3f4759bedb05813748e72051d766c88de80fb943ad00a702361232c6c969fddf63cf34111ac34cb0167e4cce1a83fe56e431b0a177e5aae7a53b57bcb8d8d0991dc1c99bc3a06fd9bc30fde0126464cdf3ae7e4f12bcc0f8156b5e0d66a4615a6a4ac8d27fe8b6c763aa8390cd5a2a5f44164894ead868481c393a35987642fa951876997498b6078bc5e4cdd737b15e0a1a25232533dfc0c51d9c4b747ad321b1d6da0771a1604762681fe120a379ccdff72b77610f80f3a695b4169094df7637d360addf65ebe480a10336cb164f0a05555a7887480b6c7a959dd9e7d78b95189537c8ad6070017b769e49507a10e59410c2fcae3e7c559bd46fc7eee37a95a2f4a6c3c01fa7337048d02a7b255ccf8c3536be53c89f53d7c18832c8c878f31b5b517bea6e17a768bff6ee479bed51dd9ec12c61f4086aba127dee5f67ddb52a01f9760472f159f4e2381f77ba025eb7be31a5142bb5b58dd175828a0e175421c31651aa9f0024961b06f0174d1606f280087265cc4d3b465ecfec9f1b972d1f9f5b6c3aea91fe84f97ce9a894aa0f6c36c26b429edcc47942b885937d7bb5d2ad873da7160564015d302db05c3d064fde4732947b4700c9548e8bd0a84bb3bc46e0b87b4231dcfb685274ff91c7f85741e5c2cd60e84d8722f2e24e9e608b68a710d7fae7d00ec142ba2b4948ac24aaf67ca64676f42da866aff870c827d5e779310ee645949e569a274f53751f4e20aa757c7a8b67e2865be66ec7b97ad137df8f288d1a90b80917c831eeb975983679dc2680301215da15bb3a207d96ba14baf20e336851342fd9aaa1654adeefe898a09d915bffd32a3b460cede60419aa4dde948cc7951be8dc752ce9a4e043a342192e0a8403b235071e5cd7fa68e7c00e0c7cc97c8758211e90d6ddb1921897cece550286966c1a491e0a17880e26b5ba3d918acbe1933af0f13242bcac25729b4e67d08efb19b0959454f0b6e60fcb2fca2a57aeb48e27c29be5526df29d7f878363e59d76e6879cf87ff3c46c1db5ac0d2a0c188a9a41465a2119e4a2fc542d492afe7347c23c154ed26a689224d5091763dce53f67d5bb37a84d3ea0c8ee2e5933f999e5892532c46d870225a7950e920f56f44ce937fd462f590953ec097b927e37a0b8d7d443c39a9eca5780968e5dbe4c56835369d2672e2cc2dfd33e645501668d1fbd4b991e401c24b2e22b67a492ff38858a168146471e8d50afff77870e93cf037099308d58a9de9fadab6422b3b25b7a7631eb7528714e113def7bf42ac9a3d1a08d0163c42a2cdec19e1b74f2b97d0cebd23e9b3c096f0ee2d54d744474b1e124fa7f9ff5f55f68f3bf5cfb94e5a8857ca8c7a2076eba8057a73777972b278b54ccdcca64bc157f6058fdcbfbcd98341492abb657932b0b6d23497a84a17090cc3eec2800c2246085b3ae74de1a08c14061d24800b7f3265ba37c00f5fcb4ed16687512a5b0f50d833cef4759ac845275756d21fd8d2001", + "commitment": "0x04a6783beadad0a1f4db6ce525278990eeeb752e77724d80cf0fbb861cc36833", + "slot": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "parentIndexPlusOne": 1 + } + ] +} diff --git a/examples/CRISP/packages/crisp-contracts/tests/fixtures/input-tree.json b/examples/CRISP/packages/crisp-contracts/tests/fixtures/input-tree.json index 69217b2f68..38e9aed4e1 100644 --- a/examples/CRISP/packages/crisp-contracts/tests/fixtures/input-tree.json +++ b/examples/CRISP/packages/crisp-contracts/tests/fixtures/input-tree.json @@ -1,13 +1,14 @@ { - "note": "Generated by tests/input-tree-e2e.test.ts. Asserted by crates/compute-provider.", - "inputRoot": "0x1e67888197f8ad5e52c9aa8daa94000961c564493d56bb00b71c1548389677e6", - "contractLeaf": "20703020114592395308382755468793769934578766342985256133983745482323530015080", + "note": "Generated by tests/input-tree-e2e.test.ts. Asserted by program/tests/onchain_root_agreement.rs.", + "inputRoot": "0x1ade9c021ae6826e42a57bee4cd4ec59dfe37898930d0860d2cdaacf05f5064e", + "contractLeaf": "13593275176504203661465029575122777041120943298103109219065935251286905649840", "inputs": [ { - "encryptedVote": "0x0a8a2408021080041a8024dd070e86722a8653f0cf91d335a8dd4aae2a0bab0e97e583f0384cd7873bb7299fe97333ebf2f8ea7ea922f278bfa450ab4dcb0d9f488e5d389313f447e07e52a90b6608199da240cab3259a980f8270d737ccbce21824daa6c9501fd4ed5d08a5c7d7008282c13f93a010904bab20ce2b0af7d5bb94f04ec02861c0eb3d824c553898e4025700b9b5ab391bd109dfb00f9367cc7ec2d0ad5c3d84d24e64a33c2ca7548e27f5667395f7a9fb991772f114aa3b6b770741359663ffae19cb0eb20f5dd7e5abb9fce70b1c4c0bf69c0867634fbe65cf403906ef0ae80107838e645fd6bcb7ec57a62f8a6a2bedaa0345c38c1099d15bda8c9134af6de87c12ab516721e7e10edfa5614bfdf66915cd3e887863026db53d25bd3ad63bbad036700d83edd139649554ababf54a7c90717014e0bbccd1fc265c98204877b67f18fe1eaabdd6885921d5d8ad2ba7fc97ee6c1f935cfdd71458de6fd9ac8f906d30d9ee4ec0e39cc1014b512073a5c57f9fc4a0309af3db040826ee350e96e6c329b3203e9af89824b05e6ce0b940c87375d6ddc926eec516f1ce9518d0e7344ccdc04327745d757c3ed959f19421f89d2f8e9135206d230b69e8f58ea2593bf0f92cf560803d124fc575907673978f2a4a85ede5714ecc40c6c75f0aebeab2291cd6ef3ce1750d6baab7c28952525dcda9577957d608c32bde7cf6659adea2950cee071d3a9ace6378d76890a7b2434c9940f28974b96e284d4a9b89a142e5c3c34fe606e43093b89cc9745f7f2b8bc6a7ccf91403ed82995d3df340e86edd209db23dce52a389ea74dfc72bad6ed941283367f0dd832e6ecad6326599b0c8440b105f649ffa07208f968951f03e878b02e814e189ad030f77442a3cbbfd98b43ee021ca6deda132c7b67a0e6ec8ec1c11ebcb74865cf4d414a1d9e084ae10ea80ec308603f258880b4483b2b7d18d9977f9cdebe722619fd51ea120d591beb0c3b4945d5d8174d1ca8d62e98bc4aded750b1ab4c4f701aa2b4751c3d09007b1e8961381aa16780a170de92d760ec74b6f657c528500f21adebc72a8841a761136c301c4a9a4153be29d9a1bce7e449708d45348d228450107f38699d945733abf009f74bd5d2ac8810ea0769fd5c06412396f91b75f4b8b8a0a63ce7ac5bc5d990784676a6ccbfb476da392e7dbe07fcfccb504ca7f267019b0843bf0b53028e3f8f7deb98099bd54da8f2e690ec764cc7aba32a03b21974801e04d19a1c15144b560d7865840f5723c559c186fcf0bf8369f7d86d42b309070bdd7296a4466e7c224194e60191026dc04e4523732e86dcd174fb3d35e960c09985c742e53551596c3cf10ef3eda8ca1a6bc09b3652a07e078c81358c997f2f2464810b9e052c6375e735c45f15acee8a8ef3f1d165a8c1fcf9fe916a744579c351614cc4bc9d9641b1ae344859474bc2bbb2d98e5a67e6d141c20825711af2d64dc4d30f8cbd59d0dfbde7ea0e902eef08165874fd1ba0170b0ffe1021718a8ef49d24f8d14b0e5d6e3e6bad9aa81574515a630e1ed957865d4da1c692aea2ec7b554eb98fc353cab8887ceafb134f3f1e4612721b1fd7468fca81a228aa59346ec8346d02a1b23b8b28e074a79b872628cff1ff0f7f58e77853663da4534f61b21950749d40199ffe94ba9a0257b101592d89bd8af1acd0f01a6bf3b4a8af5213e44eaacaca96ecbe569ba632c5c09d648648244c41a7ce72f78810c48fb3e9463310c270542d8eb860a0611dc2b93b0bd6a40efb81d463d5ebd6dcd9a0d4c835acc3b08187a9a4369e86e7c833fafbf8d5ec65d40021eb9e917d7a4c96abf198c0a7210dc0a449e363e19f952267f858578f55514cfeb321eb86f00ac950ba92502bc47f723e44277f123c9733c21c299dd4ddac5109fb0cc8a087741fedb2dd1a9b6ddefc92da2bb3c3ef8ca2429ea31ea3a7c37fad149ef814e5ec80e47c365567f3b21979492e51f7f3937c46fb50bade541f45891f0a43d40fed2bb284ff18d736a3c7052c92ceff66ea84f8b9ee6d980399634560d79a17e224fb61198f726daac48df5bc186f0d81cef3bb81148508697acd292239f7228a218af8694b7664c0edecd5a29fd065a37df686304cc76e501ce531519c027ce9454cc93622b2394d86deba2c2b0a1a70bc702fae900d85d29218592295df3b595e176feac3549cf1e15105e51fd01b8bce73a9d6029c3ce64a7f1b1c47b2b184a446b0f26e2e04745c65fddd997659417a3f3459024f8b31486e6281ba5279b6a082e6754fc8feb63ee9f44486bc98a2ed15d464456948a79db59e91db628e07b568a03c47cf8b33937bc4d5017397d733d188a8931e84a43c42c3a6e6788693b6e6ca5af6cbe37273d3d7c38660693ec82c701388d7130a8cec478100fca68fbdd96d171e7e21cfeaa0f6ec5b445e1bc897cc37b2bb7ad9e19d8861ff88985b8f932a7a7d5c4013bc75ba34feb9564653760289dd1c18c66dd4e8eb2257a48a1f428e590f11233c22ed0eddb8dfbadb6621f3854df503fb6f009ae354b34ef56480ba4090a0260e7559bfead5e49df43d6504420e19a6d65efd1c180417eed3989f6842b7e37944f57e1aef0d9209ae8bc2fc468dbd798cc443d0aa62a7cd8e4cdb861cef0bbfa02a8a3c597ea019e73b6f8f96188711cf3a4f3ae436db93675aec9423c52dfb4cc06cef1104ddb9b4347ad3aef82147ed9f7039f467492e043ca0ed6841c14baaef46ef6d35bbc97ace7344b2d32c3e9b4e99333defc4ad5d9c9c47c351d32ebaa334089983082fec67d34768318afd7696141e90b93b9d8dcf8831a943ff51b02bb5d4282bc6d8797b03f10c5280f951c7d914bb3bc3b60b0cddf8289eabfcc910beff63560b54778db5485f9f1ad2c50e216b77ceaa4f7aa51b493fdcd22c76f19b2cdecc9e2aa92fe9c39f973facb184bbe1c42480fe75b23f544b3dc1d93b8e790e94fb1b930ccb55d446b06de31a2942ad87a4767f7a2390aafbb3043e7f105e0ebf2d29e10a902076dda0480afc8eb1139de2be60f3321f0b796109a1b19446033191ff236609a1f6da3d5e5ea82908a3824d91ca7625e00d6e5b143cb444c76bae964f0544dcc7a497b66dd60bcf56b9da1f393ab4fb72d40364f721e70ac1b177d77304bf15baf922ff8e25379b197d2c523d39c8855cefd1a460b040be2cb46405f3224a00d0ebf277c41c1d94a0fbfc376cda6a10d1094ecedba8a906dcadceb30ee383d48ff870c4952e81f6e7bbe11fa7040498d3a832e32af7603b9e92b132363e31177b2fd1bc20d996978baa363d1d7371f3a8d7bac1af6e53c420c55e84b2dc5ae0d6f53f46a0c5165d5514342ada525c83e7ad39cd72a38e453d68bf2e730f39b33a2d500dc19f9c9c114fbfa5dfb5ca3b0974f032963854a31175a8db3460c86068cab1efb325e0237ae4b7ea9fe03ebf4570b71162142d9f92d8a4341c3ffbe904006ef90da3d5d4d779173c6aa8fc6a3f0b1831dcdc1284acacb6cdef534345e20d3f6aebdd952b552c305fd1c37ed65ce594d58eaa13c4aa38923e17586125c3773611837827db0b4d2dc0167b65efc51fecf95dce458e176f1e9bafa0424446ca656eb45e299b56a31e8aef7ea0aed17ea35a70a6ade088898407d3be19e696ef905e415955beb6ad1db52a5ace4dd13866be8e10a03f714df5a4b96f2238aeb6e64724cb4b6a23edf530a2a2992ee4e11aa744322c776bbdee50caacac2a2ed8ad9425a0d70766d79941f14970c4bea6b1303465cc0bce10f6ce76e0bd676c81c94da068d81f835b0cd37d6f7d783e412777a5d667ab9c61c1624988e07ecd94bf56ebe2ea4600400608a6b86a32ce62941224b0f238b218270304bc5c56ef87fdc21d37b1f8aa84441cb23874a220cea1eb3ac85f6e8e636df0b92a6cf2d1fcf8292ffd3bed317af883dfa4167826acb0730c51fabe01748e57c668f23405beca59e662960c0bd6c5ff9e384073f3d617a8af2470fb627a6dda8ed917c947a29a64ca6e958ffec4351ebb17d32f08d0f811ccdc171ec4fd6a4522830ce23d039eef18c1263c4cfbc1190ba01c336cf0e78ee2a161b412b083aee222cbbc573b12f1589d3bd220c985d36e13fa9a364315c734bb3dea38e111e0fae5ba4ab2400b9a8636b9072de3affc025540819aa2de7ddd2c69c45ddb98fba8efe35c5e53f0598cfc2e241528b0d90d45a8c0574a8b2f2f12b09ff5dbeb5f0623b27a2bd6d19f1f518a767cb2f475b0ae5353cbf06b099d0159df0e6b05d34ff3c3851ea73e406013cbd697a55796c19c27f9616f59a582b0530f945836528250f874c0124ef865c097807eeefb3954eb9605277b9accb9d48794a351b48cad7a9c97760f76b94aff3a3675673c90c7fb724b2abeaf962ef5e0881d011d0684335cae7009fca24702dafec8e13a40bdb0140d3e33c663818d5ea3431a3338dbd7161276200d097acb4cd8a8ac3ca7582ae4d401854718d93d6b09721bd8db492b0d8f612752aa0449955226129ef80b7d43cb58933045a5debb9a14f358ef6c744b003d9b5acb9c3fc7250a302b280b1c9e02746c0a3f1b3428e2fc1fe6eae3575e0558165654d9888e9cb406379c0bad6783fb59efb3c45eb8bbe31aba8cb563b2368985f64d36de029bf04e9fe800b9749cbdb16645b2eac1fb4270e41552c5f894f3a36469d41cbc2ab5afe12e2df29a7e320401e9c3b3e3ebce2a594918c4bd8f628599b9e5429d96854d440c50b16be3b5788f723fcef61e55d034d2f2c94d64819d922510cfae13c149fd48a6aaebf058cd74c4feb0e1387d7a06658495af47599a33ea6d8af8738860bdcfdd915807f3ce7df23debc3d80a6651cecc1812a82332335b59f1def385cc0a21d777429ef7f11d44ee640bbf1f44432562f8e2ea86263f7f4ab15fcf9082d14a184387f391f9b724d9da75296abeb5a1e9543eb4581d4b1eb081e3dae8c5bc1e5e862f454b6dc952961f32dc62f14c2edb917b851b52ad12e81ca649ef5b69ac68bff1c9cdfdf17fb8aff9f73ba071a73e5a60c09ad3adac9e2df855a20ac81e49e932f98ab570d3f94922757d16f5a8604ce5c5b6a47f00276d1ed73882bf6032f8a58c6431e7e98c66219f0ab4b9eb4f48a9c838b46f5d209c9e363755c956a0f8c5ebcdb2bfd2d2a4a3b457a77ba303e718dadaadd81a8863e1deb235ec30fd5d89e311c5ad698921f017b7c86df5513e8b1f3de301a0f348388733554e4bc325224ba2b2a5f9605a0378da47171447affcd45bd263d1fd684947263c160d962d3d991cc5d75b88a492a64aee69c356cc3c01bcf39e9d97fc0ee240f7c8b4c35746e152e8e8fd4f5d5e640c9a3895a23a61c040020729ab575a4a044b42e784582674e2e0ac4043c0dfa5749b7b4142a22bbe6a5b841a2ee4e48c57292261b6fa1697a5468e4cafb7a642fe31851c84829af7a594d933fa282aa3b6309ee23bc731374faf995a37b533cd51f8c917cc959f71dab8c7acd286552bf56e499326e85c2488b2d3e9a33ac2d809a17f39d63ba6bc953be563d56a71d3f1245b453691f9f309072f8c5b44d11022a90aefc59776efd41f0e80e3c857b591c4d6efc7f84dd409f50369ed92de01ff1a732925ad09ed881a8ff431ef6f635805d29900a218e9df89f8f4f49723c3fd72961064b0b3349d283a5e7d196d1163f32bbf09598acdf33971a4c5d0210255400e8bfa0ae4804eea3dcfa33d9a1e9e4a70a697bec581da3840cf9735cc8ebdfaa51a0c66ad73ce832b4a31e45619a9ad55ba3aa3f797f46282d17352b7e6aaf5f1b97649e4b00b7df7185e9885f30f50936e5a85b1d9925e48a8c996388bee562e1562779b85b7209d4f3f0b5bee2f626d88c5bfa50daacd9957137f2c2cf0bae4627cb4f9dc6d0cfcf024a1a1a08f2e1d8f94f5bbc55fe7a2bea3007bdff5efbf9b5bc1ee7cbcb42c43a85078af48fc070aff9139eb9bf7636125748e7b57a0698b4ceade857346bbeb7e252652b4221fc498aa24c1e92c9ffec0a28d9b367d915da079b0182cf510017db5685f787edd750ef9c2e01b5711307e33295239cf75abebdf8c2230ee53cb5ba3cc2ee590ada4654322006768c1108960fa80cac88661219d9285736ecada38c3c79498c095fcacab11a6ca214fe7235d51c4b10d771ebdafba82be0648f6abeef1a28b19e2456d7373dfff5b29ab747699b44210b8c85ea56d2959b03c820f883ddede980b0f8daefbb552fdb4347ebaddb32aff1446eca17550990386253f5701521ac6aea9e939d9c01f469c03f1ef060ff7c4b99c8f9e63b95bdfa51c10f05bbd00098f0d1ee659652dbb41c958000a5c3e9e5bd65c8970da09e28bc43db38f5020a4afb455e5d774f18aad8a6770c415860cfb6d8f9f6df18ae22a327a3999fb883f985f5a0abeb918f805a601416f191f103c2154c1f9738540cc0973400d109a4054ede8285a1c4b10ea38c1a56a52b064af220010a8a2408021080041a80246b45cd7a95f3daed086ee10ed6f8058430bb59f7713251d1df8b246baf0dddb02e2b71faea14664d5e8baf48c1e362267528ebe5a8ebad03b0024d1832538eef6b3ee387bde10b0cd1e425f4cb019e57026e8a5171c4bc90970535f2e119460f54f14b248a7bd96d6c934cabaf4c3799a0e39aebfde7ac266241ae43660de4befaf126db1a921c9abb034fd140ea14539db61da69b8e70dea08cbe760cad05bb34dd5eccf8b09abc26ae4616b7ae106e51e17f7ee40b84698ddab342e12a30ef147217735698bc4e909153547fa2fd6e872a6e7be0481d861295121a85ac6ea46f0063cac517102c8ee3b49b48a62dc1e6d28007fb670224725b09a7e32315d1cabbb42798a06d039607015081c3711b3453d46192074508f04a65ae7a97778eb29591d19a43756262fdcaab3783d8d3dd5660950c1165ec1b7f882037109bb99d3600536c2a5b324c8c3936e8bc4b261bb5b7663abc9e7e02e007b8f2c0cf475a3358deaa55bddf0027b3f2171cb3f9e43f4ce754f2e69adac495d85b1860a91d80994bf5012848441610ef2ed4dd16d8fbabdd3e89b9881c2e0ae5c238df335738ac2739d0177ea349d2af80d42e051120884aba05b3b37289070e68447d0821f7e7cd406acbd8bb10c0bc144e9d85416c3038906301526a155524a58f15829a1a5af1e6d6a06b92a1704059c8a0f4bb608c5a903da0e66ba6418c72a7a847df45066b492af1983bfdd29c6e3bfcf3337a35bbfd050623dc841855dacffda35670ea3204fdb2938621dc6c6cc3afaad761f82ae3c6f31a4a589cccffb380604b33e0ef1313fa6d940175be033767cd962a7d2b3da42a712631c41262edbd5e03486b9babb5490bf093b23673d71e2ffd573fc944c9f332d659ab74c13513ba7f4aa42663a9952d8567a4be0f3ffea65d78fbadaed39316fab7715aad607f7fa3c8690fceec6761c10168e088fc014334cd8fdb55cbcf6b4d700831731c211f25344792f584732604231a86e6850fa3b8199ae774c08dd60d80c210722fe8b7c56e5b130fec557a0e026371466c81420c48388b2eb96319014f0d4ac5be9aec453b197d302fd1af0722dde94795f24e3e7467caec718597abeb278afc4130d3c2d3010ca8145e9906f36c80a93ae090e1fd277cad1b6b96affed7a789ab6997600fdf181727eea3c9540e2768757dadb41cf46b83ac8110ee60743b41ad3b8670d9e7ca13633fc54628f04de28f650569a0bd4c994a53ff250b3603f7389156d523e75d4be52a56588b779e5f4a22087c5f901bbcbfbe567e957b059ebfca73ecb4063d2a9b7c1964370067154ef4e49501596426e5edabe29ca9472622b572a08559582fa239970adf7a77d63e52a4b6e6a04aaeb34bbbfe23c3ea2cd57978756fcdceec86a9510d563378127fa53aafdf6fbb2ad041b011a1255f8ee02f941fc3fba7e5531f0efe3fb0bc1054f6be76ee49df7f0c6de6fce1894ee17be9dddba4711e6667ea2efd165be53992c72d49bd7663c3cc3236a15d9aa59d626b8f0c278a7199fe7ce764d3595ae9597415f36b5faedab765e77088868d729104c152f52c03e6782138de94c216800f6589542e19155a0223f1143dffd4366d7450ca6cdce32135770ea6d8f926aa9578aa356dfea3121e60d5fa19968eebf6fb53c1449a6710965ab63d77f58dfaad300211a390739c264e044393b11f39f6a81fb900cf58ec72721ccd33b9c4a469d3853712919ae35c89eca79b7544b65516eecc9eb9576928083ae64233db5fd8c50d7b89656088205383fa68b631cb265a0181b72c9872a19ceaa09ecec3ca158088ca40df00b003a1fd1b8dd78bc3829980a2bb1522a1d65cadac29567836eef63d3978ed7d818eb89cd7afec136c7fd6e80ffbb2b106e9ab11e5e6ccaa0da166a87a4b7c690972689b79fe6ccd42af6b346534404bdf51eaf05ebe63d2903f5effdfcf274154c813138412725d5a09789f9d1fb620ea12f28faef2e58d400f89c4ef722782e120816811097d23ecc92252f682b98f0e2e3d27f95e99dd58fa8f078dbc2ffb31388773a88de3236ad4769119616a44452610d0a079262fefe3133de403b7b3aa5b014cf6ebc9c1d33dfc61d3c1a94725104001b429a66885663414fbfd6b0b227ca588956658b98eec0ae17aa58ddbc4d8db24541f6c4cf638dfca301efd7366d9994d5e87dbc2fcb5a8b9e6ceda52c21a5338e69671f5a7a87f306b035fe7c96cca6428c9ab28a190c2684087b025d363a51b4b32b72772eae8689c98aafcf1efa391f9fe48be4943cfc16220b622d62258aa56b91398d47cd3cf64b3c44b7a3fbdabac6c51cb60c4a941193f017921a250484fa925ca6c66cd556301f67b9d6e3b392970a9926bdbe097e5c49501b3ab932994956b6b2622c1659ce77866e2e03629d1b6c61a585b96f8f545fc2267573d0a093ecf7f37587b98d8bc88f3ced1054a752bc57fb0043c148d91727e07c0c58753635255ed09767136e5fb44c5c02f4a7fcf75d0ae61b3e425f9e26b83caaf56ca75779806c87c9ddca36a74b47186a793c362dc6433b373f2c06b8073a46b75bd7791c9047495bd0652dfe92fc7bf561578dcdcd51cb3fa5ed626c7bbc13228072a869f09dade61dd62f5cd178508b4d1d9970356095cad9350cccbc76981303db1e70e5b2e806afddf911c4da61926ad2fa9c42438fa634c88d542c093aa906b36ce6cfb28f5ef8e7a8ec756fec6fde1f11c1267609272fe331934bdf549423ce50989ee3a1883fa9841cb93809314c24db571c54a0d25f3df9b4a40d0f897838a148f2dc9f86d10fa5b45d98acdb9f431a9bf179b9f849d641e70a2cb7c703b1944dd4a8efa24bf1f698cf048d6efcbc4803aa0976d651594e5727acceb9dd7ce476002bcdb4f12a9e2c430476ead9db7b12a746e9b35c5216b098aa523c9fddbab2b273a47a7c8659982e090ec4d77658e6d1d7c3afa4a2f7a3f3a0b1c6918cf263d7e528cf812f9418384d48884868e72769bfc533c279236f756257ca2f5c2467909875a2196d435f911864ba1dbeb885215dea148f94ec8b6b269d33727bb64eb109585c3824bc759ce0d9416c4042406dd61b4dba959aaf58939a1e92ba5211188fedd093c7b96ac9a8279a4b04a53a08674fadd637bc37afc4f4355caa3d87fda455976c8b2b7675414ab00ae7b8c6ec69402deb275f52eda69e40126a50a4bf09cb1b61542728612be2dd25252e879f650b88119e7e71c80738a9525890e9906eb01516a54f4b285e17638afed601b7d5a32ea52eec78c788539be8544c858b825ff81576f7ad5565a04257abe558c4eb3d3097e62c5039978283173875e1442f1bc37297faf8fce8a1883728b05f09472a211eee634a096e12265c49637e0d83ab80ac596352b728ab42f37f5be92ee5ae80ffc1b87e95fb2f4768cddd4ab9bca1bd534df3557b52048abd227022915c3d991e4a1d7634ac9619ad93caacb54b8da71f2a92c84d592dd7d4afa24f7ba348828a07b9b30b3dd9e331cc735912843c6f811fe41daefa1d860b2f629d1c250c5323eb9a71f32d6ae75bfe99dbcc8883903f8bce3f6a7adab2b16bab17a4faf85f1992e3bd249e77176e29c4f89307901f329134b40aa6ef97f3d1cda352b14037d38cfae1e398f6ead3c1213812c0ed61bef8114ded25dae4a3052eada3f7955cdcf92afee781673c16d2f233b598870693df7759653c5d0ba1db347e66d5168a691006f9e3ee86f26b2e3588072605fd9bf9a7209892e30959da515422598f564166fde938886d01e91d21415ae78a04cc5f8c76f09ab37f3eaf9e9660435d730fc31f68afd02e465a79f5a786916ac16c7b5b975934260f0f87656c9a326a837cbfc3e2523bf2dec589447b5df7013c9556ba90b570fbe0fda7cd134eaf723c3532050fe4b654c9c091b72edf09f0b6a5f28925d5052ec45b3fbf2d1371e8bc730e7b358a314d018a0bb2eabd2f4c461144c6a2717864a79f8af836dc0f016ee1b6682b2f83550c2f35942e3ede6e07ae218b461da66dfda470c0e8e9cb12a4bf2bb59c2667c6eeac76cb1b7ee29e99d182b695085550cae315f1fd9c52c8233185f11e396602f277947c7826ba650b961a2cd4f5c649b5f70bb8fd425e8fc8750f59c781f98dd5714cad060e4a613bfdafe7d36e0936f0aeefe114acfd3035a855dfd9e5eda92f39644aaec3f01d7d261ed1da47e887e29b203970173120430a4dccc4a8da044a012773ffd002026270eb20fde00be158fcc287070e8f837665f03e90d27b7ff4f3e24c912d736ce541c558e9b7e6c169848bcba9e09ebebe9bf83c6321a7766abe44e758728880c47566edff796e8392d48cca5fe826af0a06320c784e6fae515b226a335afdfb8bca65f10c822410cf8671aec157c6f4737785cd800f226ed8231b350632bb2db69e159c2b3f76fd23329b0dbd21678e8b20c40c91c941d92cae8401139bdf4a934a14001d35994383e087a3a5d47d4bc09e2d09704d1777c621f87c0aff43a6ab8ea02b00a449c7691c98329292f590816a1781cf345b18e01fa00c20c5f1f72de21977902e7402d9a4e486deb881b788cb0af583e731cd382aa9cc97a9ac8f5e691e8a23a7f8708aff378c636fcc4f6b00872ab64063522b59f965174271287e757c5d67339b56c224d852ab41b648e05384520c5d9370d53943118bc335e80c959de01d0ee314d564a90b544d6fef2c53f120ecec6f28421f9244ba9106d852057ef5785f71c8c117499d9fd20c616200f818a1d9865a9e32e4e1ea7e8f7b4f70db7cbcc421184e03d364da7e90a6c79e7f9545f86142b8f5bb77c17a99be51c14c6b4f5a52021644d7b3a88a0f0e5c4823cfd21a8ec08f9e20003b92afbca4759bb51abaf683ce8da608b585dfc6e0bb8ba5353e687e8e2f7e46390da1b373e93a68a484685b307c952e4e9dab89788096f3ae4d3699caca6b3c0b6ddaba0be34fd85d815af71a814a0ffb630565ddbcf2eda2fbad11d83ad6cf00529b66a400a3e545afeec27d3b9a6d6a56274690067b6fec5db13c0ebbf6dc3e20665f473a826c342e78aceb985b05e70fb4544c988314aa280c7a1530fd3a3eeb91c3b61658484fa52798ded98439de79b5f7eb2fb196f2f60814dffc84e2dd74b5ad2bc6492f3a27b35bd554991bce2ed336cf8e076453508bdeb5c8f055a96c152fef3b6d1d99c4fb6db5a2233b691548a6d92d1074d461ba8b01060226c3e9bce0bc5773c6d69f762e228f6f69d9097e0c7464f05411a88a6529ee87aa3c78abcd97bdfa9cb5014addef3cb374a1e983f1ec0709f0bba6a4d5961e2b1578d0547a0899c0cd837c85d0fcad71c0e43c481df0b3329197359b8a85ea76101d17e367ab0dd2d287f5784e0d773cd0db3215b3f4a5ad723d4d19ed62d7f29e29e981ade765268460d1bf5c8c388104b63728066ebe95333110864ca1a8ed7c38b3bb185379d4067b3d2272559bc04bef1c619daa8a43610b83aa7be84fe55596a6bb477db28b5d51f1c6778fee1b3db0e1a96c49462266feab539b11b15184fc4df4745201e92f0b6c6905470475bb43cbde4b0706b9fc4869302da0a427bda3da2c4540c58644e45707109eb358632c854673867b86f55b6bf0490afc99ccbfd9fe0165d9fd60384b1b838de859ab02d4ec8180e55ab115ccde4feed751683e8a8fa738ee62baa6709ef5b071e058407cab86bfad46439cb3bc272f6e19817028a35a83e453b8525d6ecef575ea5706b2db6260a096401e11eff2b2004116bfbcbad4066aefd46ecbd4177c15e92122d8f38eb1d2bbd12f256f3d7c9bd091dcc4290791a002a42460a612d7eeba78b04cb621e3e7e912fd6564c222b7f781e4d19fe2b58cb4010a30aa151931ef6d654223edcfd280bc1d055d70987390e67f3011e2a334d62c7fbbed7c7c6158552e2d20576b48430388df2f1487347d7784f0c346fea7b10f1173121b3a3f6e2034de6c4bac16af4d1e4235cc2a8c8cafc175cbfeb6a619a04903e4e482a3c1d10870f6e52c9a7f42f68cac1b9c8d6bdad855129f051b3d71fa9cd125f0bdc17433e8793cc6e2982b7697efee4d11fce3ee1bcc95a5134c3b602ea900e98f64ce07f32f962f395222d1b92d075d3931da0f91ec3d33c4b6896c36a0893bfdb89b284aa9e53b745eaa4086ff4d56b0bdee0517c7dc8715bc9a47b49aac851e66b44306f29b4eff340844c2230e8bf7c5e0e0ccfc91995824a130dda67793f451f50374a9350f7d851ca07a86eaddaac8edfc9de67379097396b4ab44f979f0effd3ec2198c869edeff7a1a60592c48b975d6e0f04b5b3b2c95872ef6b75eb9ca0e77ff867059ca6902f45871cefcc611577b2cee5726f63a4f855f04eede2d959e22cd6d384c74fab19a226fcbe1b6b5f0b6289ca264c58444685ebebd3b3ffc3a98c17908c416977ea8a0fa4c7a15fa258f55075573b9f6ab352065b1ef7554d0cd566eace6e2001", - "commitment": "0x159f921679d2bf968b81e414accd26169a1b2d743508723f3cd23d5c284c9ef3", + "encryptedVote": "0x0a8a2408021080041a80249b1f2ccac22f3b773835b809deb9f5b9038dc298d37d6a0db63a924623b30c4ceccb59f79bba107e1387265d2a565910de308ee71f9d7561473ead878d44702d0c22a01e259dde4d8e8ef02c5a84ab6b12e6a9cf99532372b6792e7074167ee3d47611fb9f643a2983b3e5ceff322d3a4cffd886818d2ca2dd40927938dc70da3240b15b22e19cd326c78de248331252d6513fdc9fbd8ec45e6fce9047dca63dca45458d84f07e243ba35d56fe5255e51e0de0096e1bb90776c00dcc5f350e98825194f643bebbdf9e3eace6bc7c5be82a7d9d398e47d38727f6840b681780d88c41ad77f646ca4ef19b8aed4232dca7570a1a0c9ac5e7eb65ae8471d9d131d64e7322b65100a332925ef3a9181c9e6bc40593cf7697bd51b07f56017257131219ad3d6e8acf874835501d36a3395a2a2a65d8ec830d52a9b35ec0fb93dcb00a94a8af55b5020fbdc4375160da973e4a7520775cea605cc1123b117d352976adfc6d069d933bec30e6d0db6f30401db5b1e309fc97a28397af4001e3cd91afb44efa65e5296460d19fad54bc92d9ac61c38fe48a90fea5d92da448bfe2839d7339a218a3ed411cd2a999a62e539f37eb1fc9a9ab35703643915f506b70c9e816c80237bdb590c1aa2fa027addc58b1f3bb2ad75f9486d909f0906c24f8e6e2f8d21918c97e8123bc475e5d6efc3ceb25c97acfe5368715d6e5b0be59ae40b21d18c3f06d6a343cd870f8611aec6a933656e68f6940e24a483b192d445198b72b67515cddf9ec7a97230993b092804689f756957b58bf268c4267ff571576364fc3fd44c57658eafb3c45bbc7883953358a00085dbe8d5767565e789be70c6390a7c98595b5353b28d76bfed0eedaae89911baf5ba43e4eeae4450493dd8f569e99a99bc2169da6a09c05e2437d25015bdc040ce6988a4bcd12a89359265a9e464626437622860437e63256f1929c5c50b60fd19e94d2e8745ed0697544fafead4a9c68326c2558222ec2b5b9db705ea04595c9e8dff9725000613e3434a4fac2ddb9bc55bf73a8efb20e09def951f496185a81ee41dec3b31fc362f41cad542f5759a658bc57109bf774b858fd5f3bdfaf64b201688f46f87f5462e6f41fdab6419d51b70fc75ba8b2d6560b52a0fbde92d5185e3ce7312da41c6aa2d090aee8aaa7e26c67b83192330b34bfaa79e046bc8ddb726f932df5b1d1a99d8a6ba06ccb95c3824a4ee979759490bc303b1a87c52e43f48ff53aa8dddfd1dc4f0d5c15903c2c33586be9fd78961db94ddaac4edcdeabcac71fc20c64de4ea7aab51eda7c85d38264d9ec273df0917534e749a28fb08d1ad9114ce0628081e13867e9aa57345b77dff55a0b51c5276a94b978fa33adcbee8eef7c192d23fd9d47302b7149d6820b7f5bab1ffaecea9be6ba4f244a8826629e2ff4bc1ac2f18c7a5ce6a44ccbbd87b41f36474b5536bc27895d209239c020405b64833963a568566010fb53a5615b026a9288b819f43fc3b390780b2954134ad14fedf3ae6c9b32d9cf469e1380f380223970264e24e24e6fc9617233eccd52a88bdcec57ed8ac1587c25b8e3f54539b4128dd871728f9e78daceb27a004696662adc4a96406c42bf41f8e364f5b3287752eb6a65be5f7b2eba3ebbf77e98c91b3b641e9958544538bb5ed88ff520d2ef6e5c883707f57c16cc233231e794c6408ddaa6c4085485ad5c3d58cea0cfdcbf69babc69aa4a90cdcaeb7f32b06c68290eaeb996650a307ff61955afda67a6d1ccd7ac126d83dce9b6c5b59108cd36f76fe990b9c2bb636308af3096c6f74a713f1adb4d0e26a16b3504567c41cba0c2dfcba2312490f666de77e379d5c0b581248664150ab9cd486934f3cb46ffd80c4aa3aed55ed90d1daccaf4a5ca1cef158fc8712af94ce4130b40be81ad46655b42565cfb325d76a513f2e8cb361227b824c69a1d0f09198e4c2555bbf3a2252eb03f1c7fe2138ca76ff8de267a67540c9bbbb99d7819cf0135d3f0e7f8d54fde562a110d721d391b96edcaa3a7d0484e3351a02d4d1a32ad87522b225d1f68de80d2607ead8017a3731f1a3421d769019bdacda2944d48b33c5c5c6d12e36fa1362fe77f42fb85384f240c0aa5c83288d5830f76161a3927754180908249b6b4f2e2cfbf96cbf4273c3c50bfb6874e56fffa167de0ff041bfe3b4fb6c4bc3ee594d22b877f5b276847e84cf6966785e1ea3c1f6dcd168aa813a4a01d90dfd94f3040b937d293b6f89ab4a286ee55a5f06b72deb2dd3cfe87eaee8cd383ead25432c1d59e1a14baf207fdb0c011e601658d4d2422a6c0a60bf65d2637f8a02a126db3659ed9cb41875ba32160a92d9946350f24cb0f120389919829e64fff8773835981b117a445782b435f91250d0e0551967fd739e5d3e304bb6c349e683ba8a0fdfaff0e79b3085ba70be08010dc9c18f75ebcfddee168a789aebb660358446d7ecb81bdf85865f70f1468d4ecd89c4be2bd9cf6db669c41ea1ed532ca3ec29d6689455eff7945f77ced597b9e5df1a2712f7efa179baaff8086b65a77aec92d5ba5f0e03c2e03a576786c9591a6fccc911f34ca0607a6591c40757a402ec685f90eddb9ddbada02a1514d96e5be395a6224f196f739a6d4a2dbb29c91e717fdb8a9111205bf7cbdb338b6420ddd4e36fbd112b4d0cdedaf6515e08e6ae853014d41c88610b183c4ac43bb4b03a6f8bff651f5ce80ccb25e7a0154749f10611f280a3d8ebfccc1dfbb15a93b8a9b56441adb58bd62ae48efbd3ebef09fefc64c6b91fb5694e2429382919745e3d2037524ff9cc726e21aa00b34dcfab09f3f36ee001233032a429ae2896344ffddec9036451c3c23ddd07e370d185a838b8265e3b7ba07a5a5909fda8ecb389d01de499b63fb2e57dd44367119d3f6f677b69f56d227a427b6ea20d0b952c3eb0a42bb248e3eaa7ce2576ee1d0068179d660e3e620a6b65c74302b992e2c86eaca367e4c95964592778d478cb1840a68cd3f86c520978e1491ea2e584acfc9de3335b66e031e4e5e897b253c3a983485fed8a6767758a329eeecf06d68f1ea448c3cb8c60cc9f5117f3102610480cd9a9128b9d7cf1123e908117ad22a3a1c5604549f8fea755c425761e53a3a7c38c44322dc88b22fbffed255acbbdc3b18487b63925fe6796099982812f68789c18ef686b40d52d8115faeb23dbadedac73692ce9c001bf6a25e668eb8395f830e69a7c07512319f5fc6201e57f13222a62a14a6b2290567fdbdc56ce7844fbc2719bc08728a60624eb8bfb25b3b5e1556841cb314a672fcadd7e484b0f45fb0dcacbb725d4eee77d665ab6d76cde1152c056f7286a2d936a0dd7df07aa7cbcf7d963a44b45db56070262cbb8517e5072a4a225271bec9cf0632112ac7a9fd5b77fdac307cfd62a07f686cf16ea040b5974ea0750b960862b576c0f7c913f7045605921abbba3e5e77e53fcd0d3c0951d8711749e15fefb5d62d6bf860c806f4529d38fb00b4aa5176afb8e1fb769cda046a90b840cd30569da859f4718062098aaa28bb2b29dfb9bedac694a34c33979b5aa2667f355deb18c1737dffacbe0b5aa6061e22ca9b2f5234ab26bcfce2e737408c8d1a2685483a8abb6f22d8e36de4ed0592251fbcd604c7837956e970270e52a2c3eaec89351c436239d8043b323e31d14049de5834735e802324fa9f916a083924b1ce20fd75ec20acbc9dfbc7b429de8e3655d6ea04c0209d80feed20ff5dbf739b843485f2cc381d6a28b5c28b3cb46f665bfd3ee3469f7e7e363200b9553893719db417f497e22832932bd288eb269b1cc0a8fa4f2d5beba1b18d33a448b4b7086b0974a767c574267742cf57a538c0826f3d9b1cddffa4d573b4fc20bbae2986b2a1ddf108be75bdb5f29e323267754e06d25f54541a01ce17177d51f484a1c75af92bf4e09d6862e18b9864403f03e1da9a6cc03fceb575b1cdbab7cccdf8bf485fb84e1d6e08c5331d195dc6bc33d341e1b41e82b37ebeefcd866df150ad9f0a41438a8b93ccb91c4fc060fbd23475327657e01bf7504874cb816cfc8d32330a5708eb98e9af79c2a5ab059bb51cb1f338cc424c50341d9c9d57b589253982da210a353e69e556afe33f959fbd86af5358f231aa7a00525ed38ae62c0a4a237082c7fb78fb514cffde59865d446827dcf60633f649a98366c5e24442857dd89c4a2bffff27d189b0fa993abcea1724602190e3f7540d5a8abe961ccbbe8f7214ad0acee6779792a52fb0fedd6311f12a67e26132d2f920a82e931a3469ffe61432a749555b4661200d43771615709ed4d7f79d881097bd9ec53c2f59c34de49321b32fa45f289e9f0c736a0e1b4a5551b18bf18d2421f2c8d06daf892e93d3d611e2135487020e4bccb034bafdf4e6d9c12f8075915bb78536b97fb61948b4e36b32400a2b09574e1a8b24fe07647e92cd08b33fe4376aaba9a610d26082fb0a0169f6c185ed507d27bc38bd78c04f2e70a0c4e229952e0f0a4b456fa066bc389b9c9402d337ef804b63b294c142a8739a1ef5d0d0b3a66d013eda477215887df3e94dd98f2989b44d9779eae122a062baa4d65cb37daba8822c82dc769eb7d5132b04d103510fb76116dd1fb9f338a2596835acf81c6b4b0b68538b1acf33c5a7eb9436eec6ede70eb5ce6b2a4bf10a42e59bde02d7292c42bdec52ae0b7d8eb485d135b11edb5a7bc09f89513dc201276a82f10db47a04f007e4dcf763d0eb2964f32460ec313d02b6d9b9a1be9289b38939c994af310bbae0b1817fd50a24ec92c0f981aaf1f33c2f3bf160d7d2126e4f4c85675d1a279e9722860dc6f3a73f38c958cfa213299cb4fda5a6c95731b3d90ebbee1b7ce43eb4685813592e50d58c62095106cff16593a31bc61d0f661d1339b1c0b305edc1768668e4ddfb3d565285199d3f2ec765120105852e5a8bf1cac1acef37ebea6dbcd8b61de8afb80eb4f82c69d9897d29f22d5d36423068447f15cbca20eaa8735859316de6121386a6ff3bd9f503d8161ad1d931e45ffa31c40047c783026ebfce2d9d525242201a0444303242b6ede68c9a6be1307ec05acc332c9b9c9e6ddb2af9d5222eb3ffb4a6a79d3ea1362de6e30e367e84d723778747fd55323567727b42d185072ad5cd48b8eacb20798c01d57bbd629a4f85367c4613b8b09470f965733f64e4fb5e0cb693b700dc75b9a37944bb9cc7e90c338a89ab23acdf1ae06f31abcb961e46d13106b47cf783f72ee70cfbd501f27db7e48dad069303ad4856c13007aaf72df33e1c409597d93cb7a72687218193dfd16d090d1e6ee090563d2c30bf58b38dc2db74738a11dde9f218202faf9546d1030fb04079efa37209dc25929dfa1416e94d5fe955b29fb03ffb7d960f111786155c13400567dfe21ee6201ffed106f97bf86fc53585e35cb2893926b94caebade6a827220bddfb018d33516360959443fc7d65de74606256751683ab56d146eac07689c004b136dd470f98d712767ccec982345f4494f9bd34c04fbb4cedbe0e5596234c06f86a606195ef529d34e37549ad3ccc9cfaa1ae0460914b2b5ff335b0ef3c234c29eb6ee74f8a09cca632f9fa8b4b084c7b93dd70dc43e9fe8edb0a3344932e7e004b0eb1c3a8e2b5ed7e0544fb2f2400416712a2ba271a92bcd467e3c9430272755f228ccc2df99fedeeaeec72ae1cf6f070e8acd1789f9162ac79742b29b6b04bf5623520af947626fb4cac8e5adfefd832eb143ef92ba6f8f1861f75d8be893aed69d9a02535675054db118f05860fe4fc5e00b960941fb4cf9f7b78df8e3a97238257e7878ad2832f804e2a613d120641dd7d8a82ec53a979fbee8e07f577a0f71775de8b57a3aa4bc55cca17f7bc2d78cc0ceaf838ca87b827b3b9e6ea7a0d3e5ec80a08809a1083bfe6b666ef96f40dd23044819928d47159d9a89492a80b7d647b9bba4c2766509ef85f958b3577e5e52ef31c276dc150fd42dbf052f566b0f9cfbd5c0dee445c611abe72a8711d1db66e8b7cf56dcc1e449c695c483da2832415a821ba260fc0234a0df6b57bf5f73a1892d5eceaf461aaef106362459b18588fb8779b39e9b785508ebb6550b486da43558f7caa8e93eb4c64a8997b9151bcbfb1d13e930a623ad5241be63ae3690d28f33a95bc2158f5de5c477979e88d050ca6ff7f23e9b1a3228e52c800c072c65af3568a6e67607939470856ccba184a4deb35ad2ecb34db258e4cd01da4993fc177ed542615eb1113fe95ecc3df10505d1c9f04dcb794640d9b083de06bf750445fa0857b636b815780a08861424d88a3ec4e420ef12dba3bde0bbb40389abc8a4031110b67ef643cc76e488fc5f501b64ac588f8b373fb0fab03dee503f4c08bb2afbd22e5f4133dd60b86f2bba1125d022d5648f9771fa651c6f5f65ec4abc613277ed3c1f43489738b36b198e46b0b7b1a1d1a90623eb6294132e8264d5636e39293de1eddf0fb9aee4ced0d5bf20010a8a2408021080041a8024e5a92e1cb1f1969ec5c85792140ab8b6e9ceca97869755ff415665c86c24ea342692878e395361a80b62e6aefa01e1c30e526855bac7ecdceba9236568b723754b49769c380a0e5a2b6d09bf59b83e6af7353db3643ed7cc3625e0d47428f7fa136178b68b6a59c682117c3a9f9595cd9e996de7bdae4bc73ad1444020f3f109b4a63789b7e81f5234862949f0337085c8468d19d9b7a1986b94448785cd4d5501c0b85ed73cf9954478f3b92cfd3dce0f8175024f5e62151d8880453cf112b0b555b87a13f955fea4ebcd521d9533a0978b403be0c114b1f53afac54fff78c7e2d852b226a4618de8a6d15545fabcaa018cbb8c4a5804548dc1868bc31946b7bbaaed1622f7500bb9ca5aee93e865b7541f06e44e991e9502711e165dbab18606ceb2ca92a5c2bac5fc651e8f30cbc09caee38e5a50ced57d0d0e3fe9f7fb40ae49eaf53052577b2f3ca2a665e14ca761a9e6a983836ef92e60e98607eb303cbfb8518505e430bf10138814d24ab1f8beb97627969043a72ae5a1991b4d8791417952c914925c37a726f196dc91825acd65f271e554cfbc81252c26cad7ebc28cd37aed5481c8ce2e788850f6cfa33bc685164f428c23f29010db213786d0bb2d6b1fee0beebe4b6f59e1ccc8557edf49d4f1c4449e02d05d424de9a66049f46c66865c0e207b01c6ab88bb2c12b2fa6eb71c3f1312de012c7c8674fa69dd84c63b55a3a26a8645c04eebde3490c68bdd4580ec8004c21d239e6e33a402bf9e83fac0f770f9e582803a74938e244f5963f467567cf634526f5b83914013afb66db360785c78406b9633ee70353ad804efa2ae8612c441c39ff2f17f15234c5dc82289ccf26fc360096120d45091221cf484bdf8a333465caa48d7629fa45dbaa16fc49e01943667f929b02019273182b61a8f30798a57077d92ea6d0e6f8e0cfe31eea4f489c53ce515219123cd1206f74c935f0c6b4efda54f323aa0f6c5eb8ed469df9f728270d994a3a8aeb6c13bd98c04f04e75c1123a67219ceb26fc52778abf81315f8915a478438dac99a6f901005cf72f3671842ea0b33328df6d894ef065d433293442076b6f2d1310bcee109ba19f76e5bf4cf88af7d9f22e55fcc3a53f357a77d127c5d12f978f008b3e9f66fd307c64b9c84d1e7e9f3b792b1633e88fa96c9f9a364e7e666857bc3ae1738a5453f1e764c04db531be62be6ae0a15b6df2907187f34b8a8c2c630485a52dd2596f9bc7988c6715e8b5f73575ed2529cbdd75c214627a1400691e1fa99676e8b4750575170f7987ef593461ee078e464aa79e82ab87e61c20de5976fbfb118f9deeb1518c04ef492f028ff7d985cfb0ebcd52a89c1543fa151f7451d08bf4fed58f0ecd0f0b3ebd27f7970d234d99b4277e1fbb4c13337fa9c03d585b18bf5979bc97a5f967dd734392c45b671b714f3a94f5a1c9a76298bac4e92ba9207d371949c341efd4e3ce1b5ef695bd5dd6ae583aca74e20aa148e4ecb10104f1174527495a0434ca967e026cd6ef7d625012a4267b85ec2ec0f83abbe7f1e4e4ea7125b47c27ad1bc9b998ae9b24fba5e9682dc5a26b6bea7380b577f5e8e7fce5f8ad7dfbcdeb0c371f9597aa76c8e51472d9fde49b9a7d773f659f33ecf2b1fb9e72f58850d6b268a6dae6ee688da4cbd8e6538d1746a26f9c0200bc9887073a74d9127fa6d7d63c14c631ee06ea847383c3f54990cf5dc3b7243ad8a413d0256722c657a31c4ddb4858a8d5262aab86c17c546d8dc94fbbaa6397718221ecd99791967b477675e20243992af20011b4501036d5fd46b93546a4135dc28f192ed57b91c4e4b62071f2a25395b98e33170a2f9bea2d1575b5639b85145474bc52b33b57656d4d5df6294d5b1f314a58cb124fb00ff91edba5737e01da3a2a613cdb12c6921f66527be51d9dd32f57729e064bb05ec86ed1db1ad06c79015613953139abb2745538501087d31b6b303130147addaa3f14d3dfc462395387418cdf43a33f65f0a4e4ec812aa6a755180317f2a8b75d45df5790f1f1798ef445ffbc9ec04a3ff80afa853614e2ac3e614d4069a20e1e58e8748f2c404083bd2b7d01df51553eed33dbc64619eb651349686797915c8c323c138a94f7c584397497b5c62581351fe58e09512ac8927dc9d37e411c699a3248db68c8fa0ced74e943a986a90fcc9825acf618525395e67b187e2abed177bf7133671413054aa97e06addf455bf4cf71ecdfcf688b12e930f58d4e3ccc2d8ede52bbe39ec820e22a0ea57cca670f07cccfaa08574c4ef34ae8e91b6de4006df16e569873d11bdc7006513af7c027e283b9f675541e469653b66ec464f43ba4d2c210d66cbfde7ba029793ce5c526c553ca274fc25043dd770133dd41bacd1747eaa8519c701c91c6cbf920acb3d02b86df0db004cd357f94561be77c7a9c96cdcb8dedeeeb36230b2fdfca41bd60fac5561d847c230f096cbf41be07c3a28a178195bf64a354f1caf32cd4fa790eb0309b757aa7839d608538d047121baa3a6abb531c52abad25968e8e9c749a9a8b85b0254ddeb09ce59d23102743cb5fc204b16cb8d7d0188df51ba6c1f199df00304ec3332a2221a3d770da1d206fe00e922ff5a7cfd866a93b4a8f4d74fcfe7910882e1a0a08a04afac3377c7e4a912ce02731c2db2f435a95c93f02b155d29b87890aa102977b2895eeb0603c2cd26c2c628b1ae1922919fadf96646b61534c645019688d16806ff216322294a72cbaf406332b4afa898ec20ecd16cbd7549a301897b90933d8438598de70d3af643088326fc08cbb68b7bf97ab05deb028e3fb59b5a28357adf7e996da60ad80f88a8238b5081cf4e0ebfb0ea11cc9d3baf718adb74d9f9bb4d2caede01ac6f51f281bb9a7419f031cd600b85533fba7ffab3271df7d17de470cc423e6766c37a553850bb5e71e8a740b31f5d0bf89975c717a57e0959e52bfe85dd7f9c9f5ab28e772f7c0a76c6279390e52537d8ac88659ed96c2570b113d5f771bf6d6f876aa81d0664d3f6da3fc7a7b66ec4f52a1c505d9ccd453c1f82d15a93b9a73ee8f588d76173daa06db2e8f90055cc7910170836c13277baaccdff7d99132b2932918b40df2ca44e5ce13a995c2d09d2d7f05664f8efaf8013bdded858e6a46cc49229dff0c1c8350e03036c5ad1766ad6c3d15aa47423e4395425366acd0fdb66c6aeb58c7f37ab0e2a2665ea7f16b3ea32cf4d1062661102c59f0b22419c3a7abbdd6d0c346f8b1cc2979d3943c0d4cefbbc3865a175221f0cfb4425afd23fe81f7cd58c6d7c19d857db9121649d55a24dd3edf48b2c5b9f51f8acfe72847ae7f93d2051ea62e9f33daf5e8aab62d5eb61b680dba6e46315155e53aa658c2d054348db8c550ba3e6299b48e2ab720a979d94f4909b217f8f789181550a16ddc7402487304224617c021f562c4d629d0138b9b3af71535e920db064ba0cd80a17e0accfb9577e8be0acbf01dec315a376cf6f1df95e3ac39a999d6087872c911e01d7e4c369dd593de550a46560a3c65aa1cfacd8070ef5226a18466ca736c636fcf9e786d7e2089c764515eec1e9290cae9b347b8cef79df9c557a3285bf2d2f105a488c70b9a5a5f1e3eb7618339ef75c4fc8bde11382f746a301b64c030845373b1f83d2aa73af4a4a74ea6a1b0a4ffae8274d4359a7bbadad9c994441f9733f975323d6ea6b392fd53fe4ce97a568211768251675b428cae6b2f1db9a76d4fac7f7d61c3290d255cb62cff665e313482f3f106a88953c197e8e080bf69c56581e5daccb3ffb58ab553e82d87d61c3b2a53aa5be53a9166a062bda63a1da595c110ab84e665e3edf5630695e020e21e5c9ced648fd081a6e642d30df3d98ed989f2d6af4ee6bab65d768bd983985bd9a7b6f7b01d06b7fdc2cb598e98ce7da77b10436d8fc31c43d950645c03339fa347247fca6d972becf6d5f09e416116775909f2ed8fbaf7ad8a66bcdfb5f17139f9df854fd5248885f675065656d108baf7b959fb2ac33d504d80c23704ee290ec2507568dff71fc27456913ed7fd1dea0d6e2fc60e4d3b72b0b8747ea10d690b4c46bf53c4547a016b1808378c41fcdf48e65f6243b6ee7f18f31fd081763333cf76f3b5349bc4fec55c887400df780da89da2c62a80523c3beef9dc31c08d450568e0d7dea884c8cd85f7e50e88542374746ece08ee33e83e6cf2826ded585d91b4ad8a184e71e8cf6437d0f5c9fad24260b1763c336cf28d1bdff69c83c1ada98d8b318ef8688bdee29b05c7b4bb86237fa698bf07fe5431bc5b1aa5dcf05e0fab27e6cf62a6fdcbd764c71cb626581b35dd7f72c5441d115a155d7668c3596c2c5590b71e3be8098d7ccaa4c69ff4b96d7ca425881d7ee3edac08d27b0e5d766d567edaec42dc472e111309ee254586821efe3425290d83ea9631781676f12733f804356ff7a4324757cf21c80331b85e6e24369c413a95451878ca61d82a974522b6d6b9c919bbbfa5e0bb5c6fd545508f9c544daf61ba51464672a358e0ba16881da7ce4f1054f74dca15c7627f61757d5472af5a04a491c80ff8182cd85ec69bc09d96680fddf6c50e8b5f5e1f2d748a045391d635d33c7953f289c8b1f8915a8174fb445420add503983e5e5dbac6be66fc4d7b8048a0b075b63aef5c20b99528bc38112fd2db08b5ba26ca844f72218d6d6d90073e2af95bf5d8cab4f3c49038aaf503689c02acda8fb5c86986f13103a76a68ca5ff39a4f894bacc642437bc408cda502e9d7fd6542e55d6844b854c583650f5633394c7262b1f7e0ec3840d082d2e6de30e98f3a5eab2978d70cf82bea467ca86114d89643e501732cf0fd1b3ce146e2dc182e55f803b0c97dfd195ffb27d11fe14c89f9653c7ab92d98885c1bc27919c389e16312c3601cf95a390418aeb3804bbdd18e2c1ca502801b7195cbb2ede320e92223c869882789a2f5dde9ff53565b8778344f6f59d831843ac9d22245c26411da11853c2b8cf4c381540298d6ef1948c33e8c75152499f1972929d92f5dfc231d9ed0c1c865a4c1e4436296452f8572eb836569852b8add6d42b8444e2b3ca4bccbaeb2d525b002d40b1f82de7a0957ea1dc610eef8f3b47c1ae896e7acfa4d40022b736909bddcf49214351d064c54664c6dddb276ad54e72cc4733005655013e47f2a622c81e017b3d46eff2aff87c49113688615752b2280efe68b358e6778304446fe5480804892eb687286795e8abd56c7b959bd750a1b7ccf3638b75b239bf5c3c05e75b99473df92b9721cfd57aa05d505a1b9134291d3fa2aad5703ff0391b19ee26136830dfc930b0261de902e87dfa4eb1ba4bc3fe01387aea1906ed4091586c92ec32148e8ca13aa2c92d776b7882f72930f2d59338707f22e3cb7664934f8e59f523548eb6bcd9093be48b54b30068511be0fed3520dc79898f70a132b055d1d2cad0b7e00a4259b1bd0d1f4b7f7a389498e2935a62b0253ead5529eb8544d9f32799e7cc8c698d01cec933fd4e90b4879ceda06452654462d47c43ed88f6a7caf1d51d97d225586bf555b4a76b08e2eb9c57bf795d5a4867845cafe99d527413dc4e43c706abb416a22f3b72e0c1fc6f2b2b6826eda824e1d516cb48095c96fbb758a675fc2468199b4213e84a7e04f88b650b7d589bd01f0b753e78a2bea6d9fafb5686bb1d6eea7b99899a1ab7d5a6207af794813d7da5b58315c1c104580c24bb9cb0abc3d9769857633616b192ccb0b489ad8a657f43da0889face7eacf53458c347b1d028d637605ec982343d86ee045b8f1b866b369892c1c06272c72bfba52db79362736d416be4f5116c127f18672132f554b40a02545b66885ba1dec483da1b2df0f11fb8dff81e3da29f938fbb219eddacb25cdd831b8934b2a832e05bbf26070c3945f12f66bd7327797e474186b2abddd964bb8870f65f234cca5b1bfe0f9162c0a72632ff1e55a7aedce5a21cbbceb7c92933d8b85a5e9ffe7ddc09289b74a7c3d79e929ce1308901a7e036a28891d4f20ce1aab1ea68ef575573ef4ac1fa716f5e1fc87b010da49f297408b9c0bd8aa4358371fd60a28c6347b0a416d58d05599cb90eb108bc80c91589b4bba379ea43c13df9a0100783bcbead346bab874e5b034df01f17fb37e9671818a6afb0e6cc9d8e679c4e2fb8c2021d12aa5624403f86f4205fb7dbd3cc7e6b2e82844995e3410a8c287dd6c99f9743d3328284808056e5b0ce028db9ca1ac85e56f2637dd9143cdd4447c77628e244c758c195f51ac02fec2573ab4ac5f323c1879682f6642a613564021aeb9fc2060932013ed9427f2e827c40332ab51ac9e42d85811d4fc09e0f06eb44bb937793a1a44cc40edbf7927d00a4709831090eafba8af6f12ef9f22ffe30439a63b941e8f1b90afba201aaeba94070f9782756e687313c7aa4ba048519a3264a64cbe5b072b569afadbe13b408d69bc3c25ed6de85a1856ef69cecb4ce2001", + "commitment": "0x0c0bf1e664bca23544597f46787cce734c912469953e4e5e02d7a48bd1ee9847", "slot": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", - "preparedCommitment": "0x159f921679d2bf968b81e414accd26169a1b2d743508723f3cd23d5c284c9ef3" + "parentIndexPlusOne": 0, + "preparedCommitment": "0x0c0bf1e664bca23544597f46787cce734c912469953e4e5e02d7a48bd1ee9847" } ] } diff --git a/examples/CRISP/packages/crisp-contracts/tests/input-leaf.test.ts b/examples/CRISP/packages/crisp-contracts/tests/input-leaf.test.ts index 2414aeb274..1ee09167c3 100644 --- a/examples/CRISP/packages/crisp-contracts/tests/input-leaf.test.ts +++ b/examples/CRISP/packages/crisp-contracts/tests/input-leaf.test.ts @@ -11,13 +11,14 @@ import type { CRISPProgram } from '../types' const SNARK_SCALAR_FIELD = 21888242871839275222246405745257275088548364400416034343698204186575808495617n -/// The same vector is asserted by `leaf_layout_matches_the_contract` in -/// `crates/compute-provider/src/compute_input.rs`. If either side changes, both tests fail. +/// The same vector is asserted by `the_leaf_matches_the_contract_vector` in +/// `program/tests/input_leaf.rs`. If either side changes, both tests fail. const VECTOR = { ciphertext: '0x' + Buffer.from(Array.from({ length: 64 }, (_, i) => i)).toString('hex'), commitment: '0x' + 'ab'.repeat(32), slot: '0x' + 'cd'.repeat(20), - leaf: 3005744733328395831398716072572247490877798047068525662443106668216528579058n, + parentIndexPlusOne: 0, + leaf: 10659496726189475271708972402425950109424933772832069858355301832948309535156n, } /// The input tree leaf binds the published ciphertext bytes to the commitment the Noir proof @@ -39,7 +40,10 @@ describe('CRISPProgram input leaf', function () { crispProgram = await deployCRISPProgram() }) - function expectedLeaf(ciphertext: string, commitment: string, slot: string): bigint { + function expectedLeaf(ciphertext: string, commitment: string, slot: string, parentIndexPlusOne: number): bigint { + const parent = Buffer.alloc(5) + parent.writeUIntBE(parentIndexPlusOne, 0, 5) + const inner = createHash('sha256') .update(Buffer.from(ciphertext.slice(2), 'hex')) .digest() @@ -47,18 +51,19 @@ describe('CRISPProgram input leaf', function () { .update(inner) .update(Buffer.from(commitment.slice(2), 'hex')) .update(Buffer.from(slot.slice(2), 'hex')) + .update(parent) .digest() return BigInt('0x' + outer.toString('hex')) % SNARK_SCALAR_FIELD } it('matches the shared cross-language vector', async () => { - const leaf = await crispProgram.inputLeaf(VECTOR.ciphertext, VECTOR.commitment, VECTOR.slot) + const leaf = await crispProgram.inputLeaf(VECTOR.ciphertext, VECTOR.commitment, VECTOR.slot, VECTOR.parentIndexPlusOne) expect(leaf).to.equal(VECTOR.leaf) }) - it('is sha256(sha256(bytes) || commitment || slot) reduced into the scalar field', async () => { - const leaf = await crispProgram.inputLeaf(VECTOR.ciphertext, VECTOR.commitment, VECTOR.slot) - expect(leaf).to.equal(expectedLeaf(VECTOR.ciphertext, VECTOR.commitment, VECTOR.slot)) + it('is sha256(sha256(bytes) || commitment || slot || parent) reduced into the scalar field', async () => { + const leaf = await crispProgram.inputLeaf(VECTOR.ciphertext, VECTOR.commitment, VECTOR.slot, VECTOR.parentIndexPlusOne) + expect(leaf).to.equal(expectedLeaf(VECTOR.ciphertext, VECTOR.commitment, VECTOR.slot, VECTOR.parentIndexPlusOne)) }) it('always produces a leaf the Poseidon tree accepts', async () => { @@ -66,7 +71,7 @@ describe('CRISPProgram input leaf', function () { for (let i = 0; i < 8; i += 1) { const ciphertext = ethers.hexlify(ethers.randomBytes(96)) const commitment = ethers.hexlify(ethers.randomBytes(32)) - const leaf = await crispProgram.inputLeaf(ciphertext, commitment, ethers.hexlify(ethers.randomBytes(20))) + const leaf = await crispProgram.inputLeaf(ciphertext, commitment, ethers.hexlify(ethers.randomBytes(20)), i) expect(leaf).to.be.lessThan(SNARK_SCALAR_FIELD) } }) @@ -74,35 +79,44 @@ describe('CRISPProgram input leaf', function () { it('changes when the ciphertext bytes change', async () => { // This is the property the whole fix rests on: swapping the bytes beside a valid commitment // must be visible. - const a = await crispProgram.inputLeaf(VECTOR.ciphertext, VECTOR.commitment, VECTOR.slot) - const b = await crispProgram.inputLeaf(VECTOR.ciphertext.replace(/0f/, '1f'), VECTOR.commitment, VECTOR.slot) + const a = await crispProgram.inputLeaf(VECTOR.ciphertext, VECTOR.commitment, VECTOR.slot, 0) + const b = await crispProgram.inputLeaf(VECTOR.ciphertext.replace(/0f/, '1f'), VECTOR.commitment, VECTOR.slot, 0) expect(a).to.not.equal(b) }) it('changes when the commitment changes', async () => { - const a = await crispProgram.inputLeaf(VECTOR.ciphertext, VECTOR.commitment, VECTOR.slot) - const b = await crispProgram.inputLeaf(VECTOR.ciphertext, '0x' + 'ef'.repeat(32), VECTOR.slot) + const a = await crispProgram.inputLeaf(VECTOR.ciphertext, VECTOR.commitment, VECTOR.slot, 0) + const b = await crispProgram.inputLeaf(VECTOR.ciphertext, '0x' + 'ef'.repeat(32), VECTOR.slot, 0) expect(a).to.not.equal(b) }) it('does not let the two fields be traded off against each other', async () => { // Hashing the bytes before concatenating means the boundary between the two fields is fixed, // so no pair of (bytes, commitment) can be rearranged into another pair with the same leaf. - const a = await crispProgram.inputLeaf('0x' + 'aa'.repeat(32) + 'bb'.repeat(32), '0x' + '11'.repeat(32), VECTOR.slot) - const b = await crispProgram.inputLeaf('0x' + 'aa'.repeat(32), '0x' + 'bb'.repeat(32), VECTOR.slot) + const a = await crispProgram.inputLeaf('0x' + 'aa'.repeat(32) + 'bb'.repeat(32), '0x' + '11'.repeat(32), VECTOR.slot, 0) + const b = await crispProgram.inputLeaf('0x' + 'aa'.repeat(32), '0x' + 'bb'.repeat(32), VECTOR.slot, 0) expect(a).to.not.equal(b) }) it('accepts an empty ciphertext without reverting', async () => { - const leaf = await crispProgram.inputLeaf('0x', VECTOR.commitment, VECTOR.slot) - expect(leaf).to.equal(expectedLeaf('0x', VECTOR.commitment, VECTOR.slot)) + const leaf = await crispProgram.inputLeaf('0x', VECTOR.commitment, VECTOR.slot, 0) + expect(leaf).to.equal(expectedLeaf('0x', VECTOR.commitment, VECTOR.slot, 0)) }) it('changes when the slot changes', async () => { // The tree is append-only and the Secure Process groups entries by slot, so a prover must not // be able to move an entry to a different slot. - const a = await crispProgram.inputLeaf(VECTOR.ciphertext, VECTOR.commitment, VECTOR.slot) - const b = await crispProgram.inputLeaf(VECTOR.ciphertext, VECTOR.commitment, '0x' + '01'.repeat(20)) + const a = await crispProgram.inputLeaf(VECTOR.ciphertext, VECTOR.commitment, VECTOR.slot, 0) + const b = await crispProgram.inputLeaf(VECTOR.ciphertext, VECTOR.commitment, '0x' + '01'.repeat(20), 0) + expect(a).to.not.equal(b) + }) + + it('changes when the parent changes', async () => { + // The Secure Process walks each slot's chain by the parent, so an unbound parent would let a + // prover re-point entries and change which one holds the slot. + const a = await crispProgram.inputLeaf(VECTOR.ciphertext, VECTOR.commitment, VECTOR.slot, 0) + const b = await crispProgram.inputLeaf(VECTOR.ciphertext, VECTOR.commitment, VECTOR.slot, 1) expect(a).to.not.equal(b) + expect(b).to.equal(expectedLeaf(VECTOR.ciphertext, VECTOR.commitment, VECTOR.slot, 1)) }) }) diff --git a/examples/CRISP/packages/crisp-contracts/tests/input-tree-e2e.test.ts b/examples/CRISP/packages/crisp-contracts/tests/input-tree-e2e.test.ts index c419411b8c..5e31fc0aee 100644 --- a/examples/CRISP/packages/crisp-contracts/tests/input-tree-e2e.test.ts +++ b/examples/CRISP/packages/crisp-contracts/tests/input-tree-e2e.test.ts @@ -30,9 +30,10 @@ const publicKey = keys.publicKey /// Where the Rust side reads the same tree from. /// Regenerate with `UPDATE_INPUT_TREE_FIXTURE=1 pnpm test`, then re-run -/// `cargo test -p e3-compute-provider`. +/// `cargo test -p e3-user-program`. const FIXTURE = fileURLToPath(new URL('fixtures/input-tree.json', import.meta.url)) const APPEND_FIXTURE = fileURLToPath(new URL('fixtures/input-tree-append.json', import.meta.url)) +const REVOTE_FIXTURE = fileURLToPath(new URL('fixtures/input-tree-revote.json', import.meta.url)) /// End-to-end over the seam that no single-language test can cover. /// @@ -42,8 +43,8 @@ const APPEND_FIXTURE = fileURLToPath(new URL('fixtures/input-tree-append.json', /// other symptom. /// /// This test drives the real path — real BFV ciphertexts, real Noir proofs, real `publishInput` — -/// and records the resulting tree so `input_tree_fixture_matches_the_chain` in -/// `crates/compute-provider` can assert that Rust reproduces the exact on-chain root. +/// and records the resulting tree so `program/tests/onchain_root_agreement.rs` can assert that Rust +/// reproduces the exact on-chain root. describe('CRISPProgram input tree (e2e)', function () { this.timeout(600000) @@ -93,7 +94,10 @@ describe('CRISPProgram input tree (e2e)', function () { /// A mask over an existing ciphertext: a zero vote that anyone may append to an occupied slot. /// No signature is checked on this path, which is what makes the poisoning case reachable. - async function buildMaskOver(previousCiphertext: Uint8Array): Promise { + async function buildMaskOver( + previousCiphertext: Uint8Array, + previousIndex: number, + ): Promise { const prepared = await prepareBallot({ censusMode: 'merkle', vote: [0, 0], @@ -104,12 +108,59 @@ describe('CRISPProgram input tree (e2e)', function () { isMaskVote: true, numOptions: 2, previousCiphertext, + previousIndex, }) - // `finalCtCommitment`, not `ctCommitment`: for a mask over an existing ballot the contract - // stores the commitment of the summed ciphertext, and the digest is built over that. - const digest = (await crispProgram.ballotDigest(e3Id, address, prepared.finalCtCommitment)) as `0x${string}` + // One commitment for every branch: `ctCommitment` is the commitment of the ciphertext this + // input publishes, which for a mask over an occupied slot is the sum. The contract stores that + // and builds the digest over it. + const digest = (await crispProgram.ballotDigest(e3Id, address, prepared.ctCommitment)) as `0x${string}` const proof = await finishMaskProof(prepared, digest) - return { ...proof, ctCommitment: prepared.finalCtCommitment } + return { ...proof, ctCommitment: prepared.ctCommitment } + } + + /// A real re-vote: `isMaskVote: false` over a slot that already holds a ballot. + /// + /// The digest is built over `prepared.ctCommitment` exactly as a first vote and a mask are. A + /// re-vote replaces rather than adds, so that commitment is the new ballot's own — but the caller + /// does not have to know which, and nothing about the request says so. + async function buildReVote( + vote: number[], + previousCiphertext: Uint8Array, + previousIndex: number, + ): Promise { + const [signer] = await ethers.getSigners() + const prepared = await prepareBallot({ + censusMode: 'merkle', + vote, + publicKey, + merkleLeaves: leaves, + balance, + slotAddress: address, + isMaskVote: false, + numOptions: 2, + previousCiphertext, + previousIndex, + }) + + const digest = (await crispProgram.ballotDigest(e3Id, address, prepared.ctCommitment)) as `0x${string}` + const domain = { + name: 'CRISP', + version: '1', + chainId: (await ethers.provider.getNetwork()).chainId, + verifyingContract: await crispProgram.getAddress(), + } + const types = { + Ballot: [ + { name: 'e3Id', type: 'uint256' }, + { name: 'slot', type: 'address' }, + { name: 'ciphertextCommitment', type: 'bytes32' }, + ], + } + const message = { e3Id, slot: address, ciphertextCommitment: prepared.ctCommitment } + const ballotSignature = (await signer.signTypedData(domain, types, message)) as `0x${string}` + + const proof = await finishBallotProof(prepared, digest, ballotSignature) + return { ...proof, ctCommitment: prepared.ctCommitment } } before(async function () { @@ -142,7 +193,7 @@ describe('CRISPProgram input tree (e2e)', function () { expect(inputRoot, 'the round must have an input root after publishing').to.not.equal(0n) const record = { - note: 'Generated by tests/input-tree-e2e.test.ts. Asserted by crates/compute-provider.', + note: 'Generated by tests/input-tree-e2e.test.ts. Asserted by program/tests/onchain_root_agreement.rs.', inputRoot: `0x${BigInt(inputRoot).toString(16).padStart(64, '0')}`, // publicInputs[7] is the commitment `publishInput` actually stores; recorded alongside the // prepared one so a divergence between them is visible rather than silent. @@ -151,6 +202,7 @@ describe('CRISPProgram input tree (e2e)', function () { `0x${Buffer.from(ballot.encryptedVote).toString('hex')}`, ballot.publicInputs[7], address, + ballot.parentIndexPlusOne, ) ).toString(), inputs: [ @@ -158,6 +210,7 @@ describe('CRISPProgram input tree (e2e)', function () { encryptedVote: `0x${Buffer.from(ballot.encryptedVote).toString('hex')}`, commitment: ballot.publicInputs[7], slot: address, + parentIndexPlusOne: ballot.parentIndexPlusOne, preparedCommitment: ballot.ctCommitment, }, ], @@ -175,6 +228,7 @@ describe('CRISPProgram input tree (e2e)', function () { record.inputs[0].encryptedVote, record.inputs[0].commitment, record.inputs[0].slot, + record.inputs[0].parentIndexPlusOne, ) expect(expectedLeaf).to.not.equal(0n) @@ -214,11 +268,12 @@ describe('CRISPProgram input tree (e2e)', function () { // The leaf reflects the forged bytes, so the Secure Process still reproduces the root while // being able to see that this input does not match its commitment. - const forgedLeaf = await crispProgram.inputLeaf('0xdeadbeef', ballot.publicInputs[7], address) + const forgedLeaf = await crispProgram.inputLeaf('0xdeadbeef', ballot.publicInputs[7], address, ballot.parentIndexPlusOne) const honestLeaf = await crispProgram.inputLeaf( `0x${Buffer.from(ballot.encryptedVote).toString('hex')}`, ballot.publicInputs[7], address, + ballot.parentIndexPlusOne, ) expect(forgedLeaf).to.not.equal(honestLeaf) } finally { @@ -226,12 +281,18 @@ describe('CRISPProgram input tree (e2e)', function () { } }) - /// Append-only, on chain, with a real mask over the ballot already in the slot. + /// Append-only, on chain, with real masks over the ballot already in the slot. /// /// This is the poisoning case end to end: a genuine mask proof, published beside bytes that are - /// not the summed ciphertext it proved. The contract cannot reject it. What has to hold is that - /// the victim's original entry is still a leaf, so the Secure Process can fall back to it. - it('appends a second entry to a slot instead of replacing the first', async function () { + /// not the summed ciphertext it proved. The contract cannot reject it — nothing on chain can tell + /// that the bytes are wrong. What has to hold is that the slot stays writable: because the + /// poisoned entry is never selected, it is never a valid parent either, so the next honest mask + /// names the same parent it did and takes the slot. + /// + /// That is what stops the poisoning being a coercion receipt. A slot nobody can mask is one where + /// every later input is provably its owner voting again, which is exactly the receipt masks exist + /// to destroy. + it('lets an honest mask follow a poisoned one, over the same parent', async function () { const appendE3Id = await mockInterfold.nextE3Id() await mockInterfold.request(await crispProgram.getAddress()) const previous = e3Id @@ -248,7 +309,7 @@ describe('CRISPProgram input tree (e2e)', function () { expect(await crispProgram.getSlotIndex(appendE3Id, address)).to.equal(0n) // A third party masks over the slot. No signature is checked on this path. - const mask = await buildMaskOver(ballot.encryptedVote) + const mask = await buildMaskOver(ballot.encryptedVote, 0) const poisoned = { ...mask, encryptedVote: new Uint8Array([0xde, 0xad, 0xbe, 0xef]) } await crispProgram.publishInput(appendE3Id, encodeSolidityProof(poisoned)) @@ -257,20 +318,43 @@ describe('CRISPProgram input tree (e2e)', function () { // Append-only: the poisoned entry is a new leaf, and the honest one is untouched at index 0. expect(votesAfterSecond, 'the second entry is a new leaf').to.equal(2n) expect(rootAfterSecond).to.not.equal(rootAfterFirst) - expect(await crispProgram.getSlotIndex(appendE3Id, address)).to.equal(1n) + + // The recovery. The poisoned entry cannot be a parent, so an honest mask names index 0 — the + // same parent the poisoned one named — and the contract accepts it. + const recovery = await buildMaskOver(ballot.encryptedVote, 0) + await crispProgram.publishInput(appendE3Id, encodeSolidityProof(recovery)) + + const [, , , , rootAfterThird, votesAfterThird] = await crispProgram.getRoundData(appendE3Id) + expect(votesAfterThird, 'the recovery is a third leaf').to.equal(3n) + + // Naming the poisoned entry is refused on chain as well, but only because its commitment is + // recorded: the contract still cannot tell the bytes were wrong. + expect(await crispProgram.inputCommitmentOf(appendE3Id, address, 1)).to.equal(mask.publicInputs[7]) if (process.env.UPDATE_INPUT_TREE_FIXTURE === '1') { const record = { - note: 'Generated by tests/input-tree-e2e.test.ts. Asserted by crates/compute-provider.', - inputRoot: `0x${BigInt(rootAfterSecond).toString(16).padStart(64, '0')}`, - honestIndex: 0, + note: 'Generated by tests/input-tree-e2e.test.ts. Asserted by program/tests/onchain_root_agreement.rs.', + inputRoot: `0x${BigInt(rootAfterThird).toString(16).padStart(64, '0')}`, + honestIndex: 2, inputs: [ { encryptedVote: `0x${Buffer.from(ballot.encryptedVote).toString('hex')}`, commitment: ballot.publicInputs[7], slot: address, + parentIndexPlusOne: ballot.parentIndexPlusOne, + }, + { + encryptedVote: '0xdeadbeef', + commitment: mask.publicInputs[7], + slot: address, + parentIndexPlusOne: mask.parentIndexPlusOne, + }, + { + encryptedVote: `0x${Buffer.from(recovery.encryptedVote).toString('hex')}`, + commitment: recovery.publicInputs[7], + slot: address, + parentIndexPlusOne: recovery.parentIndexPlusOne, }, - { encryptedVote: '0xdeadbeef', commitment: mask.publicInputs[7], slot: address }, ], } mkdirSync(dirname(APPEND_FIXTURE), { recursive: true }) @@ -280,4 +364,47 @@ describe('CRISPProgram input tree (e2e)', function () { e3Id = previous } }) + + /// A voter must be able to change their mind, and the new ballot must be the one tallied. + /// + /// Writes a fixture so `rust_tallies_the_re_vote` can assert which entry the Secure Process + /// selects. The published bytes and the stored commitment have to describe the same ciphertext, + /// or the re-vote is excluded and the voter is silently stuck with their first choice. + it('publishes a real re-vote to a slot that already holds a ballot', async function () { + const revoteE3Id = await mockInterfold.nextE3Id() + await mockInterfold.request(await crispProgram.getAddress()) + const previous = e3Id + e3Id = revoteE3Id + + try { + const first = await buildBallot([4, 0]) + await mockInterfold.setCommitteePublicKey(first.publicInputs[8]) + await crispProgram.setMerkleRoot(revoteE3Id, generateMerkleTree(leaves).root) + await crispProgram.publishInput(revoteE3Id, encodeSolidityProof(first)) + + const second = await buildReVote([0, 9], first.encryptedVote, 0) + await crispProgram.publishInput(revoteE3Id, encodeSolidityProof(second)) + + const [, , , , root, votes] = await crispProgram.getRoundData(revoteE3Id) + expect(votes, 'the re-vote is appended').to.equal(2n) + + if (process.env.UPDATE_INPUT_TREE_FIXTURE === '1') { + const record = { + note: 'Generated by tests/input-tree-e2e.test.ts. Asserted by program/tests/onchain_root_agreement.rs.', + inputRoot: `0x${BigInt(root).toString(16).padStart(64, '0')}`, + reVoteIndex: 1, + inputs: [first, second].map((b) => ({ + encryptedVote: `0x${Buffer.from(b.encryptedVote).toString('hex')}`, + commitment: b.publicInputs[7], + slot: address, + parentIndexPlusOne: b.parentIndexPlusOne, + })), + } + mkdirSync(dirname(REVOTE_FIXTURE), { recursive: true }) + writeFileSync(REVOTE_FIXTURE, `${JSON.stringify(record, null, 2)}\n`) + } + } finally { + e3Id = previous + } + }) }) diff --git a/examples/CRISP/packages/crisp-sdk/README.md b/examples/CRISP/packages/crisp-sdk/README.md index fcaad3e6e0..3ce9eb5ec5 100644 --- a/examples/CRISP/packages/crisp-sdk/README.md +++ b/examples/CRISP/packages/crisp-sdk/README.md @@ -151,8 +151,11 @@ const address = await getAddressFromSignature(signature, messageHash) ```typescript import { getPreviousCiphertext } from '@crisp-e3/sdk' -const previousCiphertext = await getPreviousCiphertext(serverUrl, e3Id, slotAddress) -// Returns undefined when the slot is empty (404) +const head = await getPreviousCiphertext(serverUrl, e3Id, slotAddress) +// { ciphertext, index }, or undefined when the slot holds nothing usable (404). +// `index` is the entry a new input names as its parent. It is the end of the slot's chain of +// usable entries, not simply the newest one published: an entry whose bytes do not reproduce its +// commitment is never selected by the Secure Process, and never a valid parent. ``` ## API diff --git a/examples/CRISP/packages/crisp-sdk/src/circuitInputs.ts b/examples/CRISP/packages/crisp-sdk/src/circuitInputs.ts index 9e01a0e557..88437ca581 100644 --- a/examples/CRISP/packages/crisp-sdk/src/circuitInputs.ts +++ b/examples/CRISP/packages/crisp-sdk/src/circuitInputs.ts @@ -4,7 +4,7 @@ // without even the implied warranty of MERCHANTABILITY // or FITNESS FOR A PARTICULAR PURPOSE. -import { getZkInputsGenerator, encodeVote, encryptVote } from './encoding' +import { getZkInputsGenerator, encodeVote } from './encoding' import { extractSignatureComponents, generateMerkleProof, getZeroVote, numberArrayToBigInt64Array } from './utils' import type { PreparedBallot, PrepareBallotInputs } from './types' @@ -37,6 +37,11 @@ export const splitDigest = (digest: `0x${string}`): { digestHi: `0x${string}`; d * ciphertext has to exist first. The returned `ctCommitment` is what `CRISPProgram.ballotDigest` * takes as its `ciphertextCommitment` argument. * + * One path for all three operations. A first vote, a re-vote, and a mask reach the same generator + * with the same arguments, differ only in `isMaskVote` — which stays private to the proof — and + * produce the same shape of submission. Branching here would make the three tellable apart by + * anything watching the client, which is what masks exist to prevent. + * * Kept in a separate module so it can run in a worker. * * @param inputs The ballot to prepare. @@ -46,32 +51,20 @@ export const prepareCircuitInputsImpl = async (inputs: PrepareBallotInputs): Pro const zkInputsGenerator = getZkInputsGenerator() const numOptions = inputs.isMaskVote ? inputs.numOptions : inputs.vote.length - const zeroVote = getZeroVote(numOptions) - const vote = inputs.isMaskVote ? zeroVote : inputs.vote + const vote = inputs.isMaskVote ? getZeroVote(numOptions) : inputs.vote const encodedVote = encodeVote(vote) - let circuitInputs: any - let encryptedVote: Uint8Array - - if (!inputs.previousCiphertext) { - const result = await zkInputsGenerator.generateInputs( - encryptVote(zeroVote, inputs.publicKey), - inputs.publicKey, - numberArrayToBigInt64Array(encodedVote), - ) + // Only a mask adds to what the slot already holds. A vote replaces it, so a voter cannot have + // their old ballot counted alongside the new one. The circuit derives the same choice from + // `is_mask_vote` and rejects any witness built the other way. + const keepPrevious = inputs.isMaskVote && !!inputs.previousCiphertext - circuitInputs = result.inputs - encryptedVote = result.encryptedVote - } else { - const result = await zkInputsGenerator.generateInputsForUpdate( - inputs.previousCiphertext, - inputs.publicKey, - numberArrayToBigInt64Array(encodedVote), - ) - - circuitInputs = result.inputs - encryptedVote = result.encryptedVote - } + const { inputs: circuitInputs, encryptedVote } = await zkInputsGenerator.generateInputs( + inputs.previousCiphertext, + inputs.publicKey, + numberArrayToBigInt64Array(encodedVote), + keepPrevious, + ) circuitInputs.slot_address = inputs.slotAddress.toLowerCase() circuitInputs.is_first_vote = !inputs.previousCiphertext @@ -93,18 +86,20 @@ export const prepareCircuitInputsImpl = async (inputs: PrepareBallotInputs): Pro circuitInputs.merkle_proof_siblings = merkleProof.proof.siblings.map((s) => s.toString()) } + // The commitment to `encryptedVote`, which is the ciphertext this ballot publishes: the ballot + // itself for a vote or a re-vote, the slot plus the zero ballot for a mask over an occupied slot. + // The circuit returns the same value as `final_ct_commitment`, `CRISPProgram` stores it, and + // `CRISPProgram.ballotDigest` is built over it — so it is what a voter has to sign, and it has to + // be known before proving because the digest is itself a circuit input. + // // Exported by the wasm alongside the witness. Recomputing it here would have to match // `compute_ciphertext_commitment` exactly, so it is carried across instead. - const ctCommitment = `0x${BigInt(circuitInputs.ct_commitment).toString(16).padStart(64, '0')}` as `0x${string}` + const ctCommitment = `0x${BigInt(circuitInputs.sum_ct_commitment).toString(16).padStart(64, '0')}` as `0x${string}` - // `encryptedVote` is the ciphertext that gets published: the ballot for a first vote, the sum for - // an update. The circuit commits to exactly that, so its commitment is what the contract stores - // and what the ballot digest is built over. Computed by the same Rust that the circuit and the - // Secure Process use, rather than reimplemented here, so the three cannot drift. - const finalCommitmentBytes = zkInputsGenerator.computeCtCommitment(encryptedVote) - const finalCtCommitment = `0x${Buffer.from(finalCommitmentBytes).toString('hex').padStart(64, '0')}` as `0x${string}` + // Zero when there is nothing to extend, which is what the contract reads as `is_first_vote`. + const parentIndexPlusOne = inputs.previousCiphertext ? (inputs.previousIndex ?? 0) + 1 : 0 - return { circuitInputs, encryptedVote, ctCommitment, finalCtCommitment, censusMode: inputs.censusMode } + return { circuitInputs, encryptedVote, ctCommitment, parentIndexPlusOne, censusMode: inputs.censusMode } } /** diff --git a/examples/CRISP/packages/crisp-sdk/src/index.ts b/examples/CRISP/packages/crisp-sdk/src/index.ts index 4de2b1651d..95028c9101 100644 --- a/examples/CRISP/packages/crisp-sdk/src/index.ts +++ b/examples/CRISP/packages/crisp-sdk/src/index.ts @@ -45,6 +45,7 @@ export type { PrepareBallotRequest, PreparedBallot, ProofData, + SlotHead, TallyResult, CurrentRoundResponse, E3StateLiteResponse, diff --git a/examples/CRISP/packages/crisp-sdk/src/sdk.ts b/examples/CRISP/packages/crisp-sdk/src/sdk.ts index 8f4683aad2..4c1dddfd75 100644 --- a/examples/CRISP/packages/crisp-sdk/src/sdk.ts +++ b/examples/CRISP/packages/crisp-sdk/src/sdk.ts @@ -32,6 +32,7 @@ import type { PreparedBallot, ProofData, RoundDetails, + SlotHead, TokenDetails, TokenHolder, VoteStatusResponse, @@ -72,11 +73,12 @@ export class CrispSDK { * @returns A promise that resolves to the prepared ballot. */ async prepareBallot(request: PrepareBallotRequest): Promise { - const previousCiphertext = await getPreviousCiphertext(this.serverUrl, request.e3Id, request.slotAddress) + const head = await getPreviousCiphertext(this.serverUrl, request.e3Id, request.slotAddress) return prepareBallot({ ...request, - previousCiphertext, + previousCiphertext: head?.ciphertext, + previousIndex: head?.index, }) } @@ -234,9 +236,9 @@ export class CrispSDK { * Get the previous ciphertext input for a slot address in a given round. * @param e3Id - The e3Id of the round * @param address - The address of the slot - * @returns The previous ciphertext, or undefined if the slot is empty + * @returns The slot head and its tree index, or undefined if the slot holds nothing usable */ - async getPreviousCiphertext(e3Id: bigint, address: string): Promise { + async getPreviousCiphertext(e3Id: bigint, address: string): Promise { return getPreviousCiphertext(this.serverUrl, e3Id, address) } } diff --git a/examples/CRISP/packages/crisp-sdk/src/state.ts b/examples/CRISP/packages/crisp-sdk/src/state.ts index 8fd814b190..4f7e14dda7 100644 --- a/examples/CRISP/packages/crisp-sdk/src/state.ts +++ b/examples/CRISP/packages/crisp-sdk/src/state.ts @@ -10,7 +10,7 @@ import { CRISP_SERVER_PREVIOUS_CIPHERTEXT_ENDPOINT } from './constants' import { getRoundStateLite } from './api' import { getPublicClient } from './chain' -import type { CreditMode, OnChainRoundData, RoundDetails, TokenDetails } from './types' +import type { CreditMode, OnChainRoundData, RoundDetails, SlotHead, TokenDetails } from './types' /** * Get the details of a specific round in a camelCase convenience format @@ -106,12 +106,7 @@ export const getOnChainRoundData = async (programAddress: string, e3Id: bigint, * @param chainId - The chain the program is deployed on * @returns The spendable voting power in ballot units, or 0 for a round that is not ONCHAIN */ -export const getOnchainVotingPower = async ( - programAddress: string, - e3Id: bigint, - slot: string, - chainId: number, -): Promise => { +export const getOnchainVotingPower = async (programAddress: string, e3Id: bigint, slot: string, chainId: number): Promise => { const publicClient = getPublicClient(chainId) return publicClient.readContract({ @@ -129,9 +124,10 @@ export const getOnchainVotingPower = async ( * @param serverUrl - The base URL of the CRISP server * @param e3Id - The e3Id of the round * @param address - The address of the slot - * @returns The previous ciphertext for the slot, or undefined if the slot is empty + * @returns The end of the slot's chain of usable entries and its tree index, or undefined when the + * slot holds nothing usable. The index is what a new input names as its parent. */ -export const getPreviousCiphertext = async (serverUrl: string, e3Id: bigint, address: string): Promise => { +export const getPreviousCiphertext = async (serverUrl: string, e3Id: bigint, address: string): Promise => { const response = await fetch(`${serverUrl}/${CRISP_SERVER_PREVIOUS_CIPHERTEXT_ENDPOINT}`, { method: 'POST', headers: { @@ -150,5 +146,5 @@ export const getPreviousCiphertext = async (serverUrl: string, e3Id: bigint, add const data = await response.json() - return new Uint8Array(data.ciphertext) + return { ciphertext: new Uint8Array(data.ciphertext), index: Number(data.index) } } diff --git a/examples/CRISP/packages/crisp-sdk/src/types.ts b/examples/CRISP/packages/crisp-sdk/src/types.ts index f35c049ff5..f68acf1fa0 100644 --- a/examples/CRISP/packages/crisp-sdk/src/types.ts +++ b/examples/CRISP/packages/crisp-sdk/src/types.ts @@ -129,6 +129,14 @@ export type ProofData = { publicInputs: string[] proof: Uint8Array encryptedVote: Uint8Array + /** + * The tree index of the entry this input extends, plus one; zero when it extends nothing. + * + * `CRISPProgram` reads the parent's commitment from this and hands it to the circuit as + * `prev_ct_commitment`, and the Secure Process walks each slot's chain by it. Offset by one so + * that zero means "no parent", which is what index 0 would otherwise be ambiguous with. + */ + parentIndexPlusOne: number } /** @@ -141,7 +149,15 @@ export type ProofData = { export type CensusVariant = 'merkle' | 'onchain' type PrepareBallotInputsBase = { + /** + * The ciphertext currently in the slot: the end of its chain of usable entries, not simply the + * newest one published. An entry whose bytes do not reproduce its commitment is never selected + * by the Secure Process and is never a valid parent, so building on it would have this input + * dropped from the tally. + */ previousCiphertext?: Uint8Array + /** The tree index of `previousCiphertext`. Required whenever it is supplied. */ + previousIndex?: number publicKey: Uint8Array slotAddress: string isMaskVote: boolean @@ -165,19 +181,21 @@ export type PrepareBallotInputs = */ export type PreparedBallot = { circuitInputs: any + /** + * The ciphertext to publish, which is the ballot itself for a vote or a re-vote, and the slot's + * ciphertext plus the zero ballot for a mask over an occupied slot. + */ encryptedVote: Uint8Array - ctCommitment: `0x${string}` /** - * The commitment the E3 program will store, and the value to pass to - * `CRISPProgram.ballotDigest`. + * The commitment to `encryptedVote`: what the circuit returns, what the E3 program stores, and + * what `CRISPProgram.ballotDigest` takes as its `ciphertextCommitment` argument. * - * For a first vote this equals `ctCommitment`. For an update — a re-vote, or a mask over a slot - * that already holds a ballot — the contract stores the commitment of the *summed* ciphertext, - * and so does the circuit. Since the digest is itself a circuit input, a caller has to know that - * value before proving; deriving it from `encryptedVote` is what makes the update path usable at - * all. + * Since the digest is itself a circuit input, a caller has to know this value before proving, + * which is why the wasm exports it rather than leaving it to be read off the finished proof. */ - finalCtCommitment: `0x${string}` + ctCommitment: `0x${string}` + /** The value {@link ProofData.parentIndexPlusOne} carries through to `encodeSolidityProof`. */ + parentIndexPlusOne: number censusMode: CensusVariant } @@ -192,9 +210,22 @@ type DistributiveOmit = T extends unknown ? Omit /** * A {@link PrepareBallotInputs} plus the round it belongs to. * - * The SDK resolves `previousCiphertext` from the server, so callers do not pass it. + * The SDK resolves the slot head from the server, so callers pass neither part of it. */ -export type PrepareBallotRequest = { e3Id: bigint } & DistributiveOmit +export type PrepareBallotRequest = { e3Id: bigint } & DistributiveOmit + +/** + * The end of a slot's chain of usable entries: what a new input extends. + * + * Not simply the newest entry published to the slot. An entry whose bytes do not reproduce its + * commitment is never selected by the Secure Process and is never a valid parent, so the server + * resolves the chain and answers with the entry that actually holds the slot. + */ +export type SlotHead = { + ciphertext: Uint8Array + /** The tree index of that entry. */ + index: number +} /** * Type representing the current round returned by the CRISP server (`rounds/current`) diff --git a/examples/CRISP/packages/crisp-sdk/src/vote.ts b/examples/CRISP/packages/crisp-sdk/src/vote.ts index 84120f153c..080c49ffb8 100644 --- a/examples/CRISP/packages/crisp-sdk/src/vote.ts +++ b/examples/CRISP/packages/crisp-sdk/src/vote.ts @@ -326,7 +326,11 @@ export const prepareBallot = async (inputs: PrepareBallotInputs): Promise => { const circuitInputs = await attachSignatureImpl(prepared, digest, signature) - return { ...(await generateProof(circuitInputs, prepared.censusMode)), encryptedVote: prepared.encryptedVote } + return { + ...(await generateProof(circuitInputs, prepared.censusMode)), + encryptedVote: prepared.encryptedVote, + parentIndexPlusOne: prepared.parentIndexPlusOne, + } } /** @@ -364,7 +368,7 @@ export const verifyProof = async (proof: ProofData, censusMode: CensusVariant = * @param proof The proof data. * @returns The encoded proof data as a hex string. */ -export const encodeSolidityProof = ({ publicInputs, proof, encryptedVote }: ProofData): Hex => { +export const encodeSolidityProof = ({ publicInputs, proof, encryptedVote, parentIndexPlusOne }: ProofData): Hex => { // Indices follow the fold circuit public inputs: // 0 prev_ct_commitment, 1 digest_hi, 2 digest_lo, 3 slot_address, // 4 merkle_root | voting_power, 5 is_first_vote, 6 num_options, @@ -372,10 +376,11 @@ export const encodeSolidityProof = ({ publicInputs, proof, encryptedVote }: Proo const slotAddress = getAddress(numberToHex(BigInt(publicInputs[3]), { size: 20 })) const encryptedVoteCommitment = publicInputs[7] as `0x${string}` - return encodeAbiParameters(parseAbiParameters('bytes, address, bytes32, bytes'), [ + return encodeAbiParameters(parseAbiParameters('bytes, address, bytes32, bytes, uint40'), [ bytesToHex(proof), slotAddress, encryptedVoteCommitment, bytesToHex(encryptedVote), + parentIndexPlusOne, ]) } diff --git a/examples/CRISP/packages/crisp-sdk/tests/vote.test.ts b/examples/CRISP/packages/crisp-sdk/tests/vote.test.ts index 274ac6aedd..7c08947b6b 100644 --- a/examples/CRISP/packages/crisp-sdk/tests/vote.test.ts +++ b/examples/CRISP/packages/crisp-sdk/tests/vote.test.ts @@ -28,11 +28,13 @@ describe('Vote', () => { const zeroVote = getZeroVote(2) + // The server answers with the end of the slot's chain of usable entries and its tree index; the + // SDK names that index as the parent of the input it is about to build. const mockGetPreviousCiphertextResponse = () => ({ ok: true, status: 200, - json: async () => ({ ciphertext: previousCiphertext }), + json: async () => ({ ciphertext: previousCiphertext, index: 0 }), }) as Response const mockPreviousCiphertextNotFoundResponse = () => ({ ok: false, status: 404 }) as Response @@ -244,6 +246,42 @@ describe('Vote', () => { expect(isValid).toBe(true) }) + + // The third operation, and the one that had no coverage. A re-vote reaches the circuit with a + // slot that already holds a ballot, so it exercises the `prev_ct_commitment` check that a + // first vote skips, and it must replace rather than add — or a voter would have both ballots + // counted. + it('Should replace a ballot already in the slot', { timeout: 300000 }, async () => { + vi.spyOn(global, 'fetch').mockResolvedValueOnce(mockGetPreviousCiphertextResponse()) + + const updated: Vote = [0, 4, 0] + const prepared = await sdk.prepareBallot({ + censusMode: 'merkle', + vote: updated, + publicKey, + merkleLeaves: leaves, + balance, + slotAddress: address, + isMaskVote: false, + numOptions: updated.length, + e3Id, + }) + + const digest = keccak256(concat([prepared.ctCommitment, numberToHex(e3Id, { size: 32 })])) + const ballotSignature = await sign({ hash: digest, privateKey: ECDSA_PRIVATE_KEY, to: 'hex' }) + + const proof = await sdk.finishBallot(prepared, digest, ballotSignature) + + // What the contract stores, and what the digest was built over. + expect(BigInt(proof.publicInputs[7])).toBe(BigInt(prepared.ctCommitment)) + // The slot held a ballot, so the contract passes its commitment and the circuit checks it. + expect(BigInt(proof.publicInputs[0])).not.toBe(0n) + expect(proof.publicInputs[5]).toBe(`0x${'0'.repeat(64)}`) + + // Replaced, not added: the slot decrypts to the new ballot alone. + expect(decryptVote(proof.encryptedVote, secretKey, updated.length)).toEqual(updated.map(BigInt)) + expect(await verifyProof(proof)).toBe(true) + }) }) describe('onchain census', () => { @@ -339,13 +377,48 @@ describe('Vote', () => { expect(proof.proof).toBeDefined() expect(proof.publicInputs).toBeDefined() - const decryptedVote = decryptVote(previousCiphertext, secretKey, 2) + // A mask over an occupied slot publishes the sum, not the zero ballot it encrypted, so the + // commitment the caller signs over is the sum's. `CRISPProgram.publishInput` rebuilds the + // digest from the same value, and a caller signing over the ballot alone would produce a + // proof the contract rejects. + expect(BigInt(proof.publicInputs[7])).toBe(BigInt(prepared.ctCommitment)) + expect(BigInt(proof.publicInputs[0])).not.toBe(0n) - expect(decryptedVote).toEqual(zeroVote.map(BigInt)) + // Adding a zero ballot leaves what the slot decrypts to untouched. + expect(decryptVote(proof.encryptedVote, secretKey, 2)).toEqual(zeroVote.map(BigInt)) + expect(decryptVote(previousCiphertext, secretKey, 2)).toEqual(zeroVote.map(BigInt)) const isValid = await verifyProof(proof) expect(isValid).toBe(true) }) + + // A mask must not be able to carry a payload. The zero check used to read only coefficients + // that the SDK layout never writes to, so any plaintext passed it — and anyone can write a mask + // to any eligible slot without a signature, which made it a way to corrupt a slot the submitter + // cannot vote in. + it('Should refuse a mask that carries a ballot', { timeout: 300000 }, async () => { + vi.spyOn(global, 'fetch').mockResolvedValueOnce(mockGetPreviousCiphertextResponse()) + + // Encrypted as a real ballot, then submitted on the mask branch, which is the only branch a + // third party can reach. The plaintext is whatever the attacker chose. + const prepared = await sdk.prepareBallot({ + censusMode: 'merkle', + vote: [7, 0], + balance, + slotAddress: SLOT_ADDRESS, + publicKey, + merkleLeaves: leaves, + isMaskVote: false, + numOptions: 2, + e3Id: 0n, + }) + + prepared.circuitInputs.is_mask_vote = true + + const digest = keccak256(concat([prepared.ctCommitment, numberToHex(0, { size: 32 })])) + + await expect(sdk.finishBallot(prepared, digest)).rejects.toThrow() + }) }) }) diff --git a/examples/CRISP/packages/crisp-zk-inputs/README.md b/examples/CRISP/packages/crisp-zk-inputs/README.md index 573ca8cc6d..4a804387fa 100644 --- a/examples/CRISP/packages/crisp-zk-inputs/README.md +++ b/examples/CRISP/packages/crisp-zk-inputs/README.md @@ -7,17 +7,25 @@ witness data needed for Noir-based vote-validity proofs without duplicating the ## What it generates The WASM module wraps a `ZKInputsGenerator` class that performs BFV encryption and produces the -witness data needed for CRISP's Noir circuits. Two main proof types are supported: +witness data needed for CRISP's Noir circuits. -- **Vote proof** (`generateInputs`) — encrypts a vote under the committee's threshold BFV public key - and produces a witness proving the vote is correctly encrypted and that the voter is eligible - (e.g. holds the required token balance, verified via a Merkle membership proof). +`generateInputs` is the only entry point, and it covers all three operations: a first vote, a +re-vote, and a masker contribution under the +[vote masking](https://blog.theinterfold.com/vote-masking-receipt-freeness-secret-ballots/) scheme +that provides receipt-freeness. -- **Vote update / mask proof** (`generateInputsForUpdate`) — same structure, but used for revotes or - masker contributions under the - [vote masking](https://blog.theinterfold.com/vote-masking-receipt-freeness-secret-ballots/) scheme - that provides receipt-freeness. Unlike the first-vote path, this preserves the real - `prev_ct_commitment` (rather than zeroing it) to chain updates together. +```typescript +generateInputs(previousCiphertext, publicKey, vote, keepPrevious) +``` + +- `previousCiphertext` is the ciphertext currently in the slot, or `undefined` when it is empty. +- `keepPrevious` is set only for a mask over an occupied slot. It makes the ballot add to that + ciphertext; everything else replaces it. + +One function rather than one per operation, deliberately: the encryption, the witness, and the +published ciphertext have the same shape in every case, so nothing about a submission says which +operation it was. Splitting the paths would make the three tellable apart, which is the attack +masking exists to prevent. The generator also exposes `encryptVote` / `decryptVote` for standalone BFV operations and `generateKeys` for key generation. diff --git a/examples/CRISP/program/Cargo.toml b/examples/CRISP/program/Cargo.toml index af3d090737..c22250bb27 100644 --- a/examples/CRISP/program/Cargo.toml +++ b/examples/CRISP/program/Cargo.toml @@ -12,6 +12,7 @@ e3-fhe-params = { workspace = true } [dev-dependencies] hex = "=0.4.3" +num-bigint = "=0.4.6" serde_json = "=1.0.145" sha3 = "=0.10.8" e3-bfv-client = { workspace = true } diff --git a/examples/CRISP/program/src/lib.rs b/examples/CRISP/program/src/lib.rs index 0ebcab3456..dd23e25549 100644 --- a/examples/CRISP/program/src/lib.rs +++ b/examples/CRISP/program/src/lib.rs @@ -41,24 +41,50 @@ pub mod policy { use sha2::{Digest, Sha256}; use std::collections::BTreeMap; - /// The 20-byte slot address `CRISPProgram` publishes with each input. - fn slot_of(input: &PublishedInput) -> Result<[u8; 20], ComputeError> { - <[u8; 20]>::try_from(input.metadata).map_err(|_| ComputeError::LeafCommitment { - index: input.index, - reason: format!( - "expected a 20-byte slot address, got {} bytes", - input.metadata.len() - ), + /// The metadata `CRISPProgram` publishes with each input: 20-byte slot, then a 5-byte parent. + const METADATA_LEN: usize = 25; + + /// What `CRISPProgram` publishes alongside one ciphertext. + struct Metadata { + slot: [u8; 20], + /// The tree index of the entry this input extends, or `None` when it extends nothing. + parent: Option, + } + + /// Splits the published metadata, which is `slot || parentIndexPlusOne` as + /// `abi.encodePacked(address, uint40)` lays it out. + fn metadata_of(input: &PublishedInput) -> Result { + if input.metadata.len() != METADATA_LEN { + return Err(ComputeError::LeafCommitment { + index: input.index, + reason: format!( + "expected {METADATA_LEN} bytes of slot and parent, got {}", + input.metadata.len() + ), + }); + } + + let mut slot = [0u8; 20]; + slot.copy_from_slice(&input.metadata[..20]); + + let mut parent_plus_one: u64 = 0; + for byte in &input.metadata[20..] { + parent_plus_one = (parent_plus_one << 8) | u64::from(*byte); + } + + Ok(Metadata { + slot, + parent: parent_plus_one.checked_sub(1), }) } - /// `sha256(sha256(ciphertext) || commitment || slot) mod SNARK_SCALAR_FIELD`. + /// `sha256(sha256(ciphertext) || commitment || slot || parent) mod SNARK_SCALAR_FIELD`. /// /// Must stay byte-identical to `CRISPProgram.inputLeaf`, or no root will ever match. It binds - /// three things: the bytes, because the Noir proof constrains only the commitment and never - /// sees the serialized ciphertext; the commitment, so no commitment can be paired with any - /// ciphertext; and the slot, because selection is per slot and an unbound slot would let a - /// prover re-group entries. + /// four things: the bytes, because the Noir proof constrains only the commitment and never sees + /// the serialized ciphertext; the commitment, so no commitment can be paired with any + /// ciphertext; the slot, because selection is per slot and an unbound slot would let a prover + /// re-group entries; and the parent, because selection walks the slot's chain by it. pub fn leaf(input: &PublishedInput) -> Result { let commitment = input .commitment @@ -66,35 +92,65 @@ pub mod policy { index: input.index, reason: "CRISP publishes a commitment with every input".to_string(), })?; - let slot = slot_of(input)?; + // Hashed as published rather than as parsed, so the leaf cannot drift from the contract's + // `abi.encodePacked` layout. Parsed first only to refuse the wrong length. + metadata_of(input)?; let mut outer = Sha256::new(); outer.update(Sha256::digest(input.ciphertext)); outer.update(commitment); - outer.update(slot); + outer.update(input.metadata); Ok(leaf_from_digest(&outer.finalize())) } - /// The most recent entry per slot whose bytes reproduce its commitment. + /// The end of each slot's chain of usable entries. /// /// CRISP's input tree is append-only: anyone may write to any census member's slot, since the /// mask path checks no signature. Overwriting in place would let a third party replace the - /// bytes of a counted vote and erase it. Appending keeps the earlier entry, and selecting the - /// latest *usable* one falls back to it when a later entry contradicts its commitment. + /// bytes of a counted vote and erase it, so entries accumulate and one per slot is selected + /// here. + /// + /// Each entry names the entry it extends, and an entry is taken only when two things hold: + /// + /// - its bytes reproduce its commitment, so it is a ciphertext anyone can read; and + /// - the entry it names is the one currently selected for that slot. + /// + /// The first rule is what stops a submitter poisoning a slot with bytes that decode to nothing. + /// The second is what stops one reaching back past a vote: an entry built on a superseded + /// ciphertext would put that older ciphertext back in the slot, erasing the vote in between. + /// + /// Together they also keep a slot writable. `CRISPProgram` cannot check the first rule — only + /// this runs late enough to — so anyone can leave an entry nobody else can open. Because such + /// an entry is never selected, it is never a valid parent either, and the next honest input + /// names the same parent it did and is taken in its place. Without that, a slot could be frozen + /// against masking, and a slot that cannot be masked is one where every later input is provably + /// its owner voting again — a receipt, which is what masks exist to prevent. /// /// A slot whose entries are all unusable contributes nothing — it never held a good vote. - pub fn latest_usable_per_slot(inputs: &[PublishedInput]) -> Vec { - let mut latest: BTreeMap<[u8; 20], usize> = BTreeMap::new(); + pub fn chain_head_per_slot(inputs: &[PublishedInput]) -> Vec { + let mut head: BTreeMap<[u8; 20], u64> = BTreeMap::new(); + let mut selected_for_slot: BTreeMap<[u8; 20], usize> = BTreeMap::new(); + + // In index order, which is the order the tree was built in, so a chain is only ever + // extended forwards. for input in inputs { if !input.matches_commitment() { continue; } - // Walking in order means a later entry replaces an earlier one for the same slot. - if let Ok(slot) = slot_of(input) { - latest.insert(slot, input.index); + + let Ok(metadata) = metadata_of(input) else { + continue; + }; + + if metadata.parent != head.get(&metadata.slot).copied() { + continue; } + + head.insert(metadata.slot, input.index as u64); + selected_for_slot.insert(metadata.slot, input.index); } - let mut selected: Vec = latest.into_values().collect(); + + let mut selected: Vec = selected_for_slot.into_values().collect(); selected.sort_unstable(); selected } @@ -103,7 +159,7 @@ pub mod policy { pub fn crisp() -> InputPolicy { InputPolicy { leaf, - select: latest_usable_per_slot, + select: chain_head_per_slot, } } } diff --git a/examples/CRISP/program/tests/input_leaf.rs b/examples/CRISP/program/tests/input_leaf.rs new file mode 100644 index 0000000000..44f78f454a --- /dev/null +++ b/examples/CRISP/program/tests/input_leaf.rs @@ -0,0 +1,105 @@ +// SPDX-License-Identifier: LGPL-3.0-only +// +// This file is provided WITHOUT ANY WARRANTY; +// without even the implied warranty of MERCHANTABILITY +// or FITNESS FOR A PARTICULAR PURPOSE. + +//! The leaf layout, against the same vector `tests/input-leaf.test.ts` asserts in `crisp-contracts`. +//! +//! `CRISPProgram.inputLeaf` and [`e3_user_program::policy::leaf`] must agree byte for byte, or no +//! root the Secure Process derives will ever match the one the contract accumulated — and that +//! failure has no other symptom. Neither language can catch a divergence alone, so both check the +//! same vector and one of them fails when either side moves. + +use e3_compute_provider::policy::PublishedInput; +use e3_user_program::policy::leaf; +use num_bigint::BigUint; + +/// `0x` + the bytes 0..64, which is what the TypeScript vector spells out. +fn ciphertext() -> Vec { + (0..64u8).collect() +} + +const COMMITMENT: [u8; 32] = [0xab; 32]; +const SLOT: [u8; 20] = [0xcd; 20]; + +/// `abi.encodePacked(address, uint40)`, as `CRISPProgram` lays the metadata out. +fn metadata(parent_index_plus_one: u64) -> Vec { + let mut bytes = SLOT.to_vec(); + bytes.extend_from_slice(&parent_index_plus_one.to_be_bytes()[3..]); + bytes +} + +/// The leaf, as `leaf_from_digest` renders it: a hex string, already reduced into the field. +/// +/// The TypeScript vector is the same number in decimal, because Solidity returns a `uint256`. +fn leaf_of(ciphertext: &[u8], commitment: &[u8; 32], metadata: &[u8]) -> String { + leaf(&PublishedInput { + index: 0, + ciphertext, + commitment: Some(commitment), + metadata, + recomputed: None, + }) + .expect("the vector is well formed") +} + +#[test] +fn the_leaf_matches_the_contract_vector() { + let metadata = metadata(0); + + assert_eq!( + leaf_of(&ciphertext(), &COMMITMENT, &metadata), + "17910fb4333ca8c834bafea151e216e488db0fdaba00d7acd8d15a9e4a6ba9b4", + "the Rust leaf diverged from the vector CRISPProgram.inputLeaf produces" + ); +} + +/// The parent is bound, so an entry cannot be re-pointed at another one. +#[test] +fn the_leaf_changes_with_the_parent() { + let first = leaf_of(&ciphertext(), &COMMITMENT, &metadata(0)); + let second = leaf_of(&ciphertext(), &COMMITMENT, &metadata(1)); + + assert_ne!(first, second); + assert_eq!( + second, "098ef4852f0e5a3ae22bee86209ba3f653af2d34632ab68fadf1525af6b26d40", + "the Rust leaf diverged from the vector CRISPProgram.inputLeaf produces" + ); +} + +/// Every leaf has to reduce into the scalar field, or `LazyIMT` refuses it on chain. +#[test] +fn every_leaf_reduces_into_the_scalar_field() { + let field = BigUint::parse_bytes( + b"21888242871839275222246405745257275088548364400416034343698204186575808495617", + 10, + ) + .unwrap(); + + for parent in 0..8u64 { + let value = BigUint::parse_bytes( + leaf_of(&ciphertext(), &COMMITMENT, &metadata(parent)).as_bytes(), + 16, + ) + .expect("the leaf is a hex string"); + + assert!(value < field); + } +} + +/// Metadata of the wrong length is refused rather than hashed, so an input that could never be +/// placed in a chain does not silently contribute a leaf the contract disagrees with. +#[test] +fn metadata_of_the_wrong_length_is_refused() { + let bytes = ciphertext(); + let result = leaf(&PublishedInput { + index: 0, + ciphertext: &bytes, + commitment: Some(&COMMITMENT), + metadata: &SLOT, + recomputed: None, + }); + + assert!(result.is_err(), "a 20-byte metadata predates the parent"); +} diff --git a/examples/CRISP/program/tests/onchain_root_agreement.rs b/examples/CRISP/program/tests/onchain_root_agreement.rs index 7fd90230a6..516d2d3fc8 100644 --- a/examples/CRISP/program/tests/onchain_root_agreement.rs +++ b/examples/CRISP/program/tests/onchain_root_agreement.rs @@ -23,6 +23,9 @@ use sha3::Digest as _; const FIXTURE: &str = include_str!("../../packages/crisp-contracts/tests/fixtures/input-tree.json"); /// Reads the fixture entries into the shapes `ComputeInput` takes. +/// +/// The metadata is `slot || parentIndexPlusOne`, byte for byte what `CRISPProgram` hashes into the +/// leaf as `abi.encodePacked(address, uint40)`. fn load(entries: &[serde_json::Value]) -> (Vec<(Vec, u64)>, Vec) { let mut ciphertexts = Vec::new(); let mut published = Vec::new(); @@ -31,6 +34,13 @@ fn load(entries: &[serde_json::Value]) -> (Vec<(Vec, u64)>, Vec::try_from( @@ -38,7 +48,7 @@ fn load(entries: &[serde_json::Value]) -> (Vec<(Vec, u64)>, Vec) -> Vec { + let parent_plus_one = parent.map_or(0u64, |index| index as u64 + 1); + + let mut bytes = slot.to_vec(); + bytes.extend_from_slice(&parent_plus_one.to_be_bytes()[3..]); + bytes + } + + /// Ballots published to the given slots, in order, each opening its slot's chain. fn round_input_at(&self, ballots: Vec>, slots: Vec<[u8; 20]>) -> ComputeInput { let published = ballots .iter() .zip(slots.iter()) .map(|(bytes, slot)| PublishedData { commitment: Some(self.commitment(bytes)), - metadata: slot.to_vec(), + metadata: Self::metadata(*slot, None), }) .collect(); @@ -262,7 +274,7 @@ fn a_poisoned_append_does_not_erase_the_vote_already_in_the_slot() { .push((round.ballot(&[0, 9], 5), 1)); input.published.push(PublishedData { commitment: reused_commitment, - metadata: victim.to_vec(), + metadata: Round::metadata(victim, Some(0)), }); let result = round @@ -295,7 +307,7 @@ fn an_honest_re_vote_replaces_the_earlier_ballot() { input.fhe_inputs.ciphertexts.push((second.clone(), 1)); input.published.push(PublishedData { commitment: Some(round.commitment(&second)), - metadata: voter.to_vec(), + metadata: Round::metadata(voter, Some(0)), }); let result = round.run(input).unwrap(); diff --git a/examples/CRISP/program/tests/selection.rs b/examples/CRISP/program/tests/selection.rs index e77d832c80..0676d44975 100644 --- a/examples/CRISP/program/tests/selection.rs +++ b/examples/CRISP/program/tests/selection.rs @@ -4,129 +4,214 @@ // without even the implied warranty of MERCHANTABILITY // or FITNESS FOR A PARTICULAR PURPOSE. -//! CRISP's selection rule: the most recent entry per slot whose bytes reproduce its commitment. +//! CRISP's selection rule: the end of each slot's chain of usable entries. //! //! The rule lives here rather than in `e3-compute-provider` because it is CRISP's answer to CRISP's //! problem — an append-only tree that anyone may write to. A program where every input counts wants //! the crate's default instead. use e3_compute_provider::policy::PublishedInput; -use e3_user_program::policy::latest_usable_per_slot; +use e3_user_program::policy::chain_head_per_slot; -fn slot(tag: u8) -> [u8; 20] { +/// One published entry, as a test states it. +#[derive(Clone, Copy)] +struct Entry { + slot: u8, + /// Whether the bytes reproduce the commitment. A third party can publish an entry where they + /// do not, and nobody can tell until here. + usable: bool, + /// The tree index this entry names as the one it extends, or `None` for nothing. + parent: Option, +} + +/// An honest entry extending `parent`. +fn good(slot: u8, parent: Option) -> Entry { + Entry { + slot, + usable: true, + parent, + } +} + +/// An entry whose published bytes do not reproduce its commitment. +fn poisoned(slot: u8, parent: Option) -> Entry { + Entry { + slot, + usable: false, + parent, + } +} + +fn slot_address(tag: u8) -> [u8; 20] { let mut address = [0u8; 20]; address[19] = tag; address } -/// Builds one slot's entry sequence. `true` is an honest entry; `false` an entry whose bytes do not -/// reproduce its commitment, which is what a third party can publish. -fn entries(pattern: &[bool], slots: &[[u8; 20]]) -> Vec { - let stored: Vec<[u8; 32]> = (0..pattern.len()).map(|i| [i as u8; 32]).collect(); +/// `abi.encodePacked(address, uint40)`, which is what `CRISPProgram` publishes per input. +fn metadata(entry: &Entry) -> Vec { + let parent_plus_one = entry.parent.map_or(0u64, |index| index as u64 + 1); + + let mut bytes = slot_address(entry.slot).to_vec(); + bytes.extend_from_slice(&parent_plus_one.to_be_bytes()[3..]); + bytes +} + +fn select(entries: &[Entry]) -> Vec { + let stored: Vec<[u8; 32]> = (0..entries.len()).map(|i| [i as u8; 32]).collect(); + let metadatas: Vec> = entries.iter().map(metadata).collect(); let bytes = vec![0u8]; - let inputs: Vec = pattern + let inputs: Vec = entries .iter() .enumerate() - .map(|(index, honest)| PublishedInput { + .map(|(index, entry)| PublishedInput { index, ciphertext: &bytes, commitment: Some(&stored[index]), - metadata: &slots[index], - // An honest entry's bytes reproduce the stored commitment; a poisoned one's do not. - recomputed: Some(if *honest { stored[index] } else { [0xff; 32] }), + metadata: &metadatas[index], + recomputed: Some(if entry.usable { + stored[index] + } else { + [0xff; 32] + }), }) .collect(); - latest_usable_per_slot(&inputs) + chain_head_per_slot(&inputs) +} + +/// A chain of honest entries resolves to its end. +#[test] +fn selection_follows_the_chain_to_its_end() { + assert_eq!(select(&[good(1, None)]), vec![0], "a single entry"); + assert_eq!( + select(&[good(1, None), good(1, Some(0))]), + vec![1], + "an entry extending the first replaces it" + ); + assert_eq!( + select(&[good(1, None), good(1, Some(0)), good(1, Some(1))]), + vec![2], + "a three-entry chain resolves to its end" + ); +} + +/// A poisoned entry does not become the head, and the next honest input extends the same parent it +/// did. This is the whole point of naming the parent: a slot cannot be frozen against masking, and +/// a slot that cannot be masked is one where every later input is provably its owner voting again. +#[test] +fn a_poisoned_entry_does_not_freeze_the_slot() { + assert_eq!( + select(&[poisoned(1, None)]), + Vec::::new(), + "a single poisoned entry contributes nothing" + ); + assert_eq!( + select(&[good(1, None), poisoned(1, Some(0))]), + vec![0], + "a poisoned append leaves the head where it was" + ); + assert_eq!( + select(&[good(1, None), poisoned(1, Some(0)), good(1, Some(0))]), + vec![2], + "the next honest entry names the same parent and takes the head" + ); + assert_eq!( + select(&[ + good(1, None), + poisoned(1, Some(0)), + poisoned(1, Some(0)), + good(1, Some(0)), + ]), + vec![3], + "repeated poisoning does not exhaust the slot" + ); + assert_eq!( + select(&[poisoned(1, None), good(1, None)]), + vec![1], + "a slot poisoned before its first vote is still writable" + ); } -/// Every sequence for one slot resolves to that slot's most recent honest entry. +/// An entry that names anything other than the current head is dropped. /// -/// The case that matters most is honest → poisoned → honest: selection has to move *forward* to the -/// later honest entry, not fall back to the first. Get that wrong and one poison would make every -/// later re-vote by that voter invisible. +/// Without this an entry could be built on a superseded ciphertext and put it back in the slot, +/// erasing the vote in between — which a mask needs no signature to publish. #[test] -fn selection_picks_the_latest_honest_entry_in_every_sequence() { - let cases: &[(&[bool], Vec, &str)] = &[ - (&[true], vec![0], "a single honest entry"), - ( - &[false], - vec![], - "a single poisoned entry contributes nothing", - ), - (&[true, false], vec![0], "poisoned append falls back"), - ( - &[false, true], - vec![1], - "an honest entry after a poisoned one wins", - ), - (&[true, true], vec![1], "an honest re-vote replaces"), - ( - &[true, false, true], - vec![2], - "honest, poisoned, honest picks the last honest", - ), - ( - &[true, true, false], - vec![1], - "poisoned at the end falls back one step", - ), - ( - &[true, false, false], - vec![0], - "two poisoned appends still fall back to the first", - ), - ( - &[false, false, true], - vec![2], - "honest after two poisoned wins", - ), - ( - &[false, true, false], - vec![1], - "honest in the middle survives a later poison", - ), - ( - &[true, false, true, false], - vec![2], - "falls back past a trailing poison", - ), - ( - &[false, false, false], - vec![], - "an all-poisoned slot contributes nothing", - ), - ]; +fn an_entry_naming_a_stale_parent_is_dropped() { + assert_eq!( + select(&[good(1, None), good(1, Some(0)), good(1, Some(0))]), + vec![1], + "reaching back past the head cannot erase it" + ); + assert_eq!( + select(&[good(1, None), good(1, Some(0)), good(1, None)]), + vec![1], + "naming no parent on an occupied slot does not restart the chain" + ); + assert_eq!( + select(&[ + good(1, None), + good(1, Some(0)), + poisoned(1, Some(0)), + good(1, Some(1)) + ]), + vec![3], + "the head is still 1, so an entry naming 1 is taken" + ); +} - let one_slot: Vec<[u8; 20]> = (0..8).map(|_| slot(1)).collect(); - for (pattern, expected, description) in cases { - assert_eq!( - &entries(pattern, &one_slot[..pattern.len()]), - expected, - "{description}" - ); - } +/// A parent belonging to another slot is not this slot's head, so it is dropped. `CRISPProgram` +/// refuses one as well, by keying its commitments on the slot. +#[test] +fn an_entry_naming_another_slots_parent_is_dropped() { + assert_eq!( + select(&[good(1, None), good(2, Some(0))]), + vec![0], + "slot 2 cannot extend slot 1's entry" + ); +} + +/// Two entries naming the same parent are siblings, and only the first usable one is taken. +/// +/// This is the cost of the rule, and it is deliberate. An entry that reaches back past the head is +/// indistinguishable from one that was simply built before a sibling landed: both name a parent +/// that is no longer the head, and only the circuit knows whether the entry replaces the slot or +/// adds to it — which is exactly what must stay hidden. Favouring the earlier sibling means a +/// re-vote can be front-run into being dropped, which the voter can see and retry. Favouring the +/// later one would mean a mask built on a superseded ciphertext could restore it over a vote, which +/// is a silent tally corruption nobody can undo. +#[test] +fn a_later_sibling_is_dropped_rather_than_allowed_to_rewind() { + assert_eq!( + select(&[good(1, None), good(1, Some(0)), good(1, Some(0))]), + vec![1], + "the first entry to extend the head keeps it" + ); } /// Sequences interleaved across slots must not bleed into one another. #[test] fn interleaved_slots_resolve_independently() { - // A-honest, B-poisoned, A-poisoned, B-honest. - let pattern = [true, false, false, true]; - let slots = [slot(1), slot(2), slot(1), slot(2)]; + let entries = [ + good(1, None), + poisoned(2, None), + poisoned(1, Some(0)), + good(2, None), + ]; assert_eq!( - entries(&pattern, &slots), + select(&entries), vec![0, 3], "each slot resolves on its own entries, in tree order" ); } -/// An entry whose metadata is not a slot address cannot be grouped, so it is not selected. It still -/// contributes a leaf — that is the crate's guarantee, not the policy's. +/// An entry whose metadata is not a slot and a parent cannot be placed in a chain, so it is not +/// selected. It still contributes a leaf — that is the crate's guarantee, not the policy's. #[test] -fn an_entry_without_a_valid_slot_is_not_selected() { +fn an_entry_without_valid_metadata_is_not_selected() { let stored = [7u8; 32]; let bytes = vec![0u8]; let malformed = [0u8; 4]; @@ -139,5 +224,5 @@ fn an_entry_without_a_valid_slot_is_not_selected() { recomputed: Some(stored), }]; - assert!(latest_usable_per_slot(&inputs).is_empty()); + assert!(chain_head_per_slot(&inputs).is_empty()); } diff --git a/examples/CRISP/server/Cargo.toml b/examples/CRISP/server/Cargo.toml index 6da14c63b1..72a6028a6e 100644 --- a/examples/CRISP/server/Cargo.toml +++ b/examples/CRISP/server/Cargo.toml @@ -45,6 +45,7 @@ lean-imt = "=0.1.2" e3-compute-provider.workspace = true e3-sdk = { workspace = true, default-features = false, features=["full"] } e3-fhe-params = { workspace = true } +e3-bfv-client = { workspace = true } evm-helpers = { path = "../crates/evm_helpers" } crisp-utils.workspace = true diff --git a/examples/CRISP/server/Readme.md b/examples/CRISP/server/Readme.md index 09995b8fa4..0e72bbdcde 100644 --- a/examples/CRISP/server/Readme.md +++ b/examples/CRISP/server/Readme.md @@ -76,6 +76,24 @@ The server exposes several RESTful API endpoints: - `POST /state/lite`: Get a lite version of the state for a specific round - `POST /voting/broadcast`: Broadcast an encrypted vote +## Upgrading across an input-format change + +`InputPublished` and the durable round record both carry per-input fields, and both have changed. +A deployment that adds one cannot be rolled forward over a round that is already taking inputs: + +- the event's topic hash changes with its signature, so the indexer no longer matches the logs an + already-deployed `CRISPProgram` emits; +- the new per-input vectors default to empty when an existing round is loaded, and the Secure + Process needs one entry per ciphertext. + +`CrispE3Repository::get_input_snapshot` refuses such a round rather than computing over it, with an +error naming the field and the count. The refusal is the guard, not the fix. + +**Procedure.** Deploy a new `CRISPProgram`, point `E3_PROGRAM_ADDRESS` at it, and let existing +rounds finish against the old deployment before retiring its indexer. Rounds do not migrate: an +in-flight one has inputs whose leaves were built under the old layout, so its root can only be +reproduced by the code that built it. + ## Architecture The project is structured into several modules: diff --git a/examples/CRISP/server/src/server/indexer.rs b/examples/CRISP/server/src/server/indexer.rs index 70c6faf16e..8f96fd6701 100644 --- a/examples/CRISP/server/src/server/indexer.rs +++ b/examples/CRISP/server/src/server/indexer.rs @@ -4,6 +4,7 @@ // without even the implied warranty of MERCHANTABILITY // or FITNESS FOR A PARTICULAR PURPOSE. +use crate::server::models::e3_id_to_u256; use crate::server::token_holders::{ get_mock_token_holders, try_fetch_requester_census, EtherscanClient, }; @@ -33,6 +34,8 @@ use eyre::Context; use log::{info, warn}; use num_bigint::BigUint; use std::error::Error; +use std::time::Duration; +use tokio::time::sleep; type Result = std::result::Result>; @@ -406,6 +409,35 @@ pub async fn register_e3_requested( Ok(indexer) } +/// The number of inputs `CRISPProgram` accepted, once the indexer has caught up with it. +/// +/// Polls rather than reading once: the deadline callback and the last `InputPublished` handler race, +/// and the gap is the few seconds it takes one log to be delivered and stored. Returns the on-chain +/// count either way, so the caller reports the shortfall rather than looping forever. +async fn wait_for_indexed_inputs(e3_id: &str, indexed: usize) -> eyre::Result { + const ATTEMPTS: u32 = 10; + const INTERVAL: Duration = Duration::from_secs(3); + + let e3_id_u256 = e3_id_to_u256(e3_id).map_err(|e| eyre::eyre!("{e}"))?; + let contract = + CRISPContractFactory::create_read(&CONFIG.http_rpc_url, &CONFIG.e3_program_address).await?; + + let mut published = contract.get_published_input_count(e3_id_u256).await? as usize; + let mut attempt = 0; + + while published > indexed && attempt < ATTEMPTS { + info!( + "[e3_id={}] waiting for the indexer: {} of {} input(s) stored", + e3_id, indexed, published + ); + sleep(INTERVAL).await; + attempt += 1; + published = contract.get_published_input_count(e3_id_u256).await? as usize; + } + + Ok(published) +} + async fn handle_e3_input_deadline_expiration( e3_id: String, store: SharedStore, @@ -416,9 +448,27 @@ async fn handle_e3_input_deadline_expiration( repo.update_status("Expired").await?; let voter_count = repo.get_vote_count().await?; - let votes = repo.get_ciphertext_inputs().await?; - let input_commitments = repo.get_input_commitments().await?; - let input_slots = repo.get_input_slots().await?; + // One read. Assembling the request from separate reads lets an `InputPublished` event land + // between them, which pairs a ciphertext with another input's commitment and derives a root + // `CRISPProgram` rejects. + let snapshot = repo.get_input_snapshot().await?; + let votes = snapshot.ciphertexts.clone(); + + // The contract is the authority on how many inputs there are, and this callback can run before + // the last of them is indexed: `publishInput` still accepts one while + // `block.timestamp == inputWindow[1]`. Computation is one-shot, so starting short would tally a + // subset and derive a root the contract rejects — a failure with no other symptom. Refusing + // here leaves the round to be retried once the indexer has caught up. + let published = wait_for_indexed_inputs(&e3_id, votes.len()).await?; + if published != votes.len() { + return Err(eyre::eyre!( + "[e3_id={}] the indexer holds {} input(s) but CRISPProgram accepted {}; \ + refusing to compute over a subset", + e3_id, + votes.len(), + published + )); + } if voter_count > 0 && votes.is_empty() { warn!( @@ -448,9 +498,10 @@ async fn handle_e3_input_deadline_expiration( e3.committee_public_key_hash, e3.e3_params, RoundInputs { - ciphertexts: votes, - commitments: input_commitments, - slots: input_slots, + ciphertexts: snapshot.ciphertexts, + commitments: snapshot.commitments, + slots: snapshot.slots, + parents: snapshot.parents, }, format!( "{}/state/add-result", @@ -607,6 +658,7 @@ pub async fn register_input_published( event.index.to::(), event.encryptedVoteCommitment.into(), event.slotAddress.into(), + event.parentIndexPlusOne.to::(), ) .await?; Ok(()) diff --git a/examples/CRISP/server/src/server/models.rs b/examples/CRISP/server/src/server/models.rs index ba03151e3a..ac314e9669 100644 --- a/examples/CRISP/server/src/server/models.rs +++ b/examples/CRISP/server/src/server/models.rs @@ -133,6 +133,8 @@ pub struct PreviousCiphertextRequest { #[derive(Serialize)] pub struct PreviousCiphertextResponse { pub ciphertext: Vec, + /// The tree index of that entry, which a client names as the parent of the input it builds. + pub index: u64, } #[derive(Debug, Deserialize, Serialize)] @@ -268,6 +270,15 @@ pub struct E3Crisp { /// append-only, so the Secure Process groups entries by slot. #[serde(default)] pub input_slots: Vec<(u64, [u8; 20])>, + /// The entry each input names as the one it extends, plus one, keyed by the same on-chain + /// index. Zero means it extends nothing. + /// + /// The Secure Process walks each slot's chain by this, taking an entry only when the one it + /// names is the slot's current head. That is what keeps a slot writable after someone publishes + /// bytes nobody can open: such an entry is never the head, so it is never a valid parent, and + /// the next honest input names the same parent it did. + #[serde(default)] + pub input_parents: Vec<(u64, u64)>, pub requester: String, pub num_options: String, pub credit_mode: CreditMode, diff --git a/examples/CRISP/server/src/server/program_server_request.rs b/examples/CRISP/server/src/server/program_server_request.rs index 58ea4c44cc..034d611a13 100644 --- a/examples/CRISP/server/src/server/program_server_request.rs +++ b/examples/CRISP/server/src/server/program_server_request.rs @@ -29,6 +29,9 @@ pub struct ComputeRequest { /// The slot each input was published to, in the same order. #[serde(serialize_with = "serialize_hex_slots")] pub input_slots: Vec<[u8; 20]>, + /// The entry each input names as the one it extends, plus one, in the same order. Zero means it + /// extends nothing. The Secure Process walks each slot's chain by this. + pub input_parents: Vec, pub callback_url: Option, } @@ -91,12 +94,14 @@ fn build_compute_request( /// The published inputs for a round, in on-chain index order. /// -/// Grouped because the three vectors are only meaningful together: entry `i` of each describes the +/// Grouped because the four vectors are only meaningful together: entry `i` of each describes the /// same input, and a length mismatch mis-pairs ciphertexts with the commitments that prove them. pub struct RoundInputs { pub ciphertexts: Vec<(Vec, u64)>, pub commitments: Vec<[u8; 32]>, pub slots: Vec<[u8; 20]>, + /// The entry each input names as the one it extends, plus one; zero for none. + pub parents: Vec, } pub async fn run_compute( @@ -120,6 +125,7 @@ pub async fn run_compute( ciphertext_inputs: inputs.ciphertexts, input_commitments: inputs.commitments, input_slots: inputs.slots, + input_parents: inputs.parents, }; println!("Sending request"); @@ -166,6 +172,7 @@ mod tests { ciphertext_inputs: vec![], input_commitments: vec![], input_slots: vec![], + input_parents: vec![], callback_url: Some("http://127.0.0.1:4000/state/add-result".to_string()), }; @@ -192,6 +199,7 @@ mod tests { ciphertext_inputs: vec![(vec![0xaa], 0), (vec![0xbb], 1)], input_commitments: vec![[0x11; 32], [0x22; 32]], input_slots: vec![[0x01; 20], [0x02; 20]], + input_parents: vec![0, 1], callback_url: None, }; diff --git a/examples/CRISP/server/src/server/repo.rs b/examples/CRISP/server/src/server/repo.rs index 13fb620f44..9ab57e6f16 100644 --- a/examples/CRISP/server/src/server/repo.rs +++ b/examples/CRISP/server/src/server/repo.rs @@ -12,6 +12,7 @@ use super::{ }; use e3_sdk::indexer::{models::E3 as InterfoldE3, DataStore, E3Repository, SharedStore}; use eyre::Result; +use fhe::bfv::BfvParameters; use log::info; use num_bigint::BigUint; @@ -115,6 +116,20 @@ impl CurrentRoundRepository { } } +/// A round's inputs, read in one shot so the four vectors describe the same moment. +/// +/// Every vector is in on-chain index order and has one entry per ciphertext. +pub struct InputSnapshot { + /// The published ciphertexts, each paired with its on-chain index. + pub ciphertexts: Vec<(Vec, u64)>, + /// The commitment `CRISPProgram` stored for each input. + pub commitments: Vec<[u8; 32]>, + /// The slot each input was published to. + pub slots: Vec<[u8; 20]>, + /// The entry each input names as the one it extends, plus one; zero for none. + pub parents: Vec, +} + pub struct CrispE3Repository { store: SharedStore, e3_id: String, @@ -161,6 +176,7 @@ impl CrispE3Repository { index: u64, commitment: [u8; 32], slot: [u8; 20], + parent_index_plus_one: u64, ) -> Result<()> { let key = self.crisp_key(); @@ -189,6 +205,11 @@ impl CrispE3Repository { } else { e.input_slots.push((index, slot)); } + if let Some(existing) = e.input_parents.iter_mut().find(|(i, _)| *i == index) { + existing.1 = parent_index_plus_one; + } else { + e.input_parents.push((index, parent_index_plus_one)); + } e }) }) @@ -198,17 +219,6 @@ impl CrispE3Repository { Ok(()) } - pub async fn get_ciphertext_input(&self, index: u64) -> Result>> { - let e3_crisp = self.get_crisp().await?; - for (vote, i) in e3_crisp.ciphertext_inputs { - if i == index { - return Ok(Some(vote)); - } - } - - Ok(None) - } - pub async fn initialize_round( &mut self, custom_params: CustomParams, @@ -219,6 +229,7 @@ impl CrispE3Repository { self.set_crisp(E3Crisp { input_commitments: Vec::new(), input_slots: Vec::new(), + input_parents: Vec::new(), has_voted: vec![], start_time: 0u64, status: "Requested".to_string(), @@ -359,6 +370,7 @@ impl CrispE3Repository { /// Event handlers run concurrently, so arrival order is not chain order, and a leaf's position /// in the input tree is its position in this vector. Sorting here is what keeps the root the /// Secure Process derives equal to the one the contract accumulated. + #[allow(dead_code)] pub async fn get_ciphertext_inputs(&self) -> Result, u64)>> { let e3_crisp = self.get_crisp().await?; let mut inputs = e3_crisp.ciphertext_inputs; @@ -366,20 +378,98 @@ impl CrispE3Repository { Ok(inputs) } - /// Returns the commitments in the same on-chain index order as `get_ciphertext_inputs`. - pub async fn get_input_commitments(&self) -> Result> { + /// Everything the compute request needs about a round's inputs, from one read. + /// + /// One read rather than four getters. Each is a separate `await`, and an `InputPublished` event + /// can land between them, so a request assembled from several reads can pair a ciphertext with + /// another input's commitment or leave the vectors different lengths. The Secure Process would + /// then derive a root `CRISPProgram` rejects, and nothing would say why. + pub async fn get_input_snapshot(&self) -> Result { let e3_crisp = self.get_crisp().await?; + + let mut ciphertexts = e3_crisp.ciphertext_inputs; + ciphertexts.sort_by_key(|(_, index)| *index); + + // A round recorded before the event carried these fields loads with them empty, because + // they default. Computing over it would fall back to the pre-binding leaf layout and derive + // a root `CRISPProgram` rejects, with nothing to explain why. Such a round has to be + // re-indexed, not computed. + let expected = ciphertexts.len(); + Self::require_indexed(expected, e3_crisp.input_commitments.len(), "commitments")?; + Self::require_indexed(expected, e3_crisp.input_slots.len(), "slots")?; + Self::require_indexed(expected, e3_crisp.input_parents.len(), "parents")?; + let mut commitments = e3_crisp.input_commitments; commitments.sort_by_key(|(index, _)| *index); - Ok(commitments.into_iter().map(|(_, c)| c).collect()) - } - - /// Returns the slots in the same on-chain index order as `get_ciphertext_inputs`. - pub async fn get_input_slots(&self) -> Result> { - let e3_crisp = self.get_crisp().await?; let mut slots = e3_crisp.input_slots; slots.sort_by_key(|(index, _)| *index); - Ok(slots.into_iter().map(|(_, s)| s).collect()) + let mut parents = e3_crisp.input_parents; + parents.sort_by_key(|(index, _)| *index); + + Ok(InputSnapshot { + ciphertexts, + commitments: commitments.into_iter().map(|(_, value)| value).collect(), + slots: slots.into_iter().map(|(_, value)| value).collect(), + parents: parents.into_iter().map(|(_, value)| value).collect(), + }) + } + + /// Refuses a round whose per-input records do not line up with its ciphertexts. + fn require_indexed(expected: usize, found: usize, field: &str) -> Result<()> { + if expected != found { + return Err(eyre::eyre!( + "round has {expected} inputs but {found} {field}; it is partially indexed or \ + predates the binding, and must be re-indexed" + )); + } + Ok(()) + } + + /// The end of a slot's chain of usable entries: the entry a new input must name as its parent. + /// + /// Resolved the same way the Secure Process resolves it, so a client that builds on this answer + /// produces an input the tally will take. An entry is only ever the head when its published + /// bytes reproduce its commitment and it names the head before it, so an entry nobody can open + /// never becomes one and never blocks the slot. + /// + /// `None` when the slot holds nothing usable, which is what a first vote sees. + pub async fn get_slot_head( + &self, + slot: [u8; 20], + params: &BfvParameters, + ) -> Result, u64)>> { + let snapshot = self.get_input_snapshot().await?; + let mut head: Option = None; + let mut selected: Option<(Vec, u64)> = None; + + for (position, (bytes, index)) in snapshot.ciphertexts.iter().enumerate() { + if snapshot.slots[position] != slot { + continue; + } + + let recomputed = e3_bfv_client::client::compute_ct_commitment( + bytes.clone(), + params.degree(), + params.plaintext(), + params.moduli().to_vec(), + ); + let Ok(recomputed) = recomputed else { + // The bytes do not deserialize, so this entry can never be the head. + continue; + }; + if recomputed != snapshot.commitments[position] { + continue; + } + + if snapshot.parents[position].checked_sub(1) != head { + continue; + } + + head = Some(*index); + selected = Some((bytes.clone(), *index)); + } + + Ok(selected) } #[allow(dead_code)] diff --git a/examples/CRISP/server/src/server/routes/state.rs b/examples/CRISP/server/src/server/routes/state.rs index b02eb5ce8a..5059fae5bc 100644 --- a/examples/CRISP/server/src/server/routes/state.rs +++ b/examples/CRISP/server/src/server/routes/state.rs @@ -16,10 +16,10 @@ use crate::server::{ }; use actix_web::{web, HttpResponse, Responder}; use alloy::primitives::{Address, Bytes, B256}; +use e3_fhe_params::decode_bfv_params_arc; use e3_sdk::evm_helpers::contracts::{ InterfoldContract, InterfoldContractFactory, InterfoldWrite, ReadWrite, }; -use evm_helpers::CRISPContractFactory; use log::{error, info}; pub fn setup_routes(config: &mut web::ServiceConfig) { @@ -44,13 +44,18 @@ pub fn setup_routes(config: &mut web::ServiceConfig) { ); } -/// Endpoint to get the ciphertext input at a certain slot. Used for masking operations +/// Endpoint to get the ciphertext a slot currently holds. Used for every ballot, not only masks. +/// +/// Answers with the end of the slot's chain of usable entries, and the tree index of that entry. +/// Not simply the newest entry published: an entry whose bytes do not reproduce its commitment is +/// never selected by the Secure Process and is never a valid parent, so building on it would have +/// the client's input dropped from the tally. /// /// # Arguments -/// * `data` - The round id and the slot index +/// * `data` - The round id and the slot address /// /// # Returns -/// * A JSON response with the result of the operation. If sucessfull it includes the ciphertext input at the given slot +/// * A JSON response with the ciphertext and its index, or 404 when the slot holds nothing usable. async fn handle_get_previous_ciphertext( data: web::Json, store: web::Data, @@ -63,17 +68,6 @@ async fn handle_get_previous_ciphertext( }; let e3_key = e3_id.to_string(); - let contract = - match CRISPContractFactory::create_read(&CONFIG.http_rpc_url, &CONFIG.e3_program_address) - .await - { - Ok(contract) => contract, - Err(e) => { - error!("Failed to create CRISP contract: {:?}", e); - return HttpResponse::InternalServerError().body("Failed to create CRISP contract"); - } - }; - let address = match Address::from_str(incoming.address.as_str()) { Ok(addr) => addr, Err(e) => { @@ -82,18 +76,31 @@ async fn handle_get_previous_ciphertext( } }; - let slot_index = match contract.get_slot_index_from_address(e3_id, address).await { - Ok(Some(index)) => index, - Ok(None) => return HttpResponse::NotFound().body("Ciphertext not found"), + // The chain is resolved by recomputing each entry's commitment from its published bytes, which + // needs the round's BFV parameters. + let e3 = match store.e3(e3_key.clone()).get_e3().await { + Ok(e3) => e3, Err(e) => { - error!("Error getting slot index from address: {:?}", e); - return HttpResponse::InternalServerError() - .body("Failed to get slot index from address"); + error!("Error reading E3: {:?}", e); + return HttpResponse::InternalServerError().body("Failed to read E3"); + } + }; + let params = match decode_bfv_params_arc(&e3.e3_params) { + Ok(params) => params, + Err(e) => { + error!("Error decoding E3 params: {:?}", e); + return HttpResponse::InternalServerError().body("Failed to decode E3 params"); } }; - match store.e3(e3_key).get_ciphertext_input(slot_index).await { - Ok(Some(ciphertext)) => HttpResponse::Ok().json(PreviousCiphertextResponse { ciphertext }), + match store + .e3(e3_key) + .get_slot_head(address.into(), ¶ms) + .await + { + Ok(Some((ciphertext, index))) => { + HttpResponse::Ok().json(PreviousCiphertextResponse { ciphertext, index }) + } Ok(None) => HttpResponse::NotFound().body("Ciphertext not found"), Err(e) => { error!("Error getting previous ciphertext: {:?}", e); diff --git a/packages/interfold-contracts/scripts/protocol/validate.ts b/packages/interfold-contracts/scripts/protocol/validate.ts index 31e496fcb3..70c45858e5 100644 --- a/packages/interfold-contracts/scripts/protocol/validate.ts +++ b/packages/interfold-contracts/scripts/protocol/validate.ts @@ -260,6 +260,17 @@ export async function actionValidate(): Promise { // Verifier read-backs. Each is configured by a Safe transaction, so a dropped or reverted write // would otherwise leave the reference at address(0) with the deploy script still exiting zero. const bfvSchemeId = ethers.id("fhe.rs:BFV"); + // A read-back alone proves only that the address was stored. Interfold returns whatever was + // configured, so an EOA or an undeployed address passes while being unusable when a receipt is + // actually verified. + for (const [label, address] of [ + ["verifiers.ciphertextVerifier", config.verifiers?.ciphertextVerifier], + ["verifiers.decryptionVerifier", config.verifiers?.decryptionVerifier], + ["verifiers.pkVerifier", config.verifiers?.pkVerifier], + ] as const) { + if (address) await requireContract(ethers.provider, address, label); + } + if (config.verifiers?.ciphertextVerifier) { checks.push([ "interfold.getCiphertextVerifier(fhe.rs:BFV)", diff --git a/scripts/check-image-id.sh b/scripts/check-image-id.sh index 77a1cf0194..c33821d6f8 100755 --- a/scripts/check-image-id.sh +++ b/scripts/check-image-id.sh @@ -166,6 +166,19 @@ if [ "$REBUILD" = true ]; then Commit the regenerated $IMAGE_ID_SOL and refresh $STAMP." fi echo "✅ check:image-id: rebuild reproduces the committed image ID." + + # Record it. Leaving the stamp at imageIdVerified:false after a successful rebuild would keep + # every downstream provenance manifest incomplete and keep this script warning about an image ID + # that has in fact been reproduced. + rebuilt_digest="$(guest_inputs_digest)" + cat > "$STAMP" < { return pins } +/** + * The builder tag `risc0-build` will actually use, read from the pinned crate. + * + * Not derived from `RISC0_VERSION`. `risc0-build` has its own `DEFAULT_DOCKER_TAG`, which does not + * track the release version — 3.0.3 defaults to `r0.1.88.0`, not `v3.0.3` — so deriving it from the + * Dockerfile names an image the build never pulled, and the manifest would record a builder nobody + * used. + * + * Returns null when the crate source is not on this machine, which leaves the manifest incomplete + * and fails the release rather than recording a guess. + */ +function defaultBuilderTag(): string | null { + const pinned = firstMatch(readIfPresent(path.join(SUPPORT, 'Cargo.toml')), /risc0-build = \{ version = "=([0-9.]+)"/) + if (!pinned) return null + + // The vendored source, which is present wherever the guest can be built at all. + const root = path.join(process.env.CARGO_HOME ?? path.join(process.env.HOME ?? '', '.cargo'), 'registry', 'src') + if (!fs.existsSync(root)) return null + + for (const registry of fs.readdirSync(root)) { + const lib = path.join(root, registry, `risc0-build-${pinned}`, 'src', 'lib.rs') + const tag = firstMatch(readIfPresent(lib), /DEFAULT_DOCKER_TAG: &str = "([^"]+)"/) + if (tag) return tag + } + return null +} + /** * Resolves the RISC Zero guest builder image. * * The builder is selected by a mutable tag, and `RISC0_DOCKER_CONTAINER_TAG` overrides it, so the * tag alone does not identify a build. Record the resolved digest whenever Docker can supply it. */ -function builderImage(risc0Version: string | null) { - const tag = process.env.RISC0_DOCKER_CONTAINER_TAG ?? (risc0Version ? `risczero/risc0-guest-builder:v${risc0Version}` : null) +function builderImage() { + const fromCrate = defaultBuilderTag() + const tag = process.env.RISC0_DOCKER_CONTAINER_TAG ?? (fromCrate ? `risczero/risc0-guest-builder:${fromCrate}` : null) if (!tag) return { tag: null, digest: null } const digest = sh('docker', ['image', 'inspect', '--format', '{{index .RepoDigests 0}}', tag]) return { tag, digest } @@ -198,7 +226,7 @@ async function main() { risc0Version, risc0GuestToolchain: risc0Toolchain, hostToolchain: firstMatch(readIfPresent(path.join(REPO_ROOT, 'rust-toolchain.toml')), /channel = "([^"]+)"/), - builderImage: builderImage(risc0Version), + builderImage: builderImage(), pinnedRevisions: pinnedRevisions(), // Why the guest is pinned where it is, and what that pin does and does not certify. A // consumer reading only a commit hash would reasonably assume the code behind it was @@ -228,11 +256,37 @@ async function main() { deployment: chain, } + // A deployment object exists even when every RPC call failed, so completeness is decided by the + // fields themselves. Without this a timed-out RPC would produce a manifest that reads as verified. + const deploymentResolved = + chain !== null && + chain.chainId !== null && + chain.ciphertextVerifierCodePresent && + chain.ciphertextVerifierRuntimeCodeSha256 !== null && + chain.underlyingRisc0Verifier !== null && + chain.onchainImageId !== null + const unresolved: string[] = [] if (!manifest.guest.elfSha256) unresolved.push('guest.elfSha256') if (!manifest.build.builderImage.digest) unresolved.push('build.builderImage.digest') if (!manifest.guest.imageIdVerified) unresolved.push('guest.imageIdVerified') - if (!chain) unresolved.push('deployment (pass --rpc and --verifier)') + if (!chain) { + unresolved.push('deployment (pass --rpc and --verifier)') + } else if (!deploymentResolved) { + if (chain.chainId === null) unresolved.push('deployment.chainId') + if (!chain.ciphertextVerifierCodePresent) unresolved.push('deployment.ciphertextVerifier (no code at address)') + if (chain.ciphertextVerifierRuntimeCodeSha256 === null) unresolved.push('deployment.ciphertextVerifierRuntimeCodeSha256') + if (chain.underlyingRisc0Verifier === null) unresolved.push('deployment.underlyingRisc0Verifier') + if (chain.onchainImageId === null) unresolved.push('deployment.onchainImageId') + } + + // The recorded image ID must also be the one deployed, or the manifest describes a different + // artefact from the one in use. + if (chain?.onchainImageId && committedImageId && chain.onchainImageId !== committedImageId) { + unresolved.push( + `deployment.onchainImageId (${chain.onchainImageId}) does not match ImageID.sol (${committedImageId})`, + ) + } const output = { ...manifest, complete: unresolved.length === 0, unresolved } const json = `${JSON.stringify(output, null, 2)}\n` From 6cd1fc5ee032f1e066c43e0a07b71f4b531a8e58 Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Tue, 18 Aug 2026 08:34:41 +0100 Subject: [PATCH 08/30] chore: pr comments --- .github/workflows/releases.yml | 11 ++++++++++- crates/support/Dockerfile | 13 +++++++++++++ crates/support/contracts/ImageID.stamp.json | 7 ++++++- crates/support/methods/guest/Cargo.lock | 1 + scripts/check-image-id.sh | 18 ++++++++++++++++++ scripts/generate-provenance-manifest.ts | 14 +++++++++++--- 6 files changed, 59 insertions(+), 5 deletions(-) diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index 26d6a5aab0..e6b1d7903f 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -450,6 +450,10 @@ jobs: uses: actions/checkout@v6 with: fetch-depth: 0 + # This job holds `contents: write` and runs `pnpm install`, which executes lifecycle + # scripts from every dependency. Persisting the token in .git/config would leave it on + # disk for all of them. The one step that needs it takes it explicitly instead. + persist-credentials: false - name: Download all binary artifacts uses: actions/download-artifact@v4 @@ -639,7 +643,12 @@ jobs: - name: Update stable tag (for stable releases only) if: needs.validate-and-prepare.outputs.is_prerelease == 'false' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | git tag -f stable - git push origin stable --force + # The checkout persists no credentials, so the remote is named with the token here rather + # than read from .git/config. Interpolated by the shell from the environment, never by + # Actions into the script body. + git push "https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" stable --force echo "✅ Updated 'stable' tag to point to v${{ needs.validate-and-prepare.outputs.version }}" diff --git a/crates/support/Dockerfile b/crates/support/Dockerfile index 47d385744c..53aa28420c 100644 --- a/crates/support/Dockerfile +++ b/crates/support/Dockerfile @@ -35,6 +35,19 @@ ENV SHELL=/bin/bash ENV PATH="/home/${USERNAME}/.risc0/bin:${PATH}" RUN curl -L https://risczero.com/install | bash + +# Re-declared inside the stage. An ARG before the first FROM is only in scope for FROM lines, so +# these expanded to nothing here and `rzup install` silently took its own default — the opposite of +# what pinning them is for. A bare ARG picks up the default declared at the top of the file. +ARG RISC0_VERSION +ARG RISC0_TOOLCHAIN + +# Empty is the failure this guards against, and it is silent: `rzup install rust` with no version +# installs whatever rzup considers current, and the image still builds. +RUN set -eu; \ + : "${RISC0_TOOLCHAIN:?RISC0_TOOLCHAIN is empty; declare the ARG inside this stage}"; \ + : "${RISC0_VERSION:?RISC0_VERSION is empty; declare the ARG inside this stage}" + RUN rzup install rust ${RISC0_TOOLCHAIN} RUN rzup install r0vm ${RISC0_VERSION} RUN rzup install cargo-risczero ${RISC0_VERSION} diff --git a/crates/support/contracts/ImageID.stamp.json b/crates/support/contracts/ImageID.stamp.json index f4df075d98..614722e912 100644 --- a/crates/support/contracts/ImageID.stamp.json +++ b/crates/support/contracts/ImageID.stamp.json @@ -1,6 +1,6 @@ { "imageId": "0x7ac6020923d10004ccb27d8cdb5df72e7476e8a9775b9c1c711e9d906b44e105", - "guestInputsDigest": "a0df9e6388a0fc3ea8565faf8dcb334b402b406db84de79bee971ead4e68f21d", + "guestInputsDigest": "f44959fa60d3972e45bdfdd541d7ad0bf55febf6ad0d045895b9d7ce63d04178", "imageIdVerified": false, "reason": [ "The recorded image ID has never been reproduced from these inputs. It is very probably", @@ -12,6 +12,11 @@ "value. Run './scripts/check-image-id.sh --rebuild' to reproduce the image ID, commit the", "regenerated ImageID.sol, then set imageIdVerified to true and drop this field.", "", + "The digest was rebaselined once more when crates/support/methods/guest/Cargo.lock was", + "repaired: it was one line behind its manifests (e3-support-types gained alloy-primitives in", + "02ebe458), so 'cargo metadata --locked' refused the workspace and the reproducible build", + "stopped before it started. The lockfile is a guest input, so repairing it moved the digest.", + "", "A rebuild also needs the guest to read the fixed compute-provider. The guest reads", "e3-compute-provider through a git pin (crates/support/Cargo.toml and", "crates/support/methods/guest/Cargo.toml), so a change to crates/compute-provider does not", diff --git a/crates/support/methods/guest/Cargo.lock b/crates/support/methods/guest/Cargo.lock index 9156cbab8d..c32d6b167a 100644 --- a/crates/support/methods/guest/Cargo.lock +++ b/crates/support/methods/guest/Cargo.lock @@ -1168,6 +1168,7 @@ dependencies = [ name = "e3-support-types" version = "0.1.0" dependencies = [ + "alloy-primitives", "anyhow", "derivative", "e3-compute-provider", diff --git a/scripts/check-image-id.sh b/scripts/check-image-id.sh index c33821d6f8..c4704b4a84 100755 --- a/scripts/check-image-id.sh +++ b/scripts/check-image-id.sh @@ -71,12 +71,30 @@ $(printf '%s\n' "$pins" | sed 's/^/ /') fi PINNED_REV="$pins" +# The paths the pin decides the contents of. The guest compiles these through the git pin, so a +# change to them here does not reach the guest until the pin moves past it. +GUEST_SOURCE_PATHS="crates/compute-provider crates/support/types" + # The pin must be a commit this repository knows, so a reviewer can diff it against the tree. if git cat-file -e "${PINNED_REV}^{commit}" 2>/dev/null; then if ! git merge-base --is-ancestor "$PINNED_REV" HEAD 2>/dev/null; then warn "pinned revision ${PINNED_REV:0:8} is not an ancestor of HEAD. The guest is built from sources that are not in this branch's history." fi + + # Ancestry says the pin is a commit we know. It does not say the pin is current, and those are + # different questions: a pin can be a perfectly good ancestor and still predate every fix to the + # code it compiles. Ask the second question directly. + # shellcheck disable=SC2086 + last_source_change="$(git log -1 --format=%H -- $GUEST_SOURCE_PATHS 2>/dev/null || true)" + if [ -n "$last_source_change" ] && + ! git merge-base --is-ancestor "$last_source_change" "$PINNED_REV" 2>/dev/null; then + warn "the guest pin predates the last change to the code it compiles. + pinned: ${PINNED_REV:0:8} + last change: ${last_source_change:0:8} ($GUEST_SOURCE_PATHS) + The guest still runs the older code. Move the pin to a pushed commit that contains the change, + update both lockfiles, rebuild the guest, and commit the regenerated $IMAGE_ID_SOL." + fi else warn "pinned revision ${PINNED_REV:0:8} is not present locally; run 'git fetch' to check it." fi diff --git a/scripts/generate-provenance-manifest.ts b/scripts/generate-provenance-manifest.ts index bce15488ab..0fd8a7244a 100644 --- a/scripts/generate-provenance-manifest.ts +++ b/scripts/generate-provenance-manifest.ts @@ -159,12 +159,22 @@ function guestElf() { } } +/** + * How long a single RPC call may take before it counts as unresolved. + * + * `fetch` has no default timeout, and this runs in the release job. An endpoint that accepts the + * connection and never answers would hang the release rather than failing it, which is the one + * outcome a fail-closed gate must not have. + */ +const RPC_TIMEOUT_MS = 15_000 + async function rpcCall(rpc: string, method: string, params: unknown[]): Promise { try { const response = await fetch(rpc, { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ jsonrpc: '2.0', id: 1, method, params }), + signal: AbortSignal.timeout(RPC_TIMEOUT_MS), }) const body = (await response.json()) as { result?: string; error?: unknown } if (body.error || typeof body.result !== 'string') return null @@ -283,9 +293,7 @@ async function main() { // The recorded image ID must also be the one deployed, or the manifest describes a different // artefact from the one in use. if (chain?.onchainImageId && committedImageId && chain.onchainImageId !== committedImageId) { - unresolved.push( - `deployment.onchainImageId (${chain.onchainImageId}) does not match ImageID.sol (${committedImageId})`, - ) + unresolved.push(`deployment.onchainImageId (${chain.onchainImageId}) does not match ImageID.sol (${committedImageId})`) } const output = { ...manifest, complete: unresolved.length === 0, unresolved } From 1d57718c17f1e454bdaeb2545b04dcf8fb1cd802 Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Tue, 18 Aug 2026 09:00:12 +0100 Subject: [PATCH 09/30] chore: pr comments --- agent/flow-trace/00_INDEX.md | 16 +-- agent/flow-trace/04_DKG_AND_COMPUTATION.md | 40 +++--- .../compute-provider/src/ciphertext_output.rs | 11 +- .../compute-provider/src/compute_manager.rs | 6 +- crates/program-server/src/lib.rs | 36 ++++- crates/program-server/src/types.rs | 3 + crates/support-scripts/dev/src/main.rs | 12 +- crates/support/README.md | 15 +- docs/pages/tutorials/custom-zk-circuits.mdx | 49 +++++-- .../client/src/hooks/voting/useVoteCasting.ts | 11 +- examples/CRISP/packages/crisp-sdk/README.md | 5 +- .../packages/crisp-sdk/src/circuitInputs.ts | 11 +- examples/CRISP/packages/crisp-sdk/src/sdk.ts | 9 +- .../CRISP/packages/crisp-sdk/src/types.ts | 32 +++-- .../CRISP/packages/crisp-zk-inputs/README.md | 12 +- examples/CRISP/server/src/server/indexer.rs | 129 +++++++++++++----- examples/CRISP/server/src/server/models.rs | 13 ++ examples/CRISP/server/src/server/repo.rs | 72 ++++++---- .../CRISP/server/src/server/routes/state.rs | 26 +--- scripts/check-image-id.sh | 11 +- scripts/generate-provenance-manifest.ts | 41 ++++-- 21 files changed, 392 insertions(+), 168 deletions(-) diff --git a/agent/flow-trace/00_INDEX.md b/agent/flow-trace/00_INDEX.md index 624f6b7ff2..03e1f5b4dc 100644 --- a/agent/flow-trace/00_INDEX.md +++ b/agent/flow-trace/00_INDEX.md @@ -205,16 +205,16 @@ _Found during source-code cross-referencing of these trace documents._ ### CRISP Ballot Remediations -Found while making voting, updating, and masking work as one indistinguishable operation. Every one -is in the reference app (`examples/CRISP`), not the protocol. +Found while making voting, updating, and masking work as one indistinguishable operation. All of +them are in the reference app (`examples/CRISP`), not the protocol. -| Finding | Status | Implemented behavior | -| --------------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **Ballot rules read only zero padding** | Fixed | `check_coefficient_values_with_balance` and `check_coefficient_zero` indexed `k1` as if it were `MAX_MSG_NON_ZERO_COEFFS` wide, while the circuit receives the full reversed BFV degree. Both read padding, so every vote passed any balance bound and a mask could carry an arbitrary payload. `ballot_layout` now derives the real offset. | +| Finding | Status | Implemented behavior | +| ----------------------------------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **Ballot rules read only zero padding** | Fixed | `check_coefficient_values_with_balance` and `check_coefficient_zero` indexed `k1` as if it were `MAX_MSG_NON_ZERO_COEFFS` wide, while the circuit receives the full reversed BFV degree. Both read padding, so every vote passed any balance bound and a mask could carry an arbitrary payload. `ballot_layout` now derives the real offset. | | **Coefficients outside the ballot are unconstrained** | Fixed | The whole plaintext is bound: binary inside an option segment, zero everywhere else, and zero everywhere for a mask. An unconstrained coefficient survives to the decrypted tally, so it was both a way to corrupt a slot and a channel a coercer could read a receipt from. | -| **Re-votes are accepted and never tallied** | Fixed | The witness published `previous + new` while the circuit committed to `new`. One generator now publishes exactly what the circuit commits to on every branch, and the SDK exposes one commitment for the ballot digest. | -| **Occupied-slot masks cannot be published** | Fixed | The client built the digest from the ballot commitment while the contract rebuilt it from the stored one, which differ for a mask over an occupied slot. `PreparedBallot.ctCommitment` is now the published ciphertext's commitment on every branch. | -| **A valid input can freeze a slot** | Fixed | Publishing a real proof beside unusable bytes advanced the slot head to a commitment only the submitter could open, so nobody could mask that slot — and a slot that cannot be masked is one where every later input is provably its owner voting again. Inputs now name the entry they extend and the guest follows the chain. | +| **Re-votes are accepted and never tallied** | Fixed | The witness published `previous + new` while the circuit committed to `new`. One generator now publishes exactly what the circuit commits to on every branch, and the SDK exposes one commitment for the ballot digest. | +| **Occupied-slot masks cannot be published** | Fixed | The client built the digest from the ballot commitment while the contract rebuilt it from the stored one, which differ for a mask over an occupied slot. `PreparedBallot.ctCommitment` is now the published ciphertext's commitment on every branch. | +| **A valid input can freeze a slot** | Fixed | Publishing a real proof beside unusable bytes advanced the slot head to a commitment only the submitter could open, so nobody could mask that slot — and a slot that cannot be masked is one where every later input is provably its owner voting again. Inputs now name the entry they extend and the guest follows the chain. | ### Protocol Design Concerns diff --git a/agent/flow-trace/04_DKG_AND_COMPUTATION.md b/agent/flow-trace/04_DKG_AND_COMPUTATION.md index 07db7f997f..290feac82f 100644 --- a/agent/flow-trace/04_DKG_AND_COMPUTATION.md +++ b/agent/flow-trace/04_DKG_AND_COMPUTATION.md @@ -1315,7 +1315,7 @@ pub struct InputPolicy { } ``` -Both are program-specific. A leaf must equal what that program builds on chain, and no two programs +Both are program-specific. A leaf must equal what that program builds on-chain, and no two programs need agree. Selection answers "what does a second input for the same participant mean?", which CRISP answers differently from a program where every input counts. @@ -1338,7 +1338,7 @@ serialization. The guest is the first place both representations exist at once. `CRISPProgram.inputLeaf` therefore binds four values: -``` +```text leaf = sha256(sha256(encryptedVote) || encryptedVoteCommitment || slotAddress || parentIndexPlusOne) mod SNARK_SCALAR_FIELD ``` @@ -1358,8 +1358,8 @@ would make every root mismatch and nothing else would detect it. SHA-256 rather than Keccak: the zkVM accelerates SHA-256 inline, while its Keccak accelerator emits a proof assumption the host must prove separately and compose. The extra on-chain cost is about 67k -gas on a transaction that already carries the ciphertext — a secure-preset ciphertext is about -348 KB, so calldata and log data dominate by orders of magnitude. +gas on a transaction that already carries the ciphertext — a secure-preset ciphertext is about 348 +KB, so calldata and log data dominate by orders of magnitude. **The input tree is append-only.** `_processVote` always inserts and never updates in place. That is a security property, not a storage choice: the mask path requires no signature, so anyone can write @@ -1379,17 +1379,17 @@ hold: - its bytes reproduce its commitment, so it is a ciphertext anyone can read; and - the entry it names is the slot's current head. -Entries that fail either rule keep their leaf — removing one would change the root — but are skipped. -The rule is a function of values the root binds, so any prover holding the same published data -reaches the same set and none can choose what to drop. +Entries that fail either rule keep their leaf — removing one would change the root — but are +skipped. The rule is a function of values the root binds, so any prover holding the same published +data reaches the same set and none can choose what to drop. Why the chain rather than "the most recent usable entry": `CRISPProgram` cannot tell that a -submitter's bytes disagree with the commitment they published — only the Secure Process can, and only -after the input window closes. With a single mutable slot head, anyone could therefore leave a slot -whose head only they can open, and a slot nobody can mask is a slot where every later input is -provably its owner voting again. That is a coercion receipt, and a cleaner one than the receipt masks -exist to destroy. Because an unusable entry is never the head, it is never a valid parent either, so -the next honest input names the same parent it did and masking continues. +submitter's bytes disagree with the commitment they published — only the Secure Process can, and +only after the input window closes. With a single mutable slot head, anyone could therefore leave a +slot whose head only they can open, and a slot nobody can mask is a slot where every later input is +provably its owner voting again. That is a coercion receipt, and a cleaner one than the receipt +masks exist to destroy. Because an unusable entry is never the head, it is never a valid parent +either, so the next honest input names the same parent it did and masking continues. The resulting properties: @@ -1409,7 +1409,7 @@ counted. That is the deliberate side of a genuine trade-off, not an oversight. A stale parent is indistinguishable from a sibling that was simply built a moment earlier: both name an entry that is -no longer the head, and only the circuit knows whether an entry *replaces* the slot or *adds* to it +no longer the head, and only the circuit knows whether an entry _replaces_ the slot or _adds_ to it — which is precisely what `is_mask_vote` keeps private. Favour the earlier sibling and a re-vote can be delayed; favour the later one and a mask built on a superseded ciphertext can restore it over a vote. The first is visible to the voter (the server resolves the chain, so the client can see its @@ -1423,21 +1423,21 @@ that distinction — the thing the whole design exists to hide. Capacity: `TREE_DEPTH = 20` gives 2^20 entries, against a physical ceiling of roughly three writes per block at the secure preset — append-only is not capacity-bound. -A round where *every* entry is unusable fails at the output commitment, because the processor's +A round where _every_ entry is unusable fails at the output commitment, because the processor's empty ciphertext does not deserialize. That is only reachable when no honest input exists, and is indistinguishable from a round that received none, which the protocol resolves as `NoInputsReceived`. -`InputPublished` carries the slot, the commitment, and the parent alongside the bytes. All three were -already public — the slot and the parent are plaintext `publishInput` arguments, and `getSlotIndex` -and `inputCommitmentOf` expose the rest — so emitting them leaks nothing and saves every consumer -from parsing transaction calldata. +`InputPublished` carries the slot, the commitment, and the parent alongside the bytes. All three +were already public — the slot and the parent are plaintext `publishInput` arguments, and +`getSlotIndex` and `inputCommitmentOf` expose the rest — so emitting them leaks nothing and saves +every consumer from parsing transaction calldata. ### One relation for voting, updating, and masking The ballot circuit proves the same statement for all three operations: -``` +```text published ciphertext = addend + ballot ciphertext ``` diff --git a/crates/compute-provider/src/ciphertext_output.rs b/crates/compute-provider/src/ciphertext_output.rs index 330b973ed5..353ba6628e 100644 --- a/crates/compute-provider/src/ciphertext_output.rs +++ b/crates/compute-provider/src/ciphertext_output.rs @@ -5,11 +5,20 @@ // or FITNESS FOR A PARTICULAR PURPOSE. use crate::compute_input::ComputeInput; +use crate::policy::InputPolicy; pub trait ComputeProvider { type Output: Send + Sync; - fn prove(&self, input: &ComputeInput) -> Self::Output; + /// Proves the computation over `input`, under the same [`InputPolicy`] the caller published + /// with. + /// + /// The policy is passed rather than chosen here. A prover that picked its own would decide a + /// different leaf layout and a different selected input set from the one + /// [`crate::ComputeManager::start`] returned the ciphertext for, and the two only disagree + /// where it matters: an E3 program hashes the published ciphertext into the digest it rebuilds, + /// so any divergence makes the round unpublishable and names no cause. + fn prove(&self, input: &ComputeInput, policy: InputPolicy) -> Self::Output; } #[derive(Clone, Debug, serde::Serialize, serde::Deserialize)] diff --git a/crates/compute-provider/src/compute_manager.rs b/crates/compute-provider/src/compute_manager.rs index e7a0cbb5fb..b13426a194 100644 --- a/crates/compute-provider/src/compute_manager.rs +++ b/crates/compute-provider/src/compute_manager.rs @@ -50,9 +50,13 @@ where /// the full input set here instead would publish bytes the receipt does not describe: an E3 /// program hashes the published ciphertext into the digest it rebuilds, so any excluded input /// would make every round unpublishable. + /// + /// One policy reaches both, from this one argument. Letting the provider choose its own would + /// reopen the same gap one layer down: the ciphertext returned here and the one the receipt + /// describes would be selected by different rules, and nothing would compare them. pub fn start(&mut self, policy: InputPolicy) -> Result<(P::Output, Vec), ComputeError> { let (_, ciphertext) = self.input.run(self.processor, policy)?; - Ok((self.provider.prove(&self.input), ciphertext)) + Ok((self.provider.prove(&self.input, policy), ciphertext)) } } diff --git a/crates/program-server/src/lib.rs b/crates/program-server/src/lib.rs index 4c4da3f72c..856d48dea7 100644 --- a/crates/program-server/src/lib.rs +++ b/crates/program-server/src/lib.rs @@ -64,6 +64,15 @@ impl ComputeDomain { } } +/// The width of one slot address in published metadata: a Solidity `address`. +const SLOT_BYTES: usize = 20; + +/// The width of one parent index in published metadata: a Solidity `uint40`. +const PARENT_BYTES: usize = 5; + +/// The largest parent index that fits in [`PARENT_BYTES`]. +const MAX_PARENT: u64 = (1 << (8 * PARENT_BYTES as u64)) - 1; + fn fixed(value: &[u8], name: &str) -> Result<[u8; N], String> { value .try_into() @@ -384,14 +393,31 @@ async fn handle_compute( // The metadata is opaque here — what a policy reads out of it is the E3 program's // business. It is assembled in the order the program packs it, which for CRISP is // `abi.encodePacked(address, uint40)`. + // + // Both widths are checked rather than coerced. This endpoint takes JSON from the + // network, and the packing is fixed-width: a slot of the wrong length shifts every + // byte after it, and a parent above `uint40` would be truncated into a different, + // valid-looking index. Either produces metadata the E3 program never published, and + // the only symptom is an input root the guest derives and the contract rejects. let mut metadata = Vec::new(); if let Some(hex_slot) = req.input_slots.get(index) { - metadata - .extend_from_slice(&hex::decode(hex_slot.trim_start_matches("0x")).map_err( - |e| actix_web::error::ErrorBadRequest(format!("bad slot: {e}")), - )?); + let slot = hex::decode(hex_slot.trim_start_matches("0x")) + .map_err(|e| actix_web::error::ErrorBadRequest(format!("bad slot: {e}")))?; + if slot.len() != SLOT_BYTES { + return Err(actix_web::error::ErrorBadRequest(format!( + "each slot must be {SLOT_BYTES} bytes, got {}", + slot.len() + ))); + } + metadata.extend_from_slice(&slot); + let parent = req.input_parents.get(index).copied().unwrap_or_default(); - metadata.extend_from_slice(&parent.to_be_bytes()[3..]); + if parent > MAX_PARENT { + return Err(actix_web::error::ErrorBadRequest(format!( + "each parent must fit in {PARENT_BYTES} bytes (at most {MAX_PARENT}), got {parent}" + ))); + } + metadata.extend_from_slice(&parent.to_be_bytes()[8 - PARENT_BYTES..]); } Ok(PublishedData { diff --git a/crates/program-server/src/types.rs b/crates/program-server/src/types.rs index 1ff6311d8b..f753c6310f 100644 --- a/crates/program-server/src/types.rs +++ b/crates/program-server/src/types.rs @@ -43,6 +43,9 @@ pub struct ComputeRequest { /// The entry each input names as the one it extends, plus one, in the same order; zero means it /// extends nothing. Required alongside `input_slots`, because a policy that groups by slot may /// also order within one, and CRISP's does. + /// + /// Carried as `u64` because JSON has no narrower integer, but the published width is a Solidity + /// `uint40`. The handler refuses anything wider rather than truncating it. #[serde(default)] pub input_parents: Vec, pub callback_url: Option, diff --git a/crates/support-scripts/dev/src/main.rs b/crates/support-scripts/dev/src/main.rs index 4fb9709276..0b495ac988 100644 --- a/crates/support-scripts/dev/src/main.rs +++ b/crates/support-scripts/dev/src/main.rs @@ -5,7 +5,9 @@ // or FITNESS FOR A PARTICULAR PURPOSE. use anyhow::Result; -use e3_compute_provider::{ComputeInput, ComputeManager, ComputeProvider, ComputeResult}; +use e3_compute_provider::{ + ComputeInput, ComputeManager, ComputeProvider, ComputeResult, InputPolicy, +}; use e3_program_server::E3ProgramServer; use e3_user_program::fhe_processor; @@ -14,11 +16,15 @@ struct MockProofProvider; impl ComputeProvider for MockProofProvider { type Output = ComputeResult; - fn prove(&self, input: &ComputeInput) -> Self::Output { + fn prove(&self, input: &ComputeInput, policy: InputPolicy) -> Self::Output { + // The policy comes from the caller rather than from `e3_user_program::policy()` here. + // Reading it twice would let the ciphertext this run publishes and the one it proves be + // selected by different rules, which is the divergence the argument exists to remove. + // // This dev provider stands in for the zkVM, where a failure aborts the guest. Panicking // with the reason keeps that behaviour while naming the input that could not be used. input - .process(fhe_processor, e3_user_program::policy()) + .process(fhe_processor, policy) .expect("the Secure Process rejected its inputs") } } diff --git a/crates/support/README.md b/crates/support/README.md index 9181b5b8d7..6b7b7a7ff3 100644 --- a/crates/support/README.md +++ b/crates/support/README.md @@ -125,13 +125,22 @@ published revision (`crates/support/Cargo.toml`, `crates/support/methods/guest/C A change to `crates/compute-provider` therefore has no effect on the guest until that pin moves, and the pin can only move to a pushed commit. Moving it changes the image ID, and -`Risc0BfvCiphertextVerifier.imageId` is immutable — so a guest change is a redeployment, not a patch. +`Risc0BfvCiphertextVerifier.imageId` is immutable — so a guest change is a redeployment, not a +patch. The order matters: 1. Merge the change to `crates/compute-provider`, then push. -2. Bump both pins to the merge commit. They must name the same revision; `pnpm check:image-id` - fails if they diverge. +2. Bump every Interfold pin to the merge commit. There are three, and `pnpm check:image-id` reads + all of them and fails when they do not name one revision: + - `e3-fhe-params` in `crates/support/Cargo.toml` + - `e3-compute-provider` in `crates/support/Cargo.toml` + - `e3-compute-provider` in `crates/support/methods/guest/Cargo.toml` + + Then refresh both lockfiles (`crates/support/Cargo.lock` and + `crates/support/methods/guest/Cargo.lock`). The Docker guest build passes `--locked`, so a + lockfile one line behind its manifest stops the reproducible build before it starts. + 3. Update the `crates/support` call sites that track the crate's API — the compiler will point at them, since they built against the old revision until now. 4. Rebuild the guest against the pinned code: diff --git a/docs/pages/tutorials/custom-zk-circuits.mdx b/docs/pages/tutorials/custom-zk-circuits.mdx index cf2d7d0569..04a73455e7 100644 --- a/docs/pages/tutorials/custom-zk-circuits.mdx +++ b/docs/pages/tutorials/custom-zk-circuits.mdx @@ -26,21 +26,34 @@ input validation circuits. ## What the Circuits Prove -CRISP's circuit system handles two distinct cases: +CRISP's circuit system proves one relation for every submission, and four things hold on every path: -**Actual vote:** +1. **Voter eligibility** — the slot's address is in a Merkle tree of eligible participants +2. **Valid encryption** — the ballot ciphertext is a well-formed BFV encryption +3. **Correct ciphertext addition** — the published ciphertext is `addend + ballot`, computed + correctly +4. **A well-formed plaintext** — every coefficient of the ballot is constrained, not only the ones + the vote rules read -1. **Voter eligibility** — the voter's address is in a Merkle tree of eligible participants -2. **Valid encryption** — the ciphertext is a well-formed BFV encryption -3. **Correct signature** — the submission was signed by the voter (ECDSA recovery) -4. **Within balance** — the vote amount does not exceed the voter's token balance +What changes between the two cases is the addend and the authorisation: + +**Actual vote** — the addend is the zero ciphertext, so the ballot replaces what the slot holds. +Additionally proves: + +1. **Correct signature** — the submission was signed by the voter (ECDSA recovery) +2. **Within balance** — the vote amount does not exceed the voter's token balance **Mask vote** (for -[receipt-freeness](https://blog.theinterfold.com/vote-masking-receipt-freeness-secret-ballots/)): +[receipt-freeness](https://blog.theinterfold.com/vote-masking-receipt-freeness-secret-ballots/)) — +the addend is the ciphertext already in the slot, so the vote there is unchanged. Additionally +proves: + +1. **Encryption of zero** — the plaintext is zero in every coefficient, so a mask can neither change + the tally nor carry a payload -1. **Encryption of zero** — the ciphertext encrypts a zero-value vote -2. **Correct ciphertext addition** — the sum of the previous slot ciphertext and the zero ciphertext - is computed correctly (`sum = prev + 0`) +No signature is checked on the mask path, which is what lets a third party mask a slot at all. The +flag that chooses between the two is private, so the two cases are not distinguishable once +published. --- @@ -124,10 +137,11 @@ leaf (voter address) exists at a specific index without revealing other leaves. **`ecdsa.nr`** — secp256k1 ECDSA signature verification and Ethereum address derivation. Recovers the signer address from the signature and verifies it matches the expected voter. -**`ciphertext_addition.nr`** — Used in mask vote mode to prove that `sum = prev + new` for BFV -ciphertexts (where `new` is an encryption of zero). Uses the Schwartz-Zippel lemma with a -Fiat-Shamir challenge point to verify the polynomial identity at a single random point, avoiding the -cost of checking every coefficient. +**`ciphertext_addition.nr`** — Proves that `sum = addend + new` for BFV ciphertexts. Asserted on +every path, not only for masks: the addend is the slot's ciphertext for a mask and the zero +ciphertext otherwise, so the same relation covers a vote, a re-vote, and a mask. Uses the +Schwartz-Zippel lemma with a Fiat-Shamir challenge point to verify the polynomial identity at a +single random point, avoiding the cost of checking every coefficient. **`utils.nr`** — Vote validation helpers. Checks that vote coefficients are binary (0 or 1) and that the total doesn't exceed the voter's balance. @@ -212,7 +226,12 @@ const generator = ZKInputsGenerator.withDefaults() // `previousCiphertext` is the end of the slot's chain of usable entries, or `undefined` when the // slot holds nothing. `keepPrevious` is set only for a mask over an occupied slot: it is what makes // the ballot add to that ciphertext rather than replace it. -const { encryptedVote, inputs } = generator.generateInputs(previousCiphertext, publicKey, voteCoefficients, keepPrevious) +const { encryptedVote, inputs } = generator.generateInputs( + previousCiphertext, + publicKey, + voteCoefficients, + keepPrevious, +) ``` The WASM module handles BFV encryption and produces the exact polynomial decompositions the Noir diff --git a/examples/CRISP/client/src/hooks/voting/useVoteCasting.ts b/examples/CRISP/client/src/hooks/voting/useVoteCasting.ts index a3d56a3669..4d0b903c2d 100644 --- a/examples/CRISP/client/src/hooks/voting/useVoteCasting.ts +++ b/examples/CRISP/client/src/hooks/voting/useVoteCasting.ts @@ -150,7 +150,10 @@ export const useVoteCasting = (customRoundState?: VoteStateLite | null, customVo const e3Id = BigInt(votingRound.round_id) const slot = address as `0x${string}` - const prepared = await prepareBallot({ + // The slot head is passed as a pair or not at all. A ciphertext without its index would be + // proven against one entry and published against another, so the SDK types the two together + // and this branches rather than spreading them as separate optional fields. + const ballot = { censusMode: 'merkle', vote, publicKey, @@ -159,9 +162,9 @@ export const useVoteCasting = (customRoundState?: VoteStateLite | null, customVo slotAddress: address, isMaskVote: isAMask, numOptions: NUM_OPTIONS, - previousCiphertext: head?.ciphertext, - previousIndex: head?.index, - }) + } as const + + const prepared = await prepareBallot(head ? { ...ballot, previousCiphertext: head.ciphertext, previousIndex: head.index } : ballot) const crispProgram = await getCrispProgramAddress(publicClient, roundState.interfold_address as `0x${string}`, e3Id) const digest = await getBallotDigest(publicClient, crispProgram, e3Id, slot, prepared.ctCommitment) diff --git a/examples/CRISP/packages/crisp-sdk/README.md b/examples/CRISP/packages/crisp-sdk/README.md index 3ce9eb5ec5..f38aa528eb 100644 --- a/examples/CRISP/packages/crisp-sdk/README.md +++ b/examples/CRISP/packages/crisp-sdk/README.md @@ -173,8 +173,9 @@ const head = await getPreviousCiphertext(serverUrl, e3Id, slotAddress) - `getRoundDetails(serverUrl: string, e3Id: bigint): Promise` - Get round details - `getRoundTokenDetails(serverUrl: string, e3Id: bigint): Promise` - Get token details for a round -- `getPreviousCiphertext(serverUrl: string, e3Id: bigint, address: string): Promise` - - Get previous ciphertext for a slot (undefined when slot is empty) +- `getPreviousCiphertext(serverUrl: string, e3Id: bigint, address: string): Promise` - + Get the end of a slot's chain of usable entries, as `{ ciphertext, index }`. `index` is what a new + input names as its parent. Undefined when the slot holds nothing usable. ### Token Functions diff --git a/examples/CRISP/packages/crisp-sdk/src/circuitInputs.ts b/examples/CRISP/packages/crisp-sdk/src/circuitInputs.ts index 88437ca581..cceeabcc2a 100644 --- a/examples/CRISP/packages/crisp-sdk/src/circuitInputs.ts +++ b/examples/CRISP/packages/crisp-sdk/src/circuitInputs.ts @@ -97,7 +97,16 @@ export const prepareCircuitInputsImpl = async (inputs: PrepareBallotInputs): Pro const ctCommitment = `0x${BigInt(circuitInputs.sum_ct_commitment).toString(16).padStart(64, '0')}` as `0x${string}` // Zero when there is nothing to extend, which is what the contract reads as `is_first_vote`. - const parentIndexPlusOne = inputs.previousCiphertext ? (inputs.previousIndex ?? 0) + 1 : 0 + // + // Checked at runtime as well as in the type, because a caller reaching this through plain + // JavaScript or a widened object gets no type error. Defaulting a missing index to zero would + // name the slot's first entry as the parent, and the proof would be built against one commitment + // while the contract supplied another — visible only as a rejected proof. + if (inputs.previousCiphertext && !Number.isInteger(inputs.previousIndex)) { + throw new Error('previousCiphertext was supplied without its previousIndex; pass the slot head as a pair') + } + + const parentIndexPlusOne = inputs.previousCiphertext ? (inputs.previousIndex as number) + 1 : 0 return { circuitInputs, encryptedVote, ctCommitment, parentIndexPlusOne, censusMode: inputs.censusMode } } diff --git a/examples/CRISP/packages/crisp-sdk/src/sdk.ts b/examples/CRISP/packages/crisp-sdk/src/sdk.ts index 4c1dddfd75..81c87f7483 100644 --- a/examples/CRISP/packages/crisp-sdk/src/sdk.ts +++ b/examples/CRISP/packages/crisp-sdk/src/sdk.ts @@ -75,11 +75,10 @@ export class CrispSDK { async prepareBallot(request: PrepareBallotRequest): Promise { const head = await getPreviousCiphertext(this.serverUrl, request.e3Id, request.slotAddress) - return prepareBallot({ - ...request, - previousCiphertext: head?.ciphertext, - previousIndex: head?.index, - }) + // Branched rather than spread conditionally. The two halves of a slot head only mean anything + // together and the type models them as a pair, which a conditional spread widens back into two + // independent optional fields — the exact shape the pair exists to rule out. + return head ? prepareBallot({ ...request, previousCiphertext: head.ciphertext, previousIndex: head.index }) : prepareBallot(request) } /** diff --git a/examples/CRISP/packages/crisp-sdk/src/types.ts b/examples/CRISP/packages/crisp-sdk/src/types.ts index f68acf1fa0..52cc8d9527 100644 --- a/examples/CRISP/packages/crisp-sdk/src/types.ts +++ b/examples/CRISP/packages/crisp-sdk/src/types.ts @@ -148,23 +148,35 @@ export type ProofData = { */ export type CensusVariant = 'merkle' | 'onchain' +/** + * The two halves of a slot head, which only mean anything together. + * + * Modelled as a pair rather than two optional fields: a ciphertext without its index would be + * proven against one entry and published against another, and the mismatch only surfaces as a + * rejected proof. + */ +type SlotHeadInputs = + | { + /** + * The ciphertext currently in the slot: the end of its chain of usable entries, not simply + * the newest one published. An entry whose bytes do not reproduce its commitment is never + * selected by the Secure Process and is never a valid parent, so building on it would have + * this input dropped from the tally. + */ + previousCiphertext: Uint8Array + /** The tree index of `previousCiphertext`, which this input names as its parent. */ + previousIndex: number + } + | { previousCiphertext?: undefined; previousIndex?: undefined } + type PrepareBallotInputsBase = { - /** - * The ciphertext currently in the slot: the end of its chain of usable entries, not simply the - * newest one published. An entry whose bytes do not reproduce its commitment is never selected - * by the Secure Process and is never a valid parent, so building on it would have this input - * dropped from the tally. - */ - previousCiphertext?: Uint8Array - /** The tree index of `previousCiphertext`. Required whenever it is supplied. */ - previousIndex?: number publicKey: Uint8Array slotAddress: string isMaskVote: boolean /// Read for a mask, where there is no vote to take a length from. numOptions: number vote: Vote -} +} & SlotHeadInputs /** * Everything needed to encrypt a ballot, before the voter has signed anything. diff --git a/examples/CRISP/packages/crisp-zk-inputs/README.md b/examples/CRISP/packages/crisp-zk-inputs/README.md index 4a804387fa..89bbf7060c 100644 --- a/examples/CRISP/packages/crisp-zk-inputs/README.md +++ b/examples/CRISP/packages/crisp-zk-inputs/README.md @@ -46,17 +46,23 @@ The `init` subpackage handles both environments transparently. ```ts // Bad — the raw default loader doesn't work in Node.js contexts -import init, { generateVoteInputs } from '@crisp-e3/zk-inputs' +import init, { ZKInputsGenerator } from '@crisp-e3/zk-inputs' ``` ### ✅ Use the universal subpackage loader ```ts import init from '@crisp-e3/zk-inputs/init' -import { generateVoteInputs } from '@crisp-e3/zk-inputs' +import { ZKInputsGenerator } from '@crisp-e3/zk-inputs' await init() -const inputs = generateVoteInputs(/* ... */) +const generator = ZKInputsGenerator.withDefaults() +const { encryptedVote, inputs } = generator.generateInputs( + previousCiphertext, + publicKey, + vote, + keepPrevious, +) ``` Call `init()` once before using any other imports from `@crisp-e3/zk-inputs`. In browser diff --git a/examples/CRISP/server/src/server/indexer.rs b/examples/CRISP/server/src/server/indexer.rs index 8f96fd6701..be3b5f063a 100644 --- a/examples/CRISP/server/src/server/indexer.rs +++ b/examples/CRISP/server/src/server/indexer.rs @@ -11,7 +11,7 @@ use crate::server::token_holders::{ use crate::server::{ models::{CensusMode, CreditMode, CurrentRound, CustomParams, TokenHolder}, program_server_request::{run_compute, RoundInputs}, - repo::{CrispE3Repository, CurrentRoundRepository}, + repo::{CrispE3Repository, CurrentRoundRepository, InputSnapshot}, token_holders::{build_tree, compute_token_holder_hashes}, CONFIG, }; @@ -19,6 +19,7 @@ use alloy::providers::{Provider, ProviderBuilder}; use alloy::sol_types::{sol_data, SolType}; use alloy_primitives::{Address, U256}; use crisp_utils::decode_tally; +use e3_fhe_params::decode_bfv_params_arc; use e3_sdk::{ evm_helpers::{ contracts::{InterfoldRead, ReadWrite}, @@ -409,12 +410,29 @@ pub async fn register_e3_requested( Ok(indexer) } -/// The number of inputs `CRISPProgram` accepted, once the indexer has caught up with it. +/// What the indexer holds for a round, measured against what `CRISPProgram` accepted. +enum IndexedInputs { + /// The indexer holds every input, and this is the snapshot it holds them in. + Complete(InputSnapshot), + /// It does not, and never did within the wait. + Short { indexed: usize, published: usize }, +} + +/// The round's inputs, once the indexer holds every one `CRISPProgram` accepted. /// /// Polls rather than reading once: the deadline callback and the last `InputPublished` handler race, -/// and the gap is the few seconds it takes one log to be delivered and stored. Returns the on-chain -/// count either way, so the caller reports the shortfall rather than looping forever. -async fn wait_for_indexed_inputs(e3_id: &str, indexed: usize) -> eyre::Result { +/// and the gap is the few seconds it takes one log to be delivered and stored. +/// +/// Both counts are re-read on every attempt. Re-reading only the chain would compare a moving number +/// against a fixed one, so the loop could never converge — it would wait out every attempt and then +/// report the same shortfall it started with, in exactly the race it exists to absorb. +/// +/// Returns the snapshot the two counts agree on, or the last pair when they never do, so the caller +/// reports the shortfall rather than looping forever. +async fn wait_for_indexed_inputs( + e3_id: &str, + repo: &CrispE3Repository, +) -> eyre::Result { const ATTEMPTS: u32 = 10; const INTERVAL: Duration = Duration::from_secs(3); @@ -422,22 +440,37 @@ async fn wait_for_indexed_inputs(e3_id: &str, indexed: usize) -> eyre::Result= published { + return Ok(IndexedInputs::Complete(snapshot)); + } + + if attempt == ATTEMPTS { + return Ok(IndexedInputs::Short { indexed, published }); + } - while published > indexed && attempt < ATTEMPTS { info!( "[e3_id={}] waiting for the indexer: {} of {} input(s) stored", e3_id, indexed, published ); sleep(INTERVAL).await; - attempt += 1; - published = contract.get_published_input_count(e3_id_u256).await? as usize; } - Ok(published) + unreachable!("the loop returns on its final attempt") } +/// When the deadline handler runs again after a round it could not compute. +/// +/// Each offset is a separate `do_later` registration made when the round starts, rather than the +/// handler re-arming itself: `do_later` drops a callback once it has run, and a handler that failed +/// has no way back into the schedule. The offsets are wider than the indexer wait inside the +/// handler, so two passes do not overlap. +const DEADLINE_RETRY_OFFSETS: [u64; 3] = [60, 180, 420]; + async fn handle_e3_input_deadline_expiration( e3_id: String, store: SharedStore, @@ -445,30 +478,47 @@ async fn handle_e3_input_deadline_expiration( let mut repo = CrispE3Repository::new(store.clone(), &e3_id); let e3: e3_sdk::indexer::models::E3 = repo.get_e3().await?; + // A retry pass for a round that already got past this point. Computation is one-shot, so a + // second `run_compute` for the same round would publish a second result. + let status = repo.get_status().await?; + if status == "Computing" || status == "Finished" { + return Ok(()); + } + repo.update_status("Expired").await?; let voter_count = repo.get_vote_count().await?; - // One read. Assembling the request from separate reads lets an `InputPublished` event land - // between them, which pairs a ciphertext with another input's commitment and derives a root - // `CRISPProgram` rejects. - let snapshot = repo.get_input_snapshot().await?; - let votes = snapshot.ciphertexts.clone(); // The contract is the authority on how many inputs there are, and this callback can run before // the last of them is indexed: `publishInput` still accepts one while // `block.timestamp == inputWindow[1]`. Computation is one-shot, so starting short would tally a - // subset and derive a root the contract rejects — a failure with no other symptom. Refusing - // here leaves the round to be retried once the indexer has caught up. - let published = wait_for_indexed_inputs(&e3_id, votes.len()).await?; - if published != votes.len() { - return Err(eyre::eyre!( - "[e3_id={}] the indexer holds {} input(s) but CRISPProgram accepted {}; \ - refusing to compute over a subset", - e3_id, - votes.len(), - published - )); - } + // subset and derive a root the contract rejects — a failure with no other symptom. + // + // The snapshot comes back from the same call, read once. Assembling the request from separate + // reads lets an `InputPublished` event land between them, which pairs a ciphertext with another + // input's commitment and derives a root `CRISPProgram` rejects. + let snapshot = match wait_for_indexed_inputs(&e3_id, &repo).await? { + IndexedInputs::Complete(snapshot) => snapshot, + IndexedInputs::Short { indexed, published } => { + // Left "Expired" and unfinished on purpose, so a later pass can still compute it. The + // retries registered at `DEADLINE_RETRY_OFFSETS` are what come back to it; marking the + // round "Finished" here would tally nothing and close it for good. + return Err(eyre::eyre!( + "[e3_id={}] the indexer holds {} input(s) but CRISPProgram accepted {}; \ + refusing to compute over a subset. A retry pass runs at +{}s from the input \ + deadline; if every pass reports this, the indexer is behind and needs attention.", + e3_id, + indexed, + published, + DEADLINE_RETRY_OFFSETS + .iter() + .map(|offset| offset.to_string()) + .collect::>() + .join("s, +") + )); + } + }; + let votes = snapshot.ciphertexts.clone(); if voter_count > 0 && votes.is_empty() { warn!( @@ -616,9 +666,20 @@ pub async fn register_committee_published( let expiration = repo.get_input_deadline().await?; info!("[e3_id={}] Registering hook for {}", e3_id, expiration); - ctx.do_later(expiration, move |_, ctx| { - handle_e3_input_deadline_expiration(e3_id.clone(), ctx.store()) - }); + // Registered once per offset, up front. A pass that finds the indexer behind + // returns without computing, and `do_later` has already dropped that callback, so + // the round would otherwise stay "Expired" for good. Every pass after the first + // returns immediately once the round is computing or finished. + for at in std::iter::once(expiration).chain( + DEADLINE_RETRY_OFFSETS + .iter() + .map(|offset| expiration + offset), + ) { + let e3_id = e3_id.clone(); + ctx.do_later(at, move |_, ctx| { + handle_e3_input_deadline_expiration(e3_id.clone(), ctx.store()) + }); + } Ok(()) } @@ -653,12 +714,18 @@ pub async fn register_input_published( hex::encode(&event.encryptedVote[..8.min(event.encryptedVote.len())]) ); + // Read here so the usability of these bytes is decided once, on the write path, + // instead of on every `state/previous-ciphertext` call. + let e3 = repo.get_e3().await?; + let params = decode_bfv_params_arc(&e3.e3_params)?; + repo.insert_ciphertext_input( event.encryptedVote.to_vec(), event.index.to::(), event.encryptedVoteCommitment.into(), event.slotAddress.into(), event.parentIndexPlusOne.to::(), + ¶ms, ) .await?; Ok(()) diff --git a/examples/CRISP/server/src/server/models.rs b/examples/CRISP/server/src/server/models.rs index ac314e9669..8f88f07509 100644 --- a/examples/CRISP/server/src/server/models.rs +++ b/examples/CRISP/server/src/server/models.rs @@ -270,6 +270,19 @@ pub struct E3Crisp { /// append-only, so the Secure Process groups entries by slot. #[serde(default)] pub input_slots: Vec<(u64, [u8; 20])>, + /// Whether each input's published bytes reproduce the commitment stored with it, keyed by the + /// same on-chain index. + /// + /// Recomputing this costs a BFV commitment — about 5ms per entry — and the answer never changes, + /// because the tree is append-only and an entry's bytes are fixed once published. Deciding it + /// once here keeps it off the read path, where `state/previous-ciphertext` is called by every + /// voter before every ballot. + /// + /// A hint, not an authority. The Secure Process recomputes it from the ciphertexts it consumed + /// and never reads this, so a wrong value here can only send a client to the wrong parent — the + /// same outcome as a stale read, and the guest drops such an input either way. + #[serde(default)] + pub input_usable: Vec<(u64, bool)>, /// The entry each input names as the one it extends, plus one, keyed by the same on-chain /// index. Zero means it extends nothing. /// diff --git a/examples/CRISP/server/src/server/repo.rs b/examples/CRISP/server/src/server/repo.rs index 9ab57e6f16..1bc83a1fd6 100644 --- a/examples/CRISP/server/src/server/repo.rs +++ b/examples/CRISP/server/src/server/repo.rs @@ -128,6 +128,8 @@ pub struct InputSnapshot { pub slots: Vec<[u8; 20]>, /// The entry each input names as the one it extends, plus one; zero for none. pub parents: Vec, + /// Whether each input's bytes reproduce its commitment, decided when it was indexed. + pub usable: Vec, } pub struct CrispE3Repository { @@ -177,9 +179,20 @@ impl CrispE3Repository { commitment: [u8; 32], slot: [u8; 20], parent_index_plus_one: u64, + params: &BfvParameters, ) -> Result<()> { let key = self.crisp_key(); + // Decided here, once, rather than on every read. An entry's bytes never change, so neither + // does the answer. `Err` means the bytes do not deserialize, which is itself unusable. + let usable = e3_bfv_client::client::compute_ct_commitment( + vote.clone(), + params.degree(), + params.plaintext(), + params.moduli().to_vec(), + ) + .is_ok_and(|recomputed| recomputed == commitment); + self.store .modify(&key, |e3_obj: Option| { e3_obj.map(|mut e| { @@ -210,6 +223,11 @@ impl CrispE3Repository { } else { e.input_parents.push((index, parent_index_plus_one)); } + if let Some(existing) = e.input_usable.iter_mut().find(|(i, _)| *i == index) { + existing.1 = usable; + } else { + e.input_usable.push((index, usable)); + } e }) }) @@ -230,6 +248,7 @@ impl CrispE3Repository { input_commitments: Vec::new(), input_slots: Vec::new(), input_parents: Vec::new(), + input_usable: Vec::new(), has_voted: vec![], start_time: 0u64, status: "Requested".to_string(), @@ -270,6 +289,15 @@ impl CrispE3Repository { Ok(u64::try_from(e3_crisp.has_voted.len())?) } + /// The round's current status. + /// + /// Read by the deadline handler so a retry pass can tell a round it already moved on from. The + /// handler runs more than once, and computation is one-shot. + pub async fn get_status(&self) -> Result { + let e3_crisp = self.get_crisp().await?; + Ok(e3_crisp.status) + } + pub async fn update_status(&mut self, value: &str) -> Result<()> { let key = self.crisp_key(); @@ -398,6 +426,7 @@ impl CrispE3Repository { Self::require_indexed(expected, e3_crisp.input_commitments.len(), "commitments")?; Self::require_indexed(expected, e3_crisp.input_slots.len(), "slots")?; Self::require_indexed(expected, e3_crisp.input_parents.len(), "parents")?; + Self::require_indexed(expected, e3_crisp.input_usable.len(), "usability flags")?; let mut commitments = e3_crisp.input_commitments; commitments.sort_by_key(|(index, _)| *index); @@ -405,12 +434,15 @@ impl CrispE3Repository { slots.sort_by_key(|(index, _)| *index); let mut parents = e3_crisp.input_parents; parents.sort_by_key(|(index, _)| *index); + let mut usable = e3_crisp.input_usable; + usable.sort_by_key(|(index, _)| *index); Ok(InputSnapshot { ciphertexts, commitments: commitments.into_iter().map(|(_, value)| value).collect(), slots: slots.into_iter().map(|(_, value)| value).collect(), parents: parents.into_iter().map(|(_, value)| value).collect(), + usable: usable.into_iter().map(|(_, value)| value).collect(), }) } @@ -432,32 +464,19 @@ impl CrispE3Repository { /// bytes reproduce its commitment and it names the head before it, so an entry nobody can open /// never becomes one and never blocks the slot. /// + /// Reads the usability decision rather than recomputing it. Recomputing costs a BFV commitment + /// per candidate — about 5ms each, comparable to deserializing a thousand-input round — and + /// every voter calls this before every ballot. The decision is made once, when the input is + /// indexed. + /// /// `None` when the slot holds nothing usable, which is what a first vote sees. - pub async fn get_slot_head( - &self, - slot: [u8; 20], - params: &BfvParameters, - ) -> Result, u64)>> { + pub async fn get_slot_head(&self, slot: [u8; 20]) -> Result, u64)>> { let snapshot = self.get_input_snapshot().await?; let mut head: Option = None; - let mut selected: Option<(Vec, u64)> = None; + let mut selected: Option = None; - for (position, (bytes, index)) in snapshot.ciphertexts.iter().enumerate() { - if snapshot.slots[position] != slot { - continue; - } - - let recomputed = e3_bfv_client::client::compute_ct_commitment( - bytes.clone(), - params.degree(), - params.plaintext(), - params.moduli().to_vec(), - ); - let Ok(recomputed) = recomputed else { - // The bytes do not deserialize, so this entry can never be the head. - continue; - }; - if recomputed != snapshot.commitments[position] { + for (position, (_, index)) in snapshot.ciphertexts.iter().enumerate() { + if snapshot.slots[position] != slot || !snapshot.usable[position] { continue; } @@ -466,10 +485,15 @@ impl CrispE3Repository { } head = Some(*index); - selected = Some((bytes.clone(), *index)); + // The position, not the bytes. Cloning a ciphertext for every candidate would copy the + // whole chain to return its last entry. + selected = Some(position); } - Ok(selected) + Ok(selected.map(|position| { + let (bytes, index) = &snapshot.ciphertexts[position]; + (bytes.clone(), *index) + })) } #[allow(dead_code)] diff --git a/examples/CRISP/server/src/server/routes/state.rs b/examples/CRISP/server/src/server/routes/state.rs index 5059fae5bc..b28f8fb5e6 100644 --- a/examples/CRISP/server/src/server/routes/state.rs +++ b/examples/CRISP/server/src/server/routes/state.rs @@ -16,7 +16,6 @@ use crate::server::{ }; use actix_web::{web, HttpResponse, Responder}; use alloy::primitives::{Address, Bytes, B256}; -use e3_fhe_params::decode_bfv_params_arc; use e3_sdk::evm_helpers::contracts::{ InterfoldContract, InterfoldContractFactory, InterfoldWrite, ReadWrite, }; @@ -76,28 +75,9 @@ async fn handle_get_previous_ciphertext( } }; - // The chain is resolved by recomputing each entry's commitment from its published bytes, which - // needs the round's BFV parameters. - let e3 = match store.e3(e3_key.clone()).get_e3().await { - Ok(e3) => e3, - Err(e) => { - error!("Error reading E3: {:?}", e); - return HttpResponse::InternalServerError().body("Failed to read E3"); - } - }; - let params = match decode_bfv_params_arc(&e3.e3_params) { - Ok(params) => params, - Err(e) => { - error!("Error decoding E3 params: {:?}", e); - return HttpResponse::InternalServerError().body("Failed to decode E3 params"); - } - }; - - match store - .e3(e3_key) - .get_slot_head(address.into(), ¶ms) - .await - { + // No BFV work and no parameters here. Whether an entry's bytes reproduce its commitment is + // decided once, when the indexer stores it, so resolving the chain is a walk over flags. + match store.e3(e3_key).get_slot_head(address.into()).await { Ok(Some((ciphertext, index))) => { HttpResponse::Ok().json(PreviousCiphertextResponse { ciphertext, index }) } diff --git a/scripts/check-image-id.sh b/scripts/check-image-id.sh index c4704b4a84..8992a937e5 100755 --- a/scripts/check-image-id.sh +++ b/scripts/check-image-id.sh @@ -189,13 +189,22 @@ if [ "$REBUILD" = true ]; then # every downstream provenance manifest incomplete and keep this script warning about an image ID # that has in fact been reproduced. rebuilt_digest="$(guest_inputs_digest)" - cat > "$STAMP" < "$stamp_tmp" < Date: Tue, 18 Aug 2026 09:42:40 +0100 Subject: [PATCH 10/30] test: masking --- examples/CRISP/program/tests/selection.rs | 43 ++++++++++++++--------- 1 file changed, 27 insertions(+), 16 deletions(-) diff --git a/examples/CRISP/program/tests/selection.rs b/examples/CRISP/program/tests/selection.rs index 0676d44975..b6ad7e87f1 100644 --- a/examples/CRISP/program/tests/selection.rs +++ b/examples/CRISP/program/tests/selection.rs @@ -134,22 +134,30 @@ fn a_poisoned_entry_does_not_freeze_the_slot() { ); } -/// An entry that names anything other than the current head is dropped. +/// A mask cannot reach back past a re-vote to restore the ballot it replaced. /// -/// Without this an entry could be built on a superseded ciphertext and put it back in the slot, -/// erasing the vote in between — which a mask needs no signature to publish. +/// The attack this rules out: a voter casts A, re-votes B, and a third party then masks the +/// *original* entry rather than the re-vote. A mask adds zero, so its plaintext is whatever its +/// parent held — taking it would put A back in the slot and erase B. No signature is needed to +/// publish a mask, so anyone could do it to anyone. #[test] -fn an_entry_naming_a_stale_parent_is_dropped() { +fn a_mask_cannot_reach_back_past_a_re_vote() { + // vote A at 0, re-vote B at 1, then a mask naming 0 instead of 1. assert_eq!( select(&[good(1, None), good(1, Some(0)), good(1, Some(0))]), vec![1], - "reaching back past the head cannot erase it" + "the re-vote keeps the slot; the stale mask is dropped" ); assert_eq!( select(&[good(1, None), good(1, Some(0)), good(1, None)]), vec![1], - "naming no parent on an occupied slot does not restart the chain" + "naming no parent on an occupied slot does not restart the chain either" ); +} + +/// A poisoned entry does not shift the head, so the entry after it names the head as it stands. +#[test] +fn an_entry_after_a_poisoned_one_names_the_unchanged_head() { assert_eq!( select(&[ good(1, None), @@ -173,21 +181,24 @@ fn an_entry_naming_another_slots_parent_is_dropped() { ); } -/// Two entries naming the same parent are siblings, and only the first usable one is taken. +/// The same rule seen from the other side: whichever sibling lands first keeps the slot. +/// +/// Reverse the order of the previous test and the mask is the one that wins, so a re-vote built +/// before it landed is dropped and has to be published again against the new head. /// -/// This is the cost of the rule, and it is deliberate. An entry that reaches back past the head is -/// indistinguishable from one that was simply built before a sibling landed: both name a parent -/// that is no longer the head, and only the circuit knows whether the entry replaces the slot or -/// adds to it — which is exactly what must stay hidden. Favouring the earlier sibling means a -/// re-vote can be front-run into being dropped, which the voter can see and retry. Favouring the -/// later one would mean a mask built on a superseded ciphertext could restore it over a vote, which -/// is a silent tally corruption nobody can undo. +/// That asymmetry is deliberate, not an oversight. A stale parent is indistinguishable from a +/// sibling built a moment earlier: both name an entry that is no longer the head, and only the +/// circuit knows whether an entry replaces the slot or adds to it — which is exactly what +/// `is_mask_vote` keeps private. Favouring the earlier sibling costs a dropped re-vote, which the +/// voter can see and retry. Favouring the later one would let a mask on a superseded ciphertext +/// restore it over a vote, which is a silent tally corruption nobody can detect or undo. #[test] -fn a_later_sibling_is_dropped_rather_than_allowed_to_rewind() { +fn whichever_sibling_lands_first_keeps_the_slot() { + // vote A at 0, a mask naming 0 at 1, then a re-vote that also names 0. assert_eq!( select(&[good(1, None), good(1, Some(0)), good(1, Some(0))]), vec![1], - "the first entry to extend the head keeps it" + "the mask got there first, so the re-vote behind it is dropped" ); } From 87070bb20de647e20c2d3d2dddae24df71306f43 Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Tue, 18 Aug 2026 09:57:19 +0100 Subject: [PATCH 11/30] chore: more comments --- .github/workflows/releases.yml | 11 +++++--- .../packages/crisp-sdk/src/circuitInputs.ts | 15 ++++++++--- examples/CRISP/server/src/server/indexer.rs | 19 +++++++++++--- examples/CRISP/server/src/server/repo.rs | 26 +++++++++++++++++++ scripts/generate-provenance-manifest.ts | 13 +++++++--- 5 files changed, 70 insertions(+), 14 deletions(-) diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index e6b1d7903f..d86504bca0 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -647,8 +647,11 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | git tag -f stable - # The checkout persists no credentials, so the remote is named with the token here rather - # than read from .git/config. Interpolated by the shell from the environment, never by - # Actions into the script body. - git push "https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" stable --force + # Through a credential helper, so the token never reaches a process argument list. Every + # process on a runner shares one user, so anything left running by `pnpm install` can read + # /proc/*/cmdline; it cannot read another process's environment as easily. The config + # stores the helper only — the token is read from the environment when git invokes it. + git config --local credential.helper '!f() { echo username=x-access-token; echo "password=$GITHUB_TOKEN"; }; f' + git push origin stable --force + git config --local --unset credential.helper echo "✅ Updated 'stable' tag to point to v${{ needs.validate-and-prepare.outputs.version }}" diff --git a/examples/CRISP/packages/crisp-sdk/src/circuitInputs.ts b/examples/CRISP/packages/crisp-sdk/src/circuitInputs.ts index cceeabcc2a..7d3ac861d8 100644 --- a/examples/CRISP/packages/crisp-sdk/src/circuitInputs.ts +++ b/examples/CRISP/packages/crisp-sdk/src/circuitInputs.ts @@ -102,11 +102,20 @@ export const prepareCircuitInputsImpl = async (inputs: PrepareBallotInputs): Pro // JavaScript or a widened object gets no type error. Defaulting a missing index to zero would // name the slot's first entry as the parent, and the proof would be built against one commitment // while the contract supplied another — visible only as a rejected proof. - if (inputs.previousCiphertext && !Number.isInteger(inputs.previousIndex)) { - throw new Error('previousCiphertext was supplied without its previousIndex; pass the slot head as a pair') + if (inputs.previousCiphertext !== undefined) { + const index = inputs.previousIndex + // Non-negative and safe, not merely an integer. `-1` would come back out as zero, which the + // contract reads as "extends nothing" — a re-vote silently published as a first vote against a + // slot that already holds one. Anything at or above `MAX_SAFE_INTEGER` cannot represent + // `index + 1` exactly, so the parent it names is not the parent it meant. + if (!Number.isSafeInteger(index) || (index as number) < 0 || (index as number) + 1 > Number.MAX_SAFE_INTEGER) { + throw new Error( + `previousCiphertext needs a non-negative safe integer previousIndex; got ${String(index)}. Pass the slot head as a pair.`, + ) + } } - const parentIndexPlusOne = inputs.previousCiphertext ? (inputs.previousIndex as number) + 1 : 0 + const parentIndexPlusOne = inputs.previousCiphertext !== undefined ? (inputs.previousIndex as number) + 1 : 0 return { circuitInputs, encryptedVote, ctCommitment, parentIndexPlusOne, censusMode: inputs.censusMode } } diff --git a/examples/CRISP/server/src/server/indexer.rs b/examples/CRISP/server/src/server/indexer.rs index be3b5f063a..add7795748 100644 --- a/examples/CRISP/server/src/server/indexer.rs +++ b/examples/CRISP/server/src/server/indexer.rs @@ -478,8 +478,8 @@ async fn handle_e3_input_deadline_expiration( let mut repo = CrispE3Repository::new(store.clone(), &e3_id); let e3: e3_sdk::indexer::models::E3 = repo.get_e3().await?; - // A retry pass for a round that already got past this point. Computation is one-shot, so a - // second `run_compute` for the same round would publish a second result. + // A cheap skip for a retry pass over a round that already moved on, so it does not sit through + // the indexer wait below. Not the safety barrier — `try_claim_computing` is, further down. let status = repo.get_status().await?; if status == "Computing" || status == "Finished" { return Ok(()); @@ -538,7 +538,20 @@ async fn handle_e3_input_deadline_expiration( votes.len(), voter_count ); - repo.update_status("Computing").await?; + // The barrier. Two passes can be inside the indexer wait at once, and `run_compute` is + // one-shot, so the transition to "Computing" has to be the thing that decides which one + // proceeds — in a single store operation, not a read followed by a write. + // + // Claimed here rather than before the wait: a pass that gives up on a short index leaves + // the round "Expired" so a later pass can still take it, and claiming earlier would pin it + // to "Computing" and strand it. + if !repo.try_claim_computing().await? { + info!( + "[e3_id={}] another pass is already computing this round; nothing to do", + e3_id + ); + return Ok(()); + } let (id, status) = run_compute( &e3_id, diff --git a/examples/CRISP/server/src/server/repo.rs b/examples/CRISP/server/src/server/repo.rs index 1bc83a1fd6..7fc2359c8a 100644 --- a/examples/CRISP/server/src/server/repo.rs +++ b/examples/CRISP/server/src/server/repo.rs @@ -298,6 +298,32 @@ impl CrispE3Repository { Ok(e3_crisp.status) } + /// Moves the round to "Computing", but only if nothing has claimed it yet. + /// + /// Returns whether this caller made the transition. One store operation, because `modify` is a + /// read-modify-write under a single write lock: reading the status and writing it back as two + /// separate awaits leaves a window where two deadline passes both observe "Expired" and both + /// start the one-shot `run_compute`, publishing two results for one round. + pub async fn try_claim_computing(&mut self) -> Result { + let key = self.crisp_key(); + let mut claimed = false; + + self.store + .modify(&key, |e3_obj: Option| { + e3_obj.map(|mut e| { + if e.status != "Computing" && e.status != "Finished" { + e.status = "Computing".to_string(); + claimed = true; + } + e + }) + }) + .await + .map_err(|_| eyre::eyre!("Could not claim computation for '{key}'"))?; + + Ok(claimed) + } + pub async fn update_status(&mut self, value: &str) -> Result<()> { let key = self.crisp_key(); diff --git a/scripts/generate-provenance-manifest.ts b/scripts/generate-provenance-manifest.ts index 8b69812882..ce3a3acaa7 100644 --- a/scripts/generate-provenance-manifest.ts +++ b/scripts/generate-provenance-manifest.ts @@ -197,13 +197,16 @@ const SELECTOR_RISC0_VERIFIER = '0x5c9770c5' */ function hexOfLength(value: string | null, bytes: number): string | null { if (!value) return null - return new RegExp(`^0x[0-9a-fA-F]{${bytes * 2}}$`).test(value) ? value : null + // Lowercased, not returned as received. Hex is case-insensitive, but `onchainImageId` is later + // compared against `ImageID.sol` as a plain string — an uppercase RPC answer would read as a + // mismatch and make the manifest incomplete for no reason. + return new RegExp(`^0x[0-9a-fA-F]{${bytes * 2}}$`).test(value) ? value.toLowerCase() : null } -/** Any `0x`-prefixed hex string with a whole number of bytes, or null. */ +/** Any `0x`-prefixed hex string with a whole number of bytes, lowercased, or null. */ function hexBytes(value: string | null): string | null { if (!value) return null - return /^0x([0-9a-fA-F]{2})*$/.test(value) ? value : null + return /^0x([0-9a-fA-F]{2})*$/.test(value) ? value.toLowerCase() : null } async function chainFacts(rpc: string, verifier: string) { @@ -245,7 +248,9 @@ async function main() { const risc0Version = firstMatch(dockerfile, /^ARG RISC0_VERSION=(.*)$/m) const risc0Toolchain = firstMatch(dockerfile, /^ARG RISC0_TOOLCHAIN=(.*)$/m) const stamp = readIfPresent(STAMP) - const committedImageId = firstMatch(readIfPresent(IMAGE_ID_SOL), /(0x[0-9a-fA-F]{64})/) + // Lowercased for the same reason the RPC answers are: Solidity accepts either case, and this + // value is compared against `deployment.onchainImageId` as a plain string. + const committedImageId = firstMatch(readIfPresent(IMAGE_ID_SOL), /(0x[0-9a-fA-F]{64})/)?.toLowerCase() ?? null const elf = guestElf() const chain = args.rpc && args.verifier ? await chainFacts(args.rpc, args.verifier) : null From 31163620a032b43789a8d6f32783953695ba7b9e Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Tue, 18 Aug 2026 10:18:58 +0100 Subject: [PATCH 12/30] test: ci fix --- .github/workflows/ci.yml | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dc9c208f80..75af2e661a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -959,8 +959,33 @@ jobs: # The generated verifier contracts must match the freshly built verification keys. A drift # means the deployed verifier accepts a different circuit from the one in this tree. + # + # `--no-compile` is load-bearing, not an optimisation. Without it the checker deletes every + # nargo target directory first — its guard against comparing stale artifacts — and recompiles + # only what it needs, which is the `.json` and the evm `.vk`. That silently discards the + # `.vk_recursive` files `build:circuits` had just written, and the upload below then ships an + # artifact `zk_prover_e2e` cannot use. Nothing here fails; the damage surfaces two jobs later. + # The step above has just built these circuits, so there is nothing stale to guard against. - name: Check generated verifiers are in sync - run: pnpm check:verifiers + run: pnpm check:verifiers --no-compile + + # Asserted before the upload, so a step that consumes or clears a build output fails in the + # job that did it rather than in the job that needed it. Same list `zk_prover_e2e` checks. + - name: Verify recursive aggregation artifacts survived + run: | + for artifact in \ + circuits/bin/recursive_aggregation/dkg_aggregator/target/dkg_aggregator.json \ + circuits/bin/recursive_aggregation/dkg_aggregator/target/dkg_aggregator.vk_recursive \ + circuits/bin/recursive_aggregation/decryption_aggregator/target/decryption_aggregator.json \ + circuits/bin/recursive_aggregation/decryption_aggregator/target/decryption_aggregator.vk_recursive + do + test -f "$artifact" || { + echo "Missing before upload: $artifact" + echo "A step between 'Build circuits' and here removed it." + exit 1 + } + echo " ok $artifact" + done - name: Upload compiled circuit artifacts uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 From e628db64185a379c059f2a44c7e80f7cd68663c9 Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Tue, 18 Aug 2026 10:46:19 +0100 Subject: [PATCH 13/30] ci: trigger From 991f37ccd460eb978a0c25963ae44667d7a5e38f Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Tue, 18 Aug 2026 11:34:52 +0100 Subject: [PATCH 14/30] chore: split tests --- .github/workflows/ci.yml | 27 ++++++++- examples/CRISP/package.json | 3 + .../packages/crisp-contracts/package.json | 4 ++ .../scripts/check-test-legs.mjs | 59 +++++++++++++++++++ 4 files changed, 90 insertions(+), 3 deletions(-) create mode 100644 examples/CRISP/packages/crisp-contracts/scripts/check-test-legs.mjs diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 75af2e661a..e44dac943d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -674,19 +674,40 @@ jobs: crisp_unit: needs: [detect_changes, build_crisp_sdk] if: needs.detect_changes.outputs.crisp == 'true' - timeout-minutes: 30 + # Per leg, because they are not remotely the same size. Anything that generates a ballot proves + # five Noir circuits, which a two-vCPU runner takes minutes to do; everything else is seconds. + timeout-minutes: ${{ matrix.timeout }} runs-on: 'ubuntu-latest' strategy: matrix: include: - test-suite: test:circuits command: pnpm test:circuits + timeout: 15 - test-suite: test:sdk command: pnpm test:sdk - - test-suite: test:contracts - command: pnpm test:contracts + timeout: 45 + # The contract suite is split by proving cost, not by subject. Run whole it took 27m54s + # against a 30m cap and started dying to ordinary runner variance, and it grows by minutes + # with every ballot a new test needs. Split, the critical path is the largest single leg + # rather than the sum, and the checks that prove nothing report in seconds instead of + # queueing behind twenty minutes of proving. + # + # Balanced by ballots, which is what the time is: input-tree 7, ballots 5, unit 0. + # `pnpm test:contracts` still runs all of it in one go for local use, and + # `crisp_contract_leg_coverage` fails if a test file ever belongs to no leg. + - test-suite: test:contracts:input-tree + command: pnpm test:contracts:input-tree + timeout: 45 + - test-suite: test:contracts:ballots + command: pnpm test:contracts:ballots + timeout: 45 + - test-suite: test:contracts:unit + command: pnpm test:contracts:unit + timeout: 15 - test-suite: cargo test command: cargo test + timeout: 20 fail-fast: false steps: - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 diff --git a/examples/CRISP/package.json b/examples/CRISP/package.json index bb45334935..447fe818a4 100644 --- a/examples/CRISP/package.json +++ b/examples/CRISP/package.json @@ -16,6 +16,9 @@ "test:e2e": "bash ./scripts/test_e2e.sh", "compile:contracts": "pnpm -C packages/crisp-contracts compile", "test:contracts": "pnpm -C packages/crisp-contracts test", + "test:contracts:unit": "pnpm -C packages/crisp-contracts test:unit", + "test:contracts:input-tree": "pnpm -C packages/crisp-contracts test:input-tree", + "test:contracts:ballots": "pnpm -C packages/crisp-contracts test:ballots", "ciphernode:add": "pnpm -C packages/crisp-contracts ciphernode:add", "ciphernode:mint:tokens": "pnpm -C packages/crisp-contracts ciphernode:mint:tokens", "ciphernode:add:self": "pnpm -C packages/crisp-contracts ciphernode:add:self", diff --git a/examples/CRISP/packages/crisp-contracts/package.json b/examples/CRISP/packages/crisp-contracts/package.json index 36dd57c4c7..7bc935394a 100644 --- a/examples/CRISP/packages/crisp-contracts/package.json +++ b/examples/CRISP/packages/crisp-contracts/package.json @@ -37,6 +37,10 @@ "deploy:contracts:full": "export DEPLOY_INTERFOLD=true && pnpm deploy:contracts", "deploy:contracts:full:mock": "export DEPLOY_INTERFOLD=true USE_MOCKS=true PRINT_ENV_VARS=true && pnpm deploy:contracts", "test": "hardhat test mocha", + "check:test-legs": "node scripts/check-test-legs.mjs", + "test:unit": "pnpm check:test-legs && hardhat test mocha tests/census-mode.test.ts tests/crisp.journal.test.ts tests/input-leaf.test.ts tests/interfold-binding.test.ts tests/tally.decoding.test.ts", + "test:input-tree": "hardhat test mocha tests/input-tree-e2e.test.ts", + "test:ballots": "hardhat test mocha tests/crisp.contracts.test.ts tests/onchain-census.test.ts", "verify": "hardhat run deploy/verify.ts", "updateSubmissionWindow": "hardhat ciphernode:window" }, diff --git a/examples/CRISP/packages/crisp-contracts/scripts/check-test-legs.mjs b/examples/CRISP/packages/crisp-contracts/scripts/check-test-legs.mjs new file mode 100644 index 0000000000..aa9566f7ae --- /dev/null +++ b/examples/CRISP/packages/crisp-contracts/scripts/check-test-legs.mjs @@ -0,0 +1,59 @@ +// SPDX-License-Identifier: LGPL-3.0-only +// +// This file is provided WITHOUT ANY WARRANTY; +// without even the implied warranty of MERCHANTABILITY +// or FITNESS FOR A PARTICULAR PURPOSE. + +/** + * Assert every contract test file belongs to exactly one CI leg. + * + * The suite is split across `test:unit`, `test:input-tree` and `test:ballots` because proving a + * ballot costs minutes and the legs run in parallel. Naming files explicitly is what makes the + * split balanced, and it is also how the split breaks: a new test file that no leg names is never + * run by CI, and nothing reports it. `pnpm test` still runs everything, so the gap only exists in + * CI, where it looks exactly like a passing build. + */ + +import { readFileSync, readdirSync } from 'fs' +import { dirname, join } from 'path' +import { fileURLToPath } from 'url' + +const packageRoot = join(dirname(fileURLToPath(import.meta.url)), '..') +const LEGS = ['test:unit', 'test:input-tree', 'test:ballots'] + +const scripts = JSON.parse(readFileSync(join(packageRoot, 'package.json'), 'utf-8')).scripts ?? {} + +const legOf = new Map() +for (const leg of LEGS) { + const command = scripts[leg] + if (!command) { + console.error(`✗ package.json has no "${leg}" script, but CI runs it.`) + process.exit(1) + } + for (const file of command.match(/tests\/\S+\.test\.ts/g) ?? []) { + legOf.set(file, [...(legOf.get(file) ?? []), leg]) + } +} + +const onDisk = readdirSync(join(packageRoot, 'tests')) + .filter((name) => name.endsWith('.test.ts')) + .map((name) => `tests/${name}`) + .sort() + +const problems = [] +for (const file of onDisk) { + const legs = legOf.get(file) + if (!legs) problems.push(`${file} is in no leg — CI would never run it. Add it to one of ${LEGS.join(', ')}.`) + else if (legs.length > 1) problems.push(`${file} is in ${legs.length} legs (${legs.join(', ')}) — it would run twice.`) +} +for (const file of legOf.keys()) { + if (!onDisk.includes(file)) problems.push(`${file} is named by a leg but does not exist.`) +} + +if (problems.length > 0) { + console.error('✗ contract test legs do not cover the suite:') + for (const problem of problems) console.error(` ${problem}`) + process.exit(1) +} + +console.log(`✓ ${onDisk.length} contract test file(s), each in exactly one leg.`) From 3f18eec4f9cfd065f617517861d123610a2f0164 Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Tue, 18 Aug 2026 11:54:47 +0100 Subject: [PATCH 15/30] fix: ci --- .github/workflows/ci.yml | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e44dac943d..00132e87c6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -687,6 +687,7 @@ jobs: - test-suite: test:sdk command: pnpm test:sdk timeout: 45 + needs-sdk: true # The contract suite is split by proving cost, not by subject. Run whole it took 27m54s # against a 30m cap and started dying to ordinary runner variance, and it grows by minutes # with every ballot a new test needs. Split, the critical path is the largest single leg @@ -696,15 +697,25 @@ jobs: # Balanced by ballots, which is what the time is: input-tree 7, ballots 5, unit 0. # `pnpm test:contracts` still runs all of it in one go for local use, and # `crisp_contract_leg_coverage` fails if a test file ever belongs to no leg. + # + # Every contract leg needs both capabilities: `hardhat.config.ts` imports + # `@interfold/contracts/tasks/*`, which only resolves once `evm:build` has emitted `dist/`, + # and each leg contains at least one test that imports `@crisp-e3/sdk`. - test-suite: test:contracts:input-tree command: pnpm test:contracts:input-tree timeout: 45 + needs-evm: true + needs-sdk: true - test-suite: test:contracts:ballots command: pnpm test:contracts:ballots timeout: 45 + needs-evm: true + needs-sdk: true - test-suite: test:contracts:unit command: pnpm test:contracts:unit timeout: 15 + needs-evm: true + needs-sdk: true - test-suite: cargo test command: cargo test timeout: 20 @@ -761,13 +772,16 @@ jobs: working-directory: . run: pnpm install --frozen-lockfile + # Gated on a declared capability rather than on the leg's name. Matching the name made the + # label load-bearing: splitting `test:contracts` into three renamed legs silently skipped this + # step, and the suite failed on a missing `@interfold/contracts/dist` two steps later. - name: Compile Interfold contracts - if: matrix.test-suite == 'test:contracts' + if: matrix.needs-evm working-directory: . run: pnpm evm:build - name: Download Crisp SDK artifacts - if: matrix.test-suite == 'test:sdk' || matrix.test-suite == 'test:contracts' + if: matrix.needs-sdk uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 with: name: crisp-sdk-artifacts From 7e6aa2aa540a53b51d937fd145660a74f5abf7e2 Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Tue, 18 Aug 2026 13:10:52 +0100 Subject: [PATCH 16/30] chore: separate for publishing --- docs/pages/CRISP/introduction.mdx | 2 +- docs/pages/tutorials/custom-zk-circuits.mdx | 3 +- .../client/src/hooks/voting/useVoteCasting.ts | 2 + examples/CRISP/client/src/utils/circuits.ts | 32 ++++++++ .../contracts/interfaces/IHonkVerifier.sol | 6 +- .../insecure-512}/CRISPOnchainVerifier.sol | 0 .../insecure-512}/CRISPVerifier.sol | 0 .../packages/crisp-contracts/deploy/crisp.ts | 31 ++++--- .../packages/crisp-contracts/package.json | 4 +- .../crisp-contracts/scripts/verifiers.ts | 72 +++++++++++++++++ .../tests/crisp.contracts.test.ts | 23 +++++- .../tests/input-tree-e2e.test.ts | 23 +++++- .../tests/onchain-census.test.ts | 23 +++++- .../packages/crisp-contracts/tests/utils.ts | 27 ++++--- examples/CRISP/packages/crisp-sdk/README.md | 30 +++++++ .../CRISP/packages/crisp-sdk/package.json | 18 ++++- .../CRISP/packages/crisp-sdk/src/circuits.ts | 71 ++++++++++++++++ .../CRISP/packages/crisp-sdk/src/index.ts | 8 ++ .../crisp-sdk/src/presets/insecure-512.ts | 36 +++++++++ .../crisp-sdk/src/presets/secure-8192.ts | 36 +++++++++ examples/CRISP/packages/crisp-sdk/src/vote.ts | 19 ++--- .../packages/crisp-sdk/tests/vote.test.ts | 7 ++ .../CRISP/packages/crisp-sdk/tsup.config.js | 23 +++++- examples/CRISP/scripts/build-presets.mjs | 56 +++++++++++++ examples/CRISP/scripts/check-presets.mjs | 80 +++++++++++++++++++ examples/CRISP/scripts/compile_circuits.sh | 24 ++++-- .../CRISP/scripts/stage-preset-artifacts.mjs | 78 ++++++++++++++++++ 27 files changed, 685 insertions(+), 49 deletions(-) create mode 100644 examples/CRISP/client/src/utils/circuits.ts rename examples/CRISP/packages/crisp-contracts/contracts/{ => verifiers/insecure-512}/CRISPOnchainVerifier.sol (100%) rename examples/CRISP/packages/crisp-contracts/contracts/{ => verifiers/insecure-512}/CRISPVerifier.sol (100%) create mode 100644 examples/CRISP/packages/crisp-contracts/scripts/verifiers.ts create mode 100644 examples/CRISP/packages/crisp-sdk/src/circuits.ts create mode 100644 examples/CRISP/packages/crisp-sdk/src/presets/insecure-512.ts create mode 100644 examples/CRISP/packages/crisp-sdk/src/presets/secure-8192.ts create mode 100755 examples/CRISP/scripts/build-presets.mjs create mode 100644 examples/CRISP/scripts/check-presets.mjs create mode 100755 examples/CRISP/scripts/stage-preset-artifacts.mjs diff --git a/docs/pages/CRISP/introduction.mdx b/docs/pages/CRISP/introduction.mdx index 3a4e2191f5..7d9afb6048 100644 --- a/docs/pages/CRISP/introduction.mdx +++ b/docs/pages/CRISP/introduction.mdx @@ -119,7 +119,7 @@ corresponds to the correct input Merkle root, parameters hash, and ciphertext ou `decodeTally()` decodes the encrypted results into readable yes and no vote counts. The -[CRISPVerifier.sol](https://github.com/theinterfold/interfold/tree/main/examples/CRISP/packages/crisp-contracts/contracts/CRISPVerifier.sol) +[CRISPVerifier.sol](https://github.com/theinterfold/interfold/tree/main/examples/CRISP/packages/crisp-contracts/contracts/verifiers/insecure-512/CRISPVerifier.sol) contract is a Honk verifier generated from compiled Noir circuits that verifies zero-knowledge proofs demonstrating votes are correctly encrypted using BFV fully homomorphic encryption under the valid public key. diff --git a/docs/pages/tutorials/custom-zk-circuits.mdx b/docs/pages/tutorials/custom-zk-circuits.mdx index 04a73455e7..8b359124bf 100644 --- a/docs/pages/tutorials/custom-zk-circuits.mdx +++ b/docs/pages/tutorials/custom-zk-circuits.mdx @@ -193,7 +193,8 @@ the API instance and SRS (Structured Reference String) to avoid re-initialisatio ## On-chain Verification The final proof is verified on-chain in `CRISPProgram.publishInput()` using an auto-generated Honk -verifier contract (`CRISPVerifier.sol`). This verifier is generated by Barretenberg and contains the +verifier contract (`contracts/verifiers//CRISPVerifier.sol`, one per BFV preset because it +encodes the circuit's verification key). This verifier is generated by Barretenberg and contains the verification key baked in. ```solidity diff --git a/examples/CRISP/client/src/hooks/voting/useVoteCasting.ts b/examples/CRISP/client/src/hooks/voting/useVoteCasting.ts index 4d0b903c2d..e79afa1a45 100644 --- a/examples/CRISP/client/src/hooks/voting/useVoteCasting.ts +++ b/examples/CRISP/client/src/hooks/voting/useVoteCasting.ts @@ -8,6 +8,7 @@ import { useState, useCallback } from 'react' import { useNavigate } from 'react-router-dom' import { useSignTypedData, usePublicClient, useChainId } from 'wagmi' import { encodeSolidityProof, finishBallotProof, finishMaskProof, prepareBallot } from '@crisp-e3/sdk' +import { ensureCircuits } from '@/utils/circuits' import { useVoteManagementContext } from '@/context/voteManagement' import { useNotificationAlertContext } from '@/context/NotificationAlert/NotificationAlert.context.tsx' @@ -164,6 +165,7 @@ export const useVoteCasting = (customRoundState?: VoteStateLite | null, customVo numOptions: NUM_OPTIONS, } as const + await ensureCircuits() const prepared = await prepareBallot(head ? { ...ballot, previousCiphertext: head.ciphertext, previousIndex: head.index } : ballot) const crispProgram = await getCrispProgramAddress(publicClient, roundState.interfold_address as `0x${string}`, e3Id) diff --git a/examples/CRISP/client/src/utils/circuits.ts b/examples/CRISP/client/src/utils/circuits.ts new file mode 100644 index 0000000000..25d743ef9b --- /dev/null +++ b/examples/CRISP/client/src/utils/circuits.ts @@ -0,0 +1,32 @@ +// SPDX-License-Identifier: LGPL-3.0-only +// +// This file is provided WITHOUT ANY WARRANTY; +// without even the implied warranty of MERCHANTABILITY +// or FITNESS FOR A PARTICULAR PURPOSE. + +import { registeredPreset, setCircuits } from '@crisp-e3/sdk' + +// The BFV-shaped circuits are ~2.9MB and ship as their own entry point per preset. Loading them +// through a dynamic import gives the bundler a split point, so the app boots on the ~350KB main +// entry and only pays for the circuits when someone actually votes. +// +// This client votes in insecure-512 rounds. Switching preset is a change here and nowhere else. +let pending: Promise | null = null + +/** Install the circuits needed for proving, at most once per session. */ +export const ensureCircuits = async (): Promise => { + if (registeredPreset()) return + + pending ??= (async () => { + try { + const { loadCircuits } = await import('@crisp-e3/sdk/insecure-512') + setCircuits(await loadCircuits()) + } catch (error) { + // Let the next attempt retry rather than caching a failed fetch for the session. + pending = null + throw error + } + })() + + await pending +} diff --git a/examples/CRISP/packages/crisp-contracts/contracts/interfaces/IHonkVerifier.sol b/examples/CRISP/packages/crisp-contracts/contracts/interfaces/IHonkVerifier.sol index 6e091b1658..5947ac8d0d 100644 --- a/examples/CRISP/packages/crisp-contracts/contracts/interfaces/IHonkVerifier.sol +++ b/examples/CRISP/packages/crisp-contracts/contracts/interfaces/IHonkVerifier.sol @@ -7,8 +7,10 @@ pragma solidity >=0.8.27; /// @notice The subset of a generated Honk verifier that `CRISPProgram` calls. /// @dev Declared as an interface so the census paths can hold verifiers generated from different -/// circuits. `CRISPVerifier.sol` and `CRISPOnchainVerifier.sol` both declare a contract named -/// `HonkVerifier`, so importing both concrete types would collide. +/// circuits. Every generated verifier declares a contract named `HonkVerifier`, and there is one +/// per census mode per BFV preset under `contracts/verifiers//`, so importing the concrete +/// types would collide. Deployment resolves the right one by fully qualified name; see +/// `scripts/verifiers.ts`. interface IHonkVerifier { /// @notice Verify a folded ballot proof against its public inputs. /// @dev Reverts rather than returning false when the public inputs do not match the proof. diff --git a/examples/CRISP/packages/crisp-contracts/contracts/CRISPOnchainVerifier.sol b/examples/CRISP/packages/crisp-contracts/contracts/verifiers/insecure-512/CRISPOnchainVerifier.sol similarity index 100% rename from examples/CRISP/packages/crisp-contracts/contracts/CRISPOnchainVerifier.sol rename to examples/CRISP/packages/crisp-contracts/contracts/verifiers/insecure-512/CRISPOnchainVerifier.sol diff --git a/examples/CRISP/packages/crisp-contracts/contracts/CRISPVerifier.sol b/examples/CRISP/packages/crisp-contracts/contracts/verifiers/insecure-512/CRISPVerifier.sol similarity index 100% rename from examples/CRISP/packages/crisp-contracts/contracts/CRISPVerifier.sol rename to examples/CRISP/packages/crisp-contracts/contracts/verifiers/insecure-512/CRISPVerifier.sol diff --git a/examples/CRISP/packages/crisp-contracts/deploy/crisp.ts b/examples/CRISP/packages/crisp-contracts/deploy/crisp.ts index a58783ecaf..8f23046313 100644 --- a/examples/CRISP/packages/crisp-contracts/deploy/crisp.ts +++ b/examples/CRISP/packages/crisp-contracts/deploy/crisp.ts @@ -11,6 +11,7 @@ import { readFileSync } from 'fs' import hre from 'hardhat' import { CRISPProgram__factory as CRISPProgramFactory } from '../types' +import { verifierNames } from '../scripts/verifiers' const imageIdContent = readFileSync('../../.interfold/generated/contracts/ImageID.sol', 'utf-8') const match = imageIdContent.match(/bytes32 public constant PROGRAM_ID = bytes32\((0x[a-fA-F0-9]+)\)/) @@ -69,19 +70,23 @@ export const deployCRISPContracts = async (): Promise => ) } - const zkTranscriptLib = await ethers.deployContract('contracts/CRISPVerifier.sol:ZKTranscriptLib') + // Every generated verifier declares a contract called `HonkVerifier`, and there is one stack per + // census mode per preset, so factory lookups have to be fully qualified by file. `verifierNames` + // owns that convention and the preset choice — see scripts/verifiers.ts. + const merkleVerifier = verifierNames('merkle') + console.log(`Deploying the ${merkleVerifier.preset} verifiers`) + + const zkTranscriptLib = await ethers.deployContract(merkleVerifier.zkTranscriptLib) await zkTranscriptLib.waitForDeployment() const zkTranscriptLibAddress = await zkTranscriptLib.getAddress() - const relationsLib = await ethers.deployContract('contracts/CRISPVerifier.sol:RelationsLib') + const relationsLib = await ethers.deployContract(merkleVerifier.relationsLib) await relationsLib.waitForDeployment() const relationsLibAddress = await relationsLib.getAddress() - // Both generated verifiers declare a contract called `HonkVerifier`, so every factory lookup - // here has to be fully qualified by file. A bare 'HonkVerifier' is ambiguous. - const honkVerifierFactory = await ethers.getContractFactory('contracts/CRISPVerifier.sol:HonkVerifier', { + const honkVerifierFactory = await ethers.getContractFactory(merkleVerifier.honkVerifier, { libraries: { - 'project/contracts/CRISPVerifier.sol:ZKTranscriptLib': zkTranscriptLibAddress, - 'project/contracts/CRISPVerifier.sol:RelationsLib': relationsLibAddress, + [merkleVerifier.libraryKeys.zkTranscriptLib]: zkTranscriptLibAddress, + [merkleVerifier.libraryKeys.relationsLib]: relationsLibAddress, }, }) const honkVerifier = await honkVerifierFactory.deploy() @@ -99,15 +104,17 @@ export const deployCRISPContracts = async (): Promise => // The `CensusMode.ONCHAIN` verifier. Generated from the `crisp_onchain` circuit, which has no // Merkle inputs and takes voting power as a public input, so it needs its own libraries. - const onchainZkTranscriptLib = await ethers.deployContract('contracts/CRISPOnchainVerifier.sol:ZKTranscriptLib') + const onchainVerifier = verifierNames('onchain') + + const onchainZkTranscriptLib = await ethers.deployContract(onchainVerifier.zkTranscriptLib) await onchainZkTranscriptLib.waitForDeployment() - const onchainRelationsLib = await ethers.deployContract('contracts/CRISPOnchainVerifier.sol:RelationsLib') + const onchainRelationsLib = await ethers.deployContract(onchainVerifier.relationsLib) await onchainRelationsLib.waitForDeployment() - const onchainHonkVerifierFactory = await ethers.getContractFactory('contracts/CRISPOnchainVerifier.sol:HonkVerifier', { + const onchainHonkVerifierFactory = await ethers.getContractFactory(onchainVerifier.honkVerifier, { libraries: { - 'project/contracts/CRISPOnchainVerifier.sol:ZKTranscriptLib': await onchainZkTranscriptLib.getAddress(), - 'project/contracts/CRISPOnchainVerifier.sol:RelationsLib': await onchainRelationsLib.getAddress(), + [onchainVerifier.libraryKeys.zkTranscriptLib]: await onchainZkTranscriptLib.getAddress(), + [onchainVerifier.libraryKeys.relationsLib]: await onchainRelationsLib.getAddress(), }, }) const onchainHonkVerifier = await onchainHonkVerifierFactory.deploy() diff --git a/examples/CRISP/packages/crisp-contracts/package.json b/examples/CRISP/packages/crisp-contracts/package.json index 7bc935394a..cf0a348cc4 100644 --- a/examples/CRISP/packages/crisp-contracts/package.json +++ b/examples/CRISP/packages/crisp-contracts/package.json @@ -42,7 +42,9 @@ "test:input-tree": "hardhat test mocha tests/input-tree-e2e.test.ts", "test:ballots": "hardhat test mocha tests/crisp.contracts.test.ts tests/onchain-census.test.ts", "verify": "hardhat run deploy/verify.ts", - "updateSubmissionWindow": "hardhat ciphernode:window" + "updateSubmissionWindow": "hardhat ciphernode:window", + "check:presets": "node ../../scripts/check-presets.mjs", + "prepublishOnly": "pnpm check:presets" }, "dependencies": { "@interfold/contracts": "workspace:*", diff --git a/examples/CRISP/packages/crisp-contracts/scripts/verifiers.ts b/examples/CRISP/packages/crisp-contracts/scripts/verifiers.ts new file mode 100644 index 0000000000..2ca68c26b2 --- /dev/null +++ b/examples/CRISP/packages/crisp-contracts/scripts/verifiers.ts @@ -0,0 +1,72 @@ +// SPDX-License-Identifier: LGPL-3.0-only +// +// This file is provided WITHOUT ANY WARRANTY; +// without even the implied warranty of MERCHANTABILITY +// or FITNESS FOR A PARTICULAR PURPOSE. + +// Fully qualified names for the generated Honk verifiers. +// +// The verifiers are generated from the compiled circuits, so they exist once per BFV preset and +// live under contracts/verifiers//. With two presets there are four files declaring +// `HonkVerifier`, `ZKTranscriptLib` and `RelationsLib`, so every lookup has to be qualified by +// file — a bare name is ambiguous and hardhat rejects it. +// +// Both the deploy script and the tests resolve names through here, so the preset is chosen in one +// place rather than spelled into a dozen string literals. + +/** BFV parameter sets the circuits can be compiled against. */ +export type CircuitPreset = 'insecure-512' | 'secure-8192' + +export const CIRCUIT_PRESETS: readonly CircuitPreset[] = ['insecure-512', 'secure-8192'] + +/** + * Which census a round establishes eligibility with. + * + * `merkle` proves membership of a census tree; `onchain` reads voting power from a token. They are + * separate circuits and therefore separate verifiers, each with its own libraries. + */ +export type VerifierVariant = 'merkle' | 'onchain' + +const VERIFIER_FILES: Record = { + merkle: 'CRISPVerifier.sol', + onchain: 'CRISPOnchainVerifier.sol', +} + +/** + * The preset to deploy against, from `CRISP_PRESET`. + * + * Defaults to insecure-512, which is what the circuits compile to by default and what the tests + * prove against. A deployment that means to use secure-8192 has to say so. + */ +export const activePreset = (): CircuitPreset => { + const preset = process.env.CRISP_PRESET + + if (preset === undefined) return 'insecure-512' + if (!CIRCUIT_PRESETS.includes(preset as CircuitPreset)) { + throw new Error(`CRISP_PRESET must be one of ${CIRCUIT_PRESETS.join(', ')}; got "${preset}".`) + } + + return preset as CircuitPreset +} + +/** + * Fully qualified names for one verifier stack. + * + * `libraryKeys` carry hardhat's `project/` prefix, which library linking requires and plain factory + * lookups reject, so the two forms are returned separately rather than derived at each call site. + */ +export const verifierNames = (variant: VerifierVariant, preset: CircuitPreset = activePreset()) => { + const source = `contracts/verifiers/${preset}/${VERIFIER_FILES[variant]}` + + return { + preset, + source, + honkVerifier: `${source}:HonkVerifier`, + zkTranscriptLib: `${source}:ZKTranscriptLib`, + relationsLib: `${source}:RelationsLib`, + libraryKeys: { + zkTranscriptLib: `project/${source}:ZKTranscriptLib`, + relationsLib: `project/${source}:RelationsLib`, + }, + } +} diff --git a/examples/CRISP/packages/crisp-contracts/tests/crisp.contracts.test.ts b/examples/CRISP/packages/crisp-contracts/tests/crisp.contracts.test.ts index ba6641a7be..e67b476d57 100644 --- a/examples/CRISP/packages/crisp-contracts/tests/crisp.contracts.test.ts +++ b/examples/CRISP/packages/crisp-contracts/tests/crisp.contracts.test.ts @@ -18,6 +18,14 @@ import { destroyBBApi, } from '@crisp-e3/sdk' import type { ProofData } from '@crisp-e3/sdk' +import { setCircuits } from '@crisp-e3/sdk' +import { loadCircuits } from '@crisp-e3/sdk/insecure-512' + +// The BFV-shaped circuits ship as a separate entry point per preset, so proving needs one +// installed. These tests run against the insecure-512 parameters the contracts are deployed with. +before(async () => { + setCircuits(await loadCircuits()) +}) import { expect } from 'chai' import { deployCRISPProgram, deployHonkVerifier, deployMockInterfold, ethers } from './utils' import type { CRISPProgram, HonkVerifier, MockInterfold } from '../types' @@ -27,7 +35,20 @@ let publicKey = keys.publicKey describe('CRISP Contracts', function () { // Allow time for contract deployments + proof generation in before() - this.timeout(600000) + // 600s was a per-test budget, not a per-file one, and the tests are unevenly weighted: the + // heaviest here generates three ballots where the lightest generates one. A CI runner proves + // roughly 4x slower than a dev machine, which put the three-ballot test over the line while + // every lighter test stayed comfortably inside it. + // + // A timeout here is also not contained. `destroyBBApi()` runs in `after()`, so one Barretenberg + // instance is shared by the whole file, and mocha abandons a timed-out test without stopping the + // proof it left in flight. The next test then fails inside witness generation with "Cannot + // satisfy constraint" rather than a timeout of its own — the fold circuit asserts the inner + // proofs verify, so a proof that came back from a contended instance fails there rather than + // where it was produced. Treat a constraint error immediately after a timeout as fallout from + // that timeout, not as a circuit bug. The per-leg `timeout-minutes` in CI is the real backstop + // for a genuine hang, so this only needs to clear honest work. + this.timeout(1_200_000) let honkVerifier: HonkVerifier let mockInterfold: MockInterfold diff --git a/examples/CRISP/packages/crisp-contracts/tests/input-tree-e2e.test.ts b/examples/CRISP/packages/crisp-contracts/tests/input-tree-e2e.test.ts index 5e31fc0aee..a6f829c02c 100644 --- a/examples/CRISP/packages/crisp-contracts/tests/input-tree-e2e.test.ts +++ b/examples/CRISP/packages/crisp-contracts/tests/input-tree-e2e.test.ts @@ -18,6 +18,14 @@ import { destroyBBApi, } from '@crisp-e3/sdk' import type { ProofData } from '@crisp-e3/sdk' +import { setCircuits } from '@crisp-e3/sdk' +import { loadCircuits } from '@crisp-e3/sdk/insecure-512' + +// The BFV-shaped circuits ship as a separate entry point per preset, so proving needs one +// installed. These tests run against the insecure-512 parameters the contracts are deployed with. +before(async () => { + setCircuits(await loadCircuits()) +}) import { expect } from 'chai' import { mkdirSync, writeFileSync } from 'fs' import { dirname } from 'path' @@ -46,7 +54,20 @@ const REVOTE_FIXTURE = fileURLToPath(new URL('fixtures/input-tree-revote.json', /// and records the resulting tree so `program/tests/onchain_root_agreement.rs` can assert that Rust /// reproduces the exact on-chain root. describe('CRISPProgram input tree (e2e)', function () { - this.timeout(600000) + // 600s was a per-test budget, not a per-file one, and the tests are unevenly weighted: the + // heaviest here generates three ballots where the lightest generates one. A CI runner proves + // roughly 4x slower than a dev machine, which put the three-ballot test over the line while + // every lighter test stayed comfortably inside it. + // + // A timeout here is also not contained. `destroyBBApi()` runs in `after()`, so one Barretenberg + // instance is shared by the whole file, and mocha abandons a timed-out test without stopping the + // proof it left in flight. The next test then fails inside witness generation with "Cannot + // satisfy constraint" rather than a timeout of its own — the fold circuit asserts the inner + // proofs verify, so a proof that came back from a contended instance fails there rather than + // where it was produced. Treat a constraint error immediately after a timeout as fallout from + // that timeout, not as a circuit bug. The per-leg `timeout-minutes` in CI is the real backstop + // for a genuine hang, so this only needs to clear honest work. + this.timeout(1_200_000) let honkVerifier: HonkVerifier let mockInterfold: MockInterfold diff --git a/examples/CRISP/packages/crisp-contracts/tests/onchain-census.test.ts b/examples/CRISP/packages/crisp-contracts/tests/onchain-census.test.ts index 319e518d64..26e38e68d8 100644 --- a/examples/CRISP/packages/crisp-contracts/tests/onchain-census.test.ts +++ b/examples/CRISP/packages/crisp-contracts/tests/onchain-census.test.ts @@ -6,6 +6,14 @@ import { generateBFVKeys, prepareBallot, finishBallotProof, encodeSolidityProof, destroyBBApi } from '@crisp-e3/sdk' import type { ProofData } from '@crisp-e3/sdk' +import { setCircuits } from '@crisp-e3/sdk' +import { loadCircuits } from '@crisp-e3/sdk/insecure-512' + +// The BFV-shaped circuits ship as a separate entry point per preset, so proving needs one +// installed. These tests run against the insecure-512 parameters the contracts are deployed with. +before(async () => { + setCircuits(await loadCircuits()) +}) import { expect } from 'chai' import { deployCRISPProgram, deployHonkVerifier, deployMockInterfold, deployOnchainHonkVerifier, ethers } from './utils' import type { CRISPProgram, HonkVerifier, MockInterfold } from '../types' @@ -25,7 +33,20 @@ const ONCHAIN = 2 /// twice cannot detect an order mistake. The last test in this file pins that. describe('CRISP on-chain census', function () { // Proof generation dominates; the same budget as the Merkle end-to-end suite. - this.timeout(600000) + // 600s was a per-test budget, not a per-file one, and the tests are unevenly weighted: the + // heaviest here generates three ballots where the lightest generates one. A CI runner proves + // roughly 4x slower than a dev machine, which put the three-ballot test over the line while + // every lighter test stayed comfortably inside it. + // + // A timeout here is also not contained. `destroyBBApi()` runs in `after()`, so one Barretenberg + // instance is shared by the whole file, and mocha abandons a timed-out test without stopping the + // proof it left in flight. The next test then fails inside witness generation with "Cannot + // satisfy constraint" rather than a timeout of its own — the fold circuit asserts the inner + // proofs verify, so a proof that came back from a contended instance fails there rather than + // where it was produced. Treat a constraint error immediately after a timeout as fallout from + // that timeout, not as a circuit bug. The per-leg `timeout-minutes` in CI is the real backstop + // for a genuine hang, so this only needs to clear honest work. + this.timeout(1_200_000) const keys = generateBFVKeys() const publicKey = keys.publicKey diff --git a/examples/CRISP/packages/crisp-contracts/tests/utils.ts b/examples/CRISP/packages/crisp-contracts/tests/utils.ts index 24b8d8d1ce..8ca054968b 100644 --- a/examples/CRISP/packages/crisp-contracts/tests/utils.ts +++ b/examples/CRISP/packages/crisp-contracts/tests/utils.ts @@ -7,6 +7,7 @@ import { network } from 'hardhat' import { zeroHash } from 'viem' import { CRISPProgram, HonkVerifier, MockInterfold, MockRISC0Verifier, PoseidonT3 } from '../types' +import { verifierNames } from '../scripts/verifiers' // Non-zero address used in the tests. export const nonZeroAddress = '0xc6e7DF5E7b4f2A278906862b61205850344D4e7d' @@ -57,15 +58,16 @@ export async function deployMockRISC0Verifier() { * @returns The address of the deployed HonkVerifier contract. */ export async function deployHonkVerifier() { - const zkTranscriptLib = await deployContract('contracts/CRISPVerifier.sol:ZKTranscriptLib') - const relationsLib = await deployContract('contracts/CRISPVerifier.sol:RelationsLib') + // Fully qualified: every generated verifier declares a `HonkVerifier`, and there is one per + // census mode per preset, so the bare name is ambiguous. See scripts/verifiers.ts. + const names = verifierNames('merkle') + const zkTranscriptLib = await deployContract(names.zkTranscriptLib) + const relationsLib = await deployContract(names.relationsLib) - // Fully qualified: `CRISPOnchainVerifier.sol` declares a `HonkVerifier` too, so the bare name - // is ambiguous. - const HonkVerifierFactory = await ethers.getContractFactory('contracts/CRISPVerifier.sol:HonkVerifier', { + const HonkVerifierFactory = await ethers.getContractFactory(names.honkVerifier, { libraries: { - 'project/contracts/CRISPVerifier.sol:ZKTranscriptLib': await zkTranscriptLib.getAddress(), - 'project/contracts/CRISPVerifier.sol:RelationsLib': await relationsLib.getAddress(), + [names.libraryKeys.zkTranscriptLib]: await zkTranscriptLib.getAddress(), + [names.libraryKeys.relationsLib]: await relationsLib.getAddress(), }, }) @@ -81,13 +83,14 @@ export async function deployHonkVerifier() { * @returns The deployed verifier. */ export async function deployOnchainHonkVerifier() { - const zkTranscriptLib = await deployContract('contracts/CRISPOnchainVerifier.sol:ZKTranscriptLib') - const relationsLib = await deployContract('contracts/CRISPOnchainVerifier.sol:RelationsLib') + const names = verifierNames('onchain') + const zkTranscriptLib = await deployContract(names.zkTranscriptLib) + const relationsLib = await deployContract(names.relationsLib) - const HonkVerifierFactory = await ethers.getContractFactory('contracts/CRISPOnchainVerifier.sol:HonkVerifier', { + const HonkVerifierFactory = await ethers.getContractFactory(names.honkVerifier, { libraries: { - 'project/contracts/CRISPOnchainVerifier.sol:ZKTranscriptLib': await zkTranscriptLib.getAddress(), - 'project/contracts/CRISPOnchainVerifier.sol:RelationsLib': await relationsLib.getAddress(), + [names.libraryKeys.zkTranscriptLib]: await zkTranscriptLib.getAddress(), + [names.libraryKeys.relationsLib]: await relationsLib.getAddress(), }, }) diff --git a/examples/CRISP/packages/crisp-sdk/README.md b/examples/CRISP/packages/crisp-sdk/README.md index f38aa528eb..5524185f64 100644 --- a/examples/CRISP/packages/crisp-sdk/README.md +++ b/examples/CRISP/packages/crisp-sdk/README.md @@ -16,6 +16,36 @@ npm install @crisp-e3/sdk - **Merkle Tree Utilities**: Generate proofs for voter inclusion in the eligibility tree - **Vote Proof Generation**: Create zero-knowledge proofs for votes and mask votes - **Proof Verification**: Verify generated proofs using Noir circuits +- **Selectable Parameters**: `insecure-512` and `secure-8192` circuits ship as separate entry points + +## Choosing a preset + +Proving needs the BFV-shaped circuits, and those exist once per parameter set. They are not part of +the main entry point: the `secure-8192` set is far larger than `insecure-512`, and no consumer needs +both. Each ships as its own subpath, so your bundler pulls only the one you import. + +```ts +import { setCircuits } from '@crisp-e3/sdk' +import { loadCircuits } from '@crisp-e3/sdk/insecure-512' // or '@crisp-e3/sdk/secure-8192' + +setCircuits(await loadCircuits()) +``` + +Register once at start-up, before the first `prepareBallot`/`generateProof`. There is deliberately +no default: a ballot proved against the wrong parameters is rejected on chain rather than locally, +so `generateProof` throws a directed error instead of guessing. + +In a browser, load it through a dynamic `import()` so the circuits become their own chunk and the +app boots without them: + +```ts +const { loadCircuits } = await import('@crisp-e3/sdk/insecure-512') +setCircuits(await loadCircuits()) +``` + +`verifyProof`, `encodeVote`, `decodeTally` and the round/token helpers need no preset. The +aggregation circuits they use are proof-shaped rather than polynomial-shaped, so a single artifact +covers every preset and ships in the main entry point. ## Usage diff --git a/examples/CRISP/packages/crisp-sdk/package.json b/examples/CRISP/packages/crisp-sdk/package.json index c5d45ba99d..28f31442cf 100644 --- a/examples/CRISP/packages/crisp-sdk/package.json +++ b/examples/CRISP/packages/crisp-sdk/package.json @@ -15,6 +15,16 @@ "import": "./dist/index.js", "default": "./dist/index.js" }, + "./insecure-512": { + "types": "./dist/presets/insecure-512.d.ts", + "import": "./dist/presets/insecure-512.js", + "default": "./dist/presets/insecure-512.js" + }, + "./secure-8192": { + "types": "./dist/presets/secure-8192.d.ts", + "import": "./dist/presets/secure-8192.js", + "default": "./dist/presets/secure-8192.js" + }, "./workers/generateCircuitInputs.worker": "./dist/workers/generateCircuitInputs.worker.js" }, "main": "./dist/index.js", @@ -31,8 +41,12 @@ "compile:fold": "cd ../../circuits/bin/fold && nargo compile", "compile:fold_onchain": "cd ../../circuits/bin/fold_onchain && nargo compile", "build:wasm": "pnpm -C ../crisp-zk-inputs build", - "build": "pnpm build:wasm && pnpm compile:circuits && tsup", - "test": "vitest --run" + "build": "pnpm build:wasm && pnpm compile:circuits && pnpm stage:preset insecure-512 && tsup", + "test": "vitest --run", + "stage:preset": "node ../../scripts/stage-preset-artifacts.mjs", + "build:presets": "node ../../scripts/build-presets.mjs", + "check:presets": "node ../../scripts/check-presets.mjs", + "prepublishOnly": "pnpm check:presets" }, "publishConfig": { "access": "public" diff --git a/examples/CRISP/packages/crisp-sdk/src/circuits.ts b/examples/CRISP/packages/crisp-sdk/src/circuits.ts new file mode 100644 index 0000000000..4be8e315ce --- /dev/null +++ b/examples/CRISP/packages/crisp-sdk/src/circuits.ts @@ -0,0 +1,71 @@ +// SPDX-License-Identifier: LGPL-3.0-only +// +// This file is provided WITHOUT ANY WARRANTY; +// without even the implied warranty of MERCHANTABILITY +// or FITNESS FOR A PARTICULAR PURPOSE. + +import type { CompiledCircuit } from '@noir-lang/noir_js' + +/** BFV parameter sets the circuits can be compiled against. */ +export type CircuitPreset = 'insecure-512' | 'secure-8192' + +/** + * The circuits whose ABI is shaped by the BFV degree, and which therefore exist once per preset. + * + * The aggregation circuits — `crisp_fold`, `crisp_onchain_fold` and `user_data_encryption` — are + * deliberately absent. Their parameters are proof and verification-key shaped (410/115 fields), not + * polynomial shaped, so one compiled artifact serves both presets; the fold circuits assert + * `chain_key_hash` against the insecure *or* the secure constant for exactly that reason. They ship + * in the main entry point, which is why `verifyProof` works without a preset loaded. + */ +export type CircuitBundle = { + readonly preset: CircuitPreset + readonly crisp: CompiledCircuit + readonly crispOnchain: CompiledCircuit + readonly userDataEncryptionCt0: CompiledCircuit + readonly userDataEncryptionCt1: CompiledCircuit +} + +let registered: CircuitBundle | null = null + +/** + * Install the preset-bound circuits used by `generateProof`. + * + * The bundle is not bundled into the main entry point, because the secure-8192 artifacts are more + * than an order of magnitude larger than the insecure-512 ones and no consumer needs both. Load the + * one you want from its subpath and register it once at start-up: + * + * ```ts + * import { setCircuits } from '@crisp-e3/sdk' + * import { loadCircuits } from '@crisp-e3/sdk/insecure-512' + * + * setCircuits(await loadCircuits()) + * ``` + */ +export const setCircuits = (bundle: CircuitBundle): void => { + registered = bundle +} + +/** The registered bundle, or `null` when none has been installed yet. */ +export const getRegisteredCircuits = (): CircuitBundle | null => registered + +/** The preset currently installed, or `null` when none has been installed yet. */ +export const registeredPreset = (): CircuitPreset | null => registered?.preset ?? null + +/** + * The registered bundle, throwing a directed error when nothing has been installed. + * + * Proving cannot fall back to a default preset: a ballot proved against the wrong parameters fails + * on chain rather than locally, so guessing here would move the failure somewhere much harder to + * read. + */ +export const requireCircuits = (): CircuitBundle => { + if (!registered) { + throw new Error( + 'No circuit preset registered. Import `loadCircuits` from "@crisp-e3/sdk/insecure-512" or ' + + '"@crisp-e3/sdk/secure-8192" and pass the result to `setCircuits()` before proving.', + ) + } + + return registered +} diff --git a/examples/CRISP/packages/crisp-sdk/src/index.ts b/examples/CRISP/packages/crisp-sdk/src/index.ts index 95028c9101..a999198465 100644 --- a/examples/CRISP/packages/crisp-sdk/src/index.ts +++ b/examples/CRISP/packages/crisp-sdk/src/index.ts @@ -4,6 +4,14 @@ // without even the implied warranty of MERCHANTABILITY // or FITNESS FOR A PARTICULAR PURPOSE. +export { + setCircuits, + getRegisteredCircuits, + registeredPreset, + requireCircuits, + type CircuitBundle, + type CircuitPreset, +} from './circuits' export * from './token' export * from './state' export * from './api' diff --git a/examples/CRISP/packages/crisp-sdk/src/presets/insecure-512.ts b/examples/CRISP/packages/crisp-sdk/src/presets/insecure-512.ts new file mode 100644 index 0000000000..39fafaf729 --- /dev/null +++ b/examples/CRISP/packages/crisp-sdk/src/presets/insecure-512.ts @@ -0,0 +1,36 @@ +// SPDX-License-Identifier: LGPL-3.0-only +// +// This file is provided WITHOUT ANY WARRANTY; +// without even the implied warranty of MERCHANTABILITY +// or FITNESS FOR A PARTICULAR PURPOSE. + +// The insecure-512 (N=512, L=2) preset-bound circuits, published as a separate entry point. +// +// Kept out of the main entry so a consumer's bundler pulls one preset rather than both. The +// artifacts are staged by scripts/stage-preset-artifacts.mjs; see src/circuits.ts for why the +// aggregation circuits are not among them. + +import type { CircuitBundle, CircuitPreset } from '../circuits' +import type { CompiledCircuit } from '@noir-lang/noir_js' + +import crisp from '../../../../circuits/dist/insecure-512/crisp.json' +import crispOnchain from '../../../../circuits/dist/insecure-512/crisp_onchain.json' +import userDataEncryptionCt0 from '../../../../circuits/dist/insecure-512/user_data_encryption_ct0.json' +import userDataEncryptionCt1 from '../../../../circuits/dist/insecure-512/user_data_encryption_ct1.json' + +export const preset: CircuitPreset = 'insecure-512' + +/** + * The insecure-512 (N=512, L=2) circuits, ready for `setCircuits()`. + * + * Asynchronous because the artifacts are inlined today but need not stay that way: the secure set + * is large enough that a consumer may want it fetched on demand, and that change belongs inside + * this function rather than in every caller. + */ +export const loadCircuits = async (): Promise => ({ + preset, + crisp: crisp as CompiledCircuit, + crispOnchain: crispOnchain as CompiledCircuit, + userDataEncryptionCt0: userDataEncryptionCt0 as CompiledCircuit, + userDataEncryptionCt1: userDataEncryptionCt1 as CompiledCircuit, +}) diff --git a/examples/CRISP/packages/crisp-sdk/src/presets/secure-8192.ts b/examples/CRISP/packages/crisp-sdk/src/presets/secure-8192.ts new file mode 100644 index 0000000000..2c2d30abe9 --- /dev/null +++ b/examples/CRISP/packages/crisp-sdk/src/presets/secure-8192.ts @@ -0,0 +1,36 @@ +// SPDX-License-Identifier: LGPL-3.0-only +// +// This file is provided WITHOUT ANY WARRANTY; +// without even the implied warranty of MERCHANTABILITY +// or FITNESS FOR A PARTICULAR PURPOSE. + +// The secure-8192 (N=8192, L=3) preset-bound circuits, published as a separate entry point. +// +// Kept out of the main entry so a consumer's bundler pulls one preset rather than both. The +// artifacts are staged by scripts/stage-preset-artifacts.mjs; see src/circuits.ts for why the +// aggregation circuits are not among them. + +import type { CircuitBundle, CircuitPreset } from '../circuits' +import type { CompiledCircuit } from '@noir-lang/noir_js' + +import crisp from '../../../../circuits/dist/secure-8192/crisp.json' +import crispOnchain from '../../../../circuits/dist/secure-8192/crisp_onchain.json' +import userDataEncryptionCt0 from '../../../../circuits/dist/secure-8192/user_data_encryption_ct0.json' +import userDataEncryptionCt1 from '../../../../circuits/dist/secure-8192/user_data_encryption_ct1.json' + +export const preset: CircuitPreset = 'secure-8192' + +/** + * The secure-8192 (N=8192, L=3) circuits, ready for `setCircuits()`. + * + * Asynchronous because the artifacts are inlined today but need not stay that way: the secure set + * is large enough that a consumer may want it fetched on demand, and that change belongs inside + * this function rather than in every caller. + */ +export const loadCircuits = async (): Promise => ({ + preset, + crisp: crisp as CompiledCircuit, + crispOnchain: crispOnchain as CompiledCircuit, + userDataEncryptionCt0: userDataEncryptionCt0 as CompiledCircuit, + userDataEncryptionCt1: userDataEncryptionCt1 as CompiledCircuit, +}) diff --git a/examples/CRISP/packages/crisp-sdk/src/vote.ts b/examples/CRISP/packages/crisp-sdk/src/vote.ts index 080c49ffb8..25e94a24f9 100644 --- a/examples/CRISP/packages/crisp-sdk/src/vote.ts +++ b/examples/CRISP/packages/crisp-sdk/src/vote.ts @@ -12,13 +12,13 @@ export { encodeVote, encryptVote, decodeTally, decryptVote, generateBFVKeys } fr export { splitDigest } from './circuitInputs' import { Noir, type CompiledCircuit } from '@noir-lang/noir_js' import { Barretenberg, BackendType, UltraHonkBackend } from '@aztec/bb.js' -import crispCircuit from '../../../circuits/bin/crisp/target/crisp.json' +// Only the aggregation circuits are imported here. Their ABI is proof and verification-key shaped +// rather than polynomial shaped, so one artifact serves every preset and inlining them costs ~0.3MB. +// The BFV-shaped circuits arrive through `setCircuits()` — see ./circuits. import foldCircuit from '../../../circuits/bin/fold/target/crisp_fold.json' -import crispOnchainCircuit from '../../../circuits/bin/crisp_onchain/target/crisp_onchain.json' import foldOnchainCircuit from '../../../circuits/bin/fold_onchain/target/crisp_onchain_fold.json' -import userDataEncryptionCt0Circuit from '../../../../../circuits/bin/threshold/target/user_data_encryption_ct0.json' -import userDataEncryptionCt1Circuit from '../../../../../circuits/bin/threshold/target/user_data_encryption_ct1.json' import userDataEncryptionCircuit from '../../../../../circuits/bin/threshold/target/user_data_encryption.json' +import { requireCircuits } from './circuits' import { bytesToHex, encodeAbiParameters, parseAbiParameters, numberToHex, getAddress } from 'viem/utils' import { Hex } from 'viem' @@ -108,10 +108,11 @@ export const executeCircuit = async (circuit: CompiledCircuit, inputs: any): Pro export const generateProof = async (circuitInputs: any, censusMode: CensusVariant = 'merkle') => { const api = await getBBApi() - const ballotCircuit = censusMode === 'onchain' ? crispOnchainCircuit : crispCircuit + const circuits = requireCircuits() + const ballotCircuit = censusMode === 'onchain' ? circuits.crispOnchain : circuits.crisp const foldCircuitForMode = censusMode === 'onchain' ? foldOnchainCircuit : foldCircuit - const { witness: userDataEncryptionCt0Witness } = await executeCircuit(userDataEncryptionCt0Circuit as CompiledCircuit, { + const { witness: userDataEncryptionCt0Witness } = await executeCircuit(circuits.userDataEncryptionCt0 as CompiledCircuit, { pk0is: circuitInputs.pk0is, ct0is: circuitInputs.ct0is, u: circuitInputs.u, @@ -122,7 +123,7 @@ export const generateProof = async (circuitInputs: any, censusMode: CensusVarian r1is: circuitInputs.r1is, r2is: circuitInputs.r2is, }) - const { witness: userDataEncryptionCt1Witness } = await executeCircuit(userDataEncryptionCt1Circuit as CompiledCircuit, { + const { witness: userDataEncryptionCt1Witness } = await executeCircuit(circuits.userDataEncryptionCt1 as CompiledCircuit, { pk1is: circuitInputs.pk1is, ct1is: circuitInputs.ct1is, u: circuitInputs.u, @@ -166,8 +167,8 @@ export const generateProof = async (circuitInputs: any, censusMode: CensusVarian num_options: circuitInputs.num_options, }) - const userDataEncryptionCt0Backend = new UltraHonkBackend((userDataEncryptionCt0Circuit as CompiledCircuit).bytecode, api) - const userDataEncryptionCt1Backend = new UltraHonkBackend((userDataEncryptionCt1Circuit as CompiledCircuit).bytecode, api) + const userDataEncryptionCt0Backend = new UltraHonkBackend((circuits.userDataEncryptionCt0 as CompiledCircuit).bytecode, api) + const userDataEncryptionCt1Backend = new UltraHonkBackend((circuits.userDataEncryptionCt1 as CompiledCircuit).bytecode, api) const userDataEncryptionBackend = new UltraHonkBackend((userDataEncryptionCircuit as CompiledCircuit).bytecode, api) const crispBackend = new UltraHonkBackend((ballotCircuit as CompiledCircuit).bytecode, api) const foldBackend = new UltraHonkBackend((foldCircuitForMode as CompiledCircuit).bytecode, api) diff --git a/examples/CRISP/packages/crisp-sdk/tests/vote.test.ts b/examples/CRISP/packages/crisp-sdk/tests/vote.test.ts index 7c08947b6b..5bce54899e 100644 --- a/examples/CRISP/packages/crisp-sdk/tests/vote.test.ts +++ b/examples/CRISP/packages/crisp-sdk/tests/vote.test.ts @@ -12,8 +12,15 @@ import { publicKeyToAddress, sign, signMessage } from 'viem/accounts' import { Hex, concat, keccak256, numberToHex, recoverPublicKey } from 'viem' import { CRISP_SERVER_URL, ECDSA_PRIVATE_KEY, SLOT_ADDRESS } from './constants' import { CrispSDK } from '../src/sdk' +import { setCircuits } from '../src/circuits' +import { loadCircuits } from '../src/presets/insecure-512' import { generateTestLeaves } from './helpers' +// Proving needs a preset installed; the BFV-shaped circuits are no longer part of the main entry. +beforeAll(async () => { + setCircuits(await loadCircuits()) +}) + describe('Vote', () => { let vote: Vote let signature: Hex diff --git a/examples/CRISP/packages/crisp-sdk/tsup.config.js b/examples/CRISP/packages/crisp-sdk/tsup.config.js index ca07d181c6..b67b86a2c1 100644 --- a/examples/CRISP/packages/crisp-sdk/tsup.config.js +++ b/examples/CRISP/packages/crisp-sdk/tsup.config.js @@ -4,10 +4,31 @@ // without even the implied warranty of MERCHANTABILITY // or FITNESS FOR A PARTICULAR PURPOSE. +import { existsSync } from 'node:fs' import { defineConfig } from 'tsup' +// Each preset is its own entry point so a consumer's bundler pulls one set of BFV-shaped circuits +// rather than both. A preset is built only once its artifacts have been staged, because the working +// tree holds a single preset at a time — `pnpm build:presets` compiles and stages each in turn. +const PRESETS = ['insecure-512', 'secure-8192'] +const staged = PRESETS.filter((preset) => existsSync(`../../circuits/dist/${preset}/crisp.json`)) + +for (const preset of PRESETS) { + if (!staged.includes(preset)) { + console.warn(`⚠️ tsup: skipping "${preset}" entry — circuits/dist/${preset} is not staged.`) + } +} + +if (staged.length === 0) { + throw new Error('No circuit preset staged. Run `pnpm build:presets` before building the SDK.') +} + export default defineConfig({ - entry: ['src/index.ts', 'src/workers/generateCircuitInputs.worker.ts'], + entry: [ + 'src/index.ts', + 'src/workers/generateCircuitInputs.worker.ts', + ...staged.map((preset) => `src/presets/${preset}.ts`), + ], include: ['src/**/*.ts'], splitting: false, sourcemap: true, diff --git a/examples/CRISP/scripts/build-presets.mjs b/examples/CRISP/scripts/build-presets.mjs new file mode 100755 index 0000000000..75af075ff4 --- /dev/null +++ b/examples/CRISP/scripts/build-presets.mjs @@ -0,0 +1,56 @@ +#!/usr/bin/env node +// SPDX-License-Identifier: LGPL-3.0-only +// +// This file is provided WITHOUT ANY WARRANTY; +// without even the implied warranty of MERCHANTABILITY +// or FITNESS FOR A PARTICULAR PURPOSE. + +// Compile and stage the CRISP circuits for every preset, so the SDK can publish both. +// +// The preset is a global compile-time choice (circuits/lib/src/configs/default/mod.nr), so the +// presets cannot be built concurrently — each pass switches the tree, compiles, and archives the +// result under circuits/dist// before the next pass overwrites it. +// +// The threshold circuits go through the root builder rather than a bare `nargo compile`, because +// switching preset also regenerates the parity matrices and ActiveCryptoConfig.sol. The root +// builder does not know about the CRISP circuits, so those are compiled here afterwards. + +import { execFileSync } from 'node:child_process' +import { dirname, join, resolve } from 'node:path' +import { fileURLToPath } from 'node:url' + +const CRISP = resolve(dirname(fileURLToPath(import.meta.url)), '..') +const REPO = resolve(CRISP, '..', '..') + +/** + * Insecure is built last so the working tree is left on the default preset. + * + * A plain `pnpm build` in the SDK inlines whatever the tree currently holds, so ending on anything + * else would quietly change what the next build produces. + */ +const PRESETS = ['secure-8192', 'insecure-512'] + +const run = (cmd, args, cwd) => { + console.log(` $ ${cmd} ${args.join(' ')}`) + execFileSync(cmd, args, { cwd, stdio: 'inherit' }) +} + +for (const preset of PRESETS) { + console.log(`\n🔮 Building CRISP circuits for ${preset}...`) + + // Switches the tree to this preset. This is the step that also regenerates the parity matrices + // and ActiveCryptoConfig.sol, which a bare `nargo compile` would leave describing the old one. + run('pnpm', ['tsx', 'scripts/build-circuits.ts', '--preset', preset, '--group', 'threshold'], REPO) + + // Compiles the CRISP circuits and writes the generated Solidity verifiers into + // packages/crisp-contracts/contracts/verifiers//. It recompiles the threshold circuits on + // the way through, which duplicates part of the step above; that is worth the few minutes rather + // than splitting the verifier generation away from the compile it has to agree with. + run('bash', ['scripts/compile_circuits.sh'], CRISP) + + run('node', [join(CRISP, 'scripts/stage-preset-artifacts.mjs'), preset], CRISP) +} + +console.log(`\n✓ staged ${PRESETS.length} preset(s); tree left on ${PRESETS.at(-1)}`) +console.log(' If the ballot circuits changed, regenerate the fold key hashes: scripts/compute_vk_hash.sh') +console.log(' Then rebuild the SDK (pnpm -C packages/crisp-sdk build) and check: pnpm -C packages/crisp-sdk check:presets') diff --git a/examples/CRISP/scripts/check-presets.mjs b/examples/CRISP/scripts/check-presets.mjs new file mode 100644 index 0000000000..9e7be4558e --- /dev/null +++ b/examples/CRISP/scripts/check-presets.mjs @@ -0,0 +1,80 @@ +#!/usr/bin/env node +// SPDX-License-Identifier: LGPL-3.0-only +// +// This file is provided WITHOUT ANY WARRANTY; +// without even the implied warranty of MERCHANTABILITY +// or FITNESS FOR A PARTICULAR PURPOSE. + +// Refuse to publish an SDK or contracts package that carries only some of its presets. +// +// tsup skips a preset whose artifacts are not staged, and it warns rather than fails so an ordinary +// development build still works from one preset. That is the right default locally and the wrong +// one at publish time: the missing subpath is only discovered by the consumer who imports it. +// +// The two packages are checked together because they are a matched pair. The SDK inlines the +// compiled circuit and the contracts package ships the verifier generated from that same circuit's +// verification key, so publishing one preset's SDK against another's verifier fails on chain at +// proof verification rather than anywhere a test would catch it. + +import { existsSync, statSync } from 'node:fs' +import { dirname, join, resolve } from 'node:path' +import { fileURLToPath } from 'node:url' + +const CRISP = resolve(dirname(fileURLToPath(import.meta.url)), '..') +const SDK = join(CRISP, 'packages', 'crisp-sdk') +const CONTRACTS = join(CRISP, 'packages', 'crisp-contracts') +const PRESETS = ['insecure-512', 'secure-8192'] + +/** Generated per census mode; both are needed for a preset to be deployable. */ +const VERIFIERS = ['CRISPVerifier.sol', 'CRISPOnchainVerifier.sol'] + +/** Below this a "built" entry is a stub or a failed inline rather than a real circuit bundle. */ +const MIN_BYTES = 100 * 1024 + +const problems = [] +for (const preset of PRESETS) { + const built = join(SDK, 'dist', 'presets', `${preset}.js`) + if (!existsSync(built)) { + problems.push(`${preset}: dist/presets/${preset}.js is missing — run \`pnpm build:presets\` then rebuild.`) + continue + } + + const { size } = statSync(built) + if (size < MIN_BYTES) { + problems.push(`${preset}: dist/presets/${preset}.js is only ${size} bytes; the circuits did not inline.`) + } +} + +// The exports map is what consumers actually resolve, so check it points at real files. +const pkg = JSON.parse(await import('node:fs').then((fs) => fs.readFileSync(join(SDK, 'package.json'), 'utf8'))) +for (const preset of PRESETS) { + const entry = pkg.exports?.[`./${preset}`] + if (!entry) { + problems.push(`${preset}: package.json exports has no "./${preset}" subpath.`) + continue + } + + for (const target of new Set(Object.values(entry))) { + if (!existsSync(join(SDK, target))) problems.push(`${preset}: exports points at ${target}, which does not exist.`) + } +} + +// The generated verifiers are what a consumer deploys, and they are preset-specific because they +// encode the circuit's verification key. +for (const preset of PRESETS) { + for (const verifier of VERIFIERS) { + const path = join(CONTRACTS, 'contracts', 'verifiers', preset, verifier) + if (!existsSync(path)) { + problems.push(`${preset}: contracts/verifiers/${preset}/${verifier} is missing — regenerate with scripts/compile_circuits.sh.`) + } + } +} + +if (problems.length > 0) { + console.error('✗ Not publishable with both presets:') + for (const problem of problems) console.error(` - ${problem}`) + process.exit(1) +} + +const sizes = PRESETS.map((p) => `${p} ${(statSync(join(SDK, 'dist/presets', `${p}.js`)).size / 1048576).toFixed(1)}MB`) +console.log(`✓ both presets present: ${sizes.join(', ')}`) diff --git a/examples/CRISP/scripts/compile_circuits.sh b/examples/CRISP/scripts/compile_circuits.sh index 2abb8f143e..8b7497c468 100755 --- a/examples/CRISP/scripts/compile_circuits.sh +++ b/examples/CRISP/scripts/compile_circuits.sh @@ -6,6 +6,20 @@ set -euo pipefail INTERFOLD_CIRCUITS="../../circuits" CRISP_CIRCUITS="circuits" +# The generated verifiers are preset-specific: they are written from the compiled circuit's +# verification key, so a secure-8192 verifier cannot verify an insecure-512 proof. Read the preset +# out of the config the compile just used rather than taking it as an argument, so the output +# directory can never disagree with what was built. +MOD_NR="${INTERFOLD_CIRCUITS}/lib/src/configs/default/mod.nr" +PRESET="$(sed -n 's|^// Auto-generated by build-circuits.ts for preset: \(.*\)$|\1|p' "$MOD_NR")" +if [ -z "$PRESET" ]; then + echo "Error: could not read the active preset from $MOD_NR" + exit 1 +fi +VERIFIER_DIR="packages/crisp-contracts/contracts/verifiers/${PRESET}" +mkdir -p "$VERIFIER_DIR" +echo "Generating verifiers for preset: ${PRESET} -> ${VERIFIER_DIR}" + # Two ballot stacks share the same user_data_encryption dependencies and differ only in how a # round establishes eligibility: # @@ -160,7 +174,7 @@ for stack in "${STACKS[@]}"; do fi echo "Copying ${verifier_file} to contracts folder..." - if ! cp "$CRISP_CIRCUITS/bin/${fold_dir}/target/${verifier_file}" "packages/crisp-contracts/contracts/${verifier_file}"; then + if ! cp "$CRISP_CIRCUITS/bin/${fold_dir}/target/${verifier_file}" "${VERIFIER_DIR}/${verifier_file}"; then echo "Error: Failed to copy ${verifier_file} to contracts folder" exit 1 fi @@ -176,14 +190,14 @@ for stack in "${STACKS[@]}"; do TEMP_FILE=$(mktemp) { echo "$LICENSE_HEADER" - tail -n +3 "packages/crisp-contracts/contracts/${verifier_file}" + tail -n +3 "${VERIFIER_DIR}/${verifier_file}" } >"$TEMP_FILE" - mv "$TEMP_FILE" "packages/crisp-contracts/contracts/${verifier_file}" + mv "$TEMP_FILE" "${VERIFIER_DIR}/${verifier_file}" - patch_verifier "packages/crisp-contracts/contracts/${verifier_file}" + patch_verifier "${VERIFIER_DIR}/${verifier_file}" echo "Formatting ${verifier_file} with Prettier..." - if pnpm exec prettier --write "packages/crisp-contracts/contracts/${verifier_file}" 2>/dev/null; then + if pnpm exec prettier --write "${VERIFIER_DIR}/${verifier_file}" 2>/dev/null; then echo "Prettier formatting complete" else echo "Warning: Prettier formatting skipped (run pnpm install from repo root if needed)" diff --git a/examples/CRISP/scripts/stage-preset-artifacts.mjs b/examples/CRISP/scripts/stage-preset-artifacts.mjs new file mode 100755 index 0000000000..423275a21c --- /dev/null +++ b/examples/CRISP/scripts/stage-preset-artifacts.mjs @@ -0,0 +1,78 @@ +#!/usr/bin/env node +// SPDX-License-Identifier: LGPL-3.0-only +// +// This file is provided WITHOUT ANY WARRANTY; +// without even the implied warranty of MERCHANTABILITY +// or FITNESS FOR A PARTICULAR PURPOSE. + +// Stage the preset-bound circuit artifacts into circuits/dist//. +// +// `nargo compile` always writes to /target/, and the preset is chosen globally in +// circuits/lib/src/configs/default/mod.nr, so the working tree only ever holds one preset at a +// time. The SDK needs both side by side to publish both, so each compile pass is archived here. +// +// Only the four circuits whose ABI is shaped by the BFV degree are staged. The aggregation +// circuits are proof-shaped and preset-independent — see src/circuits.ts. + +import { copyFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs' +import { dirname, join, resolve } from 'node:path' +import { fileURLToPath } from 'node:url' + +const CRISP = resolve(dirname(fileURLToPath(import.meta.url)), '..') +const REPO = resolve(CRISP, '..', '..') + +/** Degree the preset's polynomials carry, used to prove the artifact matches its directory. */ +const EXPECTED_DEGREE = { 'insecure-512': 512, 'secure-8192': 8192 } + +const ARTIFACTS = [ + { name: 'crisp', from: join(CRISP, 'circuits/bin/crisp/target/crisp.json') }, + { name: 'crisp_onchain', from: join(CRISP, 'circuits/bin/crisp_onchain/target/crisp_onchain.json') }, + { name: 'user_data_encryption_ct0', from: join(REPO, 'circuits/bin/threshold/target/user_data_encryption_ct0.json') }, + { name: 'user_data_encryption_ct1', from: join(REPO, 'circuits/bin/threshold/target/user_data_encryption_ct1.json') }, +] + +/** + * The largest array length in the ABI is the polynomial degree for every circuit staged here. + * + * Checking it is what stops a mislabelled archive. Staging an insecure artifact into secure-8192/ + * would otherwise publish a bundle that proves against the wrong parameters, and that failure only + * surfaces on chain at verification time. + */ +const degreeOf = (path) => { + const abi = JSON.parse(readFileSync(path, 'utf8')).abi + const lengths = JSON.stringify(abi.parameters).match(/"length":(\d+)/g) ?? [] + + return Math.max(...lengths.map((entry) => Number(entry.split(':')[1])), 0) +} + +const preset = process.argv[2] +if (!Object.hasOwn(EXPECTED_DEGREE, preset)) { + console.error(`Usage: stage-preset-artifacts.mjs <${Object.keys(EXPECTED_DEGREE).join('|')}>`) + process.exit(1) +} + +const outDir = join(CRISP, 'circuits/dist', preset) +mkdirSync(outDir, { recursive: true }) + +const staged = [] +for (const { name, from } of ARTIFACTS) { + if (!existsSync(from)) { + console.error(`✗ ${name}: not compiled (${from})`) + process.exit(1) + } + + // A circuit compiled at 512 carries 1023-length arrays too (the ct0/ct1 witnesses), so compare + // against the maximum rather than looking the degree up by name. + const degree = degreeOf(from) + const expected = EXPECTED_DEGREE[preset] + if (degree !== expected && degree !== 2 * expected - 1) { + console.error(`✗ ${name}: ABI reports degree ${degree}, which is not ${preset}. Wrong preset compiled?`) + process.exit(1) + } + + copyFileSync(from, join(outDir, `${name}.json`)) + staged.push({ name, degree }) +} + +writeFileSync(join(outDir, 'preset.json'), `${JSON.stringify({ preset, circuits: staged.map((s) => s.name) }, null, 2)}\n`) +console.log(`✓ staged ${staged.length} artifact(s) for ${preset}: ${staged.map((s) => s.name).join(', ')}`) From 5e342ab9d624a9642374ddeed9c0d399884e0c76 Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Tue, 18 Aug 2026 13:29:55 +0100 Subject: [PATCH 17/30] chore: update releasing --- examples/CRISP/RELEASING.md | 83 +++++++++++++++++ .../packages/crisp-contracts/package.json | 10 +- .../crisp-contracts/scripts/verifiers.ts | 37 ++++++-- .../CRISP/packages/crisp-sdk/package.json | 11 ++- .../CRISP/packages/crisp-sdk/tsup.config.js | 42 ++++++--- examples/CRISP/scripts/check-presets.mjs | 93 +++++++++++-------- 6 files changed, 212 insertions(+), 64 deletions(-) create mode 100644 examples/CRISP/RELEASING.md diff --git a/examples/CRISP/RELEASING.md b/examples/CRISP/RELEASING.md new file mode 100644 index 0000000000..83ca35a471 --- /dev/null +++ b/examples/CRISP/RELEASING.md @@ -0,0 +1,83 @@ +# Releasing the CRISP packages + +`@crisp-e3/sdk` and `@crisp-e3/contracts` are published as a matched pair on two channels, split by +BFV preset. + +| channel | tag | preset | who it is for | +| --- | --- | --- | --- | +| testing | `testing` | `insecure-512` | testnets, demos, local development | +| production | `latest` | `secure-8192` | real rounds | + +## Why the channels are split by preset + +The SDK inlines the compiled circuit and the contracts package ships the Solidity verifier generated +from that same circuit's verification key. A verifier only accepts proofs from the circuit it was +generated for, so mixing presets across the two packages produces a round that rejects every ballot +— and it fails at on-chain verification, not anywhere a test would catch it. + +Each tarball therefore carries exactly one preset. Importing the other subpath fails to resolve, +which is a loud, immediate error rather than a silently wrong proof: + +```ts +// on @crisp-e3/sdk@testing +import { loadCircuits } from '@crisp-e3/sdk/insecure-512' // resolves +import { loadCircuits } from '@crisp-e3/sdk/secure-8192' // ERR_MODULE_NOT_FOUND +``` + +It also keeps the secure circuits out of every testing install. They are far larger than the +insecure ones, and shipping both would put that weight in both channels. + +## Versioning + +Testing releases carry a prerelease identifier; production releases do not. + +``` +0.18.0-insecure.0 tag: testing insecure-512 +0.18.0 tag: latest secure-8192 +``` + +The identifier is load-bearing. npm excludes prerelease versions from ordinary ranges, so a consumer +on `^0.18.0` can never drift onto a testing build through an update — reaching it takes an explicit +`@testing` or an exact version. + +## Procedure + +Both channels build from artifacts staged by `pnpm build:presets`, which compiles each preset in +turn and writes the generated verifiers to `packages/crisp-contracts/contracts/verifiers//`. +Run it once, then publish each channel: + +```sh +pnpm -C examples/CRISP build:presets # slow: compiles both presets + +# testing +cd examples/CRISP/packages/crisp-sdk +npm version 0.18.0-insecure.0 --no-git-tag-version +pnpm publish:testing +cd ../crisp-contracts +npm version 0.18.0-insecure.0 --no-git-tag-version +pnpm publish:testing + +# production +cd ../crisp-sdk +npm version 0.18.0 --no-git-tag-version +pnpm publish:prod +cd ../crisp-contracts +npm version 0.18.0 --no-git-tag-version +pnpm publish:prod +``` + +`prepublishOnly` runs `check-presets` on both packages, which refuses to publish a channel whose +artifacts do not match its preset — a missing preset, a stub bundle, an exports entry pointing at +nothing, missing verifiers, or the *other* preset's bundle being present. + +## Deploying + +The contracts tarball carries the verifiers for both presets, because they are small and pruning +them buys nothing. Safety comes from the deploy path refusing to guess instead: `activePreset()` in +`packages/crisp-contracts/scripts/verifiers.ts` uses `CRISP_PRESET` when set, falls back only when +exactly one preset has generated verifiers, and otherwise throws. There is no default — quietly +deploying the insecure verifier is the mistake worth making impossible. + +```sh +CRISP_PRESET=secure-8192 pnpm deploy:crisp --network +``` diff --git a/examples/CRISP/packages/crisp-contracts/package.json b/examples/CRISP/packages/crisp-contracts/package.json index cf0a348cc4..abe68e3ade 100644 --- a/examples/CRISP/packages/crisp-contracts/package.json +++ b/examples/CRISP/packages/crisp-contracts/package.json @@ -38,13 +38,15 @@ "deploy:contracts:full:mock": "export DEPLOY_INTERFOLD=true USE_MOCKS=true PRINT_ENV_VARS=true && pnpm deploy:contracts", "test": "hardhat test mocha", "check:test-legs": "node scripts/check-test-legs.mjs", - "test:unit": "pnpm check:test-legs && hardhat test mocha tests/census-mode.test.ts tests/crisp.journal.test.ts tests/input-leaf.test.ts tests/interfold-binding.test.ts tests/tally.decoding.test.ts", - "test:input-tree": "hardhat test mocha tests/input-tree-e2e.test.ts", - "test:ballots": "hardhat test mocha tests/crisp.contracts.test.ts tests/onchain-census.test.ts", + "test:unit": "pnpm check:test-legs && CRISP_PRESET=insecure-512 hardhat test mocha tests/census-mode.test.ts tests/crisp.journal.test.ts tests/input-leaf.test.ts tests/interfold-binding.test.ts tests/tally.decoding.test.ts", + "test:input-tree": "CRISP_PRESET=insecure-512 hardhat test mocha tests/input-tree-e2e.test.ts", + "test:ballots": "CRISP_PRESET=insecure-512 hardhat test mocha tests/crisp.contracts.test.ts tests/onchain-census.test.ts", "verify": "hardhat run deploy/verify.ts", "updateSubmissionWindow": "hardhat ciphernode:window", "check:presets": "node ../../scripts/check-presets.mjs", - "prepublishOnly": "pnpm check:presets" + "prepublishOnly": "pnpm check:presets", + "publish:testing": "CRISP_CHANNEL=testing npm publish --tag testing", + "publish:prod": "CRISP_CHANNEL=latest npm publish --tag latest" }, "dependencies": { "@interfold/contracts": "workspace:*", diff --git a/examples/CRISP/packages/crisp-contracts/scripts/verifiers.ts b/examples/CRISP/packages/crisp-contracts/scripts/verifiers.ts index 2ca68c26b2..d04aef0902 100644 --- a/examples/CRISP/packages/crisp-contracts/scripts/verifiers.ts +++ b/examples/CRISP/packages/crisp-contracts/scripts/verifiers.ts @@ -14,6 +14,10 @@ // Both the deploy script and the tests resolve names through here, so the preset is chosen in one // place rather than spelled into a dozen string literals. +import { existsSync } from 'node:fs' +import { dirname, resolve } from 'node:path' +import { fileURLToPath } from 'node:url' + /** BFV parameter sets the circuits can be compiled against. */ export type CircuitPreset = 'insecure-512' | 'secure-8192' @@ -32,21 +36,40 @@ const VERIFIER_FILES: Record = { onchain: 'CRISPOnchainVerifier.sol', } +const verifierDir = (preset: CircuitPreset) => + resolve(dirname(fileURLToPath(import.meta.url)), '..', 'contracts', 'verifiers', preset) + +/** The presets this checkout actually has generated verifiers for. */ +export const availablePresets = (): CircuitPreset[] => CIRCUIT_PRESETS.filter((preset) => existsSync(verifierDir(preset))) + /** - * The preset to deploy against, from `CRISP_PRESET`. + * The preset to deploy against. + * + * `CRISP_PRESET` wins. Otherwise this resolves only when the choice is unambiguous — exactly one + * preset has generated verifiers — and throws when more than one does. * - * Defaults to insecure-512, which is what the circuits compile to by default and what the tests - * prove against. A deployment that means to use secure-8192 has to say so. + * There is deliberately no fallback to insecure-512. A verifier encodes its circuit's verification + * key, so deploying the wrong one produces a round that rejects every ballot, and defaulting + * quietly to the insecure parameters is the specific mistake worth making impossible. */ export const activePreset = (): CircuitPreset => { const preset = process.env.CRISP_PRESET - if (preset === undefined) return 'insecure-512' - if (!CIRCUIT_PRESETS.includes(preset as CircuitPreset)) { - throw new Error(`CRISP_PRESET must be one of ${CIRCUIT_PRESETS.join(', ')}; got "${preset}".`) + if (preset !== undefined) { + if (!CIRCUIT_PRESETS.includes(preset as CircuitPreset)) { + throw new Error(`CRISP_PRESET must be one of ${CIRCUIT_PRESETS.join(', ')}; got "${preset}".`) + } + + return preset as CircuitPreset + } + + const available = availablePresets() + if (available.length === 1) return available[0] + if (available.length === 0) { + throw new Error('No generated verifiers found under contracts/verifiers/. Run scripts/compile_circuits.sh.') } - return preset as CircuitPreset + throw new Error(`Set CRISP_PRESET: verifiers exist for ${available.join(' and ')}, so the choice is not implied.`) } /** diff --git a/examples/CRISP/packages/crisp-sdk/package.json b/examples/CRISP/packages/crisp-sdk/package.json index 28f31442cf..e224e2910e 100644 --- a/examples/CRISP/packages/crisp-sdk/package.json +++ b/examples/CRISP/packages/crisp-sdk/package.json @@ -7,7 +7,8 @@ "url": "https://github.com/gnosisguild" }, "files": [ - "dist" + "dist", + "!dist/presets/*.map" ], "exports": { ".": { @@ -42,11 +43,15 @@ "compile:fold_onchain": "cd ../../circuits/bin/fold_onchain && nargo compile", "build:wasm": "pnpm -C ../crisp-zk-inputs build", "build": "pnpm build:wasm && pnpm compile:circuits && pnpm stage:preset insecure-512 && tsup", - "test": "vitest --run", + "test": "pnpm stage:preset insecure-512 && vitest --run", "stage:preset": "node ../../scripts/stage-preset-artifacts.mjs", "build:presets": "node ../../scripts/build-presets.mjs", "check:presets": "node ../../scripts/check-presets.mjs", - "prepublishOnly": "pnpm check:presets" + "prepublishOnly": "pnpm check:presets", + "build:testing": "pnpm build:wasm && CRISP_PRESET=insecure-512 tsup", + "build:prod": "pnpm build:wasm && CRISP_PRESET=secure-8192 tsup", + "publish:testing": "pnpm build:testing && CRISP_CHANNEL=testing npm publish --tag testing", + "publish:prod": "pnpm build:prod && CRISP_CHANNEL=latest npm publish --tag latest" }, "publishConfig": { "access": "public" diff --git a/examples/CRISP/packages/crisp-sdk/tsup.config.js b/examples/CRISP/packages/crisp-sdk/tsup.config.js index b67b86a2c1..68ee2d9cfc 100644 --- a/examples/CRISP/packages/crisp-sdk/tsup.config.js +++ b/examples/CRISP/packages/crisp-sdk/tsup.config.js @@ -7,27 +7,47 @@ import { existsSync } from 'node:fs' import { defineConfig } from 'tsup' -// Each preset is its own entry point so a consumer's bundler pulls one set of BFV-shaped circuits -// rather than both. A preset is built only once its artifacts have been staged, because the working -// tree holds a single preset at a time — `pnpm build:presets` compiles and stages each in turn. +// Each preset is its own entry point, so a consumer's bundler pulls one set of BFV-shaped circuits +// rather than both. +// +// A published tarball carries exactly one preset, selected by `CRISP_PRESET`, because the release +// channels are split by preset: `testing` ships insecure-512 and `latest` ships secure-8192. The +// secure circuits are far larger than the insecure ones, and shipping both would put that weight in +// every install of either. Importing the preset a tarball does not carry then fails to resolve, +// which is the right failure — the alternative is proving against parameters the deployed verifier +// does not match, and that is only discovered on chain. +// +// With `CRISP_PRESET` unset the build takes whatever is staged, which is what local development +// wants. const PRESETS = ['insecure-512', 'secure-8192'] -const staged = PRESETS.filter((preset) => existsSync(`../../circuits/dist/${preset}/crisp.json`)) -for (const preset of PRESETS) { - if (!staged.includes(preset)) { - console.warn(`⚠️ tsup: skipping "${preset}" entry — circuits/dist/${preset} is not staged.`) - } +const staged = (preset) => existsSync(`../../circuits/dist/${preset}/crisp.json`) + +const requested = process.env.CRISP_PRESET +if (requested !== undefined && !PRESETS.includes(requested)) { + throw new Error(`CRISP_PRESET must be one of ${PRESETS.join(', ')}; got "${requested}".`) } -if (staged.length === 0) { - throw new Error('No circuit preset staged. Run `pnpm build:presets` before building the SDK.') +let selected +if (requested === undefined) { + selected = PRESETS.filter(staged) + for (const preset of PRESETS) { + if (!selected.includes(preset)) console.warn(`⚠️ tsup: skipping "${preset}" entry — circuits/dist/${preset} is not staged.`) + } + if (selected.length === 0) throw new Error('No circuit preset staged. Run `pnpm build:presets` before building the SDK.') +} else { + if (!staged(requested)) { + throw new Error(`CRISP_PRESET=${requested} but circuits/dist/${requested} is not staged. Run \`pnpm build:presets\` first.`) + } + selected = [requested] + console.log(`tsup: building the ${requested} entry only (CRISP_PRESET).`) } export default defineConfig({ entry: [ 'src/index.ts', 'src/workers/generateCircuitInputs.worker.ts', - ...staged.map((preset) => `src/presets/${preset}.ts`), + ...selected.map((preset) => `src/presets/${preset}.ts`), ], include: ['src/**/*.ts'], splitting: false, diff --git a/examples/CRISP/scripts/check-presets.mjs b/examples/CRISP/scripts/check-presets.mjs index 9e7be4558e..db63ffd00f 100644 --- a/examples/CRISP/scripts/check-presets.mjs +++ b/examples/CRISP/scripts/check-presets.mjs @@ -5,25 +5,28 @@ // without even the implied warranty of MERCHANTABILITY // or FITNESS FOR A PARTICULAR PURPOSE. -// Refuse to publish an SDK or contracts package that carries only some of its presets. +// Refuse to publish a channel whose artifacts do not match the preset that channel stands for. // -// tsup skips a preset whose artifacts are not staged, and it warns rather than fails so an ordinary -// development build still works from one preset. That is the right default locally and the wrong -// one at publish time: the missing subpath is only discovered by the consumer who imports it. +// The release channels are split by BFV preset: `testing` carries insecure-512 and `latest` carries +// secure-8192. A tarball therefore has to carry exactly one preset — the missing one must be +// missing, so importing it fails to resolve, and the wrong one must be absent, so a prod consumer +// cannot reach insecure parameters at all. // -// The two packages are checked together because they are a matched pair. The SDK inlines the -// compiled circuit and the contracts package ships the verifier generated from that same circuit's -// verification key, so publishing one preset's SDK against another's verifier fails on chain at -// proof verification rather than anywhere a test would catch it. +// The SDK and the contracts package are checked together because they are a matched pair. The SDK +// inlines the compiled circuit and the contracts package ships the verifier generated from that +// same circuit's verification key, so a channel that mixes them fails on chain at proof +// verification rather than anywhere a test would catch it. -import { existsSync, statSync } from 'node:fs' +import { existsSync, readFileSync, statSync } from 'node:fs' import { dirname, join, resolve } from 'node:path' import { fileURLToPath } from 'node:url' const CRISP = resolve(dirname(fileURLToPath(import.meta.url)), '..') const SDK = join(CRISP, 'packages', 'crisp-sdk') const CONTRACTS = join(CRISP, 'packages', 'crisp-contracts') -const PRESETS = ['insecure-512', 'secure-8192'] + +/** Which preset each release channel stands for. */ +const CHANNEL_PRESET = { testing: 'insecure-512', latest: 'secure-8192' } /** Generated per census mode; both are needed for a preset to be deployable. */ const VERIFIERS = ['CRISPVerifier.sol', 'CRISPOnchainVerifier.sol'] @@ -31,50 +34,62 @@ const VERIFIERS = ['CRISPVerifier.sol', 'CRISPOnchainVerifier.sol'] /** Below this a "built" entry is a stub or a failed inline rather than a real circuit bundle. */ const MIN_BYTES = 100 * 1024 +// npm gives `prepublishOnly` no way to see `--tag`, so the channel comes through the environment +// when the publish scripts set it, and through argv when run by hand. +const channel = process.argv[2] ?? process.env.CRISP_CHANNEL +if (!Object.hasOwn(CHANNEL_PRESET, channel)) { + console.error( + channel === undefined + ? `Set CRISP_CHANNEL or pass a channel: check-presets.mjs <${Object.keys(CHANNEL_PRESET).join('|')}>` + : `Unknown channel "${channel}"; expected one of ${Object.keys(CHANNEL_PRESET).join(', ')}.`, + ) + process.exit(1) +} + +const wanted = CHANNEL_PRESET[channel] +const others = Object.values(CHANNEL_PRESET).filter((preset) => preset !== wanted) const problems = [] -for (const preset of PRESETS) { - const built = join(SDK, 'dist', 'presets', `${preset}.js`) - if (!existsSync(built)) { - problems.push(`${preset}: dist/presets/${preset}.js is missing — run \`pnpm build:presets\` then rebuild.`) - continue - } - const { size } = statSync(built) - if (size < MIN_BYTES) { - problems.push(`${preset}: dist/presets/${preset}.js is only ${size} bytes; the circuits did not inline.`) - } +// --- the SDK bundle --- +const built = join(SDK, 'dist', 'presets', `${wanted}.js`) +if (!existsSync(built)) { + problems.push(`${wanted}: dist/presets/${wanted}.js is missing — run \`pnpm build:presets\`, then \`CRISP_PRESET=${wanted} pnpm build\`.`) +} else if (statSync(built).size < MIN_BYTES) { + problems.push(`${wanted}: dist/presets/${wanted}.js is only ${statSync(built).size} bytes; the circuits did not inline.`) } -// The exports map is what consumers actually resolve, so check it points at real files. -const pkg = JSON.parse(await import('node:fs').then((fs) => fs.readFileSync(join(SDK, 'package.json'), 'utf8'))) -for (const preset of PRESETS) { - const entry = pkg.exports?.[`./${preset}`] - if (!entry) { - problems.push(`${preset}: package.json exports has no "./${preset}" subpath.`) - continue +for (const other of others) { + if (existsSync(join(SDK, 'dist', 'presets', `${other}.js`))) { + problems.push(`${other}: dist/presets/${other}.js must not ship on "${channel}" — rebuild with CRISP_PRESET=${wanted}.`) } +} +// The exports map is what consumers actually resolve, so check it points at a real file. +const pkg = JSON.parse(readFileSync(join(SDK, 'package.json'), 'utf8')) +const entry = pkg.exports?.[`./${wanted}`] +if (!entry) { + problems.push(`${wanted}: package.json exports has no "./${wanted}" subpath.`) +} else { for (const target of new Set(Object.values(entry))) { - if (!existsSync(join(SDK, target))) problems.push(`${preset}: exports points at ${target}, which does not exist.`) + if (!existsSync(join(SDK, target))) problems.push(`${wanted}: exports points at ${target}, which does not exist.`) } } -// The generated verifiers are what a consumer deploys, and they are preset-specific because they -// encode the circuit's verification key. -for (const preset of PRESETS) { - for (const verifier of VERIFIERS) { - const path = join(CONTRACTS, 'contracts', 'verifiers', preset, verifier) - if (!existsSync(path)) { - problems.push(`${preset}: contracts/verifiers/${preset}/${verifier} is missing — regenerate with scripts/compile_circuits.sh.`) - } +// --- the generated verifiers --- +// +// These are what a consumer deploys, and they encode the circuit's verification key, so the wrong +// preset here is a verifier that rejects every proof the matching SDK produces. +for (const verifier of VERIFIERS) { + if (!existsSync(join(CONTRACTS, 'contracts', 'verifiers', wanted, verifier))) { + problems.push(`${wanted}: contracts/verifiers/${wanted}/${verifier} is missing — regenerate with scripts/compile_circuits.sh.`) } } if (problems.length > 0) { - console.error('✗ Not publishable with both presets:') + console.error(`✗ Not publishable on "${channel}" (expects ${wanted}):`) for (const problem of problems) console.error(` - ${problem}`) process.exit(1) } -const sizes = PRESETS.map((p) => `${p} ${(statSync(join(SDK, 'dist/presets', `${p}.js`)).size / 1048576).toFixed(1)}MB`) -console.log(`✓ both presets present: ${sizes.join(', ')}`) +const size = (statSync(built).size / 1048576).toFixed(1) +console.log(`✓ "${channel}" carries ${wanted} only (dist/presets/${wanted}.js ${size}MB, verifiers present).`) From a55b498a1aaee7a6b27906d07e468da737794637 Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Tue, 18 Aug 2026 14:33:06 +0100 Subject: [PATCH 18/30] chore: guest --- crates/support/Cargo.lock | 247 +++++++++++++----------- crates/support/Cargo.toml | 30 ++- crates/support/methods/build.rs | 47 ++++- crates/support/methods/guest/Cargo.lock | 137 ++++++------- crates/support/methods/guest/Cargo.toml | 2 +- scripts/check-image-id.sh | 26 ++- 6 files changed, 297 insertions(+), 192 deletions(-) diff --git a/crates/support/Cargo.lock b/crates/support/Cargo.lock index e6ffb02259..d9464160aa 100644 --- a/crates/support/Cargo.lock +++ b/crates/support/Cargo.lock @@ -65,7 +65,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb" dependencies = [ "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -182,7 +182,7 @@ dependencies = [ "actix-router", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -634,7 +634,7 @@ checksum = "64b728d511962dda67c1bc7ea7c03736ec275ed2cf4c35d9585298ac9ccf3b73" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -769,7 +769,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -786,7 +786,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", "syn-solidity", "tiny-keccak", ] @@ -805,7 +805,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.111", + "syn 2.0.119", "syn-solidity", ] @@ -895,7 +895,7 @@ dependencies = [ "darling 0.21.3", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -914,7 +914,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" dependencies = [ "anstyle", - "anstyle-parse", + "anstyle-parse 0.2.7", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstream" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" +dependencies = [ + "anstyle", + "anstyle-parse 1.0.0", "anstyle-query", "anstyle-wincon", "colorchoice", @@ -937,13 +952,22 @@ dependencies = [ "utf8parse", ] +[[package]] +name = "anstyle-parse" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" +dependencies = [ + "utf8parse", +] + [[package]] name = "anstyle-query" version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -954,7 +978,7 @@ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -1016,7 +1040,7 @@ checksum = "e7e89fe77d1f0f4fe5b96dfc940923d88d17b6a773808124f21e764dfb063c6a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -1142,7 +1166,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" dependencies = [ "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -1180,7 +1204,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -1309,7 +1333,7 @@ checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -1571,7 +1595,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -1588,7 +1612,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -1605,7 +1629,7 @@ checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -2164,7 +2188,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -2261,7 +2285,7 @@ checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -2385,9 +2409,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.41" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be92d32e80243a54711e5d7ce823c35c41c9d929dc4ab58e1276f625841aadf9" +checksum = "b193af5b67834b676abd72466a96c1024e6a6ad978a1f484bd90b85c94041351" dependencies = [ "clap_builder", "clap_derive", @@ -2395,11 +2419,11 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.41" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707eab41e9622f9139419d573eca0900137718000c517d47da73045f54331c3d" +checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" dependencies = [ - "anstream", + "anstream 1.0.0", "anstyle", "clap_lex", "strsim", @@ -2407,21 +2431,21 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.41" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef4f52386a59ca4c860f7393bcf8abd8dfd91ecccc0f774635ff68e92eeef491" +checksum = "1110bd8a634a1ab8cb04345d8d878267d57c3cf1b38d91b71af6686408bbca6a" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] name = "clap_lex" -version = "0.7.6" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" +checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" [[package]] name = "cmake" @@ -2684,7 +2708,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -2699,7 +2723,7 @@ dependencies = [ "quote", "serde", "strsim", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -2710,7 +2734,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ "darling_core 0.20.11", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -2721,7 +2745,7 @@ checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ "darling_core 0.21.3", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -2804,7 +2828,7 @@ dependencies = [ "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -2814,7 +2838,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -2834,7 +2858,7 @@ checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", "unicode-xid", ] @@ -2887,7 +2911,7 @@ dependencies = [ "libc", "option-ext", "redox_users 0.5.2", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -2909,7 +2933,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -2961,8 +2985,8 @@ checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" [[package]] name = "e3-bfv-client" -version = "0.4.0" -source = "git+https://github.com/theinterfold/interfold?rev=c2097da61b4d07c4ce83840393ff4e9f171eefb4#c2097da61b4d07c4ce83840393ff4e9f171eefb4" +version = "0.7.0" +source = "git+https://github.com/theinterfold/interfold?rev=5b2ca6619a07aec6104f9b877bff948bd976b6cf#5b2ca6619a07aec6104f9b877bff948bd976b6cf" dependencies = [ "anyhow", "e3-fhe-params", @@ -2976,28 +3000,30 @@ dependencies = [ [[package]] name = "e3-compute-provider" -version = "0.4.0" -source = "git+https://github.com/theinterfold/interfold?rev=c2097da61b4d07c4ce83840393ff4e9f171eefb4#c2097da61b4d07c4ce83840393ff4e9f171eefb4" +version = "0.7.0" +source = "git+https://github.com/theinterfold/interfold?rev=5b2ca6619a07aec6104f9b877bff948bd976b6cf#5b2ca6619a07aec6104f9b877bff948bd976b6cf" dependencies = [ "ark-bn254 0.4.0", "ark-ff 0.4.2", "e3-bfv-client", "e3-fhe-params", + "fhe", "hex", "lean-imt", "light-poseidon", "num-bigint", "num-traits", - "rayon", "serde", + "sha2", "sha3", + "thiserror 1.0.69", "zk-kit-imt", ] [[package]] name = "e3-fhe-params" -version = "0.4.0" -source = "git+https://github.com/theinterfold/interfold?rev=c2097da61b4d07c4ce83840393ff4e9f171eefb4#c2097da61b4d07c4ce83840393ff4e9f171eefb4" +version = "0.7.0" +source = "git+https://github.com/theinterfold/interfold?rev=5b2ca6619a07aec6104f9b877bff948bd976b6cf#5b2ca6619a07aec6104f9b877bff948bd976b6cf" dependencies = [ "alloy-dyn-abi", "alloy-primitives", @@ -3014,8 +3040,8 @@ dependencies = [ [[package]] name = "e3-parity-matrix" -version = "0.4.0" -source = "git+https://github.com/theinterfold/interfold?rev=c2097da61b4d07c4ce83840393ff4e9f171eefb4#c2097da61b4d07c4ce83840393ff4e9f171eefb4" +version = "0.7.0" +source = "git+https://github.com/theinterfold/interfold?rev=5b2ca6619a07aec6104f9b877bff948bd976b6cf#5b2ca6619a07aec6104f9b877bff948bd976b6cf" dependencies = [ "num-bigint", "num-traits", @@ -3025,8 +3051,8 @@ dependencies = [ [[package]] name = "e3-polynomial" -version = "0.4.0" -source = "git+https://github.com/theinterfold/interfold?rev=c2097da61b4d07c4ce83840393ff4e9f171eefb4#c2097da61b4d07c4ce83840393ff4e9f171eefb4" +version = "0.7.0" +source = "git+https://github.com/theinterfold/interfold?rev=5b2ca6619a07aec6104f9b877bff948bd976b6cf#5b2ca6619a07aec6104f9b877bff948bd976b6cf" dependencies = [ "fhe-math", "num-bigint", @@ -3037,8 +3063,8 @@ dependencies = [ [[package]] name = "e3-safe" -version = "0.4.0" -source = "git+https://github.com/theinterfold/interfold?rev=c2097da61b4d07c4ce83840393ff4e9f171eefb4#c2097da61b4d07c4ce83840393ff4e9f171eefb4" +version = "0.7.0" +source = "git+https://github.com/theinterfold/interfold?rev=5b2ca6619a07aec6104f9b877bff948bd976b6cf#5b2ca6619a07aec6104f9b877bff948bd976b6cf" dependencies = [ "ark-bn254 0.5.0", "ark-ff 0.5.0", @@ -3120,8 +3146,8 @@ dependencies = [ [[package]] name = "e3-zk-helpers" -version = "0.4.0" -source = "git+https://github.com/theinterfold/interfold?rev=c2097da61b4d07c4ce83840393ff4e9f171eefb4#c2097da61b4d07c4ce83840393ff4e9f171eefb4" +version = "0.7.0" +source = "git+https://github.com/theinterfold/interfold?rev=5b2ca6619a07aec6104f9b877bff948bd976b6cf#5b2ca6619a07aec6104f9b877bff948bd976b6cf" dependencies = [ "anyhow", "ark-bn254 0.5.0", @@ -3184,7 +3210,7 @@ dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -3289,7 +3315,7 @@ checksum = "8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -3308,7 +3334,7 @@ version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f" dependencies = [ - "anstream", + "anstream 0.6.21", "anstyle", "env_filter", "jiff", @@ -3332,7 +3358,7 @@ checksum = "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -3348,7 +3374,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -3590,7 +3616,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -3695,7 +3721,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -4322,7 +4348,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -4450,7 +4476,7 @@ checksum = "980af8b43c3ad5d8d349ace167ec8170839f753a42d233ba19e08afe1850fa69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -4572,7 +4598,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -4712,7 +4738,7 @@ checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -4751,7 +4777,7 @@ checksum = "5cf92c10c7e361d6b99666ec1c6f9805b0bea2c3bd8c78dc6fe98ac5bd78db11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -4905,7 +4931,7 @@ version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -5051,7 +5077,7 @@ checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -5121,7 +5147,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -5190,7 +5216,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -5306,7 +5332,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -5447,7 +5473,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -5500,14 +5526,14 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] name = "proc-macro2" -version = "1.0.103" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" dependencies = [ "unicode-ident", ] @@ -5520,7 +5546,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", "version_check", ] @@ -5570,7 +5596,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03da047801ff44bb6a4d407d4860c05fd70bb81714e6b2f3812603d5b145b042" dependencies = [ "heck", - "itertools 0.11.0", + "itertools 0.14.0", "log", "multimap", "petgraph 0.8.3", @@ -5578,7 +5604,7 @@ dependencies = [ "prost 0.14.4", "prost-types", "regex", - "syn 2.0.111", + "syn 2.0.119", "tempfile", ] @@ -5589,10 +5615,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" dependencies = [ "anyhow", - "itertools 0.11.0", + "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -5602,10 +5628,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b570b25f7617e43d59005d0990ccb79e950a423952cea19671b7a876da390adf" dependencies = [ "anyhow", - "itertools 0.11.0", + "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -5703,9 +5729,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.42" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" dependencies = [ "proc-macro2", ] @@ -5892,7 +5918,7 @@ checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -6430,7 +6456,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -6767,19 +6793,20 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] name = "serde_json" -version = "1.0.141" +version = "1.0.145" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b9eff21ebe718216c6ec64e1d9ac57087aad11efc64e32002bce4a0d4c03d3" +checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" dependencies = [ "itoa", "memchr", "ryu", "serde", + "serde_core", ] [[package]] @@ -6842,7 +6869,7 @@ dependencies = [ "darling 0.21.3", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -7044,7 +7071,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" dependencies = [ "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -7095,7 +7122,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -7117,9 +7144,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.111" +version = "2.0.119" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" dependencies = [ "proc-macro2", "quote", @@ -7135,7 +7162,7 @@ dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -7155,7 +7182,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -7208,7 +7235,7 @@ dependencies = [ "getrandom 0.3.4", "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -7259,7 +7286,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -7270,7 +7297,7 @@ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -7384,7 +7411,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -7592,7 +7619,7 @@ checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -7771,7 +7798,7 @@ checksum = "6d79d08d92ab8af4c5e8a6da20c47ae3f61a0f1dabc1997cdf2d082b757ca08b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -7902,7 +7929,7 @@ dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", "wasm-bindgen-shared", ] @@ -7993,7 +8020,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -8023,7 +8050,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -8034,7 +8061,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -8294,7 +8321,7 @@ checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", "synstructure", ] @@ -8315,7 +8342,7 @@ checksum = "cf955aa904d6040f70dc8e9384444cb1030aed272ba3cb09bbc4ab9e7c1f34f5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -8335,7 +8362,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", "synstructure", ] @@ -8356,7 +8383,7 @@ checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -8389,7 +8416,7 @@ checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] diff --git a/crates/support/Cargo.toml b/crates/support/Cargo.toml index d2b0617f8a..18634aaf48 100644 --- a/crates/support/Cargo.toml +++ b/crates/support/Cargo.toml @@ -13,7 +13,7 @@ e3-support-app = { path = "./app" } e3-support-host = { path = "./host" } e3-user-program = { path = "./program" } e3-support-types = { path = "./types" } -e3-fhe-params = { git = "https://github.com/theinterfold/interfold", rev = "c2097da61b4d07c4ce83840393ff4e9f171eefb4" } +e3-fhe-params = { git = "https://github.com/theinterfold/interfold", rev = "5b2ca6619a07aec6104f9b877bff948bd976b6cf" } methods = { path = "./methods" } alloy-primitives = { version = "1.3", default-features = false, features = [ @@ -37,7 +37,7 @@ risc0-ethereum-contracts = { git = "https://github.com/risc0/risc0-ethereum", ta risc0-zkvm = { version = "=3.0.3" } risc0-zkp = { version = "=3.0.2", default-features = false } serde = { version = "1.0", features = ["derive", "std"] } -serde_json = "=1.0.141" +serde_json = "=1.0.145" # The Interfold revision must match for all Interfold dependencies in this workspace. # # The Interfold crates below are pinned by revision rather than by path because this workspace is @@ -50,18 +50,28 @@ serde_json = "=1.0.141" # refreshed ImageID.stamp.json. `pnpm check:image-id` asserts that every pin here names one # revision and warns when that revision is not an ancestor of HEAD. # -# Why this revision: c2097da6 is the scope commit of the 2026-08-17 Zenith protocol audit, so the -# pin freezes the guest at the audited baseline. +# Why this revision: 5b2ca661 is the tip of the branch that fixed compute-input binding, and the +# guest has to run that code for the fix to mean anything on chain. # -# That reason does not carry the weight it appears to. The audit covered six Solidity files and no -# Rust at all; crates/compute-provider and the guest were outside its scope, and outside the -# mitigation review at c64bcfb8 as well. See packages/interfold-contracts/audits/README.md. -# Pinning here buys reproducibility, not assurance, and this revision predates fixes that have -# since landed on main. +# It replaces c2097da6, the scope commit of the 2026-08-17 Zenith protocol audit. Sitting at the +# audited baseline read as the conservative choice and was not: the audit covered six Solidity +# files and no Rust at all, so crates/compute-provider and the guest were outside its scope, and +# outside the mitigation review at c64bcfb8 as well. See packages/interfold-contracts/audits/README.md. +# Holding the old pin bought reproducibility rather than assurance, while excluding real fixes to +# the code the guest runs — among them 5213e23d, which derives the guest input root from the +# processed ciphertexts. `pnpm check:image-id` still warns that the pin has moved off the audit +# baseline, which is true and worth seeing; it does not mean the pin is wrong. +# +# This revision is interim. It is a branch tip, and this repository squash-merges, so the commit +# stops being referenced by anything once the branch is deleted and eventually stops resolving — +# at which point the guest cannot be built at all. Re-pin to the commit a release tag names as +# soon as one contains this code, and record the tag here. `pnpm check:image-id` warns until then. +# It is deliberately a `rev` and not a `tag`: a tag can be moved, and the pin decides which code +# the guest runs, so it should be content-addressed even when it names a release. fhe = { package = "fhe", git = "https://github.com/gnosisguild/fhe.rs", tag = "v0.2.2" } fhe-traits = { git = "https://github.com/gnosisguild/fhe.rs", tag = "v0.2.2" } fhe-util = { git = "https://github.com/gnosisguild/fhe.rs", tag = "v0.2.2" } -e3-compute-provider = { git = "https://github.com/theinterfold/interfold", rev = "c2097da61b4d07c4ce83840393ff4e9f171eefb4" } +e3-compute-provider = { git = "https://github.com/theinterfold/interfold", rev = "5b2ca6619a07aec6104f9b877bff948bd976b6cf" } tokio = { version = "=1.46.1", features = ["full"] } rand = { version = "=0.9.2" } tracing-subscriber = { version = "=0.3.20", features = ["env-filter"] } diff --git a/crates/support/methods/build.rs b/crates/support/methods/build.rs index e164d15841..2ce13a31bb 100644 --- a/crates/support/methods/build.rs +++ b/crates/support/methods/build.rs @@ -18,7 +18,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -use std::{collections::HashMap, env, path::PathBuf}; +use std::{ + collections::HashMap, + env, fs, + path::{Path, PathBuf}, +}; use risc0_build::{embed_methods_with_options, DockerOptionsBuilder, GuestOptionsBuilder}; use risc0_build_ethereum::generate_solidity_files; @@ -38,6 +42,43 @@ fn use_docker() -> bool { ) } +/// The guest builder image tag, derived from `ARG RISC0_TOOLCHAIN` in `crates/support/Dockerfile`. +/// +/// risc0-build does not read that Dockerfile — it generates its own and, left alone, uses its +/// compiled-in default tag. For risc0-build 3.0.3 that default is `r0.1.88.0`, which carries rustc +/// 1.88, while the guest's dependency tree pins fhe.rs at an MSRV of 1.91.1. The guest then fails +/// to compile inside the container with an MSRV error, long after `check-image-id.sh` has compared +/// the Dockerfile against `rust-toolchain.toml` and found them in agreement — that check asserts a +/// toolchain the ELF build was never given. +/// +/// Reading the value here rather than repeating it keeps the toolchain the script validates and the +/// toolchain the guest is actually built with the same one. +fn guest_builder_tag(support_dir: &Path) -> String { + let dockerfile = support_dir.join("Dockerfile"); + println!("cargo:rerun-if-changed={}", dockerfile.display()); + + let source = fs::read_to_string(&dockerfile).unwrap_or_else(|e| { + panic!( + "cannot read {} to resolve the guest toolchain: {e}", + dockerfile.display() + ) + }); + + let toolchain = source + .lines() + .find_map(|line| line.trim().strip_prefix("ARG RISC0_TOOLCHAIN=")) + .unwrap_or_else(|| panic!("no ARG RISC0_TOOLCHAIN in {}", dockerfile.display())) + .trim(); + + assert!( + !toolchain.is_empty(), + "ARG RISC0_TOOLCHAIN in {} is empty", + dockerfile.display() + ); + + format!("r0.{toolchain}") +} + fn main() { // Builds can be made deterministic, and thereby reproducible, by using Docker to build the // guest. Set RISC0_USE_DOCKER to 1 (or true) to select the reproducible Docker build. Any @@ -47,8 +88,10 @@ fn main() { let manifest_dir = PathBuf::from(std::env::var_os("CARGO_MANIFEST_DIR").unwrap()); let mut builder = GuestOptionsBuilder::default(); if use_docker() { + let support_dir = manifest_dir.join("../"); let docker_options = DockerOptionsBuilder::default() - .root_dir(manifest_dir.join("../")) + .root_dir(support_dir.clone()) + .docker_container_tag(guest_builder_tag(&support_dir)) .build() .unwrap(); builder.use_docker(docker_options); diff --git a/crates/support/methods/guest/Cargo.lock b/crates/support/methods/guest/Cargo.lock index c32d6b167a..ffb4490873 100644 --- a/crates/support/methods/guest/Cargo.lock +++ b/crates/support/methods/guest/Cargo.lock @@ -114,7 +114,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -130,7 +130,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", "syn-solidity", "tiny-keccak", ] @@ -147,7 +147,7 @@ dependencies = [ "macro-string", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", "syn-solidity", ] @@ -175,9 +175,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.21" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" +checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" dependencies = [ "anstyle", "anstyle-parse", @@ -196,9 +196,9 @@ checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" [[package]] name = "anstyle-parse" -version = "0.2.7" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" +checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" dependencies = [ "utf8parse", ] @@ -282,7 +282,7 @@ checksum = "e7e89fe77d1f0f4fe5b96dfc940923d88d17b6a773808124f21e764dfb063c6a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -408,7 +408,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" dependencies = [ "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -446,7 +446,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -575,7 +575,7 @@ checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -634,7 +634,7 @@ checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -747,7 +747,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -773,7 +773,7 @@ checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -815,9 +815,9 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "clap" -version = "4.5.41" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be92d32e80243a54711e5d7ce823c35c41c9d929dc4ab58e1276f625841aadf9" +checksum = "b193af5b67834b676abd72466a96c1024e6a6ad978a1f484bd90b85c94041351" dependencies = [ "clap_builder", "clap_derive", @@ -825,9 +825,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.41" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707eab41e9622f9139419d573eca0900137718000c517d47da73045f54331c3d" +checksum = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" dependencies = [ "anstream", "anstyle", @@ -837,21 +837,21 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.41" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef4f52386a59ca4c860f7393bcf8abd8dfd91ecccc0f774635ff68e92eeef491" +checksum = "1110bd8a634a1ab8cb04345d8d878267d57c3cf1b38d91b71af6686408bbca6a" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] name = "clap_lex" -version = "0.7.7" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32" +checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" [[package]] name = "cobs" @@ -1033,7 +1033,7 @@ checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", "unicode-xid", ] @@ -1078,8 +1078,8 @@ checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "e3-bfv-client" -version = "0.4.0" -source = "git+https://github.com/theinterfold/interfold?rev=c2097da61b4d07c4ce83840393ff4e9f171eefb4#c2097da61b4d07c4ce83840393ff4e9f171eefb4" +version = "0.7.0" +source = "git+https://github.com/theinterfold/interfold?rev=5b2ca6619a07aec6104f9b877bff948bd976b6cf#5b2ca6619a07aec6104f9b877bff948bd976b6cf" dependencies = [ "anyhow", "e3-fhe-params", @@ -1093,28 +1093,30 @@ dependencies = [ [[package]] name = "e3-compute-provider" -version = "0.4.0" -source = "git+https://github.com/theinterfold/interfold?rev=c2097da61b4d07c4ce83840393ff4e9f171eefb4#c2097da61b4d07c4ce83840393ff4e9f171eefb4" +version = "0.7.0" +source = "git+https://github.com/theinterfold/interfold?rev=5b2ca6619a07aec6104f9b877bff948bd976b6cf#5b2ca6619a07aec6104f9b877bff948bd976b6cf" dependencies = [ "ark-bn254 0.4.0", "ark-ff 0.4.2", "e3-bfv-client", "e3-fhe-params", + "fhe", "hex", "lean-imt", "light-poseidon", "num-bigint", "num-traits", - "rayon", "serde", + "sha2", "sha3", + "thiserror 1.0.69", "zk-kit-imt", ] [[package]] name = "e3-fhe-params" -version = "0.4.0" -source = "git+https://github.com/theinterfold/interfold?rev=c2097da61b4d07c4ce83840393ff4e9f171eefb4#c2097da61b4d07c4ce83840393ff4e9f171eefb4" +version = "0.7.0" +source = "git+https://github.com/theinterfold/interfold?rev=5b2ca6619a07aec6104f9b877bff948bd976b6cf#5b2ca6619a07aec6104f9b877bff948bd976b6cf" dependencies = [ "alloy-dyn-abi", "alloy-primitives", @@ -1131,8 +1133,8 @@ dependencies = [ [[package]] name = "e3-parity-matrix" -version = "0.4.0" -source = "git+https://github.com/theinterfold/interfold?rev=c2097da61b4d07c4ce83840393ff4e9f171eefb4#c2097da61b4d07c4ce83840393ff4e9f171eefb4" +version = "0.7.0" +source = "git+https://github.com/theinterfold/interfold?rev=5b2ca6619a07aec6104f9b877bff948bd976b6cf#5b2ca6619a07aec6104f9b877bff948bd976b6cf" dependencies = [ "num-bigint", "num-traits", @@ -1142,8 +1144,8 @@ dependencies = [ [[package]] name = "e3-polynomial" -version = "0.4.0" -source = "git+https://github.com/theinterfold/interfold?rev=c2097da61b4d07c4ce83840393ff4e9f171eefb4#c2097da61b4d07c4ce83840393ff4e9f171eefb4" +version = "0.7.0" +source = "git+https://github.com/theinterfold/interfold?rev=5b2ca6619a07aec6104f9b877bff948bd976b6cf#5b2ca6619a07aec6104f9b877bff948bd976b6cf" dependencies = [ "fhe-math", "num-bigint", @@ -1154,8 +1156,8 @@ dependencies = [ [[package]] name = "e3-safe" -version = "0.4.0" -source = "git+https://github.com/theinterfold/interfold?rev=c2097da61b4d07c4ce83840393ff4e9f171eefb4#c2097da61b4d07c4ce83840393ff4e9f171eefb4" +version = "0.7.0" +source = "git+https://github.com/theinterfold/interfold?rev=5b2ca6619a07aec6104f9b877bff948bd976b6cf#5b2ca6619a07aec6104f9b877bff948bd976b6cf" dependencies = [ "ark-bn254 0.5.0", "ark-ff 0.5.0", @@ -1189,8 +1191,8 @@ dependencies = [ [[package]] name = "e3-zk-helpers" -version = "0.4.0" -source = "git+https://github.com/theinterfold/interfold?rev=c2097da61b4d07c4ce83840393ff4e9f171eefb4#c2097da61b4d07c4ce83840393ff4e9f171eefb4" +version = "0.7.0" +source = "git+https://github.com/theinterfold/interfold?rev=5b2ca6619a07aec6104f9b877bff948bd976b6cf#5b2ca6619a07aec6104f9b877bff948bd976b6cf" dependencies = [ "anyhow", "ark-bn254 0.5.0", @@ -1240,7 +1242,7 @@ dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -1303,7 +1305,7 @@ checksum = "8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -1323,7 +1325,7 @@ checksum = "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -1519,7 +1521,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -1666,7 +1668,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -1820,7 +1822,7 @@ checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -2014,7 +2016,7 @@ checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -2063,7 +2065,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -2152,7 +2154,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -2205,14 +2207,14 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] name = "proc-macro2" -version = "1.0.103" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" dependencies = [ "unicode-ident", ] @@ -2261,7 +2263,7 @@ dependencies = [ "prost", "prost-types", "regex", - "syn 2.0.111", + "syn 2.0.119", "tempfile", ] @@ -2275,7 +2277,7 @@ dependencies = [ "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -2318,9 +2320,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quote" -version = "1.0.42" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" dependencies = [ "proc-macro2", ] @@ -2870,19 +2872,20 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] name = "serde_json" -version = "1.0.141" +version = "1.0.145" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b9eff21ebe718216c6ec64e1d9ac57087aad11efc64e32002bce4a0d4c03d3" +checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" dependencies = [ "itoa", "memchr", "ryu", "serde", + "serde_core", ] [[package]] @@ -2970,7 +2973,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" dependencies = [ "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -3004,9 +3007,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.111" +version = "2.0.119" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87" +checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297" dependencies = [ "proc-macro2", "quote", @@ -3022,7 +3025,7 @@ dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -3094,7 +3097,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -3105,7 +3108,7 @@ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -3208,7 +3211,7 @@ checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -3370,7 +3373,7 @@ checksum = "cf955aa904d6040f70dc8e9384444cb1030aed272ba3cb09bbc4ab9e7c1f34f5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] @@ -3390,7 +3393,7 @@ checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.111", + "syn 2.0.119", ] [[package]] diff --git a/crates/support/methods/guest/Cargo.toml b/crates/support/methods/guest/Cargo.toml index 96f876761e..4fd42d3f3b 100644 --- a/crates/support/methods/guest/Cargo.toml +++ b/crates/support/methods/guest/Cargo.toml @@ -16,7 +16,7 @@ risc0-zkvm = { version = "=3.0.3", default-features = false, features = ['std'] # This revision decides which compute-provider code runs inside the zkVM, so it decides the image # ID. It must match the pin in crates/support/Cargo.toml. See that file for why the dependency is # pinned by revision instead of by path. -e3-compute-provider = { git = "https://github.com/theinterfold/interfold", rev = "c2097da61b4d07c4ce83840393ff4e9f171eefb4" } +e3-compute-provider = { git = "https://github.com/theinterfold/interfold", rev = "5b2ca6619a07aec6104f9b877bff948bd976b6cf" } e3-support-types = { path = "../../types" } e3-user-program = { path = "../../program" } bincode = "=1.3.3" diff --git a/scripts/check-image-id.sh b/scripts/check-image-id.sh index 8992a937e5..5e33c74887 100755 --- a/scripts/check-image-id.sh +++ b/scripts/check-image-id.sh @@ -95,6 +95,25 @@ if git cat-file -e "${PINNED_REV}^{commit}" 2>/dev/null; then The guest still runs the older code. Move the pin to a pushed commit that contains the change, update both lockfiles, rebuild the guest, and commit the regenerated $IMAGE_ID_SOL." fi + + # Third question: will the pin still resolve a year from now? Ancestry and currency are both + # satisfied by a branch tip, and a branch tip is exactly what stops resolving. This repository + # squash-merges, so the commit a feature branch pointed at is replaced by a new one on main and + # the original ends up referenced by nothing; once it is collected, `cargo fetch` cannot retrieve + # it and the guest can no longer be built at all. + # + # A tagged commit does not have that problem: the tag is a ref, so the commit stays reachable, + # and it is an ancestor of main besides. Pin by `rev` rather than by `tag` even so — a tag can be + # moved, and a pin deciding which code the guest runs should be content-addressed. + if pin_tag="$(git describe --exact-match --tags "$PINNED_REV" 2>/dev/null)"; then + echo "check:image-id: pin ${PINNED_REV:0:8} is the released commit $pin_tag." + else + warn "the guest pin is not a released commit. + pinned: ${PINNED_REV:0:8} + Nothing but this branch refers to it, and squash-merging replaces the branch commit, so the pin + will stop resolving once the original is collected. Re-pin to the commit a release tag names + once this merges, and record the tag in the rationale in crates/support/Cargo.toml." + fi else warn "pinned revision ${PINNED_REV:0:8} is not present locally; run 'git fetch' to check it." fi @@ -113,8 +132,11 @@ if [ "$PINNED_REV" != "$AUDIT_BASELINE" ]; then warn "the guest pin has moved off the documented audit baseline. pinned: $PINNED_REV baseline: $AUDIT_BASELINE - That is expected once the pin is bumped past the audit. Update AUDIT_BASELINE in this script and - the rationale in crates/support/Cargo.toml, so the reason for the pin stays true." + That is expected once the pin is bumped past the audit, and this warning is then the standing + reminder that the guest no longer runs audited code. Leave AUDIT_BASELINE alone unless a later + audit sets a new one: it is asserted against the audits README as that audit's scope commit, so + pointing it at an unreviewed revision would make this script vouch for a review that never + happened. Keep the reason current in the rationale in crates/support/Cargo.toml instead." fi # --- 2. Toolchain sync -------------------------------------------------------------------------- From 5079cdd041604e43be6f796b131ec42f25e89c97 Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Tue, 18 Aug 2026 15:06:05 +0100 Subject: [PATCH 19/30] chore: guest --- .github/workflows/rebuild-guest-image-id.yml | 85 ++++++++++++++++++++ crates/support/contracts/ImageID.stamp.json | 50 ++++++++---- 2 files changed, 118 insertions(+), 17 deletions(-) create mode 100644 .github/workflows/rebuild-guest-image-id.yml diff --git a/.github/workflows/rebuild-guest-image-id.yml b/.github/workflows/rebuild-guest-image-id.yml new file mode 100644 index 0000000000..edc8da33d2 --- /dev/null +++ b/.github/workflows/rebuild-guest-image-id.yml @@ -0,0 +1,85 @@ +# Regenerate the guest image ID on a native amd64 runner. +# +# `check-image-id.sh --rebuild` builds the guest with the RISC Zero Docker builder, which is what +# makes the image ID reproducible. The builder image is published for linux/amd64 only, so on an +# Apple Silicon machine it runs under emulation — and the protoc that prost-build bundles dies +# there with no diagnostic, which stops the build before it reaches the guest. A native runner +# removes the emulation layer entirely. +# +# It is also the right home for the job on its own terms: the recorded image ID decides which +# program the deployed verifier accepts, so it should come from an environment anyone can inspect +# rather than from whichever laptop was free. +# +# This never commits. It uploads the regenerated ImageID.sol and stamp as artifacts, and you commit +# them deliberately alongside the pin and lockfiles they belong with. +name: Rebuild guest image ID + +on: + workflow_dispatch: + inputs: + ref: + description: 'Branch or SHA to rebuild from' + required: false + default: '' + +permissions: + contents: read + +jobs: + rebuild: + # The guest build compiles the whole dependency tree inside the container from cold. + timeout-minutes: 60 + runs-on: 'ubuntu-latest' + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + with: + ref: ${{ inputs.ref || github.ref }} + # The pin-ancestry and staleness checks read history, so a shallow clone is not enough. + fetch-depth: 0 + persist-credentials: false + + - name: Install Rust + uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 + with: + toolchain: stable + + - name: Record the pre-rebuild image ID + id: before + run: | + echo "image_id=$(grep -oE '0x[0-9a-fA-F]{64}' crates/support/contracts/ImageID.sol | head -1)" >> "$GITHUB_OUTPUT" + + - name: Rebuild the guest and regenerate the image ID + run: ./scripts/check-image-id.sh --rebuild + + - name: Report what changed + run: | + after="$(grep -oE '0x[0-9a-fA-F]{64}' crates/support/contracts/ImageID.sol | head -1)" + { + echo "### Guest image ID" + echo + echo '| | value |' + echo '| --- | --- |' + echo "| before | \`${{ steps.before.outputs.image_id }}\` |" + echo "| after | \`$after\` |" + echo + if [ "$after" = "${{ steps.before.outputs.image_id }}" ]; then + echo 'Unchanged — the recorded image ID reproduces from these inputs.' + else + echo 'Changed. Commit the regenerated `ImageID.sol` and stamp together with the pin and' + echo 'lockfiles that produced them, or the next `check:image-id` run fails on the drift.' + fi + echo + echo '#### Stamp' + echo '```json' + cat crates/support/contracts/ImageID.stamp.json + echo '```' + } >> "$GITHUB_STEP_SUMMARY" + + - name: Upload the regenerated image ID and stamp + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + with: + name: guest-image-id + path: | + crates/support/contracts/ImageID.sol + crates/support/contracts/ImageID.stamp.json + if-no-files-found: error diff --git a/crates/support/contracts/ImageID.stamp.json b/crates/support/contracts/ImageID.stamp.json index 614722e912..c1cefff70f 100644 --- a/crates/support/contracts/ImageID.stamp.json +++ b/crates/support/contracts/ImageID.stamp.json @@ -1,26 +1,42 @@ { "imageId": "0x7ac6020923d10004ccb27d8cdb5df72e7476e8a9775b9c1c711e9d906b44e105", - "guestInputsDigest": "f44959fa60d3972e45bdfdd541d7ad0bf55febf6ad0d045895b9d7ce63d04178", + "guestInputsDigest": "7ff97cdf378a65c843cbb4f8dc4f8fedfc50a277e17416b1e1f2a678188072d2", "imageIdVerified": false, "reason": [ - "The recorded image ID has never been reproduced from these inputs. It is very probably", - "stale: ImageID.sol last changed on 2026-06-23 in 8b81f51c, while the guest and the journal", - "types changed on 2026-08-06 in f716d933b and again on 2026-08-13 in 02ebe4589. The second of", - "those replaced a four-field result with a nine-field domain-separated journal.", + "The recorded image ID has never been reproduced from these inputs, and this stamp does not", + "endorse it. It is very probably stale: ImageID.sol last changed on 2026-06-23 in 8b81f51c,", + "while the guest and the journal types changed on 2026-08-06 in f716d933b and again on", + "2026-08-13 in 02ebe4589. The second of those replaced a four-field result with a nine-field", + "domain-separated journal.", "", - "This stamp starts the drift ratchet from the current tree. It does not endorse the recorded", - "value. Run './scripts/check-image-id.sh --rebuild' to reproduce the image ID, commit the", - "regenerated ImageID.sol, then set imageIdVerified to true and drop this field.", + "The digest is a drift baseline, rebaselined whenever a guest input changes for a reason that", + "is understood. It has moved three times. First when this stamp was introduced. Second when", + "crates/support/methods/guest/Cargo.lock was repaired: it was one line behind its manifests, so", + "'cargo metadata --locked' refused the workspace and the reproducible build stopped before it", + "started. Third for the two changes below.", "", - "The digest was rebaselined once more when crates/support/methods/guest/Cargo.lock was", - "repaired: it was one line behind its manifests (e3-support-types gained alloy-primitives in", - "02ebe458), so 'cargo metadata --locked' refused the workspace and the reproducible build", - "stopped before it started. The lockfile is a guest input, so repairing it moved the digest.", + "1. The guest pin moved from c2097da6 to 5b2ca661. The old pin predated every fix to the code", + " the guest compiles, among them 5213e23d, which derives the guest input root from the", + " processed ciphertexts. The rationale in crates/support/Cargo.toml has the details.", "", - "A rebuild also needs the guest to read the fixed compute-provider. The guest reads", - "e3-compute-provider through a git pin (crates/support/Cargo.toml and", - "crates/support/methods/guest/Cargo.toml), so a change to crates/compute-provider does not", - "reach the guest until that pin moves to a pushed commit. The procedure is in", - "crates/support/README.md." + "2. crates/support/methods/build.rs now takes the guest builder image tag from ARG", + " RISC0_TOOLCHAIN in crates/support/Dockerfile. risc0-build does not read that Dockerfile; it", + " generates its own and, left alone, used its compiled-in default of r0.1.88.0, carrying rustc", + " 1.88. The guest's dependency tree pins fhe.rs at an MSRV of 1.91.1, so the guest could not", + " compile at all, while check-image-id.sh compared the Dockerfile against rust-toolchain.toml", + " and found them in agreement. That check was asserting a toolchain the ELF build never got.", + "", + "The rebuild still does not complete, and the remaining failure is not understood. With the", + "toolchain corrected the build reaches fhe 0.2.1, whose build script reports 'protoc failed:'", + "with no diagnostic. No protoc exists anywhere in the builder image and PROTOC is unset, so", + "fhe's own is_protoc_available guard should have skipped proto compilation entirely. It did not.", + "The attempts so far ran the linux/amd64 builder image emulated on arm64, which is the first", + "thing to rule out: run .github/workflows/rebuild-guest-image-id.yml, which does the same", + "rebuild on a native amd64 runner and uploads the regenerated ImageID.sol and this stamp.", + "", + "Until that succeeds, nothing ties the image ID the deployed verifier enforces to the guest", + "source in this tree. Note also that CRISP does not deploy this image ID: it deploys the one in", + "examples/CRISP/.interfold/generated/contracts/ImageID.sol, built from its own e3-user-program,", + "which this script does not check and which is older still." ] } From 14a6ac29e1602251d37a4f4d02191ca65db8f187 Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Tue, 18 Aug 2026 15:24:34 +0100 Subject: [PATCH 20/30] chore: sort out crisp publishing --- .../packages/crisp-contracts/package.json | 6 +- .../CRISP/packages/crisp-sdk/package.json | 6 +- .../packages/crisp-zk-inputs/package.json | 2 +- examples/CRISP/scripts/publish.ts | 107 +++++++++++++++--- 4 files changed, 94 insertions(+), 27 deletions(-) diff --git a/examples/CRISP/packages/crisp-contracts/package.json b/examples/CRISP/packages/crisp-contracts/package.json index abe68e3ade..e7a94f1a9f 100644 --- a/examples/CRISP/packages/crisp-contracts/package.json +++ b/examples/CRISP/packages/crisp-contracts/package.json @@ -1,6 +1,6 @@ { "name": "@crisp-e3/contracts", - "version": "0.17.0", + "version": "0.18.0-insecure.0", "type": "module", "files": [ "contracts", @@ -44,9 +44,7 @@ "verify": "hardhat run deploy/verify.ts", "updateSubmissionWindow": "hardhat ciphernode:window", "check:presets": "node ../../scripts/check-presets.mjs", - "prepublishOnly": "pnpm check:presets", - "publish:testing": "CRISP_CHANNEL=testing npm publish --tag testing", - "publish:prod": "CRISP_CHANNEL=latest npm publish --tag latest" + "prepublishOnly": "pnpm check:presets" }, "dependencies": { "@interfold/contracts": "workspace:*", diff --git a/examples/CRISP/packages/crisp-sdk/package.json b/examples/CRISP/packages/crisp-sdk/package.json index e224e2910e..976eabe56c 100644 --- a/examples/CRISP/packages/crisp-sdk/package.json +++ b/examples/CRISP/packages/crisp-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@crisp-e3/sdk", - "version": "0.17.0", + "version": "0.18.0-insecure.0", "type": "module", "author": { "name": "gnosisguild", @@ -49,9 +49,7 @@ "check:presets": "node ../../scripts/check-presets.mjs", "prepublishOnly": "pnpm check:presets", "build:testing": "pnpm build:wasm && CRISP_PRESET=insecure-512 tsup", - "build:prod": "pnpm build:wasm && CRISP_PRESET=secure-8192 tsup", - "publish:testing": "pnpm build:testing && CRISP_CHANNEL=testing npm publish --tag testing", - "publish:prod": "pnpm build:prod && CRISP_CHANNEL=latest npm publish --tag latest" + "build:prod": "pnpm build:wasm && CRISP_PRESET=secure-8192 tsup" }, "publishConfig": { "access": "public" diff --git a/examples/CRISP/packages/crisp-zk-inputs/package.json b/examples/CRISP/packages/crisp-zk-inputs/package.json index 93cb4e742a..2b81a12d38 100644 --- a/examples/CRISP/packages/crisp-zk-inputs/package.json +++ b/examples/CRISP/packages/crisp-zk-inputs/package.json @@ -2,7 +2,7 @@ "name": "@crisp-e3/zk-inputs", "type": "module", "description": "Core logic to pre-compute CRISP ZK inputs (WASM/JavaScript bindings).", - "version": "0.17.0", + "version": "0.18.0-insecure.0", "license": "LGPL-3.0-only", "repository": { "type": "git", diff --git a/examples/CRISP/scripts/publish.ts b/examples/CRISP/scripts/publish.ts index 4a439502c3..e55c746f76 100644 --- a/examples/CRISP/scripts/publish.ts +++ b/examples/CRISP/scripts/publish.ts @@ -18,11 +18,30 @@ interface PackageJson { version: string } +/** + * Release channels, split by BFV preset. + * + * The SDK inlines the compiled circuit and the contracts package ships the verifier generated from + * that same circuit's verification key, so a channel that mixes presets produces a round which + * rejects every ballot — and it fails at on-chain verification, not anywhere a test would catch it. + * Each channel therefore carries exactly one preset, and the preset decides the build. + * + * Testing versions carry a prerelease identifier so npm keeps them out of ordinary ranges: a + * consumer on `^0.18.0` can never drift onto a testing build through an update. + */ +const CHANNELS = { + testing: { tag: 'testing', preset: 'insecure-512', prerelease: true }, + prod: { tag: 'latest', preset: 'secure-8192', prerelease: false }, +} as const + +type Channel = keyof typeof CHANNELS + interface PublishOptions { skipGit?: boolean dryRun?: boolean - tag?: string // npm dist-tag (e.g., 'latest', 'beta', 'next') + tag?: string // npm dist-tag override; defaults to the channel's tag noVerify?: boolean + channel?: Channel } class CRISPPublisher { @@ -31,10 +50,13 @@ class CRISPPublisher { private crispDir: string private options: PublishOptions + private channel: Channel + constructor(newVersion: string, options: PublishOptions = {}) { this.newVersion = newVersion this.crispDir = resolve(__dirname, '..') this.options = options + this.channel = options.channel ?? 'testing' } /** @@ -159,14 +181,18 @@ class CRISPPublisher { const packageJsonPath = join(pkgPath, 'package.json') const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8')) - if (packageJson.scripts && packageJson.scripts.build) { - execSync('pnpm build', { + // The SDK bundles the preset-bound circuits, so it builds per channel. Everything else is + // preset-free and builds once. + const buildScript = pkg.path === 'packages/crisp-sdk' ? `build:${this.channel}` : 'build' + if (packageJson.scripts && packageJson.scripts[buildScript]) { + execSync(`pnpm ${buildScript}`, { cwd: pkgPath, stdio: 'inherit', + env: { ...process.env, CRISP_PRESET: CHANNELS[this.channel].preset }, }) console.log(` ✓ ${pkg.name} built successfully`) } else { - console.log(` ⚠️ ${pkg.name} has no build script, skipping`) + console.log(` ⚠️ ${pkg.name} has no ${buildScript} script, skipping`) } } catch (error) { console.error(` ❌ Failed to build ${pkg.name}`) @@ -181,14 +207,17 @@ class CRISPPublisher { private async publishPackages(): Promise { console.log('\n📤 Publishing packages to npm...') + // Dependency order. `@crisp-e3/sdk` depends on `@crisp-e3/zk-inputs`, and pnpm rewrites that + // workspace dependency to a concrete version at pack time, so the version it names has to be on + // the registry already — updateClientLockFile() installs from the registry right after this. const packagesToPublish = [ + { path: 'packages/crisp-zk-inputs', name: '@crisp-e3/zk-inputs' }, { path: 'packages/crisp-sdk', name: '@crisp-e3/sdk' }, { path: 'packages/crisp-contracts', name: '@crisp-e3/contracts' }, - { path: 'packages/crisp-zk-inputs', name: '@crisp-e3/zk-inputs' }, ] - const tag = this.options.tag || (this.newVersion.includes('-') ? 'next' : 'latest') - console.log(` Using npm tag: ${tag}`) + const tag = this.options.tag || CHANNELS[this.channel].tag + console.log(` Channel: ${this.channel} (${CHANNELS[this.channel].preset}), npm tag: ${tag}`) for (const pkg of packagesToPublish) { try { @@ -199,6 +228,9 @@ class CRISPPublisher { execSync(`pnpm publish --access public --tag ${tag} --no-git-checks`, { cwd: pkgPath, stdio: 'inherit', + // `prepublishOnly` runs check-presets.mjs, which refuses to publish a channel whose + // artifacts carry the wrong preset. npm gives it no way to see --tag, so it reads this. + env: { ...process.env, CRISP_CHANNEL: tag }, }) console.log(` ✓ ${pkg.name}@${this.newVersion} published successfully`) @@ -375,6 +407,20 @@ class CRISPPublisher { if (!semverRegex.test(version)) { throw new Error(`Invalid version format: ${version}. Expected format: x.y.z[-prerelease][+build]`) } + + // The prerelease identifier is what keeps the channels apart. npm excludes prereleases from + // ordinary ranges, so a consumer on `^0.18.0` cannot drift onto a testing build through an + // update — but only if testing versions actually carry one, and prod versions do not. + const isPrerelease = version.includes('-') + const expected = CHANNELS[this.channel].prerelease + + if (isPrerelease !== expected) { + throw new Error( + expected + ? `Channel "testing" needs a prerelease version so it stays out of ordinary semver ranges; got ${version}. Try ${version}-insecure.0` + : `Channel "prod" needs a plain release version; got the prerelease ${version}. Publish prereleases with --channel testing.`, + ) + } } /** @@ -473,6 +519,13 @@ async function main() { options.dryRun = true } else if (arg === '--tag') { options.tag = args[++i] + } else if (arg === '--channel') { + const value = args[++i] + if (value !== 'testing' && value !== 'prod') { + console.error(`❌ Error: --channel must be "testing" or "prod"; got "${value}"`) + process.exit(1) + } + options.channel = value } else if (arg === '--no-verify') { options.noVerify = true } else if (!arg.startsWith('-')) { @@ -486,6 +539,14 @@ async function main() { process.exit(1) } + // No default. The channel decides which preset is compiled into what gets published, and picking + // one silently is how a round ends up with an SDK and a verifier that disagree. + if (!options.channel) { + console.error('❌ Error: --channel is required (testing | prod)') + showHelp() + process.exit(1) + } + const publisher = new CRISPPublisher(version, options) await publisher.publishAll() } @@ -501,34 +562,44 @@ Arguments: version The new version (e.g., 1.0.0, 1.0.0-beta.1) Options: - --tag npm dist-tag (default: 'latest' for releases, 'next' for pre-releases) + --channel Release channel: 'testing' (insecure-512) or 'prod' (secure-8192). Required. + --tag npm dist-tag override (default: the channel's tag) --skip-git Skip all git operations (no commit) --dry-run Show what would be done without making changes --help, -h Show this help message -Examples: - # Publish stable release - tsx scripts/publish.ts 1.0.0 +Channels: + testing npm tag 'testing', insecure-512 circuits, prerelease versions only + prod npm tag 'latest', secure-8192 circuits, plain release versions only + + Each channel carries exactly one preset. The SDK inlines the compiled circuit and the contracts + package ships the verifier generated from that circuit's verification key, so mixing them + produces a round that rejects every ballot, and it fails on chain rather than in any test. - # Publish beta release - tsx scripts/publish.ts 1.0.0-beta.1 + Testing versions must carry a prerelease identifier. npm keeps prereleases out of ordinary + ranges, so a consumer on '^0.18.0' cannot drift onto a testing build through an update. + +Examples: + # Publish to the testing channel (testnets, demos) + tsx scripts/publish.ts --channel testing 0.18.0-insecure.0 - # Publish with custom tag - tsx scripts/publish.ts --tag canary 1.0.0-canary.1 + # Publish to production + tsx scripts/publish.ts --channel prod 0.18.0 # Test without publishing - tsx scripts/publish.ts --dry-run 1.0.0 + tsx scripts/publish.ts --channel testing --dry-run 0.18.0-insecure.0 # Publish without committing - tsx scripts/publish.ts --skip-git 1.0.0 + tsx scripts/publish.ts --channel testing --skip-git 0.18.0-insecure.0 The script will: 1. Check for uncommitted changes 2. Update versions in @crisp-e3/sdk, @crisp-e3/contracts, @crisp-e3/zk-inputs + 2b. Build the SDK against the channel's preset 3. Update @crisp-e3/sdk dependency in client/package.json 4. Update pnpm-lock.yaml 5. Build packages - 6. Publish to npm + 6. Publish to npm in dependency order (zk-inputs, then sdk, then contracts) 7. Update the standalone client/pnpm-lock.yaml 8. Commit changes (no tags) From 93821d36cdc29480c13d5536a34055a180f479be Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Tue, 18 Aug 2026 17:38:23 +0100 Subject: [PATCH 21/30] chore: review fixes --- crates/program-server/src/lib.rs | 84 +++++++ crates/support/app/src/main.rs | 224 +++++++++++++++++- crates/support/host/src/bin/profile_risc0.rs | 3 +- crates/support/host/src/lib.rs | 62 +++-- .../support/methods/guest/src/bin/program.rs | 6 +- crates/support/program/src/lib.rs | 16 +- crates/support/types/src/lib.rs | 13 + .../contracts/CRISPProgram.sol | 25 +- .../CRISPOnchainVerifier.sol | 0 .../{insecure-512 => }/CRISPVerifier.sol | 0 .../packages/crisp-contracts/deploy/crisp.ts | 1 - .../packages/crisp-contracts/package.json | 6 +- .../crisp-contracts/scripts/verifiers.ts | 71 +----- examples/CRISP/scripts/check-presets.mjs | 35 ++- examples/CRISP/scripts/compile_circuits.sh | 17 +- 15 files changed, 455 insertions(+), 108 deletions(-) rename examples/CRISP/packages/crisp-contracts/contracts/verifiers/{insecure-512 => }/CRISPOnchainVerifier.sol (100%) rename examples/CRISP/packages/crisp-contracts/contracts/verifiers/{insecure-512 => }/CRISPVerifier.sol (100%) diff --git a/crates/program-server/src/lib.rs b/crates/program-server/src/lib.rs index 856d48dea7..7cefff2ee6 100644 --- a/crates/program-server/src/lib.rs +++ b/crates/program-server/src/lib.rs @@ -227,6 +227,88 @@ pub struct AppConfig { jobs: Arc, } +/// Whether callbacks to addresses only reachable from inside the deployment are permitted. +/// +/// Off by default. Local development legitimately posts to a host on the same machine, so there has +/// to be a way in, but it must be a deliberate one rather than the default. +fn allow_private_callbacks() -> bool { + matches!( + std::env::var("ALLOW_PRIVATE_CALLBACKS") + .unwrap_or_default() + .as_str(), + "1" | "true" | "TRUE" | "yes" | "YES" + ) +} + +/// Rejects a callback host that is not reachable from the public internet. +/// +/// This endpoint takes a URL from the network and then makes a request to it, which is a +/// server-side request forgery primitive: without this, a caller can aim the callback at a cloud +/// metadata service (169.254.169.254), at loopback, or at anything inside the private network the +/// server sits in, and read the effect through the response or the side effects. +/// +/// Literal addresses are checked exhaustively. A hostname is checked by name only — a name that +/// resolves to a private address still passes, and DNS rebinding remains possible. Closing that +/// needs resolution at connect time and a pinned socket; this guard is the cheap part, not the +/// whole answer. +fn ensure_public_callback_host(url: &reqwest::Url) -> Result<()> { + use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; + + if allow_private_callbacks() { + return Ok(()); + } + + fn v4_is_internal(ip: Ipv4Addr) -> bool { + ip.is_private() + || ip.is_loopback() + || ip.is_link_local() + || ip.is_broadcast() + || ip.is_documentation() + || ip.is_unspecified() + || ip.octets()[0] == 0 + // 100.64.0.0/10, carrier-grade NAT. + || (ip.octets()[0] == 100 && (64..128).contains(&ip.octets()[1])) + } + + fn v6_is_internal(ip: Ipv6Addr) -> bool { + if let Some(mapped) = ip.to_ipv4_mapped() { + return v4_is_internal(mapped); + } + ip.is_loopback() + || ip.is_unspecified() + // fc00::/7 unique-local, fe80::/10 link-local. + || (ip.segments()[0] & 0xfe00) == 0xfc00 + || (ip.segments()[0] & 0xffc0) == 0xfe80 + } + + let internal = match url.host_str() { + Some(host) => { + // `host_str` keeps the brackets on an IPv6 literal, which `IpAddr` will not parse. + let bare = host.trim_start_matches('[').trim_end_matches(']'); + match bare.parse::() { + Ok(IpAddr::V4(ip)) => v4_is_internal(ip), + Ok(IpAddr::V6(ip)) => v6_is_internal(ip), + Err(_) => { + let lowered = bare.to_ascii_lowercase(); + lowered == "localhost" + || lowered.ends_with(".localhost") + || lowered.ends_with(".local") + || lowered.ends_with(".internal") + } + } + } + None => true, + }; + + anyhow::ensure!( + !internal, + "callback URL must not point at a private, loopback or link-local address; \ + set ALLOW_PRIVATE_CALLBACKS=1 to permit it for local development" + ); + + Ok(()) +} + fn parse_http_url(value: &str, label: &str) -> Result { let url = reqwest::Url::parse(value).with_context(|| format!("invalid {label}"))?; anyhow::ensure!( @@ -257,6 +339,8 @@ fn validated_callback_url( callback.fragment().is_none(), "callback URL must not contain a fragment" ); + // After the rewrite, so the host actually dialled is the one checked. + ensure_public_callback_host(&callback)?; Ok(callback) } diff --git a/crates/support/app/src/main.rs b/crates/support/app/src/main.rs index 7e1ac0b6f6..b8d72b7053 100644 --- a/crates/support/app/src/main.rs +++ b/crates/support/app/src/main.rs @@ -6,6 +6,9 @@ use actix_web::{middleware::Logger, web, App, HttpResponse, HttpServer, Result as ActixResult}; use e3_compute_provider::FHEInputs; +use e3_compute_provider::PublishedData; +use std::sync::{Arc, OnceLock}; +use tokio::sync::{OwnedSemaphorePermit, Semaphore}; use e3_support_types::{ComputeDomain, ComputeRequest, WebhookPayload}; use serde::Serialize; @@ -66,11 +69,13 @@ async fn call_webhook(callback_url: &str, payload: &WebhookPayload) -> anyhow::R async fn run_computation_async( fhe_inputs: FHEInputs, domain: ComputeDomain, + published: Vec, ) -> anyhow::Result<(Vec, Vec, Vec)> { println!("running computation..."); - let result = - tokio::task::spawn_blocking(move || e3_support_host::run_compute(fhe_inputs, domain)) - .await?; + let result = tokio::task::spawn_blocking(move || { + e3_support_host::run_compute(fhe_inputs, domain, published) + }) + .await?; match result { Ok((boundless_output, ciphertext)) => match boundless_output { @@ -107,8 +112,13 @@ async fn process_computation_background( callback_url: &str, fhe_inputs: FHEInputs, domain: ComputeDomain, + published: Vec, + // Held for the whole computation and dropped with it, which is what frees the slot. Taking it + // by value rather than borrowing is deliberate: the task is detached, so nothing else is alive + // to own it. + _permit: OwnedSemaphorePermit, ) -> anyhow::Result<()> { - match run_computation_async(fhe_inputs, domain).await { + match run_computation_async(fhe_inputs, domain, published).await { Ok((proof, ciphertext, ciphertext_commitment)) => { println!("computation finished!"); println!("handling webhook delivery..."); @@ -137,6 +147,198 @@ async fn process_computation_background( } } +/// Whether callbacks to addresses only reachable from inside the deployment are permitted. +/// +/// Off by default. Local development legitimately posts to a host on the same machine, so there has +/// to be a way in, but it must be a deliberate one rather than the default. +fn allow_private_callbacks() -> bool { + matches!( + std::env::var("ALLOW_PRIVATE_CALLBACKS") + .unwrap_or_default() + .as_str(), + "1" | "true" | "TRUE" | "yes" | "YES" + ) +} + +/// Validates a caller-supplied callback URL before this server makes a request to it. +/// +/// Without this, `callback_url` is a server-side request forgery primitive: the caller chooses a +/// destination and this server dials it, which reaches cloud metadata (169.254.169.254), loopback, +/// and anything else inside the network the server sits in. +/// +/// Literal addresses are checked exhaustively. A hostname is checked by name only, so a name that +/// resolves to a private address still passes and DNS rebinding remains possible — closing that +/// needs resolution at connect time and a pinned socket. +fn validate_callback_url(raw: &str) -> ActixResult<()> { + use std::net::{IpAddr, Ipv4Addr, Ipv6Addr}; + + let url = reqwest::Url::parse(raw) + .map_err(|e| actix_web::error::ErrorBadRequest(format!("invalid callback_url: {e}")))?; + + if !matches!(url.scheme(), "http" | "https") { + return Err(actix_web::error::ErrorBadRequest( + "callback_url must use http or https", + )); + } + if !url.username().is_empty() || url.password().is_some() { + return Err(actix_web::error::ErrorBadRequest( + "callback_url must not contain credentials", + )); + } + + if allow_private_callbacks() { + return Ok(()); + } + + fn v4_is_internal(ip: Ipv4Addr) -> bool { + ip.is_private() + || ip.is_loopback() + || ip.is_link_local() + || ip.is_broadcast() + || ip.is_documentation() + || ip.is_unspecified() + || ip.octets()[0] == 0 + || (ip.octets()[0] == 100 && (64..128).contains(&ip.octets()[1])) + } + + fn v6_is_internal(ip: Ipv6Addr) -> bool { + if let Some(mapped) = ip.to_ipv4_mapped() { + return v4_is_internal(mapped); + } + ip.is_loopback() + || ip.is_unspecified() + || (ip.segments()[0] & 0xfe00) == 0xfc00 + || (ip.segments()[0] & 0xffc0) == 0xfe80 + } + + let internal = match url.host_str() { + Some(host) => { + let bare = host.trim_start_matches('[').trim_end_matches(']'); + match bare.parse::() { + Ok(IpAddr::V4(ip)) => v4_is_internal(ip), + Ok(IpAddr::V6(ip)) => v6_is_internal(ip), + Err(_) => { + let lowered = bare.to_ascii_lowercase(); + lowered == "localhost" + || lowered.ends_with(".localhost") + || lowered.ends_with(".local") + || lowered.ends_with(".internal") + } + } + } + None => true, + }; + + if internal { + return Err(actix_web::error::ErrorBadRequest( + "callback_url must not point at a private, loopback or link-local address; \ + set ALLOW_PRIVATE_CALLBACKS=1 to permit it for local development", + )); + } + + Ok(()) +} + +/// How many computations may be in flight at once. +/// +/// Proving is the most expensive thing this process does, and the handler previously spawned one +/// detached task per request with nothing bounding them: a caller could open as many as they liked +/// and exhaust CPU, memory, blocking workers and Boundless submissions together. One at a time by +/// default, because a single proof already saturates the machine. +fn max_concurrent_computations() -> usize { + std::env::var("MAX_CONCURRENT_COMPUTATIONS") + .ok() + .and_then(|value| value.parse().ok()) + .filter(|value| *value > 0) + .unwrap_or(1) +} + +/// Permits for in-flight computations, sized once on first use. +static COMPUTE_SLOTS: OnceLock> = OnceLock::new(); + +fn compute_slots() -> &'static Arc { + COMPUTE_SLOTS.get_or_init(|| Arc::new(Semaphore::new(max_concurrent_computations()))) +} + +/// Width of the slot an E3 program packs into its published metadata, in bytes. +/// +/// Mirrors `abi.encodePacked(address, uint40)` — the convention the starter contract uses and the +/// one `crates/program-server` implements. Duplicated rather than shared because this workspace +/// builds standalone, outside the root workspace, so it cannot depend on that crate. +const SLOT_BYTES: usize = 20; +/// Width of the parent index in the same packing. +const PARENT_BYTES: usize = 5; +/// Largest parent index that fits `PARENT_BYTES`. +const MAX_PARENT: u64 = (1u64 << (8 * PARENT_BYTES as u64)) - 1; + +/// Rebuilds what the E3 program published alongside each ciphertext. +/// +/// Both widths are checked rather than coerced. This endpoint takes JSON from the network and the +/// packing is fixed-width: a slot of the wrong length shifts every byte after it, and a parent +/// above `uint40` would be truncated into a different, valid-looking index. Either produces +/// metadata the E3 program never published, and the only symptom is an input root the guest +/// derives and the contract rejects. +fn published_from(req: &ComputeRequest) -> ActixResult> { + if req.input_commitments.is_empty() && req.input_slots.is_empty() && req.input_parents.is_empty() + { + return Ok(Vec::new()); + } + + if req.input_commitments.len() != req.ciphertext_inputs.len() { + return Err(actix_web::error::ErrorBadRequest( + "input_commitments must have one entry per ciphertext input", + )); + } + if !req.input_slots.is_empty() && req.input_slots.len() != req.input_commitments.len() { + return Err(actix_web::error::ErrorBadRequest( + "input_slots must have one entry per ciphertext input", + )); + } + if req.input_slots.len() != req.input_parents.len() { + return Err(actix_web::error::ErrorBadRequest( + "input_slots and input_parents must have the same length", + )); + } + + req.input_commitments + .iter() + .enumerate() + .map(|(index, hex_commitment)| { + let bytes = hex::decode(hex_commitment.trim_start_matches("0x")) + .map_err(|e| actix_web::error::ErrorBadRequest(format!("bad commitment: {e}")))?; + let commitment: [u8; 32] = bytes.try_into().map_err(|_| { + actix_web::error::ErrorBadRequest("each commitment must be 32 bytes") + })?; + + let mut metadata = Vec::new(); + if let Some(hex_slot) = req.input_slots.get(index) { + let slot = hex::decode(hex_slot.trim_start_matches("0x")) + .map_err(|e| actix_web::error::ErrorBadRequest(format!("bad slot: {e}")))?; + if slot.len() != SLOT_BYTES { + return Err(actix_web::error::ErrorBadRequest(format!( + "each slot must be {SLOT_BYTES} bytes, got {}", + slot.len() + ))); + } + metadata.extend_from_slice(&slot); + + let parent = req.input_parents.get(index).copied().unwrap_or_default(); + if parent > MAX_PARENT { + return Err(actix_web::error::ErrorBadRequest(format!( + "each parent must fit in {PARENT_BYTES} bytes (at most {MAX_PARENT}), got {parent}" + ))); + } + metadata.extend_from_slice(&parent.to_be_bytes()[8 - PARENT_BYTES..]); + } + + Ok(PublishedData { + commitment: Some(commitment), + metadata, + }) + }) + .collect() +} + async fn handle_compute(req: web::Json) -> ActixResult { println!("Processing computation..."); let e3_id = req @@ -147,10 +349,22 @@ async fn handle_compute(req: web::Json) -> ActixResult) -> ActixResult { println!("Success! RISC0 computation completed"); println!("Output result: {:?}", output.result); diff --git a/crates/support/host/src/lib.rs b/crates/support/host/src/lib.rs index 62b8efdd4d..03fce59644 100644 --- a/crates/support/host/src/lib.rs +++ b/crates/support/host/src/lib.rs @@ -19,9 +19,11 @@ use boundless_market::{ storage::storage_provider_from_env, Client, }; -use e3_compute_provider::{ComputeInput, ComputeManager, ComputeProvider, FHEInputs}; +use e3_compute_provider::{ + ComputeInput, ComputeManager, ComputeProvider, FHEInputs, InputPolicy, PublishedData, +}; use e3_support_types::{ComputeDomain, ComputeGuestInput, ComputeJournal}; -use e3_user_program::fhe_processor; +use e3_user_program::{fhe_processor, policy}; use methods::PROGRAM_ELF; use risc0_ethereum_contracts::groth16; use risc0_zkvm::{default_prover, ExecutorEnv, ProverOpts, VerifierContext}; @@ -51,16 +53,26 @@ pub enum ComputeError { Other(String), } +/// The compute provider has its own error type; this one is the host's public surface. +/// +/// Flattened to a string rather than re-exported so the host's callers do not have to depend on +/// the provider crate to match on a failure. +impl From for ComputeError { + fn from(error: e3_compute_provider::ComputeError) -> Self { + ComputeError::Other(error.to_string()) + } +} + impl ComputeProvider for BoundlessProvider { type Output = BoundlessOutput; - fn prove(&self, input: &ComputeInput) -> Self::Output { + fn prove(&self, input: &ComputeInput, policy: InputPolicy) -> Self::Output { let is_dev_mode = std::env::var("RISC0_DEV_MODE").unwrap_or_else(|_| "0".to_string()) == "1"; if is_dev_mode { println!("Dev mode: Using fake proof"); - fake_prove(input, &self.domain) + fake_prove(input, &self.domain, policy) } else { println!("Using Boundless for proving"); tokio::runtime::Handle::current().block_on(boundless_prove(input, &self.domain)) @@ -81,11 +93,21 @@ fn encode_journal(result: &ComputeJournal) -> Result, Error> { } /// Dev mode: return fake proof without executing -fn fake_prove(input: &ComputeInput, domain: &ComputeDomain) -> BoundlessOutput { +fn fake_prove( + input: &ComputeInput, + domain: &ComputeDomain, + policy: InputPolicy, +) -> BoundlessOutput { println!("Generating fake proof for dev mode"); - // Execute the program with the input - let result = match ComputeJournal::new(domain.clone(), input.process(fhe_processor)) { + // Execute the program with the input. The policy is the caller's, so dev mode computes the same + // result the guest would rather than silently falling back to the default. + let processed = match input.process(fhe_processor, policy) { + Ok(processed) => processed, + Err(error) => return to_output_error(Error::from(error)), + }; + + let result = match ComputeJournal::new(domain.clone(), processed) { Ok(result) => result, Err(error) => return to_output_error(error), }; @@ -378,7 +400,9 @@ pub struct Risc0Output { impl ComputeProvider for Risc0Provider { type Output = Risc0Output; - fn prove(&self, input: &ComputeInput) -> Self::Output { + fn prove(&self, input: &ComputeInput, _policy: InputPolicy) -> Self::Output { + // The policy is not forwarded: the guest calls the user program's own `policy()`, so + // passing one here would let host and guest disagree about the leaves and the selection. let guest_input = ComputeGuestInput { domain: self.domain.clone(), input: input.clone(), @@ -425,21 +449,24 @@ impl ComputeProvider for Risc0Provider { pub fn run_compute( params: FHEInputs, domain: ComputeDomain, + published: Vec, ) -> std::result::Result<(BoundlessOutput, Vec), ComputeError> { let boundless_provider = BoundlessProvider { domain }; - let mut provider = ComputeManager::new( + // `with_published` rather than `new`: the policy reads this to rebuild the leaves the E3 + // program's contract built. Passing an empty vec is the same as `new`, which is what a program + // using the default policy wants. + let mut provider = ComputeManager::with_published( boundless_provider, params.clone(), + published, fhe_processor, - false, - None, ); // Start timer let start_time = Instant::now(); - let output = provider.start(); + let output = provider.start(policy())?; // Capture end time and calculate the duration let elapsed_time = start_time.elapsed(); @@ -454,24 +481,23 @@ pub fn run_compute( ); // Check if the output indicates failure - match output.0 { + match &output.0 { BoundlessOutput::Success { .. } => Ok(output), - BoundlessOutput::Error { error } => Err(ComputeError::BoundlessFailed(error)), + BoundlessOutput::Error { error } => Err(ComputeError::BoundlessFailed(error.clone())), } } pub fn run_risc0_compute( params: FHEInputs, domain: ComputeDomain, + published: Vec, ) -> std::result::Result<(Risc0Output, Vec), ComputeError> { let risc0_provider = Risc0Provider { domain }; let mut provider = - ComputeManager::new(risc0_provider, params.clone(), fhe_processor, false, None); - - let output = provider.start(); + ComputeManager::with_published(risc0_provider, params.clone(), published, fhe_processor); - Ok(output) + Ok(provider.start(policy())?) } pub fn encode_compute_proof( diff --git a/crates/support/methods/guest/src/bin/program.rs b/crates/support/methods/guest/src/bin/program.rs index 96576233f0..328d3080ee 100644 --- a/crates/support/methods/guest/src/bin/program.rs +++ b/crates/support/methods/guest/src/bin/program.rs @@ -7,7 +7,7 @@ use anyhow::{Error, Result}; use bincode::deserialize; use e3_support_types::{ComputeGuestInput, ComputeJournal}; -use e3_user_program::fhe_processor; +use e3_user_program::{fhe_processor, policy}; use risc0_zkvm::guest::env; use std::io::Read; @@ -20,7 +20,9 @@ fn main() { env::stdin().read_to_end(&mut input_slice).unwrap(); let input: ComputeGuestInput = deserialize(&decode_input(&input_slice).unwrap()).unwrap(); - let result = input.input.process(fhe_processor); + // The policy comes from the user program, not from a default here: it decides the input-tree + // leaf and which inputs count, and both have to agree with what the E3 program's contract did. + let result = input.input.process(fhe_processor, policy()).unwrap(); let journal = ComputeJournal::new(input.domain, result).unwrap(); env::commit(&journal); diff --git a/crates/support/program/src/lib.rs b/crates/support/program/src/lib.rs index 839a495e5d..ac9502e8f7 100644 --- a/crates/support/program/src/lib.rs +++ b/crates/support/program/src/lib.rs @@ -4,7 +4,7 @@ // without even the implied warranty of MERCHANTABILITY // or FITNESS FOR A PARTICULAR PURPOSE. -use e3_compute_provider::FHEInputs; +use e3_compute_provider::{FHEInputs, InputPolicy}; use e3_fhe_params::decode_bfv_params_arc; use fhe::bfv::Ciphertext; use fhe_traits::{DeserializeParametrized, Serialize}; @@ -21,3 +21,17 @@ pub fn fhe_processor(fhe_inputs: &FHEInputs) -> Vec { sum.to_bytes() } + +/// How the Secure Process builds input-tree leaves and chooses which inputs to compute over. +/// +/// The default is the behaviour every E3 program had before policies existed: the leaf is the +/// ciphertext's own commitment, and every input is computed over. It is the right starting point +/// for a program whose contract inserts the commitment directly, as this template's does. +/// +/// A program that publishes more than the ciphertext — a slot, a parent, anything the contract +/// folds into its leaf — must return a policy that rebuilds the *same* leaf here, or the root the +/// guest derives will not match the one the contract built and the round cannot publish. See +/// CRISP's `policy()` for a worked example. +pub fn policy() -> InputPolicy { + InputPolicy::default() +} diff --git a/crates/support/types/src/lib.rs b/crates/support/types/src/lib.rs index 19665921a2..eb291950cc 100644 --- a/crates/support/types/src/lib.rs +++ b/crates/support/types/src/lib.rs @@ -125,6 +125,19 @@ pub struct ComputeRequest { #[serde(deserialize_with = "deserialize_hex_tuple")] pub ciphertext_inputs: Vec<(Vec, u64)>, pub callback_url: Option, + + // What the E3 program published alongside each ciphertext. A program whose contract folds more + // than the ciphertext into its input-tree leaf needs these to rebuild the same leaf; without + // them the guest derives a different root and the proof cannot be published. Optional, because + // a program using the default policy publishes none of it — but silently dropping them when + // they *are* sent is the failure this exists to prevent, so the handler rejects a partial set + // rather than computing a root the contract will reject. + #[serde(default)] + pub input_commitments: Vec, + #[serde(default)] + pub input_slots: Vec, + #[serde(default)] + pub input_parents: Vec, } /// Webhook payload for CRISP and `E3ProgramServer`. diff --git a/examples/CRISP/packages/crisp-contracts/contracts/CRISPProgram.sol b/examples/CRISP/packages/crisp-contracts/contracts/CRISPProgram.sol index c5602f3efd..2b0651f7ef 100644 --- a/examples/CRISP/packages/crisp-contracts/contracts/CRISPProgram.sol +++ b/examples/CRISP/packages/crisp-contracts/contracts/CRISPProgram.sol @@ -76,6 +76,18 @@ contract CRISPProgram is IE3Program, Ownable, EIP712 { /// input is provably its owner voting again. With the history, an entry like that is simply /// never extended: the next input names the same parent, and masking continues. mapping(address slot => mapping(uint40 index => bytes32 commitment)) inputCommitment; + /// @notice Leaves already appended to this round's input tree. + /// @dev A replay guard, not a uniqueness requirement on ballots. The proof constrains the + /// commitment, not who submits it, so anyone who observes a published input can resubmit the + /// identical calldata: the proof still verifies and {_processVote} appends again. The tally + /// does not change — the replay names the same parent as the original, which is no longer the + /// head, so the Secure Process drops it — but the tree is fixed-depth, so enough replays reach + /// capacity and every later input reverts, denying the round. + /// + /// Keyed by the leaf rather than the proof because the leaf is exactly what an append adds. + /// Two genuinely distinct inputs differ in bytes, commitment, slot or parent, so they differ + /// here; only a byte-identical resubmission collides. + mapping(uint256 leaf => bool) appendedLeaf; LazyIMTData votes; uint256 numOptions; CreditMode creditMode; @@ -174,6 +186,9 @@ contract CRISPProgram is IE3Program, Ownable, EIP712 { /// @dev Includes an index belonging to another slot, which the per-slot commitment map reads as /// absent. Name no parent instead when there is nothing to extend. error UnknownParentInput(uint40 parentIndex); + + /// @notice Thrown when an input identical to one already published is submitted again. + error InputAlreadyPublished(uint256 leaf); error SlotIsEmpty(); error MerkleRootNotSet(); error InvalidNumOptions(); @@ -745,8 +760,16 @@ contract CRISPProgram is IE3Program, Ownable, EIP712 { // the mask path needs no signature — replace the bytes of a vote that was already counted, // erasing it. Appending leaves the earlier entry in the tree, so the Secure Process can fall // back to it when a later entry is unusable, and nothing is lost. + uint256 leaf = inputLeaf(encryptedVote, encryptedVoteCommitment, slotAddress, parentIndexPlusOne); + + // Refuse a byte-identical resubmission. Without this the tree is a free growth surface for + // anyone replaying a published input, and the round dies at tree capacity rather than at the + // input deadline. + if (round.appendedLeaf[leaf]) revert InputAlreadyPublished(leaf); + round.appendedLeaf[leaf] = true; + voteIndex = round.votes.numberOfLeaves; - round.votes._insert(inputLeaf(encryptedVote, encryptedVoteCommitment, slotAddress, parentIndexPlusOne)); + round.votes._insert(leaf); round.voteSlots[slotAddress] = voteIndex + 1; round.inputCommitment[slotAddress][voteIndex] = encryptedVoteCommitment; diff --git a/examples/CRISP/packages/crisp-contracts/contracts/verifiers/insecure-512/CRISPOnchainVerifier.sol b/examples/CRISP/packages/crisp-contracts/contracts/verifiers/CRISPOnchainVerifier.sol similarity index 100% rename from examples/CRISP/packages/crisp-contracts/contracts/verifiers/insecure-512/CRISPOnchainVerifier.sol rename to examples/CRISP/packages/crisp-contracts/contracts/verifiers/CRISPOnchainVerifier.sol diff --git a/examples/CRISP/packages/crisp-contracts/contracts/verifiers/insecure-512/CRISPVerifier.sol b/examples/CRISP/packages/crisp-contracts/contracts/verifiers/CRISPVerifier.sol similarity index 100% rename from examples/CRISP/packages/crisp-contracts/contracts/verifiers/insecure-512/CRISPVerifier.sol rename to examples/CRISP/packages/crisp-contracts/contracts/verifiers/CRISPVerifier.sol diff --git a/examples/CRISP/packages/crisp-contracts/deploy/crisp.ts b/examples/CRISP/packages/crisp-contracts/deploy/crisp.ts index 8f23046313..5a4faf1c6f 100644 --- a/examples/CRISP/packages/crisp-contracts/deploy/crisp.ts +++ b/examples/CRISP/packages/crisp-contracts/deploy/crisp.ts @@ -74,7 +74,6 @@ export const deployCRISPContracts = async (): Promise => // census mode per preset, so factory lookups have to be fully qualified by file. `verifierNames` // owns that convention and the preset choice — see scripts/verifiers.ts. const merkleVerifier = verifierNames('merkle') - console.log(`Deploying the ${merkleVerifier.preset} verifiers`) const zkTranscriptLib = await ethers.deployContract(merkleVerifier.zkTranscriptLib) await zkTranscriptLib.waitForDeployment() diff --git a/examples/CRISP/packages/crisp-contracts/package.json b/examples/CRISP/packages/crisp-contracts/package.json index e7a94f1a9f..7b14164616 100644 --- a/examples/CRISP/packages/crisp-contracts/package.json +++ b/examples/CRISP/packages/crisp-contracts/package.json @@ -38,9 +38,9 @@ "deploy:contracts:full:mock": "export DEPLOY_INTERFOLD=true USE_MOCKS=true PRINT_ENV_VARS=true && pnpm deploy:contracts", "test": "hardhat test mocha", "check:test-legs": "node scripts/check-test-legs.mjs", - "test:unit": "pnpm check:test-legs && CRISP_PRESET=insecure-512 hardhat test mocha tests/census-mode.test.ts tests/crisp.journal.test.ts tests/input-leaf.test.ts tests/interfold-binding.test.ts tests/tally.decoding.test.ts", - "test:input-tree": "CRISP_PRESET=insecure-512 hardhat test mocha tests/input-tree-e2e.test.ts", - "test:ballots": "CRISP_PRESET=insecure-512 hardhat test mocha tests/crisp.contracts.test.ts tests/onchain-census.test.ts", + "test:unit": "pnpm check:test-legs && hardhat test mocha tests/census-mode.test.ts tests/crisp.journal.test.ts tests/input-leaf.test.ts tests/interfold-binding.test.ts tests/tally.decoding.test.ts", + "test:input-tree": "hardhat test mocha tests/input-tree-e2e.test.ts", + "test:ballots": "hardhat test mocha tests/crisp.contracts.test.ts tests/onchain-census.test.ts", "verify": "hardhat run deploy/verify.ts", "updateSubmissionWindow": "hardhat ciphernode:window", "check:presets": "node ../../scripts/check-presets.mjs", diff --git a/examples/CRISP/packages/crisp-contracts/scripts/verifiers.ts b/examples/CRISP/packages/crisp-contracts/scripts/verifiers.ts index d04aef0902..a29dc83bfa 100644 --- a/examples/CRISP/packages/crisp-contracts/scripts/verifiers.ts +++ b/examples/CRISP/packages/crisp-contracts/scripts/verifiers.ts @@ -6,29 +6,17 @@ // Fully qualified names for the generated Honk verifiers. // -// The verifiers are generated from the compiled circuits, so they exist once per BFV preset and -// live under contracts/verifiers//. With two presets there are four files declaring -// `HonkVerifier`, `ZKTranscriptLib` and `RelationsLib`, so every lookup has to be qualified by -// file — a bare name is ambiguous and hardhat rejects it. +// There is one verifier per census mode, and they are NOT preset-specific. `compile_circuits.sh` +// generates them from the fold circuit's verification key, and the fold circuit takes the inner +// key as an input and checks its hash against either preset's constant — so its own structure +// carries no BFV degree and a single verifier accepts proofs from either preset. Building both +// presets produces byte-identical verifier sources, which is the design working rather than a +// coincidence to rely on. // -// Both the deploy script and the tests resolve names through here, so the preset is chosen in one -// place rather than spelled into a dozen string literals. +// Both files still declare a contract named `HonkVerifier`, so every lookup has to be qualified by +// file. That convention lives here so the deploy script and the tests cannot drift apart. -import { existsSync } from 'node:fs' -import { dirname, resolve } from 'node:path' -import { fileURLToPath } from 'node:url' - -/** BFV parameter sets the circuits can be compiled against. */ -export type CircuitPreset = 'insecure-512' | 'secure-8192' - -export const CIRCUIT_PRESETS: readonly CircuitPreset[] = ['insecure-512', 'secure-8192'] - -/** - * Which census a round establishes eligibility with. - * - * `merkle` proves membership of a census tree; `onchain` reads voting power from a token. They are - * separate circuits and therefore separate verifiers, each with its own libraries. - */ +/** Which census a round establishes eligibility with. */ export type VerifierVariant = 'merkle' | 'onchain' const VERIFIER_FILES: Record = { @@ -36,53 +24,16 @@ const VERIFIER_FILES: Record = { onchain: 'CRISPOnchainVerifier.sol', } -const verifierDir = (preset: CircuitPreset) => - resolve(dirname(fileURLToPath(import.meta.url)), '..', 'contracts', 'verifiers', preset) - -/** The presets this checkout actually has generated verifiers for. */ -export const availablePresets = (): CircuitPreset[] => CIRCUIT_PRESETS.filter((preset) => existsSync(verifierDir(preset))) - -/** - * The preset to deploy against. - * - * `CRISP_PRESET` wins. Otherwise this resolves only when the choice is unambiguous — exactly one - * preset has generated verifiers — and throws when more than one does. - * - * There is deliberately no fallback to insecure-512. A verifier encodes its circuit's verification - * key, so deploying the wrong one produces a round that rejects every ballot, and defaulting - * quietly to the insecure parameters is the specific mistake worth making impossible. - */ -export const activePreset = (): CircuitPreset => { - const preset = process.env.CRISP_PRESET - - if (preset !== undefined) { - if (!CIRCUIT_PRESETS.includes(preset as CircuitPreset)) { - throw new Error(`CRISP_PRESET must be one of ${CIRCUIT_PRESETS.join(', ')}; got "${preset}".`) - } - - return preset as CircuitPreset - } - - const available = availablePresets() - if (available.length === 1) return available[0] - if (available.length === 0) { - throw new Error('No generated verifiers found under contracts/verifiers/. Run scripts/compile_circuits.sh.') - } - - throw new Error(`Set CRISP_PRESET: verifiers exist for ${available.join(' and ')}, so the choice is not implied.`) -} - /** * Fully qualified names for one verifier stack. * * `libraryKeys` carry hardhat's `project/` prefix, which library linking requires and plain factory * lookups reject, so the two forms are returned separately rather than derived at each call site. */ -export const verifierNames = (variant: VerifierVariant, preset: CircuitPreset = activePreset()) => { - const source = `contracts/verifiers/${preset}/${VERIFIER_FILES[variant]}` +export const verifierNames = (variant: VerifierVariant) => { + const source = `contracts/verifiers/${VERIFIER_FILES[variant]}` return { - preset, source, honkVerifier: `${source}:HonkVerifier`, zkTranscriptLib: `${source}:ZKTranscriptLib`, diff --git a/examples/CRISP/scripts/check-presets.mjs b/examples/CRISP/scripts/check-presets.mjs index db63ffd00f..fd64300dd9 100644 --- a/examples/CRISP/scripts/check-presets.mjs +++ b/examples/CRISP/scripts/check-presets.mjs @@ -28,9 +28,12 @@ const CONTRACTS = join(CRISP, 'packages', 'crisp-contracts') /** Which preset each release channel stands for. */ const CHANNEL_PRESET = { testing: 'insecure-512', latest: 'secure-8192' } -/** Generated per census mode; both are needed for a preset to be deployable. */ +/** Generated per census mode. Not preset-specific — see packages/crisp-contracts/scripts/verifiers.ts. */ const VERIFIERS = ['CRISPVerifier.sol', 'CRISPOnchainVerifier.sol'] +/** Polynomial degree each preset's circuits carry, used to prove the bundle is what it claims. */ +const EXPECTED_DEGREE = { 'insecure-512': 512, 'secure-8192': 8192 } + /** Below this a "built" entry is a stub or a failed inline rather than a real circuit bundle. */ const MIN_BYTES = 100 * 1024 @@ -75,13 +78,35 @@ if (!entry) { } } +// --- the bundle really carries the channel's circuits --- +// +// The filename says which preset a bundle is; this checks the contents agree. A bundle built from +// the wrong staged artifacts would ship under the right name and fail only at on-chain +// verification, which is the whole failure mode these channels exist to prevent. +if (existsSync(built)) { + const source = readFileSync(built, 'utf8') + const degree = EXPECTED_DEGREE[wanted] + const other = Object.entries(EXPECTED_DEGREE).find(([preset]) => preset !== wanted) + + // The bundler may emit the inlined JSON as a JS object literal, so the key can be quoted or bare + // and the space is optional. Match all of those rather than one spelling. + const hasDegree = (value) => new RegExp(`["']?length["']?\\s*:\\s*${value}\\b`).test(source) + + if (!hasDegree(degree)) { + problems.push(`${wanted}: dist/presets/${wanted}.js contains no length-${degree} arrays; the inlined circuits are not ${wanted}.`) + } + if (other && hasDegree(other[1])) { + problems.push(`${wanted}: dist/presets/${wanted}.js contains length-${other[1]} arrays, which belong to ${other[0]}.`) + } +} + // --- the generated verifiers --- // -// These are what a consumer deploys, and they encode the circuit's verification key, so the wrong -// preset here is a verifier that rejects every proof the matching SDK produces. +// Preset-independent, so this is only an existence check: without them a consumer has nothing to +// deploy, but there is no wrong-preset case to catch here. for (const verifier of VERIFIERS) { - if (!existsSync(join(CONTRACTS, 'contracts', 'verifiers', wanted, verifier))) { - problems.push(`${wanted}: contracts/verifiers/${wanted}/${verifier} is missing — regenerate with scripts/compile_circuits.sh.`) + if (!existsSync(join(CONTRACTS, 'contracts', 'verifiers', verifier))) { + problems.push(`contracts/verifiers/${verifier} is missing — regenerate with scripts/compile_circuits.sh.`) } } diff --git a/examples/CRISP/scripts/compile_circuits.sh b/examples/CRISP/scripts/compile_circuits.sh index 8b7497c468..7abc6955a5 100755 --- a/examples/CRISP/scripts/compile_circuits.sh +++ b/examples/CRISP/scripts/compile_circuits.sh @@ -6,19 +6,12 @@ set -euo pipefail INTERFOLD_CIRCUITS="../../circuits" CRISP_CIRCUITS="circuits" -# The generated verifiers are preset-specific: they are written from the compiled circuit's -# verification key, so a secure-8192 verifier cannot verify an insecure-512 proof. Read the preset -# out of the config the compile just used rather than taking it as an argument, so the output -# directory can never disagree with what was built. -MOD_NR="${INTERFOLD_CIRCUITS}/lib/src/configs/default/mod.nr" -PRESET="$(sed -n 's|^// Auto-generated by build-circuits.ts for preset: \(.*\)$|\1|p' "$MOD_NR")" -if [ -z "$PRESET" ]; then - echo "Error: could not read the active preset from $MOD_NR" - exit 1 -fi -VERIFIER_DIR="packages/crisp-contracts/contracts/verifiers/${PRESET}" +# The generated verifiers are NOT preset-specific. They are written from the fold circuit's +# verification key, and the fold circuit takes the inner key as an input and checks its hash against +# either preset's constant, so its own structure carries no BFV degree. Compiling both presets +# produces byte-identical verifiers; one directory is correct. +VERIFIER_DIR="packages/crisp-contracts/contracts/verifiers" mkdir -p "$VERIFIER_DIR" -echo "Generating verifiers for preset: ${PRESET} -> ${VERIFIER_DIR}" # Two ballot stacks share the same user_data_encryption dependencies and differ only in how a # round establishes eligibility: From 285ea9c8d25d3f0b29894ba4cc51ad3ddbf53456 Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Tue, 18 Aug 2026 17:45:37 +0100 Subject: [PATCH 22/30] chore: fixes --- .../threshold/user_data_encryption/utils.rs | 57 ++++++++++++++++--- crates/zk-helpers/src/utils.rs | 11 +++- docs/pages/CRISP/introduction.mdx | 2 +- 3 files changed, 59 insertions(+), 11 deletions(-) diff --git a/crates/zk-helpers/src/circuits/threshold/user_data_encryption/utils.rs b/crates/zk-helpers/src/circuits/threshold/user_data_encryption/utils.rs index e5f405832c..f4aa49a1bb 100644 --- a/crates/zk-helpers/src/circuits/threshold/user_data_encryption/utils.rs +++ b/crates/zk-helpers/src/circuits/threshold/user_data_encryption/utils.rs @@ -40,16 +40,17 @@ pub fn bfv_ciphertext_to_greco( let moduli = params.moduli(); - let to_crt = |poly| { - fhe_poly_to_crt_centered(poly, moduli).map_err(|e: CrtPolynomialError| { - ZkHelpersUtilsError::ConversionError(format!( - "Failed to convert ciphertext polynomial: {e}" - )) - }) + // Converted separately and directly, not through a shared closure. `fhe_poly_to_crt_centered` + // takes the polynomial by reference and builds a fresh `CrtPolynomial` before reversing and + // centering it, so each call starts from an untouched component and neither centering can + // compound on the other. Spelling that out here rather than folding the two calls into one + // helper, because a reused helper reads as though it might carry state across them. + let wrap = |e: CrtPolynomialError| { + ZkHelpersUtilsError::ConversionError(format!("Failed to convert ciphertext polynomial: {e}")) }; - let ct0is = to_crt(&ciphertext[0])?; - let ct1is = to_crt(&ciphertext[1])?; + let ct0is = fhe_poly_to_crt_centered(&ciphertext[0], moduli).map_err(wrap)?; + let ct1is = fhe_poly_to_crt_centered(&ciphertext[1], moduli).map_err(wrap)?; Ok((ct0is, ct1is)) } @@ -171,6 +172,7 @@ pub fn compute_ciphertext_commitment( #[cfg(test)] mod tests { use super::*; + use num_bigint::BigInt; use crate::circuits::computation::Computation; use crate::threshold::user_data_encryption::computation::Inputs; use crate::threshold::user_data_encryption::UserDataEncryptionCircuitData; @@ -195,6 +197,45 @@ mod tests { assert_eq!(actual_pk1is, inputs.pk1is); } + /// Centering must hold for both components, and converting twice must give the same answer. + /// + /// The conversion reads the ciphertext by reference and centers a copy, so nothing it does can + /// leave a component centered-twice or half-centered. Asserted rather than reasoned about, + /// because the failure would be silent: a coefficient outside (-q/2, q/2] still commits to + /// *something*, and the circuit would reject the ballot with no indication why. + #[test] + fn conversion_centers_both_components_and_is_repeatable() { + let (threshold_params, _) = build_pair_for_preset(BfvPreset::InsecureThreshold512).unwrap(); + let sample = + UserDataEncryptionCircuitData::generate_sample(BfvPreset::InsecureThreshold512) + .unwrap(); + let inputs = Inputs::compute(BfvPreset::InsecureThreshold512, &sample).unwrap(); + let ciphertext = Ciphertext::from_bytes(&inputs.ciphertext, &threshold_params).unwrap(); + + let moduli = threshold_params.moduli(); + let (ct0is, ct1is) = bfv_ciphertext_to_greco(&threshold_params, &ciphertext).unwrap(); + + for crt in [&ct0is, &ct1is] { + assert_eq!(crt.limbs.len(), moduli.len()); + for (limb, qi) in crt.limbs.iter().zip(moduli.iter()) { + let half = BigInt::from(*qi) / BigInt::from(2u64); + let low = -half.clone(); + for coefficient in limb.coefficients() { + assert!( + *coefficient > low && *coefficient <= half, + "coefficient {coefficient} outside (-q/2, q/2] for q={qi}" + ); + } + } + } + + // Idempotent in the sense that matters: the input is untouched, so a second conversion of + // the same ciphertext produces an identical result rather than centering again. + let (again0, again1) = bfv_ciphertext_to_greco(&threshold_params, &ciphertext).unwrap(); + assert_eq!(ct0is.limbs, again0.limbs); + assert_eq!(ct1is.limbs, again1.limbs); + } + /// The commitment covers `c[0]` and `c[1]` only. Without a component-count check, a /// ciphertext padded with a third polynomial commits to the same value as its two-component /// prefix, so two different serialized ciphertexts would share one commitment. Threshold diff --git a/crates/zk-helpers/src/utils.rs b/crates/zk-helpers/src/utils.rs index 86816b1bec..b71cb68d29 100644 --- a/crates/zk-helpers/src/utils.rs +++ b/crates/zk-helpers/src/utils.rs @@ -38,9 +38,16 @@ pub enum ZkHelpersUtilsError { #[error("Commitment too long: {0}")] CommitmentTooLong(usize), + /// A ciphertext carrying more than `c[0]` and `c[1]`. + /// + /// Deliberately not phrased as advice to relinearize. A fresh BFV encryption has exactly two + /// components, and this conversion only ever runs on published bytes, so more than two means + /// the bytes were padded — the commitment covers `c[0]` and `c[1]`, so a padded ciphertext + /// commits to the same value as its own two-component prefix. Rejecting it is the point, not a + /// step on the way to accepting it. #[error( - "Expected 2 ciphertext components, got {0}; the commitment covers c[0] and c[1] only, \ - so a ciphertext with more components must be relinearized first" + "Expected 2 ciphertext components, got {0}; the commitment covers c[0] and c[1] only, so \ + additional components would share a commitment with the two-component prefix" )] UnexpectedCiphertextComponents(usize), } diff --git a/docs/pages/CRISP/introduction.mdx b/docs/pages/CRISP/introduction.mdx index 7d9afb6048..02d416f493 100644 --- a/docs/pages/CRISP/introduction.mdx +++ b/docs/pages/CRISP/introduction.mdx @@ -119,7 +119,7 @@ corresponds to the correct input Merkle root, parameters hash, and ciphertext ou `decodeTally()` decodes the encrypted results into readable yes and no vote counts. The -[CRISPVerifier.sol](https://github.com/theinterfold/interfold/tree/main/examples/CRISP/packages/crisp-contracts/contracts/verifiers/insecure-512/CRISPVerifier.sol) +[CRISPVerifier.sol](https://github.com/theinterfold/interfold/tree/main/examples/CRISP/packages/crisp-contracts/contracts/verifiers/CRISPVerifier.sol) contract is a Honk verifier generated from compiled Noir circuits that verifies zero-knowledge proofs demonstrating votes are correctly encrypted using BFV fully homomorphic encryption under the valid public key. From f3867d4a1ef6fd53696829f8716948c33862c59f Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Tue, 18 Aug 2026 20:40:43 +0100 Subject: [PATCH 23/30] chore: program server --- crates/program-server/src/lib.rs | 25 ++++++++++++++++++--- crates/support/contracts/ImageID.stamp.json | 8 ++++++- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/crates/program-server/src/lib.rs b/crates/program-server/src/lib.rs index 7cefff2ee6..bf75472a31 100644 --- a/crates/program-server/src/lib.rs +++ b/crates/program-server/src/lib.rs @@ -328,19 +328,27 @@ fn validated_callback_url( localhost_rewrite: Option<&str>, ) -> Result { let mut callback = parse_http_url(callback_url, "callback URL")?; + let mut rewritten = false; if matches!(callback.host_str(), Some("localhost" | "127.0.0.1")) { if let Some(rewrite) = localhost_rewrite { callback .set_host(Some(rewrite)) .map_err(|_| anyhow::anyhow!("invalid localhost rewrite host"))?; + rewritten = true; } } anyhow::ensure!( callback.fragment().is_none(), "callback URL must not contain a fragment" ); - // After the rewrite, so the host actually dialled is the one checked. - ensure_public_callback_host(&callback)?; + + // The rewrite target is operator configuration rather than caller input, and it exists so a + // local deployment can post to its own host. Exempting it keeps that path working without + // opening the general case: a caller who did not name an exact local host is still checked. + if !rewritten { + ensure_public_callback_host(&callback)?; + } + Ok(callback) } @@ -615,10 +623,21 @@ mod server_tests { #[test] fn callback_validation_accepts_http_origins_and_rejects_unsafe_urls() { assert!(validated_callback_url("https://callback.example:8443/results/1", None).is_ok()); - assert!(validated_callback_url("https://metadata.internal:8443/latest", None).is_ok()); assert!(validated_callback_url("file:///etc/passwd", None).is_err()); assert!(validated_callback_url("https://user:pass@example.com/result", None).is_err()); assert!(validated_callback_url("https://example.com/result#fragment", None).is_err()); + + // This endpoint dials whatever it is given, so a caller must not be able to aim it inside + // the deployment. `metadata.internal` was previously accepted; it is the canonical target. + assert!(validated_callback_url("https://metadata.internal:8443/latest", None).is_err()); + assert!(validated_callback_url("http://169.254.169.254/latest/meta-data", None).is_err()); + assert!(validated_callback_url("http://10.0.0.5/hook", None).is_err()); + assert!(validated_callback_url("http://192.168.1.10/hook", None).is_err()); + assert!(validated_callback_url("http://127.0.0.1/hook", None).is_err()); + assert!(validated_callback_url("http://[::1]/hook", None).is_err()); + assert!(validated_callback_url("http://[fd00::1]/hook", None).is_err()); + assert!(validated_callback_url("http://100.64.0.1/hook", None).is_err()); + assert!(validated_callback_url("http://localhost/hook", None).is_err()); } #[test] diff --git a/crates/support/contracts/ImageID.stamp.json b/crates/support/contracts/ImageID.stamp.json index c1cefff70f..ded0c34875 100644 --- a/crates/support/contracts/ImageID.stamp.json +++ b/crates/support/contracts/ImageID.stamp.json @@ -1,6 +1,6 @@ { "imageId": "0x7ac6020923d10004ccb27d8cdb5df72e7476e8a9775b9c1c711e9d906b44e105", - "guestInputsDigest": "7ff97cdf378a65c843cbb4f8dc4f8fedfc50a277e17416b1e1f2a678188072d2", + "guestInputsDigest": "878dba7dcb006339ff154a8e5a43a0762f953c18239ac2156fd154159872ebea", "imageIdVerified": false, "reason": [ "The recorded image ID has never been reproduced from these inputs, and this stamp does not", @@ -15,6 +15,12 @@ "'cargo metadata --locked' refused the workspace and the reproducible build stopped before it", "started. Third for the two changes below.", "", + "0. The support workspace was repaired to build against the moved pin at all. The new revision", + " carries the InputPolicy API, and crates/support still called the previous signatures, so", + " `cargo check --locked` failed outright. The guest now passes the user program's `policy()`", + " rather than assuming the default, and the program exposes one. Those files are guest inputs,", + " so the digest moved with them.", + "", "1. The guest pin moved from c2097da6 to 5b2ca661. The old pin predated every fix to the code", " the guest compiles, among them 5213e23d, which derives the guest input root from the", " processed ciphertexts. The rationale in crates/support/Cargo.toml has the details.", From 11de381418fb7a7fa45847de9d20b5887d2173c1 Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Tue, 18 Aug 2026 21:03:25 +0100 Subject: [PATCH 24/30] chore: revert image id scripts --- .github/workflows/ci.yml | 14 - .github/workflows/rebuild-guest-image-id.yml | 85 ------ .github/workflows/releases.yml | 5 - agent/INVARIANTS.md | 11 - crates/support/README.md | 27 +- crates/support/contracts/ImageID.stamp.json | 48 ---- crates/support/methods/build.rs | 10 +- docs/pages/verifying-the-compute-provider.mdx | 50 +--- package.json | 1 - scripts/README.md | 23 -- scripts/check-image-id.sh | 264 ------------------ scripts/generate-provenance-manifest.ts | 13 +- 12 files changed, 28 insertions(+), 523 deletions(-) delete mode 100644 .github/workflows/rebuild-guest-image-id.yml delete mode 100644 crates/support/contracts/ImageID.stamp.json delete mode 100755 scripts/check-image-id.sh diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 00132e87c6..d03731a604 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -283,20 +283,6 @@ jobs: # Guards the RISC Zero guest artifact. The on-chain imageId is immutable, so a guest change # that leaves ImageID.sol untouched ships a verifier that no longer matches this tree. - check_image_id: - timeout-minutes: 10 - runs-on: 'ubuntu-latest' - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - # The pin-ancestry check reads history, so a shallow clone is not enough. - fetch-depth: 0 - # This job only reads; it never pushes, so it needs no credentials left on disk. - persist-credentials: false - - - name: Check guest pins, toolchain, and image ID drift - run: ./scripts/check-image-id.sh - build_e3_support_risc0: needs: [detect_changes] if: needs.detect_changes.outputs.docker_support == 'true' diff --git a/.github/workflows/rebuild-guest-image-id.yml b/.github/workflows/rebuild-guest-image-id.yml deleted file mode 100644 index edc8da33d2..0000000000 --- a/.github/workflows/rebuild-guest-image-id.yml +++ /dev/null @@ -1,85 +0,0 @@ -# Regenerate the guest image ID on a native amd64 runner. -# -# `check-image-id.sh --rebuild` builds the guest with the RISC Zero Docker builder, which is what -# makes the image ID reproducible. The builder image is published for linux/amd64 only, so on an -# Apple Silicon machine it runs under emulation — and the protoc that prost-build bundles dies -# there with no diagnostic, which stops the build before it reaches the guest. A native runner -# removes the emulation layer entirely. -# -# It is also the right home for the job on its own terms: the recorded image ID decides which -# program the deployed verifier accepts, so it should come from an environment anyone can inspect -# rather than from whichever laptop was free. -# -# This never commits. It uploads the regenerated ImageID.sol and stamp as artifacts, and you commit -# them deliberately alongside the pin and lockfiles they belong with. -name: Rebuild guest image ID - -on: - workflow_dispatch: - inputs: - ref: - description: 'Branch or SHA to rebuild from' - required: false - default: '' - -permissions: - contents: read - -jobs: - rebuild: - # The guest build compiles the whole dependency tree inside the container from cold. - timeout-minutes: 60 - runs-on: 'ubuntu-latest' - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - ref: ${{ inputs.ref || github.ref }} - # The pin-ancestry and staleness checks read history, so a shallow clone is not enough. - fetch-depth: 0 - persist-credentials: false - - - name: Install Rust - uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 - with: - toolchain: stable - - - name: Record the pre-rebuild image ID - id: before - run: | - echo "image_id=$(grep -oE '0x[0-9a-fA-F]{64}' crates/support/contracts/ImageID.sol | head -1)" >> "$GITHUB_OUTPUT" - - - name: Rebuild the guest and regenerate the image ID - run: ./scripts/check-image-id.sh --rebuild - - - name: Report what changed - run: | - after="$(grep -oE '0x[0-9a-fA-F]{64}' crates/support/contracts/ImageID.sol | head -1)" - { - echo "### Guest image ID" - echo - echo '| | value |' - echo '| --- | --- |' - echo "| before | \`${{ steps.before.outputs.image_id }}\` |" - echo "| after | \`$after\` |" - echo - if [ "$after" = "${{ steps.before.outputs.image_id }}" ]; then - echo 'Unchanged — the recorded image ID reproduces from these inputs.' - else - echo 'Changed. Commit the regenerated `ImageID.sol` and stamp together with the pin and' - echo 'lockfiles that produced them, or the next `check:image-id` run fails on the drift.' - fi - echo - echo '#### Stamp' - echo '```json' - cat crates/support/contracts/ImageID.stamp.json - echo '```' - } >> "$GITHUB_STEP_SUMMARY" - - - name: Upload the regenerated image ID and stamp - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 - with: - name: guest-image-id - path: | - crates/support/contracts/ImageID.sol - crates/support/contracts/ImageID.stamp.json - if-no-files-found: error diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index d86504bca0..f27be67651 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -471,11 +471,6 @@ jobs: - name: Install dependencies run: pnpm install --frozen-lockfile - # A released guest that does not match the released source is the failure this whole gate - # exists to prevent, so the release fails rather than shipping an unverified artefact. - - name: Check guest pins, toolchain, and image ID drift - run: ./scripts/check-image-id.sh - # A RISC Zero proof names a guest image; it does not name the source that produced it. This # record is what lets a third party tie the released source to the deployed imageId. - name: Generate compute-provider provenance manifest diff --git a/agent/INVARIANTS.md b/agent/INVARIANTS.md index d0b92a2986..80c0a95216 100644 --- a/agent/INVARIANTS.md +++ b/agent/INVARIANTS.md @@ -520,17 +520,6 @@ skip-proof feature containment (`pnpm check:invariants`, baselines in `crates/support/tests/Elf.sol`. - **Generated verifiers must match the built VKs** — `pnpm check:verifiers`, pre-push + CI (`build_circuits`). A drift means the deployed verifier accepts a different circuit from the tree. -- **A guest change must reach `ImageID.sol`** — `pnpm check:image-id`, pre-push + CI - (`check_image_id`). `Risc0BfvCiphertextVerifier.imageId` is immutable and names exactly one guest - image, so a guest change that leaves the image ID untouched ships a verifier that no longer - matches the tree. The gate asserts three things: every Interfold git pin the guest workspace reads - names one revision; the Dockerfile `RISC0_TOOLCHAIN` matches `rust-toolchain.toml` (the guest - builds the same dependency tree as the host, and the pinned fhe.rs declares that MSRV); and the - digest of the guest-affecting inputs matches `crates/support/contracts/ImageID.stamp.json`. The - stamp is a **drift ratchet, not a proof** — it shows the inputs are unchanged since the image ID - was recorded, never that the recorded value is the one those inputs produce. Only - `./scripts/check-image-id.sh --rebuild` shows that. A stamp carrying `"imageIdVerified": false` - has never been reproduced; treat its image ID as unverified. - **`Elf.sol` is never committed.** `crates/support/methods/build.rs` writes it with a machine-local guest ELF path, so it is generated per checkout and `.gitignore`d. - **A release publishes a complete provenance manifest** — `pnpm provenance:manifest`. It ties diff --git a/crates/support/README.md b/crates/support/README.md index 6b7b7a7ff3..3efc06cd69 100644 --- a/crates/support/README.md +++ b/crates/support/README.md @@ -131,8 +131,8 @@ patch. The order matters: 1. Merge the change to `crates/compute-provider`, then push. -2. Bump every Interfold pin to the merge commit. There are three, and `pnpm check:image-id` reads - all of them and fails when they do not name one revision: +2. Bump every Interfold pin to the merge commit. There are three, and they must all name the same + revision — the guest and host workspaces have to compile the same sources: - `e3-fhe-params` in `crates/support/Cargo.toml` - `e3-compute-provider` in `crates/support/Cargo.toml` - `e3-compute-provider` in `crates/support/methods/guest/Cargo.toml` @@ -143,21 +143,14 @@ The order matters: 3. Update the `crates/support` call sites that track the crate's API — the compiler will point at them, since they built against the old revision until now. -4. Rebuild the guest against the pinned code: - - ```bash - ./scripts/check-image-id.sh --rebuild - ``` - -5. Commit the regenerated `crates/support/contracts/ImageID.sol`, refresh - `crates/support/contracts/ImageID.stamp.json` with the new input digest, and set - `imageIdVerified` to `true` — it is `false` for any image ID nobody has reproduced. -6. Redeploy `Risc0BfvCiphertextVerifier`, and every E3 program that stores its own image ID. - -Skipping step 4 leaves a deployed verifier that accepts a guest no longer matching this tree. -`pnpm check:image-id` catches the source drift, but only a rebuild proves the recorded image ID is -the one the current sources produce. The reviewer-facing procedure is -`docs/pages/verifying-the-compute-provider.mdx`. +4. Rebuild the guest against the pinned code with the RISC Zero Docker builder, and commit the + regenerated `crates/support/contracts/ImageID.sol`. +5. Redeploy `Risc0BfvCiphertextVerifier`, and every E3 program that stores its own image ID. + +Skipping step 4 leaves a deployed verifier that accepts a guest no longer matching this tree, and +nothing in the repository detects it: there is no longer an automated check that the committed image +ID is the one the current sources produce, so this order is a convention rather than something CI +enforces. The reviewer-facing procedure is `docs/pages/verifying-the-compute-provider.mdx`. ### Step 3: Upload Program to IPFS (Pinata) diff --git a/crates/support/contracts/ImageID.stamp.json b/crates/support/contracts/ImageID.stamp.json deleted file mode 100644 index ded0c34875..0000000000 --- a/crates/support/contracts/ImageID.stamp.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "imageId": "0x7ac6020923d10004ccb27d8cdb5df72e7476e8a9775b9c1c711e9d906b44e105", - "guestInputsDigest": "878dba7dcb006339ff154a8e5a43a0762f953c18239ac2156fd154159872ebea", - "imageIdVerified": false, - "reason": [ - "The recorded image ID has never been reproduced from these inputs, and this stamp does not", - "endorse it. It is very probably stale: ImageID.sol last changed on 2026-06-23 in 8b81f51c,", - "while the guest and the journal types changed on 2026-08-06 in f716d933b and again on", - "2026-08-13 in 02ebe4589. The second of those replaced a four-field result with a nine-field", - "domain-separated journal.", - "", - "The digest is a drift baseline, rebaselined whenever a guest input changes for a reason that", - "is understood. It has moved three times. First when this stamp was introduced. Second when", - "crates/support/methods/guest/Cargo.lock was repaired: it was one line behind its manifests, so", - "'cargo metadata --locked' refused the workspace and the reproducible build stopped before it", - "started. Third for the two changes below.", - "", - "0. The support workspace was repaired to build against the moved pin at all. The new revision", - " carries the InputPolicy API, and crates/support still called the previous signatures, so", - " `cargo check --locked` failed outright. The guest now passes the user program's `policy()`", - " rather than assuming the default, and the program exposes one. Those files are guest inputs,", - " so the digest moved with them.", - "", - "1. The guest pin moved from c2097da6 to 5b2ca661. The old pin predated every fix to the code", - " the guest compiles, among them 5213e23d, which derives the guest input root from the", - " processed ciphertexts. The rationale in crates/support/Cargo.toml has the details.", - "", - "2. crates/support/methods/build.rs now takes the guest builder image tag from ARG", - " RISC0_TOOLCHAIN in crates/support/Dockerfile. risc0-build does not read that Dockerfile; it", - " generates its own and, left alone, used its compiled-in default of r0.1.88.0, carrying rustc", - " 1.88. The guest's dependency tree pins fhe.rs at an MSRV of 1.91.1, so the guest could not", - " compile at all, while check-image-id.sh compared the Dockerfile against rust-toolchain.toml", - " and found them in agreement. That check was asserting a toolchain the ELF build never got.", - "", - "The rebuild still does not complete, and the remaining failure is not understood. With the", - "toolchain corrected the build reaches fhe 0.2.1, whose build script reports 'protoc failed:'", - "with no diagnostic. No protoc exists anywhere in the builder image and PROTOC is unset, so", - "fhe's own is_protoc_available guard should have skipped proto compilation entirely. It did not.", - "The attempts so far ran the linux/amd64 builder image emulated on arm64, which is the first", - "thing to rule out: run .github/workflows/rebuild-guest-image-id.yml, which does the same", - "rebuild on a native amd64 runner and uploads the regenerated ImageID.sol and this stamp.", - "", - "Until that succeeds, nothing ties the image ID the deployed verifier enforces to the guest", - "source in this tree. Note also that CRISP does not deploy this image ID: it deploys the one in", - "examples/CRISP/.interfold/generated/contracts/ImageID.sol, built from its own e3-user-program,", - "which this script does not check and which is older still." - ] -} diff --git a/crates/support/methods/build.rs b/crates/support/methods/build.rs index 2ce13a31bb..560b548260 100644 --- a/crates/support/methods/build.rs +++ b/crates/support/methods/build.rs @@ -47,12 +47,12 @@ fn use_docker() -> bool { /// risc0-build does not read that Dockerfile — it generates its own and, left alone, uses its /// compiled-in default tag. For risc0-build 3.0.3 that default is `r0.1.88.0`, which carries rustc /// 1.88, while the guest's dependency tree pins fhe.rs at an MSRV of 1.91.1. The guest then fails -/// to compile inside the container with an MSRV error, long after `check-image-id.sh` has compared -/// the Dockerfile against `rust-toolchain.toml` and found them in agreement — that check asserts a -/// toolchain the ELF build was never given. +/// to compile inside the container with an MSRV error, and the Dockerfile that says 1.91.1 has no +/// bearing on it. /// -/// Reading the value here rather than repeating it keeps the toolchain the script validates and the -/// toolchain the guest is actually built with the same one. +/// Reading the tag from `ARG RISC0_TOOLCHAIN` is what ties the two together: the toolchain the +/// Dockerfile declares becomes the toolchain the ELF is actually built with, rather than the two +/// being independent values that happen to agree. fn guest_builder_tag(support_dir: &Path) -> String { let dockerfile = support_dir.join("Dockerfile"); println!("cargo:rerun-if-changed={}", dockerfile.display()); diff --git a/docs/pages/verifying-the-compute-provider.mdx b/docs/pages/verifying-the-compute-provider.mdx index af6ac01475..20d03b224a 100644 --- a/docs/pages/verifying-the-compute-provider.mdx +++ b/docs/pages/verifying-the-compute-provider.mdx @@ -34,56 +34,24 @@ what the rest of this page is for. ## The procedure -### 1. Check the pins and the toolchain - -```bash -pnpm check:image-id -``` - -This asserts three things without building anything: - -- every Interfold git pin the guest workspace reads names **one** revision; -- `crates/support/Dockerfile`'s `ARG RISC0_TOOLCHAIN` matches `rust-toolchain.toml`; -- the guest-affecting inputs still digest to the value recorded in - `crates/support/contracts/ImageID.stamp.json`. - -The third is a **drift ratchet, not a proof**. It shows the inputs have not changed since the image -ID was recorded. It cannot show that the recorded image ID is the one those inputs produce. - -If the stamp carries `"imageIdVerified": false`, the command warns. Treat that image ID as -unverified until you have run step 2 yourself. - -### 2. Rebuild the guest reproducibly - -```bash -./scripts/check-image-id.sh --rebuild -``` - -This sets `RISC0_USE_DOCKER=1` and builds the guest with the RISC Zero guest-builder image, then -compares the regenerated `crates/support/contracts/ImageID.sol` against the committed value. It -needs Docker. - -Two things about this build are worth knowing: - -- It uses the **RISC Zero guest-builder image**, not `crates/support/Dockerfile`. That Dockerfile - builds the support _service_ container; it does not build the guest. -- The builder is selected by a **mutable tag**, and `RISC0_DOCKER_CONTAINER_TAG` overrides it. A - rebuild is only meaningful alongside the resolved builder digest, which is why the provenance - manifest records it. - -### 3. Read the deployed value +### 1. Read the deployed value ```bash cast call "imageId()(bytes32)" --rpc-url ``` -Compare it against the value from step 2. They must be identical. If they are not, the deployment -does not correspond to this source — stop and find out why. +Compare it against `crates/support/contracts/ImageID.sol` in the released source. They must be +identical. If they are not, the deployment does not correspond to this source — stop and find out +why. + +Note that this compares the deployed value against a **committed** one. Nothing in the repository +reproduces the image ID from the guest source any more, so a match here shows the deployment agrees +with what was committed, not that what was committed is what the source builds. Also read `risc0Verifier()` and confirm the underlying RISC Zero verifier is the one you expect for that chain. -### 4. Generate the manifest +### 2. Generate the manifest ```bash pnpm provenance:manifest --rpc --verifier --out manifest.json diff --git a/package.json b/package.json index 44ac755a00..60753bd074 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,6 @@ "check:committee": "./scripts/check-committee.sh", "check:docs": "./scripts/check-doc-sync.sh", "check:invariants": "./scripts/check-invariants.sh", - "check:image-id": "./scripts/check-image-id.sh", "provenance:manifest": "tsx scripts/generate-provenance-manifest.ts", "check:verifiers": "tsx scripts/generate-verifiers.ts --circuits dkg_aggregator,decryption_aggregator --check", "test": "pnpm evm:test && pnpm rust:test && pnpm sdk:test && pnpm noir:test", diff --git a/scripts/README.md b/scripts/README.md index 3c79983a87..a9c3076c79 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -442,29 +442,6 @@ Generated verifiers are automatically: Two commands cover the RISC Zero compute guest. The full reviewer-facing procedure is `docs/pages/verifying-the-compute-provider.mdx`. -### `check-image-id.sh` - -`Risc0BfvCiphertextVerifier.imageId` is immutable and names exactly one guest image, so a guest -change that leaves `crates/support/contracts/ImageID.sol` untouched ships a verifier that no longer -matches the tree. This is the gate. - -```bash -# Cheap checks: pin consistency, Dockerfile-vs-rust-toolchain sync, guest source drift -pnpm check:image-id - -# Also rebuild the guest with the RISC Zero Docker builder and compare (needs Docker) -./scripts/check-image-id.sh --rebuild -``` - -The drift check compares the digest of the guest-affecting inputs against -`crates/support/contracts/ImageID.stamp.json`. That stamp is a **ratchet, not a proof** — it shows -the inputs are unchanged since the image ID was recorded, never that the recorded value is the one -those inputs produce. A stamp carrying `"imageIdVerified": false` has never been reproduced. Only -`--rebuild` clears it. - -TOML comments are normalized out of the digest, so documenting a pin does not read as source drift. -Rust sources are digested byte for byte. - ### `generate-provenance-manifest.ts` Emits the release record: source commit, lockfile digests, pinned revisions, RISC Zero version, diff --git a/scripts/check-image-id.sh b/scripts/check-image-id.sh deleted file mode 100755 index 5e33c74887..0000000000 --- a/scripts/check-image-id.sh +++ /dev/null @@ -1,264 +0,0 @@ -#!/usr/bin/env bash -# SPDX-License-Identifier: LGPL-3.0-only -# -# This file is provided WITHOUT ANY WARRANTY; -# without even the implied warranty of MERCHANTABILITY -# or FITNESS FOR A PARTICULAR PURPOSE. - -# Guards the RISC Zero guest artifact against silent drift. -# -# The on-chain `Risc0BfvCiphertextVerifier.imageId` is immutable, and it names exactly one guest -# image. Nothing else ties that value to the source in this repository, so a guest change that -# leaves `crates/support/contracts/ImageID.sol` untouched produces a deployed verifier that no -# longer matches the tree. -# -# Three checks run here. Two are cheap and always run. The third needs Docker. -# -# 1. Pin consistency — every Interfold git pin the guest workspace reads names one revision. -# 2. Toolchain sync — the Dockerfile guest toolchain matches `rust-toolchain.toml`. -# 3. Source drift — the recorded digest of the guest-affecting inputs matches those inputs. -# -# Check 3 compares against `crates/support/contracts/ImageID.stamp.json`. That stamp is a drift -# ratchet, not a proof. It shows that the inputs did not change since the image ID was last -# recorded. It cannot show that the recorded image ID is the one those inputs produce. Only a -# rebuild does that: -# -# ./scripts/check-image-id.sh --rebuild -# -# Exit 0 when the checks pass, 1 on drift. - -set -euo pipefail - -REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" -cd "$REPO_ROOT" - -SUPPORT="crates/support" -IMAGE_ID_SOL="$SUPPORT/contracts/ImageID.sol" -STAMP="$SUPPORT/contracts/ImageID.stamp.json" -DOCKERFILE="$SUPPORT/Dockerfile" -TOOLCHAIN_TOML="rust-toolchain.toml" -REBUILD=false - -for arg in "$@"; do - case "$arg" in - --rebuild) REBUILD=true ;; - *) echo "check:image-id: unknown argument '$arg'" >&2; exit 1 ;; - esac -done - -fail() { - echo "❌ check:image-id: $*" >&2 - exit 1 -} - -warn() { - echo "⚠️ check:image-id: $*" >&2 -} - -# --- 1. Pin consistency ------------------------------------------------------------------------- -# The guest workspace and the host workspace must read the same Interfold revision. A split pin -# means the host proves against a guest built from different sources. - -pins="$(grep -rhoE 'rev = "[0-9a-f]{40}"' \ - "$SUPPORT/Cargo.toml" "$SUPPORT/methods/guest/Cargo.toml" \ - | sed -E 's/rev = "(.*)"/\1/' | sort -u)" - -pin_count="$(printf '%s\n' "$pins" | grep -c . || true)" -if [ "$pin_count" -ne 1 ]; then - fail "the guest and host workspaces pin different Interfold revisions: -$(printf '%s\n' "$pins" | sed 's/^/ /') - Every Interfold dependency in crates/support must name one revision." -fi -PINNED_REV="$pins" - -# The paths the pin decides the contents of. The guest compiles these through the git pin, so a -# change to them here does not reach the guest until the pin moves past it. -GUEST_SOURCE_PATHS="crates/compute-provider crates/support/types" - -# The pin must be a commit this repository knows, so a reviewer can diff it against the tree. -if git cat-file -e "${PINNED_REV}^{commit}" 2>/dev/null; then - if ! git merge-base --is-ancestor "$PINNED_REV" HEAD 2>/dev/null; then - warn "pinned revision ${PINNED_REV:0:8} is not an ancestor of HEAD. - The guest is built from sources that are not in this branch's history." - fi - - # Ancestry says the pin is a commit we know. It does not say the pin is current, and those are - # different questions: a pin can be a perfectly good ancestor and still predate every fix to the - # code it compiles. Ask the second question directly. - # shellcheck disable=SC2086 - last_source_change="$(git log -1 --format=%H -- $GUEST_SOURCE_PATHS 2>/dev/null || true)" - if [ -n "$last_source_change" ] && - ! git merge-base --is-ancestor "$last_source_change" "$PINNED_REV" 2>/dev/null; then - warn "the guest pin predates the last change to the code it compiles. - pinned: ${PINNED_REV:0:8} - last change: ${last_source_change:0:8} ($GUEST_SOURCE_PATHS) - The guest still runs the older code. Move the pin to a pushed commit that contains the change, - update both lockfiles, rebuild the guest, and commit the regenerated $IMAGE_ID_SOL." - fi - - # Third question: will the pin still resolve a year from now? Ancestry and currency are both - # satisfied by a branch tip, and a branch tip is exactly what stops resolving. This repository - # squash-merges, so the commit a feature branch pointed at is replaced by a new one on main and - # the original ends up referenced by nothing; once it is collected, `cargo fetch` cannot retrieve - # it and the guest can no longer be built at all. - # - # A tagged commit does not have that problem: the tag is a ref, so the commit stays reachable, - # and it is an ancestor of main besides. Pin by `rev` rather than by `tag` even so — a tag can be - # moved, and a pin deciding which code the guest runs should be content-addressed. - if pin_tag="$(git describe --exact-match --tags "$PINNED_REV" 2>/dev/null)"; then - echo "check:image-id: pin ${PINNED_REV:0:8} is the released commit $pin_tag." - else - warn "the guest pin is not a released commit. - pinned: ${PINNED_REV:0:8} - Nothing but this branch refers to it, and squash-merging replaces the branch commit, so the pin - will stop resolving once the original is collected. Re-pin to the commit a release tag names - once this merges, and record the tag in the rationale in crates/support/Cargo.toml." - fi -else - warn "pinned revision ${PINNED_REV:0:8} is not present locally; run 'git fetch' to check it." -fi - -# A bare hash says nothing about why it was chosen. Tie it to the baseline recorded in the audit -# index, so moving the pin is a deliberate act that updates the documented reason with it. -AUDIT_BASELINE="c2097da61b4d07c4ce83840393ff4e9f171eefb4" -AUDIT_README="packages/interfold-contracts/audits/README.md" - -if ! grep -q "$AUDIT_BASELINE" "$AUDIT_README" 2>/dev/null; then - fail "the audit baseline $AUDIT_BASELINE recorded in this script is not documented in - $AUDIT_README. Keep the two in step." -fi - -if [ "$PINNED_REV" != "$AUDIT_BASELINE" ]; then - warn "the guest pin has moved off the documented audit baseline. - pinned: $PINNED_REV - baseline: $AUDIT_BASELINE - That is expected once the pin is bumped past the audit, and this warning is then the standing - reminder that the guest no longer runs audited code. Leave AUDIT_BASELINE alone unless a later - audit sets a new one: it is asserted against the audits README as that audit's scope commit, so - pointing it at an unreviewed revision would make this script vouch for a review that never - happened. Keep the reason current in the rationale in crates/support/Cargo.toml instead." -fi - -# --- 2. Toolchain sync -------------------------------------------------------------------------- -# The guest lockfile pins fhe.rs, whose workspace declares an MSRV. A guest toolchain below that -# MSRV cannot build the guest at all, and the failure surfaces only at container start. - -docker_toolchain="$(grep -oE '^ARG RISC0_TOOLCHAIN=.*' "$DOCKERFILE" | cut -d= -f2 || true)" -repo_toolchain="$(grep -oE '^channel = "[^"]+"' "$TOOLCHAIN_TOML" | cut -d'"' -f2 || true)" - -[ -n "$docker_toolchain" ] || fail "no ARG RISC0_TOOLCHAIN in $DOCKERFILE" -[ -n "$repo_toolchain" ] || fail "no channel in $TOOLCHAIN_TOML" - -if [ "$docker_toolchain" != "$repo_toolchain" ]; then - fail "guest toolchain drift. - $DOCKERFILE ARG RISC0_TOOLCHAIN=$docker_toolchain - $TOOLCHAIN_TOML channel = \"$repo_toolchain\" - The guest builds the same dependency tree as the host, so these must match." -fi - -# --- 3. Source drift ---------------------------------------------------------------------------- -# Digest every input that changes the guest image: the guest crate, the journal types, the user -# program, the build script, the resolved dependency graph, and the pinned revision. - -# -# Manifest files are normalized first: a TOML comment cannot reach the compiled guest, and a gate -# that fails on one teaches people to re-stamp without thinking. Rust sources are digested byte for -# byte — over-strictness there costs a rebuild, while under-strictness ships a wrong image ID. -digest_manifest() { - # Drop comment-only lines and blank lines, so documentation edits do not read as source drift. - sed -E 's/^[[:space:]]*#.*$//' "$1" | grep -v '^[[:space:]]*$' -} - -guest_inputs_digest() { - { - find "$SUPPORT/methods/guest" "$SUPPORT/types" "$SUPPORT/program" \ - -type f -name '*.rs' | LC_ALL=C sort | xargs shasum -a 256 - shasum -a 256 "$SUPPORT/methods/build.rs" - - for manifest in $(find "$SUPPORT/methods/guest" "$SUPPORT/types" "$SUPPORT/program" \ - -type f \( -name 'Cargo.toml' -o -name 'Cargo.lock' \) | LC_ALL=C sort); do - echo "manifest $manifest" - digest_manifest "$manifest" - done - echo "manifest $SUPPORT/Cargo.toml" - digest_manifest "$SUPPORT/Cargo.toml" - - echo "pinned-rev $PINNED_REV" - echo "risc0-toolchain $docker_toolchain" - grep -oE '^ARG RISC0_VERSION=.*' "$DOCKERFILE" - } | shasum -a 256 | cut -d' ' -f1 -} - -current_digest="$(guest_inputs_digest)" -current_image_id="$(grep -oE '0x[0-9a-fA-F]{64}' "$IMAGE_ID_SOL" | head -1)" - -[ -n "$current_image_id" ] || fail "no PROGRAM_ID found in $IMAGE_ID_SOL" - -if [ "$REBUILD" = true ]; then - command -v docker >/dev/null 2>&1 || fail "--rebuild needs Docker, which is not on PATH" - echo "check:image-id: rebuilding the guest with the RISC Zero Docker builder..." - ( cd "$SUPPORT" && RISC0_USE_DOCKER=1 cargo build --release -p methods ) - rebuilt_image_id="$(grep -oE '0x[0-9a-fA-F]{64}' "$IMAGE_ID_SOL" | head -1)" - if [ "$rebuilt_image_id" != "$current_image_id" ]; then - fail "the rebuilt guest does not match the committed image ID. - committed: $current_image_id - rebuilt: $rebuilt_image_id - Commit the regenerated $IMAGE_ID_SOL and refresh $STAMP." - fi - echo "✅ check:image-id: rebuild reproduces the committed image ID." - - # Record it. Leaving the stamp at imageIdVerified:false after a successful rebuild would keep - # every downstream provenance manifest incomplete and keep this script warning about an image ID - # that has in fact been reproduced. - rebuilt_digest="$(guest_inputs_digest)" - - # Written to a temporary file in the same directory and renamed, never truncated in place. A - # partial stamp is worse than no stamp: `generate-provenance-manifest.ts` reads the absence of a - # literal `"imageIdVerified": false` as verified, so a write interrupted mid-JSON would let an - # unverified guest produce a complete provenance manifest. `mv` within one directory is atomic. - stamp_tmp="$(mktemp "$(dirname "$STAMP")/.ImageID.stamp.json.XXXXXX")" - trap 'rm -f "$stamp_tmp"' EXIT - cat > "$stamp_tmp" < Date: Tue, 18 Aug 2026 21:19:25 +0100 Subject: [PATCH 25/30] ci: trigger From ac2d601e0a616836b7449f17591170b856bd7c79 Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Tue, 18 Aug 2026 21:35:38 +0100 Subject: [PATCH 26/30] chore: format --- .../src/circuits/threshold/user_data_encryption/utils.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/crates/zk-helpers/src/circuits/threshold/user_data_encryption/utils.rs b/crates/zk-helpers/src/circuits/threshold/user_data_encryption/utils.rs index f4aa49a1bb..6d1446ebd7 100644 --- a/crates/zk-helpers/src/circuits/threshold/user_data_encryption/utils.rs +++ b/crates/zk-helpers/src/circuits/threshold/user_data_encryption/utils.rs @@ -46,7 +46,9 @@ pub fn bfv_ciphertext_to_greco( // compound on the other. Spelling that out here rather than folding the two calls into one // helper, because a reused helper reads as though it might carry state across them. let wrap = |e: CrtPolynomialError| { - ZkHelpersUtilsError::ConversionError(format!("Failed to convert ciphertext polynomial: {e}")) + ZkHelpersUtilsError::ConversionError(format!( + "Failed to convert ciphertext polynomial: {e}" + )) }; let ct0is = fhe_poly_to_crt_centered(&ciphertext[0], moduli).map_err(wrap)?; @@ -172,12 +174,12 @@ pub fn compute_ciphertext_commitment( #[cfg(test)] mod tests { use super::*; - use num_bigint::BigInt; use crate::circuits::computation::Computation; use crate::threshold::user_data_encryption::computation::Inputs; use crate::threshold::user_data_encryption::UserDataEncryptionCircuitData; use e3_fhe_params::{build_pair_for_preset, BfvPreset}; use fhe_traits::DeserializeParametrized; + use num_bigint::BigInt; #[test] fn test_bfv_public_key_to_greco() { From f5c5ff41153c4530a41ef4cf5c9979545af3f8df Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Tue, 18 Aug 2026 22:06:49 +0100 Subject: [PATCH 27/30] chore: hardhat config --- templates/default/hardhat.config.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/templates/default/hardhat.config.ts b/templates/default/hardhat.config.ts index 856d06f607..7d9855ace6 100644 --- a/templates/default/hardhat.config.ts +++ b/templates/default/hardhat.config.ts @@ -145,6 +145,7 @@ const config: HardhatUserConfig = { '@interfold/contracts/contracts/test/MockDecryptionVerifier.sol', '@interfold/contracts/contracts/test/MockDkgFoldAttestationVerifier.sol', '@interfold/contracts/contracts/test/MockE3Program.sol', + '@interfold/contracts/contracts/test/MockE3ProgramHarness.sol', '@interfold/contracts/contracts/test/MockPkVerifier.sol', '@interfold/contracts/contracts/test/MockSlashingVerifier.sol', '@interfold/contracts/contracts/test/MockStableToken.sol', From dbb1be6bd7398006a5006ae731043d1a0f4f8048 Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Tue, 18 Aug 2026 22:12:47 +0100 Subject: [PATCH 28/30] fix: crisp tests --- crates/program-server/src/lib.rs | 37 +++++++++++++++++++++++--------- crates/support/app/src/main.rs | 21 ++++++++++++------ 2 files changed, 41 insertions(+), 17 deletions(-) diff --git a/crates/program-server/src/lib.rs b/crates/program-server/src/lib.rs index bf75472a31..51df53e62e 100644 --- a/crates/program-server/src/lib.rs +++ b/crates/program-server/src/lib.rs @@ -258,9 +258,23 @@ fn ensure_public_callback_host(url: &reqwest::Url) -> Result<()> { return Ok(()); } + // Loopback is deliberately NOT treated as internal. + // + // The escalation that makes SSRF worth guarding is reaching hosts the caller cannot reach + // itself: cloud metadata at 169.254.169.254, RFC1918 services on the deployment's LAN, names + // under .internal. Loopback is the machine this server already runs on, and anyone who can post + // to this endpoint can address that host directly, so bouncing a request off its own loopback + // adds little reach. It is not zero risk — a localhost-only admin port is still a target — but + // it is a different class from pivoting into a private network. + // + // It is also how every local and CI deployment works: the callback is a webhook on the same + // host, and `with_localhost_rewrite` is unset by default. Rejecting it broke the CRISP + // end-to-end run for no security gain that a caller could not already obtain. fn v4_is_internal(ip: Ipv4Addr) -> bool { + if ip.is_loopback() { + return false; + } ip.is_private() - || ip.is_loopback() || ip.is_link_local() || ip.is_broadcast() || ip.is_documentation() @@ -274,8 +288,10 @@ fn ensure_public_callback_host(url: &reqwest::Url) -> Result<()> { if let Some(mapped) = ip.to_ipv4_mapped() { return v4_is_internal(mapped); } - ip.is_loopback() - || ip.is_unspecified() + if ip.is_loopback() { + return false; + } + ip.is_unspecified() // fc00::/7 unique-local, fe80::/10 link-local. || (ip.segments()[0] & 0xfe00) == 0xfc00 || (ip.segments()[0] & 0xffc0) == 0xfe80 @@ -289,11 +305,9 @@ fn ensure_public_callback_host(url: &reqwest::Url) -> Result<()> { Ok(IpAddr::V4(ip)) => v4_is_internal(ip), Ok(IpAddr::V6(ip)) => v6_is_internal(ip), Err(_) => { + // `localhost` resolves to loopback, and is allowed for the same reason. let lowered = bare.to_ascii_lowercase(); - lowered == "localhost" - || lowered.ends_with(".localhost") - || lowered.ends_with(".local") - || lowered.ends_with(".internal") + lowered.ends_with(".local") || lowered.ends_with(".internal") } } } @@ -633,11 +647,14 @@ mod server_tests { assert!(validated_callback_url("http://169.254.169.254/latest/meta-data", None).is_err()); assert!(validated_callback_url("http://10.0.0.5/hook", None).is_err()); assert!(validated_callback_url("http://192.168.1.10/hook", None).is_err()); - assert!(validated_callback_url("http://127.0.0.1/hook", None).is_err()); - assert!(validated_callback_url("http://[::1]/hook", None).is_err()); assert!(validated_callback_url("http://[fd00::1]/hook", None).is_err()); assert!(validated_callback_url("http://100.64.0.1/hook", None).is_err()); - assert!(validated_callback_url("http://localhost/hook", None).is_err()); + + // Loopback is allowed: it reaches only the host this server already runs on, and it is how + // every local and CI deployment delivers its webhook. + assert!(validated_callback_url("http://127.0.0.1/hook", None).is_ok()); + assert!(validated_callback_url("http://[::1]/hook", None).is_ok()); + assert!(validated_callback_url("http://localhost:4000/hook", None).is_ok()); } #[test] diff --git a/crates/support/app/src/main.rs b/crates/support/app/src/main.rs index b8d72b7053..870b2a3ce4 100644 --- a/crates/support/app/src/main.rs +++ b/crates/support/app/src/main.rs @@ -190,9 +190,16 @@ fn validate_callback_url(raw: &str) -> ActixResult<()> { return Ok(()); } + // Loopback is deliberately NOT treated as internal. The escalation worth guarding is reaching + // hosts the caller cannot reach itself — cloud metadata, RFC1918 services, .internal names. + // Loopback is the machine this server already runs on, and it is how every local deployment + // posts its webhook. Note this runs BEFORE the localhost -> host.local rewrite below, so that + // rewrite is unaffected by `.local` remaining blocked. fn v4_is_internal(ip: Ipv4Addr) -> bool { + if ip.is_loopback() { + return false; + } ip.is_private() - || ip.is_loopback() || ip.is_link_local() || ip.is_broadcast() || ip.is_documentation() @@ -205,8 +212,10 @@ fn validate_callback_url(raw: &str) -> ActixResult<()> { if let Some(mapped) = ip.to_ipv4_mapped() { return v4_is_internal(mapped); } - ip.is_loopback() - || ip.is_unspecified() + if ip.is_loopback() { + return false; + } + ip.is_unspecified() || (ip.segments()[0] & 0xfe00) == 0xfc00 || (ip.segments()[0] & 0xffc0) == 0xfe80 } @@ -218,11 +227,9 @@ fn validate_callback_url(raw: &str) -> ActixResult<()> { Ok(IpAddr::V4(ip)) => v4_is_internal(ip), Ok(IpAddr::V6(ip)) => v6_is_internal(ip), Err(_) => { + // `localhost` resolves to loopback, and is allowed for the same reason. let lowered = bare.to_ascii_lowercase(); - lowered == "localhost" - || lowered.ends_with(".localhost") - || lowered.ends_with(".local") - || lowered.ends_with(".internal") + lowered.ends_with(".local") || lowered.ends_with(".internal") } } } From eb6200db2d042bfbfb2e29393b44ddbc3b3d8dd2 Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Tue, 18 Aug 2026 22:19:52 +0100 Subject: [PATCH 29/30] chore(crisp): publish version 0.18.0-insecure.0 - Updated @crisp-e3/sdk to 0.18.0-insecure.0 - Updated @crisp-e3/contracts to 0.18.0-insecure.0 - Updated @crisp-e3/zk-inputs to 0.18.0-insecure.0 - Published to npm --- examples/CRISP/RELEASING.md | 14 +++++++------- examples/CRISP/client/package.json | 2 +- examples/CRISP/client/pnpm-lock.yaml | 18 +++++++++--------- .../crisp-contracts/tests/census-mode.test.ts | 15 +++++---------- .../tests/onchain-census.test.ts | 10 +--------- examples/CRISP/packages/crisp-sdk/README.md | 2 +- examples/CRISP/packages/crisp-sdk/src/index.ts | 9 +-------- .../CRISP/packages/crisp-sdk/tsup.config.js | 6 +----- examples/CRISP/server/Readme.md | 4 ++-- 9 files changed, 28 insertions(+), 52 deletions(-) diff --git a/examples/CRISP/RELEASING.md b/examples/CRISP/RELEASING.md index 83ca35a471..b06509b1da 100644 --- a/examples/CRISP/RELEASING.md +++ b/examples/CRISP/RELEASING.md @@ -3,10 +3,10 @@ `@crisp-e3/sdk` and `@crisp-e3/contracts` are published as a matched pair on two channels, split by BFV preset. -| channel | tag | preset | who it is for | -| --- | --- | --- | --- | -| testing | `testing` | `insecure-512` | testnets, demos, local development | -| production | `latest` | `secure-8192` | real rounds | +| channel | tag | preset | who it is for | +| ---------- | --------- | -------------- | ---------------------------------- | +| testing | `testing` | `insecure-512` | testnets, demos, local development | +| production | `latest` | `secure-8192` | real rounds | ## Why the channels are split by preset @@ -20,8 +20,8 @@ which is a loud, immediate error rather than a silently wrong proof: ```ts // on @crisp-e3/sdk@testing -import { loadCircuits } from '@crisp-e3/sdk/insecure-512' // resolves -import { loadCircuits } from '@crisp-e3/sdk/secure-8192' // ERR_MODULE_NOT_FOUND +import { loadCircuits } from '@crisp-e3/sdk/insecure-512' // resolves +import { loadCircuits } from '@crisp-e3/sdk/secure-8192' // ERR_MODULE_NOT_FOUND ``` It also keeps the secure circuits out of every testing install. They are far larger than the @@ -68,7 +68,7 @@ pnpm publish:prod `prepublishOnly` runs `check-presets` on both packages, which refuses to publish a channel whose artifacts do not match its preset — a missing preset, a stub bundle, an exports entry pointing at -nothing, missing verifiers, or the *other* preset's bundle being present. +nothing, missing verifiers, or the _other_ preset's bundle being present. ## Deploying diff --git a/examples/CRISP/client/package.json b/examples/CRISP/client/package.json index 5443cc520d..50e18f5035 100644 --- a/examples/CRISP/client/package.json +++ b/examples/CRISP/client/package.json @@ -18,7 +18,7 @@ "deploy": "gh-pages -d dist" }, "dependencies": { - "@crisp-e3/sdk": "0.17.0", + "@crisp-e3/sdk": "0.18.0-insecure.0", "@emotion/babel-plugin": "^11.11.0", "@emotion/react": "^11.11.4", "@phosphor-icons/react": "^2.1.4", diff --git a/examples/CRISP/client/pnpm-lock.yaml b/examples/CRISP/client/pnpm-lock.yaml index d1c12e3ba5..e888ab2b59 100644 --- a/examples/CRISP/client/pnpm-lock.yaml +++ b/examples/CRISP/client/pnpm-lock.yaml @@ -18,8 +18,8 @@ importers: .: dependencies: '@crisp-e3/sdk': - specifier: 0.17.0 - version: 0.17.0(bufferutil@4.1.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) + specifier: 0.18.0-insecure.0 + version: 0.18.0-insecure.0(bufferutil@4.1.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) '@emotion/babel-plugin': specifier: ^11.11.0 version: 11.13.5 @@ -733,11 +733,11 @@ packages: '@coinbase/wallet-sdk@4.3.6': resolution: {integrity: sha512-4q8BNG1ViL4mSAAvPAtpwlOs1gpC+67eQtgIwNvT3xyeyFFd+guwkc8bcX5rTmQhXpqnhzC4f0obACbP9CqMSA==} - '@crisp-e3/sdk@0.17.0': - resolution: {integrity: sha512-hNjEsx3CRvaN5Gu9EJa0/vaGLxSDy2a4bfJJrQ5a+FR0TwzQu7W+GA7JMjLRDDdcTAUDJ0G/bak5kzxa+0ZYQg==} + '@crisp-e3/sdk@0.18.0-insecure.0': + resolution: {integrity: sha512-1qwFF8sR1VDDoSH178gr+DzluMThGhdCNpx9SsMJLC+gpPlU8A7qKThNv1P7hxaMB12q15so6KJumhL7euf7Gg==} - '@crisp-e3/zk-inputs@0.17.0': - resolution: {integrity: sha512-wd61MnDStHokxZHCNMIdqdC7vuiNkWwUzs2T4+Ag87vnTWVltHL3dUHqdx0eFxFQU2YXlKo16+CfbsfxZYv9HQ==} + '@crisp-e3/zk-inputs@0.18.0-insecure.0': + resolution: {integrity: sha512-vgIb8cixmxeLTYEfvmKlzGzMDQg1/Y1xc9wIcSrlDBZRxEdHz3bpnBV59GPVCG4Fx5obXHKDvILhyIdT2n8Nqw==} '@ecies/ciphers@0.2.6': resolution: {integrity: sha512-patgsRPKGkhhoBjETV4XxD0En4ui5fbX0hzayqI3M8tvNMGUoUvmyYAIWwlxBc1KX5cturfqByYdj5bYGRpN9g==} @@ -5635,10 +5635,10 @@ snapshots: - utf-8-validate - zod - '@crisp-e3/sdk@0.17.0(bufferutil@4.1.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76)': + '@crisp-e3/sdk@0.18.0-insecure.0(bufferutil@4.1.0)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76)': dependencies: '@aztec/bb.js': 5.1.0 - '@crisp-e3/zk-inputs': 0.17.0 + '@crisp-e3/zk-inputs': 0.18.0-insecure.0 '@noir-lang/noir_js': 1.0.0-beta.26 '@zk-kit/lean-imt': 2.2.5(bufferutil@4.1.0)(utf-8-validate@5.0.10) poseidon-lite: 0.3.0 @@ -5649,7 +5649,7 @@ snapshots: - utf-8-validate - zod - '@crisp-e3/zk-inputs@0.17.0': {} + '@crisp-e3/zk-inputs@0.18.0-insecure.0': {} '@ecies/ciphers@0.2.6(@noble/ciphers@1.3.0)': dependencies: diff --git a/examples/CRISP/packages/crisp-contracts/tests/census-mode.test.ts b/examples/CRISP/packages/crisp-contracts/tests/census-mode.test.ts index 4bcbec49ed..4f7ffdea29 100644 --- a/examples/CRISP/packages/crisp-contracts/tests/census-mode.test.ts +++ b/examples/CRISP/packages/crisp-contracts/tests/census-mode.test.ts @@ -35,13 +35,7 @@ describe('CRISPProgram census mode', function () { opts: { token?: string; credits?: number; divisor?: number; minVotingPower?: bigint } = {}, ) => { const types = ['address', 'uint256', 'uint256', 'uint256', 'uint256'] - const values: unknown[] = [ - opts.token ?? ethers.ZeroAddress, - opts.minVotingPower ?? 0n, - numOptions, - creditMode, - opts.credits ?? 1, - ] + const values: unknown[] = [opts.token ?? ethers.ZeroAddress, opts.minVotingPower ?? 0n, numOptions, creditMode, opts.credits ?? 1] if (censusMode !== undefined) { types.push('uint256', 'uint256') // 0 means "derive the divisor from the token's decimals". @@ -136,9 +130,10 @@ describe('CRISPProgram census mode', function () { const token = await votes.getAddress() // Derived divisor is 10 ** (18 - 1); a floor under that admits sub-unit voters. - await expect( - validate(40, encode(CUSTOM, ONCHAIN, 2, { token, minVotingPower: 10n ** 17n - 1n })), - ).to.be.revertedWithCustomError(crispProgram, 'MinVotingPowerBelowScale') + await expect(validate(40, encode(CUSTOM, ONCHAIN, 2, { token, minVotingPower: 10n ** 17n - 1n }))).to.be.revertedWithCustomError( + crispProgram, + 'MinVotingPowerBelowScale', + ) // Exactly one ballot unit is enough. await validate(41, encode(CUSTOM, ONCHAIN, 2, { token, minVotingPower: 10n ** 17n })) diff --git a/examples/CRISP/packages/crisp-contracts/tests/onchain-census.test.ts b/examples/CRISP/packages/crisp-contracts/tests/onchain-census.test.ts index 26e38e68d8..1129ecad3f 100644 --- a/examples/CRISP/packages/crisp-contracts/tests/onchain-census.test.ts +++ b/examples/CRISP/packages/crisp-contracts/tests/onchain-census.test.ts @@ -80,15 +80,7 @@ describe('CRISP on-chain census', function () { }) => ethers.AbiCoder.defaultAbiCoder().encode( ['address', 'uint256', 'uint256', 'uint256', 'uint256', 'uint256', 'uint256'], - [ - opts.token, - opts.minVotingPower, - opts.numOptions, - opts.creditMode, - opts.credits, - opts.censusMode, - opts.votingPowerDivisor ?? 0n, - ], + [opts.token, opts.minVotingPower, opts.numOptions, opts.creditMode, opts.credits, opts.censusMode, opts.votingPowerDivisor ?? 0n], ) before(async function () { diff --git a/examples/CRISP/packages/crisp-sdk/README.md b/examples/CRISP/packages/crisp-sdk/README.md index 5524185f64..d6e5b0332f 100644 --- a/examples/CRISP/packages/crisp-sdk/README.md +++ b/examples/CRISP/packages/crisp-sdk/README.md @@ -26,7 +26,7 @@ both. Each ships as its own subpath, so your bundler pulls only the one you impo ```ts import { setCircuits } from '@crisp-e3/sdk' -import { loadCircuits } from '@crisp-e3/sdk/insecure-512' // or '@crisp-e3/sdk/secure-8192' +import { loadCircuits } from '@crisp-e3/sdk/insecure-512' // or '@crisp-e3/sdk/secure-8192' setCircuits(await loadCircuits()) ``` diff --git a/examples/CRISP/packages/crisp-sdk/src/index.ts b/examples/CRISP/packages/crisp-sdk/src/index.ts index a999198465..6efaa690f5 100644 --- a/examples/CRISP/packages/crisp-sdk/src/index.ts +++ b/examples/CRISP/packages/crisp-sdk/src/index.ts @@ -4,14 +4,7 @@ // without even the implied warranty of MERCHANTABILITY // or FITNESS FOR A PARTICULAR PURPOSE. -export { - setCircuits, - getRegisteredCircuits, - registeredPreset, - requireCircuits, - type CircuitBundle, - type CircuitPreset, -} from './circuits' +export { setCircuits, getRegisteredCircuits, registeredPreset, requireCircuits, type CircuitBundle, type CircuitPreset } from './circuits' export * from './token' export * from './state' export * from './api' diff --git a/examples/CRISP/packages/crisp-sdk/tsup.config.js b/examples/CRISP/packages/crisp-sdk/tsup.config.js index 68ee2d9cfc..33968884be 100644 --- a/examples/CRISP/packages/crisp-sdk/tsup.config.js +++ b/examples/CRISP/packages/crisp-sdk/tsup.config.js @@ -44,11 +44,7 @@ if (requested === undefined) { } export default defineConfig({ - entry: [ - 'src/index.ts', - 'src/workers/generateCircuitInputs.worker.ts', - ...selected.map((preset) => `src/presets/${preset}.ts`), - ], + entry: ['src/index.ts', 'src/workers/generateCircuitInputs.worker.ts', ...selected.map((preset) => `src/presets/${preset}.ts`)], include: ['src/**/*.ts'], splitting: false, sourcemap: true, diff --git a/examples/CRISP/server/Readme.md b/examples/CRISP/server/Readme.md index 0e72bbdcde..67138bb247 100644 --- a/examples/CRISP/server/Readme.md +++ b/examples/CRISP/server/Readme.md @@ -78,8 +78,8 @@ The server exposes several RESTful API endpoints: ## Upgrading across an input-format change -`InputPublished` and the durable round record both carry per-input fields, and both have changed. -A deployment that adds one cannot be rolled forward over a round that is already taking inputs: +`InputPublished` and the durable round record both carry per-input fields, and both have changed. A +deployment that adds one cannot be rolled forward over a round that is already taking inputs: - the event's topic hash changes with its signature, so the indexer no longer matches the logs an already-deployed `CRISPProgram` emits; From 84f8b87ebbe593816993696d1704cd3b29f4c35e Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Tue, 18 Aug 2026 22:26:16 +0100 Subject: [PATCH 30/30] chore: updates --- agent/CRATES_ARCHITECTURE.md | 6 +-- agent/INVARIANTS.md | 27 +++++----- .../flow-trace/05_FAILURE_REFUND_SLASHING.md | 8 +-- pnpm-lock.yaml | 50 +++++++++++++------ 4 files changed, 57 insertions(+), 34 deletions(-) diff --git a/agent/CRATES_ARCHITECTURE.md b/agent/CRATES_ARCHITECTURE.md index 4c0a138bac..cdccdf0808 100644 --- a/agent/CRATES_ARCHITECTURE.md +++ b/agent/CRATES_ARCHITECTURE.md @@ -573,9 +573,9 @@ semantic replay domain across deferred, in-flight, and completed submissions. Re failures release their key. Successful or known-benign terminal results retain it. Every node reads the proof-type policy after a fault quorum. A disabled policy produces a durable, -E3-scoped `CommitteeMemberExcluded` fact instead of a transaction that must revert. This fact is -not an on-chain expulsion: it changes only the current E3's collectors and aggregator selection. -The canonical N-member roster remains unchanged for proof binding, rewards, and registry state. +E3-scoped `CommitteeMemberExcluded` fact instead of a transaction that must revert. This fact is not +an on-chain expulsion: it changes only the current E3's collectors and aggregator selection. The +canonical N-member roster remains unchanged for proof binding, rewards, and registry state. The gate is deliberately described as in-memory: there is no durable external-effect outbox or persisted transaction intent. A crash after snapshot advancement but before receipt classification diff --git a/agent/INVARIANTS.md b/agent/INVARIANTS.md index 80c0a95216..d6618cbbe9 100644 --- a/agent/INVARIANTS.md +++ b/agent/INVARIANTS.md @@ -381,12 +381,12 @@ skip-proof feature containment (`pnpm check:invariants`, baselines in result unpublishable. — `flow-trace/04` - **The leaf layout and input selection are the E3 program's, not the crate's.** They are supplied as an `InputPolicy`, because a leaf must match whatever that program builds on chain and no two - programs need agree, and because "what does a second input for the same participant mean?" has - no universal answer. `InputPolicy::default` is the historical behaviour — leaf is the - ciphertext's own commitment, every input counts — which matches the starter template. Every E3 - program exports `policy()` beside `fhe_processor`. — `flow-trace/04` -- **CRISP binds bytes, commitment, slot and parent into its leaf, and selects the end of each - slot's chain.** `CRISPProgram.inputLeaf` is + programs need agree, and because "what does a second input for the same participant mean?" has no + universal answer. `InputPolicy::default` is the historical behaviour — leaf is the ciphertext's + own commitment, every input counts — which matches the starter template. Every E3 program exports + `policy()` beside `fhe_processor`. — `flow-trace/04` +- **CRISP binds bytes, commitment, slot and parent into its leaf, and selects the end of each slot's + chain.** `CRISPProgram.inputLeaf` is `sha256(sha256(bytes) || commitment || slot || parentIndexPlusOne) mod SNARK_SCALAR_FIELD` and `e3_user_program::policy` rebuilds it byte for byte; a divergence makes every root mismatch and nothing else would catch it, so both sides pin the same vector (`program/tests/input_leaf.rs`, @@ -396,7 +396,7 @@ skip-proof feature containment (`pnpm check:invariants`, baselines in vote. — `flow-trace/04` - **A slot's head must be openable by anyone, so selection follows a parent chain rather than a mutable pointer.** `chain_head_per_slot` takes an entry only when its bytes reproduce its - commitment *and* the entry it names is that slot's current head. `CRISPProgram` cannot check the + commitment _and_ the entry it names is that slot's current head. `CRISPProgram` cannot check the first — the commitment is a Poseidon sponge over CRT limbs and the circuit never sees the serialization — so with one mutable head per slot, anyone could publish a valid proof beside unusable bytes and leave a head only they can open. A slot nobody can mask is a slot where every @@ -410,6 +410,7 @@ skip-proof feature containment (`pnpm check:invariants`, baselines in the slot or adds to it. Preferring the later sibling would let a mask on a superseded ciphertext restore it over a vote — a silent tally corruption, against a dropped re-vote the voter can see and retry. — `flow-trace/04` + - **CRISP's three ballot operations prove one relation and publish one shape.** Voting, updating, and masking all prove `published = addend + ballot`, with the addend selected by the private `is_mask_vote` and derived as `keep_previous = is_mask_vote & !is_first_vote`. The circuit returns @@ -417,18 +418,18 @@ skip-proof feature containment (`pnpm check:invariants`, baselines in the same server request either way. Branching any of these apart — a different published ciphertext, a different commitment for the digest, a different request — makes the three distinguishable on chain, which is what masks exist to prevent. Deriving the selector rather than - witnessing it is what stops a voter counting their old ballot twice and a masker erasing a vote. - — `flow-trace/04` + witnessing it is what stops a voter counting their old ballot twice and a masker erasing a vote. — + `flow-trace/04` - **CRISP constrains every coefficient of the ballot plaintext, at the real BFV degree.** The witness generator reverses the message over the full degree, so the payload sits at `k1[D - MAX_MSG_NON_ZERO_COEFFS ..]` with the options back to front; `crisp_lib::utils::ballot_layout` derives that offset and both checkers use it. Coefficients inside an option segment must be binary, everything outside the ballot region must be zero, and a mask's plaintext must be zero everywhere. Indexing as if the polynomial were the message width - makes both checks read only padding: every vote passes any balance bound, and a mask — which - needs no signature and may be written to any eligible slot — can carry an arbitrary payload into - someone else's ballot. Tests must build `k1` at the compiled degree, not at - `MAX_MSG_NON_ZERO_COEFFS`. — `flow-trace/04` + makes both checks read only padding: every vote passes any balance bound, and a mask — which needs + no signature and may be written to any eligible slot — can carry an arbitrary payload into someone + else's ballot. Tests must build `k1` at the compiled degree, not at `MAX_MSG_NON_ZERO_COEFFS`. — + `flow-trace/04` - **The SAFE ciphertext commitment requires exactly two components.** It covers `c[0]` and `c[1]` only, matching the Noir circuit, so `bfv_ciphertext_to_greco` rejects any other component count. A padded ciphertext would otherwise share a commitment with its two-component prefix while threshold diff --git a/agent/flow-trace/05_FAILURE_REFUND_SLASHING.md b/agent/flow-trace/05_FAILURE_REFUND_SLASHING.md index c4e0843730..4e7d018975 100644 --- a/agent/flow-trace/05_FAILURE_REFUND_SLASHING.md +++ b/agent/flow-trace/05_FAILURE_REFUND_SLASHING.md @@ -1301,13 +1301,13 @@ When a proof-fault quorum is reached while its on-chain policy is disabled, the separate `CommitteeMemberExcluded` event. Sortition resolves its stable `party_id` from the same immutable `CommitteeFinalized` roster and republishes the enriched event. The keyshare collectors, public-key aggregator, plaintext aggregator, and active-aggregator selector then treat that party as -unavailable for this E3. The final DKG proof still receives all N canonical committee addresses -from `CommitteeFinalized`; it never derives the proof-bound roster from the reduced keyshare set. +unavailable for this E3. The final DKG proof still receives all N canonical committee addresses from +`CommitteeFinalized`; it never derives the proof-bound roster from the reduced keyshare set. This fallback is availability-only. The excluded operator remains an active on-chain committee member, can remain eligible for future E3s, and can receive any reward that the contracts still -assign to it. Enable the matching slash policy when the deployment requires economic punishment, -an on-chain reward hold, or registry expulsion. +assign to it. Enable the matching slash policy when the deployment requires economic punishment, an +on-chain reward hold, or registry expulsion. --- diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bedbebeccb..5a4555bbf9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -115,16 +115,16 @@ importers: devDependencies: '@interfold/config': specifier: ^0 - version: link:../../packages/interfold-config + version: 0.9.0(eslint@9.39.1(jiti@1.21.7))(tsup@8.5.0(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@swc/core@1.15.46)(jiti@1.21.7)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3)(yaml@2.8.2))(typescript@5.8.3) '@playwright/test': specifier: 1.52.0 version: 1.52.0 '@synthetixio/synpress': specifier: 4.1.1 - version: 4.1.1(@depay/solana-web3.js@1.98.3)(@depay/web3-blockchains@9.8.13)(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@playwright/test@1.52.0)(@swc/core@1.15.46)(bufferutil@4.1.0)(ethers@6.17.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(jiti@1.21.7)(playwright-core@1.52.0)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3)(utf-8-validate@5.0.10) + version: 4.1.1(@depay/solana-web3.js@1.98.3)(@depay/web3-blockchains@9.8.13)(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@playwright/test@1.52.0)(@swc/core@1.15.46)(bufferutil@4.1.0)(ethers@6.17.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(jiti@1.21.7)(playwright-core@1.52.0)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3)(utf-8-validate@5.0.10)(yaml@2.8.2) '@synthetixio/synpress-cache': specifier: 0.0.13 - version: 0.0.13(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@swc/core@1.15.46)(jiti@1.21.7)(playwright-core@1.52.0)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3) + version: 0.0.13(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@swc/core@1.15.46)(jiti@1.21.7)(playwright-core@1.52.0)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3)(yaml@2.8.2) '@types/node': specifier: 22.7.5 version: 22.7.5 @@ -153,7 +153,7 @@ importers: examples/CRISP/client: dependencies: '@crisp-e3/sdk': - specifier: 0.17.0 + specifier: 0.18.0-insecure.0 version: link:../packages/crisp-sdk '@emotion/babel-plugin': specifier: ^11.11.0 @@ -782,7 +782,7 @@ importers: devDependencies: '@interfold/config': specifier: ^0 - version: link:../../packages/interfold-config + version: 0.9.0(eslint@9.39.1(jiti@1.21.7))(tsup@8.5.0(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@swc/core@1.15.46)(jiti@1.21.7)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3)(yaml@2.8.2))(typescript@5.8.3) '@nomicfoundation/hardhat-ethers': specifier: 4.0.3 version: 4.0.3(bufferutil@4.1.0)(hardhat@3.0.11(bufferutil@4.1.0)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) @@ -2540,6 +2540,12 @@ packages: cpu: [x64] os: [win32] + '@interfold/config@0.9.0': + resolution: {integrity: sha512-lJfbdJDR1DWj17wm2CAZJjPx5Oo+u5AQhGY0vFDrX2tIHuU2uKJ+Y1GqK3OT/J8QMfbWXeI2w2oTcGSK3O0uPA==} + peerDependencies: + eslint: ^9.0.0 + tsup: 8.5.0 + '@isaacs/balanced-match@4.0.1': resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} engines: {node: 20 || >=22} @@ -12451,6 +12457,22 @@ snapshots: '@img/sharp-win32-x64@0.34.5': optional: true + '@interfold/config@0.9.0(eslint@9.39.1(jiti@1.21.7))(tsup@8.5.0(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@swc/core@1.15.46)(jiti@1.21.7)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3)(yaml@2.8.2))(typescript@5.8.3)': + dependencies: + '@eslint/eslintrc': 3.3.1 + '@eslint/js': 9.39.1 + '@typescript-eslint/eslint-plugin': 8.65.0(@typescript-eslint/parser@8.65.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.8.3))(eslint@9.39.1(jiti@1.21.7))(typescript@5.8.3) + '@typescript-eslint/parser': 8.65.0(eslint@9.39.1(jiti@1.21.7))(typescript@5.8.3) + eslint: 9.39.1(jiti@1.21.7) + eslint-config-prettier: 10.1.8(eslint@9.39.1(jiti@1.21.7)) + eslint-plugin-react-hooks: 7.1.1(eslint@9.39.1(jiti@1.21.7)) + eslint-plugin-react-refresh: 0.4.26(eslint@9.39.1(jiti@1.21.7)) + globals: 15.15.0 + tsup: 8.5.0(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@swc/core@1.15.46)(jiti@1.21.7)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3)(yaml@2.8.2) + transitivePeerDependencies: + - supports-color + - typescript + '@isaacs/balanced-match@4.0.1': {} '@isaacs/brace-expansion@5.0.0': @@ -14545,7 +14567,7 @@ snapshots: - utf-8-validate - zod - '@synthetixio/synpress-cache@0.0.13(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@swc/core@1.15.46)(jiti@1.21.7)(playwright-core@1.52.0)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3)': + '@synthetixio/synpress-cache@0.0.13(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@swc/core@1.15.46)(jiti@1.21.7)(playwright-core@1.52.0)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3)(yaml@2.8.2)': dependencies: axios: 1.6.7 chalk: 5.3.0 @@ -14575,10 +14597,10 @@ snapshots: dependencies: '@playwright/test': 1.52.0 - '@synthetixio/synpress-metamask@0.0.13(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@playwright/test@1.52.0)(@swc/core@1.15.46)(bufferutil@4.1.0)(jiti@1.21.7)(playwright-core@1.52.0)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3)(utf-8-validate@5.0.10)': + '@synthetixio/synpress-metamask@0.0.13(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@playwright/test@1.52.0)(@swc/core@1.15.46)(bufferutil@4.1.0)(jiti@1.21.7)(playwright-core@1.52.0)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3)(utf-8-validate@5.0.10)(yaml@2.8.2)': dependencies: '@playwright/test': 1.52.0 - '@synthetixio/synpress-cache': 0.0.13(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@swc/core@1.15.46)(jiti@1.21.7)(playwright-core@1.52.0)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3) + '@synthetixio/synpress-cache': 0.0.13(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@swc/core@1.15.46)(jiti@1.21.7)(playwright-core@1.52.0)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3)(yaml@2.8.2) '@synthetixio/synpress-core': 0.0.13(@playwright/test@1.52.0) '@viem/anvil': 0.0.7(bufferutil@4.1.0)(utf-8-validate@5.0.10) fs-extra: 11.2.0 @@ -14597,10 +14619,10 @@ snapshots: - utf-8-validate - yaml - '@synthetixio/synpress-phantom@0.0.13(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@playwright/test@1.52.0)(@swc/core@1.15.46)(bufferutil@4.1.0)(jiti@1.21.7)(playwright-core@1.52.0)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3)(utf-8-validate@5.0.10)': + '@synthetixio/synpress-phantom@0.0.13(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@playwright/test@1.52.0)(@swc/core@1.15.46)(bufferutil@4.1.0)(jiti@1.21.7)(playwright-core@1.52.0)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3)(utf-8-validate@5.0.10)(yaml@2.8.2)': dependencies: '@playwright/test': 1.52.0 - '@synthetixio/synpress-cache': 0.0.13(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@swc/core@1.15.46)(jiti@1.21.7)(playwright-core@1.52.0)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3) + '@synthetixio/synpress-cache': 0.0.13(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@swc/core@1.15.46)(jiti@1.21.7)(playwright-core@1.52.0)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3)(yaml@2.8.2) '@synthetixio/synpress-core': 0.0.13(@playwright/test@1.52.0) '@viem/anvil': 0.0.7(bufferutil@4.1.0)(utf-8-validate@5.0.10) fs-extra: 11.2.0 @@ -14619,14 +14641,14 @@ snapshots: - utf-8-validate - yaml - '@synthetixio/synpress@4.1.1(@depay/solana-web3.js@1.98.3)(@depay/web3-blockchains@9.8.13)(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@playwright/test@1.52.0)(@swc/core@1.15.46)(bufferutil@4.1.0)(ethers@6.17.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(jiti@1.21.7)(playwright-core@1.52.0)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3)(utf-8-validate@5.0.10)': + '@synthetixio/synpress@4.1.1(@depay/solana-web3.js@1.98.3)(@depay/web3-blockchains@9.8.13)(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@playwright/test@1.52.0)(@swc/core@1.15.46)(bufferutil@4.1.0)(ethers@6.17.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(jiti@1.21.7)(playwright-core@1.52.0)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3)(utf-8-validate@5.0.10)(yaml@2.8.2)': dependencies: '@playwright/test': 1.52.0 '@synthetixio/ethereum-wallet-mock': 0.0.13(@depay/solana-web3.js@1.98.3)(@depay/web3-blockchains@9.8.13)(@playwright/test@1.52.0)(bufferutil@4.1.0)(ethers@6.17.0(bufferutil@4.1.0)(utf-8-validate@5.0.10))(typescript@5.8.3)(utf-8-validate@5.0.10) - '@synthetixio/synpress-cache': 0.0.13(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@swc/core@1.15.46)(jiti@1.21.7)(playwright-core@1.52.0)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3) + '@synthetixio/synpress-cache': 0.0.13(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@swc/core@1.15.46)(jiti@1.21.7)(playwright-core@1.52.0)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3)(yaml@2.8.2) '@synthetixio/synpress-core': 0.0.13(@playwright/test@1.52.0) - '@synthetixio/synpress-metamask': 0.0.13(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@playwright/test@1.52.0)(@swc/core@1.15.46)(bufferutil@4.1.0)(jiti@1.21.7)(playwright-core@1.52.0)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3)(utf-8-validate@5.0.10) - '@synthetixio/synpress-phantom': 0.0.13(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@playwright/test@1.52.0)(@swc/core@1.15.46)(bufferutil@4.1.0)(jiti@1.21.7)(playwright-core@1.52.0)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3)(utf-8-validate@5.0.10) + '@synthetixio/synpress-metamask': 0.0.13(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@playwright/test@1.52.0)(@swc/core@1.15.46)(bufferutil@4.1.0)(jiti@1.21.7)(playwright-core@1.52.0)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3)(utf-8-validate@5.0.10)(yaml@2.8.2) + '@synthetixio/synpress-phantom': 0.0.13(@microsoft/api-extractor@7.58.12(@types/node@22.7.5))(@playwright/test@1.52.0)(@swc/core@1.15.46)(bufferutil@4.1.0)(jiti@1.21.7)(playwright-core@1.52.0)(postcss@8.5.25)(tsx@4.20.6)(typescript@5.8.3)(utf-8-validate@5.0.10)(yaml@2.8.2) transitivePeerDependencies: - '@depay/solana-web3.js' - '@depay/web3-blockchains'

F?Lm4k=ILwA_I_prZ2~Z^pa-2hm0d?pI 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 h!|F#1Ry{jOz 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%0DnFq?$18dYDw=;!S44xsSBib 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%0A(Z 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 literal 0 HcmV?d00001 diff --git a/packages/interfold-contracts/audits/README.md b/packages/interfold-contracts/audits/README.md index 675b991614..4cdb34dc53 100644 --- a/packages/interfold-contracts/audits/README.md +++ b/packages/interfold-contracts/audits/README.md @@ -1,5 +1,45 @@ # Interfold Contract Audits -| Date | Auditor | Scope | Report | -| ---------- | ------- | ---------- | -------------------------------------------------------------------- | -| 2026-07-02 | Zenith | FOLD token | [20260702_audit_token_zenith.pdf](./20260702_audit_token_zenith.pdf) | +| Date | Auditor | Scope | Report | +| ---------- | ------- | ---------------------------- | ------------------------------------------------------------------------------------------------ | +| 2026-07-02 | Zenith | FOLD token | [20260702_audit_token_zenith.pdf](./20260702_audit_token_zenith.pdf) | +| 2026-08-17 | Zenith | Protocol contracts (6 files) | [20260714-Interfold - Zenith Audit Report.pdf](<./20260714-Interfold - Zenith Audit Report.pdf>) | + +## What the 2026-08-17 protocol audit covered + +Scope commit `c2097da61b4d07c4ce83840393ff4e9f171eefb4`; mitigation review at +`c64bcfb890b596e626ea6578c5fbd53f808c3b43`. Both reviews list the same six +files: + +``` +E3RefundManager.sol +Interfold.sol +lib/ExitQueueLib.sol +lib/InterfoldPricing.sol +registry/BondingRegistry.sol +registry/CiphernodeRegistryOwnable.sol +``` + +62 issues: 1 Critical, 6 High, 18 Medium, 19 Low, 18 Informational. + +**Read the scope before citing this report as assurance for anything else.** It +covers no Rust and no circuits. In particular, these are _not_ in either file +list: + +- `crates/compute-provider` and the RISC Zero guest — the Secure Process and its + input binding +- `crates/zk-helpers` — the SAFE ciphertext commitment +- `contracts/verifiers/bfv/Risc0BfvCiphertextVerifier.sol` +- `contracts/lib/InterfoldLifecycle.sol`, `lib/Risc0ComputeProof.sol`, + `lib/FailurePayerLib.sol` +- `examples/CRISP/**` + +Several `Z-` entries in `agent/flow-trace/00_INDEX.md` were remediated by adding +files that are themselves outside both file lists, so the remediation code did +not go through the mitigation review either. + +Zenith's own §2.5 Security Note: "it is statistically likely that there are more +complex bugs still present given the time-boxed nature of this engagement... a +follow-up audit and development of a more complex stateful test suite [should] +be undertaken prior to continuing to deploy significant monetary capital to +production." diff --git a/scripts/check-image-id.sh b/scripts/check-image-id.sh index 60b3b6d5d7..77a1cf0194 100755 --- a/scripts/check-image-id.sh +++ b/scripts/check-image-id.sh @@ -81,6 +81,24 @@ else warn "pinned revision ${PINNED_REV:0:8} is not present locally; run 'git fetch' to check it." fi +# A bare hash says nothing about why it was chosen. Tie it to the baseline recorded in the audit +# index, so moving the pin is a deliberate act that updates the documented reason with it. +AUDIT_BASELINE="c2097da61b4d07c4ce83840393ff4e9f171eefb4" +AUDIT_README="packages/interfold-contracts/audits/README.md" + +if ! grep -q "$AUDIT_BASELINE" "$AUDIT_README" 2>/dev/null; then + fail "the audit baseline $AUDIT_BASELINE recorded in this script is not documented in + $AUDIT_README. Keep the two in step." +fi + +if [ "$PINNED_REV" != "$AUDIT_BASELINE" ]; then + warn "the guest pin has moved off the documented audit baseline. + pinned: $PINNED_REV + baseline: $AUDIT_BASELINE + That is expected once the pin is bumped past the audit. Update AUDIT_BASELINE in this script and + the rationale in crates/support/Cargo.toml, so the reason for the pin stays true." +fi + # --- 2. Toolchain sync -------------------------------------------------------------------------- # The guest lockfile pins fhe.rs, whose workspace declares an MSRV. A guest toolchain below that # MSRV cannot build the guest at all, and the failure surfaces only at container start. diff --git a/scripts/generate-provenance-manifest.ts b/scripts/generate-provenance-manifest.ts index bec8a6576f..96ef922127 100644 --- a/scripts/generate-provenance-manifest.ts +++ b/scripts/generate-provenance-manifest.ts @@ -200,6 +200,16 @@ async function main() { hostToolchain: firstMatch(readIfPresent(path.join(REPO_ROOT, 'rust-toolchain.toml')), /channel = "([^"]+)"/), builderImage: builderImage(risc0Version), pinnedRevisions: pinnedRevisions(), + // Why the guest is pinned where it is, and what that pin does and does not certify. A + // consumer reading only a commit hash would reasonably assume the code behind it was + // audited; for the guest, it was not. + auditBaseline: { + commit: 'c2097da61b4d07c4ce83840393ff4e9f171eefb4', + report: 'packages/interfold-contracts/audits/20260714-Interfold - Zenith Audit Report.pdf', + mitigationReviewCommit: 'c64bcfb890b596e626ea6578c5fbd53f808c3b43', + guestInAuditScope: false, + note: 'The 2026-08-17 Zenith audit covered six Solidity files and no Rust. crates/compute-provider, the RISC Zero guest, crates/zk-helpers, and Risc0BfvCiphertextVerifier.sol were outside both the audit and the mitigation review.', + }, lockfiles: { 'crates/support/Cargo.lock': sha256File(path.join(SUPPORT, 'Cargo.lock')), 'crates/support/methods/guest/Cargo.lock': sha256File(path.join(SUPPORT, 'methods', 'guest', 'Cargo.lock')), From b9108b9169361f0254537397babe2b2c22923497 Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Mon, 17 Aug 2026 22:56:37 +0100 Subject: [PATCH 04/30] fix: crisp audit findings --- .github/workflows/releases.yml | 15 + BRANCH-NOTES.md | 58 +- Cargo.lock | 3 + agent/INVARIANTS.md | 20 + agent/flow-trace/04_DKG_AND_COMPUTATION.md | 61 ++ crates/compute-provider/Cargo.toml | 4 + crates/compute-provider/src/compute_input.rs | 601 +++++++++++++++++- .../src/merkle_tree_builder.rs | 117 +++- .../tests/onchain_root_agreement.rs | 169 +++++ crates/program-server/src/lib.rs | 36 ++ crates/program-server/src/types.rs | 12 + crates/support-scripts/dev/src/main.rs | 6 +- examples/CRISP/Cargo.lock | 6 +- examples/CRISP/crates/evm_helpers/src/lib.rs | 2 +- .../CRISP/crates/zk-inputs-wasm/src/lib.rs | 11 + examples/CRISP/crates/zk-inputs/src/lib.rs | 20 + .../contracts/CRISPProgram.sol | 83 ++- .../tests/fixtures/input-tree-append.json | 17 + .../tests/fixtures/input-tree.json | 13 + .../crisp-contracts/tests/input-leaf.test.ts | 108 ++++ .../tests/input-tree-e2e.test.ts | 283 +++++++++ .../packages/crisp-sdk/src/circuitInputs.ts | 9 +- .../CRISP/packages/crisp-sdk/src/types.ts | 11 + examples/CRISP/program/Cargo.toml | 4 + .../CRISP/program/tests/secure_process.rs | 345 ++++++++++ examples/CRISP/server/src/server/indexer.rs | 13 +- examples/CRISP/server/src/server/models.rs | 16 +- .../src/server/program_server_request.rs | 62 ++ examples/CRISP/server/src/server/repo.rs | 47 +- .../CRISP/server/src/server/routes/rounds.rs | 6 +- .../src/server/token_holders/etherscan.rs | 15 +- .../scripts/protocol/tx/interfold.ts | 15 +- .../scripts/protocol/types.ts | 9 + .../scripts/protocol/validate.ts | 25 + templates/default/Cargo.lock | 3 + 35 files changed, 2139 insertions(+), 86 deletions(-) create mode 100644 crates/compute-provider/tests/onchain_root_agreement.rs create mode 100644 examples/CRISP/packages/crisp-contracts/tests/fixtures/input-tree-append.json create mode 100644 examples/CRISP/packages/crisp-contracts/tests/fixtures/input-tree.json create mode 100644 examples/CRISP/packages/crisp-contracts/tests/input-leaf.test.ts create mode 100644 examples/CRISP/packages/crisp-contracts/tests/input-tree-e2e.test.ts create mode 100644 examples/CRISP/program/tests/secure_process.rs diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index c239db16b2..bc2d6768c3 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -456,10 +456,25 @@ jobs: with: path: dist/ + - uses: actions/setup-node@v4 + with: + node-version: '22' + + - uses: pnpm/action-setup@v4 + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + # A RISC Zero proof names a guest image; it does not name the source that produced it. This + # record is what lets a third party tie the released source to the deployed imageId. + - name: Generate compute-provider provenance manifest + run: pnpm provenance:manifest --out compute-provider-provenance.json + - name: Prepare release assets run: | mkdir -p release-assets find dist/ -name "*.tar.gz" -exec cp {} release-assets/ \; + cp compute-provider-provenance.json release-assets/ # `interfold config check` fetches this asset from the latest release, # so a release without it leaves operators unable to detect a redeploy. if [ ! -f deployments/manifest.json ]; then diff --git a/BRANCH-NOTES.md b/BRANCH-NOTES.md index 6ad7578ddb..116f4a37c1 100644 --- a/BRANCH-NOTES.md +++ b/BRANCH-NOTES.md @@ -11,7 +11,7 @@ its content into the pull request description. | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | | Guest proved the input root and the computation over unrelated input sets | `ComputeInput` holds only `fhe_inputs`; `process` derives the leaves from the ciphertexts it processed. `with_leaf_hashes` is now `#[cfg(test)]`. | `compute_input::tests` (2 tests) | | SAFE commitment ignored components beyond `c[1]` | `bfv_ciphertext_to_greco` rejects any component count other than two. | `ciphertext_with_more_than_two_components_is_rejected` | -| CRISP never bound the emitted ciphertext bytes to the stored commitment | **Not fixed. See "Open decision" below.** | — | +| CRISP never bound the emitted ciphertext bytes to the stored commitment | Leaf binds bytes, commitment and slot; tree is append-only; guest selects the latest usable entry per slot. See below. | 18 unit + 8 native + 2 cross-language + 8 Solidity | `ComputeManager::start_parallel` is removed. It set the final leaves to sub-tree roots, which is incompatible with deriving leaves from ciphertexts, and it produced a tree of sub-tree roots rather @@ -71,8 +71,11 @@ because that is the signature at the pinned revision. It is deliberately left al 1. Review and merge this branch. 2. Push, then bump both pins to the merge commit. -3. Update the two `ComputeManager::new` call sites in `crates/support/host/src/lib.rs` to the - three-argument signature. +3. Update the call sites in `crates/support` that track the crate's API: + - the two `ComputeManager::new` calls in `crates/support/host/src/lib.rs` drop the `use_parallel` + and `batch_size` arguments; + - `crates/support/methods/guest/src/bin/program.rs` must handle the `Result` that + `ComputeInput::process` now returns. 4. Rebuild the guest: `./scripts/check-image-id.sh --rebuild`. 5. Commit the regenerated `crates/support/contracts/ImageID.sol`, refresh `crates/support/contracts/ImageID.stamp.json`, and set `imageIdVerified` to `true`. @@ -113,23 +116,36 @@ is not documented in the audits README, and warns when the pin moves off it. **Any follow-up audit should scope `crates/compute-provider`, the guest, and `crates/zk-helpers` explicitly.** -## Open decision: Finding 3, CRISP vote bytes - -`CRISPProgram.publishInput` decodes `encryptedVote` and emits it in `InputPublished`, but never -binds those bytes to `encryptedVoteCommitment`. The commitment is a SAFE/Poseidon value over the -ciphertext's CRT limbs, so the contract cannot recompute it from the serialized bytes — there is no -on-chain fix. - -Before this branch, a compute provider could route around a mismatched input by supplying the -genuine on-chain leaves while processing only the well-formed ciphertexts. **That escape hatch was -the leaf-derivation defect, and this branch closes it.** With leaves derived from the consumed -ciphertexts, one malformed input makes the round permanently unresolvable: the prover cannot -reproduce the on-chain root, and the failure bills the requester as a `ComputeTimeout`. - -Any address in the public census can trigger this for the price of one input transaction. The -mask-vote branch of `circuits/bin/crisp/src/main.nr` asserts only `valid_zero_vote`; the signature -and address checks sit in the `is_mask_vote == false` branch. - -**This must be resolved before the pin bump in step 2 above.** Landing the leaf-derivation fix +## Resolved: Finding 3, CRISP vote bytes + +`CRISPProgram.publishInput` emitted `encryptedVote` without ever binding it to +`encryptedVoteCommitment`. The proof constrains the commitment and never sees the bytes, so a +submitter could publish a valid commitment beside unrelated data. Once leaf derivation moved into +the guest, one such input made the round unprovable — a free denial of service, since the mask path +needs no signature and anyone can write to any census slot. + +Prevention at input time is not reachable in this architecture. The contract can afford one linear +pass over 348 KB, so it can only verify a byte hash; the circuit can afford Poseidon over field +elements but not a byte hash at that size, so it can only produce what the contract cannot check. +Passing the ciphertext limbs as circuit public inputs *would* work — proof verification becomes the +check — but costs ~49k public inputs at the secure preset, roughly 35M gas, over a block limit. + +The fix has three parts: + +1. **The leaf binds bytes, commitment and slot.** + `sha256(sha256(bytes) || commitment || slot) mod SNARK_SCALAR_FIELD`, identical in + `CRISPProgram.inputLeaf` and `MerkleTreeBuilder`. +2. **The tree is append-only.** `_processVote` never updates in place. With update-in-place, an + attacker could mask over a counted vote with bad bytes and erase it silently — a worse outcome + than the bug being fixed. +3. **The Secure Process selects the most recent usable entry per slot**, keeping every leaf so the + root still matches, and falling back to a slot's last good entry. + +The Noir circuits are unchanged: `prev_ct_commitment` now comes from a `slotCommitment` mapping +rather than the tree leaf. + +**Not done:** an on-chain test of multi-entry append behaviour. A second input from one slot needs a +re-vote proof with matching `prev`, so append-only semantics are proven in Rust against real +ciphertexts and on-chain only as `numberOfVotes == 1` after one publish. Landing the leaf-derivation fix without it trades a forgery vector for a denial-of-service vector. The options are in the conversation; none of them is a small contract edit. diff --git a/Cargo.lock b/Cargo.lock index 4e0157801c..509419e3af 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3499,7 +3499,10 @@ dependencies = [ "rand 0.9.2", "rand_chacha 0.9.0", "serde", + "serde_json", + "sha2 0.10.9", "sha3", + "thiserror 1.0.69", "zk-kit-imt", ] diff --git a/agent/INVARIANTS.md b/agent/INVARIANTS.md index 6520f6723a..ee70b773c5 100644 --- a/agent/INVARIANTS.md +++ b/agent/INVARIANTS.md @@ -373,6 +373,26 @@ skip-proof feature containment (`pnpm check:invariants`, baselines in - **Every E3 program must compare the proof's input root against its own root.** `Risc0BfvCiphertextVerifier` takes no `inputRoot` argument and constrains none. A program that skips the comparison accepts a result computed over any input set. — `flow-trace/04` +- **An E3 program's input leaf binds the published bytes, the commitment, and the slot.** + `CRISPProgram.inputLeaf` is + `sha256(sha256(bytes) || commitment || slot) mod SNARK_SCALAR_FIELD`, and + `MerkleTreeBuilder::compute_leaf_hashes` rebuilds it byte for byte. The proof checked at input + time constrains the commitment and never sees the serialized ciphertext, so binding the bytes is + what lets the Secure Process detect a mismatch; binding the slot is what stops a prover + re-grouping entries, since selection is per slot. A divergence between the two implementations + makes every root mismatch and nothing else would catch it, so both sides pin the same vector + (`tests/input-leaf.test.ts`, `leaf_layout_matches_the_contract`) and + `onchain_root_agreement.rs` asserts Rust reproduces a root a real contract produced. SHA-256 + rather than Keccak because the zkVM accelerates it inline. — `flow-trace/04` +- **The input tree is append-only, and a Secure Process selects the most recent usable entry per + slot.** `_processVote` never updates in place. The mask path needs no signature, so anyone can + write to any census member's slot; with update-in-place a third party could replace the bytes of + a counted vote and erase it while the round still completed. An entry whose bytes do not + reproduce its commitment keeps its leaf — removing it would change the root — but is skipped, so + selection falls back to that slot's last good entry. The rule is a function of values the root + binds, so a prover cannot choose what to drop. Neither the contract nor the circuit can perform + this check: the commitment is a Poseidon sponge over CRT limbs, and the circuit cannot reproduce + the serialization. — `flow-trace/04` - **The SAFE ciphertext commitment requires exactly two components.** It covers `c[0]` and `c[1]` only, matching the Noir circuit, so `bfv_ciphertext_to_greco` rejects any other component count. A padded ciphertext would otherwise share a commitment with its two-component prefix while threshold diff --git a/agent/flow-trace/04_DKG_AND_COMPUTATION.md b/agent/flow-trace/04_DKG_AND_COMPUTATION.md index 7392ecf360..8cabd002de 100644 --- a/agent/flow-trace/04_DKG_AND_COMPUTATION.md +++ b/agent/flow-trace/04_DKG_AND_COMPUTATION.md @@ -1297,3 +1297,64 @@ During restart, `ComputeEffectGate` observes replay before compute workers are e buffers and deduplicates `ComputeRequest`s, prefers the newest regenerated request, cancels terminal E3 work, and releases pending jobs only after `EffectsEnabled`. The gate changes effect timing, not durable event order or audit state. + +### Input leaf binding and per-slot selection + +An E3 program verifies a proof over the ciphertext **commitment** when an input is published. The +proof never sees the serialized ciphertext the event carries, so the two can disagree, and neither +the contract nor the circuit can tell: the commitment is a Poseidon sponge over the ciphertext's CRT +limbs (~49k field elements at the secure preset), and the circuit cannot reproduce the fhe.rs +serialization. The guest is the first place both representations exist at once. + +`CRISPProgram.inputLeaf` therefore binds three values: + +``` +leaf = sha256(sha256(encryptedVote) || encryptedVoteCommitment || slotAddress) mod SNARK_SCALAR_FIELD +``` + +- the **bytes**, so a submitter cannot publish a valid commitment beside unrelated data; +- the **commitment**, so any commitment cannot be paired with any ciphertext; +- the **slot**, because the tree is append-only and the guest selects per slot — an unbound slot + would let a prover re-group entries and change which one wins. + +`MerkleTreeBuilder::compute_leaf_hashes` rebuilds exactly that layout. Both sides pin the same test +vector, and `crates/compute-provider/tests/onchain_root_agreement.rs` asserts Rust reproduces a root +a real contract produced, from a fixture generated by `tests/input-tree-e2e.test.ts`. A one-byte +divergence would make every root mismatch and nothing else would detect it. + +SHA-256 rather than Keccak: the zkVM accelerates SHA-256 inline, while its Keccak accelerator emits +a proof assumption the host must prove separately and compose. The extra on-chain cost is about 67k +gas on a transaction that already carries the ciphertext — a secure-preset ciphertext is about +348 KB, so calldata and log data dominate by orders of magnitude. + +**The input tree is append-only.** `_processVote` always inserts and never updates in place. That is +a security property, not a storage choice: the mask path requires no signature, so anyone can write +to any census member's slot. With update-in-place, a third party could replace the bytes of a vote +that had already been counted and erase it silently while the round still completed. Appending +leaves the earlier entry in the tree. + +For each slot the Secure Process computes over the **most recent entry whose bytes reproduce its +commitment**. Entries that do not reproduce it, or that do not deserialize, keep their leaf — removing +one would change the root — but are skipped, so selection falls back to that slot's last good entry. +The rule is a function of values the root binds, so any prover holding the same published data +reaches the same set and none can choose what to drop. + +The resulting properties: + +- a malformed input costs one entry, not the round; +- an append with bad bytes cannot erase a counted vote; +- an honest re-vote still replaces the earlier ballot, because it is the most recent usable entry; +- a mask preserves the tally, since the circuit forces its plaintext to zero + (`check_coefficient_zero`) and proves `sum = prev + zero`. + +Capacity: `TREE_DEPTH = 20` gives 2^20 entries, against a physical ceiling of roughly three writes +per block at the secure preset — append-only is not capacity-bound. + +A round where *every* entry is unusable fails at the output commitment, because the processor's +empty ciphertext does not deserialize. That is only reachable when no honest input exists, and is +indistinguishable from a round that received none, which the protocol resolves as +`NoInputsReceived`. + +`InputPublished` carries the slot and the commitment alongside the bytes. Both were already public — +the slot is a plaintext `publishInput` argument and `getSlotIndex` exposes it — so emitting them +leaks nothing and saves every consumer from parsing transaction calldata. diff --git a/crates/compute-provider/Cargo.toml b/crates/compute-provider/Cargo.toml index 5ab8c03093..8ae44e2e49 100644 --- a/crates/compute-provider/Cargo.toml +++ b/crates/compute-provider/Cargo.toml @@ -10,6 +10,7 @@ repository.workspace = true serde = { workspace = true, features = ["derive", "std"] } lean-imt = "=0.1.2" sha3 = "=0.10.8" +sha2 = "=0.10.9" num-bigint = "=0.4.6" num-traits = "=0.2.19" hex = "=0.4.3" @@ -18,10 +19,13 @@ ark-ff = "=0.4.2" ark-bn254 = "=0.4.0" zk-kit-imt = "0.0.7" e3-bfv-client = { workspace = true } +fhe = { workspace = true } e3-fhe-params = { workspace = true, features = ["abi-encoding"] } +thiserror = { workspace = true } [dev-dependencies] fhe = { workspace = true } fhe-traits = { workspace = true } rand = { workspace = true } rand_chacha = { workspace = true } +serde_json = { workspace = true } diff --git a/crates/compute-provider/src/compute_input.rs b/crates/compute-provider/src/compute_input.rs index e98e1430db..fdcfc2b8d2 100644 --- a/crates/compute-provider/src/compute_input.rs +++ b/crates/compute-provider/src/compute_input.rs @@ -14,7 +14,35 @@ pub type FHEProcessor = fn(&FHEInputs) -> Vec; #[derive(Clone, Debug, serde::Serialize, serde::Deserialize)] pub struct FHEInputs { + /// The serialized ciphertexts to process, each paired with its on-chain index. + /// + /// The index is not the authority on input order — a leaf's position in the tree is its + /// position in this vector, because `MerkleTreeBuilder::compute_leaf_hashes` walks the vector + /// in order and the tree inserts sequentially. **A caller assembling this vector from chain + /// events must sort by the index**, because event delivery is not ordered; getting it wrong + /// produces a root the E3 program rejects. pub ciphertexts: Vec<(Vec, u64)>, + /// The commitment the E3 program stored for each ciphertext, in the same order. + /// + /// The proof an E3 program checks at input time constrains the commitment, never the + /// serialized bytes above. Carrying both lets the Secure Process recompute each commitment + /// from the bytes it consumed and drop any input where the two disagree. + /// + /// Empty means "no commitments supplied": every input is then processed without the check, + /// which is the pre-binding behaviour and only safe for an E3 program whose inputs cannot + /// carry unbound bytes. + #[serde(default)] + pub commitments: Vec<[u8; 32]>, + /// The slot each input was published to, in the same order. + /// + /// The input tree is append-only, so a slot can hold several entries and the Secure Process + /// tallies the most recent one whose bytes match its commitment. That grouping has to be bound + /// by the root, which is why the slot is part of the leaf. + /// + /// Supplied together with `commitments`; when either is empty no check or grouping is done and + /// every input is processed, which is the pre-binding behaviour. + #[serde(default)] + pub slots: Vec<[u8; 20]>, pub params: Vec, } @@ -29,35 +57,71 @@ pub struct ComputeInput { pub fhe_inputs: FHEInputs, } +/// A failure inside the Secure Process. +/// +/// These arise from malformed inputs, which a Secure Process cannot assume away: an E3 program +/// accepts inputs from untrusted parties, and a single unusable one reaches the compute environment +/// like any other. Returning the reason lets a compute provider report which input was bad rather +/// than aborting the process with a panic. +#[derive(Debug, thiserror::Error)] +pub enum ComputeError { + #[error("failed to decode BFV parameters: {0}")] + DecodeParams(String), + + #[error("failed to compute the commitment of ciphertext {index}: {reason}")] + LeafCommitment { index: usize, reason: String }, + + #[error("failed to compute the commitment of the output ciphertext: {0}")] + OutputCommitment(String), + + #[error("failed to build the input Merkle tree: {0}")] + MerkleTree(String), +} + impl ComputeInput { - pub fn process(&self, fhe_processor: FHEProcessor) -> ComputeResult { - let processed_ciphertext = (fhe_processor)(&self.fhe_inputs); + pub fn process(&self, fhe_processor: FHEProcessor) -> Result { + let params = decode_bfv_params(&self.fhe_inputs.params) + .map_err(|e| ComputeError::DecodeParams(e.to_string()))?; + + // Every leaf is derived here, from the exact bytes, commitments and slots this Secure + // Process was given, so the root the E3 program compares against binds all three. An input + // whose bytes do not reproduce its commitment still contributes its leaf — dropping it + // would change the root — but it is not computed over. + let mut tree_builder = MerkleTreeBuilder::new(self.fhe_inputs.ciphertexts.len()); + let usable = tree_builder.compute_leaf_hashes(&self.fhe_inputs, ¶ms)?; + let merkle_root = tree_builder + .build_tree() + .map_err(|e| ComputeError::MerkleTree(e.to_string()))? + .root() + .ok_or_else(|| ComputeError::MerkleTree("the tree has no root".into()))?; + + // The processor sees only the inputs that matched their commitment. Both the root above + // and this filter are functions of values the root binds, so the excluded set is + // reproducible by anyone holding the same inputs — a prover cannot choose it. + let processed_ciphertext = (fhe_processor)(&FHEInputs { + ciphertexts: usable, + commitments: Vec::new(), + slots: Vec::new(), + params: self.fhe_inputs.params.clone(), + }); let processed_hash = Keccak256::digest(&processed_ciphertext).to_vec(); - let params = - decode_bfv_params(&self.fhe_inputs.params).expect("Failed to decode BFV params"); let ciphertext_commitment = compute_ct_commitment( processed_ciphertext.clone(), params.degree(), params.plaintext(), params.moduli().to_vec(), ) - .expect("Failed to compute ciphertext commitment") + .map_err(|e| ComputeError::OutputCommitment(e.to_string()))? .to_vec(); let params_hash = Keccak256::digest(&self.fhe_inputs.params).to_vec(); - // Derive the leaves from the ciphertexts this Secure Process consumed. The E3 program - // compares the resulting root against the input root it accumulated on chain, so the - // comparison rejects a result computed over any other input set. - let mut tree_builder = MerkleTreeBuilder::new(self.fhe_inputs.ciphertexts.len()); - tree_builder.compute_leaf_hashes(&self.fhe_inputs.ciphertexts, &self.fhe_inputs.params); - let merkle_root = tree_builder.build_tree().root().unwrap(); - - ComputeResult { + Ok(ComputeResult { ciphertext_hash: processed_hash, ciphertext_commitment, params_hash, - merkle_root: hex::decode(merkle_root).unwrap(), - } + merkle_root: hex::decode(merkle_root) + .map_err(|e| ComputeError::MerkleTree(e.to_string()))?, + }) } } @@ -101,14 +165,50 @@ mod tests { FHEInputs { ciphertexts, + commitments: Vec::new(), + slots: Vec::new(), params: encode_bfv_params(¶ms), } } + /// Attaches the commitment and slot an E3 program would have stored for each ciphertext. + /// Each input gets its own slot unless `slots` is given. + fn with_real_commitments(inputs: FHEInputs) -> FHEInputs { + let count = inputs.ciphertexts.len(); + with_slots(inputs, (0..count).map(|i| slot(i as u8)).collect()) + } + + /// A distinct slot address per index. + fn slot(tag: u8) -> [u8; 20] { + let mut address = [0u8; 20]; + address[19] = tag; + address + } + + fn with_slots(mut inputs: FHEInputs, slots: Vec<[u8; 20]>) -> FHEInputs { + let params = decode_bfv_params(&inputs.params).unwrap(); + inputs.commitments = inputs + .ciphertexts + .iter() + .map(|(bytes, _)| { + compute_ct_commitment( + bytes.clone(), + params.degree(), + params.plaintext(), + params.moduli().to_vec(), + ) + .unwrap() + }) + .collect(); + inputs.slots = slots; + inputs + } + fn root_over(inputs: &FHEInputs) -> Vec { + let params = decode_bfv_params(&inputs.params).unwrap(); let mut builder = MerkleTreeBuilder::new(inputs.ciphertexts.len()); - builder.compute_leaf_hashes(&inputs.ciphertexts, &inputs.params); - hex::decode(builder.build_tree().root().unwrap()).unwrap() + builder.compute_leaf_hashes(inputs, ¶ms).unwrap(); + hex::decode(builder.build_tree().unwrap().root().unwrap()).unwrap() } /// The journal's input root must be a function of the ciphertexts the Secure Process consumed. @@ -120,7 +220,8 @@ mod tests { let result = ComputeInput { fhe_inputs: inputs.clone(), } - .process(sum_processor); + .process(sum_processor) + .unwrap(); assert_eq!(result.merkle_root, root_over(&inputs)); } @@ -136,11 +237,475 @@ mod tests { let honest_root = ComputeInput { fhe_inputs: honest } .process(sum_processor) + .unwrap() .merkle_root; let forged_root = ComputeInput { fhe_inputs: forged } .process(sum_processor) + .unwrap() .merkle_root; assert_ne!(honest_root, forged_root); } + + /// A Secure Process accepts inputs from untrusted parties, so an unusable one must surface as + /// an error naming the offending index, not as a panic that aborts the prover. + #[test] + fn a_malformed_input_reports_its_index_instead_of_panicking() { + let mut inputs = encrypted_inputs(&[1, 1, 1]); + inputs.ciphertexts[1].0 = vec![0xff; 8]; + + let params = decode_bfv_params(&inputs.params).unwrap(); + let mut builder = MerkleTreeBuilder::new(inputs.ciphertexts.len()); + let error = builder.compute_leaf_hashes(&inputs, ¶ms).unwrap_err(); + + assert!( + matches!(error, ComputeError::LeafCommitment { index: 1, .. }), + "expected LeafCommitment at index 1, got {error:?}" + ); + } + + /// An input whose published bytes do not reproduce its stored commitment must be excluded from + /// the computation while still contributing its leaf. Before this binding, the honest prover + /// simply could not reproduce the on-chain root and the whole round was lost. + #[test] + fn an_input_whose_bytes_contradict_its_commitment_is_excluded_from_the_tally() { + let honest = with_real_commitments(encrypted_inputs(&[1, 1, 1])); + + // As published on chain: the commitment of input 1 is real and proven, but the bytes beside + // it are a different ciphertext. The contract builds its leaf from exactly this pair, so + // the guest sees the same pair and derives the same leaf. + let mut attacked = honest.clone(); + attacked.ciphertexts[1].0 = encrypted_inputs(&[9]).ciphertexts[0].0.clone(); + + let result = ComputeInput { + fhe_inputs: attacked.clone(), + } + .process(sum_processor) + .expect("a contradicting input must not stop the round"); + + // The tally must be exactly the two inputs that did match, so it equals a run over only + // those two. + let mut only_matching = honest.clone(); + only_matching.ciphertexts.remove(1); + only_matching.commitments.remove(1); + only_matching.slots.remove(1); + let reference = ComputeInput { + fhe_inputs: only_matching, + } + .process(sum_processor) + .unwrap(); + + assert_eq!( + result.ciphertext_hash, reference.ciphertext_hash, + "the contradicting input must not reach the processor" + ); + + // And it is still represented in the tree, so the root differs from the two-input run. + assert_ne!(result.merkle_root, reference.merkle_root); + } + + /// Undecodable bytes are an unusable input, not a failure: the round must survive them. + #[test] + fn undecodable_bytes_are_excluded_rather_than_fatal() { + let mut inputs = with_real_commitments(encrypted_inputs(&[1, 1, 1])); + inputs.ciphertexts[2].0 = vec![0xff; 8]; + + let result = ComputeInput { fhe_inputs: inputs } + .process(sum_processor) + .expect("garbage bytes must not abort the Secure Process"); + + assert_eq!(result.merkle_root.len(), 32); + } + + /// The leaf layout must match `CRISPProgram.inputLeaf`, byte for byte. + /// + /// This vector is duplicated in + /// `examples/CRISP/packages/crisp-contracts/tests/input-leaf.test.ts`. A divergence between + /// the two implementations makes every root mismatch, and nothing else would catch it. + #[test] + fn leaf_layout_matches_the_contract() { + let ciphertext: Vec = (0u8..64).collect(); + let commitment = [0xabu8; 32]; + + let inputs = FHEInputs { + ciphertexts: vec![(ciphertext, 0)], + commitments: vec![commitment], + slots: vec![[0xcdu8; 20]], + params: encode_bfv_params( + &build_pair_for_preset(BfvPreset::InsecureThreshold512) + .unwrap() + .0, + ), + }; + + let params = decode_bfv_params(&inputs.params).unwrap(); + let mut builder = MerkleTreeBuilder::new(1); + builder.compute_leaf_hashes(&inputs, ¶ms).unwrap(); + + let expected = num_bigint::BigUint::parse_bytes( + b"3005744733328395831398716072572247490877798047068525662443106668216528579058", + 10, + ) + .unwrap(); + assert_eq!( + num_bigint::BigUint::from_bytes_be(&hex::decode(&builder.leaf_hashes[0]).unwrap()), + expected, + "leaf layout diverged from CRISPProgram.inputLeaf" + ); + } + + /// A commitment list of the wrong length is a caller bug that would silently mis-pair inputs + /// with commitments, so it must be rejected rather than guessed at. + #[test] + fn a_mismatched_commitment_count_is_rejected() { + let mut inputs = with_real_commitments(encrypted_inputs(&[1, 1, 1])); + inputs.commitments.pop(); + + let params = decode_bfv_params(&inputs.params).unwrap(); + let error = MerkleTreeBuilder::new(3) + .compute_leaf_hashes(&inputs, ¶ms) + .unwrap_err(); + + assert!( + matches!(error, ComputeError::MerkleTree(_)), + "got {error:?}" + ); + } + + /// A round where *every* input is unusable degenerates into a round with nothing to tally. + /// + /// The processor returns an empty ciphertext, which does not serialize back into a valid one, + /// so the output commitment fails with a typed error rather than a panic. That is acceptable: + /// this state is only reachable when no honest input exists — one honest input is never + /// excluded, because its bytes reproduce its commitment — and it is indistinguishable from a + /// round that received no inputs at all, which the protocol already resolves as + /// `NoInputsReceived`. Asserted so the behaviour is a decision rather than an accident. + #[test] + fn a_round_where_every_input_is_unusable_fails_cleanly() { + let mut inputs = with_real_commitments(encrypted_inputs(&[1, 1])); + for entry in inputs.ciphertexts.iter_mut() { + entry.0 = vec![0xde, 0xad, 0xbe, 0xef]; + } + + let error = ComputeInput { fhe_inputs: inputs } + .process(sum_processor) + .unwrap_err(); + + assert!( + matches!(error, ComputeError::OutputCommitment(_)), + "expected a typed output-commitment error, got {error:?}" + ); + } + + /// A single honest input must survive any number of unusable ones beside it. This is the + /// property that turns a round-killing input into a excluded one. + #[test] + fn one_honest_input_still_produces_a_tally_among_unusable_ones() { + let mut inputs = with_real_commitments(encrypted_inputs(&[1, 1, 1])); + inputs.ciphertexts[0].0 = vec![0x00; 12]; + inputs.ciphertexts[2].0 = vec![0xff; 5]; + + let result = ComputeInput { + fhe_inputs: inputs.clone(), + } + .process(sum_processor) + .expect("one usable input must be enough"); + + // The tally is exactly the surviving input. + let mut only_good = inputs.clone(); + only_good.ciphertexts = vec![inputs.ciphertexts[1].clone()]; + only_good.commitments = vec![inputs.commitments[1]]; + only_good.slots = vec![inputs.slots[1]]; + let reference = ComputeInput { + fhe_inputs: only_good, + } + .process(sum_processor) + .unwrap(); + + assert_eq!(result.ciphertext_hash, reference.ciphertext_hash); + } + + /// The excluded set must be a function of the inputs alone, so two provers over the same + /// published data produce the same result and neither can choose what to drop. + #[test] + fn the_excluded_set_is_deterministic() { + let mut inputs = with_real_commitments(encrypted_inputs(&[1, 1, 1])); + inputs.ciphertexts[0].0 = vec![0x00; 16]; + + let first = ComputeInput { + fhe_inputs: inputs.clone(), + } + .process(sum_processor) + .unwrap(); + let second = ComputeInput { fhe_inputs: inputs } + .process(sum_processor) + .unwrap(); + + assert_eq!(first.merkle_root, second.merkle_root); + assert_eq!(first.ciphertext_hash, second.ciphertext_hash); + assert_eq!(first.ciphertext_commitment, second.ciphertext_commitment); + } + + /// Swapping the commitment beside honest bytes must change the leaf, or an attacker could + /// pair any commitment with any ciphertext. + #[test] + fn the_leaf_binds_the_commitment_as_well_as_the_bytes() { + let inputs = with_real_commitments(encrypted_inputs(&[1])); + let params = decode_bfv_params(&inputs.params).unwrap(); + + let mut honest = MerkleTreeBuilder::new(1); + honest.compute_leaf_hashes(&inputs, ¶ms).unwrap(); + + let mut swapped_inputs = inputs.clone(); + swapped_inputs.commitments[0] = [0x11u8; 32]; + let mut swapped = MerkleTreeBuilder::new(1); + swapped + .compute_leaf_hashes(&swapped_inputs, ¶ms) + .unwrap(); + + assert_ne!(honest.leaf_hashes[0], swapped.leaf_hashes[0]); + } + + /// With no commitments or slots the builder keeps the pre-binding layout, so an E3 program + /// that has not migrated still works. + #[test] + fn without_binding_the_leaf_is_the_ciphertext_commitment() { + let inputs = encrypted_inputs(&[5]); + let bound = with_real_commitments(inputs.clone()); + let params = decode_bfv_params(&inputs.params).unwrap(); + + let mut unchecked = MerkleTreeBuilder::new(1); + let usable = unchecked.compute_leaf_hashes(&inputs, ¶ms).unwrap(); + + assert_eq!(usable.len(), 1); + assert_eq!( + unchecked.leaf_hashes[0], + hex::encode(bound.commitments[0]), + "the unbound leaf is the bare ciphertext commitment" + ); + } + + /// The slot is part of the leaf, so the same ciphertext published to a different slot is a + /// different leaf. Without this a prover could re-group entries and change which one wins. + #[test] + fn the_leaf_binds_the_slot() { + let base = encrypted_inputs(&[3]); + let params = decode_bfv_params(&base.params).unwrap(); + + let a = with_slots(base.clone(), vec![slot(1)]); + let b = with_slots(base, vec![slot(2)]); + + let mut first = MerkleTreeBuilder::new(1); + first.compute_leaf_hashes(&a, ¶ms).unwrap(); + let mut second = MerkleTreeBuilder::new(1); + second.compute_leaf_hashes(&b, ¶ms).unwrap(); + + assert_ne!(first.leaf_hashes[0], second.leaf_hashes[0]); + } + + /// The heart of append-only: a later entry that contradicts its commitment must not erase the + /// good entry already in the slot. This is the mask-poisoning case. + #[test] + fn a_poisoned_later_entry_falls_back_to_the_slot_s_last_good_one() { + let victim = slot(7); + let honest = encrypted_inputs(&[4]); + let mut inputs = with_slots(honest.clone(), vec![victim]); + + // An attacker appends a second entry to the victim's slot: real commitment, wrong bytes. + let poison = encrypted_inputs(&[9]); + inputs + .ciphertexts + .push((poison.ciphertexts[0].0.clone(), 1)); + inputs.commitments.push(inputs.commitments[0]); + inputs.slots.push(victim); + + let params = decode_bfv_params(&inputs.params).unwrap(); + let mut builder = MerkleTreeBuilder::new(inputs.ciphertexts.len()); + let usable = builder.compute_leaf_hashes(&inputs, ¶ms).unwrap(); + + assert_eq!( + usable.len(), + 1, + "the slot still contributes exactly one entry" + ); + assert_eq!( + usable[0].0, honest.ciphertexts[0].0, + "the victim's original vote must survive" + ); + assert_eq!( + builder.leaf_hashes.len(), + 2, + "both entries stay in the tree" + ); + } + + /// An honest re-vote must replace the earlier one, or voters could never change their mind. + #[test] + fn an_honest_later_entry_replaces_the_earlier_one() { + let voter = slot(3); + let first = encrypted_inputs(&[1]); + let second = encrypted_inputs(&[8]); + + let mut inputs = with_slots(first, vec![voter]); + let later = with_slots(second.clone(), vec![voter]); + inputs.ciphertexts.push((later.ciphertexts[0].0.clone(), 1)); + inputs.commitments.push(later.commitments[0]); + inputs.slots.push(voter); + + let params = decode_bfv_params(&inputs.params).unwrap(); + let mut builder = MerkleTreeBuilder::new(2); + let usable = builder.compute_leaf_hashes(&inputs, ¶ms).unwrap(); + + assert_eq!(usable.len(), 1); + assert_eq!(usable[0].0, second.ciphertexts[0].0, "the re-vote wins"); + } + + /// Distinct slots each contribute their own entry, in tree order. + #[test] + fn every_slot_contributes_its_latest_usable_entry() { + let inputs = with_real_commitments(encrypted_inputs(&[1, 2, 3])); + let params = decode_bfv_params(&inputs.params).unwrap(); + + let mut builder = MerkleTreeBuilder::new(3); + let usable = builder.compute_leaf_hashes(&inputs, ¶ms).unwrap(); + + assert_eq!(usable.len(), 3); + assert_eq!(usable[0].1, 0); + assert_eq!(usable[2].1, 2); + } + + /// Builds one slot's entry sequence. `true` is an honest entry, `false` an entry whose bytes + /// do not reproduce its commitment. Returns the inputs and the honest ciphertexts by index. + fn sequence_for_one_slot(pattern: &[bool]) -> (FHEInputs, Vec>) { + let target = slot(9); + let ballots: Vec> = (0..pattern.len()) + .map(|i| encrypted_inputs(&[(i as u64) + 1]).ciphertexts[0].0.clone()) + .collect(); + + // Distinct ballots, or a test expecting "the later honest entry" would pass even if the + // earlier one were selected. + for (i, ballot) in ballots.iter().enumerate() { + for other in &ballots[i + 1..] { + assert_ne!(ballot, other, "sequence ballots must be distinguishable"); + } + } + + let mut inputs = encrypted_inputs(&[1]); + inputs.ciphertexts.clear(); + let params = decode_bfv_params(&inputs.params).unwrap(); + let commit = |bytes: &Vec| { + compute_ct_commitment( + bytes.clone(), + params.degree(), + params.plaintext(), + params.moduli().to_vec(), + ) + .unwrap() + }; + + for (index, honest) in pattern.iter().enumerate() { + // A poisoned entry keeps a real commitment and carries unrelated bytes, which is what a + // third party can publish and no on-chain check can reject. + let published = if *honest { + ballots[index].clone() + } else { + vec![0xde, 0xad, 0xbe, 0xef, index as u8] + }; + inputs.ciphertexts.push((published, index as u64)); + inputs.commitments.push(commit(&ballots[index])); + inputs.slots.push(target); + } + (inputs, ballots) + } + + fn selected_for(pattern: &[bool]) -> (Vec<(Vec, u64)>, Vec>, usize) { + let (inputs, ballots) = sequence_for_one_slot(pattern); + let params = decode_bfv_params(&inputs.params).unwrap(); + let mut builder = MerkleTreeBuilder::new(inputs.ciphertexts.len()); + let selected = builder.compute_leaf_hashes(&inputs, ¶ms).unwrap(); + (selected, ballots, builder.leaf_hashes.len()) + } + + /// Every entry sequence for one slot must resolve to that slot's most recent honest entry, and + /// every entry must stay in the tree regardless. + /// + /// The case that matters most is honest → poisoned → honest: selection has to move *forward* + /// to the later honest entry, not fall back to the first one. + #[test] + fn selection_picks_the_latest_honest_entry_in_every_sequence() { + // (pattern, expected selected index, description) + let cases: &[(&[bool], Option, &str)] = &[ + (&[true], Some(0), "a single honest entry"), + (&[false], None, "a single poisoned entry contributes nothing"), + (&[true, false], Some(0), "poisoned append falls back"), + (&[false, true], Some(1), "an honest entry after a poisoned one wins"), + (&[true, true], Some(1), "an honest re-vote replaces"), + (&[true, false, true], Some(2), "honest, poisoned, honest picks the last honest"), + (&[true, true, false], Some(1), "poisoned at the end falls back one step"), + (&[true, false, false], Some(0), "two poisoned appends still fall back to the first"), + (&[false, false, true], Some(2), "honest after two poisoned wins"), + (&[false, true, false], Some(1), "honest in the middle survives a later poison"), + (&[true, false, true, false], Some(2), "falls back past a trailing poison"), + (&[false, false, false], None, "an all-poisoned slot contributes nothing"), + ]; + + for (pattern, expected, description) in cases { + let (selected, ballots, leaves) = selected_for(pattern); + + assert_eq!( + leaves, + pattern.len(), + "every entry must stay in the tree ({description})" + ); + + match expected { + Some(index) => { + assert_eq!(selected.len(), 1, "one entry per slot ({description})"); + assert_eq!( + selected[0].0, ballots[*index], + "expected entry {index} ({description})" + ); + } + None => assert!( + selected.is_empty(), + "no entry should be selected ({description})" + ), + } + } + } + + /// Sequences interleaved across slots must not bleed into one another: each slot resolves on + /// its own entries, in tree order. + #[test] + fn interleaved_slots_resolve_independently() { + let (mut a, ballots_a) = sequence_for_one_slot(&[true, false]); + let (b, ballots_b) = sequence_for_one_slot(&[false, true]); + let other = slot(11); + + // Interleave: A-honest, B-poisoned, A-poisoned, B-honest. + let order = [(0usize, false), (0, true), (1, false), (1, true)]; + let mut inputs = a.clone(); + inputs.ciphertexts.clear(); + inputs.commitments.clear(); + inputs.slots.clear(); + for (position, (index, from_b)) in order.iter().enumerate() { + let source = if *from_b { &b } else { &a }; + inputs + .ciphertexts + .push((source.ciphertexts[*index].0.clone(), position as u64)); + inputs.commitments.push(source.commitments[*index]); + inputs.slots.push(if *from_b { other } else { slot(9) }); + } + a.ciphertexts.clear(); + + let params = decode_bfv_params(&inputs.params).unwrap(); + let mut builder = MerkleTreeBuilder::new(4); + let selected = builder.compute_leaf_hashes(&inputs, ¶ms).unwrap(); + + assert_eq!(builder.leaf_hashes.len(), 4, "all four entries stay in the tree"); + assert_eq!(selected.len(), 2, "one entry per slot"); + // Ordered by tree position: slot 9's honest entry is at 0, slot 11's at 3. + assert_eq!(selected[0].0, ballots_a[0]); + assert_eq!(selected[1].0, ballots_b[1]); + } } diff --git a/crates/compute-provider/src/merkle_tree_builder.rs b/crates/compute-provider/src/merkle_tree_builder.rs index 7815634192..7395819d70 100644 --- a/crates/compute-provider/src/merkle_tree_builder.rs +++ b/crates/compute-provider/src/merkle_tree_builder.rs @@ -4,16 +4,26 @@ // without even the implied warranty of MERCHANTABILITY // or FITNESS FOR A PARTICULAR PURPOSE. +use crate::compute_input::{ComputeError, FHEInputs}; use ark_bn254::Fr; use ark_ff::{BigInt, BigInteger}; use e3_bfv_client::client::compute_ct_commitment; -use e3_fhe_params::decode_bfv_params; +use fhe::bfv::BfvParameters; use light_poseidon::{Poseidon, PoseidonHasher}; use num_bigint::BigUint; use num_traits::Num; +use sha2::{Digest as Sha2Digest, Sha256}; +use std::collections::BTreeMap; + +/// One input, paired with its position in the tree so the selection stays ordered. +type PositionedInput = (usize, (Vec, u64)); use std::str::FromStr; use zk_kit_imt::imt::IMT; +/// The BN254 scalar field, which every tree leaf must be reduced into. +const SNARK_SCALAR_FIELD: &str = + "21888242871839275222246405745257275088548364400416034343698204186575808495617"; + pub struct MerkleTreeBuilder { pub leaf_hashes: Vec, pub arity: usize, @@ -42,20 +52,101 @@ impl MerkleTreeBuilder { self } - pub fn compute_leaf_hashes(&mut self, data: &[(Vec, u64)], params_bytes: &[u8]) { - let params = decode_bfv_params(params_bytes).expect("Failed to decode BFV params"); + /// Derives one leaf per input, in the order given, and returns the inputs to compute over. + /// + /// The leaf matches the layout the E3 program builds: + /// `sha256(sha256(bytes) || commitment || slot) mod SNARK_SCALAR_FIELD`. + /// + /// The tree is append-only, so a slot may hold several entries. For each slot the most recent + /// entry whose bytes reproduce its commitment is returned; entries that do not reproduce it, + /// or that do not deserialize, keep their leaf but are skipped. That fallback is what stops a + /// third party appending bad bytes to a slot and erasing a vote that was already counted. + /// + /// The selection is a function of values the root binds, so any prover holding the same + /// published data reaches the same set. + /// + /// When `commitments` or `slots` is empty, no check is possible: every input is returned and + /// the leaf falls back to the bare ciphertext commitment. + pub fn compute_leaf_hashes( + &mut self, + inputs: &FHEInputs, + params: &BfvParameters, + ) -> Result, u64)>, ComputeError> { let degree = params.degree(); let plaintext_modulus = params.plaintext(); let moduli = params.moduli().to_vec(); + let bound = !inputs.commitments.is_empty() && !inputs.slots.is_empty(); + + if bound + && (inputs.commitments.len() != inputs.ciphertexts.len() + || inputs.slots.len() != inputs.ciphertexts.len()) + { + return Err(ComputeError::MerkleTree(format!( + "{} ciphertexts, {} commitments, {} slots", + inputs.ciphertexts.len(), + inputs.commitments.len(), + inputs.slots.len() + ))); + } - for item in data { - let commitment = + // Keyed by slot; a later entry replaces an earlier one, so what survives is the most + // recent usable entry for that slot. + let mut latest_per_slot: BTreeMap<[u8; 20], PositionedInput> = BTreeMap::new(); + let mut unbound_usable = Vec::new(); + + for (index, item) in inputs.ciphertexts.iter().enumerate() { + // A commitment that cannot be computed marks an unusable input rather than a failure: + // the bytes are attacker-supplied and must not be able to stop the round. + let recomputed = compute_ct_commitment(item.0.clone(), degree, plaintext_modulus, moduli.clone()) - .expect("Failed to compute ciphertext commitment"); + .ok(); + + if !bound { + let commitment = recomputed.ok_or(ComputeError::LeafCommitment { + index, + reason: "ciphertext could not be deserialized".to_string(), + })?; + self.leaf_hashes.push(hex::encode(commitment)); + unbound_usable.push(item.clone()); + continue; + } + + self.leaf_hashes.push(Self::input_leaf( + &item.0, + &inputs.commitments[index], + &inputs.slots[index], + )); + + if recomputed == Some(inputs.commitments[index]) { + latest_per_slot.insert(inputs.slots[index], (index, item.clone())); + } + } - let commitment_hex = hex::encode(commitment); - self.leaf_hashes.push(commitment_hex); + if !bound { + return Ok(unbound_usable); } + + // Ordered by tree position so the computation is deterministic, not map order. + let mut selected: Vec = latest_per_slot.into_values().collect(); + selected.sort_by_key(|(index, _)| *index); + Ok(selected.into_iter().map(|(_, item)| item).collect()) + } + + /// `sha256(sha256(bytes) || commitment || slot) mod SNARK_SCALAR_FIELD`, hex-encoded. + /// + /// Must stay byte-identical to `CRISPProgram.inputLeaf`, or no root will ever match. + fn input_leaf(ciphertext: &[u8], commitment: &[u8; 32], slot: &[u8; 20]) -> String { + let bytes_digest = Sha256::digest(ciphertext); + + let mut outer = Sha256::new(); + outer.update(bytes_digest); + outer.update(commitment); + outer.update(slot); + let combined = outer.finalize(); + + let field = BigUint::from_str_radix(SNARK_SCALAR_FIELD, 10).expect("field constant"); + let reduced = BigUint::from_bytes_be(&combined) % field; + hex::encode(reduced.to_bytes_be()) } fn poseidon_hash(nodes: Vec) -> String { @@ -75,7 +166,7 @@ impl MerkleTreeBuilder { hex::encode(result_hash.to_bytes_be()) } - pub fn build_tree(&self) -> IMT { + pub fn build_tree(&self) -> Result { let mut tree = IMT::new( Self::poseidon_hash, self.depth, @@ -83,13 +174,14 @@ impl MerkleTreeBuilder { self.arity, vec![], ) - .unwrap(); + .map_err(|e| ComputeError::MerkleTree(e.to_string()))?; for leaf in &self.leaf_hashes { - tree.insert(leaf.clone()).unwrap(); + tree.insert(leaf.clone()) + .map_err(|e| ComputeError::MerkleTree(e.to_string()))?; } - tree + Ok(tree) } } @@ -116,6 +208,7 @@ mod tests { let root = MerkleTreeBuilder::new(1) .with_leaf_hashes(vec!["0".to_string()]) .build_tree() + .unwrap() .root() .unwrap(); diff --git a/crates/compute-provider/tests/onchain_root_agreement.rs b/crates/compute-provider/tests/onchain_root_agreement.rs new file mode 100644 index 0000000000..dd6336b5d6 --- /dev/null +++ b/crates/compute-provider/tests/onchain_root_agreement.rs @@ -0,0 +1,169 @@ +// SPDX-License-Identifier: LGPL-3.0-only +// +// This file is provided WITHOUT ANY WARRANTY; +// without even the implied warranty of MERCHANTABILITY +// or FITNESS FOR A PARTICULAR PURPOSE. + +//! Asserts that the Rust input tree reproduces a root a real contract actually produced. +//! +//! The fixture is generated by `tests/input-tree-e2e.test.ts` in `crisp-contracts`, which publishes +//! a real ballot — real BFV ciphertext, real Noir proof — through `publishInput` and records the +//! resulting on-chain `inputRoot`. Regenerate with +//! `UPDATE_INPUT_TREE_FIXTURE=1 pnpm test` in that package. +//! +//! This is the one check that catches a divergence between `CRISPProgram.inputLeaf` and +//! `MerkleTreeBuilder`. Such a divergence makes every round fail with no other symptom, and no +//! single-language test can see it. + +use e3_compute_provider::{ComputeInput, FHEInputs}; +use e3_fhe_params::{build_pair_for_preset, encode_bfv_params, BfvPreset}; +use sha3::Digest as _; + +const FIXTURE: &str = + include_str!("../../../examples/CRISP/packages/crisp-contracts/tests/fixtures/input-tree.json"); + +fn unhex(value: &str) -> Vec { + hex::decode(value.trim_start_matches("0x")).expect("fixture hex") +} + +#[test] +fn rust_reproduces_the_root_the_contract_produced() { + let fixture: serde_json::Value = serde_json::from_str(FIXTURE).expect("fixture json"); + let expected_root = unhex(fixture["inputRoot"].as_str().expect("inputRoot")); + + let entries = fixture["inputs"].as_array().expect("inputs"); + let mut ciphertexts = Vec::new(); + let mut commitments = Vec::new(); + let mut slots = Vec::new(); + for (index, entry) in entries.iter().enumerate() { + ciphertexts.push(( + unhex(entry["encryptedVote"].as_str().expect("encryptedVote")), + index as u64, + )); + let commitment = unhex(entry["commitment"].as_str().expect("commitment")); + commitments.push(<[u8; 32]>::try_from(commitment.as_slice()).expect("32-byte commitment")); + let slot = unhex(entry["slot"].as_str().expect("slot")); + slots.push(<[u8; 20]>::try_from(slot.as_slice()).expect("20-byte slot")); + } + + // The SDK builds ballots under the insecure-512 threshold preset. + let (params, _) = build_pair_for_preset(BfvPreset::InsecureThreshold512).unwrap(); + let result = ComputeInput { + fhe_inputs: FHEInputs { + ciphertexts, + commitments, + slots, + params: encode_bfv_params(¶ms), + }, + } + .process(|inputs| { + // Membership of the tree is what this test asserts, so the processor only has to be + // deterministic over the usable set. + inputs + .ciphertexts + .iter() + .flat_map(|(bytes, _)| bytes.clone()) + .collect() + }) + .expect("the fixture round must process"); + + assert_eq!( + hex::encode(&result.merkle_root), + hex::encode(&expected_root), + "the Rust input tree diverged from the root CRISPProgram produced" + ); +} + +/// The TypeScript SDK and Rust must agree on `compute_ct_commitment`, or the Secure Process would +/// reject every honest input as contradicting its commitment. +#[test] +fn the_sdk_and_rust_agree_on_the_ciphertext_commitment() { + let fixture: serde_json::Value = serde_json::from_str(FIXTURE).unwrap(); + let entry = &fixture["inputs"][0]; + let bytes = unhex(entry["encryptedVote"].as_str().unwrap()); + let stored = unhex(entry["commitment"].as_str().unwrap()); + + let (params, _) = build_pair_for_preset(BfvPreset::InsecureThreshold512).unwrap(); + let recomputed = e3_bfv_client::client::compute_ct_commitment( + bytes, + params.degree(), + params.plaintext(), + params.moduli().to_vec(), + ) + .expect("a ciphertext the SDK produced must deserialize"); + + assert_eq!( + hex::encode(recomputed), + hex::encode(&stored), + "the SDK commitment and the Rust commitment diverged" + ); +} + +const APPEND_FIXTURE: &str = include_str!( + "../../../examples/CRISP/packages/crisp-contracts/tests/fixtures/input-tree-append.json" +); + +/// The poisoning case, against a tree a real contract built. +/// +/// The fixture holds two entries for one slot: an honest ballot, then a genuine mask proof +/// published beside bytes that are not the summed ciphertext it proved. The Secure Process must +/// reproduce the on-chain root over both entries, and fall back to the honest one. +#[test] +fn rust_falls_back_to_the_last_good_entry_in_a_slot() { + let fixture: serde_json::Value = serde_json::from_str(APPEND_FIXTURE).expect("fixture json"); + let expected_root = unhex(fixture["inputRoot"].as_str().expect("inputRoot")); + let honest_index = fixture["honestIndex"].as_u64().expect("honestIndex") as usize; + + let entries = fixture["inputs"].as_array().expect("inputs"); + let mut ciphertexts = Vec::new(); + let mut commitments = Vec::new(); + let mut slots = Vec::new(); + for (index, entry) in entries.iter().enumerate() { + ciphertexts.push(( + unhex(entry["encryptedVote"].as_str().unwrap()), + index as u64, + )); + commitments.push( + <[u8; 32]>::try_from(unhex(entry["commitment"].as_str().unwrap()).as_slice()).unwrap(), + ); + slots + .push(<[u8; 20]>::try_from(unhex(entry["slot"].as_str().unwrap()).as_slice()).unwrap()); + } + assert_eq!(entries.len(), 2, "the fixture must hold both entries"); + assert_eq!(slots[0], slots[1], "both entries belong to one slot"); + + let honest_bytes = ciphertexts[honest_index].0.clone(); + let (params, _) = build_pair_for_preset(BfvPreset::InsecureThreshold512).unwrap(); + + // The processor records what it was handed, so the selection is observable. + let result = ComputeInput { + fhe_inputs: FHEInputs { + ciphertexts, + commitments, + slots, + params: encode_bfv_params(¶ms), + }, + } + .process(|inputs| { + inputs + .ciphertexts + .iter() + .flat_map(|(bytes, _)| bytes.clone()) + .collect() + }) + .expect("a poisoned append must not stop the round"); + + assert_eq!( + hex::encode(&result.merkle_root), + hex::encode(&expected_root), + "the Rust input tree diverged from the root CRISPProgram produced" + ); + + // The processor saw exactly the honest ballot: the poisoned append was skipped, and the entry + // it tried to replace survived. + assert_eq!( + result.ciphertext_hash, + sha3::Keccak256::digest(&honest_bytes).to_vec(), + "the Secure Process must fall back to the slot's last good entry" + ); +} diff --git a/crates/program-server/src/lib.rs b/crates/program-server/src/lib.rs index 9c363fdc3f..0d3e37478b 100644 --- a/crates/program-server/src/lib.rs +++ b/crates/program-server/src/lib.rs @@ -367,9 +367,45 @@ async fn handle_compute( .clone() .ok_or_else(|| actix_web::error::ErrorBadRequest("callback_url is required"))?; + let commitments = req + .input_commitments + .iter() + .map(|hex_commitment| { + let raw = hex::decode(hex_commitment.trim_start_matches("0x")) + .map_err(|e| actix_web::error::ErrorBadRequest(format!("bad commitment: {e}")))?; + <[u8; 32]>::try_from(raw.as_slice()) + .map_err(|_| actix_web::error::ErrorBadRequest("each commitment must be 32 bytes")) + }) + .collect::>>()?; + + if !commitments.is_empty() && commitments.len() != req.ciphertext_inputs.len() { + return Err(actix_web::error::ErrorBadRequest( + "input_commitments must have one entry per ciphertext input", + )); + } + + let slots = req + .input_slots + .iter() + .map(|hex_slot| { + let raw = hex::decode(hex_slot.trim_start_matches("0x")) + .map_err(|e| actix_web::error::ErrorBadRequest(format!("bad slot: {e}")))?; + <[u8; 20]>::try_from(raw.as_slice()) + .map_err(|_| actix_web::error::ErrorBadRequest("each slot must be 20 bytes")) + }) + .collect::>>()?; + + if !slots.is_empty() && slots.len() != req.ciphertext_inputs.len() { + return Err(actix_web::error::ErrorBadRequest( + "input_slots must have one entry per ciphertext input", + )); + } + let fhe_inputs = FHEInputs { params: req.params.clone(), ciphertexts: req.ciphertext_inputs.clone(), + commitments, + slots, }; let domain = ComputeDomain::new( req.chain_id, diff --git a/crates/program-server/src/types.rs b/crates/program-server/src/types.rs index 22a24235c4..5726657d7c 100644 --- a/crates/program-server/src/types.rs +++ b/crates/program-server/src/types.rs @@ -28,6 +28,18 @@ pub struct ComputeRequest { pub params: Vec, #[serde(deserialize_with = "deserialize_hex_tuple")] pub ciphertext_inputs: Vec<(Vec, u64)>, + /// The commitment the E3 program stored for each input, hex encoded, in the same order as + /// `ciphertext_inputs`. + /// + /// Optional so an older caller still deserializes. Omitting it means the Secure Process cannot + /// check a published ciphertext against the commitment that was actually proven, so a single + /// unusable input costs the whole round. + #[serde(default)] + pub input_commitments: Vec, + /// The slot each input was published to, hex encoded, in the same order. Required alongside + /// `input_commitments`: the tree is append-only, so the Secure Process groups by slot. + #[serde(default)] + pub input_slots: Vec, pub callback_url: Option, } diff --git a/crates/support-scripts/dev/src/main.rs b/crates/support-scripts/dev/src/main.rs index 827f98023f..34fcff234d 100644 --- a/crates/support-scripts/dev/src/main.rs +++ b/crates/support-scripts/dev/src/main.rs @@ -15,7 +15,11 @@ impl ComputeProvider for MockProofProvider { type Output = ComputeResult; fn prove(&self, input: &ComputeInput) -> Self::Output { - input.process(fhe_processor) + // This dev provider stands in for the zkVM, where a failure aborts the guest. Panicking + // with the reason keeps that behaviour while naming the input that could not be used. + input + .process(fhe_processor) + .expect("the Secure Process rejected its inputs") } } diff --git a/examples/CRISP/Cargo.lock b/examples/CRISP/Cargo.lock index 16fb3d3a97..4541109713 100644 --- a/examples/CRISP/Cargo.lock +++ b/examples/CRISP/Cargo.lock @@ -2466,14 +2466,16 @@ dependencies = [ "ark-ff 0.4.2", "e3-bfv-client", "e3-fhe-params", + "fhe", "hex", "lean-imt", "light-poseidon 0.2.0", "num-bigint", "num-traits", - "rayon", "serde", + "sha2", "sha3", + "thiserror 1.0.69", "zk-kit-imt", ] @@ -2603,10 +2605,12 @@ dependencies = [ name = "e3-user-program" version = "0.1.0" dependencies = [ + "e3-bfv-client", "e3-compute-provider", "e3-fhe-params", "fhe", "fhe-traits", + "rand 0.9.2", ] [[package]] diff --git a/examples/CRISP/crates/evm_helpers/src/lib.rs b/examples/CRISP/crates/evm_helpers/src/lib.rs index d92cb4028e..bc95996222 100644 --- a/examples/CRISP/crates/evm_helpers/src/lib.rs +++ b/examples/CRISP/crates/evm_helpers/src/lib.rs @@ -32,7 +32,7 @@ sol! { } sol! { - event InputPublished(uint256 indexed e3Id, bytes encryptedVote, uint256 index); + event InputPublished(uint256 indexed e3Id, address indexed slotAddress, bytes32 encryptedVoteCommitment, bytes encryptedVote, uint256 index); } /// Type alias for read-only provider (no wallet) diff --git a/examples/CRISP/crates/zk-inputs-wasm/src/lib.rs b/examples/CRISP/crates/zk-inputs-wasm/src/lib.rs index 6a48a3a91a..1b1e75e028 100644 --- a/examples/CRISP/crates/zk-inputs-wasm/src/lib.rs +++ b/examples/CRISP/crates/zk-inputs-wasm/src/lib.rs @@ -82,6 +82,17 @@ impl ZKInputsGenerator { } /// Generate CRISP ZK inputs for a vote update (either from voter or as a masker) from JavaScript. + /// Computes the SAFE commitment of serialized ciphertext bytes. + /// + /// Needed to build the ballot digest for an update, where the commitment the contract stores is + /// the commitment of the summed ciphertext. + #[wasm_bindgen(js_name = "computeCtCommitment")] + pub fn compute_ct_commitment(&self, ciphertext: Vec) -> Result, JsValue> { + self.generator + .compute_ciphertext_commitment(&ciphertext) + .map_err(|e| JsValue::from_str(&format!("{e}"))) + } + #[wasm_bindgen(js_name = "generateInputsForUpdate")] pub fn generate_inputs_for_update( &self, diff --git a/examples/CRISP/crates/zk-inputs/src/lib.rs b/examples/CRISP/crates/zk-inputs/src/lib.rs index cb23c356f8..38a7a2c509 100644 --- a/examples/CRISP/crates/zk-inputs/src/lib.rs +++ b/examples/CRISP/crates/zk-inputs/src/lib.rs @@ -67,6 +67,26 @@ impl ZKInputsGenerator { Self::from_set(default_param_set()) } + /// Computes the SAFE commitment of serialized ciphertext bytes. + /// + /// The commitment a CRISP round stores for an input is computed inside the circuit, from the + /// ciphertext the circuit built. For a first vote that is the ballot; for an update it is the + /// sum of the new ciphertext and the previous one. Either way it is the commitment of the + /// bytes that get published, so a caller can derive it here — which it must, because + /// `CRISPProgram.publishInput` builds the ballot digest over that commitment and the digest is + /// itself a circuit input. Without this the update path is unusable: the digest would depend + /// on a value that only exists after proving. + pub fn compute_ciphertext_commitment(&self, ciphertext: &[u8]) -> Result> { + let commitment = e3_bfv_client::client::compute_ct_commitment( + ciphertext.to_vec(), + self.bfv_params.degree(), + self.bfv_params.plaintext(), + self.bfv_params.moduli().to_vec(), + ) + .map_err(|e| eyre::eyre!("Failed to compute ciphertext commitment: {e}"))?; + Ok(commitment.to_vec()) + } + /// Generates CRISP ZK inputs for a vote encryption and addition operation. /// Note that this accepts the previous ciphertext in GRECO ABI encoded format. /// diff --git a/examples/CRISP/packages/crisp-contracts/contracts/CRISPProgram.sol b/examples/CRISP/packages/crisp-contracts/contracts/CRISPProgram.sol index 7ca16e4cbd..538dea1f18 100644 --- a/examples/CRISP/packages/crisp-contracts/contracts/CRISPProgram.sol +++ b/examples/CRISP/packages/crisp-contracts/contracts/CRISPProgram.sol @@ -12,6 +12,7 @@ import { IInterfold } from "@interfold/contracts/contracts/interfaces/IInterfold import { E3 } from "@interfold/contracts/contracts/interfaces/IE3.sol"; import { Risc0ComputeProof } from "@interfold/contracts/contracts/lib/Risc0ComputeProof.sol"; import { LazyIMTData, InternalLazyIMT } from "@zk-kit/lazy-imt.sol/InternalLazyIMT.sol"; +import { SNARK_SCALAR_FIELD } from "@zk-kit/lazy-imt.sol/Constants.sol"; import { EIP712 } from "@openzeppelin/contracts/utils/cryptography/EIP712.sol"; import { IHonkVerifier } from "./interfaces/IHonkVerifier.sol"; import { IVotesToken } from "./interfaces/IVotesToken.sol"; @@ -63,6 +64,12 @@ contract CRISPProgram is IE3Program, Ownable, EIP712 { uint256 merkleRoot; bytes32 paramsHash; mapping(address slot => uint40 index) voteSlots; + /// @notice The last proven ciphertext commitment for a slot. + /// @dev Held separately because the input tree leaf binds the published bytes as well, so the + /// leaf is no longer the commitment. The Noir circuit takes `prev_ct_commitment` as a public + /// input and compares it against the commitment of the private previous ciphertext, so it must + /// keep receiving the commitment itself. + mapping(address slot => bytes32 commitment) slotCommitment; LazyIMTData votes; uint256 numOptions; CreditMode creditMode; @@ -167,7 +174,19 @@ contract CRISPProgram is IE3Program, Ownable, EIP712 { // Events event InterfoldBound(address indexed interfold); - event InputPublished(uint256 indexed e3Id, bytes encryptedVote, uint256 index); + + /// @notice A ciphertext input was accepted for a round. + /// @dev Carries the slot and the commitment as well as the bytes. Both are already public — the + /// slot is a plaintext `publishInput` argument and `getSlotIndex` exposes it — so emitting them + /// leaks nothing and saves every consumer from parsing transaction calldata. The Secure Process + /// needs the commitment to check that the published bytes are the ciphertext that was proven. + event InputPublished( + uint256 indexed e3Id, + address indexed slotAddress, + bytes32 encryptedVoteCommitment, + bytes encryptedVote, + uint256 index + ); /// @notice Initialize the contract without an Interfold controller. /// @dev The owner binds the controller after Interfold registers this program. @@ -476,7 +495,12 @@ contract CRISPProgram is IE3Program, Ownable, EIP712 { // and gives it to the circuit, so the eligibility check has to happen here instead. (bytes32 eligibility, IHonkVerifier verifier) = _eligibility(e3Id, slotAddress); - (uint40 voteIndex, bytes32 previousEncryptedVoteCommitment) = _processVote(e3Id, slotAddress, encryptedVoteCommitment); + (uint40 voteIndex, bytes32 previousEncryptedVoteCommitment) = _processVote( + e3Id, + slotAddress, + encryptedVoteCommitment, + encryptedVote + ); // Set the public inputs for the proof. Order must match Noir circuit. bytes32[] memory noirPublicInputs = new bytes32[](9); @@ -500,7 +524,7 @@ contract CRISPProgram is IE3Program, Ownable, EIP712 { revert InvalidNoirProof(); } - emit InputPublished(e3Id, encryptedVote, voteIndex); + emit InputPublished(e3Id, slotAddress, encryptedVoteCommitment, encryptedVote, voteIndex); } /// @notice Resolve the eligibility public input and the verifier for a round. @@ -660,24 +684,45 @@ contract CRISPProgram is IE3Program, Ownable, EIP712 { function _processVote( uint256 e3Id, address slotAddress, - bytes32 encryptedVoteCommitment + bytes32 encryptedVoteCommitment, + bytes memory encryptedVote ) internal returns (uint40 voteIndex, bytes32 previousEncryptedVoteCommitment) { - uint40 storedIndexPlusOne = e3Data[e3Id].voteSlots[slotAddress]; + RoundData storage round = e3Data[e3Id]; - // we treat the index 0 as not voted yet - // any valid index will be index + 1 - if (storedIndexPlusOne == 0) { - // FIRST VOTE - previousEncryptedVoteCommitment = bytes32(0); - voteIndex = e3Data[e3Id].votes.numberOfLeaves; - e3Data[e3Id].voteSlots[slotAddress] = voteIndex + 1; - e3Data[e3Id].votes._insert(uint256(encryptedVoteCommitment)); - } else { - // RE-VOTE - voteIndex = storedIndexPlusOne - 1; - previousEncryptedVoteCommitment = bytes32(e3Data[e3Id].votes.elements[voteIndex]); - e3Data[e3Id].votes._update(uint256(encryptedVoteCommitment), voteIndex); - } + // Append-only. Updating a slot's leaf in place would let anyone who can write to a slot — and + // the mask path needs no signature — replace the bytes of a vote that was already counted, + // erasing it. Appending leaves the earlier entry in the tree, so the Secure Process falls back + // to the most recent entry whose bytes match their commitment and nothing is lost. + voteIndex = round.votes.numberOfLeaves; + round.votes._insert(inputLeaf(encryptedVote, encryptedVoteCommitment, slotAddress)); + + // Zero for a slot's first entry, which is what the circuit reads as `is_first_vote`. + previousEncryptedVoteCommitment = round.slotCommitment[slotAddress]; + + round.voteSlots[slotAddress] = voteIndex + 1; + round.slotCommitment[slotAddress] = encryptedVoteCommitment; + } + + /// @notice Builds the input tree leaf for one published input. + /// @dev Binds three things the Secure Process must be able to trust: + /// + /// - the **bytes**, because the Noir proof constrains the commitment and never sees the + /// serialized ciphertext, so the two can disagree and only the guest can tell; + /// - the **commitment**, so a submitter cannot pair any commitment with any ciphertext; + /// - the **slot**, because the tree is append-only and the guest tallies the most recent usable + /// entry per slot. Without the slot in the leaf a prover could re-group entries and change + /// which one wins. + /// + /// SHA-256 rather than Keccak: the zkVM accelerates SHA-256 inline, while its Keccak accelerator + /// emits a proof assumption the host must prove separately and compose. The extra on-chain cost + /// is about 67k gas on a transaction that already carries the ciphertext. + function inputLeaf( + bytes memory encryptedVote, + bytes32 commitment, + address slotAddress + ) public pure returns (uint256) { + return + uint256(sha256(abi.encodePacked(sha256(encryptedVote), commitment, slotAddress))) % SNARK_SCALAR_FIELD; } /// @notice Decode bytes to uint64 array diff --git a/examples/CRISP/packages/crisp-contracts/tests/fixtures/input-tree-append.json b/examples/CRISP/packages/crisp-contracts/tests/fixtures/input-tree-append.json new file mode 100644 index 0000000000..1994b9917d --- /dev/null +++ b/examples/CRISP/packages/crisp-contracts/tests/fixtures/input-tree-append.json @@ -0,0 +1,17 @@ +{ + "note": "Generated by tests/input-tree-e2e.test.ts. Asserted by crates/compute-provider.", + "inputRoot": "0x121e53b587b4041e0d85302772ca3e054412547cf49ce715ca05f4c0da745939", + "honestIndex": 0, + "inputs": [ + { + "encryptedVote": "0x0a8a2408021080041a80244e8470857b83ee5ae8e7a7e7d1b8971f6e6c1c9e01b8e1e6f4688cbb4caa58c11e94dba84839bf0e41a0c4e394d2e95f1ec813cc3c202dee396a319a52b297a3bd4ae721d52919b43f806a9b075d0220399bb46517c23cca221e0c4910eaab7665b0f6b905e0fdd3f8e883109b9d6ea6a798193dd9b6ccc6729d3ebb05ab5aba2173f30816d16be7188eb534b6981061ad87811aafe8fc8ac81c88d57f0e0aec97b6c28ef9e26bd01f885963d1870da17ec3e82628a5db7a2c69985723d93f4ba4acff64fa97acfea68ea444d2437658c9aff65bca179ff11452f0fb44cd590a51b5f0d7e802418cc974aca7fc0685a2d0339eab3c5520924b28fce34ad130e7364d2e8512c77d6ada6efe531e7b61be413239ada7578055fcdb9ae9f85512bc4b8e1dfefd115d8848a1a69c6fb8c5dd3dc449715d6b682817022f24b73188b5ed86cce31e46c18c7ce01a22439ec1ea8b2009f3069628f44baca00ffb59c6b87ede38329328d54adb86f46fcf8feb636d1840fbe20851e7146f4302f42a214b477602f51bbafe03e01402a2cd698685d86e4a502a23c61ebe4c00674ff14a06a13667c881c3ecee9b0e6449da9633409f49a9997be0ff88ba5775ed1f2923089e5760a97af209d4e76bf1de1bd3b9858e526b537dec984a8acadb139e58a366184bc9a901b04582887508e61347efad02178abdc719e3faedd3315b06c640732d4b7a24a668ef914ff58e05592827b679cf9d396286e07ec54b035c30b39115e06ac2e8875afc9e0e3fedda34225741ec4858ffb7b701fd0d5bb4b5074f055559c052e87bd3d921867a5c9b6e5136fd2adcaa10178fc7da5acd9521d964e0d3963dcb24b83a66e8f8d205df377fb51180bd1395dd69589420bfb10fe582c74f8137b335916f9d2965596c4d1ddfbd0487668d8813542706d0950356de9c1250247752caeba43f6582194953e2d6898cf6df934ee4102999c56ad2c0f2c284ea8f6331f1a07c0db67b76fea15251f34eb09dbdb9795319fdc78a9f52bcbe80b74eb32659d655fa8d2b29b8e766f73797e05c2bdacaf8fea86092e851fa0fe904cbbb3f2bc83650f5ff01bb96ee31354a3e5d68a274601eade1b14bccbb717056064cf810c36f947aff4cb53420b9f8501c3c56dacfd855e732831d4fea552c9ab643808fa08a4f742720e0fc966bd7f89fb5fe4d3bf67ff4675aab1fa789ef0240efcf942185141c13f81be679f8252117986108fcb741d8a084a33182238fd3387de2a2b648c43a6a86f70f55df3dab462882f1ece9bb8b8d19dba343a2c08f51192e3afce0f605829bcc4224e20a73ed01e62b893079e713f4b08ae586954709e6b38aba45243ae689b1760babcf5d1aedb32f0c027571ddd4db94b926ccad1459df7c610bb6cff50573b0301076bbf00c39edbeb89dd09f5d8b40401ab8aa9bda33f5e34b142a584df8d089218e2e746ba21517bd44e9bf44c79ae017b176e569d2ebdc0a5194b4d3bb81680b20e216c8308a6f80043f6db485a529afa36f05806f523041d2f5c0646c168bb2f0ceb9bdf5daa6326c4a687fd76703c9c16ca33067bc2d4f66af9a28e81f765a898836bc0e531138b3aeaa44ac39c7fee79d54a209bed039f596114f2ffd1388b65cf405a9fe06ca69d3ba07fdc43b8908372b4fc1d80dd95e43dd9b25c06ab91728ae16cf578d0e5f278fab72ae5bdd7a06d6857c1e01976c7d297c1dc3068ee333305ccb9f85318be40a9475a49fab4264739b90b092a474cd19663a7a9d1c20574bc67faa86fc08b3387af4dba1406f2ec5f37a776e39ff4b9e703088c61f5ecc131e708250a401445f2b4a061fc8510953fa0e87f9348814f4cc7fc4dbcec51dfaac337c0c803bd8e70bfb91a2bc8b357eac1b059e6324930f04dff762c0342d873734b5d8f0051712301de124619f23e48c11d63906ae7646d72869931abff0cdb2579afc795bd5e8eb535777926973632d53b013441140f624766ccc1b9c66a859f490836bad4e45b401525369172c7d7e8a6ccc8254461fff9bd88c811d2651b8becd9de3ef3a30ad51f5ce9fd97feeaac30bfbf79b7e321b4f9b96ecb9de3eab0f1f68a2abae7fad9b276b5b20e0cc2769636a4b9fa3af1261568915edcd55277282f5d5b291e98a4191166c0220eea5f24a558ee1b7c857a5df0af8f9f71112dba90f4f276936ab3ae668bf5bd8b630494e408f05876c2f8836f2b3d66283e1c656b94a704708459fcbf61342cb7d1a0e9236c14b57494aa762373f1741cf46a695b7e7679c169090a85f062ebbfb640137523b5b8d5eb66215cc2b1a1b0b1b1c394c96142a30c5bf4d7c5e5e8f46ba517c311da34091cbfbc6dadde185b7d51b562fc2a1441c706dbc94d83915e09120158c78fcc14f2cfea56f2d6962ec11a577aca91dfb19be64e128694cab6bfad2a90095fbe704abd8e6335f40b2783577450b767d242f555e62f8b07e253759b59a61a05a34cd4bef794b64afded29f9b4d969abba5c7a7bcaf47edbb7bd5d85e5559e5255a8aee180ac085f2c5638f9ebd179f21cdb09199b89bb12374e3abfaf08098c5d51e73a0d1d22990282c222b30bb6fc9a349424868fbf76b2433eeddd987c0792772c04ecee9a2138d309372c616463d0b423c93cfbb969f1b361faf25a362f01351d2cfbedb9a6edbb4e50fac428f993c8522d3625be042a9c253fc99e4263f879daa10f50853665b2626ad9666f6ec9978345cffdfd1415b3461fd30d51636afb5e22974ba13652b261f9e29054280e2e510cf7d7f96abeb1b02f44a0c6999949b9c779b2ac4530b63efeb87ccc7adb0d1ec37d26411bf7c19c1bed6454dd734d76912c033b5d1c49ea008ab915d991c3effef9ac470fddcc73e96f301822041e067171f2e670ddde460c9038693b1a4a8c5564fbee8902d83510e53404c7a467338baa1a394bc6961622d3115e02b6863309eb14e7512c2465636d5112ad5b9e33c3e31fa6c8eb2bf88304cebca27085a9ffabb82acf668048d78c50a101b05c5ac4fd0a7790e2f2da35533d359183ead6edcc053a5ae1f3b5e4197676025840543c1f9b171b538b745ef1740a7b6e53aa7d1dd20f2b8a554a1f5446a51965720c13238005fa97f002ef372654e3f4d58b648ffe106529a3508f85e6430f71072e9bbae3cc2fb7b1cd21b6d941fc095f4c9d30bac408e0d10549a6361c472153fc7053394678e699fd076ed3430203b6acfadd1502ef50e815e605652d184fe34fa4f29b9ea41652b9cabcb28b7956e7e931b6a3354c68275a1671412d7fec67fac9780e677629b30875511a4605bb56b23fa638c603f24fc7d423ab6c0a13b3594ba7d3ad0d23f0dc29156de0595d59f63aa4feb967c4cda6cfe83e7fd95aae3607dfc49e4219e0c32b803aadb31e68aa5796494c056d30faa437fa9ada8d145155a90fd7fdce727f7530865ed4dd1778fc2388d102dd67c360b7875f9bdda62ee7543f7b75c30b6ca2524afe362a4de694936f331348a312a82720ce9e58110920167cc8677d02544eaabfee0de22dc5ac2bef66baa6f9a49cb4740a7162dd41d71c2caa91f569aaf0851c0be11c636db0008a3a7e74cb1497863b91436e9e573d8ae0e778c503f2728147635c2d9f4ab1f2b12eb50e88982c4fbb318926cad20504878a0d482ea0b80ef232bdb8dd15e2c327314fdbf8825b5123e7bae011666cc1cb926f6443dd4a3bcdb330ae3ee8beacccfb520ffe808a157c4ed1414c325ee2a039f53a449451b6a002c9d47108a900abebd3bffe23447cf6608b3feb0a71529174fd4f1e0a6a5ce1f2b265bd6b123706a5ca58a0e8d037a494bde0837ff3765d3cbf8d15d14e4bf89c05c7b9b371dfc72e712328908bc82405326da7b2589f336e22565968683605e5e1b214d6c89d034f90b2da0354b82af2c3eab7fba777c16893af125413eb3d1e3aaf237461266bea79137d52432c050daae1b291fb974e11df45c7690704e9776f2e8ab3197c4536a8df7cf1f8becce71ade21d4f69f1d0981890ba3509a28e686f19c3c9a8bf9c0f76422ce76e83bc6a4ef8708ef3b1d15f013d5cd364805c08e22792e340561ae555555ad36e2ce10efd2a764201b231369fe82f4d9a31ad6a82c0b96af90fe5c662de4f7c49c05a23ee52a5ea84aad0be86038e33ab093a79f92084b110de9c81f7535153fea86d0ab7b859e2de2dbe66389a41a7f3a18d9ecdea663ba3b953574108c6a1fa2d76c1c10bc6d3dd9d6a983c55e385ad6d635aa4a676bdcf49c92c36963c2ee39ab4be4059d9c31ee469f9854eca0419a0d2f3ffb17bfa51a2fd1dfa98cf06d8fcd5222defb594ef3dee33946645852032e44d9b99ad22eeab297a24ec239a8b42ffbb36b0dfaa682ea2e1d09ff61d23ad49cc850a4db32ef0c294807c8b7c18dec0b5d233198a0962fd86038efcc64a282404f57d96cdceb32a0b722d59c99554262f858df0bb99d6218c43336c0bd87bcfcb9d9bb05a0b263f1404bd498db26447740072f2a7eb97386eb08d6562b7f246ffb19d28540312963e71686019988f610811fa9791fb2d6c1344ff44aa31e9c9f92929590bae93375cf16eac6a04dcc57441b49d835c7c7c2c1e46fd9cbefa48369dded69b5daee2c42c21d24a2cded65b224b22bd8c5187b520bb84f95c1f9ee3f29661242c3dd3e2991d25b6590e5f033024772c74203cacf8c4eaf2e1887188da460354f5365af2324ec771d004b7941a43a7d6f731de9afd5e9f931581b27b3c567c3f932a580a89fba059a3af87d95fac1de6201d52752e3298a5d0b5d89d5c030c931a60204ef919602944f6269caadefb59c07aac345c87d05104bde1a4e9ec481c36162160ed750c41ad46129fac800681f9238ed76bcbcd91a7123ad32da5d09dd66e30df627ec05559971abe0187d53446053f014c0ca653047e0808a01689bcf2c941b066e7db59ca713dd3d609bd470b0d4c683590f565b727bf24a1f352aac217b52a2b24614382eef8919abc098fed46945c95deef4c704b3c21596c45742c45e02566541fb41db4c408843baf4df6be70433cf71bbc40931dbdf2151a29c223785b98f19513d9884f09580ff1394656f0a617936ce07b215cbbce6e92f955bc9b6f6df765d9e249d09c029da5fc62c294e11e721282738fd1bf2e691dadd63d88cecf57ae3562578b1d7bae8c6bda7db36e53471c81eefc309fc1c923351333362ab4df773b00e100219c34d705866b3cbc69daca501fd419f4e76d78225f325121c58e6283ad6d3b4b3595f3a32431a0b73032a143049bd45f179ce4642a489b7e5d3bc59e10e8afe7d7777aff35bf34eee9bb03cdbda43b2c7148473294da2e8251bfda0e7dc968e6dd5de75b391aeb169c6a10805516fc4c83d482b243d570a9583f174e8a17a51fc9325491c553bfef22dd8d0f258e113b88dd9f3fcf228bf25f72b509054cad0b5d3a00ac5b740fb07e3ea36f070a66f144497fe7fcc2c74e47e85d058925cf953d5242bd7b320ef9681071f0deafa1620162e0155440dcc6aee69b581a01049b815e32c3d18fee05133b392d83e1bc5e7efb4c9b4bb3819138c0e97b8143217d04b20108e396b716938a635a749c3fdf993d14360df92cde8ed83d3486ecd2bce00305b17416428a58e3723dc8edd3633ac1503b6556bd4d64704c6e2fde6d57495a868eaeca0724a6509679282aed934b37fd5a00e41cdc1293fcb3a0917cdeaa83c6808b2f77b61ce29639a9dc2d0885a87153244d33d82042fd618967b309a3575eae3d29ec7202aaebaec90ae043983f4bb7e83859e70ebf6becd64f11f9645a0f270f9110444dd1054a1b15f8535e17914613d24f95d591505df2082a457da6b172458f7d341e58dd5e8d534e4d67f07997c4d65385fed7f3bc922c4d6ec37c05f2643080e9c7ba09da1dabc937a5145d60f46e3df9dcec07158799299be9ff7a8efb595de76369eb235a9e10bf0eecf03ef565fa13db7d33759358dd60d2ea4c6e91cb232812791830e724aae5244a72db7935731f688eb579d0ecb1be5844ca5c78d8d50f6233216014bb0ad8ff1ad6ee4d733a4e88a6b55efa2527d3f0ff91391a2967433469a78720f052a974b5d932a51e2ba5c8ecd29121ddcec559a7d0e29e6abe8fd445f218e98a3f7d602d167176750acd15fd1ab782c3d5343a8500d521ca84dbf870d569a30d201bd66d810f44fb4aeeb969a4249a278adbb4829de9892eab1d8d9c064168fe0351ca66ef731a79a02e372ec831b4402dcc23df3e7bbeded660075c1978879a58b93fe517156f15977c578ee68a85c77eae5375997298428b0a907f03f7419c9a672c25ab9a2fb768eac52e9359a916456362f2cac60d9a4f87c6fecfff09ff12fd9eff4fe33723b6016b1f1ad4796d2b10177ea3cf75a41a2cf1a1f933984f07b1ccb9e6e0df9f0e5fce5a47ee245fb9bb6eaf4e23fcddace69ab265f12c8e0ff6105b89ec62942082cc2a20010a8a2408021080041a8024b1f26d382b93babcae6af7f425212ae19a6ad3ef37b2478d3a8ef1864d64be8c4cef37944be31329f95321da7a5af77c4c46e25f673b981e5f32e50b8045170e7ba43de36578454fbfff3b2dd9cabada54f8b5017b19f5d987c1ac662443d2008280a4c92f1dd6cb320387b18fbc5f0a5893c0277dcb8d742bb227794ebe0e13da6b233a64a10c572b3b97b022e700c245f494f38e99f1ca2d368d9dc667dd2d8c4e2d22176cd3faf6d2e29edebceb79defe696b84dc86d5d0fadb852455ba6291a2da96fd28b0fe271761d53a9adb4b8e8bbaf1e6592c92f938c20ca855091c35abb379ec2c33a34bca598e0f91b4cb5c3e79b0c6ae1924a9480f21f642bd9221e871a366f97a62186e44fb2b5ae6ecff29437ee6167cb22614014f7f40954d489e5776a64bfc0b0d55ca5c2943084d6a9265ba641fdbbf49de7b3bed23b9cd65b2b6cd9b82f87fdd73d3cc513fbeb197a78aa99f687703ae09eb70e58b017c95d49222c1fc5ab2b452117583b939fb6dcf8b81b0f54d44dbac957d9513c1f1936bcde3d2320ab3aebe69865b177f91722fa7f292786fa4cc046b2748df7526cf6480c7e0a948e73811ed2444472ffb79891c17c23fd1693cd7b3fa3fe1c872607354e6e5548a35d49ec8f12fb57bee450cd63ad5f3674ffa5f18f9451d634a12771275ee0850594f739da18d879b7d662f6d309c1cc55d354eed82e54d618306297564eb8a16d7d7a8deb306eb114cea5cc77067b7191e41e56edae4587c00263a0ff20eb9dcc38af25176d9bea85795e34934647ba749be7e9928e89487ff4d3313ff6f8943d147774a361d3f773f303003c2cbc250d86a16a67ea21ff882e9766cd5db620965d04b9618884a85c7bb6b85913aad57771aa5fa37e8cf99c1549074275122f3625d33a25e1bf16626385d12fb1199c6857d672b7d21422c0a4684338b6b87097826bb5913f27341723688c7cea51903f39e73757ed867941a12c87f6a96ccd555c92caacce3d776d6f1f427719359708ebbd7b33211da30194e73a002602155a2f25f26177a97892ababed6d57c91187177e4b1defbdb4daadc14a3bf0f66c024a6ddabb64e0a774e530ab5161c42a9d071600ae96c405c8514be6fd9f20eaca85c055efa46b21f98ddb9481f04a1a459a0572b58d16fae3c279790697dc02f7744959fe8cb3ec70488e2afa2ad8d34602533e08256af1d441601bcc20696f338776f8b2967de411c580c8967f63affc8cf40111fb8bde2b2f1e88fc479303917a8636160a5eaf7023c0193835891d480720bd3db1e46b7757d380e7154cc56a3ee98a069dfa2221c0c519c8b7d4007683bfb5438437d60830d934d741f264e8220b69a4d31afe215fbb94cf7693a375c644a490e16548c1d960792323755e664f74a2d7f72777ef0072577197e0bba1939fa69cf2ec848e2941c9600e04ef3a1504217206cb574787abafd2e5e5d7014648d9535f8729d0940b80552b3289fef61e0cf8513edc62410965e73a0eb3b0a0343850fd484468776de6a74fb79ba3aea7c06ce4a418b2968aee364226f50393c892a9432beb59a6ff9b127f839f79cea5f8a7a2b0a93d806a26b5110f03139363ddee18d8e9e14eae71cd5d1191b462392fb714942cbc911e9de6762d763bebb14ec62ffb077acc24d43327cfafffcd919c59d8b26a421e038d3d8a24e4e84853c86457ee3aca6b2e79a8f07129985a03dddee7ef666fad357bba65bc62a3c49915efcb5d09b6bef446759b1d58280cf57b2cbb1979588c13d4d242e87c4090aedd0e7c725133047eac3cf4d834fcf63dfb961964d1049071989b9dafa243cc5b62f2ed0e8b7994405beb8920bb3fe16b4b9ae3a741a2aa5bfa980a5e9b9585a55a30a891cc623c0a5578d993e2b3690a3a7afb298ea18a2af0cdfbc4ea306b3cabf752491ce11a298bab848e8398de152f9e45ab0f9774f94e0d5c575e4f89b9f3ac35686321fcc92c30a10af9e7820fec7b6a292d5c197208d732d2bafe63533a486d6fc6df9d82dd63452c5daaa9126b8304ba840be333e984485777e53a8c9bfbdc19c75ca3845b84f5aafb92ec4c0138867268ee78fc0dab397994c91da613b02b639fc3652aab4b1934aff408ae2c619953de58d25d00812c4dbc54732c1165c1e0ece9606fbbf3257f0466c46d411ced3d93e9a8987e396e4335653196d68d0c3d9cca7af0a160e6a36f0dda29482dfed6fde9312fbc34d84c8083e06e208fb8f066147495386767a84a29418a417d39a6ec15f962bd56c8d9792b304d5b1ff65c6bfb5fb374fb814632f76bb5472a4edf6fd64474165f3ace08672b4fb619bc3a20ebdbfd741ba48f86f4ecdbd979a216f80c49019527baef5088bc689fd971bb03aa71d40d19967d566b14aaa8b9361e5c552b41bddba7f1b3f76c6fc8737a6107a709079df923f6f2c47c68c5fe6d30b440542b708a9b919a011ce652089157bcb27480dfb531da1f76366babbf49c2a410476d74ab71f94f2a01d3118fd981cf6b1dd589254dffae686089b671a3a1a2d943d4152868cf53f3f67b6151c8f8194d17f6d0354cb26c58ada56badea791e6b4aca443fcb65ec9f6716a90b078f28a4b5fd102ec991df11695b1e98a2303d21c1f56bb2ae823f0fab80a06bcbe29d917a6cd9deb9ed280c94b6cc8ac57bff9902d928d4f0435309ceccf4e3d9f0d8ec3cac278555473382ffd2d156bc68dc9e34c6aa8d9ef9ee90edcec234772aa72865293bedb1844bf685f630b1ce821a1dd47cec2a4936e3dc6245a34191ca94cafa68fc69e9e21e6d4f3d03504e94866dc0e661d5998f2e2ed1779bbcbdb131ec70df7fa4b310cf532aa7c3fb0d2ea025b4575456afbe012a2efebbc62c5e787400efce615a29159af6e1aaf0ab730c623f5136a69eb6df22bfd1e8e90c9f2278009644d899aa73ad705ba348f2b8f899267f4645f7926c3af1c50b07601572b25305a749d41888aa2ff22436560c771671b26f22642263eed32fa4e0db543b770db41024c394c0006e5bde9a977b7e704630fdab0b6dd4a1ce8c5434e25497735b6a7bc8c7b49d0516bc8445191d260e409d22dfd2215d06ad97905b04fc5b145682f125df3c38700f741808c9798d238ffcbfe2fee8a2763b65b88854ef1537a376796b2af5f46d22cac380a4437d52017b623f7a604dacdaf91f8e4d50280f3a51bb432876d320dd1fd2f7fb7a88ace9ebc1d159891ec618b25b6b802c31f59fcad240c7e00c2fe2588e08b5e34640c93514263311b9168b438a16931592645c5c4ac3adf54784ce232fbdf68ee4a640a0251abb9d2aef12a5c857dacfc7ffaa62f10efe08caed1622eb4b7c3b5348ecb88e949de415708a64b573a744db6a2b5411ecf586ae1ca3acb800dbda662f5356db3108d94026163817510a1c1e334cf5e655f23bde2847766a9703e2899e0439a27a363011902e92067bb139fbf56606365b9dc1ee01d4dbc0cf5a403eedb90c254c95da6f55a79ce649cb2bb2599e5d4d87017784ea09aa1038ffb28b83e47ff984d93bfff1f5876043c5d5e828b788ab378f7e02537931e754129eae25d6ba380ba1ed3d572e5983ce24269d33ee22bed06890be85752022eb7d75b89d2ec05d3117f03d56a80fe68e975941e3fa9e3dee85157ec4e6c438b198e2c4ab2b1e9b82eb03e0ed8f5cfa6614e9473248a3265eb2c1c0c11797c0246aae1287d5c367c3b2bd351837a0cc19f7099531e21b132a5143fe85adfd9937422d22739878cd514e07515ff8ff0631ea2fd693488f71514c9fee4fd4364d37b088a5f9ef6a5f172c60196f04a3ea0e27942444e58ad738be7067d17b072fc9b6326f44ec62e13563aa78c27c09e669b05da71055219a7323d67eead97340a1977ab298bd962e91cd49552d83a49232834b5d2bb639035b5d86594e367cb258f77cbd51d937b53c64b29079895e97432332545e8ef85c74fdfced7c03539943096d86c81ade429eec193bf85b54f344e194ed5f570039bf32ad7781b1ecb0eeb81cc1beb91eae127044b0cc3011b82ef88091f49b93642c36029db45e1ca8f02b5d993693c5228839224a8bffb511347f7ad245cc8a1fd636a57c624435d87d616e9e30d3e9ae508853af6ae617cf14ea4f365b2834e03de2e4fb659cd84eb8b4350122c76c3ba961c159043b1fedf1f5f9ad262ec2715a8a8a5608d344e997e10fb5dbc996ac28996990dd5908bfbd9b55d0bf432cbaf67bb3281717ec7c3e6f219434f12b43d27017c0a2e2c6002e6e2f695d015be212e71db87c76d918387e525c5eea817e395a9469a4eaed23254ac8ed778852adecd036c5ad0c35f41ac7fa7aa8b31a3c3fb170652b6240009776e9f8f3ad3d16915a6eb656d1e1dbdedcbab48b3beb0a5343b9a1d0f5f45c552d95ca0c2e16ff57014304723b98c9703f2c09dcce4032d1f7df51331ca79e5c2d6a28043360b6b74a1a22d8543775fa441c2b0103e570c1be4af973eafab3d5912dbee022f3c81c520b1b58985caeb03f9fa803aec7f2c19f8fed94602543d825da08fa5ae8623f2a3e2e2a2ff19af8dac788fa0ee3874352f12d10c2b215d4b575fa54465cfe39914c0ad47f041ae7c0ed96f68b677d4197eb6d532cf3c5a90d502b5f29b04b13f86fbeeb4c4fb2cbe9d447dfa2db2ec6238957fbe8bf5b6f95483771e9c4c660a1d82f79182a6b135078906292544bf19f0d0a48f0d3ececc6ef0ef3d913ab95eb51fa2e31c4f9605711fc6cf8617f87e8a70dbe3fd57a6434cf9d3277a910cd6d58909269cebf1d8b895d9e052b19d7e6131efcb6d587ec2624d0d0dcd9a3b00197389e641412f106db50ab89a0ec710910ad1823c3b730b87e6688a9113dfd77e032962c684955daecae236bae433cb85151e8cb5c3ebb9fa183717afe78b925aaadfb81d0bf9ea2277d52b313c638d8215f761f30a919db61b66b58ecb83068aab2c2c9d51b4a6cb5e438d519ab7f5495e5859cf7958538d3b9935298428529e8452089598b7b66a0b4e9bd84485203cf3c6a75d59c022e59404453e9f92912929f28c167b34a90a0eb047963f17e50dfaf7ebdaa5b8ff6e66fe0988950eda16c59703c9ccc38b7a38c305828ecdf960da25812e6892e69028e34d536a809daa5e85fdcfbb3f26dbe083c15e4ec0ed929ecd97e6e70340c300c93c8237612b2e2f273cb4917561caeeac8700a064c2d8e8506611e09e676083aa8cdf3bec5fe5388e8846417ede258dcb8c36b915378311b22b0fd04877c32f33badb4aa5572e95c23095c9086f8c8c5c224ad54bdc084497cbab167d370f4c9f6ada25a96b12da675230bbe6d125440b7db25c8b9177b60dd53a549ed178365074608fc3ec50cb607685e9684097ec25605fe9f06b2d6951f1e99f9c226e8e9686935b8fb9cfa63d50866b10e1ab7c3fa71dd324396ca304bd4c93d8c2e245971c0696b0f7e6326aaeb4fa37e374dc113a6197845033d9549a20c3937f8b86b73c298448bd2b12f1aeb418ba26b840ad820a50edb8560c57ff5e978c9f679b1bbba622f3601a58fa416564871b550559fae42d76f046322e30c78353a2da8d85edd73ed88f6c41036f50c3379b764fe385b52e197734ed8fddfd5af8daa15a0ac33cc76e020caaec96e7017d7a4a937e60a4d9930bfa306d2655636bba0c71868ac34371e3add10683f941be023f9bc12593d0dd57a891270f499a360044dd046c23ba7d51b446aa7802c4add7a4f3c84752404fb663c54dd5454b62ed919bad1ad666ebf8d5b3e6cbb41cfa426d1c26f05f7a102efbebd83daf48baac3dfdaf11a25b4996e05fe37334be38a39afe9af1d980142091faf6360b114ecd6ba174d860f6e30a6d6156638e862c62d625fee5a9f8d7cb74ef25ecd47c3a19cc868755b1a8dd0e5d42b924bc19e3be8434586fd7ce3724848f64ae602b908fa3f8ec671a63f1533af0d91f8fced9865f87045bf66e436c02a132cc60e48cf0b7a8b4299ca2f972be53b52828b9c9230989f7432afcc0dcd10df23ca47c90ef980f631220ba2030f4ab9fc41041fe16d031fa16c44038864077d995ee0fcfc0e60f12b357685a1678b8fb9c90df89571d50ced35d690eab96cd6f4ed1b516638043cd0676d5c28e42fdd0dbe574876d82615e3dba0e119938672e0d3e3d8ef6885549adcb622870e1e53c67a1bf8949150d89c1b17c3f2f6981a1dee9dc8e8f0613664a13deecb8c2bb54c0ddcf336d89be1db5b95b668c6601ddd8f0312f729f9893e41f6c6d557c095c44b7ddcb93fdf01a53a76b9a794a16c55cfe06002d7e6f452c52ccff62fc6a9453fea91685619bbb08b601b3e49b1267a3789136d70371ef5d866a0eba4b84e34ed77dcee3c4c4a2414b63139e633db76c030f72f468e1de525789fb89021c5b8a1dfe5e5aee8ac49c4413f1393fe57bd9f92b2dc181cea48f51c544293f19c5e00dc62fb70215b16bc2f8dde3a2e158af962f8f6f95ee1aaf2001", + "commitment": "0x1b2aa1508ceef95ab2c52cdafc6b21ffc1fd5174a85a49892c8986520467ee12", + "slot": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" + }, + { + "encryptedVote": "0xdeadbeef", + "commitment": "0x2c0810e002c4bd5c29a23a8f66782bd813b35fa5fbe1c1a7aa50c86e89c00d44", + "slot": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" + } + ] +} diff --git a/examples/CRISP/packages/crisp-contracts/tests/fixtures/input-tree.json b/examples/CRISP/packages/crisp-contracts/tests/fixtures/input-tree.json new file mode 100644 index 0000000000..69217b2f68 --- /dev/null +++ b/examples/CRISP/packages/crisp-contracts/tests/fixtures/input-tree.json @@ -0,0 +1,13 @@ +{ + "note": "Generated by tests/input-tree-e2e.test.ts. Asserted by crates/compute-provider.", + "inputRoot": "0x1e67888197f8ad5e52c9aa8daa94000961c564493d56bb00b71c1548389677e6", + "contractLeaf": "20703020114592395308382755468793769934578766342985256133983745482323530015080", + "inputs": [ + { + "encryptedVote": "0x0a8a2408021080041a8024dd070e86722a8653f0cf91d335a8dd4aae2a0bab0e97e583f0384cd7873bb7299fe97333ebf2f8ea7ea922f278bfa450ab4dcb0d9f488e5d389313f447e07e52a90b6608199da240cab3259a980f8270d737ccbce21824daa6c9501fd4ed5d08a5c7d7008282c13f93a010904bab20ce2b0af7d5bb94f04ec02861c0eb3d824c553898e4025700b9b5ab391bd109dfb00f9367cc7ec2d0ad5c3d84d24e64a33c2ca7548e27f5667395f7a9fb991772f114aa3b6b770741359663ffae19cb0eb20f5dd7e5abb9fce70b1c4c0bf69c0867634fbe65cf403906ef0ae80107838e645fd6bcb7ec57a62f8a6a2bedaa0345c38c1099d15bda8c9134af6de87c12ab516721e7e10edfa5614bfdf66915cd3e887863026db53d25bd3ad63bbad036700d83edd139649554ababf54a7c90717014e0bbccd1fc265c98204877b67f18fe1eaabdd6885921d5d8ad2ba7fc97ee6c1f935cfdd71458de6fd9ac8f906d30d9ee4ec0e39cc1014b512073a5c57f9fc4a0309af3db040826ee350e96e6c329b3203e9af89824b05e6ce0b940c87375d6ddc926eec516f1ce9518d0e7344ccdc04327745d757c3ed959f19421f89d2f8e9135206d230b69e8f58ea2593bf0f92cf560803d124fc575907673978f2a4a85ede5714ecc40c6c75f0aebeab2291cd6ef3ce1750d6baab7c28952525dcda9577957d608c32bde7cf6659adea2950cee071d3a9ace6378d76890a7b2434c9940f28974b96e284d4a9b89a142e5c3c34fe606e43093b89cc9745f7f2b8bc6a7ccf91403ed82995d3df340e86edd209db23dce52a389ea74dfc72bad6ed941283367f0dd832e6ecad6326599b0c8440b105f649ffa07208f968951f03e878b02e814e189ad030f77442a3cbbfd98b43ee021ca6deda132c7b67a0e6ec8ec1c11ebcb74865cf4d414a1d9e084ae10ea80ec308603f258880b4483b2b7d18d9977f9cdebe722619fd51ea120d591beb0c3b4945d5d8174d1ca8d62e98bc4aded750b1ab4c4f701aa2b4751c3d09007b1e8961381aa16780a170de92d760ec74b6f657c528500f21adebc72a8841a761136c301c4a9a4153be29d9a1bce7e449708d45348d228450107f38699d945733abf009f74bd5d2ac8810ea0769fd5c06412396f91b75f4b8b8a0a63ce7ac5bc5d990784676a6ccbfb476da392e7dbe07fcfccb504ca7f267019b0843bf0b53028e3f8f7deb98099bd54da8f2e690ec764cc7aba32a03b21974801e04d19a1c15144b560d7865840f5723c559c186fcf0bf8369f7d86d42b309070bdd7296a4466e7c224194e60191026dc04e4523732e86dcd174fb3d35e960c09985c742e53551596c3cf10ef3eda8ca1a6bc09b3652a07e078c81358c997f2f2464810b9e052c6375e735c45f15acee8a8ef3f1d165a8c1fcf9fe916a744579c351614cc4bc9d9641b1ae344859474bc2bbb2d98e5a67e6d141c20825711af2d64dc4d30f8cbd59d0dfbde7ea0e902eef08165874fd1ba0170b0ffe1021718a8ef49d24f8d14b0e5d6e3e6bad9aa81574515a630e1ed957865d4da1c692aea2ec7b554eb98fc353cab8887ceafb134f3f1e4612721b1fd7468fca81a228aa59346ec8346d02a1b23b8b28e074a79b872628cff1ff0f7f58e77853663da4534f61b21950749d40199ffe94ba9a0257b101592d89bd8af1acd0f01a6bf3b4a8af5213e44eaacaca96ecbe569ba632c5c09d648648244c41a7ce72f78810c48fb3e9463310c270542d8eb860a0611dc2b93b0bd6a40efb81d463d5ebd6dcd9a0d4c835acc3b08187a9a4369e86e7c833fafbf8d5ec65d40021eb9e917d7a4c96abf198c0a7210dc0a449e363e19f952267f858578f55514cfeb321eb86f00ac950ba92502bc47f723e44277f123c9733c21c299dd4ddac5109fb0cc8a087741fedb2dd1a9b6ddefc92da2bb3c3ef8ca2429ea31ea3a7c37fad149ef814e5ec80e47c365567f3b21979492e51f7f3937c46fb50bade541f45891f0a43d40fed2bb284ff18d736a3c7052c92ceff66ea84f8b9ee6d980399634560d79a17e224fb61198f726daac48df5bc186f0d81cef3bb81148508697acd292239f7228a218af8694b7664c0edecd5a29fd065a37df686304cc76e501ce531519c027ce9454cc93622b2394d86deba2c2b0a1a70bc702fae900d85d29218592295df3b595e176feac3549cf1e15105e51fd01b8bce73a9d6029c3ce64a7f1b1c47b2b184a446b0f26e2e04745c65fddd997659417a3f3459024f8b31486e6281ba5279b6a082e6754fc8feb63ee9f44486bc98a2ed15d464456948a79db59e91db628e07b568a03c47cf8b33937bc4d5017397d733d188a8931e84a43c42c3a6e6788693b6e6ca5af6cbe37273d3d7c38660693ec82c701388d7130a8cec478100fca68fbdd96d171e7e21cfeaa0f6ec5b445e1bc897cc37b2bb7ad9e19d8861ff88985b8f932a7a7d5c4013bc75ba34feb9564653760289dd1c18c66dd4e8eb2257a48a1f428e590f11233c22ed0eddb8dfbadb6621f3854df503fb6f009ae354b34ef56480ba4090a0260e7559bfead5e49df43d6504420e19a6d65efd1c180417eed3989f6842b7e37944f57e1aef0d9209ae8bc2fc468dbd798cc443d0aa62a7cd8e4cdb861cef0bbfa02a8a3c597ea019e73b6f8f96188711cf3a4f3ae436db93675aec9423c52dfb4cc06cef1104ddb9b4347ad3aef82147ed9f7039f467492e043ca0ed6841c14baaef46ef6d35bbc97ace7344b2d32c3e9b4e99333defc4ad5d9c9c47c351d32ebaa334089983082fec67d34768318afd7696141e90b93b9d8dcf8831a943ff51b02bb5d4282bc6d8797b03f10c5280f951c7d914bb3bc3b60b0cddf8289eabfcc910beff63560b54778db5485f9f1ad2c50e216b77ceaa4f7aa51b493fdcd22c76f19b2cdecc9e2aa92fe9c39f973facb184bbe1c42480fe75b23f544b3dc1d93b8e790e94fb1b930ccb55d446b06de31a2942ad87a4767f7a2390aafbb3043e7f105e0ebf2d29e10a902076dda0480afc8eb1139de2be60f3321f0b796109a1b19446033191ff236609a1f6da3d5e5ea82908a3824d91ca7625e00d6e5b143cb444c76bae964f0544dcc7a497b66dd60bcf56b9da1f393ab4fb72d40364f721e70ac1b177d77304bf15baf922ff8e25379b197d2c523d39c8855cefd1a460b040be2cb46405f3224a00d0ebf277c41c1d94a0fbfc376cda6a10d1094ecedba8a906dcadceb30ee383d48ff870c4952e81f6e7bbe11fa7040498d3a832e32af7603b9e92b132363e31177b2fd1bc20d996978baa363d1d7371f3a8d7bac1af6e53c420c55e84b2dc5ae0d6f53f46a0c5165d5514342ada525c83e7ad39cd72a38e453d68bf2e730f39b33a2d500dc19f9c9c114fbfa5dfb5ca3b0974f032963854a31175a8db3460c86068cab1efb325e0237ae4b7ea9fe03ebf4570b71162142d9f92d8a4341c3ffbe904006ef90da3d5d4d779173c6aa8fc6a3f0b1831dcdc1284acacb6cdef534345e20d3f6aebdd952b552c305fd1c37ed65ce594d58eaa13c4aa38923e17586125c3773611837827db0b4d2dc0167b65efc51fecf95dce458e176f1e9bafa0424446ca656eb45e299b56a31e8aef7ea0aed17ea35a70a6ade088898407d3be19e696ef905e415955beb6ad1db52a5ace4dd13866be8e10a03f714df5a4b96f2238aeb6e64724cb4b6a23edf530a2a2992ee4e11aa744322c776bbdee50caacac2a2ed8ad9425a0d70766d79941f14970c4bea6b1303465cc0bce10f6ce76e0bd676c81c94da068d81f835b0cd37d6f7d783e412777a5d667ab9c61c1624988e07ecd94bf56ebe2ea4600400608a6b86a32ce62941224b0f238b218270304bc5c56ef87fdc21d37b1f8aa84441cb23874a220cea1eb3ac85f6e8e636df0b92a6cf2d1fcf8292ffd3bed317af883dfa4167826acb0730c51fabe01748e57c668f23405beca59e662960c0bd6c5ff9e384073f3d617a8af2470fb627a6dda8ed917c947a29a64ca6e958ffec4351ebb17d32f08d0f811ccdc171ec4fd6a4522830ce23d039eef18c1263c4cfbc1190ba01c336cf0e78ee2a161b412b083aee222cbbc573b12f1589d3bd220c985d36e13fa9a364315c734bb3dea38e111e0fae5ba4ab2400b9a8636b9072de3affc025540819aa2de7ddd2c69c45ddb98fba8efe35c5e53f0598cfc2e241528b0d90d45a8c0574a8b2f2f12b09ff5dbeb5f0623b27a2bd6d19f1f518a767cb2f475b0ae5353cbf06b099d0159df0e6b05d34ff3c3851ea73e406013cbd697a55796c19c27f9616f59a582b0530f945836528250f874c0124ef865c097807eeefb3954eb9605277b9accb9d48794a351b48cad7a9c97760f76b94aff3a3675673c90c7fb724b2abeaf962ef5e0881d011d0684335cae7009fca24702dafec8e13a40bdb0140d3e33c663818d5ea3431a3338dbd7161276200d097acb4cd8a8ac3ca7582ae4d401854718d93d6b09721bd8db492b0d8f612752aa0449955226129ef80b7d43cb58933045a5debb9a14f358ef6c744b003d9b5acb9c3fc7250a302b280b1c9e02746c0a3f1b3428e2fc1fe6eae3575e0558165654d9888e9cb406379c0bad6783fb59efb3c45eb8bbe31aba8cb563b2368985f64d36de029bf04e9fe800b9749cbdb16645b2eac1fb4270e41552c5f894f3a36469d41cbc2ab5afe12e2df29a7e320401e9c3b3e3ebce2a594918c4bd8f628599b9e5429d96854d440c50b16be3b5788f723fcef61e55d034d2f2c94d64819d922510cfae13c149fd48a6aaebf058cd74c4feb0e1387d7a06658495af47599a33ea6d8af8738860bdcfdd915807f3ce7df23debc3d80a6651cecc1812a82332335b59f1def385cc0a21d777429ef7f11d44ee640bbf1f44432562f8e2ea86263f7f4ab15fcf9082d14a184387f391f9b724d9da75296abeb5a1e9543eb4581d4b1eb081e3dae8c5bc1e5e862f454b6dc952961f32dc62f14c2edb917b851b52ad12e81ca649ef5b69ac68bff1c9cdfdf17fb8aff9f73ba071a73e5a60c09ad3adac9e2df855a20ac81e49e932f98ab570d3f94922757d16f5a8604ce5c5b6a47f00276d1ed73882bf6032f8a58c6431e7e98c66219f0ab4b9eb4f48a9c838b46f5d209c9e363755c956a0f8c5ebcdb2bfd2d2a4a3b457a77ba303e718dadaadd81a8863e1deb235ec30fd5d89e311c5ad698921f017b7c86df5513e8b1f3de301a0f348388733554e4bc325224ba2b2a5f9605a0378da47171447affcd45bd263d1fd684947263c160d962d3d991cc5d75b88a492a64aee69c356cc3c01bcf39e9d97fc0ee240f7c8b4c35746e152e8e8fd4f5d5e640c9a3895a23a61c040020729ab575a4a044b42e784582674e2e0ac4043c0dfa5749b7b4142a22bbe6a5b841a2ee4e48c57292261b6fa1697a5468e4cafb7a642fe31851c84829af7a594d933fa282aa3b6309ee23bc731374faf995a37b533cd51f8c917cc959f71dab8c7acd286552bf56e499326e85c2488b2d3e9a33ac2d809a17f39d63ba6bc953be563d56a71d3f1245b453691f9f309072f8c5b44d11022a90aefc59776efd41f0e80e3c857b591c4d6efc7f84dd409f50369ed92de01ff1a732925ad09ed881a8ff431ef6f635805d29900a218e9df89f8f4f49723c3fd72961064b0b3349d283a5e7d196d1163f32bbf09598acdf33971a4c5d0210255400e8bfa0ae4804eea3dcfa33d9a1e9e4a70a697bec581da3840cf9735cc8ebdfaa51a0c66ad73ce832b4a31e45619a9ad55ba3aa3f797f46282d17352b7e6aaf5f1b97649e4b00b7df7185e9885f30f50936e5a85b1d9925e48a8c996388bee562e1562779b85b7209d4f3f0b5bee2f626d88c5bfa50daacd9957137f2c2cf0bae4627cb4f9dc6d0cfcf024a1a1a08f2e1d8f94f5bbc55fe7a2bea3007bdff5efbf9b5bc1ee7cbcb42c43a85078af48fc070aff9139eb9bf7636125748e7b57a0698b4ceade857346bbeb7e252652b4221fc498aa24c1e92c9ffec0a28d9b367d915da079b0182cf510017db5685f787edd750ef9c2e01b5711307e33295239cf75abebdf8c2230ee53cb5ba3cc2ee590ada4654322006768c1108960fa80cac88661219d9285736ecada38c3c79498c095fcacab11a6ca214fe7235d51c4b10d771ebdafba82be0648f6abeef1a28b19e2456d7373dfff5b29ab747699b44210b8c85ea56d2959b03c820f883ddede980b0f8daefbb552fdb4347ebaddb32aff1446eca17550990386253f5701521ac6aea9e939d9c01f469c03f1ef060ff7c4b99c8f9e63b95bdfa51c10f05bbd00098f0d1ee659652dbb41c958000a5c3e9e5bd65c8970da09e28bc43db38f5020a4afb455e5d774f18aad8a6770c415860cfb6d8f9f6df18ae22a327a3999fb883f985f5a0abeb918f805a601416f191f103c2154c1f9738540cc0973400d109a4054ede8285a1c4b10ea38c1a56a52b064af220010a8a2408021080041a80246b45cd7a95f3daed086ee10ed6f8058430bb59f7713251d1df8b246baf0dddb02e2b71faea14664d5e8baf48c1e362267528ebe5a8ebad03b0024d1832538eef6b3ee387bde10b0cd1e425f4cb019e57026e8a5171c4bc90970535f2e119460f54f14b248a7bd96d6c934cabaf4c3799a0e39aebfde7ac266241ae43660de4befaf126db1a921c9abb034fd140ea14539db61da69b8e70dea08cbe760cad05bb34dd5eccf8b09abc26ae4616b7ae106e51e17f7ee40b84698ddab342e12a30ef147217735698bc4e909153547fa2fd6e872a6e7be0481d861295121a85ac6ea46f0063cac517102c8ee3b49b48a62dc1e6d28007fb670224725b09a7e32315d1cabbb42798a06d039607015081c3711b3453d46192074508f04a65ae7a97778eb29591d19a43756262fdcaab3783d8d3dd5660950c1165ec1b7f882037109bb99d3600536c2a5b324c8c3936e8bc4b261bb5b7663abc9e7e02e007b8f2c0cf475a3358deaa55bddf0027b3f2171cb3f9e43f4ce754f2e69adac495d85b1860a91d80994bf5012848441610ef2ed4dd16d8fbabdd3e89b9881c2e0ae5c238df335738ac2739d0177ea349d2af80d42e051120884aba05b3b37289070e68447d0821f7e7cd406acbd8bb10c0bc144e9d85416c3038906301526a155524a58f15829a1a5af1e6d6a06b92a1704059c8a0f4bb608c5a903da0e66ba6418c72a7a847df45066b492af1983bfdd29c6e3bfcf3337a35bbfd050623dc841855dacffda35670ea3204fdb2938621dc6c6cc3afaad761f82ae3c6f31a4a589cccffb380604b33e0ef1313fa6d940175be033767cd962a7d2b3da42a712631c41262edbd5e03486b9babb5490bf093b23673d71e2ffd573fc944c9f332d659ab74c13513ba7f4aa42663a9952d8567a4be0f3ffea65d78fbadaed39316fab7715aad607f7fa3c8690fceec6761c10168e088fc014334cd8fdb55cbcf6b4d700831731c211f25344792f584732604231a86e6850fa3b8199ae774c08dd60d80c210722fe8b7c56e5b130fec557a0e026371466c81420c48388b2eb96319014f0d4ac5be9aec453b197d302fd1af0722dde94795f24e3e7467caec718597abeb278afc4130d3c2d3010ca8145e9906f36c80a93ae090e1fd277cad1b6b96affed7a789ab6997600fdf181727eea3c9540e2768757dadb41cf46b83ac8110ee60743b41ad3b8670d9e7ca13633fc54628f04de28f650569a0bd4c994a53ff250b3603f7389156d523e75d4be52a56588b779e5f4a22087c5f901bbcbfbe567e957b059ebfca73ecb4063d2a9b7c1964370067154ef4e49501596426e5edabe29ca9472622b572a08559582fa239970adf7a77d63e52a4b6e6a04aaeb34bbbfe23c3ea2cd57978756fcdceec86a9510d563378127fa53aafdf6fbb2ad041b011a1255f8ee02f941fc3fba7e5531f0efe3fb0bc1054f6be76ee49df7f0c6de6fce1894ee17be9dddba4711e6667ea2efd165be53992c72d49bd7663c3cc3236a15d9aa59d626b8f0c278a7199fe7ce764d3595ae9597415f36b5faedab765e77088868d729104c152f52c03e6782138de94c216800f6589542e19155a0223f1143dffd4366d7450ca6cdce32135770ea6d8f926aa9578aa356dfea3121e60d5fa19968eebf6fb53c1449a6710965ab63d77f58dfaad300211a390739c264e044393b11f39f6a81fb900cf58ec72721ccd33b9c4a469d3853712919ae35c89eca79b7544b65516eecc9eb9576928083ae64233db5fd8c50d7b89656088205383fa68b631cb265a0181b72c9872a19ceaa09ecec3ca158088ca40df00b003a1fd1b8dd78bc3829980a2bb1522a1d65cadac29567836eef63d3978ed7d818eb89cd7afec136c7fd6e80ffbb2b106e9ab11e5e6ccaa0da166a87a4b7c690972689b79fe6ccd42af6b346534404bdf51eaf05ebe63d2903f5effdfcf274154c813138412725d5a09789f9d1fb620ea12f28faef2e58d400f89c4ef722782e120816811097d23ecc92252f682b98f0e2e3d27f95e99dd58fa8f078dbc2ffb31388773a88de3236ad4769119616a44452610d0a079262fefe3133de403b7b3aa5b014cf6ebc9c1d33dfc61d3c1a94725104001b429a66885663414fbfd6b0b227ca588956658b98eec0ae17aa58ddbc4d8db24541f6c4cf638dfca301efd7366d9994d5e87dbc2fcb5a8b9e6ceda52c21a5338e69671f5a7a87f306b035fe7c96cca6428c9ab28a190c2684087b025d363a51b4b32b72772eae8689c98aafcf1efa391f9fe48be4943cfc16220b622d62258aa56b91398d47cd3cf64b3c44b7a3fbdabac6c51cb60c4a941193f017921a250484fa925ca6c66cd556301f67b9d6e3b392970a9926bdbe097e5c49501b3ab932994956b6b2622c1659ce77866e2e03629d1b6c61a585b96f8f545fc2267573d0a093ecf7f37587b98d8bc88f3ced1054a752bc57fb0043c148d91727e07c0c58753635255ed09767136e5fb44c5c02f4a7fcf75d0ae61b3e425f9e26b83caaf56ca75779806c87c9ddca36a74b47186a793c362dc6433b373f2c06b8073a46b75bd7791c9047495bd0652dfe92fc7bf561578dcdcd51cb3fa5ed626c7bbc13228072a869f09dade61dd62f5cd178508b4d1d9970356095cad9350cccbc76981303db1e70e5b2e806afddf911c4da61926ad2fa9c42438fa634c88d542c093aa906b36ce6cfb28f5ef8e7a8ec756fec6fde1f11c1267609272fe331934bdf549423ce50989ee3a1883fa9841cb93809314c24db571c54a0d25f3df9b4a40d0f897838a148f2dc9f86d10fa5b45d98acdb9f431a9bf179b9f849d641e70a2cb7c703b1944dd4a8efa24bf1f698cf048d6efcbc4803aa0976d651594e5727acceb9dd7ce476002bcdb4f12a9e2c430476ead9db7b12a746e9b35c5216b098aa523c9fddbab2b273a47a7c8659982e090ec4d77658e6d1d7c3afa4a2f7a3f3a0b1c6918cf263d7e528cf812f9418384d48884868e72769bfc533c279236f756257ca2f5c2467909875a2196d435f911864ba1dbeb885215dea148f94ec8b6b269d33727bb64eb109585c3824bc759ce0d9416c4042406dd61b4dba959aaf58939a1e92ba5211188fedd093c7b96ac9a8279a4b04a53a08674fadd637bc37afc4f4355caa3d87fda455976c8b2b7675414ab00ae7b8c6ec69402deb275f52eda69e40126a50a4bf09cb1b61542728612be2dd25252e879f650b88119e7e71c80738a9525890e9906eb01516a54f4b285e17638afed601b7d5a32ea52eec78c788539be8544c858b825ff81576f7ad5565a04257abe558c4eb3d3097e62c5039978283173875e1442f1bc37297faf8fce8a1883728b05f09472a211eee634a096e12265c49637e0d83ab80ac596352b728ab42f37f5be92ee5ae80ffc1b87e95fb2f4768cddd4ab9bca1bd534df3557b52048abd227022915c3d991e4a1d7634ac9619ad93caacb54b8da71f2a92c84d592dd7d4afa24f7ba348828a07b9b30b3dd9e331cc735912843c6f811fe41daefa1d860b2f629d1c250c5323eb9a71f32d6ae75bfe99dbcc8883903f8bce3f6a7adab2b16bab17a4faf85f1992e3bd249e77176e29c4f89307901f329134b40aa6ef97f3d1cda352b14037d38cfae1e398f6ead3c1213812c0ed61bef8114ded25dae4a3052eada3f7955cdcf92afee781673c16d2f233b598870693df7759653c5d0ba1db347e66d5168a691006f9e3ee86f26b2e3588072605fd9bf9a7209892e30959da515422598f564166fde938886d01e91d21415ae78a04cc5f8c76f09ab37f3eaf9e9660435d730fc31f68afd02e465a79f5a786916ac16c7b5b975934260f0f87656c9a326a837cbfc3e2523bf2dec589447b5df7013c9556ba90b570fbe0fda7cd134eaf723c3532050fe4b654c9c091b72edf09f0b6a5f28925d5052ec45b3fbf2d1371e8bc730e7b358a314d018a0bb2eabd2f4c461144c6a2717864a79f8af836dc0f016ee1b6682b2f83550c2f35942e3ede6e07ae218b461da66dfda470c0e8e9cb12a4bf2bb59c2667c6eeac76cb1b7ee29e99d182b695085550cae315f1fd9c52c8233185f11e396602f277947c7826ba650b961a2cd4f5c649b5f70bb8fd425e8fc8750f59c781f98dd5714cad060e4a613bfdafe7d36e0936f0aeefe114acfd3035a855dfd9e5eda92f39644aaec3f01d7d261ed1da47e887e29b203970173120430a4dccc4a8da044a012773ffd002026270eb20fde00be158fcc287070e8f837665f03e90d27b7ff4f3e24c912d736ce541c558e9b7e6c169848bcba9e09ebebe9bf83c6321a7766abe44e758728880c47566edff796e8392d48cca5fe826af0a06320c784e6fae515b226a335afdfb8bca65f10c822410cf8671aec157c6f4737785cd800f226ed8231b350632bb2db69e159c2b3f76fd23329b0dbd21678e8b20c40c91c941d92cae8401139bdf4a934a14001d35994383e087a3a5d47d4bc09e2d09704d1777c621f87c0aff43a6ab8ea02b00a449c7691c98329292f590816a1781cf345b18e01fa00c20c5f1f72de21977902e7402d9a4e486deb881b788cb0af583e731cd382aa9cc97a9ac8f5e691e8a23a7f8708aff378c636fcc4f6b00872ab64063522b59f965174271287e757c5d67339b56c224d852ab41b648e05384520c5d9370d53943118bc335e80c959de01d0ee314d564a90b544d6fef2c53f120ecec6f28421f9244ba9106d852057ef5785f71c8c117499d9fd20c616200f818a1d9865a9e32e4e1ea7e8f7b4f70db7cbcc421184e03d364da7e90a6c79e7f9545f86142b8f5bb77c17a99be51c14c6b4f5a52021644d7b3a88a0f0e5c4823cfd21a8ec08f9e20003b92afbca4759bb51abaf683ce8da608b585dfc6e0bb8ba5353e687e8e2f7e46390da1b373e93a68a484685b307c952e4e9dab89788096f3ae4d3699caca6b3c0b6ddaba0be34fd85d815af71a814a0ffb630565ddbcf2eda2fbad11d83ad6cf00529b66a400a3e545afeec27d3b9a6d6a56274690067b6fec5db13c0ebbf6dc3e20665f473a826c342e78aceb985b05e70fb4544c988314aa280c7a1530fd3a3eeb91c3b61658484fa52798ded98439de79b5f7eb2fb196f2f60814dffc84e2dd74b5ad2bc6492f3a27b35bd554991bce2ed336cf8e076453508bdeb5c8f055a96c152fef3b6d1d99c4fb6db5a2233b691548a6d92d1074d461ba8b01060226c3e9bce0bc5773c6d69f762e228f6f69d9097e0c7464f05411a88a6529ee87aa3c78abcd97bdfa9cb5014addef3cb374a1e983f1ec0709f0bba6a4d5961e2b1578d0547a0899c0cd837c85d0fcad71c0e43c481df0b3329197359b8a85ea76101d17e367ab0dd2d287f5784e0d773cd0db3215b3f4a5ad723d4d19ed62d7f29e29e981ade765268460d1bf5c8c388104b63728066ebe95333110864ca1a8ed7c38b3bb185379d4067b3d2272559bc04bef1c619daa8a43610b83aa7be84fe55596a6bb477db28b5d51f1c6778fee1b3db0e1a96c49462266feab539b11b15184fc4df4745201e92f0b6c6905470475bb43cbde4b0706b9fc4869302da0a427bda3da2c4540c58644e45707109eb358632c854673867b86f55b6bf0490afc99ccbfd9fe0165d9fd60384b1b838de859ab02d4ec8180e55ab115ccde4feed751683e8a8fa738ee62baa6709ef5b071e058407cab86bfad46439cb3bc272f6e19817028a35a83e453b8525d6ecef575ea5706b2db6260a096401e11eff2b2004116bfbcbad4066aefd46ecbd4177c15e92122d8f38eb1d2bbd12f256f3d7c9bd091dcc4290791a002a42460a612d7eeba78b04cb621e3e7e912fd6564c222b7f781e4d19fe2b58cb4010a30aa151931ef6d654223edcfd280bc1d055d70987390e67f3011e2a334d62c7fbbed7c7c6158552e2d20576b48430388df2f1487347d7784f0c346fea7b10f1173121b3a3f6e2034de6c4bac16af4d1e4235cc2a8c8cafc175cbfeb6a619a04903e4e482a3c1d10870f6e52c9a7f42f68cac1b9c8d6bdad855129f051b3d71fa9cd125f0bdc17433e8793cc6e2982b7697efee4d11fce3ee1bcc95a5134c3b602ea900e98f64ce07f32f962f395222d1b92d075d3931da0f91ec3d33c4b6896c36a0893bfdb89b284aa9e53b745eaa4086ff4d56b0bdee0517c7dc8715bc9a47b49aac851e66b44306f29b4eff340844c2230e8bf7c5e0e0ccfc91995824a130dda67793f451f50374a9350f7d851ca07a86eaddaac8edfc9de67379097396b4ab44f979f0effd3ec2198c869edeff7a1a60592c48b975d6e0f04b5b3b2c95872ef6b75eb9ca0e77ff867059ca6902f45871cefcc611577b2cee5726f63a4f855f04eede2d959e22cd6d384c74fab19a226fcbe1b6b5f0b6289ca264c58444685ebebd3b3ffc3a98c17908c416977ea8a0fa4c7a15fa258f55075573b9f6ab352065b1ef7554d0cd566eace6e2001", + "commitment": "0x159f921679d2bf968b81e414accd26169a1b2d743508723f3cd23d5c284c9ef3", + "slot": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", + "preparedCommitment": "0x159f921679d2bf968b81e414accd26169a1b2d743508723f3cd23d5c284c9ef3" + } + ] +} diff --git a/examples/CRISP/packages/crisp-contracts/tests/input-leaf.test.ts b/examples/CRISP/packages/crisp-contracts/tests/input-leaf.test.ts new file mode 100644 index 0000000000..2414aeb274 --- /dev/null +++ b/examples/CRISP/packages/crisp-contracts/tests/input-leaf.test.ts @@ -0,0 +1,108 @@ +// SPDX-License-Identifier: LGPL-3.0-only +// +// This file is provided WITHOUT ANY WARRANTY; +// without even the implied warranty of MERCHANTABILITY +// or FITNESS FOR A PARTICULAR PURPOSE. + +import { expect } from 'chai' +import { createHash } from 'crypto' +import { deployCRISPProgram, ethers } from './utils' +import type { CRISPProgram } from '../types' + +const SNARK_SCALAR_FIELD = 21888242871839275222246405745257275088548364400416034343698204186575808495617n + +/// The same vector is asserted by `leaf_layout_matches_the_contract` in +/// `crates/compute-provider/src/compute_input.rs`. If either side changes, both tests fail. +const VECTOR = { + ciphertext: '0x' + Buffer.from(Array.from({ length: 64 }, (_, i) => i)).toString('hex'), + commitment: '0x' + 'ab'.repeat(32), + slot: '0x' + 'cd'.repeat(20), + leaf: 3005744733328395831398716072572247490877798047068525662443106668216528579058n, +} + +/// The input tree leaf binds the published ciphertext bytes to the commitment the Noir proof +/// constrained. +/// +/// The proof never sees the serialized bytes, so without this binding a submitter can publish a +/// valid commitment beside unrelated bytes. The Secure Process then cannot reproduce the on-chain +/// root and the round is lost. Binding both lets it detect the mismatch and exclude that one input. +/// +/// The Secure Process rebuilds this leaf in Rust. A divergence of a single byte between the two +/// implementations makes every root mismatch, and nothing else in the system would catch it — +/// which is what these tests exist for. +describe('CRISPProgram input leaf', function () { + this.timeout(120000) + + let crispProgram: CRISPProgram + + before(async () => { + crispProgram = await deployCRISPProgram() + }) + + function expectedLeaf(ciphertext: string, commitment: string, slot: string): bigint { + const inner = createHash('sha256') + .update(Buffer.from(ciphertext.slice(2), 'hex')) + .digest() + const outer = createHash('sha256') + .update(inner) + .update(Buffer.from(commitment.slice(2), 'hex')) + .update(Buffer.from(slot.slice(2), 'hex')) + .digest() + return BigInt('0x' + outer.toString('hex')) % SNARK_SCALAR_FIELD + } + + it('matches the shared cross-language vector', async () => { + const leaf = await crispProgram.inputLeaf(VECTOR.ciphertext, VECTOR.commitment, VECTOR.slot) + expect(leaf).to.equal(VECTOR.leaf) + }) + + it('is sha256(sha256(bytes) || commitment || slot) reduced into the scalar field', async () => { + const leaf = await crispProgram.inputLeaf(VECTOR.ciphertext, VECTOR.commitment, VECTOR.slot) + expect(leaf).to.equal(expectedLeaf(VECTOR.ciphertext, VECTOR.commitment, VECTOR.slot)) + }) + + it('always produces a leaf the Poseidon tree accepts', async () => { + // A leaf at or above the field order is rejected by LazyIMT, so the reduction is not optional. + for (let i = 0; i < 8; i += 1) { + const ciphertext = ethers.hexlify(ethers.randomBytes(96)) + const commitment = ethers.hexlify(ethers.randomBytes(32)) + const leaf = await crispProgram.inputLeaf(ciphertext, commitment, ethers.hexlify(ethers.randomBytes(20))) + expect(leaf).to.be.lessThan(SNARK_SCALAR_FIELD) + } + }) + + it('changes when the ciphertext bytes change', async () => { + // This is the property the whole fix rests on: swapping the bytes beside a valid commitment + // must be visible. + const a = await crispProgram.inputLeaf(VECTOR.ciphertext, VECTOR.commitment, VECTOR.slot) + const b = await crispProgram.inputLeaf(VECTOR.ciphertext.replace(/0f/, '1f'), VECTOR.commitment, VECTOR.slot) + expect(a).to.not.equal(b) + }) + + it('changes when the commitment changes', async () => { + const a = await crispProgram.inputLeaf(VECTOR.ciphertext, VECTOR.commitment, VECTOR.slot) + const b = await crispProgram.inputLeaf(VECTOR.ciphertext, '0x' + 'ef'.repeat(32), VECTOR.slot) + expect(a).to.not.equal(b) + }) + + it('does not let the two fields be traded off against each other', async () => { + // Hashing the bytes before concatenating means the boundary between the two fields is fixed, + // so no pair of (bytes, commitment) can be rearranged into another pair with the same leaf. + const a = await crispProgram.inputLeaf('0x' + 'aa'.repeat(32) + 'bb'.repeat(32), '0x' + '11'.repeat(32), VECTOR.slot) + const b = await crispProgram.inputLeaf('0x' + 'aa'.repeat(32), '0x' + 'bb'.repeat(32), VECTOR.slot) + expect(a).to.not.equal(b) + }) + + it('accepts an empty ciphertext without reverting', async () => { + const leaf = await crispProgram.inputLeaf('0x', VECTOR.commitment, VECTOR.slot) + expect(leaf).to.equal(expectedLeaf('0x', VECTOR.commitment, VECTOR.slot)) + }) + + it('changes when the slot changes', async () => { + // The tree is append-only and the Secure Process groups entries by slot, so a prover must not + // be able to move an entry to a different slot. + const a = await crispProgram.inputLeaf(VECTOR.ciphertext, VECTOR.commitment, VECTOR.slot) + const b = await crispProgram.inputLeaf(VECTOR.ciphertext, VECTOR.commitment, '0x' + '01'.repeat(20)) + expect(a).to.not.equal(b) + }) +}) diff --git a/examples/CRISP/packages/crisp-contracts/tests/input-tree-e2e.test.ts b/examples/CRISP/packages/crisp-contracts/tests/input-tree-e2e.test.ts new file mode 100644 index 0000000000..c419411b8c --- /dev/null +++ b/examples/CRISP/packages/crisp-contracts/tests/input-tree-e2e.test.ts @@ -0,0 +1,283 @@ +// SPDX-License-Identifier: LGPL-3.0-only +// +// This file is provided WITHOUT ANY WARRANTY; +// without even the implied warranty of MERCHANTABILITY +// or FITNESS FOR A PARTICULAR PURPOSE. + +import { + hashLeaf, + generateBFVKeys, + SIGNATURE_MESSAGE, + prepareBallot, + finishBallotProof, + finishMaskProof, + getAddressFromSignature, + encodeSolidityProof, + generateMerkleTree, + SIGNATURE_MESSAGE_HASH, + destroyBBApi, +} from '@crisp-e3/sdk' +import type { ProofData } from '@crisp-e3/sdk' +import { expect } from 'chai' +import { mkdirSync, writeFileSync } from 'fs' +import { dirname } from 'path' +import { fileURLToPath } from 'url' +import { deployCRISPProgram, deployHonkVerifier, deployMockInterfold, ethers } from './utils' +import type { CRISPProgram, HonkVerifier, MockInterfold } from '../types' + +const keys = generateBFVKeys() +const publicKey = keys.publicKey + +/// Where the Rust side reads the same tree from. +/// Regenerate with `UPDATE_INPUT_TREE_FIXTURE=1 pnpm test`, then re-run +/// `cargo test -p e3-compute-provider`. +const FIXTURE = fileURLToPath(new URL('fixtures/input-tree.json', import.meta.url)) +const APPEND_FIXTURE = fileURLToPath(new URL('fixtures/input-tree-append.json', import.meta.url)) + +/// End-to-end over the seam that no single-language test can cover. +/// +/// The contract builds each input tree leaf from the published ciphertext bytes and the proven +/// commitment. The Secure Process rebuilds the same tree in Rust and the E3 program compares the +/// two roots, so a one-byte divergence between the implementations makes every round fail with no +/// other symptom. +/// +/// This test drives the real path — real BFV ciphertexts, real Noir proofs, real `publishInput` — +/// and records the resulting tree so `input_tree_fixture_matches_the_chain` in +/// `crates/compute-provider` can assert that Rust reproduces the exact on-chain root. +describe('CRISPProgram input tree (e2e)', function () { + this.timeout(600000) + + let honkVerifier: HonkVerifier + let mockInterfold: MockInterfold + let crispProgram: CRISPProgram + let address: string + let leaves: bigint[] + let e3Id: bigint + + const balance = 100n + + /// A ballot bound to this round, with its own ciphertext and commitment. + async function buildBallot(vote: number[]): Promise { + const [signer] = await ethers.getSigners() + const prepared = await prepareBallot({ + censusMode: 'merkle', + vote, + publicKey, + merkleLeaves: leaves, + balance, + slotAddress: address, + isMaskVote: false, + numOptions: 2, + }) + + const digest = (await crispProgram.ballotDigest(e3Id, address, prepared.ctCommitment)) as `0x${string}` + const domain = { + name: 'CRISP', + version: '1', + chainId: (await ethers.provider.getNetwork()).chainId, + verifyingContract: await crispProgram.getAddress(), + } + const types = { + Ballot: [ + { name: 'e3Id', type: 'uint256' }, + { name: 'slot', type: 'address' }, + { name: 'ciphertextCommitment', type: 'bytes32' }, + ], + } + const message = { e3Id, slot: address, ciphertextCommitment: prepared.ctCommitment } + const ballotSignature = (await signer.signTypedData(domain, types, message)) as `0x${string}` + + const proof = await finishBallotProof(prepared, digest, ballotSignature) + return { ...proof, ctCommitment: prepared.ctCommitment } + } + + /// A mask over an existing ciphertext: a zero vote that anyone may append to an occupied slot. + /// No signature is checked on this path, which is what makes the poisoning case reachable. + async function buildMaskOver(previousCiphertext: Uint8Array): Promise { + const prepared = await prepareBallot({ + censusMode: 'merkle', + vote: [0, 0], + publicKey, + merkleLeaves: leaves, + balance, + slotAddress: address, + isMaskVote: true, + numOptions: 2, + previousCiphertext, + }) + // `finalCtCommitment`, not `ctCommitment`: for a mask over an existing ballot the contract + // stores the commitment of the summed ciphertext, and the digest is built over that. + const digest = (await crispProgram.ballotDigest(e3Id, address, prepared.finalCtCommitment)) as `0x${string}` + const proof = await finishMaskProof(prepared, digest) + return { ...proof, ctCommitment: prepared.finalCtCommitment } + } + + before(async function () { + mockInterfold = await deployMockInterfold() + honkVerifier = await deployHonkVerifier() + crispProgram = await deployCRISPProgram({ mockInterfold, honkVerifier }) + + const [signer] = await ethers.getSigners() + const signature = (await signer.signMessage(SIGNATURE_MESSAGE)) as `0x${string}` + address = await getAddressFromSignature(signature, SIGNATURE_MESSAGE_HASH) + leaves = [...[10n, 20n, 30n], hashLeaf(address, balance)] + + e3Id = await mockInterfold.nextE3Id() + await mockInterfold.request(await crispProgram.getAddress()) + }) + + after(() => { + destroyBBApi() + }) + + it('reproduces the on-chain root in Rust, over real ciphertexts', async function () { + const ballot = await buildBallot([10, 0]) + + await mockInterfold.setCommitteePublicKey(ballot.publicInputs[8]) + await crispProgram.setMerkleRoot(e3Id, generateMerkleTree(leaves).root) + + await crispProgram.publishInput(e3Id, encodeSolidityProof(ballot)) + + const [, , , , inputRoot] = await crispProgram.getRoundData(e3Id) + expect(inputRoot, 'the round must have an input root after publishing').to.not.equal(0n) + + const record = { + note: 'Generated by tests/input-tree-e2e.test.ts. Asserted by crates/compute-provider.', + inputRoot: `0x${BigInt(inputRoot).toString(16).padStart(64, '0')}`, + // publicInputs[7] is the commitment `publishInput` actually stores; recorded alongside the + // prepared one so a divergence between them is visible rather than silent. + contractLeaf: ( + await crispProgram.inputLeaf( + `0x${Buffer.from(ballot.encryptedVote).toString('hex')}`, + ballot.publicInputs[7], + address, + ) + ).toString(), + inputs: [ + { + encryptedVote: `0x${Buffer.from(ballot.encryptedVote).toString('hex')}`, + commitment: ballot.publicInputs[7], + slot: address, + preparedCommitment: ballot.ctCommitment, + }, + ], + } + + if (process.env.UPDATE_INPUT_TREE_FIXTURE === '1') { + mkdirSync(dirname(FIXTURE), { recursive: true }) + writeFileSync(FIXTURE, `${JSON.stringify(record, null, 2)}\n`) + console.log(`[fixture] wrote ${FIXTURE}`) + } + + // The leaf the contract stored must be the one it computes from the published pair. This is + // the value the Rust side has to match; the fixture carries it across the language boundary. + const expectedLeaf = await crispProgram.inputLeaf( + record.inputs[0].encryptedVote, + record.inputs[0].commitment, + record.inputs[0].slot, + ) + expect(expectedLeaf).to.not.equal(0n) + + // Append-only: one publish, one leaf. `_processVote` never updates in place, so an entry + // already in the tree cannot be replaced by a later writer. + const [, , , , , numberOfVotes] = await crispProgram.getRoundData(e3Id) + expect(numberOfVotes).to.equal(1n) + }) + + /// The premise of the whole fix: the contract cannot tell that the bytes are wrong. + /// + /// The proof constrains the commitment, so a submitter can publish any bytes beside it and + /// `publishInput` still succeeds. Nothing on chain can reject this, which is why the check has + /// to happen in the Secure Process. + it('accepts an input whose bytes are not the ciphertext that was proven', async function () { + // Its own round: a second input from the same slot would be a re-vote, and the ballot here is + // built as a first vote. + const forgedE3Id = await mockInterfold.nextE3Id() + await mockInterfold.request(await crispProgram.getAddress()) + const previous = e3Id + e3Id = forgedE3Id + + try { + const ballot = await buildBallot([5, 0]) + await mockInterfold.setCommitteePublicKey(ballot.publicInputs[8]) + await crispProgram.setMerkleRoot(forgedE3Id, generateMerkleTree(leaves).root) + + const [, , , , rootBefore] = await crispProgram.getRoundData(forgedE3Id) + + // A genuine proof, published beside bytes that are not its ciphertext. Nothing on chain can + // reject this, which is exactly why the Secure Process has to check it. + const forged = { ...ballot, encryptedVote: new Uint8Array([0xde, 0xad, 0xbe, 0xef]) } + await crispProgram.publishInput(forgedE3Id, encodeSolidityProof(forged)) + + const [, , , , rootAfter] = await crispProgram.getRoundData(forgedE3Id) + expect(rootAfter, 'the forged input entered the tree').to.not.equal(rootBefore) + + // The leaf reflects the forged bytes, so the Secure Process still reproduces the root while + // being able to see that this input does not match its commitment. + const forgedLeaf = await crispProgram.inputLeaf('0xdeadbeef', ballot.publicInputs[7], address) + const honestLeaf = await crispProgram.inputLeaf( + `0x${Buffer.from(ballot.encryptedVote).toString('hex')}`, + ballot.publicInputs[7], + address, + ) + expect(forgedLeaf).to.not.equal(honestLeaf) + } finally { + e3Id = previous + } + }) + + /// Append-only, on chain, with a real mask over the ballot already in the slot. + /// + /// This is the poisoning case end to end: a genuine mask proof, published beside bytes that are + /// not the summed ciphertext it proved. The contract cannot reject it. What has to hold is that + /// the victim's original entry is still a leaf, so the Secure Process can fall back to it. + it('appends a second entry to a slot instead of replacing the first', async function () { + const appendE3Id = await mockInterfold.nextE3Id() + await mockInterfold.request(await crispProgram.getAddress()) + const previous = e3Id + e3Id = appendE3Id + + try { + const ballot = await buildBallot([6, 0]) + await mockInterfold.setCommitteePublicKey(ballot.publicInputs[8]) + await crispProgram.setMerkleRoot(appendE3Id, generateMerkleTree(leaves).root) + await crispProgram.publishInput(appendE3Id, encodeSolidityProof(ballot)) + + const [, , , , rootAfterFirst, votesAfterFirst] = await crispProgram.getRoundData(appendE3Id) + expect(votesAfterFirst).to.equal(1n) + expect(await crispProgram.getSlotIndex(appendE3Id, address)).to.equal(0n) + + // A third party masks over the slot. No signature is checked on this path. + const mask = await buildMaskOver(ballot.encryptedVote) + const poisoned = { ...mask, encryptedVote: new Uint8Array([0xde, 0xad, 0xbe, 0xef]) } + await crispProgram.publishInput(appendE3Id, encodeSolidityProof(poisoned)) + + const [, , , , rootAfterSecond, votesAfterSecond] = await crispProgram.getRoundData(appendE3Id) + + // Append-only: the poisoned entry is a new leaf, and the honest one is untouched at index 0. + expect(votesAfterSecond, 'the second entry is a new leaf').to.equal(2n) + expect(rootAfterSecond).to.not.equal(rootAfterFirst) + expect(await crispProgram.getSlotIndex(appendE3Id, address)).to.equal(1n) + + if (process.env.UPDATE_INPUT_TREE_FIXTURE === '1') { + const record = { + note: 'Generated by tests/input-tree-e2e.test.ts. Asserted by crates/compute-provider.', + inputRoot: `0x${BigInt(rootAfterSecond).toString(16).padStart(64, '0')}`, + honestIndex: 0, + inputs: [ + { + encryptedVote: `0x${Buffer.from(ballot.encryptedVote).toString('hex')}`, + commitment: ballot.publicInputs[7], + slot: address, + }, + { encryptedVote: '0xdeadbeef', commitment: mask.publicInputs[7], slot: address }, + ], + } + mkdirSync(dirname(APPEND_FIXTURE), { recursive: true }) + writeFileSync(APPEND_FIXTURE, `${JSON.stringify(record, null, 2)}\n`) + } + } finally { + e3Id = previous + } + }) +}) diff --git a/examples/CRISP/packages/crisp-sdk/src/circuitInputs.ts b/examples/CRISP/packages/crisp-sdk/src/circuitInputs.ts index 05ac26c31b..9e01a0e557 100644 --- a/examples/CRISP/packages/crisp-sdk/src/circuitInputs.ts +++ b/examples/CRISP/packages/crisp-sdk/src/circuitInputs.ts @@ -97,7 +97,14 @@ export const prepareCircuitInputsImpl = async (inputs: PrepareBallotInputs): Pro // `compute_ciphertext_commitment` exactly, so it is carried across instead. const ctCommitment = `0x${BigInt(circuitInputs.ct_commitment).toString(16).padStart(64, '0')}` as `0x${string}` - return { circuitInputs, encryptedVote, ctCommitment, censusMode: inputs.censusMode } + // `encryptedVote` is the ciphertext that gets published: the ballot for a first vote, the sum for + // an update. The circuit commits to exactly that, so its commitment is what the contract stores + // and what the ballot digest is built over. Computed by the same Rust that the circuit and the + // Secure Process use, rather than reimplemented here, so the three cannot drift. + const finalCommitmentBytes = zkInputsGenerator.computeCtCommitment(encryptedVote) + const finalCtCommitment = `0x${Buffer.from(finalCommitmentBytes).toString('hex').padStart(64, '0')}` as `0x${string}` + + return { circuitInputs, encryptedVote, ctCommitment, finalCtCommitment, censusMode: inputs.censusMode } } /** diff --git a/examples/CRISP/packages/crisp-sdk/src/types.ts b/examples/CRISP/packages/crisp-sdk/src/types.ts index ea2e3bcbd8..f35c049ff5 100644 --- a/examples/CRISP/packages/crisp-sdk/src/types.ts +++ b/examples/CRISP/packages/crisp-sdk/src/types.ts @@ -167,6 +167,17 @@ export type PreparedBallot = { circuitInputs: any encryptedVote: Uint8Array ctCommitment: `0x${string}` + /** + * The commitment the E3 program will store, and the value to pass to + * `CRISPProgram.ballotDigest`. + * + * For a first vote this equals `ctCommitment`. For an update — a re-vote, or a mask over a slot + * that already holds a ballot — the contract stores the commitment of the *summed* ciphertext, + * and so does the circuit. Since the digest is itself a circuit input, a caller has to know that + * value before proving; deriving it from `encryptedVote` is what makes the update path usable at + * all. + */ + finalCtCommitment: `0x${string}` censusMode: CensusVariant } diff --git a/examples/CRISP/program/Cargo.toml b/examples/CRISP/program/Cargo.toml index 521505b0f6..4c913a5f53 100644 --- a/examples/CRISP/program/Cargo.toml +++ b/examples/CRISP/program/Cargo.toml @@ -8,3 +8,7 @@ fhe = { workspace = true } fhe-traits = { workspace = true } e3-compute-provider = { workspace = true } e3-fhe-params = { workspace = true } + +[dev-dependencies] +e3-bfv-client = { workspace = true } +rand = { workspace = true } diff --git a/examples/CRISP/program/tests/secure_process.rs b/examples/CRISP/program/tests/secure_process.rs new file mode 100644 index 0000000000..0149b64532 --- /dev/null +++ b/examples/CRISP/program/tests/secure_process.rs @@ -0,0 +1,345 @@ +// SPDX-License-Identifier: LGPL-3.0-only +// +// This file is provided WITHOUT ANY WARRANTY; +// without even the implied warranty of MERCHANTABILITY +// or FITNESS FOR A PARTICULAR PURPOSE. + +//! Runs the CRISP Secure Process natively, outside the RISC Zero zkVM. +//! +//! The guest is one line — `input.input.process(fhe_processor)` — so calling that here exercises +//! the same code the zkVM runs, with the real CRISP processor rather than a stand-in. Everything +//! except proof generation is covered, which matters because a guest failure inside the zkVM +//! surfaces only as a missing proof and a requester-billed compute timeout. +//! +//! These tests are the reason the byte-to-commitment binding exists: an input whose published bytes +//! are not the ciphertext that was proven used to abort the whole round here. + +use e3_compute_provider::{ComputeError, ComputeInput, FHEInputs}; +use e3_fhe_params::{build_pair_for_preset, encode_bfv_params, BfvPreset}; +use e3_user_program::fhe_processor; +use fhe::bfv::{BfvParameters, Ciphertext, Encoding, Plaintext, PublicKey, SecretKey}; +use fhe_traits::{ + DeserializeParametrized, FheDecoder, FheDecrypter, FheEncoder, FheEncrypter, + Serialize as FheSerialize, +}; +use rand::{rngs::StdRng, SeedableRng}; +use std::sync::Arc; + +const PRESET: BfvPreset = BfvPreset::InsecureThreshold512; + +struct Round { + params: Arc, + secret_key: SecretKey, + public_key: PublicKey, +} + +impl Round { + fn new() -> Self { + let (params, _) = build_pair_for_preset(PRESET).unwrap(); + let mut rng = StdRng::seed_from_u64(42); + let secret_key = SecretKey::random(¶ms, &mut rng); + let public_key = PublicKey::new(&secret_key, &mut rng); + Self { + params, + secret_key, + public_key, + } + } + + /// Encrypts one ballot the way a voter's client would. + fn ballot(&self, votes: &[u64], nonce: u64) -> Vec { + let mut rng = StdRng::seed_from_u64(1_000 + nonce); + let plaintext = Plaintext::try_encode(votes, Encoding::poly(), &self.params).unwrap(); + let ciphertext: Ciphertext = self.public_key.try_encrypt(&plaintext, &mut rng).unwrap(); + ciphertext.to_bytes() + } + + /// The commitment an E3 program stores for a ciphertext. + fn commitment(&self, bytes: &[u8]) -> [u8; 32] { + e3_bfv_client::client::compute_ct_commitment( + bytes.to_vec(), + self.params.degree(), + self.params.plaintext(), + self.params.moduli().to_vec(), + ) + .unwrap() + } + + /// One ballot per slot, which is the ordinary case. + fn inputs(&self, ballots: Vec>) -> FHEInputs { + let slots = (0..ballots.len()).map(|i| Self::slot(i as u8)).collect(); + self.inputs_at(ballots, slots) + } + + fn slot(tag: u8) -> [u8; 20] { + let mut address = [0u8; 20]; + address[19] = tag; + address + } + + fn inputs_at(&self, ballots: Vec>, slots: Vec<[u8; 20]>) -> FHEInputs { + let commitments = ballots.iter().map(|b| self.commitment(b)).collect(); + FHEInputs { + slots, + ciphertexts: ballots + .into_iter() + .enumerate() + .map(|(i, b)| (b, i as u64)) + .collect(), + commitments, + params: encode_bfv_params(&self.params), + } + } + + /// Decrypts a tally ciphertext, as the ciphernode committee would. + /// + /// `ComputeResult` carries only the keccak digest of the output, so the output ciphertext is + /// taken from the processor directly. Comparing digests is exact where only equality matters. + fn decrypt_tally(&self, ciphertext_bytes: &[u8], options: usize) -> Vec { + // Against `self.params`, not a re-decoded copy: fhe.rs compares parameters by `Arc` + // identity, so a structurally identical clone is rejected as incompatible. + let ciphertext = Ciphertext::from_bytes(ciphertext_bytes, &self.params).unwrap(); + let plaintext = self.secret_key.try_decrypt(&ciphertext).unwrap(); + Vec::::try_decode(&plaintext, Encoding::poly()).unwrap()[..options].to_vec() + } +} + +/// The honest path: every input is well formed and the tally is their homomorphic sum. +#[test] +fn the_secure_process_tallies_well_formed_ballots() { + let round = Round::new(); + let inputs = round.inputs(vec![ + round.ballot(&[3, 0], 1), + round.ballot(&[0, 5], 2), + round.ballot(&[2, 0], 3), + ]); + + let result = ComputeInput { + fhe_inputs: inputs.clone(), + } + .process(fhe_processor) + .expect("an honest round must process"); + + // Every input is usable, so the processor output over the whole set is the tally. + let tally = round.decrypt_tally(&fhe_processor(&inputs), 2); + assert_eq!(tally, vec![5, 5], "3+2 for option 0 and 5 for option 1"); + assert_eq!(result.merkle_root.len(), 32); +} + +/// An input whose published bytes are not the ciphertext that was proven is dropped from the +/// tally, and the round still completes. +/// +/// This is the case that used to abort the guest: `fhe_processor` deserializes with `unwrap`, so +/// the bad blob panicked before any error path could run. The binding now keeps it away from the +/// processor entirely. +#[test] +fn a_contradicting_input_is_dropped_and_the_round_survives() { + let round = Round::new(); + let honest = vec![ + round.ballot(&[3, 0], 1), + round.ballot(&[0, 5], 2), + round.ballot(&[2, 0], 3), + ]; + + let mut attacked = round.inputs(honest.clone()); + // A real, proven commitment beside bytes that are not its ciphertext — exactly what an E3 + // program cannot detect on chain. + attacked.ciphertexts[1].0 = round.ballot(&[0, 99], 9); + + let result = ComputeInput { + fhe_inputs: attacked, + } + .process(fhe_processor) + .expect("a contradicting input must not abort the Secure Process"); + + // The tally is the two inputs that matched, and nothing from the substituted one. + let mut only_matching = round.inputs_at( + vec![honest[0].clone(), honest[2].clone()], + vec![Round::slot(0), Round::slot(2)], + ); + only_matching.ciphertexts[1].1 = 2; + let reference = ComputeInput { + fhe_inputs: only_matching, + } + .process(fhe_processor) + .unwrap(); + + assert_eq!( + result.ciphertext_hash, reference.ciphertext_hash, + "the substituted ballot must not reach the tally" + ); + + // And the surviving ballots are the honest ones: 3 and 2 for option 0, nothing for option 1. + let mut survivors = round.inputs_at( + vec![honest[0].clone(), honest[2].clone()], + vec![Round::slot(0), Round::slot(2)], + ); + survivors.ciphertexts[1].1 = 2; + assert_eq!( + round.decrypt_tally(&fhe_processor(&survivors), 2), + vec![5, 0] + ); +} + +/// Undecodable bytes reach the same outcome. Without the binding this is the cheapest way to kill +/// a round: one input of garbage and the guest aborts. +#[test] +fn garbage_bytes_do_not_abort_the_secure_process() { + let round = Round::new(); + let mut inputs = round.inputs(vec![round.ballot(&[4, 0], 1), round.ballot(&[0, 1], 2)]); + inputs.ciphertexts[0].0 = vec![0xff; 32]; + + let result = ComputeInput { + fhe_inputs: inputs.clone(), + } + .process(fhe_processor) + .expect("garbage must not abort the Secure Process"); + + // Only the second ballot survives, so the tally is that ballot alone. + let mut survivor = round.inputs_at(vec![round.ballot(&[0, 1], 2)], vec![Round::slot(1)]); + survivor.ciphertexts[0].1 = 1; + let reference = ComputeInput { + fhe_inputs: survivor.clone(), + } + .process(fhe_processor) + .unwrap(); + + assert_eq!(result.ciphertext_hash, reference.ciphertext_hash); + assert_eq!( + round.decrypt_tally(&fhe_processor(&survivor), 2), + vec![0, 1] + ); +} + +/// Two provers over the same published data must agree, or the excluded set would be something a +/// prover chooses rather than something the inputs determine. +#[test] +fn the_result_is_deterministic_across_runs() { + let round = Round::new(); + let mut inputs = round.inputs(vec![round.ballot(&[1, 0], 1), round.ballot(&[0, 2], 2)]); + inputs.ciphertexts[0].0 = vec![0x00; 24]; + + let first = ComputeInput { + fhe_inputs: inputs.clone(), + } + .process(fhe_processor) + .unwrap(); + let second = ComputeInput { fhe_inputs: inputs } + .process(fhe_processor) + .unwrap(); + + assert_eq!(first.merkle_root, second.merkle_root); + assert_eq!(first.ciphertext_hash, second.ciphertext_hash); + assert_eq!(first.ciphertext_commitment, second.ciphertext_commitment); +} + +/// Reordering the inputs changes the root, which is why the indexer must sort by the on-chain +/// index before handing them over. +#[test] +fn input_order_changes_the_root() { + let round = Round::new(); + let ballots = vec![round.ballot(&[1, 0], 1), round.ballot(&[0, 2], 2)]; + + let ordered = ComputeInput { + fhe_inputs: round.inputs(ballots.clone()), + } + .process(fhe_processor) + .unwrap(); + + let swapped = ComputeInput { + fhe_inputs: round.inputs(vec![ballots[1].clone(), ballots[0].clone()]), + } + .process(fhe_processor) + .unwrap(); + + assert_ne!(ordered.merkle_root, swapped.merkle_root); +} + +/// With every input unusable the round has nothing to tally and fails with a typed error rather +/// than a panic. Only reachable when no honest input exists. +#[test] +fn an_all_unusable_round_fails_cleanly() { + let round = Round::new(); + let mut inputs = round.inputs(vec![round.ballot(&[1, 0], 1)]); + inputs.ciphertexts[0].0 = vec![0xab; 16]; + + let error = ComputeInput { fhe_inputs: inputs } + .process(fhe_processor) + .unwrap_err(); + + assert!( + matches!(error, ComputeError::OutputCommitment(_)), + "expected a typed error, got {error:?}" + ); +} + +/// The mask-poisoning case, through the real Secure Process. +/// +/// A third party appends an entry to a slot that already holds a counted vote, with a real +/// commitment and bytes that are not its ciphertext. Append-only means the earlier entry is still +/// in the tree, so the victim's vote survives instead of being erased. +#[test] +fn a_poisoned_append_does_not_erase_the_vote_already_in_the_slot() { + let round = Round::new(); + let victim = Round::slot(7); + let honest_ballot = round.ballot(&[6, 0], 1); + + let mut inputs = round.inputs_at(vec![honest_ballot.clone()], vec![victim]); + // The attacker's entry: it reuses the victim's commitment beside unrelated bytes. + inputs.ciphertexts.push((round.ballot(&[0, 9], 5), 1)); + inputs.commitments.push(inputs.commitments[0]); + inputs.slots.push(victim); + + let result = ComputeInput { fhe_inputs: inputs } + .process(fhe_processor) + .expect("a poisoned append must not stop the round"); + + // The tally is the victim's original ballot, untouched. + let reference = round.inputs_at(vec![honest_ballot], vec![victim]); + assert_eq!( + round.decrypt_tally(&fhe_processor(&reference), 2), + vec![6, 0] + ); + + let reference_result = ComputeInput { + fhe_inputs: reference, + } + .process(fhe_processor) + .unwrap(); + assert_eq!( + result.ciphertext_hash, reference_result.ciphertext_hash, + "the poisoned append must not change the tally" + ); +} + +/// An honest re-vote still replaces the earlier ballot, so append-only does not freeze a voter's +/// first choice. +#[test] +fn an_honest_re_vote_replaces_the_earlier_ballot() { + let round = Round::new(); + let voter = Round::slot(2); + let first = round.ballot(&[1, 0], 1); + let second = round.ballot(&[0, 7], 2); + + let mut inputs = round.inputs_at(vec![first], vec![voter]); + let later = round.inputs_at(vec![second.clone()], vec![voter]); + inputs.ciphertexts.push((second.clone(), 1)); + inputs.commitments.push(later.commitments[0]); + inputs.slots.push(voter); + + let result = ComputeInput { fhe_inputs: inputs } + .process(fhe_processor) + .unwrap(); + + let reference = round.inputs_at(vec![second], vec![voter]); + assert_eq!( + round.decrypt_tally(&fhe_processor(&reference), 2), + vec![0, 7] + ); + let reference_result = ComputeInput { + fhe_inputs: reference, + } + .process(fhe_processor) + .unwrap(); + assert_eq!(result.ciphertext_hash, reference_result.ciphertext_hash); +} diff --git a/examples/CRISP/server/src/server/indexer.rs b/examples/CRISP/server/src/server/indexer.rs index 08f5994c9f..975b1a653d 100644 --- a/examples/CRISP/server/src/server/indexer.rs +++ b/examples/CRISP/server/src/server/indexer.rs @@ -417,6 +417,8 @@ async fn handle_e3_input_deadline_expiration( let voter_count = repo.get_vote_count().await?; let votes = repo.get_ciphertext_inputs().await?; + let input_commitments = repo.get_input_commitments().await?; + let input_slots = repo.get_input_slots().await?; if voter_count > 0 && votes.is_empty() { warn!( @@ -446,6 +448,8 @@ async fn handle_e3_input_deadline_expiration( e3.committee_public_key_hash, e3.e3_params, votes, + input_commitments, + input_slots, format!( "{}/state/add-result", CONFIG.interfold_server_url_for_clients() @@ -596,8 +600,13 @@ pub async fn register_input_published( hex::encode(&event.encryptedVote[..8.min(event.encryptedVote.len())]) ); - repo.insert_ciphertext_input(event.encryptedVote.to_vec(), event.index.to::()) - .await?; + repo.insert_ciphertext_input( + event.encryptedVote.to_vec(), + event.index.to::(), + event.encryptedVoteCommitment.into(), + event.slotAddress.into(), + ) + .await?; Ok(()) } }) diff --git a/examples/CRISP/server/src/server/models.rs b/examples/CRISP/server/src/server/models.rs index 1272eeccb3..ba03151e3a 100644 --- a/examples/CRISP/server/src/server/models.rs +++ b/examples/CRISP/server/src/server/models.rs @@ -258,6 +258,16 @@ pub struct E3Crisp { pub token_address: String, pub balance_threshold: String, pub ciphertext_inputs: Vec<(Vec, u64)>, + /// The commitment the contract stored for each input, keyed by the same on-chain index. + /// + /// The Secure Process needs it to check that the published bytes are the ciphertext that was + /// actually proven. Defaulted so rounds recorded before the event carried it still load. + #[serde(default)] + pub input_commitments: Vec<(u64, [u8; 32])>, + /// The slot each input was published to, keyed by the same on-chain index. The tree is + /// append-only, so the Secure Process groups entries by slot. + #[serde(default)] + pub input_slots: Vec<(u64, [u8; 20])>, pub requester: String, pub num_options: String, pub credit_mode: CreditMode, @@ -389,7 +399,11 @@ mod persisted_round_tests { #[test] fn every_census_mode_round_trips_through_storage() { - for mode in [CensusMode::Token, CensusMode::ByRequester, CensusMode::Onchain] { + for mode in [ + CensusMode::Token, + CensusMode::ByRequester, + CensusMode::Onchain, + ] { let mut round: E3Crisp = serde_json::from_str(LEGACY_ROUND).unwrap(); round.census_mode = mode; diff --git a/examples/CRISP/server/src/server/program_server_request.rs b/examples/CRISP/server/src/server/program_server_request.rs index 07d53d3b7a..b89671b331 100644 --- a/examples/CRISP/server/src/server/program_server_request.rs +++ b/examples/CRISP/server/src/server/program_server_request.rs @@ -22,6 +22,13 @@ pub struct ComputeRequest { pub params: Vec, #[serde(serialize_with = "serialize_hex_tuple")] pub ciphertext_inputs: Vec<(Vec, u64)>, + /// One commitment per input, in the same order. Lets the Secure Process reject an input whose + /// published bytes are not the ciphertext that was proven, instead of losing the round. + #[serde(serialize_with = "serialize_hex_list")] + pub input_commitments: Vec<[u8; 32]>, + /// The slot each input was published to, in the same order. + #[serde(serialize_with = "serialize_hex_slots")] + pub input_slots: Vec<[u8; 20]>, pub callback_url: Option, } @@ -33,6 +40,28 @@ where serializer.serialize_str(&hex_string) } +fn serialize_hex_list(items: &[[u8; 32]], serializer: S) -> Result +where + S: Serializer, +{ + let hex_items: Vec = items + .iter() + .map(|bytes| format!("0x{}", hex::encode(bytes))) + .collect(); + hex_items.serialize(serializer) +} + +fn serialize_hex_slots(items: &[[u8; 20]], serializer: S) -> Result +where + S: Serializer, +{ + let hex_items: Vec = items + .iter() + .map(|bytes| format!("0x{}", hex::encode(bytes))) + .collect(); + hex_items.serialize(serializer) +} + fn serialize_hex_tuple(tuples: &[(Vec, u64)], serializer: S) -> Result where S: Serializer, @@ -68,6 +97,8 @@ pub async fn run_compute( committee_public_key_hash: Vec, params: Vec, ciphertext_inputs: Vec<(Vec, u64)>, + input_commitments: Vec<[u8; 32]>, + input_slots: Vec<[u8; 20]>, webhook_url: String, ) -> Result<(String, String)> { let request = ComputeRequest { @@ -79,6 +110,8 @@ pub async fn run_compute( callback_url: Some(webhook_url), params, ciphertext_inputs, + input_commitments, + input_slots, }; println!("Sending request"); @@ -123,6 +156,8 @@ mod tests { committee_public_key_hash: vec![0x33; 32], params: vec![1, 2, 3], ciphertext_inputs: vec![], + input_commitments: vec![], + input_slots: vec![], callback_url: Some("http://127.0.0.1:4000/state/add-result".to_string()), }; @@ -134,4 +169,31 @@ mod tests { assert_eq!(request.url().as_str(), "http://127.0.0.1:13151/run_compute"); assert!(!request.headers().contains_key(AUTHORIZATION)); } + + /// The Secure Process can only reject an input whose bytes contradict its commitment if the + /// commitments actually reach it, in the same order as the inputs. + #[test] + fn compute_request_carries_commitments_in_input_order() { + let request = ComputeRequest { + e3_id: Some("7".to_string()), + chain_id: 31_337, + interfold_address: "0x1111111111111111111111111111111111111111".to_string(), + encryption_scheme_id: vec![0x22; 32], + committee_public_key_hash: vec![0x33; 32], + params: vec![1, 2, 3], + ciphertext_inputs: vec![(vec![0xaa], 0), (vec![0xbb], 1)], + input_commitments: vec![[0x11; 32], [0x22; 32]], + input_slots: vec![[0x01; 20], [0x02; 20]], + callback_url: None, + }; + + let json = serde_json::to_value(&request).expect("request should serialize"); + let commitments = json["input_commitments"] + .as_array() + .expect("input_commitments must serialize as an array"); + + assert_eq!(commitments.len(), 2); + assert_eq!(commitments[0], format!("0x{}", "11".repeat(32))); + assert_eq!(commitments[1], format!("0x{}", "22".repeat(32))); + } } diff --git a/examples/CRISP/server/src/server/repo.rs b/examples/CRISP/server/src/server/repo.rs index f476175470..13fb620f44 100644 --- a/examples/CRISP/server/src/server/repo.rs +++ b/examples/CRISP/server/src/server/repo.rs @@ -155,7 +155,13 @@ impl CrispE3Repository { self.set_crisp(e3_crisp).await } - pub async fn insert_ciphertext_input(&mut self, vote: Vec, index: u64) -> Result<()> { + pub async fn insert_ciphertext_input( + &mut self, + vote: Vec, + index: u64, + commitment: [u8; 32], + slot: [u8; 20], + ) -> Result<()> { let key = self.crisp_key(); self.store @@ -171,6 +177,18 @@ impl CrispE3Repository { } else { e.ciphertext_inputs.push((vote.clone(), index)); } + if let Some(existing) = + e.input_commitments.iter_mut().find(|(i, _)| *i == index) + { + existing.1 = commitment; + } else { + e.input_commitments.push((index, commitment)); + } + if let Some(existing) = e.input_slots.iter_mut().find(|(i, _)| *i == index) { + existing.1 = slot; + } else { + e.input_slots.push((index, slot)); + } e }) }) @@ -199,6 +217,8 @@ impl CrispE3Repository { snapshot_block: u64, ) -> Result<()> { self.set_crisp(E3Crisp { + input_commitments: Vec::new(), + input_slots: Vec::new(), has_voted: vec![], start_time: 0u64, status: "Requested".to_string(), @@ -334,9 +354,32 @@ impl CrispE3Repository { Ok(e3_crisp.end_time) } + /// Returns the inputs in on-chain index order. + /// + /// Event handlers run concurrently, so arrival order is not chain order, and a leaf's position + /// in the input tree is its position in this vector. Sorting here is what keeps the root the + /// Secure Process derives equal to the one the contract accumulated. pub async fn get_ciphertext_inputs(&self) -> Result, u64)>> { let e3_crisp = self.get_crisp().await?; - Ok(e3_crisp.ciphertext_inputs) + let mut inputs = e3_crisp.ciphertext_inputs; + inputs.sort_by_key(|(_, index)| *index); + Ok(inputs) + } + + /// Returns the commitments in the same on-chain index order as `get_ciphertext_inputs`. + pub async fn get_input_commitments(&self) -> Result> { + let e3_crisp = self.get_crisp().await?; + let mut commitments = e3_crisp.input_commitments; + commitments.sort_by_key(|(index, _)| *index); + Ok(commitments.into_iter().map(|(_, c)| c).collect()) + } + + /// Returns the slots in the same on-chain index order as `get_ciphertext_inputs`. + pub async fn get_input_slots(&self) -> Result> { + let e3_crisp = self.get_crisp().await?; + let mut slots = e3_crisp.input_slots; + slots.sort_by_key(|(index, _)| *index); + Ok(slots.into_iter().map(|(_, s)| s).collect()) } #[allow(dead_code)] diff --git a/examples/CRISP/server/src/server/routes/rounds.rs b/examples/CRISP/server/src/server/routes/rounds.rs index e3a26ab79b..70fcdc2e14 100644 --- a/examples/CRISP/server/src/server/routes/rounds.rs +++ b/examples/CRISP/server/src/server/routes/rounds.rs @@ -224,9 +224,9 @@ pub async fn initialize_crisp_round( let credit_mode = U256::from(0); // Constant let credits = U256::from(1); let census_mode = U256::from(0); // Token - // Seventh field: the ONCHAIN voting-power divisor, unused by a TOKEN round. Zero is also the - // "derive from the token's decimals" sentinel. Required regardless — `_initRound` decodes - // exactly seven fields, so a shorter encoding reverts the request with empty data. + // Seventh field: the ONCHAIN voting-power divisor, unused by a TOKEN round. Zero is also the + // "derive from the token's decimals" sentinel. Required regardless — `_initRound` decodes + // exactly seven fields, so a shorter encoding reverts the request with empty data. let voting_power_divisor = U256::from(0); let custom_params_bytes = Bytes::from( ( diff --git a/examples/CRISP/server/src/server/token_holders/etherscan.rs b/examples/CRISP/server/src/server/token_holders/etherscan.rs index ebc3bb7bc7..a22a4c0864 100644 --- a/examples/CRISP/server/src/server/token_holders/etherscan.rs +++ b/examples/CRISP/server/src/server/token_holders/etherscan.rs @@ -1575,13 +1575,19 @@ mod bond_owner_discovery_tests { "0xf09dc4a8a4e1c9233bcb1d32c04ad4c9d516f140c23aa44f9e0d680f70799e08" ); assert_eq!( - format!("{:?}", keccak256(b"BondedCheckpointed(address,uint48,uint256)")), + format!( + "{:?}", + keccak256(b"BondedCheckpointed(address,uint48,uint256)") + ), "0xb6241efac9a4f02e4f1ba6a30a3a5fc5ba4b23a47f181eca3055466c775eb32c" ); // The one that was wrong in this file: it matched nothing, so delegation logs always came // back empty and a pure delegatee never became a candidate. assert_eq!( - format!("{:?}", keccak256(b"DelegateVotesChanged(address,uint256,uint256)")), + format!( + "{:?}", + keccak256(b"DelegateVotesChanged(address,uint256,uint256)") + ), "0xdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724" ); } @@ -1591,7 +1597,10 @@ mod bond_owner_discovery_tests { let expected: Address = address!("f39Fd6e51aad88F6F4ce6aB8827279cffFb92266"); let topic = "0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266"; - assert_eq!(EtherscanClient::address_from_topic(topic).unwrap(), expected); + assert_eq!( + EtherscanClient::address_from_topic(topic).unwrap(), + expected + ); } #[test] diff --git a/packages/interfold-contracts/scripts/protocol/tx/interfold.ts b/packages/interfold-contracts/scripts/protocol/tx/interfold.ts index 38aaa178f9..1c75f22c26 100644 --- a/packages/interfold-contracts/scripts/protocol/tx/interfold.ts +++ b/packages/interfold-contracts/scripts/protocol/tx/interfold.ts @@ -133,9 +133,22 @@ function appendVerifierTxs( ), ); } + // The compute-receipt verifier. Each E3 snapshots this at request time, so a later change never + // affects an E3 in flight; leaving it unset means no protocol-level ciphertext verification. + // + // Three sources, in precedence order. A verifier deployed by this run wins, because it is the one + // the rest of the deployment just wired up. Otherwise the config decides, and it is read from both + // shapes `ProtocolConfig` declares: `verifiers.ciphertextVerifier` groups it with the other + // verifier addresses, and the top-level field predates that grouping. Preferring one config shape + // and ignoring the other would silently resolve to `undefined` for any config written against the + // other, and an unset verifier is indistinguishable from one deliberately omitted — it just means + // no ciphertext verification, with nothing to say it was a mistake. const ciphertext = c.ciphertextVerifier ?? - optionalAddress(config.ciphertextVerifier, "ciphertextVerifier"); + optionalAddress( + config.verifiers?.ciphertextVerifier ?? config.ciphertextVerifier, + "ciphertextVerifier", + ); if (ciphertext) { txs.push( safeTx( diff --git a/packages/interfold-contracts/scripts/protocol/types.ts b/packages/interfold-contracts/scripts/protocol/types.ts index d74f6ffafd..5acd2f1977 100644 --- a/packages/interfold-contracts/scripts/protocol/types.ts +++ b/packages/interfold-contracts/scripts/protocol/types.ts @@ -90,6 +90,15 @@ export interface ProtocolConfigFile { decryptionVerifier?: string; pkVerifier?: string; dkgFoldAttestationVerifier?: string; + /** + * The protocol ciphertext verifier for the BFV scheme, e.g. `Risc0BfvCiphertextVerifier`. + * + * This is the contract that checks the compute receipt before an E3 reaches + * `CiphertextReady`. Its `imageId` is immutable, so replacing it is a redeployment, not a + * setter call on the existing one. Leaving it unset ships a protocol with no ciphertext + * verification for the scheme. + */ + ciphertextVerifier?: string; }; ciphertextVerifier?: string; /** Deploy a stateless always-accepting ciphertext verifier for rehearsal deployments. */ diff --git a/packages/interfold-contracts/scripts/protocol/validate.ts b/packages/interfold-contracts/scripts/protocol/validate.ts index e2eb837edd..31e496fcb3 100644 --- a/packages/interfold-contracts/scripts/protocol/validate.ts +++ b/packages/interfold-contracts/scripts/protocol/validate.ts @@ -257,6 +257,31 @@ export async function actionValidate(): Promise { console.log(" -- bondedVotes not deployed yet (--action activate-voting)"); } + // Verifier read-backs. Each is configured by a Safe transaction, so a dropped or reverted write + // would otherwise leave the reference at address(0) with the deploy script still exiting zero. + const bfvSchemeId = ethers.id("fhe.rs:BFV"); + if (config.verifiers?.ciphertextVerifier) { + checks.push([ + "interfold.getCiphertextVerifier(fhe.rs:BFV)", + interfold.getCiphertextVerifier(bfvSchemeId), + config.verifiers.ciphertextVerifier, + ]); + } + if (config.verifiers?.decryptionVerifier) { + checks.push([ + "interfold.getDecryptionVerifier(fhe.rs:BFV)", + interfold.getDecryptionVerifier(bfvSchemeId), + config.verifiers.decryptionVerifier, + ]); + } + if (config.verifiers?.pkVerifier) { + checks.push([ + "interfold.getPkVerifier(fhe.rs:BFV)", + interfold.getPkVerifier(bfvSchemeId), + config.verifiers.pkVerifier, + ]); + } + for (const [label, actualPromise, expected] of checks) { const actual = await actualPromise; assertEqual(label, actual, expected); diff --git a/templates/default/Cargo.lock b/templates/default/Cargo.lock index 9ccf9a2a9d..225641f3c5 100644 --- a/templates/default/Cargo.lock +++ b/templates/default/Cargo.lock @@ -1313,13 +1313,16 @@ dependencies = [ "ark-ff 0.4.2", "e3-bfv-client", "e3-fhe-params", + "fhe", "hex", "lean-imt", "light-poseidon", "num-bigint", "num-traits", "serde", + "sha2", "sha3 0.10.8", + "thiserror 1.0.69", "zk-kit-imt", ] From 81461b31ded412bf489ef032e4033d918e272b1a Mon Sep 17 00:00:00 2001 From: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Date: Mon, 17 Aug 2026 23:19:36 +0100 Subject: [PATCH 05/30] chore: generalize program --- BRANCH-NOTES.md | 19 +- agent/INVARIANTS.md | 40 +- agent/flow-trace/04_DKG_AND_COMPUTATION.md | 29 + crates/compute-provider/src/compute_input.rs | 710 +++++------------- .../compute-provider/src/compute_manager.rs | 18 +- crates/compute-provider/src/lib.rs | 2 + .../src/merkle_tree_builder.rs | 143 ++-- crates/compute-provider/src/policy.rs | 118 +++ crates/program-server/src/lib.rs | 50 +- crates/support-scripts/dev/src/main.rs | 2 +- examples/CRISP/Cargo.lock | 4 + examples/CRISP/program/Cargo.toml | 4 + examples/CRISP/program/src/lib.rs | 85 +++ .../program}/tests/onchain_root_agreement.rs | 111 +-- .../CRISP/program/tests/secure_process.rs | 286 ++++--- examples/CRISP/program/tests/selection.rs | 143 ++++ examples/CRISP/server/src/server/indexer.rs | 10 +- .../src/server/program_server_request.rs | 20 +- templates/default/program/src/lib.rs | 23 +- 19 files changed, 935 insertions(+), 882 deletions(-) create mode 100644 crates/compute-provider/src/policy.rs rename {crates/compute-provider => examples/CRISP/program}/tests/onchain_root_agreement.rs (72%) create mode 100644 examples/CRISP/program/tests/selection.rs diff --git a/BRANCH-NOTES.md b/BRANCH-NOTES.md index 116f4a37c1..7c12853ec1 100644 --- a/BRANCH-NOTES.md +++ b/BRANCH-NOTES.md @@ -44,6 +44,22 @@ and `batch_size` parameters. - `CRISPProgram.setImageId` / `setRisc0Verifier` document that they cannot replace an accepted computation but can fail an E3 in flight. +## The compute-provider crate stays generic + +The leaf layout and the selection rule are CRISP's, so they live in `examples/CRISP/program`, not in +the crate every E3 program is pointed at. The crate holds only what is true for all of them — leaves +are derived, never received, and every input contributes one — and takes the rest as an +`InputPolicy`. + +- `InputPolicy::default()` is the pre-existing behaviour and matches the starter template. +- Every E3 program now exports `policy()` beside `fhe_processor`. +- `PublishedData { commitment, metadata }` carries what the program published per input; `metadata` + is opaque to the crate, and CRISP puts its slot address there. + +`FHEInputs` is back to `{ ciphertexts, params }`, so processors are unchanged. An earlier draft had +put CRISP's `slots: Vec<[u8; 20]>` on it, which broke the starter template's test and would have +silently given CRISP's dedup to any program that populated the field. + ## Blocker: the guest still runs the old code **The leaf-derivation fix does not reach the deployed guest on this branch.** @@ -75,7 +91,8 @@ because that is the signature at the pinned revision. It is deliberately left al - the two `ComputeManager::new` calls in `crates/support/host/src/lib.rs` drop the `use_parallel` and `batch_size` arguments; - `crates/support/methods/guest/src/bin/program.rs` must handle the `Result` that - `ComputeInput::process` now returns. + `ComputeInput::process` now returns, and pass the program's policy: + `input.input.process(fhe_processor, e3_user_program::policy())`. 4. Rebuild the guest: `./scripts/check-image-id.sh --rebuild`. 5. Commit the regenerated `crates/support/contracts/ImageID.sol`, refresh `crates/support/contracts/ImageID.stamp.json`, and set `imageIdVerified` to `true`. diff --git a/agent/INVARIANTS.md b/agent/INVARIANTS.md index ee70b773c5..85ea97789f 100644 --- a/agent/INVARIANTS.md +++ b/agent/INVARIANTS.md @@ -373,26 +373,26 @@ skip-proof feature containment (`pnpm check:invariants`, baselines in - **Every E3 program must compare the proof's input root against its own root.** `Risc0BfvCiphertextVerifier` takes no `inputRoot` argument and constrains none. A program that skips the comparison accepts a result computed over any input set. — `flow-trace/04` -- **An E3 program's input leaf binds the published bytes, the commitment, and the slot.** - `CRISPProgram.inputLeaf` is - `sha256(sha256(bytes) || commitment || slot) mod SNARK_SCALAR_FIELD`, and - `MerkleTreeBuilder::compute_leaf_hashes` rebuilds it byte for byte. The proof checked at input - time constrains the commitment and never sees the serialized ciphertext, so binding the bytes is - what lets the Secure Process detect a mismatch; binding the slot is what stops a prover - re-grouping entries, since selection is per slot. A divergence between the two implementations - makes every root mismatch and nothing else would catch it, so both sides pin the same vector - (`tests/input-leaf.test.ts`, `leaf_layout_matches_the_contract`) and - `onchain_root_agreement.rs` asserts Rust reproduces a root a real contract produced. SHA-256 - rather than Keccak because the zkVM accelerates it inline. — `flow-trace/04` -- **The input tree is append-only, and a Secure Process selects the most recent usable entry per - slot.** `_processVote` never updates in place. The mask path needs no signature, so anyone can - write to any census member's slot; with update-in-place a third party could replace the bytes of - a counted vote and erase it while the round still completed. An entry whose bytes do not - reproduce its commitment keeps its leaf — removing it would change the root — but is skipped, so - selection falls back to that slot's last good entry. The rule is a function of values the root - binds, so a prover cannot choose what to drop. Neither the contract nor the circuit can perform - this check: the commitment is a Poseidon sponge over CRT limbs, and the circuit cannot reproduce - the serialization. — `flow-trace/04` +- **A Secure Process derives its leaves; it never receives them, and never drops one.** + `MerkleTreeBuilder::compute_leaf_hashes` builds every leaf from the ciphertexts it was given and + pushes one per published input, whatever the E3 program's policy decides about computing over it. + Both rules are applied by `e3-compute-provider` rather than delegated: a received root can + disagree with the data it claims to describe, and a missing leaf changes the root and makes the + result unpublishable. — `flow-trace/04` +- **The leaf layout and input selection are the E3 program's, not the crate's.** They are supplied + as an `InputPolicy`, because a leaf must match whatever that program builds on chain and no two + programs need agree, and because "what does a second input for the same participant mean?" has + no universal answer. `InputPolicy::default` is the historical behaviour — leaf is the + ciphertext's own commitment, every input counts — which matches the starter template. Every E3 + program exports `policy()` beside `fhe_processor`. — `flow-trace/04` +- **CRISP binds bytes, commitment and slot into its leaf, and selects the latest usable entry per + slot.** `CRISPProgram.inputLeaf` is + `sha256(sha256(bytes) || commitment || slot) mod SNARK_SCALAR_FIELD` and + `e3_user_program::policy` rebuilds it byte for byte; a divergence makes every root mismatch and + nothing else would catch it, so both sides pin the same vector and + `onchain_root_agreement.rs` asserts Rust reproduces a root a real contract produced. The tree is + append-only because the mask path checks no signature, so anyone can write to any census + member's slot and update-in-place would let a third party erase a counted vote. — `flow-trace/04` - **The SAFE ciphertext commitment requires exactly two components.** It covers `c[0]` and `c[1]` only, matching the Noir circuit, so `bfv_ciphertext_to_greco` rejects any other component count. A padded ciphertext would otherwise share a commitment with its two-component prefix while threshold diff --git a/agent/flow-trace/04_DKG_AND_COMPUTATION.md b/agent/flow-trace/04_DKG_AND_COMPUTATION.md index 8cabd002de..143a83b9b6 100644 --- a/agent/flow-trace/04_DKG_AND_COMPUTATION.md +++ b/agent/flow-trace/04_DKG_AND_COMPUTATION.md @@ -1298,6 +1298,35 @@ buffers and deduplicates `ComputeRequest`s, prefers the newest regenerated reque E3 work, and releases pending jobs only after `EffectsEnabled`. The gate changes effect timing, not durable event order or audit state. +### What the compute-provider crate guarantees, and what an E3 program decides + +`e3-compute-provider` is shared by every E3 program, so it holds only what is true for all of them: + +- leaves are **derived** from the ciphertexts the Secure Process consumed, never received alongside + them; +- **every** published input contributes a leaf, whatever is computed over. + +The leaf layout and which inputs are computed over come from the program, as an `InputPolicy`: + +```rust +pub struct InputPolicy { + pub leaf: fn(&PublishedInput) -> Result, + pub select: fn(&[PublishedInput]) -> Vec, +} +``` + +Both are program-specific. A leaf must equal what that program builds on chain, and no two programs +need agree. Selection answers "what does a second input for the same participant mean?", which CRISP +answers differently from a program where every input counts. + +`InputPolicy::default()` is the behaviour that predates policies — the leaf is the ciphertext's own +commitment and every input is computed over — and matches the starter template, whose +`MyProgram.publishInput` inserts the commitment directly. Every E3 program exports `policy()` beside +`fhe_processor`, so the guest and the dev runner need not know which program they are running. + +`PublishedData` carries what the program published per input: the stored commitment, and opaque +`metadata` the crate never interprets. CRISP puts its 20-byte slot address there. + ### Input leaf binding and per-slot selection An E3 program verifies a proof over the ciphertext **commitment** when an input is published. The diff --git a/crates/compute-provider/src/compute_input.rs b/crates/compute-provider/src/compute_input.rs index fdcfc2b8d2..80c9ade109 100644 --- a/crates/compute-provider/src/compute_input.rs +++ b/crates/compute-provider/src/compute_input.rs @@ -6,6 +6,7 @@ use crate::ciphertext_output::ComputeResult; use crate::merkle_tree_builder::MerkleTreeBuilder; +use crate::policy::InputPolicy; use e3_bfv_client::client::compute_ct_commitment; use e3_fhe_params::decode_bfv_params; use sha3::{Digest, Keccak256}; @@ -14,38 +15,28 @@ pub type FHEProcessor = fn(&FHEInputs) -> Vec; #[derive(Clone, Debug, serde::Serialize, serde::Deserialize)] pub struct FHEInputs { - /// The serialized ciphertexts to process, each paired with its on-chain index. + /// The serialized ciphertexts to compute over, each paired with its on-chain index. /// - /// The index is not the authority on input order — a leaf's position in the tree is its - /// position in this vector, because `MerkleTreeBuilder::compute_leaf_hashes` walks the vector - /// in order and the tree inserts sequentially. **A caller assembling this vector from chain - /// events must sort by the index**, because event delivery is not ordered; getting it wrong - /// produces a root the E3 program rejects. + /// The index is not the authority on order — a leaf's position in the tree is its position in + /// this vector. **A caller assembling this from chain events must sort by the index**, because + /// event delivery is not ordered, and getting it wrong produces a root the E3 program rejects. pub ciphertexts: Vec<(Vec, u64)>, - /// The commitment the E3 program stored for each ciphertext, in the same order. - /// - /// The proof an E3 program checks at input time constrains the commitment, never the - /// serialized bytes above. Carrying both lets the Secure Process recompute each commitment - /// from the bytes it consumed and drop any input where the two disagree. - /// - /// Empty means "no commitments supplied": every input is then processed without the check, - /// which is the pre-binding behaviour and only safe for an E3 program whose inputs cannot - /// carry unbound bytes. - #[serde(default)] - pub commitments: Vec<[u8; 32]>, - /// The slot each input was published to, in the same order. - /// - /// The input tree is append-only, so a slot can hold several entries and the Secure Process - /// tallies the most recent one whose bytes match its commitment. That grouping has to be bound - /// by the root, which is why the slot is part of the leaf. - /// - /// Supplied together with `commitments`; when either is empty no check or grouping is done and - /// every input is processed, which is the pre-binding behaviour. - #[serde(default)] - pub slots: Vec<[u8; 20]>, pub params: Vec, } +/// What an E3 program published alongside a ciphertext, in the same order as `ciphertexts`. +/// +/// Separate from `FHEInputs` because a Secure Process never computes over it: it decides leaves and +/// selection, which is the [`InputPolicy`]'s business, not the processor's. +#[derive(Clone, Debug, Default, serde::Serialize, serde::Deserialize)] +pub struct PublishedData { + /// The commitment the E3 program stored for this input, when it stores one. + pub commitment: Option<[u8; 32]>, + /// Anything else the program published per input. Opaque here; CRISP carries its slot address. + #[serde(default)] + pub metadata: Vec, +} + /// The full input to the Secure Process. /// /// This type holds only the values the Secure Process computes over. Every field the journal @@ -55,6 +46,10 @@ pub struct FHEInputs { #[derive(Clone, Debug, serde::Serialize, serde::Deserialize)] pub struct ComputeInput { pub fhe_inputs: FHEInputs, + /// One entry per ciphertext, in the same order. Empty when the E3 program publishes nothing + /// beyond the ciphertexts, which is what [`InputPolicy::default`] expects. + #[serde(default)] + pub published: Vec, } /// A failure inside the Secure Process. @@ -79,29 +74,41 @@ pub enum ComputeError { } impl ComputeInput { - pub fn process(&self, fhe_processor: FHEProcessor) -> Result { + /// Runs the Secure Process under the E3 program's [`InputPolicy`]. + /// + /// The policy decides the leaf layout and which inputs are computed over. What it cannot do is + /// supply a root or drop an input from the tree — leaves are derived here, from the ciphertexts + /// actually consumed, and every published input contributes one. + pub fn process( + &self, + fhe_processor: FHEProcessor, + policy: InputPolicy, + ) -> Result { let params = decode_bfv_params(&self.fhe_inputs.params) .map_err(|e| ComputeError::DecodeParams(e.to_string()))?; - // Every leaf is derived here, from the exact bytes, commitments and slots this Secure - // Process was given, so the root the E3 program compares against binds all three. An input - // whose bytes do not reproduce its commitment still contributes its leaf — dropping it - // would change the root — but it is not computed over. + if !self.published.is_empty() && self.published.len() != self.fhe_inputs.ciphertexts.len() { + return Err(ComputeError::MerkleTree(format!( + "{} ciphertexts but {} published entries", + self.fhe_inputs.ciphertexts.len(), + self.published.len() + ))); + } + let mut tree_builder = MerkleTreeBuilder::new(self.fhe_inputs.ciphertexts.len()); - let usable = tree_builder.compute_leaf_hashes(&self.fhe_inputs, ¶ms)?; + let selected = + tree_builder.compute_leaf_hashes(&self.fhe_inputs, &self.published, ¶ms, policy)?; let merkle_root = tree_builder .build_tree() .map_err(|e| ComputeError::MerkleTree(e.to_string()))? .root() .ok_or_else(|| ComputeError::MerkleTree("the tree has no root".into()))?; - // The processor sees only the inputs that matched their commitment. Both the root above - // and this filter are functions of values the root binds, so the excluded set is - // reproducible by anyone holding the same inputs — a prover cannot choose it. + // The processor sees only what the policy selected. Both the root above and this set are + // functions of values the root binds, so any prover over the same published inputs reaches + // the same result. let processed_ciphertext = (fhe_processor)(&FHEInputs { - ciphertexts: usable, - commitments: Vec::new(), - slots: Vec::new(), + ciphertexts: selected, params: self.fhe_inputs.params.clone(), }); let processed_hash = Keccak256::digest(&processed_ciphertext).to_vec(); @@ -128,6 +135,7 @@ impl ComputeInput { #[cfg(test)] mod tests { use super::*; + use crate::policy::{all_inputs, commitment_leaf, PublishedInput}; use e3_fhe_params::{build_pair_for_preset, encode_bfv_params, BfvPreset}; use fhe::bfv::{Ciphertext, Encoding, Plaintext, PublicKey, SecretKey}; use fhe_traits::{FheEncoder, FheEncrypter, Serialize as FheSerialize}; @@ -145,7 +153,6 @@ mod tests { sum.to_bytes() } - /// Builds `values.len()` encrypted inputs under one key, plus the encoded parameters. fn encrypted_inputs(values: &[u64]) -> FHEInputs { let (params, _) = build_pair_for_preset(BfvPreset::InsecureThreshold512).unwrap(); let mut rng = ChaCha8Rng::seed_from_u64(7); @@ -165,205 +172,124 @@ mod tests { FHEInputs { ciphertexts, - commitments: Vec::new(), - slots: Vec::new(), params: encode_bfv_params(¶ms), } } - /// Attaches the commitment and slot an E3 program would have stored for each ciphertext. - /// Each input gets its own slot unless `slots` is given. - fn with_real_commitments(inputs: FHEInputs) -> FHEInputs { - let count = inputs.ciphertexts.len(); - with_slots(inputs, (0..count).map(|i| slot(i as u8)).collect()) - } - - /// A distinct slot address per index. - fn slot(tag: u8) -> [u8; 20] { - let mut address = [0u8; 20]; - address[19] = tag; - address + fn process(inputs: FHEInputs, policy: InputPolicy) -> Result { + ComputeInput { + fhe_inputs: inputs, + published: Vec::new(), + } + .process(sum_processor, policy) } - fn with_slots(mut inputs: FHEInputs, slots: Vec<[u8; 20]>) -> FHEInputs { + /// The journal's input root must be a function of the ciphertexts consumed. Before this, the + /// root arrived as a separate field, so a prover could publish a tally over one input set while + /// proving the root of another. + #[test] + fn the_root_is_derived_from_the_processed_ciphertexts() { + let inputs = encrypted_inputs(&[1, 1, 1]); let params = decode_bfv_params(&inputs.params).unwrap(); - inputs.commitments = inputs - .ciphertexts - .iter() - .map(|(bytes, _)| { - compute_ct_commitment( - bytes.clone(), - params.degree(), - params.plaintext(), - params.moduli().to_vec(), - ) - .unwrap() - }) - .collect(); - inputs.slots = slots; - inputs - } - fn root_over(inputs: &FHEInputs) -> Vec { - let params = decode_bfv_params(&inputs.params).unwrap(); - let mut builder = MerkleTreeBuilder::new(inputs.ciphertexts.len()); - builder.compute_leaf_hashes(inputs, ¶ms).unwrap(); - hex::decode(builder.build_tree().unwrap().root().unwrap()).unwrap() - } + let result = process(inputs.clone(), InputPolicy::default()).unwrap(); - /// The journal's input root must be a function of the ciphertexts the Secure Process consumed. - /// Before this binding existed, the root arrived as a separate `leaf_hashes` field, so a - /// prover could publish a tally over one input set while proving the root of another. - #[test] - fn merkle_root_is_derived_from_the_processed_ciphertexts() { - let inputs = encrypted_inputs(&[1, 1, 1]); - let result = ComputeInput { - fhe_inputs: inputs.clone(), - } - .process(sum_processor) - .unwrap(); + let mut builder = MerkleTreeBuilder::new(3); + builder + .compute_leaf_hashes(&inputs, &[], ¶ms, InputPolicy::default()) + .unwrap(); + let expected = hex::decode(builder.build_tree().unwrap().root().unwrap()).unwrap(); - assert_eq!(result.merkle_root, root_over(&inputs)); + assert_eq!(result.merkle_root, expected); } - /// Changing the consumed ciphertexts must change the published root, so an E3 program that - /// compares the root against its own on-chain root rejects the substituted set. + /// Changing the consumed ciphertexts must change the published root, so an E3 program's + /// comparison rejects a substituted set. #[test] fn substituted_ciphertexts_produce_a_different_root() { let honest = encrypted_inputs(&[1, 1, 1]); let mut forged = honest.clone(); - // Same leaf count, so the tree depth is unchanged; only the ciphertexts differ. forged.ciphertexts[2] = encrypted_inputs(&[9]).ciphertexts[0].clone(); - let honest_root = ComputeInput { fhe_inputs: honest } - .process(sum_processor) - .unwrap() - .merkle_root; - let forged_root = ComputeInput { fhe_inputs: forged } - .process(sum_processor) - .unwrap() - .merkle_root; - - assert_ne!(honest_root, forged_root); - } - - /// A Secure Process accepts inputs from untrusted parties, so an unusable one must surface as - /// an error naming the offending index, not as a panic that aborts the prover. - #[test] - fn a_malformed_input_reports_its_index_instead_of_panicking() { - let mut inputs = encrypted_inputs(&[1, 1, 1]); - inputs.ciphertexts[1].0 = vec![0xff; 8]; - - let params = decode_bfv_params(&inputs.params).unwrap(); - let mut builder = MerkleTreeBuilder::new(inputs.ciphertexts.len()); - let error = builder.compute_leaf_hashes(&inputs, ¶ms).unwrap_err(); - - assert!( - matches!(error, ComputeError::LeafCommitment { index: 1, .. }), - "expected LeafCommitment at index 1, got {error:?}" + assert_ne!( + process(honest, InputPolicy::default()).unwrap().merkle_root, + process(forged, InputPolicy::default()).unwrap().merkle_root ); } - /// An input whose published bytes do not reproduce its stored commitment must be excluded from - /// the computation while still contributing its leaf. Before this binding, the honest prover - /// simply could not reproduce the on-chain root and the whole round was lost. + /// The default policy is what every E3 program had before policies existed. #[test] - fn an_input_whose_bytes_contradict_its_commitment_is_excluded_from_the_tally() { - let honest = with_real_commitments(encrypted_inputs(&[1, 1, 1])); + fn the_default_policy_uses_the_ciphertext_commitment_and_keeps_every_input() { + let inputs = encrypted_inputs(&[4, 5]); + let params = decode_bfv_params(&inputs.params).unwrap(); - // As published on chain: the commitment of input 1 is real and proven, but the bytes beside - // it are a different ciphertext. The contract builds its leaf from exactly this pair, so - // the guest sees the same pair and derives the same leaf. - let mut attacked = honest.clone(); - attacked.ciphertexts[1].0 = encrypted_inputs(&[9]).ciphertexts[0].0.clone(); + let mut builder = MerkleTreeBuilder::new(2); + let selected = builder + .compute_leaf_hashes(&inputs, &[], ¶ms, InputPolicy::default()) + .unwrap(); - let result = ComputeInput { - fhe_inputs: attacked.clone(), - } - .process(sum_processor) - .expect("a contradicting input must not stop the round"); - - // The tally must be exactly the two inputs that did match, so it equals a run over only - // those two. - let mut only_matching = honest.clone(); - only_matching.ciphertexts.remove(1); - only_matching.commitments.remove(1); - only_matching.slots.remove(1); - let reference = ComputeInput { - fhe_inputs: only_matching, - } - .process(sum_processor) + assert_eq!(selected.len(), 2, "every input is computed over"); + let commitment = compute_ct_commitment( + inputs.ciphertexts[0].0.clone(), + params.degree(), + params.plaintext(), + params.moduli().to_vec(), + ) .unwrap(); - - assert_eq!( - result.ciphertext_hash, reference.ciphertext_hash, - "the contradicting input must not reach the processor" - ); - - // And it is still represented in the tree, so the root differs from the two-input run. - assert_ne!(result.merkle_root, reference.merkle_root); - } - - /// Undecodable bytes are an unusable input, not a failure: the round must survive them. - #[test] - fn undecodable_bytes_are_excluded_rather_than_fatal() { - let mut inputs = with_real_commitments(encrypted_inputs(&[1, 1, 1])); - inputs.ciphertexts[2].0 = vec![0xff; 8]; - - let result = ComputeInput { fhe_inputs: inputs } - .process(sum_processor) - .expect("garbage bytes must not abort the Secure Process"); - - assert_eq!(result.merkle_root.len(), 32); + assert_eq!(builder.leaf_hashes[0], hex::encode(commitment)); } - /// The leaf layout must match `CRISPProgram.inputLeaf`, byte for byte. - /// - /// This vector is duplicated in - /// `examples/CRISP/packages/crisp-contracts/tests/input-leaf.test.ts`. A divergence between - /// the two implementations makes every root mismatch, and nothing else would catch it. + /// A policy chooses what is computed over; it cannot shrink the tree. Dropping a leaf would + /// change the root and make the result unpublishable, so the crate applies this rather than + /// trusting each program to. #[test] - fn leaf_layout_matches_the_contract() { - let ciphertext: Vec = (0u8..64).collect(); - let commitment = [0xabu8; 32]; - - let inputs = FHEInputs { - ciphertexts: vec![(ciphertext, 0)], - commitments: vec![commitment], - slots: vec![[0xcdu8; 20]], - params: encode_bfv_params( - &build_pair_for_preset(BfvPreset::InsecureThreshold512) - .unwrap() - .0, - ), - }; - + fn a_policy_cannot_drop_an_input_from_the_tree() { + fn select_nothing(_: &[PublishedInput]) -> Vec { + Vec::new() + } + let inputs = encrypted_inputs(&[1, 2, 3]); let params = decode_bfv_params(&inputs.params).unwrap(); - let mut builder = MerkleTreeBuilder::new(1); - builder.compute_leaf_hashes(&inputs, ¶ms).unwrap(); - let expected = num_bigint::BigUint::parse_bytes( - b"3005744733328395831398716072572247490877798047068525662443106668216528579058", - 10, - ) - .unwrap(); + let mut builder = MerkleTreeBuilder::new(3); + let selected = builder + .compute_leaf_hashes( + &inputs, + &[], + ¶ms, + InputPolicy { + leaf: commitment_leaf, + select: select_nothing, + }, + ) + .unwrap(); + + assert!(selected.is_empty(), "the policy selected nothing"); assert_eq!( - num_bigint::BigUint::from_bytes_be(&hex::decode(&builder.leaf_hashes[0]).unwrap()), - expected, - "leaf layout diverged from CRISPProgram.inputLeaf" + builder.leaf_hashes.len(), + 3, + "every leaf is still in the tree" ); } - /// A commitment list of the wrong length is a caller bug that would silently mis-pair inputs - /// with commitments, so it must be rejected rather than guessed at. + /// A policy returning an index that does not exist is a bug in the program, not a silent skip. #[test] - fn a_mismatched_commitment_count_is_rejected() { - let mut inputs = with_real_commitments(encrypted_inputs(&[1, 1, 1])); - inputs.commitments.pop(); - + fn an_out_of_range_selection_is_rejected() { + fn select_beyond_the_end(_: &[PublishedInput]) -> Vec { + vec![99] + } + let inputs = encrypted_inputs(&[1]); let params = decode_bfv_params(&inputs.params).unwrap(); - let error = MerkleTreeBuilder::new(3) - .compute_leaf_hashes(&inputs, ¶ms) + + let error = MerkleTreeBuilder::new(1) + .compute_leaf_hashes( + &inputs, + &[], + ¶ms, + InputPolicy { + leaf: commitment_leaf, + select: select_beyond_the_end, + }, + ) .unwrap_err(); assert!( @@ -372,340 +298,92 @@ mod tests { ); } - /// A round where *every* input is unusable degenerates into a round with nothing to tally. - /// - /// The processor returns an empty ciphertext, which does not serialize back into a valid one, - /// so the output commitment fails with a typed error rather than a panic. That is acceptable: - /// this state is only reachable when no honest input exists — one honest input is never - /// excluded, because its bytes reproduce its commitment — and it is indistinguishable from a - /// round that received no inputs at all, which the protocol already resolves as - /// `NoInputsReceived`. Asserted so the behaviour is a decision rather than an accident. + /// Published data of the wrong length would silently mis-pair inputs with their commitments. #[test] - fn a_round_where_every_input_is_unusable_fails_cleanly() { - let mut inputs = with_real_commitments(encrypted_inputs(&[1, 1])); - for entry in inputs.ciphertexts.iter_mut() { - entry.0 = vec![0xde, 0xad, 0xbe, 0xef]; + fn mismatched_published_data_is_rejected() { + let error = ComputeInput { + fhe_inputs: encrypted_inputs(&[1, 2]), + published: vec![PublishedData::default()], } - - let error = ComputeInput { fhe_inputs: inputs } - .process(sum_processor) - .unwrap_err(); + .process(sum_processor, InputPolicy::default()) + .unwrap_err(); assert!( - matches!(error, ComputeError::OutputCommitment(_)), - "expected a typed output-commitment error, got {error:?}" + matches!(error, ComputeError::MerkleTree(_)), + "got {error:?}" ); } - /// A single honest input must survive any number of unusable ones beside it. This is the - /// property that turns a round-killing input into a excluded one. + /// Under the default policy an undecodable ciphertext names the index that failed, rather than + /// aborting the process. #[test] - fn one_honest_input_still_produces_a_tally_among_unusable_ones() { - let mut inputs = with_real_commitments(encrypted_inputs(&[1, 1, 1])); - inputs.ciphertexts[0].0 = vec![0x00; 12]; - inputs.ciphertexts[2].0 = vec![0xff; 5]; - - let result = ComputeInput { - fhe_inputs: inputs.clone(), - } - .process(sum_processor) - .expect("one usable input must be enough"); - - // The tally is exactly the surviving input. - let mut only_good = inputs.clone(); - only_good.ciphertexts = vec![inputs.ciphertexts[1].clone()]; - only_good.commitments = vec![inputs.commitments[1]]; - only_good.slots = vec![inputs.slots[1]]; - let reference = ComputeInput { - fhe_inputs: only_good, - } - .process(sum_processor) - .unwrap(); - - assert_eq!(result.ciphertext_hash, reference.ciphertext_hash); - } - - /// The excluded set must be a function of the inputs alone, so two provers over the same - /// published data produce the same result and neither can choose what to drop. - #[test] - fn the_excluded_set_is_deterministic() { - let mut inputs = with_real_commitments(encrypted_inputs(&[1, 1, 1])); - inputs.ciphertexts[0].0 = vec![0x00; 16]; - - let first = ComputeInput { - fhe_inputs: inputs.clone(), - } - .process(sum_processor) - .unwrap(); - let second = ComputeInput { fhe_inputs: inputs } - .process(sum_processor) - .unwrap(); - - assert_eq!(first.merkle_root, second.merkle_root); - assert_eq!(first.ciphertext_hash, second.ciphertext_hash); - assert_eq!(first.ciphertext_commitment, second.ciphertext_commitment); - } - - /// Swapping the commitment beside honest bytes must change the leaf, or an attacker could - /// pair any commitment with any ciphertext. - #[test] - fn the_leaf_binds_the_commitment_as_well_as_the_bytes() { - let inputs = with_real_commitments(encrypted_inputs(&[1])); - let params = decode_bfv_params(&inputs.params).unwrap(); - - let mut honest = MerkleTreeBuilder::new(1); - honest.compute_leaf_hashes(&inputs, ¶ms).unwrap(); - - let mut swapped_inputs = inputs.clone(); - swapped_inputs.commitments[0] = [0x11u8; 32]; - let mut swapped = MerkleTreeBuilder::new(1); - swapped - .compute_leaf_hashes(&swapped_inputs, ¶ms) - .unwrap(); - - assert_ne!(honest.leaf_hashes[0], swapped.leaf_hashes[0]); - } - - /// With no commitments or slots the builder keeps the pre-binding layout, so an E3 program - /// that has not migrated still works. - #[test] - fn without_binding_the_leaf_is_the_ciphertext_commitment() { - let inputs = encrypted_inputs(&[5]); - let bound = with_real_commitments(inputs.clone()); + fn the_default_policy_reports_the_index_of_an_undecodable_input() { + let mut inputs = encrypted_inputs(&[1, 1]); + inputs.ciphertexts[1].0 = vec![0xff; 8]; let params = decode_bfv_params(&inputs.params).unwrap(); - let mut unchecked = MerkleTreeBuilder::new(1); - let usable = unchecked.compute_leaf_hashes(&inputs, ¶ms).unwrap(); + let error = MerkleTreeBuilder::new(2) + .compute_leaf_hashes(&inputs, &[], ¶ms, InputPolicy::default()) + .unwrap_err(); - assert_eq!(usable.len(), 1); - assert_eq!( - unchecked.leaf_hashes[0], - hex::encode(bound.commitments[0]), - "the unbound leaf is the bare ciphertext commitment" + assert!( + matches!(error, ComputeError::LeafCommitment { index: 1, .. }), + "got {error:?}" ); } - /// The slot is part of the leaf, so the same ciphertext published to a different slot is a - /// different leaf. Without this a prover could re-group entries and change which one wins. - #[test] - fn the_leaf_binds_the_slot() { - let base = encrypted_inputs(&[3]); - let params = decode_bfv_params(&base.params).unwrap(); - - let a = with_slots(base.clone(), vec![slot(1)]); - let b = with_slots(base, vec![slot(2)]); - - let mut first = MerkleTreeBuilder::new(1); - first.compute_leaf_hashes(&a, ¶ms).unwrap(); - let mut second = MerkleTreeBuilder::new(1); - second.compute_leaf_hashes(&b, ¶ms).unwrap(); - - assert_ne!(first.leaf_hashes[0], second.leaf_hashes[0]); - } - - /// The heart of append-only: a later entry that contradicts its commitment must not erase the - /// good entry already in the slot. This is the mask-poisoning case. + /// `matches_commitment` is what a policy uses to spot a published ciphertext that disagrees + /// with what the E3 program proved. #[test] - fn a_poisoned_later_entry_falls_back_to_the_slot_s_last_good_one() { - let victim = slot(7); - let honest = encrypted_inputs(&[4]); - let mut inputs = with_slots(honest.clone(), vec![victim]); - - // An attacker appends a second entry to the victim's slot: real commitment, wrong bytes. - let poison = encrypted_inputs(&[9]); - inputs - .ciphertexts - .push((poison.ciphertexts[0].0.clone(), 1)); - inputs.commitments.push(inputs.commitments[0]); - inputs.slots.push(victim); - - let params = decode_bfv_params(&inputs.params).unwrap(); - let mut builder = MerkleTreeBuilder::new(inputs.ciphertexts.len()); - let usable = builder.compute_leaf_hashes(&inputs, ¶ms).unwrap(); + fn matches_commitment_reports_the_three_cases() { + let bytes = vec![1u8, 2, 3]; + let commitment = [7u8; 32]; + + let agreeing = PublishedInput { + index: 0, + ciphertext: &bytes, + commitment: Some(&commitment), + metadata: &[], + recomputed: Some(commitment), + }; + let disagreeing = PublishedInput { + recomputed: Some([8u8; 32]), + ..agreeing + }; + let undecodable = PublishedInput { + recomputed: None, + ..agreeing + }; + let unpublished = PublishedInput { + commitment: None, + recomputed: None, + ..agreeing + }; - assert_eq!( - usable.len(), - 1, - "the slot still contributes exactly one entry" - ); - assert_eq!( - usable[0].0, honest.ciphertexts[0].0, - "the victim's original vote must survive" + assert!(agreeing.matches_commitment()); + assert!(!disagreeing.matches_commitment()); + assert!( + !undecodable.matches_commitment(), + "an undecodable input cannot match" ); - assert_eq!( - builder.leaf_hashes.len(), - 2, - "both entries stay in the tree" + assert!( + unpublished.matches_commitment(), + "with no commitment published there is nothing to contradict" ); } - /// An honest re-vote must replace the earlier one, or voters could never change their mind. #[test] - fn an_honest_later_entry_replaces_the_earlier_one() { - let voter = slot(3); - let first = encrypted_inputs(&[1]); - let second = encrypted_inputs(&[8]); - - let mut inputs = with_slots(first, vec![voter]); - let later = with_slots(second.clone(), vec![voter]); - inputs.ciphertexts.push((later.ciphertexts[0].0.clone(), 1)); - inputs.commitments.push(later.commitments[0]); - inputs.slots.push(voter); - - let params = decode_bfv_params(&inputs.params).unwrap(); - let mut builder = MerkleTreeBuilder::new(2); - let usable = builder.compute_leaf_hashes(&inputs, ¶ms).unwrap(); - - assert_eq!(usable.len(), 1); - assert_eq!(usable[0].0, second.ciphertexts[0].0, "the re-vote wins"); - } - - /// Distinct slots each contribute their own entry, in tree order. - #[test] - fn every_slot_contributes_its_latest_usable_entry() { - let inputs = with_real_commitments(encrypted_inputs(&[1, 2, 3])); - let params = decode_bfv_params(&inputs.params).unwrap(); - - let mut builder = MerkleTreeBuilder::new(3); - let usable = builder.compute_leaf_hashes(&inputs, ¶ms).unwrap(); - - assert_eq!(usable.len(), 3); - assert_eq!(usable[0].1, 0); - assert_eq!(usable[2].1, 2); - } - - /// Builds one slot's entry sequence. `true` is an honest entry, `false` an entry whose bytes - /// do not reproduce its commitment. Returns the inputs and the honest ciphertexts by index. - fn sequence_for_one_slot(pattern: &[bool]) -> (FHEInputs, Vec>) { - let target = slot(9); - let ballots: Vec> = (0..pattern.len()) - .map(|i| encrypted_inputs(&[(i as u64) + 1]).ciphertexts[0].0.clone()) + fn all_inputs_selects_everything() { + let bytes = vec![0u8]; + let entries: Vec = (0..3) + .map(|index| PublishedInput { + index, + ciphertext: &bytes, + commitment: None, + metadata: &[], + recomputed: None, + }) .collect(); - - // Distinct ballots, or a test expecting "the later honest entry" would pass even if the - // earlier one were selected. - for (i, ballot) in ballots.iter().enumerate() { - for other in &ballots[i + 1..] { - assert_ne!(ballot, other, "sequence ballots must be distinguishable"); - } - } - - let mut inputs = encrypted_inputs(&[1]); - inputs.ciphertexts.clear(); - let params = decode_bfv_params(&inputs.params).unwrap(); - let commit = |bytes: &Vec| { - compute_ct_commitment( - bytes.clone(), - params.degree(), - params.plaintext(), - params.moduli().to_vec(), - ) - .unwrap() - }; - - for (index, honest) in pattern.iter().enumerate() { - // A poisoned entry keeps a real commitment and carries unrelated bytes, which is what a - // third party can publish and no on-chain check can reject. - let published = if *honest { - ballots[index].clone() - } else { - vec![0xde, 0xad, 0xbe, 0xef, index as u8] - }; - inputs.ciphertexts.push((published, index as u64)); - inputs.commitments.push(commit(&ballots[index])); - inputs.slots.push(target); - } - (inputs, ballots) - } - - fn selected_for(pattern: &[bool]) -> (Vec<(Vec, u64)>, Vec>, usize) { - let (inputs, ballots) = sequence_for_one_slot(pattern); - let params = decode_bfv_params(&inputs.params).unwrap(); - let mut builder = MerkleTreeBuilder::new(inputs.ciphertexts.len()); - let selected = builder.compute_leaf_hashes(&inputs, ¶ms).unwrap(); - (selected, ballots, builder.leaf_hashes.len()) - } - - /// Every entry sequence for one slot must resolve to that slot's most recent honest entry, and - /// every entry must stay in the tree regardless. - /// - /// The case that matters most is honest → poisoned → honest: selection has to move *forward* - /// to the later honest entry, not fall back to the first one. - #[test] - fn selection_picks_the_latest_honest_entry_in_every_sequence() { - // (pattern, expected selected index, description) - let cases: &[(&[bool], Option, &str)] = &[ - (&[true], Some(0), "a single honest entry"), - (&[false], None, "a single poisoned entry contributes nothing"), - (&[true, false], Some(0), "poisoned append falls back"), - (&[false, true], Some(1), "an honest entry after a poisoned one wins"), - (&[true, true], Some(1), "an honest re-vote replaces"), - (&[true, false, true], Some(2), "honest, poisoned, honest picks the last honest"), - (&[true, true, false], Some(1), "poisoned at the end falls back one step"), - (&[true, false, false], Some(0), "two poisoned appends still fall back to the first"), - (&[false, false, true], Some(2), "honest after two poisoned wins"), - (&[false, true, false], Some(1), "honest in the middle survives a later poison"), - (&[true, false, true, false], Some(2), "falls back past a trailing poison"), - (&[false, false, false], None, "an all-poisoned slot contributes nothing"), - ]; - - for (pattern, expected, description) in cases { - let (selected, ballots, leaves) = selected_for(pattern); - - assert_eq!( - leaves, - pattern.len(), - "every entry must stay in the tree ({description})" - ); - - match expected { - Some(index) => { - assert_eq!(selected.len(), 1, "one entry per slot ({description})"); - assert_eq!( - selected[0].0, ballots[*index], - "expected entry {index} ({description})" - ); - } - None => assert!( - selected.is_empty(), - "no entry should be selected ({description})" - ), - } - } - } - - /// Sequences interleaved across slots must not bleed into one another: each slot resolves on - /// its own entries, in tree order. - #[test] - fn interleaved_slots_resolve_independently() { - let (mut a, ballots_a) = sequence_for_one_slot(&[true, false]); - let (b, ballots_b) = sequence_for_one_slot(&[false, true]); - let other = slot(11); - - // Interleave: A-honest, B-poisoned, A-poisoned, B-honest. - let order = [(0usize, false), (0, true), (1, false), (1, true)]; - let mut inputs = a.clone(); - inputs.ciphertexts.clear(); - inputs.commitments.clear(); - inputs.slots.clear(); - for (position, (index, from_b)) in order.iter().enumerate() { - let source = if *from_b { &b } else { &a }; - inputs - .ciphertexts - .push((source.ciphertexts[*index].0.clone(), position as u64)); - inputs.commitments.push(source.commitments[*index]); - inputs.slots.push(if *from_b { other } else { slot(9) }); - } - a.ciphertexts.clear(); - - let params = decode_bfv_params(&inputs.params).unwrap(); - let mut builder = MerkleTreeBuilder::new(4); - let selected = builder.compute_leaf_hashes(&inputs, ¶ms).unwrap(); - - assert_eq!(builder.leaf_hashes.len(), 4, "all four entries stay in the tree"); - assert_eq!(selected.len(), 2, "one entry per slot"); - // Ordered by tree position: slot 9's honest entry is at 0, slot 11's at 3. - assert_eq!(selected[0].0, ballots_a[0]); - assert_eq!(selected[1].0, ballots_b[1]); + assert_eq!(all_inputs(&entries), vec![0, 1, 2]); } } diff --git a/crates/compute-provider/src/compute_manager.rs b/crates/compute-provider/src/compute_manager.rs index 0671803a88..2aa55c8ebe 100644 --- a/crates/compute-provider/src/compute_manager.rs +++ b/crates/compute-provider/src/compute_manager.rs @@ -5,7 +5,7 @@ // or FITNESS FOR A PARTICULAR PURPOSE. use crate::ciphertext_output::ComputeProvider; -use crate::compute_input::{ComputeInput, FHEInputs}; +use crate::compute_input::{ComputeInput, FHEInputs, PublishedData}; use crate::FHEProcessor; pub struct ComputeManager