Mi az az elosztott hash-tábla (DHT)?
Az elosztott hash-tábla egy megosztott címjegyzék, amely sok független számítógép között osztja szét az adatok megtalálásának feladatát. Ahelyett, hogy egyetlen szerver mondaná meg, hol található egy adat, a DHT lehetővé teszi, hogy a hálózat közösen mutasson rá a megfelelő helyre. Képzeljük el úgy, mintha egy tájékozott tömegtől kérdeznénk meg, hol van egy fájl, a tömeg pedig néhány gyors lépésben megadná a választ.
A DHT örökre tárolja a fájljaidat. Ez nem egészen így van. Azt tárolja, hogy hol találhatók meg a dolgok, nem magukat a dolgokat; az adatok továbbra is az azokat tárolni hajlandó társaknál vannak.
Hogyan működik az elosztott hash-tábla (DHT)?
Képzeld el, hogy az alkalmazásod egy tartalmi hash alapján azonosított elemről kérdezi a hálózatot. Íme a folyamat röviden, lépésről lépésre.
- 1. lépés: Csatlakozol a hálózathoz, és a csomópontok egyikévé válsz.
- 2. lépés: Szükséged van az X elemre, ezért az adataiból hash-t számítasz, amely egyedi azonosítóként szolgál.
- 3. lépés: Megkérdezed a közeli társakat, akik az azonosítóhoz matematikailag közelebb lévő társak felé irányítják a lekérdezésedet.
- 4. lépés: A lekérdezés eljut a felelős társak közelébe, akik megmondják, hogy jelenleg kinél található az X elem.
- 5. lépés: Csatlakozol ezekhez a társakhoz, és közvetlenül tőlük töltöd le az adatokat. Gyors, egyszerű, kész.
Vegyünk egy valós példát: az IPFS (InterPlanetary File System) DHT segítségével keresi meg, mely társaknál található egy adott hash-hez tartozó tartalom, majd tőlük tölti le azt.
Miért fontos az elosztott hash-tábla (DHT)?
Miért érdemes ezzel foglalkozni a geekpontokon túl?
- Előny: Központi kapuőrök nélkül találja meg gyorsan a tartalmat, ami sebességet és ellenálló képességet biztosít.
- Nézőpont: A decentralizált hálózatok egyik alapvető építőeleme: a hálózat résztvevői végzik a keresést, csökkentve az egyetlen hibapontok számát.
- Jelentősége: Társak felderítése fájlmegosztáshoz, adatelérhetőség biztosítása dappok számára, sőt partnerek megtalálása is peer-to-peer tranzakciókhoz.
Ha valaki azt mondja, hogy egy DHT tárolja az adataidat, kérdezd meg, hol vannak maguk az adatok, és hány társ rögzíti vagy replikálja őket. A hivatkozások nem biztonsági másolatok.
Az elosztott hash-tábla (DHT) főbb jellemzői
Mitől olyan különleges, hogy a kriptós és peer hálózatokban továbbra is használják?
- Keresés: Egy kulcs alapján nagy léptékben is nagyjából logaritmikus számú ugrással találja meg a felelős társakat.
- Megosztottság: Az index megoszlik, így egyetlen szerver sem állíthatja le a tartalom felderítését.
- Ellenálló képesség: A társak csatlakozhatnak és távozhatnak, a hálózat pedig továbbra is képes útvonalat találni a változások közepette.
- Ellenőrizhetőség: A kulcsok hashek, így a letöltött tartalom ellenőrizhető a kulcs alapján.
Változatok
Többféle változat létezik, eltérő útvonalválasztással és kompromisszumokkal:
- Kademlia: Széles körben használt; XOR-távolság alapján választ útvonalat, és előnyben részesíti a hosszú ideje online lévő társakat.
- Chord: Gyűrűbe rendezi a társakat, és ujj-táblák alapján választ útvonalat.
- Pastry: Prefixalapú útvonalválasztást alkalmaz, a közelség figyelembevételével.
A DHT címtár- és útvonalválasztó rendszer, nem az igazság adatbázisa. A tartalmat továbbra is a hash alapján kell ellenőrizned, a társak állításait pedig egészséges kétkedéssel kezeld.
Példa
Ha egy IPFS (InterPlanetary File System)-t használó alkalmazásban lekérsz egy tartalmi hash-t, a DHT több társ címét adja vissza, az alkalmazásod pedig közvetlenül tőlük tölti le az adatokat.
Érdekesség
A legnépszerűbb DHT-változat, a Kademlia 2002-ben jelent meg, és észrevétlenül hatott a BitTorrent mágneslinkjeitől a kriptós projektek által használt modern, tartalomcímzésű tárolásig mindenre. Régi tanulmány, máig tartó hatás.
Összefoglalás
Röviden: a DHT az a címjegyzék, amely segít a peer hálózatoknak megtalálni, amire szükségük van, anélkül hogy központi szervertől kellene kérdezniük. Egyszerű ötlet, nagy hatás.