Une table de hachage distribuée (ou DHT pour Distributed Hash Table), est une technique permettant la mise en place d’une table de hachage dans un système réparti. Une table de hachage est une structure de données de type clé → valeur. Chaque donnée est associée à une clé et est distribuée sur le réseau. Les tables de hachage permettent de répartir le stockage de données sur l’ensemble des nœuds du réseau, chaque nœud étant responsable d’une partie des données. Les tables de hachage distribuées fournissent un algorithme pour retrouver le nœud responsable de la donnée et sa valeur à partir de la clé.
Les protocoles Chord, P2P CAN, Tapestry, Pastry, Kademlia mettent en place des tables de hachage distribuées. Les tables de hachage distribuées sont utilisées dans des systèmes de partage de données de type pair à pair (comme BitTorrent, , etc.), mais aussi dans des logiciels fonctionnant de manière décentralisée comme le moteur de recherche distribué YaCy ou encore dans le routage anonyme en gousse d'ail avec I2P.
Supposons qu'un grand nombre d'utilisateurs (5 millions) aient lancé leur logiciel de partage de fichiers en pair à pair (Peer-to-Peer, P2P) sur leur ordinateur. Chacun partage ses fichiers (audio, images, vidéo, multimédia). Un utilisateur (Luc) possède, par exemple, l'album (fictif) « 42 mon amour ».
Supposons qu'un autre utilisateur (Pierre) souhaite télécharger cet album. Comment son logiciel de P2P peut-il trouver l'ordinateur de Luc ? Le logiciel de Pierre pourrait éventuellement demander aux 5 millions d'ordinateurs si par hasard ils possèdent cet album. Le logiciel de Luc répondrait alors : « Je le possède et je peux commencer à le transférer. » Il serait cependant très long et très lourd en consommation de ressources de demander aux 5 millions d'ordinateurs s'ils ont cet album, car il y aurait en permanence des millions de questions du type « Je cherche tel album, l'as-tu ? », entraînant des millions de réponses : « Non, désolé ! ».
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
A decentralized system is one that works when no single party is in charge or fully trusted. This course teaches decentralized systems principles while guiding students through the engineering of thei
Discrete mathematics is a discipline with applications to almost all areas of study. It provides a set of indispensable tools to computer science in particular. This course reviews (familiar) topics a
BitTorrent est un protocole de transfert de données pair à pair (P2P) à travers un réseau informatique. Le protocole a été conçu en et mis en place à l'été 2002 par le programmeur Bram Cohen, et est maintenu depuis 2004 par la société BitTorrent, Inc..
I2P (« Invisible Internet Project ») est un réseau anonyme, offrant une simple couche réseau logicielle de type réseau overlay, que les applications peuvent employer pour envoyer de façon anonyme et sécurisée des informations entre elles. La communication est chiffrée de bout en bout. Au total, quatre couches de chiffrement sont utilisées pour envoyer un message. L'anonymat est assuré par le concept de « mix network » qui consiste à supprimer les connexions directes entre les pairs qui souhaitent échanger de l'information.
vignette|232x232px vignette|270x270px Freenet est un réseau informatique anonyme et distribué construit sur l'Internet. Il vise à permettre une liberté d'expression et d'information totale fondée sur la sécurité de l'anonymat, et permet donc à chacun de lire comme de publier du contenu. Il offre la plupart des services actuels d'Internet (courriel, Web, forums, etc.).
The scale and pervasiveness of the Internet make it a pillar of planetary communication, industry and economy, as well as a fundamental medium for public discourse and democratic engagement. In stark contrast with the Internet's decentralized infrastructur ...
EPFL2024
, , , ,
Decentralized learning is appealing as it enables the scalable usage of large amounts of distributed data and resources (without resorting to any central entity), while promoting privacy since every user minimizes the direct exposure of their data. Yet, wi ...
PMLR2024
Distributed systems designers typically strive to improve performance and preserve availability despite failures or attacks; but, when strong consistency is also needed, they encounter fundamental limitations. The bottleneck is in replica coordination, whi ...