From 6ea59a2625fe63b24c1250b2c867a0fee00d5163 Mon Sep 17 00:00:00 2001 From: 0xvikasrushi <0xvikas@gmail.com> Date: Sun, 13 Oct 2024 10:37:23 +0000 Subject: [PATCH] chore: prover setup --- Cargo.lock | 71 ++++++++++----------- elf/riscv32im-succinct-zkvm-elf | Bin 244100 -> 281544 bytes lib/Cargo.toml | 4 +- lib/src/lib.rs | 20 +----- lib/src/sxg.rs | 80 +++++++++++++----------- lib/src/{constants.rs => test_cases.rs} | 0 program/Cargo.toml | 4 +- program/src/main.rs | 63 ++----------------- script/Cargo.toml | 8 +-- script/src/bin/evm.rs | 28 ++++----- script/src/bin/main.rs | 40 ++++-------- 11 files changed, 119 insertions(+), 199 deletions(-) rename lib/src/{constants.rs => test_cases.rs} (100%) diff --git a/Cargo.lock b/Cargo.lock index 4e78457..8781d32 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1727,41 +1727,6 @@ version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" -[[package]] -name = "fibonacci-lib" -version = "0.1.0" -dependencies = [ - "alloy-sol-types", - "hex", - "p256", - "sha2", -] - -[[package]] -name = "fibonacci-program" -version = "0.1.0" -dependencies = [ - "alloy-sol-types", - "fibonacci-lib", - "hex", - "sp1-zkvm", -] - -[[package]] -name = "fibonacci-script" -version = "0.1.0" -dependencies = [ - "alloy-sol-types", - "clap", - "fibonacci-lib", - "hex", - "serde", - "serde_json", - "sp1-helper", - "sp1-sdk", - "tracing", -] - [[package]] name = "fixed-hash" version = "0.8.0" @@ -2599,6 +2564,17 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" +[[package]] +name = "lib" +version = "0.1.0" +dependencies = [ + "alloy-sol-types", + "hex", + "p256", + "serde", + "sha2", +] + [[package]] name = "libc" version = "0.2.155" @@ -5263,6 +5239,31 @@ dependencies = [ "zeroize", ] +[[package]] +name = "sxg-program" +version = "0.1.0" +dependencies = [ + "alloy-sol-types", + "hex", + "lib", + "sp1-zkvm", +] + +[[package]] +name = "sxg-script" +version = "0.1.0" +dependencies = [ + "alloy-sol-types", + "clap", + "hex", + "lib", + "serde", + "serde_json", + "sp1-helper", + "sp1-sdk", + "tracing", +] + [[package]] name = "syn" version = "1.0.109" diff --git a/elf/riscv32im-succinct-zkvm-elf b/elf/riscv32im-succinct-zkvm-elf index 46eafa69584d92712054ef9d069ee278f373436e..c1743593471dbf2f276eca346124b36706d984fb 100755 GIT binary patch literal 281544 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

w)v~%~_y66jQjYE5;LOa;eqa50r2W0bSvLhxg$7 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 z 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

O!KwpqqOkef_7Pu^AmJqf|&A<#FO^1-v~>zkY# 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

y1dQe}}) zL{(O!9uo90aTY#0|NnN8`uR*a&wcAZ`>+OFJInU@d$&tqCM=6b($(R3HD=QE=0ykn z*Z77u?Jg+kX1(E@J8c7jzRu}+|1$NErO^vG-Dgs0s4$+qM{qw84acG>JRfv()2IX8 z5trAgjdxe#^czg zpRA6C%Z9tpj@yP3v2>;e4}4>xa5$Aw(>6BnS7oAQ_=q8jE#R5>aNa*vI16h11KVM1 z2tE_Tu*7vnO;xDO8R82Z;p`|1v~iMwKnZ8Wp^pDYKUU^I;2!70ynmBZ-YhUzO_h)O z0!y3#rQiAk-PNSoXd{PzzMDAx?7)=2MgzS!Z;S>aK4*F~FluvI zJkZj1S`7;H!o5K0pg?ygkqkVud08s(mOUU@b&_FL4lh$cRV35({|bq!@70p;J`HJFFgW%ob!eTzH#n3 zIq+*Ic}k$8f78=GXWS`)BM#s6RXbll8?PNk2YNSKl(Ma2=k7uFVNS*9K)XZNfHyjp l`zy<}&7Ik!1Kpa9c?&-TrgYXqr^~(I-k(XrJcCJv{|CHYI9&h$ diff --git a/lib/Cargo.toml b/lib/Cargo.toml index 8b07985..906432d 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "fibonacci-lib" +name = "lib" version = "0.1.0" edition = "2021" @@ -8,7 +8,7 @@ alloy-sol-types = { workspace = true } sha2 = { version = "0.10", default-features = false } p256 = "0.13.2" hex = "0.4.3" - +serde = { version = "1.0",features = ["derive"] } [patch.crates-io] sha2-v0-10-8 = { git = "https://github.com/sp1-patches/RustCrypto-hashes", package = "sha2", branch = "patch-v0.10.8" } diff --git a/lib/src/lib.rs b/lib/src/lib.rs index 2d25146..86ec41d 100644 --- a/lib/src/lib.rs +++ b/lib/src/lib.rs @@ -1,5 +1,5 @@ -pub mod constants; pub mod sxg; +pub mod test_cases; use alloy_sol_types::sol; use p256::ecdsa::{signature::Verifier, Signature, VerifyingKey}; @@ -8,24 +8,10 @@ use sha2::{Digest, Sha256}; sol! { /// The public values encoded as a struct that can be easily deserialized inside Solidity. struct PublicValuesStruct { - uint32 n; - uint32 a; - uint32 b; + uint32 result; } } -/// Compute the n'th fibonacci number (wrapping around on overflows), using normal Rust code. -pub fn fibonacci(n: u32) -> (u32, u32) { - let mut a = 0u32; - let mut b = 1u32; - for _ in 0..n { - let c = a.wrapping_add(b); - a = b; - b = c; - } - (a, b) -} - pub fn sha256_hash(bytes: &[u8]) -> [u8; 32] { let mut hasher = Sha256::new(); hasher.update(bytes); @@ -69,7 +55,7 @@ pub fn verify_ecdsa_p256_r_s( #[cfg(test)] mod tests { - use constants::FINAL_PAYLOAD; + use test_cases::FINAL_PAYLOAD; use super::*; diff --git a/lib/src/sxg.rs b/lib/src/sxg.rs index 5ea0f44..5199939 100644 --- a/lib/src/sxg.rs +++ b/lib/src/sxg.rs @@ -1,5 +1,11 @@ -use crate::{sha256_hash, verify_ecdsa_p256_r_s}; - +use crate::{ + sha256_hash, + test_cases::{DATA_TO_VERIFY, FINAL_PAYLOAD, PAYLOAD}, + verify_ecdsa_p256_r_s, +}; +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Serialize, Deserialize)] pub struct SXGInput { pub final_payload: Vec, pub data_to_verify: Vec, @@ -78,43 +84,32 @@ fn base64_encode_mice(input: &[u8]) -> String { result } -pub fn sxg_verify(input: SXGInput) -> Result> { - let SXGInput { - final_payload, - data_to_verify, - data_to_verify_start_index, - integrity_start_index, - payload, - r, - s, - px, - py, - } = input; - - if payload[data_to_verify_start_index..data_to_verify_start_index + data_to_verify.len()] - != data_to_verify - { - return Ok(false); - } - - let mice = base64_encode_mice(&calculate_integrity(&payload, 16384)); - let mice_bytes = mice.as_bytes(); +impl SXGInput { + pub fn verify(&self) -> Result> { + if self.payload[self.data_to_verify_start_index + ..self.data_to_verify_start_index + self.data_to_verify.len()] + != self.data_to_verify + { + return Ok(false); + } - if final_payload[integrity_start_index..integrity_start_index + mice_bytes.len()] - != mice_bytes[..] - { - return Ok(false); - } + let mice = base64_encode_mice(&calculate_integrity(&self.payload, 16384)); + let mice_bytes = mice.as_bytes(); - Ok(verify_ecdsa_p256_r_s(&final_payload, &r, &s, &px, &py).is_ok()) -} + if self.final_payload + [self.integrity_start_index..self.integrity_start_index + mice_bytes.len()] + != mice_bytes[..] + { + return Ok(false); + } -#[cfg(test)] -mod tests { - use crate::constants::{DATA_TO_VERIFY, FINAL_PAYLOAD, PAYLOAD}; + Ok( + verify_ecdsa_p256_r_s(&self.final_payload, &self.r, &self.s, &self.px, &self.py) + .is_ok(), + ) + } - #[test] - fn test_sxg() { + pub fn default_testcase() -> SXGInput { let final_payload = FINAL_PAYLOAD; let data_to_verify = DATA_TO_VERIFY; let payload = PAYLOAD; @@ -134,7 +129,7 @@ mod tests { let px = hex::decode(px).unwrap(); let py = hex::decode(py).unwrap(); - let input = super::SXGInput { + SXGInput { final_payload: final_payload.to_vec(), data_to_verify: data_to_verify.to_vec(), data_to_verify_start_index, @@ -144,8 +139,17 @@ mod tests { s: s.try_into().unwrap(), px: px.try_into().unwrap(), py: py.try_into().unwrap(), - }; + } + } +} - assert!(super::sxg_verify(input).unwrap()); +#[cfg(test)] +mod tests { + use crate::sxg::SXGInput; + + #[test] + fn test_sxg() { + let default_input = SXGInput::default_testcase(); + assert!(default_input.verify().unwrap()); } } diff --git a/lib/src/constants.rs b/lib/src/test_cases.rs similarity index 100% rename from lib/src/constants.rs rename to lib/src/test_cases.rs diff --git a/program/Cargo.toml b/program/Cargo.toml index 94ed674..0e2bb81 100644 --- a/program/Cargo.toml +++ b/program/Cargo.toml @@ -1,10 +1,10 @@ [package] version = "0.1.0" -name = "fibonacci-program" +name = "sxg-program" edition = "2021" [dependencies] alloy-sol-types = { workspace = true } sp1-zkvm = "2.0.0" -fibonacci-lib = { path = "../lib" } +lib = { path = "../lib" } hex = "0.4.3" diff --git a/program/src/main.rs b/program/src/main.rs index 98235ab..68fc271 100644 --- a/program/src/main.rs +++ b/program/src/main.rs @@ -1,66 +1,13 @@ -//! A simple program that takes a number `n` as input, and writes the `n-1`th and `n`th fibonacci -//! number as an output. - -// These two lines are necessary for the program to properly compile. -// -// Under the hood, we wrap your main function with some extra code so that it behaves properly -// inside the zkVM. #![no_main] sp1_zkvm::entrypoint!(main); use alloy_sol_types::SolType; -use fibonacci_lib::constants::{DATA_TO_VERIFY, FINAL_PAYLOAD, PAYLOAD}; -use fibonacci_lib::sxg::{sxg_verify, SXGInput}; -use fibonacci_lib::{fibonacci, sha256_hash, verify_ecdsa_p256_signature, PublicValuesStruct}; -use hex; +use lib::sxg::SXGInput; +use lib::PublicValuesStruct; pub fn main() { - // Read an input to the program. - // - // Behind the scenes, this compiles down to a custom system call which handles reading inputs - // from the prover. - - let n = sp1_zkvm::io::read::(); - - let (a, b) = fibonacci(n); - - let final_payload = FINAL_PAYLOAD; - let data_to_verify = DATA_TO_VERIFY; - let payload = PAYLOAD; - - let data_to_verify_start_index = 0; - let integrity_start_index = 694 / 2; - - let px = "45E3943B0705F9EF69B53A4EFB8C668E6A9F90124E9BCF917662CFADEA56C0C1"; - let py = "F3703834F92F6FE70A004BA4098D079BFB5F927E042991EFD5A1572E8F9D39D6"; - - let r = "9970818CBCA38C196795EEAD295BDED48311702DF7DDB0C2BB448276894C393D"; - let s = "729B2F9229D545A553F0F7CBC1792E9A6185E539DBF667FE5BC38D673D90C014"; - - let r = hex::decode(r).unwrap(); - let s = hex::decode(s).unwrap(); - - let px = hex::decode(px).unwrap(); - let py = hex::decode(py).unwrap(); - - let input = SXGInput { - final_payload: final_payload.to_vec(), - data_to_verify: data_to_verify.to_vec(), - data_to_verify_start_index, - integrity_start_index, - payload: payload.to_vec(), - r: r.try_into().unwrap(), - s: s.try_into().unwrap(), - px: px.try_into().unwrap(), - py: py.try_into().unwrap(), - }; - - let result = sxg_verify(input).unwrap(); - - // Encode the public values of the program. - let bytes = PublicValuesStruct::abi_encode(&PublicValuesStruct { n, a, b }); - - // Commit to the public values of the program. The final proof will have a commitment to all the - // bytes that were committed to. + let sxg_input = sp1_zkvm::io::read::(); + let result = sxg_input.verify().unwrap() as u32; + let bytes = PublicValuesStruct::abi_encode(&PublicValuesStruct { result }); sp1_zkvm::io::commit_slice(&bytes); } diff --git a/script/Cargo.toml b/script/Cargo.toml index 58b7e81..775e101 100644 --- a/script/Cargo.toml +++ b/script/Cargo.toml @@ -1,11 +1,11 @@ [package] version = "0.1.0" -name = "fibonacci-script" +name = "sxg-script" edition = "2021" -default-run = "fibonacci" +default-run = "sxg" [[bin]] -name = "fibonacci" +name = "sxg" path = "src/bin/main.rs" [[bin]] @@ -20,7 +20,7 @@ clap = { version = "4.0", features = ["derive", "env"] } tracing = "0.1.40" hex = "0.4.3" alloy-sol-types = { workspace = true } -fibonacci-lib = { path = "../lib" } +lib = { path = "../lib" } [build-dependencies] sp1-helper = "2.0.0" diff --git a/script/src/bin/evm.rs b/script/src/bin/evm.rs index f694f61..389e088 100644 --- a/script/src/bin/evm.rs +++ b/script/src/bin/evm.rs @@ -12,20 +12,18 @@ use alloy_sol_types::SolType; use clap::{Parser, ValueEnum}; -use fibonacci_lib::PublicValuesStruct; +use lib::{sxg::SXGInput, PublicValuesStruct}; use serde::{Deserialize, Serialize}; use sp1_sdk::{HashableKey, ProverClient, SP1ProofWithPublicValues, SP1Stdin, SP1VerifyingKey}; use std::path::PathBuf; /// The ELF (executable and linkable format) file for the Succinct RISC-V zkVM. -pub const FIBONACCI_ELF: &[u8] = include_bytes!("../../../elf/riscv32im-succinct-zkvm-elf"); +pub const SXG_ELF: &[u8] = include_bytes!("../../../elf/riscv32im-succinct-zkvm-elf"); /// The arguments for the EVM command. #[derive(Parser, Debug)] #[clap(author, version, about, long_about = None)] struct EVMArgs { - #[clap(long, default_value = "20")] - n: u32, #[clap(long, value_enum, default_value = "groth16")] system: ProofSystem, } @@ -40,10 +38,8 @@ enum ProofSystem { /// A fixture that can be used to test the verification of SP1 zkVM proofs inside Solidity. #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] -struct SP1FibonacciProofFixture { - a: u32, - b: u32, - n: u32, +struct SP1SXGProofFixture { + result: u32, vkey: String, public_values: String, proof: String, @@ -60,13 +56,15 @@ fn main() { let client = ProverClient::new(); // Setup the program. - let (pk, vk) = client.setup(FIBONACCI_ELF); + let (pk, vk) = client.setup(SXG_ELF); // Setup the inputs. let mut stdin = SP1Stdin::new(); - stdin.write(&args.n); - println!("n: {}", args.n); + // TestCase from crema.sh + let sxg_input = SXGInput::default_testcase(); + stdin.write(&sxg_input); + println!("Proof System: {:?}", args.system); // Generate the proof based on the selected proof system. @@ -87,13 +85,11 @@ fn create_proof_fixture( ) { // Deserialize the public values. let bytes = proof.public_values.as_slice(); - let PublicValuesStruct { n, a, b } = PublicValuesStruct::abi_decode(bytes, false).unwrap(); + let PublicValuesStruct { result } = PublicValuesStruct::abi_decode(bytes, false).unwrap(); // Create the testing fixture so we can test things end-to-end. - let fixture = SP1FibonacciProofFixture { - a, - b, - n, + let fixture = SP1SXGProofFixture { + result, vkey: vk.bytes32().to_string(), public_values: format!("0x{}", hex::encode(bytes)), proof: format!("0x{}", hex::encode(proof.bytes())), diff --git a/script/src/bin/main.rs b/script/src/bin/main.rs index b7fd998..900c1ef 100644 --- a/script/src/bin/main.rs +++ b/script/src/bin/main.rs @@ -1,5 +1,4 @@ -//! An end-to-end example of using the SP1 SDK to generate a proof of a program that can be executed -//! or have a core proof generated. +//! An end-to-end example of using the SP1 SDK to generate a proof of a program that verifies SXG input. //! //! You can run this script using the following command: //! ```shell @@ -12,11 +11,11 @@ use alloy_sol_types::SolType; use clap::Parser; -use fibonacci_lib::PublicValuesStruct; +use lib::{sxg::SXGInput, PublicValuesStruct}; use sp1_sdk::{ProverClient, SP1Stdin}; /// The ELF (executable and linkable format) file for the Succinct RISC-V zkVM. -pub const FIBONACCI_ELF: &[u8] = include_bytes!("../../../elf/riscv32im-succinct-zkvm-elf"); +pub const SXG_ELF: &[u8] = include_bytes!("../../../elf/riscv32im-succinct-zkvm-elf"); /// The arguments for the command. #[derive(Parser, Debug)] @@ -27,9 +26,6 @@ struct Args { #[clap(long)] prove: bool, - - #[clap(long, default_value = "20")] - n: u32, } fn main() { @@ -43,39 +39,30 @@ fn main() { std::process::exit(1); } - // Setup the prover client. let client = ProverClient::new(); - // Setup the inputs. let mut stdin = SP1Stdin::new(); - stdin.write(&args.n); - println!("n: {}", args.n); + // TestCase from crema.sh + let sxg_input = SXGInput::default_testcase(); + + stdin.write(&sxg_input); if args.execute { - // Execute the program - let (output, report) = client.execute(FIBONACCI_ELF, stdin).run().unwrap(); + let (output, report) = client.execute(SXG_ELF, stdin).run().unwrap(); println!("Program executed successfully."); - // Read the output. let decoded = PublicValuesStruct::abi_decode(output.as_slice(), true).unwrap(); - let PublicValuesStruct { n, a, b } = decoded; - println!("n: {}", n); - println!("a: {}", a); - println!("b: {}", b); + let PublicValuesStruct { result } = decoded; + println!("SXG verification result: {}", result); - let (expected_a, expected_b) = fibonacci_lib::fibonacci(n); - assert_eq!(a, expected_a); - assert_eq!(b, expected_b); - println!("Values are correct!"); + assert_eq!(result, 1); + println!("SXG verification is successful!"); - // Record the number of cycles executed. println!("Number of cycles: {}", report.total_instruction_count()); } else { - // Setup the program for proving. - let (pk, vk) = client.setup(FIBONACCI_ELF); + let (pk, vk) = client.setup(SXG_ELF); - // Generate the proof let proof = client .prove(&pk, stdin) .run() @@ -87,7 +74,6 @@ fn main() { .save("proof-with-io.json") .expect("saving proof failed"); - // Verify the proof. client.verify(&proof, &vk).expect("failed to verify proof"); println!("Successfully verified proof!"); }