Putting the Halo2 Verifier by PSE into CosmWasm allows the access of such technology to over 30 Cosmos Chains.
To be able to compile the Halo2 verifier into a wasm file that can be put onchain - without rand
is useful for onchain verification for any chains that uses wasm vm as smart contract vm.
CosmWasm is widely adopted by 30 Cosmos Chains as a smart contract framework.
This project aims to use the Halo2 verifier on CosmWasm.
This project uses the pse - halo2 code (proofs, curves etc) and Cosmwasm framework. Noir was used as a DSL to create the artifacts to feed into a binary to create CosmWasm compatible types (Binary).
In the process of doing this, we found out that provers and verifiers are usually written in the same lib and have mixed dependencies, this made it extremely difficult to isolate the rand
functions and therefore given the time, the team was not able to get the verifier onchain.