# EPF - Week 1
This week I have kept looking at some of the other proposals that I found interesting and also relevant parts of the protocol.
## General research
Mostly related to zkEVM as that was one of the projects I was most interested in.
### zkVM
Mostly been trying to get a better picture over the pros / cons of replacing the EVM Instruction Set Architecture.
- [What is the best ISA for Ethereum?](https://hackmd.io/@leoalt/best-isa-ethereum) which got me into some rabbit holes on PolkaVM. In addition to
- [r55](https://hackmd.io/@leoalt/r55) an experimental EVM execution environment for RISC-V smart contracts.
- [Before jumping on the riscv bandwagon](https://ethresear.ch/t/before-jumping-on-the-riscv-bandwagon/22230) which also mentions that some zkEVMs are moving away from Risc-V ([powdr](https://github.com/powdr-labs/powdr) was mentioned).
- [Exploring alternatives to WASM for smart contracts](https://forum.polkadot.network/t/exploring-alternatives-to-wasm-for-smart-contracts/2434)
- [The future of ZK is in RISC-V zkVMs, but the industry must be careful: how Succinct's SP1's departure from standards causes bugs](https://blog.lambdaclass.com/the-future-of-zk-is-in-risc-v-zkvms-but-the-industry-must-be-careful-how-succincts-sp1s-departure-from-standards-causes-bugs/)
- Exploring some of the arguments against the RISC-V migration from the original magicians post [1](https://ethereum-magicians.org/t/long-term-l1-execution-layer-proposal-replace-the-evm-with-risc-v/23617/6) [2](https://ethereum-magicians.org/t/long-term-l1-execution-layer-proposal-replace-the-evm-with-risc-v/23617/134)
- [RISC-V ZKVMs: the Good and the Bad](https://argument.xyz/blog/riscv-good-bad/) which made me more aware of just the huge amount of optimizer bugs there are in llvm / gcc. Compared to the amount of compiler bugs in solc / vyper, this is a bit worrying.
## Misc
Just looking at Twitter, I'm automatically put into some rabbit holes. Some of the posts that I found interesting this week
- [Under prioritized EIPs for the execution layer](https://x.com/gakonst/status/1935647629754437883) ([EIP-7912](https://eips.ethereum.org/EIPS/eip-7912), [EIP-7907](https://eips.ethereum.org/EIPS/eip-7907))
- [EIP-7782: The case for 2x shorter slot times in Glamsterdam](https://ethereum-magicians.org/t/eip-7782-the-case-for-2x-shorter-slot-times-in-glamsterdam/24616) which then made me aware of [EIP-7732](https://eips.ethereum.org/EIPS/eip-7732).
- [Scaling the L1 to Gigagas with Real-Time Proving ](https://ethereum-magicians.org/t/scaling-the-l1-to-gigagas-with-real-time-proving/24605)
- I read over some of the post-mortem listed on [epf.wiki](https://epf.wiki/#/wiki/testing/incidents)
## Proposed projects research
Following up from last week there were two proposed projects I wanted to explore a bit more into.
### Erigon: Parallel Execution
I recall having seen some discussion of [eip-7928](https://eips.ethereum.org/EIPS/eip-7928) on [Twitter](https://x.com/nero_eth/status/1922601185447465112), but this week I took a fresh look and dived a bit deeper. The thread on [Eth-magicians](https://ethereum-magicians.org/t/eip-7928-block-level-access-lists/23337) had some good discussions surrounding the practicality of the currently proposed EIP.
Because of the above discussions from Eth-magicians, I also took a look at the current version of [parallel execution in Erigon](https://github.com/erigontech/erigon/blob/d13eac1566bbf14bc0e92ff507a54367b1579d0f/eth/stagedsync/exec3_parallel.go) and Block-STM.
Resources I found useful when looking at the EIP
- [EIP-7928: Block-level Access Lists: The Case for Glamsterdam](https://ethereum-magicians.org/t/eip-7928-block-level-access-lists-the-case-for-glamsterdam/24343/1)
- [Discord channel for Block-access-list](https://discord.com/channels/595666850260713488/1364000387195076608/1364179021859913778)
- [EIP-7928 Block Access Lists Implementation](https://github.com/nerolation/eth-bal-analysis)
- [There was also the All Core Devs discussion](https://www.youtube.com/live/FI5n90Vg-hQ?feature=shared&t=3927) which I found by searching the [PM repository](https://github.com/search?q=repo%3Aethereum%2Fpm+eip-7928&type=issues) (one trick I learned this week is just searching this repo for EIPs allows me to easily listen to some calls where the EIP is discussed)
- [Block-level Access Lists (BALs)](https://ethresear.ch/t/block-level-access-lists-bals/22331)
Resources I found useful for reading on Block-STM
- [Block-STM: How We Execute Over 160k Transactions Per Second on the Aptos Blockchain](https://medium.com/aptoslabs/block-stm-how-we-execute-over-160k-transactions-per-second-on-the-aptos-blockchain-3b003657e4ba)
- [Block-STM: Accelerating Smart-Contract Processing](https://blog.chain.link/block-stm/)
### Ream Client - A Beam client in Rust: Benchmark zkVM performance on Ream's Beacon state transition functions
Here I tried to look a bit into what they had already done since they mentioned they had already done some benchmarking against SP1 and RISC Zero. I found the following repository for the [RISC zero](https://github.com/ReamLabs/consenzero-bench) benchmark and this for [SP1](https://github.com/ReamLabs/consensp1us). They also have done some [write ups](https://hackmd.io/@reamlabs) which I looked at.
## Plan for week 2
First half of the week I want to keep exploring parts of the protocol to have some ideas of what I want to work on. For instance I want to explore EIP-7732, but also some research into light clients. For the second half of the week I should spend some time preparing a project proposal presentation for EPF-day.