Čo je Distributed Hash Table (DHT)?
Distributed Hash Table je zdieľaný adresár adries, ktorý rozkladá úlohu nájdenia dát medzi mnohé nezávislé počítače. Namiesto toho, aby jeden server odpovedal, kde sa kus dát nachádza, DHT umožňuje sieti, aby vás kolektívne nasmerovala na správne miesto. Predstavte si to ako pýtanie sa múdreho davu, kde dav odpovie v niekoľkých rýchlych skokoch.
DHT uchováva vaše súbory naveky. Nie celkom. Uchováva, kde nájsť veci, nie samotné veci, a dáta stále žijú na peers, ktoré sa rozhodnú ich hostovať.
Ako Distributed Hash Table (DHT) funguje
Predstavte si, že vaša aplikácia sa pýta davu po položke označenej obsahovým hashom. Tu je rýchly postup krok za krokom.
- Krok 1: Pripojíte sa k swarmu a stanete sa jedným z uzlov.
- Krok 2: Chcete položku X, tak vezmete jej obsah a vypočítate hash, ktorý pôsobí ako jedinečné ID.
- Krok 3: Opýtate sa susedných peerov, ktorí smerujú vašu požiadavku k peerom matematicky bližšie k tomuto ID.
- Krok 4: Požiadavka dopadne na zodpovedných peerov, ktorí vrátia, kto momentálne má položku X.
- Krok 5: Pripojíte sa k týmto peerom a sťahujete údaje priamo od nich. Rýchle, pekné, hotovo.
Reálne ukotvenie v praxi: IPFS (InterPlanetary File System) používa DHT na zistenie, ktorí peers držia obsah pre daný hash, a potom z nich sťahuje.
Prečo je DHT dôležitý
Tak prečo by ste sa mali o to zaujímať viac než len kvôli geek pointom?
- Prínos: Rýchlo nájde obsah bez centrálnych brán, čo prináša rýchlosť a odolnosť.
- Perspektíva: Je kľúčovou zložkou decentralizovaných sietí, kde dav rieši lookupy a znižuje jediné body zlyhania.
- Relevancia: Párovanie peerov na zdieľanie súborov, dostupnosť dát pre dapps a dokonca hľadanie protistrán v peer to peer transakciách.
Ked niekto povie, že DHT má vaše údaje, opýtajte sa, kde sú údaje samotné uložené a koľko peerov ich pinne alebo replikujú. Smerovacie ukazovatele nie sú zálohy.
Kľúčové charakteristiky Distributed Hash Table (DHT)
Čo ju robí výnimočnou na to, aby sa používala aj v kryptopriestore a peer systémoch:
- Lookup: Pre daný kľúč nájde zodpovedajúcich peerov zhruba vlogaritmickými skokmi, aj pri veľkom meradle.
- Rozloženie: Index je zdieľaný, takže žiadny jednorazový server nemôže odpojiť objavovanie.
- Odolnosť: Peers môžu pribúdať a odchádzať a sieť sa stále orientuje podľa churn.
- Overiteľnosť: Kľúče sú hash-y, takže to, čo získate, je možné overiť proti kľúču.
Variácie
Existujú rôzne odroda, každá so svojím štýlom routingu a kompromismi:
- Kademlia: široko používaná, smeruje podľa XOR vzdialenosti a uprednostňuje dlhodobo žijúcich peers.
- Chord: Usporiada peerov do kruhu a smeruje podľa staviacich tabuliek.
- Pastry: Používa routovanie založené na prefixoch s povedomím o blízkosti.
DHT je adresár a systém smerovania, nie databáza pravdy. Obsah stále overujete podľa hash a naložite to, čo tvrdia peers, s zdravým skepsou.
Príklad
Požiadate o obsahový hash v aplikácii, ktorá hovorí IPFS (InterPlanetary File System), DHT odpovie niekoľkými adresami peerov a vaša aplikácia stiahne dáta priamo z týchto peerov.
Zaujímavosť
Kademlia, najpopulárnejšia odroda DHT, vznikla v roku 2002 a ticho ovplyvnila všetko od magnet linkov BitTorrent po moderné obsahovo adresované úložiská používané kryptoprojektmi. Starý papier, čerstvý dopad.
Zhrnutie
Krátke zhrnutie: DHT je adresár, ktorý pomáha peer sietiam nájsť, čo potrebujú, bez pýtania na centrálny server. Jednoduchý nápad, veľký dopad.