Research projects

Multi-Level DHT Design and Evaluation for IPFS

project logo
Protocol Labs

The goal of this project is to design and evaluate a hierarchical DHT adapted for libp2p, taking into consideration the specific requirements of IPFS. Initially, the project will design a hierarchical DHT framework based on the Canon approach. Canon is a design paradigm that enables the construction of multi-level DHT-based overlay networks, through a progressive merging of individual DHT constructions, assuming a hierarchical structure for the interdomain topology. The proposed framework will extend Canon to accommodate different sharding strategies, and it will be complemented by efficient bootstrapping and security mechanisms. The designed framework will be applied to two popular DHT systems, namely Pastry and Kademlia. The output systems will be evaluated using PeerNet, a PeerSim-based emulator, considering a number of metrics, including correctness, tolerance to faults and self-healing behavior, resilience to churn, scalability, and publication/lookup performance. Based on the evaluation results, the project will select one of the DHTs and it will implement its hierarchical variant as a module for go-libp2p.