2./ The comparison of performance is skewed by comparing *interpreted* and *executable* code. Contracts are *executable* (from proof perspective) are in zk-EVMs, not zk-VMs.
The reason zk-VMs are comparable with zk-EVMs is because a lot of workload are precompiles anyway.
3./ In order to remove interpretation overhead but still have some kind of maintainability, it is desirable to build a minimal MMU so that every contract can be compiled to executable.
4./ Execution client then sits on top of it as a kind of an operating system kernel, handling finer details.
In fact, current execution client *is* a kind of such MMU. But arguably one can try to build much smaller, simpler one and for a different ISA.
5./ There is no reason to expect that RISC-V is a good ISA architecture for zk proofs. I argue that some kind of restricted jumps (similar to EOF) would, for example, go a long way.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
1. Gm. I would like to congratulate authors with the Protostar paper, will make a small review in this thread 🧵⬇️
it will have some amount of appreciation, some suggestiions and (minor) amount of bitching, but in no way should it overshadow the importance of the achievement
2. I also would like to note that I might not understand all the details fully yet; so take my explanations here with the grain of salt.
I hope if something is incorrect I'll get called out on this, otherwise it will probably be a decent explainer.
3. Protostar builds from Nova (and wide family of recently spawned Nova-ish protocols), and makes, in my opinion, three significant improvements to the original Nova construction: