Skip to content

Bảng Băm Phân tán (DHT)

Cách các nút IPFS tìm nhau và phát hiện ai có nội dung bạn đang tìm kiếm.

DHT là gì?

Bảng Băm Phân tán là hệ thống tra cứu phi tập trung. Hãy nghĩ về nó như danh bạ điện thoại mà không ai nắm giữ toàn bộ -- thay vào đó, mỗi người tham gia nắm giữ vài trang, và họ biết hỏi ai cho những trang họ không có.

Trong IPFS, DHT ánh xạ CID đến địa chỉ mạng của các nút có nội dung tương ứng. Khi bạn yêu cầu tệp theo CID, DHT giúp bạn tìm nút nào có thể phục vụ nó.

Cách hoạt động trong IPFS

IPFS sử dụng một biến thể của DHT Kademlia. Mỗi nút duy trì bảng định tuyến của các nút lân cận (theo khoảng cách XOR giữa ID nút). Khi nút muốn tìm nội dung:

  1. Nó tính khoảng cách XOR giữa CID và ID nút đã biết
  2. Nó hỏi các nút gần nhất mà nó biết: "ai có CID này?"
  3. Những nút đó hoặc có nội dung hoặc chỉ đến nút gần hơn
  4. Tìm kiếm hội tụ -- mỗi bước nhảy tiến gần hơn đến nút có tệp
  5. Nội dung được tìm nạp trực tiếp từ nút cung cấp

TIP

Tra cứu này thường chỉ mất vài bước nhảy -- ngay cả trong mạng hàng triệu nút, tệp có thể được định vị trong 20-30 bước.

Bản ghi nhà cung cấp

Khi nút ghim nội dung, nó xuất bản bản ghi nhà cung cấp lên DHT thông báo: "Tôi có CID X, và địa chỉ của tôi là Y." Các bản ghi này hết hạn sau khoảng 24 giờ và phải được làm mới định kỳ. Đây là lý do tại sao ghim đang hoạt động rất quan trọng -- nếu không có nó, bản ghi nhà cung cấp hết hạn và nội dung trở nên không thể phát hiện.

Tại sao bạn không cần nghĩ về DHT

IPFS.NINJA xử lý tất cả tương tác DHT cho bạn. Khi bạn tải tệp lên:

  • Cụm của chúng tôi ghim tệp và tự động xuất bản bản ghi nhà cung cấp
  • Bản ghi nhà cung cấp được làm mới liên tục -- nội dung của bạn luôn có thể phát hiện
  • Gateway của chúng tôi phân giải CID qua DHT khi phục vụ yêu cầu
  • Bạn chỉ cần sử dụng CID và URL gateway -- DHT là vô hình