@sorpaas I think what op is trying to build is a rust programming library for Twisted ElGama(targeted against people that want to build a pallet around it? its not no-std which is requeired for smart contracts on polkavm…), its not like Noir or Circom where the user defines a zk circuit and it generates a solidity verifier contract that users can upload and use with their smart contracts, but rather a generic rust library for this, but since most zk dapps use Groth16, Halo2 and/or plonk(aka other zk systems). Since this seems to be ment as an extra layer on opengov I want to ask:
How are you planning on getting this pallet into the chains that people vote on?
how can it be byzantine fault tolerant when its not quantum safe?
Have you made a client proof generator that uses the browser with wasm or similar to check client side proofs?
Looks like you are using a std random number generator, not compatible with polkavm, how are you thinking of putting your application into production? will you have a pallet with a custom rng or will you hack one together that works with polkavm?
Do you have a PoC of this on some local substrate chain?