TLDR; distributed hash tables leak a lot of metadata about node behaviour. one potential way to hide lookup initiator could be to create multiple group of nodes which communicate through gossip within the group, creating a self contained mix network.<p>One big problem with distributed hash tables (DHTs) is that participant nodes leak metadata about what they are up to. e.g. in naive design and implementation of DHTs, a node requesting for a particular `key` will have to tell a subset of other nodes about it in order to get the request fulfilled.<p>Now, if we want to live in a world in which decentralised systems provide users security and privacy, this is a problem. Centralised systems are a threat to privacy because central authorities can easily correlate user behaviour and build up accurate user profiles based on that data. Naive decentralised systems extrapolate this problem: instead of one central authority having access to user information, there are potentially X entities with access to that metadata at a low cost (by the way, I think this is a general problem that few people in the web3/decentralisation "industry" is thinking about, unfortunately).<p>Back to DHTs: I've been thinking about privacy preserving DHTs since I believe DHTs are an important building block for the decentralised web. I've been thinking about a lookup scheme to hide lookup initiator though gossip in small node groups. Conceptually, the idea is that small groups of nodes (maybe 50?) would communicate with each other through gossip, creating a self contained mix network. The message entropy within the group would hide who in the group initiated a particular request. So a node instead of communicate directly with peers in its finger table, it would first gossip the request to its group and all the group members would forward the request based on their finger tables. The lookup replies would also be gossiped within the group, so that the lookup initiator could pick the best responses.