IPFS (Hệ thống tệp liên hành tinh) là một hệ thống phân tán dành cho nội dung ngang hàngLưu trữvà truyền tải. Không giống như các nhà cung cấp dịch vụ Internet truyền thống, hệ thống này được phân quyền và không bị kiểm soát bởi bất kỳ tổ chức tập trung nào. Bất kỳ ai cũng có thể tham gia vào hệ thống, trở thành nút và đóng góp bộ nhớ nhàn rỗi trong thiết bị máy tính của mình để lưu trữ và chia sẻ nội dung (tệp).
Ví dụ: khi bạn tìm kiếm một thuật ngữ trên Wikipedia, máy tính của bạn sẽ yêu cầu máy chủ tập trung của Wikipedia chia sẻ nội dung liên quan với bạn. Trong IPFS, máy tính của bạn sẽ yêu cầu các thiết bị máy tính khác chia sẻ nội dung với bạn.
IPFS được Protocol Labs thành lập vào năm 2015. Nó cam kết xây dựng một hệ thống kết nối nhiều nơi khác nhau và thậm chí cả vũ trụ giữa các vì sao. Đây cũng là nguồn gốc của tên IPFS.
Địa chỉ nội dung (Địa chỉ nội dung) là phương pháp sử dụng chính nội dung đó chứ không phải vị trí.Phương pháp tìm kiếm để tìm kiếm. Tiếp tục ví dụ trước, khi bạn tìm kiếm “Bitcoin” trong TokenInsight, trình duyệt sẽ chuyển đến một URL cụ thể: https://tokeninsight.com/en/cryptocurrency, là chi tiết tiền tệ của Bitcoin trên trang TokenInsight. Với IPFS, máy tính của bạn sẽ hỏi các thiết bị máy tính khác sở hữu trang đó và yêu cầu các máy tính khác chia sẻ trang đó với bạn. Nội dung ở đây có thể là file, trang web, ứng dụng hoặc Metadata.
Trích dẫn một ví dụ chính thức về IPFS: Khi bạn muốn tìm một cuốn sách trong thư viện, bạn thường tìm nó theo tên sách chứ không phải theo vị trí của nó. . Ít người sẽ nói: Tôi muốn cuốn sách thứ tư bên trái ở hàng thứ ba của kệ sách số 1 trên tầng hai. Bằng cách này nếu cuốn sách bị di chuyển sẽ rất khó tìm thấy.
Khi người dùng tải nội dung lên IPFS, nội dung sẽ được đánh dấu bằng mã định danh duy nhất (CID) và được lưu trữ trên nút, sau đó hệ thống sẽ truyền bá nội dung đến toàn bộ mạng (nghĩa là được lưu trữ trong nhiều nút mạng) . Để đảm bảo tốc độ của mạng, IPFS có thể chia nội dung được tải lên thành nhiều phần và mỗi phần được đánh dấu bằng CID và được lưu trữ riêng biệt. Sau đó, hệ thống sẽ sử dụng cấu trúc dữ liệu có tên Merkle DAG để liên kết và sắp xếp dữ liệu.
Nếu người dùng muốn tìm nội dung cụ thể, họ có thể tìm kiếm CID tương ứng và hệ thống sẽ tìm ra tác nhân nào sở hữu nội dung đó và yêu cầu họ cung cấp nội dung đó cho người yêu cầu.
Truy xuất nội dung IPFS thông qua Mã định danh nội dung (CID) để đạt được. Mỗi tệp/tệp phụ trong mạng IPFS sẽ có một ID duy nhất, đó là CID. CID là hàm băm của thông tin của mỗi tệp, được lấy từ chính nội dung đó. Do đó, cùng một nội dung sẽ tạo ra cùng một CID và mọi thay đổi về nội dung sẽ được phản ánh trực tiếp trong CID.
IPFS sử dụng thuật toán băm sha-256 theo mặc định nhưng hỗ trợ nhiều thuật toán khác.
Để cấu trúc/xử lý CID trong mạng, IPFS sử dụng cấu trúc dữ liệu Merkle DAG. Merkle DAG là viết tắt của Đồ thị tuần hoàn được định hướng Merkle, có nguồn gốc từ DAG.
DAG Merkle là gì?
Chúng ta có thể chia Merkle DAG thành bốn từ. Trước hết, Graph là một biểu đồ dùng để thể hiện mối quan hệ giữa các đối tượng khác nhau, bao gồm các đối tượng (còn gọi là nút) và các cạnh. Directed đề cập đến hướng, mỗi cạnh có một hướng, trỏ tới đối tượng tiếp theo. Acycle có nghĩa là không có chu trình nào trong biểu đồ và mỗi đối tượng không trỏ đến đối tượng trước đó. DAG trong tiếng Trung là đồ thị chu kỳ có hướng. Merkle DAG là một loại DAG. Mỗi đối tượng trong Merkle DAG có một ID duy nhất, là hàm băm của nội dung.
Để đảm bảo tốc độ hoạt động của mạng, IPFS sẽ chia nội dung (tệp) được người dùng tải lên thành các khối/tệp con nhỏ (ví dụ: mỗi khối 256KB) và mỗi khối nhỏ khối sẽ được lưu trữ trong một khối và sau đó sử dụng Merkle DAG để kết nối từng khối. Merkle DAG có thể được sử dụng để hiển thị mối quan hệ giữa từng phần nội dung và các tệp phụ của nó và thậm chí có thể được sử dụng để phân loại các tệp (tương tự như các thư mục và tệp).
Tính năng của Merkle DAG:
Trong IPFS Trên Internet, người dùng có thể sử dụng Distributed Hash Table để tìm nội dung mục tiêu, tức là ai sở hữu nội dung bạn muốn và vị trí của người đó ở đâu.
Bảng băm đề cập đến một cơ sở dữ liệu bao gồm các khóa và giá trị. Mỗi giá trị có một khóa tương ứng duy nhất nên người dùng có thể tìm thấy giá trị thông qua khóa. Key ở đây có thể hiểu là CID, còn giá trị có thể hiểu là nội dung. Bảng băm phân tán có nghĩa là có nhiều người tham gia trong hệ thống và mỗi người tham gia có một Bảng băm, người dùng có thể xem Bảng băm của những người tham gia để tìm nội dung họ muốn.
Bảng băm phân tán phù hợp để tìm kiếm thông tin với lượng lớn dữ liệu, vì mỗi định dạng khóa đều nhất quán và mỗi người tham gia sẽ phân loại dữ liệu để nâng cao hiệu quả truy xuất dữ liệu . .
Khi người dùng xác định được nội dung mục tiêu mà họ muốn, họ sẽ thiết lập liên hệ với thiết bị máy tính của người tham gia và lấy được nội dung mục tiêu (quá trình này sẽ được hoàn thành thông qua mô-đun Bitswap trên IPFS). Sau khi nhận được tệp mục tiêu, người dùng có thể xác nhận xem CID của nội dung nhận được và nội dung mục tiêu có nhất quán hay không.
Hiện tại, một số dự án web3 đã sử dụng IPFS làm cơ sở hạ tầng lưu trữ, trải rộng trên nhiều lĩnh vực khác nhau, chẳng hạn như Filecoin (nhà cung cấp dịch vụ lưu trữ), Audius (nhà cung cấp dịch vụ âm nhạc phi tập trung), Pinata (nhà cung cấp dịch vụ lưu trữ NFT), OpenBazaar (nền tảng thương mại điện tử ngang hàng), Morpheus.Network (nhà cung cấp dịch vụ mạng chuỗi cung ứng), v.v.
Có thể bạn quan tâm:
- Arweave là gì?
- Sổ cái phân tán là gì?