Skip to content

Κατανεμημένος Πίνακας Hash (DHT)

Πώς οι κόμβοι IPFS βρίσκουν ο ένας τον άλλον και ανακαλύπτουν ποιος έχει το περιεχόμενο που ψάχνετε.

Τι είναι ένα DHT;

Ένας Κατανεμημένος Πίνακας Hash είναι ένα αποκεντρωμένο σύστημα αναζήτησης. Κάθε συμμετέχων κρατά μερικές σελίδες και ξέρει ποιον να ρωτήσει για τις σελίδες που δεν έχει.

Στο IPFS, το DHT αντιστοιχίζει CID στις διευθύνσεις δικτύου των κόμβων που έχουν το αντίστοιχο περιεχόμενο.

Πώς λειτουργεί στο IPFS

Το IPFS χρησιμοποιεί παραλλαγή του Kademlia DHT. Κάθε κόμβος διατηρεί πίνακα δρομολόγησης κοντινών κόμβων. Η αναζήτηση:

  1. Υπολογίζει την απόσταση XOR μεταξύ CID και γνωστών node ID
  2. Ρωτά τους πλησιέστερους κόμβους: "ποιος έχει αυτό το CID;"
  3. Αυτοί οι κόμβοι είτε έχουν το περιεχόμενο είτε δείχνουν σε πλησιέστερους
  4. Η αναζήτηση συγκλίνει σε κάθε βήμα
  5. Το περιεχόμενο ανακτάται απευθείας

TIP

Αυτή η αναζήτηση χρειάζεται τυπικά μόνο μερικά βήματα — ακόμα σε δίκτυο εκατομμυρίων κόμβων, ένα αρχείο εντοπίζεται σε 20-30 βήματα.

Provider records

Όταν ένας κόμβος καρφιτσώνει περιεχόμενο, δημοσιεύει provider record στο DHT. Αυτά λήγουν μετά από ~24 ώρες και πρέπει να ανανεώνονται περιοδικά.

Γιατί δεν χρειάζεται να σκεφτείτε το DHT

Το IPFS.NINJA χειρίζεται όλες τις αλληλεπιδράσεις DHT για εσάς. Όταν ανεβάζετε αρχείο:

  • Το cluster μας καρφιτσώνει και δημοσιεύει provider records αυτόματα
  • Τα provider records ανανεώνονται συνεχώς
  • Το gateway μας επιλύει CID μέσω DHT
  • Εσείς απλά χρησιμοποιείτε CID και URL gateway — το DHT είναι αόρατο