# Week 4 Update: [Odinson](https://github.com/PoulavBhowmick03) The deep dive phase begins and this week I looked more into the Lighthouse codebase and the project implementation specifications. I sent my project proposal to Lighthouse team and they liked the idea, they are looking into who would be mentoring me for this project. Apart from that, worked on the Milhouse repository, implementing an iterator over Arc, and currently working on a Lighthouse PeerDAS issue. Also gave a read to [Attestation arrival timing](/Mxe9Cyv6SDOxtto_C5ij7Q) by Terence from Offchain Labs, and went through a PR in Lighthouse, implementing Hierarchical Diffs in the hot db. Also, started writing an article on the [Lighthouse architecture](https://hackmd.io/@Odinson/r1OazJaHeg), starting from the Store crate, since that's where the main area of my work is going to be. Finally, been practicing some rust lately, by contributing to some infrastructure projects, and going through the rust book, especially box pointer sections, and async rust. ## Research ### [Hierarchical state diffs in hot DB](https://github.com/sigp/lighthouse/pull/6750) - This PR was the part of Lighthouse's [Fantabulous](https://github.com/sigp/lighthouse/releases/tag/v7.1.0) release. - It implements HDiffs in the hot database in lighthouse, allowing Lighthouse to reduce the disk footprint massively during periods of non finality. - As a trade-off, a little more CPU time is spent computing diffs. - It helps nodes to synchronize with the network more quickly, since the data volume has been reduced. - The hierarchical structure makes the process of syncing from historical states and reconstructing intermediate states much faster and less resource-intensive. ### [Lighthouse `Store` Crate](https://github.com/sigp/lighthouse/tree/unstable/beacon_node/store) - Have been going through the store crate of Lighthouse and started writing an article on the same, explaining the architecture and the functions, data structures and implementation. - Link: https://hackmd.io/@Odinson/r1OazJaHeg ## Resources 1. [Lighthouse architecture](https://hackmd.io/@Odinson/r1OazJaHeg) 2. [Hierarchical Diffs in Hot DB](https://github.com/sigp/lighthouse/pull/6750) 3. [Attestation arrival timing](/Mxe9Cyv6SDOxtto_C5ij7Q) 4. [Lighthouse's Fantabulous releasee](https://github.com/sigp/lighthouse/releases/tag/v7.1.0) 5. [Box pointer section in Rust](https://rust-book.cs.brown.edu/ch15-01-box.html) 6. [Async Rust](https://github.com/sigp/lighthouse/releases/tag/v7.1.0) ## Work for the week 1. Milhouse [PR](https://github.com/sigp/milhouse/pull/71) 2. Sigp's [PR](https://github.com/sigp/ssz_types/pull/51) on SSZ types ## Conclusion Next week, I plan to create a PR in the cohort repo, with my project proposal, and gradually start working on the implementation with the mentors. And I will continue to write and get a clearer understanding of the store crate in lighthouse and the overall codebase. Other than that, I am also looking forward to presenting my project proposal in next week's [Office Hours #4](https://github.com/eth-protocol-fellows/cohort-six/issues/138)