# Week 3 Update: [Odinson](https://github.com/PoulavBhowmick03) This week I focused a bit more on brushing up my knowledge on the entire Ethereum ecosystem, including some upcoming upgrades, EIPs, proposals, and also going through Sigp's Milhouse repository and Lighthouse codebase. Apart from that, I have been doing more of rust to get more confident and have fluidity in the language Apart from that, I made some PRs, in Lighthouse and other repositories, working on writing a LRU cache implementation in Rust by myself, for getting some hands on in how caching works and is implemented, and also sort of finalised by project proposal on [Better State Cache Heuristics](https://hackmd.io/@Odinson/Sk5w04lVxg) in Lighthouse, to be reviewed and gathered feedback from Mario. ## Research ### [Milhouse Memory Usage Tracking PR](https://github.com/sigp/milhouse/pull/51) The Milhouse PR [#51](https://github.com/sigp/milhouse/pull/51) is a crucial upgrade regarding the Lighthouse project- [Better State Cache Heuristics](https://github.com/eth-protocol-fellows/cohort-six/blob/master/projects/project-ideas.md#lighthouse-better-state-cache-heuristics). This introduces a new `MemorySize` trait, which provides an interface for any structure, particularly The `BeaconState` to report it's memory consumption. It has the following methods- 1. `self_pointer`, which returns an unique pointer to the object. 2. `subtrees`, which returns a vector of the fields that consume memory 3. `intrinsic_size`, which returns the memory consumed by the object's respective fields. It also introduces a `MemorySize` macro which simplifies the implementation of the `MemorySize` trait for diff structs. It automates the generation of the `MemorySize` impl. This PR is crucial for the dynamic in-memory caching implementation of Lighthouse. It has the basic structure which would be needed and can be worked on in the current `StateCache` implementation in the Lighthouse repository. ### Upcoming improvements in Fusaka I wanted to be up to date with all the upcoming upgrades and current work that is going on in the Ethereum ecosystem. Last week, I took a look and read about the proposal of shorter slot times and EIP 7732. This week, I gave a read to the scheduled upgrades for Fulu fork. This includes- - [PeerDAS](https://eips.ethereum.org/EIPS/eip-7594) -- Reducing L2 Transaction costs and increases data capacity -- Enables to scale 128+ blobs per block -- Enroute Full Danksharding - [History Expiry and Simpler Receipts](https://etherworld.co/2025/06/16/history-expiry-moves-forward-in-ethereums-fusaka-upgrade/) -- Faster node sync timing and reduced bandwidth -- Modified networking protocols - [Deterministic Proposer Lookahead](https://eips.ethereum.org/EIPS/eip-7917) -- Makes block proposer schedule predictable for any upcoming epoch -- Improves settlement for L2s -- Better protection from MEV extraction ## Resources 1. [Milhouse Memory Usage Tracking PR](https://github.com/sigp/milhouse/pull/51) 2. [Upcoming improvements in Fusaka](https://forkcast.org/upgrade/fusaka#upgrade) 3. [WIP Closed PR on State cache memory size](https://github.com/sigp/lighthouse/pull/6532/files) 4. [History Expiry and Simpler Receipts](https://etherworld.co/2025/06/16/history-expiry-moves-forward-in-ethereums-fusaka-upgrade/) 5. [PeerDAS](https://eips.ethereum.org/EIPS/eip-7594) 6. [Deterministic Proposer Lookahead](https://eips.ethereum.org/EIPS/eip-7917) 7. Dapplion's article on [EIP 7917](https://hackmd.io/@dapplion/eip7917_statistics) 8. [Rc<T>](https://rust-book.cs.brown.edu/ch15-04-rc.html) in Rust ## Work for the week 1. Writing my own [LRU Cache Implementation](https://github.com/PoulavBhowmick03/lru_cache) 2. Lighthouse PR on [Column Reconstruction delay](https://github.com/sigp/lighthouse/pull/7702) 3. [Optimisation of Hierarchical Diff Implementation](https://github.com/sigp/lighthouse/pull/7675) by saving memory usage ## Conclusion It was pretty productive, working on my Rust skills and also being up to date with some of the upcoming changes in the future. Apart from that, got a lot of clarity on the implementation of the project, reflecting on the project proposal as well. On this week's Office Hours, I will be talking about my proposal infront of other fellows, and will also keep working on my Rust skills, as well as dive into the ecosystem and look into the various aspects, potential problems, implementation of dynamic in-memory caching in Lighthouse's beacon state.