You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
KZG verification is too slow to use without accelerator/coprocessor/precompile/circuit if we just compile https://github.com/ethereum/c-kzg-4844 in a zkVM.
One way to solve this is by using the "proof-of-equivalence" technique mentioned in:
letmut input = [0;4096*32];// env::read_slice(&mut input);let(g1, g2) = parse_kzg_trusted_setup(&KZG_TRUST_SETUP).unwrap();// TODO: do something with the input// uncomment any of following line, you will see the error message// undefined symbol: malloclet kzg_settings = KzgSettings::load_trusted_setup(&g1.0,&g2.0).unwrap();let kzg_commit = KzgCommitment::blob_to_kzg_commitment(&input.into(),&kzg_settings).unwrap();let versioned_hash = kzg_to_versioned_hash(
Describe the feature request
KZG verification is too slow to use without accelerator/coprocessor/precompile/circuit if we just compile https://github.com/ethereum/c-kzg-4844 in a zkVM.
One way to solve this is by using the "proof-of-equivalence" technique mentioned in:
For zkVMs, we should like use Poseidon2 on top of BabyBear (assuming its the prover field) as the hash function for efficiency.
This is accelerated:
zkEVM
In the ZK-EVM, the equivalent circuit is: taikoxyz/zkevm-circuits#106
The text was updated successfully, but these errors were encountered: