This repository contains the Rust implementation and benchmark harness used for the ConvProof experiments. It is prepared as an anonymous artifact release for review. The repository includes the core ConvProof implementation, KZG/AugKZG baselines, a native Rust AMT-style evaluation-proof baseline, benchmark drivers, final figure data, and scripts for reproducing the main experiments.
.
├── Cargo.toml # Rust workspace
├── Cargo.lock # Locked dependency versions
├── convproof_rust/ # ConvProof implementation
├── kzg/ # KZG baseline and BLS12-381 backend helpers
├── benchmark_harness/ # Benchmark CLI and scheme adapters
├── scripts/ # Convenience scripts for key experiments
├── figures/ # TikZ figure sources used in the paper
└── results_used_in_paper/ # Curated CSV outputs used to draw paper figures
The original external AMT C++ repository is not required for the artifact. The AMT baseline used by the benchmark harness is implemented natively in Rust on the same BLS12-381 backend as the other schemes.
Recommended environment:
- Ubuntu 22.04/24.04 or a recent Linux distribution
- Rust stable toolchain
build-essential,pkg-config,libssl-dev,clang,cmake,python3
Install dependencies on Ubuntu:
sudo apt update
sudo apt install -y build-essential pkg-config libssl-dev clang cmake git curl python3 ca-certificates time
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "$HOME/.cargo/env"
rustup default stablecargo build -p benchmark_harness --releaseShow available benchmark commands:
./target/release/benchmark --helpTHREADS=1 bash scripts/run_static_dense_single.shTHREADS=1 bash scripts/run_degree_dense_single.shTHREADS=128 bash scripts/run_large_scale_parallel.shAdjust THREADS to match the machine. For smaller machines, use a lower value.
RUNS=3 THREADS=1 bash scripts/run_dynamic_workload_N1024_K10_single.shThis script runs three single-thread executions and writes raw and processed CSV outputs under:
results/dynamic_workload_runs/<run_id>/
The processed files are:
processed/dynamic_workload_N1024_K10_median_cumulative.csv
processed/dynamic_workload_N1024_K10_summary.csv
The directory results_used_in_paper/ contains curated CSVs used for the figures reported in the paper. It intentionally excludes machine logs, server hostnames, absolute paths, and intermediate process notes.
This release is prepared for double-blind review. It intentionally omits:
- author names, email addresses, phone numbers, and institution-specific identifiers;
- cloud hostnames, IP addresses, absolute local or server-specific paths;
- raw
nohuplogs and process notes; .githistories from local working directories.
Before making the repository public after review, add the final paper citation, choose a top-level license, and replace this anonymous README with the camera-ready artifact metadata.
The kzg/ subtree includes baseline code and backend helpers used by the benchmark harness. Original third-party licenses retained in the subtree continue to apply to those components.