From 039d2fae62a7ec7d66c40d73cc1a47c65bf87c23 Mon Sep 17 00:00:00 2001 From: Brecht Devos Date: Sun, 5 May 2024 03:04:50 +0200 Subject: [PATCH] fix(lib): temporarily disable kzg check in sgx/sp1 provers (#157) * temporarily disable kzg check in sgx/sp1 provers * fix typo --- host/config/config.json | 4 ++-- lib/Cargo.toml | 3 +++ lib/src/protocol_instance.rs | 29 +++++++++++++++++++---------- provers/risc0/guest/Cargo.toml | 2 +- provers/sgx/guest/Cargo.toml | 2 +- provers/sp1/guest/Cargo.toml | 2 +- 6 files changed, 27 insertions(+), 15 deletions(-) diff --git a/host/config/config.json b/host/config/config.json index cb4bd32b..ebcfa71a 100644 --- a/host/config/config.json +++ b/host/config/config.json @@ -7,8 +7,8 @@ "prover_args": { "sgx": { "instance_id": 456, - "setup": false, - "bootstrap": false, + "setup": true, + "bootstrap": true, "prove": true, "input_path": null }, diff --git a/lib/Cargo.toml b/lib/Cargo.toml index 2b80ed97..371625de 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -55,3 +55,6 @@ std = [ "dep:serde_with", # "dep:tokio", ] +sgx = [] +sp1 = [] +risc0 = [] diff --git a/lib/src/protocol_instance.rs b/lib/src/protocol_instance.rs index e85ee32b..e9a87ba1 100644 --- a/lib/src/protocol_instance.rs +++ b/lib/src/protocol_instance.rs @@ -95,16 +95,25 @@ pub fn assemble_protocol_instance( ) -> Result { let blob_used = input.taiko.block_proposed.meta.blobUsed; let tx_list_hash = if blob_used { - let mut data = Vec::from(KZG_TRUST_SETUP_DATA); - let kzg_settings = KzgSettings::from_u8_slice(&mut data); - let kzg_commit = KzgCommitment::blob_to_kzg_commitment( - &Blob::from_bytes(&input.taiko.tx_data.as_slice()).unwrap(), - &kzg_settings, - ) - .unwrap(); - let versioned_hash = kzg_to_versioned_hash(kzg_commit); - assert_eq!(versioned_hash, input.taiko.tx_blob_hash.unwrap()); - versioned_hash + #[cfg(not(any(feature = "sgx", feature = "sp1")))] + { + println!("kzg check enabled!"); + let mut data = Vec::from(KZG_TRUST_SETUP_DATA); + let kzg_settings = KzgSettings::from_u8_slice(&mut data); + let kzg_commit = KzgCommitment::blob_to_kzg_commitment( + &Blob::from_bytes(&input.taiko.tx_data.as_slice()).unwrap(), + &kzg_settings, + ) + .unwrap(); + let versioned_hash = kzg_to_versioned_hash(kzg_commit); + assert_eq!(versioned_hash, input.taiko.tx_blob_hash.unwrap()); + versioned_hash + } + #[cfg(any(feature = "sgx", feature = "sp1"))] + { + println!("kzg check disabled!"); + input.taiko.tx_blob_hash.unwrap() + } } else { TxHash::from(keccak(input.taiko.tx_data.as_slice())) }; diff --git a/provers/risc0/guest/Cargo.toml b/provers/risc0/guest/Cargo.toml index 3f3eb274..ee348132 100644 --- a/provers/risc0/guest/Cargo.toml +++ b/provers/risc0/guest/Cargo.toml @@ -7,7 +7,7 @@ edition = "2021" [dependencies] raiko-primitives = { path = "../../../primitives" } -raiko-lib = { path = "../../../lib", features = ["std"] } +raiko-lib = { path = "../../../lib", features = ["std", "risc0"] } risc0-zkvm = { version = "0.21.0", default-features = false, features = ['std', "getrandom"] } [dev-dependencies] diff --git a/provers/sgx/guest/Cargo.toml b/provers/sgx/guest/Cargo.toml index 2463c0be..883b0c89 100644 --- a/provers/sgx/guest/Cargo.toml +++ b/provers/sgx/guest/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -raiko-lib = { workspace = true } +raiko-lib = { workspace = true, features = ["sgx"] } raiko-primitives = { workspace = true } tokio = { workspace = true } anyhow = { workspace = true } diff --git a/provers/sp1/guest/Cargo.toml b/provers/sp1/guest/Cargo.toml index 088953c5..3f67d911 100644 --- a/provers/sp1/guest/Cargo.toml +++ b/provers/sp1/guest/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -raiko-lib = { path = "../../../lib", features = ["std"] } +raiko-lib = { path = "../../../lib", features = ["std", "sp1"] } sp1-zkvm ={ git = "https://github.com/succinctlabs/sp1.git", branch = "main" } [dev-dependencies]