
IPFS (InterPlanetary File System) là một giao thức, hệ hypermedia và mạng chia sẻ tệp ngang hàng (peer-to-peer) dùng để lưu trữ và phân phối dữ liệu theo cách phi tập trung. Thay vì mô hình HTTP truyền thống nơi bạn biết chính xác máy chủ nào chứa tệp, IPFS định danh mỗi tệp bằng chính nội dung của nó thông qua địa chỉ nội dung, đồng thời dùng bảng băm phân tán (DHT) để lưu thông tin về những node nào đang giữ tệp đó. Kết quả là bạn tải nội dung từ bất kỳ node nào đang có nó, thay vì phụ thuộc vào một máy chủ trung tâm duy nhất.

Địa chỉ nội dung khác với địa chỉ vị trí
Khác biệt cốt lõi giữa IPFS và HTTP nằm ở cách định danh. HTTP định danh tài nguyên theo vị trí: https://example.com/anh.png — nếu máy chủ đó sập hoặc thay đổi nội dung, đường dẫn đó không còn dùng được. IPFS định danh theo nội dung: mỗi khối dữ liệu được băm bằng hàm băm mậm mã, kết quả là một chuỗi định danh gọi là CID (Content Identifier). Hai tệp có nội dung giống hệt nhau sẽ có cùng CID, và nếu đường dẫn đó bị sửa đổi nội dung thì CID sẽ thay đổi theo — tính toàn vẹn dữ liệu được đảm bảo bằng toán học chứ không phải bằng cam kết của máy chủ.
Cơ chế này cũng tạo ra một không gian toàn cầu thống nhất. Nếu hai người cùng đăng tải một khối dữ liệu có cùng hàm băm, các node đang tải từ người thứ nhất cũng sẽ trao đổi dữ liệu với các node đang tải từ người thứ hai. Khác với BitTorrent vốn tách biệt theo từng torrent, IPFS hướng tới một mạng lưới toàn cầu duy nhất, nơi mọi tệp đều tự động kết nối với nhau.
Lịch sử phát triển
IPFS được tạo ra bởi Juan Benet, người sau đó thành lập Protocol Labs vào tháng 5 năm 2014. Bản alpha đầu tiên ra mắt vào tháng 2 năm 2015, và chỉ sau tám tháng, TechCrunch đã mô tả dự án là “lan truyền nhanh chóng qua truyền miệng”. Năm 2018, nhà cung cấp dịch vụ mạng Cloudflare bắt đầu sử dụng IPFS và ra mắt cổng IPFS (IPFS gateway) riêng vào năm 2022. Đến tháng 3 năm 2020, trình duyệt Opera đã cung cấp quyền truy cập vào các tài nguyên của nhà cung cấp tên miền Unstoppable Domains bằng cách lưu trữ nội dung trên IPFS.
Nền tảng cốt lõi của Web3 cũng dựa trên IPFS: Filecoin là tiền mã hoá hiện thực hoá lớp lưu trữ cộng tác dựa trên IPFS, cũng do Protocol Labs phát triển. Nhiều nền tảng NFT và dịch vụ blockchain dùng IPFS làm lớp lưu trữ vì địa chỉ nội dung và lưu trữ phân tán giúp dữ liệu bền vững hơn và giảm phụ thuộc vào máy chủ tập trung.
Bốn tính năng chính
- Lưu trữ theo địa chỉ nội dung: mỗi tệp được định danh duy nhất bằng hàm băm nội dung, đảm bảo tính toàn vẹn và truy xuất hiệu quả
- Kiến trúc ngang hàng: mạng lưới node phân tán chia sẻ tệp trực tiếp, không cần máy chủ tập trung
- Hệ thống tệp có phiên bản: hỗ trợ phiên bản tệp và cho phép theo dõi thay đổi theo thời gian
- Tương thích với ứng dụng phi tập trung: tích hợp với dApp, cung cấp lớp lưu trữ cho hệ sinh thái blockchain và Web3
Thêm vào đó, IPFS gateway cho phép các trình duyệt và công cụ không hỗ trợ IPFS gốc vẫn truy cập được nội dung qua HTTP. Người dùng có thể chọn không cài đặt client IPFS trên thiết bị mà dùng một cổng công cộng. Danh sách các cổng này được duy trì công khai trên trang GitHub của dự án.

Cơ chế hoạt động của DHT
Để tìm ra ai đang giữ tệp có CID cụ thể, các node tra cứu thông tin trong bảng băm phân tán. Mỗi node chỉ lưu một phần nhỏ thông tin về toàn bộ không gian mạng, giống như cách mỗi người chỉ nhớ số điện thoại của vài người bạn quen. Khi cần tìm một tệp, node gửi truy vấn đến các node lân cận, các node này lại truy vấn tiếp, cho tới khi tìm ra node giữ thực sự nội dung. Quá trình này tương tự cách BitTorrent dò tìm peer trong DHT, chỉ khác ở chỗ không gian toàn cầu thống nhất.
Bảng băm phân tán làm cho mạng có khả năng chịu lỗi cao: nếu một node ngừng hoạt động, các node khác vẫn truy vấn được từ những node còn lại. Đây là một trong những lý do IPFS được dùng để đối phó với việc kiểm duyệt nội dung.

Ứng dụng thực tế và rủi ro
IPFS từng chứng minh giá trị chống kiểm duyệt trong các sự kiện thực tế. Trong cuộc trưng cầu độc lập Catalan tháng 9–10 năm 2017 bị Tòa án Hiến pháp Tây Ban Nha tuyên bố vi phạm pháp luật, nhiều trang web liên quan bị chặn, và Đảng Cướp Catalan đã sao chép trang web lên IPFS để vượt qua lệnh cấm của Tòa án Tư pháp cấp cao Catalonia. Khi Wikipedia bị chặn ở Thổ Nhĩ Kỳ, IPFS được dùng để tạo bản sao lưu Wikipedia, giúp người dùng truy cập được nội dung tĩnh đã lưu trữ. Bản sao này sau đó được mở rộng sang nhiều ngôn ngữ như tiếng Anh, Ukraine, Nga, Ả Rập và Trung Quốc, và có thể xem toàn bộ qua một CID tại cổng IPFS.
Tuy nhiên, chính vì tính phi tập trung mà IPFS cũng bị lạm dụng. Từ tháng 7 năm 2018, các cuộc tấn công giả mạo đã được phát tán thông qua cổng IPFS của Cloudflare: HTML lừa đảo được lưu trên IPFS và hiển thị qua cổng Cloudflare, khiến kết nối trông an toàn nhờ chứng thư TLS của Cloudflare. Ngoài ra, mạng botnet IPStorm, lần đầu bị phát hiện vào tháng 6 năm 2019, sử dụng IPFS để giấu máy chủ điều khiển trong luồng dữ liệu hợp lệ của mạng.
Trình duyệt Brave từng thêm hỗ trợ IPFS vào năm 2021, nhưng đến năm 2024 đã gỡ bỏ hỗ trợ node cục bộ và scheme ipfs:// do mức độ sử dụng thấp và thiếu hỗ trợ. Một số thư viện lưu trữ sách như Anna’s Archive và Library Genesis cũng dùng IPFS để phân phối sách. Các dự án liên quan khác còn có Hyphanet, GNUnet, I2P và ZeroNet.
Tóm lại, IPFS là nền tảng kỹ thuật quan trọng cho web phi tập trung, nhưng nó không tự động đi kèm tính riêng tư hay an toàn. Bạn có thể tìm hiểu thêm tại trang chính thức ipfs.tech, tài liệu kỹ thuật về DHT và địa chỉ nội dung trong tài liệu khái niệm của IPFS, và lịch sử dự án tại bài viết IPFS trên Wikipedia.
