title: Chord
text: # 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.
  