# Manas (Hopinheimer) - Week 3
### TL;DR
| Topic | Description |
| ------------- | ------------------------------------------------------------------------------------- |
| DHT | Deeper dive into distributed hash tables and the look up problem |
| Kademlia DHT | Study the limitations |
| Rate list DHT | Research based on Dankrad's [blog](https://notes.ethereum.org/hfbmSM_9RYas6t013xjq6Q) |
| nix | Gigachad package manager I stumbled upon |
| discv5 | ethereum's peer discovery protocol improved over |
| discv4 | limitation of discv4 |
### updates
- started off the week with extending my [implementation](https://github.com/hopinheimer/kademlia) of the kademlia DHT and trying to run a the project on kurtosis. Little did I know kurtosis is an overkill tool for what I was trying to achieve. @paritosh helped me out and directed to shadow
- I have converged on rated list DHT, this requires a deeper dive into DHT lookup problem, attacks on network and network congestion. I read though relavent research papers and resources from university classes.
-- [scalibility problems with kademlia](https://arxiv.org/pdf/2402.09993)
-- [Princeton COS 418](https://www.cs.princeton.edu/courses/archive/fall18/cos418/docs/L6-dhts.pdf)
-- [data mangament in DHTs](https://dspace.mit.edu/bitstream/handle/1721.1/87381/53425420-MIT.pdf?sequence=2)
-- [chord](https://scholar.google.com/citations?view_op=view_citation&hl=en&user=vN-is70AAAAJ&citation_for_view=vN-is70AAAAJ:hefNtdE4IMkC)
-- keyspace partitioning
- discovery is an integral part of the p2p protocol of Ethereum, ethereum currently employees discv5 an improved peer discovery protocol over discv4. this is where ENR was introduced at devcon [felix's talk on p2p](https://www.youtube.com/watch?v=YqGncHRtshM)
- Ethereum uses UDP for peer discovery protocol that's discv5 and TCP based transport protocol for data transfer [RLPx](https://github.com/ethereum/devp2p/blob/master/rlpx.md). UDP is lossy and can't relied upon as a transport but is pretty light-weight and doesn't increase a whole of network congestion hence, I think the core devs may have decided to have 2 different layers for discovery and transport respectively.
- I found [node-crawler](https://github.com/ethereum/node-crawler/tree/main) (www.ethernets.io) from the previous cohort worked on by angus. This served as a great reference for my understand of the p2p protocols.
- Studied Dankrad's proposal, which mentions a new kind of DHT adoption of tier-lists for all the nodes to maintain, essentially pointing to kicking out weaker nodes. The rationale behind this unclear to me, but I'm sure based on the further literary review I might get it.
### plans for week 4
in order of priority
- simulation of kademlia in shadow
- project proposal for EPF5 initialization
- simulation of rated list DHT
thank you! cya next week :smile: