# EPF Cohort 6 Updates – Week 9 This week I focused on completing the remaining work for benchmarking Ream's Beacon State, with major developments taking place in this area. ## Benchmarking Progress The existing [consenzero-bench](https://github.com/ReamLabs/consenzero-bench) repository only benchmarked `process_operations` and was using an outdated RISC-Zero version. I successfully added functionality to benchmark `process_epoch` and, after discussing with Unnawut, submitted a pull request: **PR Link:** https://github.com/ReamLabs/consenzero-bench/pull/25 ## Pico zkVM Integration Pico released their new version, eliminating the need to use a previous release of the `ream-consensus-beacon` crate. I took this opportunity to implement end-to-end benchmarks for both `process_operations` and `process_epoch` for Pico zkVM. **Repository:** https://github.com/x-senpai-x/consenpico-bench This implementation successfully tracks the guest's RISC-V execution cycles! ## Contributing to Pico I discovered that Pico's new version still generates starter kits using an outdated repository. After discussing with Brevis support, I submitted a PR to fix this issue: **PR Link:** https://github.com/brevis-network/pico-zkapp-template/pull/2 ## ethProofs Call #4 Notes I attended the fourth ethProofs call and learned about the current proposal to replace EVM with RISC-V and the crucial role ZKVMs will play. ### Why RISC-V for ZKVMs? **Advantages:** - Better performance with custom ISA - Broader compiler support - Simple instruction set (just 40 instructions) - Majority of ZKVMs already use RISC-V - Easy to formally verify **Comparison with other architectures:** - **x86/ARM:** Thousands of instructions, making formal verification difficult - **MIPS:** Lesser support, not actively maintained, MIPS itself is moving to RISC-V ![RISC-V Instruction Set Comparison](https://hackmd.io/_uploads/B1iUkbIFxg.png) **Adoption challenges:** - Compilers are hard to develop - Getting adoption of new systems is difficult - Not everything uses LLVM ### Vitalik's Perspective The current bottleneck is VM execution and hashing: - Hashing issues will hopefully be resolved with ongoing Poseidon work - For VM execution: Instead of RISC-V serving as a wrapper over EVM, it needs to directly replace (enshrine) EVM to avoid overhead ## 3SF Updates Since the goal is to build a prototype to identify key bottlenecks rather than a full-fledged consensus protocol using 3-slot finality, I'll start directly with Ream's 3SF-mini and figure out how to generate mock consensus spec test data. ## Next Week's Goals - [ ] Figure out how to generate mock consensus spec test data for 3SF mini and set up RISC-Zero codebase - [ ] Add timing, flamegraphs, and other benchmarking data for `consenPico-bench` and `consenZero-bench` ## Long Term Goal I'll be working on building a detailed writeup on my experience across all the zkVms out there, something like this https://x.com/Kautukkundan/status/1867589273446232368