The first prototype should ensure compatibility with risc0 and sp1 based rollups that use groth16 (and the BN254 curve). We just need to have a dummy program (this doesn't need to have the correct public inputs and prove elements within a state tree)
Later prototypes should prove more broadly bridging between a Sovereign SDK testing app and Celestia.
Summary
To provide bridging for ZK based rollups, we need to prototype a snark based ZK verifier that complies with the IBC client interface
This should ideally use the gnark library.
The first prototype should ensure compatibility with risc0 and sp1 based rollups that use groth16 (and the BN254 curve). We just need to have a dummy program (this doesn't need to have the correct public inputs and prove elements within a state tree)
Later prototypes should prove more broadly bridging between a Sovereign SDK testing app and Celestia.