Computer >> Hướng Dẫn Máy Tính >  >> Kết Nối Mạng >> Internet

Hệ thống File liên hành tinh (IPFS) có thể phi tập trung hóa Web như thế nào

Hãy tưởng tượng bạn tải meme mới nhất, chờ kiên nhẫn tải xong. Meme đương nhiên "fire" (siêu hot), bạn gửi link cho bạn bè. Chúng lấy file từ điện thoại bạn, bắt đầu chia sẻ với bạn bè của họ. Lúc này, meme sống trên chục thiết bị, ai mới lấy link thực sự kết nối vài người khác, lấy mảnh từ mỗi người, tải gần như tức thì.

Nhờ Hệ thống File Liên Hành Tinh (Interplanetary File System - IPFS), hệ thống thật, dễ dùng ngạc nhiên có thể là chìa khóa Internet nhanh hơn, dân chủ hơn. Ý tưởng cơ bản: thiết bị user lưu trữ, lập chỉ mục, phân phối dữ liệu hiện sống trên server tập trung. Nếu nghe giống cryptocurrency, bạn không sai – người sau dự án, Juan Benet, mô tả IPFS: "Về mặt nào đó, làm cho website... những gì Bitcoin làm cho tiền".

IPFS là gì?

Nếu biết BitTorrent hoặc công nghệ P2P (Peer-to-Peer) khác hoạt động thế nào, bạn đã hiểu hầu như IPFS làm gì. Nó gửi file (kể cả HTML, CSS, JS tạo nên hầu hết website) và mảnh file giữa thiết bị user, giống như bạn torrent hợp pháp bài nhạc public domain.

Điều đó nghĩa thay vì kết nối server xem trang, bạn kiểm tra ai gần bạn lưu trang (hoặc mảnh) và kết nối đến họ. Khi tải trang, thiết bị bạn cũng lưu 잠깐 để người khác lấy (hoặc mảnh) từ bạn. Nghe phức tạp, nhưng thực tế hiệu quả hơn hệ thống hiện tại gửi dữ liệu qua đường ống server-client đơn lẻ dùng HTTP protocol.

Tại sao nó tuyệt?

IPFS có vài lợi thế lớn so với web truyền thống:

  • Phân phối nội dung nhanh và hiệu quả hơn: tải mảnh file từ nhiều nguồn gần địa lý, giảm thời gian và băng thông.
  • Phi tập trung (Decentralization): không nguồn đơn lẻ kiểm soát dữ liệu hoặc truy cập.
  • Bảo toàn thông tin: vì không server đơn lẻ lưu tất cả dữ liệu, nó không biến mất mang theo toàn bộ trang GeoCities.
  • Kết nối nhanh và ổn định vùng kém kết nối: miễn là nội dung muốn đã tải nơi bạn truy cập được, không cần kết nối xa, giúp lớn vùng kết nối gián đoạn/bị xâm phạm.
  • Kháng kiểm duyệt: không hoàn hảo, nhưng tốt hơn mô hình tập trung.

Cách hoạt động: phiên bản ngắn

Ai cũng dùng mạng IPFS ngay, vì rất user-friendly. Đây là xảy ra:

  1. Khi thêm file vào IPFS, file chia thành block, mỗi block chạy qua thuật toán gán ID duy nhất. Toàn bộ file, gồm ID block, cũng gán ID. Ban đầu máy bạn nơi duy nhất lấy file, nhưng node (máy) khác cũng nhặt và phân phối.
  2. Nếu mạng nhận thấy dữ liệu bạn giống nội dung đã lưu, dùng đó thay vì thêm bản sao. Giả sử bạn host "deluxe edition" album bạn ghi. 10 bài giống album cũ, 2 bài mới, thêm vào IPFS, hệ thống nhận diện trùng lặp dùng ID cũ, chỉ thêm ID mới cho 2 bài mới.
  1. Mỗi node mạng lưu dữ liệu (có thể dữ liệu node muốn phân phối, thêm dữ liệu node mở gần đây) và phần index giúp tra cứu nội dung trên mạng.
  2. Muốn mở file, nhờ mạng tra ID kết nối ai có. Hệ thống đặt tên IPNS chuyển tên đọc được người thành ID máy đọc được hệ thống tìm.

Dịch đơn giản hơn: IPFS đặt tên mỗi mảnh dữ liệu, làm danh sách dữ liệu sống đâu tại thời điểm, giúp thiết bị gửi dữ liệu trực tiếp cho nhau.

Cách hoạt động: phiên bản kỹ thuật

Ba thứ chính làm IPFS chạy: content addressing (địa chỉ nội dung) gán danh tính dữ liệu, Merkle-DAGs cho cấu trúc, distributed hash tables (bảng hash phân tán) cho biết tìm đâu.

Content addressing: cái gì, không phải ở đâu

Hầu hết nội dung hiện tại dùng địa chỉ dựa vị trí (C:/Users/Username/Documents, 192.124.249.3, v.v.) chỉ nơi tìm dữ liệu. Không chạy hệ thống phi tập trung, vì nội dung lưu gần như đâu cũng được, nên IPFS và BitTorrent dùng "content addressing".

Hệ thống content addressing chạy mảnh dữ liệu qua thuật toán gán ID duy nhất, hoặc hash. Mọi bản sao giống file có cùng ID, nghĩa IPFS tra tìm thấy mọi instance lưu trên mạng.

Merkle-DAGs: mọi thứ có CID, và đều kết nối

Nghe như đảng chính trị Đức, Merkle-DAG (Directed Acyclic Graph) thực sự cách tổ chức dữ liệu. Hệ thống này mọi mảnh dữ liệu có CID (Content ID) riêng: thư mục, file, block dữ liệu trong file – mọi thứ. Nghĩa file chia phần, xác thực, ghép lại.

Tài liệu IPFS mô tả "rùa một đường xuống dưới" (turtles all the way down), vì mọi thứ phân rã thành tập hợp dữ liệu nhận diện CID. CID thư mục dẫn tập hợp CID file/thư mục, CID đó dẫn CID khác đại diện mảnh nội dung khác, cũng có CID riêng. Thay đổi file bất kỳ làm hash file và hash thư mục thay đổi.

Dữ liệu không thực sự sống đây – chỉ nói tìm đâu và ghép mảnh như thế nào khi có. Merkle-DAG về cơ bản给所有这些ID结构,很像电脑文件系统。

Distributed hash tables: IPFS định vị nội dung như thế nào

Làm sao tìm ai có dữ liệu muốn? Cơ bản, cơ sở dữ liệu lớn khớp CID với vị trí máy host nội dung đó, và chính cơ sở dữ liệu chia giữa mọi người mạng. Khi yêu cầu mảnh nội dung CID, máy bạn tìm CID cho đến khi thấy danh sách người có. Máy bạn kết nối những người đó, tải mảnh cần, ghép lại. Đó là distributed hash table – về cơ bản danh sách lớn ai có gì.

IPFS cool, nhưng có bùng nổ không?

IPFS bắt đầu 2015, tiến bộ nhanh. Chục app/site xây trên nó: hệ thống lưu file blockchain (Filecoin), thay thế GeoCities (Neocities). Đánh trúng mix phi tập trung và user-friendly, nên thành go-to dự án muốn phi tập trung, như Sociall (mạng xã hội phi tập trung) và Brave.

IPFS gateway Cloudflare hit lớn, dùng mạng dễ hơn bao giờ; chỉ tải chương trình cài extension trình duyệt. Tất nhiên, tranh luận có phải giải pháp tốt nhất – xa từ dự án duy nhất cùng tầm nhìn – nhưng không chậm lại. Dù không thay thế hoàn toàn HTTP, chắc chắn có vẻ sẽ là phần Internet phiên bản tới.