Documentation Alignment issue
Following: https://jolt.a16zcrypto.com/usage/quickstart.html#project-tour
Under Project Tour,
The book suggested that the src/main.rs looks like
pub fn main() {
let (prove_fib, verify_fib) = guest::build_fib();
let (output, proof) = prove_fib(50);
let is_valid = verify_fib(proof);
println!("output: {output}");
println!("valid: {is_valid}");
}
But when generating new project with jolt new <PROJECT_NAME>, src/main.rs looks like
pub fn main() {
let target_dir = "/tmp/jolt-guest-targets";
let program = guest::compile_fib(target_dir);
let prover_preprocessing = guest::preprocess_prover_fib(&program);
let verifier_preprocessing = guest::preprocess_verifier_fib(&program);
let prove_fib = guest::build_prover_fib(program, prover_preprocessing);
let verify_fib = guest::build_verifier_fib(verifier_preprocessing);
let (output, proof) = prove_fib(50);
let is_valid = verify_fib(50, output, proof);
println!("output: {output}");
println!("valid: {is_valid}");
}
I'm unable to use build_fib as shown in the newer version of Jolt.
Am I misled by the different version of Jolt as it seems to me the documentation provides a much simplified manner to develop ZKP as compared to the version it currently presents itself.
Invalid verification method
The method verify_fib(proof) is replaced by the new verify_fib(50, output, proof) which doesn't make sense as the private input for the proof is required for the verification. This doesn't align what how ZKP are supposed to work as mentioned in Microsoft's Spartan proving the knowledge of a secret s such that H(s) == d for a public d
Documentation Alignment issue
Following: https://jolt.a16zcrypto.com/usage/quickstart.html#project-tour
Under Project Tour,
The book suggested that the
src/main.rslooks likeBut when generating new project with
jolt new <PROJECT_NAME>,src/main.rslooks likeI'm unable to use
build_fibas shown in the newer version of Jolt.Am I misled by the different version of Jolt as it seems to me the documentation provides a much simplified manner to develop ZKP as compared to the version it currently presents itself.
Invalid verification method
The method
verify_fib(proof)is replaced by the newverify_fib(50, output, proof)which doesn't make sense as the private input for the proof is required for the verification. This doesn't align what how ZKP are supposed to work as mentioned in Microsoft's Spartanproving the knowledge of a secret s such that H(s) == d for a public d