Co je Distributed Hash Table (DHT)?
Distributed Hash Table je sdílený adresář, který rozkládá úlohu hledání dat mezi mnoha nezávislými počítači. Místo jednoho serveru, který by odpovídal, kde se kus dat nachází, DHT nechá síť společně nasměrovat na správné místo. Představte si to jako zeptání chytrého davu, kde je soubor, a dav odpoví během několika rychlých kroků.
DHT ukládá vaše soubory navždy. Ne úplně. Ukládá informace, kde věci najít, ne samotné věci, a data stále zůstávají na uzlech, které se rozhodnou je hostovat.
Jak Distributed Hash Table (DHT) funguje
Představte si, že vaše aplikace žádá síť o položku označenou obsahovým hashem. Zde je stručný přehled kroků.
- Krok 1: Připojíte se do roje a stanete se jedním z uzlů.
- Krok 2: Chcete položku X, takže vezmete její obsah a spočítáte hash, který slouží jako jedinečné ID.
- Krok 3: Zeptáte se sousedních uzlů, kteří nasměrují váš dotaz směrem k uzlům, jež jsou matematicky blíže tomuto ID.
- Krok 4: Dotaz doputuje k odpovědným uzlům, které vrátí, kdo má aktuálně položku X.
- Krok 5: Připojíte se k těmto uzlům a stáhnete přímo od nich. Rychle, jednoduše, hotovo.
Praktický příklad: IPFS (InterPlanetary File System) používá DHT k nalezení, které uzly drží obsah pro daný hash, a následně ho od nich získá.
Proč je Distributed Hash Table (DHT) důležitá
Proč by vás to mělo zajímat?
- Výhoda: Rychle najde obsah bez centrálních strážců, což zvyšuje rychlost a odolnost.
- Pohled: Je to klíčová složka decentralizovaných sítí, kde síť provádí vyhledávání a snižuje jednotná místa selhání.
- Užitečnost: Objevování peerů při sdílení souborů, zajištění dostupnosti dat pro dapps a i nalezení protistran v peer to peer transakcích.
Když někdo tvrdí, že DHT má vaše data, zeptejte se, kde jsou samotná data uložena a kolik uzlů je připíná nebo replikuje. Ukazatele nejsou záloha.
Klíčové vlastnosti Distributed Hash Table (DHT)
Co ji činí užitečnou v sítích peerů a kryptoprojektech:
- Vyhledávání: Na základě klíče najde odpovědné uzly zhruba v logaritmickém počtu kroků, i ve velkém měřítku.
- Rozmístění: Index je sdílen, takže žádný jediný server nemůže přerušit objevování.
- Odolnost: Uzly se mohou připojovat a odpojovat a síť přesto přesměrovává provoz kolem změn.
- Ověřitelnost: Klíče jsou hashe, takže stažené lze zkontrolovat vůči klíči.
Varianty
Existují různé varianty, každá s odlišným stylem směrování a kompromisy:
- Kademlia: Široce používaná, směruje podle XOR vzdálenosti a preferuje dlouhodobě běžící uzly.
- Chord: Uspořádá uzly do kruhu a směruje pomocí finger tabulek.
- Pastry: Používá prefixní směrování s ohledem na fyzickou blízkost.
DHT je adresář a systém směrování, ne databáze pravdy. Stále ověřujete obsah podle jeho hashe a k tvrzením uzlů přistupujte s rozumným skepticismem.
Příklad
Požádáte o hash obsahu v aplikaci, která podporuje IPFS (InterPlanetary File System), DHT odpoví s několika adresami uzlů a vaše aplikace si stáhne data přímo od těchto uzlů.
Zajímavost
Kademlia, nejpopulárnější varianta DHT, vznikla v roce 2002 a potichu ovlivnila vše od BitTorrent magnet odkazů po moderní obsahově adresovaná úložiště používaná kryptoprojekty. Starý článek, nový dopad.
Shrnutí
Krátce: DHT je adresář, který pomáhá sítím peerů najít, co potřebují, aniž by se ptaly centrálního serveru. Jednoduchý nápad, značný dopad.
