# 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: