DHT คืออะไร? คู่มือเชิงปฏิบัติของ Distributed Hash Table ใน BitTorrent
ทำความเข้าใจว่า BitTorrent DHT ค้นหา Peer โดยไม่ต้องพึ่ง Tracker ส่วนกลางอย่างไร Kademlia ทำหน้าที่อะไร และ DHT เก็บข้อมูลแบบใดจริง ๆ
BT9G / ENGINEERING NOTES
ทำความเข้าใจโปรโตคอลและระบบเบื้องหลังการค้นหาแบบกระจายศูนย์
บันทึกวิศวกรรมเชิงปฏิบัติเกี่ยวกับ BitTorrent, DHT, การแลกเปลี่ยน metadata, การค้นหา Peer และระบบค้นหาแบบกระจาย
01
ทำความเข้าใจว่า BitTorrent DHT ค้นหา Peer โดยไม่ต้องพึ่ง Tracker ส่วนกลางอย่างไร Kademlia ทำหน้าที่อะไร และ DHT เก็บข้อมูลแบบใดจริง ๆ
ติดตามขั้นตอนจาก magnet link ที่มีเพียง content identity ไปสู่ Peer discovery, ut_metadata negotiation, metadata transfer และ hash verification
สถาปัตยกรรม end-to-end สำหรับ BT9G ตั้งแต่ discovery edge, hash ledger, metadata acquisition fleet, canonical storage, search serving จนถึง observability feedback
02
ทำความเข้าใจว่า BitTorrent DHT ค้นหา Peer โดยไม่ต้องพึ่ง Tracker ส่วนกลางอย่างไร Kademlia ทำหน้าที่อะไร และ DHT เก็บข้อมูลแบบใดจริง ๆ
ทำความเข้าใจ XOR distance, iterative lookup, parallelism และ k-bucket ซึ่งทำให้ Kademlia ค้นหาเป้าหมายได้อย่างมีประสิทธิภาพใน DHT ขนาดใหญ่
ติดตาม flow การค้นหา Peer แบบครบขั้นตอน ตั้งแต่ bootstrap, routing table, get_peers, token ไปจนถึง announce_peer
เรียนรู้ว่า InfoHash ถูกสร้างอย่างไรใน BitTorrent v1 และ v2 แตกต่างกันอย่างไรระหว่าง BTIH กับ BTMH และมีผลต่อ indexing อย่างไร
คู่มือเชิงปฏิบัติของ KRPC และ query หลักสี่แบบใน BEP 5 สำหรับ liveness, routing, Peer discovery และ announce
ทำความเข้าใจว่า k-bucket แบ่งพื้นที่ XOR อย่างไร เหตุใด node ที่เสถียรจึงมีค่า และ routing table ถูกดูแลอย่างไรในเครือข่ายที่มี churn สูง
เรียนรู้ว่า activity แบบกระจายสร้าง InfoHash observation จำนวนมหาศาลอย่างไร และเหตุใด deduplication กับ ranking จึงสำคัญ
ทำความเข้าใจกลยุทธ์ discovery ของ InfoHash การแยก discovery ออกจาก metadata acquisition และการออกแบบ ingestion path ที่มีประสิทธิภาพ
ติดตามขั้นตอนจาก magnet link ที่มีเพียง content identity ไปสู่ Peer discovery, ut_metadata negotiation, metadata transfer และ hash verification
เข้าใจ lifecycle ของ BEP 9, metadata_size, request/data/reject, การแบ่ง piece, hash verification และการ schedule หลาย Peer
ทำความเข้าใจ extended handshake, extension ID mapping, dynamic capability และเหตุใด BEP 10 จึงสำคัญต่อ ut_metadata และ extension อื่น
เปรียบเทียบ Tracker, DHT และ Peer Exchange ในด้านสถาปัตยกรรม freshness การกระจายศูนย์ observability และกรณีใช้งาน
ทำความเข้าใจนิยาม Seeder/Leecher วิธีที่ Tracker scrape นับ complete/incomplete และเหตุใด DHT จึงให้ตัวเลข global แบบแม่นยำไม่ได้
เรียนรู้สาเหตุ metadata fetch ล้มเหลวตั้งแต่ Peer stale, ut_metadata ไปจนถึง hash mismatch และออกแบบ retry ตามประเภท failure
ออกแบบ crawler ที่แยก packet plane กับ work plane ใช้ bounded queue, sharding, observability และ backpressure เพื่อรักษา throughput
โมเดล capacity สำหรับ 1,000+ verified metadata ต่อนาที ทั้ง concurrency, latency, success rate, Peer discovery และ host limits
ออกแบบ dedup ระดับใหญ่ด้วย hot cache, Bloom filter, durable ledger, scheduling state และ partitioning ระยะยาว
ออกแบบ retry scheduler ที่เก็บ hash ล้มเหลว ใช้ backoff ตาม failure class รองรับ reactivation signal และมี queue แบบ durable
ออกแบบ pipeline ที่แยก discovery, metadata validation, canonical storage, enrichment และ Elasticsearch เพื่อให้ index ปลอดภัยและ rebuild ได้
สถาปัตยกรรม end-to-end สำหรับ BT9G ตั้งแต่ discovery edge, hash ledger, metadata acquisition fleet, canonical storage, search serving จนถึง observability feedback