# EPF Cohort 6 Updates – Week 17,18 & 19 The past 3 weeks had been very busy both in terms of progress and also because a lot of time went into planning the trip to Buenos Aires. ## LeanConsensus First of all we were able to integrate RiscZero ZkVM inside Ream's codebase and the work can be seen over here https://github.com/DimitriosMitsios/ream. I spent the first of the 3 weeks analysing how exactly Lean State works, here's a diagram that summarizes it ![image](https://hackmd.io/_uploads/r1k_fzByZx.png) and then we worked on adding a [draft PR](https://github.com/ReamLabs/ream/pull/835) and creating an [issue](https://github.com/ReamLabs/ream/issues/854) inside Ream's codebase The second was spent integrating the guest programme inside Ream and the generating the proof for the same. And this week we were able to gossip the proof inside the p2p netork. Validator is succesfully able to request a proof from the lean chain service for block production and the Lean network service then gossips the proof to all the peers. Proof Verification is something yet to be added we have some doubts what would be the bestplace to add that logic, and for now it seems it should be the Lean Network service that validates the proof after recieving it from the Lean Chain service and only then gossiping it to the P2p network. I am hopeful this would be done by Monday. The major problem I am getting right now is Running Ream using multiple nodes. Although I was succesfully able to make multiple nodes interact with each other both Locally and on Docker. Locally my system crashed when 4 nodes tried to generate proof simultaneously because of a large amount of compute. And on docker Proof generation failed, I am not sure about the exact reason but it might be because how the environment is setup inside Docker, and a big question is raised do zkVms work inside docker environment? Apart from this there seems to be a problem with slot finality, the checkpoint doesn't seem to get updated as slots progress and always points at slot 0, the genesis block. The [local pq devnet](**https://github.com/ReamLabs/local-pq-devnet/blob/master**) seems to work perfectly fine however when I tried to reproduce this locally or through docker it just doesn't seem to work. ## BeaconState Benchmarking Progress We have to be realistic with what can be achieved now, we'll have atmost a week until we can work and then we would have to focus on the project writeup and presentation, so I'll be focusing on refining [Ream-ZkVm-benchmarks](https://github.com/x-senpai-x/Ream-ZKVM-Benchmarks/), adding Dimitris's OpenVm work and then creating a new branch which focuses on proof generation instead of just executing guest cycles. Apart from this I have been focusing on getting to know ZKVMs in a better way. This week I focused on Arithmetization schemes, particularly AIR to understand what happens behind the scenes in a better way. [eth-act's zkEvm book]( https://github.com/eth-act/zkevm-book) and [threeLambda's blog posts](https://threesigma.xyz/blog/zk/degree-bounds-and-computational-complexity) have been of great help. ## Next Week's Goals - [ ] Implementing the proof validation logic inside Ream - [ ] Discuss with our mentor the next steps in the project - [ ] Integrate proving inside Ream-zkvm-benchmarks