Cartesi Machine execution provable using ZK using RiscZero

(This is started, but paused work by Zippie team/Compute unit)

Talk about this work:

What if you could prove the execution of a Cartesi Machine with a Zero Knowledge Proof (ZKP)?

A 200 byte-ish proof that indeed a computation started in a particular point and ended in a particular point? Without revealing the contents of the execution, or optimistic proving needing week(s) to settle. That is possible to prove to an Ethereum L1, or other Cartesi Machines.

Value brought to users: Ability to do parts of whole of execution of a Cartesi Machine without revealing data contents to others. There is also dependencies by some Dave variants that will need this.

We suggest the direction that we do this with RiscZero technology and we did a proof of concept with this, re-using the existing Cartesi Machine code.


I personally believe this is a must-have in the long term. As ZK technology progresses (and it has done so dramatically in the last years), I expect that over time longer and longer stretches of Cartesi computations would be possible with ZK. Moreover, as you said Dave will most probably need this too, so it also has critical importance in that respect.

Finally, I see that many applications would love to have some level of privacy that is very hard to achieve with Optimistic Rollups. I am not an expert in the field, but to me it feels like allowing DApps to use ZK private inputs would be a great thing to have!