Nếu bạn nghĩ sở hữu một mảnh đất ảo trên MetaLand là an toàn, thì ngạc nhiên thay, bạn đang nắm giữ một tấm vé số không có số.
Hồi cuối 2021, tôi nhận được một hợp đồng ICO – không, đó là một dự án NFT mang tên MetaLand. Họ bán đất ảo với giá 15 ETH mỗi lô, TVL chạm 200 triệu USD chỉ sau 2 tuần. Mọi người xếp hàng, mint, rồi khoe trên Twitter. Tôi, với bản năng của một kẻ mổ xẻ lạnh lùng, ngồi xuống đọc smart contract của họ. Và tôi thấy một lỗ hổng chết người: metadata không được lưu trữ on-chain.
Bạn có thể hỏi: metadata là gì? Nó là tấm bản đồ của NFT – mô tả đất của bạn trông ra sao, thuộc khu vực nào, có hiệu ứng gì. MetaLand không lưu metadata trên blockchain. Họ lưu nó trên IPFS, nhưng không phải IPFS phi tập trung thực sự – họ dùng một gateway tập trung do chính đội ngũ kiểm soát. Và tệ hơn, quyền sở hữu trong contract chỉ là một mapping đơn giản, không tuân theo chuẩn ERC-721 đúng nghĩa.
"MetaLand" – cái tên nghe huyền bí, nhưng thực chất là một quả bom hẹn giờ.

Hãy để tôi mổ xẻ. Khi bạn mint một NFT trên OpenSea hoặc bất kỳ thị trường nào, metadata thường được lưu trên một máy chủ trung tâm. Đó là lý do tại sao đôi khi bạn thấy hình ảnh biến mất – máy chủ sập. MetaLand làm điều tương tự, nhưng họ gọi nó là "lưu trữ phi tập trung" để đánh lừa. Trong contract của họ, hàm tokenURI(uint256 tokenId) trả về một URL IPFS. Nhưng URL đó trỏ đến một gateway do họ vận hành. Nếu gateway đó tắt, NFT của bạn trở thành một mảnh dữ liệu trống rỗng – không hình ảnh, không thuộc tính, không giá trị.
Nhưng đó chưa phải là điểm mù lớn nhất. Điều thực sự đáng sợ là cấu trúc sở hữu mơ hồ. Tôi phát hiện ra họ không triển khai đúng chuẩn ERC-721. Thay vì dùng _owners mapping chuẩn, họ tự viết một mapping riêng đơn giản hơn, không có các kiểm tra cần thiết. Điều này có nghĩa là owner của contract có thể gọi một hàm đặc biệt để chuyển bất kỳ token nào mà không cần chữ ký của chủ sở hữu. Nói cách khác, đội ngũ MetaLand có thể lấy lại bất kỳ mảnh đất nào bạn mua, bất cứ lúc nào, mà không cần lý do.
Và bạn biết không? Trong quá trình audit của tôi, tôi thấy họ đã thêm một _allowance bí mật vào từ đầu. Một mapping cho phép admin rút token mà không cần sự đồng ý. Lệnh này không được documentation, không được public, nằm im trong bytecode. Tôi gọi nó là "cánh cửa sau" – một lỗ hổng có chủ đích.
Tôi đã viết một bài phân tích dài 5 trang trên Mirror. Tôi chỉ ra rằng nếu gateway IPFS của họ bị đóng, hoặc nếu admin kích hoạt cánh cửa sau, toàn bộ hệ thống sụp đổ. Bài viết của tôi có 12.000 views. Hai tháng sau, dự án mất 40% giá trị floor price. Một số người bán tháo, số khác cố chấp. Nhưng rồi, vào tháng 6 năm 2022, gateway tắt. Hàng nghìn NFT trở thành ảnh xám. Những người từng tự hào khoe đất MetaLand giờ chỉ còn một đường link chết.
Bài học ở đây là gì? Đừng bao giờ tin vào metadata off-chain. Nếu dự án không lưu trữ metadata on-chain (hoặc ít nhất là trên IPFS phi tập trùng với CID cố định), thì bạn không thực sự sở hữu bất cứ thứ gì. "Sở hữu" trong thế giới NFT không chỉ là tokenID trong contract – nó còn là khả năng chứng minh tài sản của bạn có đặc tính gì. Khi metadata biến mất, token chỉ còn là một con số.
Phần phe bò – những người tin vào MetaLand – họ nói rằng gateway có thể được thay thế, rằng đội ngũ sẽ migrate. Nhưng sự thật là: họ không thể. Bởi vì CID của metadata thay đổi khi bạn sửa nội dung, và contract cũ không cho phép cập nhật URI một cách linh hoạt. Đó là lỗi thiết kế cố hữu. Một dự án nghiêm túc sẽ dùng IPFS với CID cố định và đảm bảo gateway phi tập trung (như dùng Filecoin hoặc Arweave). MetaLand chọn con đường rẻ và dễ – và trả giá.
Nếu bạn đang hold một NFT bất kỳ, hãy kiểm tra contract của nó. Dùng Etherscan, gọi hàm tokenURI. Nếu kết quả là một URL HTTP hay IPFS gateway do dự án kiểm soát, bạn có vấn đề. Hãy đòi hỏi metadata on-chain, hoặc ít nhất là lưu trữ trên Arweave với chữ ký. Đừng để bị lừa bởi những lời hứa về "phi tập trung" mà thực chất là một máy chủ web đơn giản.
Tôi, với 17 năm quan sát ngành, có thể nói: cấu trúc sở hữu mơ hồ là tín hiệu đầu tiên của một vụ sập sắp xảy ra. MetaLand không phải là ngoại lệ. Đó là một quy tắc. Hãy tự hỏi: bạn có thực sự sở hữu NFT của mình, hay bạn chỉ đang thuê một tấm ảnh trên server của người khác?
Câu trả lời, nếu bạn thành thật, sẽ khiến bạn thức trắng đêm.
