Chord
# Chord

Chord est un réseau de recouvrement de type table de hachage distribuée pour les réseaux pair à pair (P2P). Chord est une des premières tables de hachage distribuées, parmi CAN, Tapestry et Pastry. Chord a été présenté en 2001 par Ion Stoica, Robert Tappan Morris, David Karger, Frans Kaashoek, et Hari Balakrishnan, et a été développé au MIT.

Il a pour particularité de disposer d'algorithmes d'une complexité d'au plus ${\mathcal {O}}(\log N)$ requêtes pour trouver une information dans un anneau de N éléments.

## Avantages

* Décentralisé

    Chord est complètement décentralisé, tous les nœuds sont au même niveau. Ce qui le rend robuste et adapté aux applications P2P peu organisées.
* Passage à l'échelle

    Le coût d'une recherche est fonction du logarithme du nombre de nœuds.
* Équilibrage de charge

    Équilibrage de charge naturel, hérité de la Fonction de hachage (SHA-1).
* Disponibilité

    On peut toujours trouver le nœud responsable d'une clef, même lorsque le système est instable.
* Aucune contrainte sur le nom des clefs.

## Inconvénients

* Sécurité

    Un ensemble de participants mal intentionnés ou buggés peut offrir une vue incorrecte de l'anneau.
* Mal adapté au réseau sous-jacent

    2 pairs voisins sur l'anneau peuvent être de part et d'autre du globe. Les pairs voisins ont plus de messages à s'envoyer que deux pairs quelconques.
