Trong hai năm qua, cơn sốt NFT đã càn quét thế giới. Đúc NFT trên các chuỗi khối khác nhau đã trở nên phổ biến. Tuy nhiên, việc lưu trữ các tài sản NFT này thường bị bỏ qua. IPFS, còn được gọi là Hệ thống tệp liên hành tinh, đã trở thành một tiêu chuẩn chung để lưu trữ tài sản NFT.
Một chi tiết thường bị bỏ qua là bản thân IPFS không phải là mạng lưu trữ. Đó là nhiều hơn một giao thức định tuyến và vận chuyển dữ liệu. Mạng IPFS là tập hợp các nút trao đổi thông tin. Các mục nhập tệp có thể được "ghim" vào IPFS DHT công khai (Bảng băm phân tán), cho phép các nút khác trên mạng biết máy chủ nào đang lưu trữ tệp nào.
Trong hệ sinh thái IPFS, có nhiều cổng công cộng. Một số cổng này cho phép bạn tải tệp lên, nhưng thường không có gì đảm bảo rằng tệp của bạn sẽ vẫn trực tuyến. Trừ khi tệp được ghim rõ ràng bởi một nút IPFS, tệp sẽ bị xóa vào lần tiếp theo khi quá trình thu gom rác chạy. Điều này cho thấy một số vấn đề với bộ lưu trữ NFT.
Để giải quyết vấn đề này, một số nhà cung cấp ghim khác đã xuất hiện. Với một khoản phí, các nhà cung cấp này cho phép bạn tải tệp lên và đề nghị ghim chúng cho bạn.
Tuy nhiên, điều này đặt ra một câu hỏi mới, những tệp này thực sự được lưu trữ ở đâu? Các nhà phát triển đã dành rất nhiều thời gian để nghiên cứu vấn đề này và thông qua việc phân tích gần 1 tỷ tệp, họ đã tìm thấy các vấn đề sau:
1. Hầu hết các nhà cung cấp dịch vụ ghim IPFS đều sử dụng Amazon S3 và các dịch vụ lưu trữ đối tượng tập trung khác trong nền. "Kho dữ liệu" của máy chủ IPFS có thể được trỏ tới S3 bằng cách sử dụng plugin đơn giản.
2. Vì tôi đang sử dụng AWS S3 nên nhà cung cấp đang tính phí lên tới $150 mỗi TB!
3. Nếu AWS S3 bị lỗi, máy chủ IPFS của bạn cũng sẽ bị lỗi. Trừ khi dữ liệu đã được lưu vào bộ nhớ cache ở đâu đó, liên kết IPFS CID của bạn sẽ không thể truy cập được nữa. Điều này có thể dẫn đến các vấn đề như "kéo thảm" với NFT.
4. Hệ thống có cấu hình này cũng giới thiệu một cách rất đặc biệt để truy cập AWS S3. Nếu chúng ta quá phụ thuộc vào AWS, tại sao không sử dụng một URL HTTP đơn giản?
Các nhà phát triển đã đưa ra giải pháp cho các vấn đề được liệt kê ở trên và sẽ mang lại lợi ích cho toàn bộ hệ sinh thái tiền điện tử. Nói một cách đơn giản, xây dựng Web3 với Web3.
Tất cả các tệp được ghim vào IPFS bằng Filebase thực sự được lưu trữ trên Sia, một trong những mạng lưu trữ phi tập trung hàng đầu. Điều này tạo ra một môi trường trong đó lớp lưu trữ dữ liệu của các nút IPFS có tính khả dụng cao và quan trọng nhất là dư thừa về mặt địa lý. Bằng cách sử dụng mạng phi tập trung để lưu trữ, chúng tôi không còn phụ thuộc vào các nhà cung cấp đám mây về khối lượng lưu trữ khối (AWS EBS) hoặc bộ chứa lưu trữ tập trung (AWS S3).
Làm cách nào để ghim dữ liệu trên IPFS? Dễ dàng, bạn có hai lựa chọn:
1. Sử dụng giao diện kéo và thả đơn giản trong bảng điều khiển Filebase
2. Sử dụng API tương thích với S3 đơn giản
Khi bạn tải một tệp lên, một IPFS CID (Mã định danh nội dung) sẽ được trả về. Sau đó, bạn có thể sử dụng CID này để truy cập dữ liệu của mình từ nút IPFS của riêng bạn hoặc bất kỳ cổng IPFS nào khác trên internet công cộng. CID được hiển thị rõ ràng trong bảng điều khiển và chúng cũng có thể được truy xuất theo chương trình.
Sau khi mở nhóm IPFS từ bảng điều khiển, sẽ có một cột CID. Bạn có thể nhấp vào bất kỳ CID nào và nó sẽ tự động được sao chép vào khay nhớ tạm.
Trang tổng quan về đối tượng cũng sẽ hiển thị cho bạn CID cùng với các chi tiết khác:
Nếu bạn đang sử dụng API tương thích với S3, thì CID sẽ được trả về trong phản hồi đối với lệnh gọi PutObject. Ví dụ: nếu chúng tôi chạy lệnh AWS CLI sau:
Câu trả lời được hiển thị bên dưới. Để thuận tiện, các tiêu đề phản hồi tương ứng được tô sáng
Chúng tôi cũng có thể gọi API HeadObject bất cứ lúc nào để lấy CID:
Giờ đây, chức năng IPFS đã hoạt động, các nhà phát triển có kế hoạch tiếp tục xây dựng tích hợp này hơn nữa!
