On the realization of a practical zkWasm implementation

We have a really fast working zkWasm that NovaNet will be open sourcing in the coming months.

It is based on the SuperNova folding scheme SuperNova: Proving universal machine executions without universal circuits .

This is an open-thread to collect ideas on how it could be useful for canisters and the IC in general.

I know that @lastmjs had some ideas in the past.

Previous zkWasm implementations relied on heavy mathematical recursion at each step (Halo, FRI), this overhead made them not useful in practice. With better memory consistency checks and cutting edge folding scheme we have been able to get the proof generation time for 2 million opcodes to under 30s.

Now that we can do this, what should we do with it?