Mục lục
Nội dung này phục vụ mục đích giáo dục, không phải lời khuyên đầu tư hoặc tín hiệu giao dịch.
Trả lời ngắn: NFT là token có mã nhận diện riêng trong một smart contract, dùng để theo dõi một đơn vị có thể phân biệt với đơn vị khác. NFT ghi ai đang nắm token và có thể trỏ tới metadata, nhưng bản thân token không tự bảo đảm file, độ hiếm, tính chính hãng, bản quyền hay giá trị thị trường.
Đọc xong, bạn sẽ hiểu:
- Một NFT được nhận diện bằng contract address và token ID như thế nào.
- Token, metadata, file hình và quyền pháp lý khác nhau ở đâu.
- Cách kiểm collection, owner, URI, approval và quyền admin mà chưa dùng tiền thật.
1. NFT là một mục riêng trong sổ cái
a. “Không thể thay thế” nghĩa là gì?
Fungible nghĩa là các đơn vị cùng loại có thể thay nhau theo tỷ lệ như nhau. Một tờ 100.000 đồng hợp lệ có thể đổi lấy tờ 100.000 đồng khác mà giá trị danh nghĩa không đổi. Non-fungible nghĩa là từng đơn vị cần được phân biệt. Vé ghế A12 và vé ghế B03 cùng vào một buổi diễn, nhưng không phải cùng một chỗ.
NFT viết tắt của non-fungible token. Trên Ethereum, ERC-721 chuẩn hóa cách smart contract theo dõi các token phân biệt được. Mỗi token có một tokenId; cặp contract address + token ID tạo thành định danh đầy đủ cho token trên chain đó (EIP-721). Token ID 42 của contract A không phải token ID 42 của contract B.
Ví dụ đời thường gần nhất là số khung xe. Con số không phải chiếc xe; nó giúp hệ thống chỉ đúng một hồ sơ. Tương tự, NFT không nhất thiết chứa cả bức ảnh trong token. Nó là mục onchain chỉ ra owner, trạng thái chuyển nhượng và có thể trỏ tới dữ liệu mô tả bên ngoài.
b. NFT không đồng nghĩa ảnh đắt tiền
NFT có thể đại diện cho vật phẩm game, vé, membership, tên miền, chứng chỉ hoặc một mục sưu tầm. Ethereum.org mô tả ERC-721 như giao diện chuẩn cho non-fungible token và ví dụ nó có thể hoạt động giống chứng thư cho tác phẩm hay bài hát (Ethereum.org — Token Standards). “Giống chứng thư” không có nghĩa mọi quyền đối với tài sản đều tự chuyển.
Hình 1 — Token là hồ sơ onchain; file và quyền sử dụng nằm ở những lớp phải kiểm riêng.
2. Bốn lớp tạo nên trải nghiệm NFT
a. Token contract và owner
Lớp đầu là smart contract. Với ERC-721, hàm ownerOf(tokenId) cho biết địa chỉ đang nắm token. Sự kiện Transfer ghi lại lúc token được mint, chuyển hoặc burn. approve có thể cho một địa chỉ quyền chuyển một token; setApprovalForAll cho operator quyền quản lý toàn bộ NFT của owner trong collection đó.
Lớp thứ hai là wallet owner. Blockchain biết một địa chỉ đang nắm token, không tự biết tên thật người phía sau. Nếu seed phrase bị lộ và NFT bị chuyển đi bằng transaction hợp lệ, chain vẫn ghi owner mới. “Onchain” không tự mang theo dịch vụ hoàn tiền.
b. Metadata và file
Lớp thứ ba là metadata — dữ liệu mô tả như tên, thuộc tính và đường dẫn ảnh. ERC-721 có extension tùy chọn tokenURI(tokenId), trả về một URI có thể trỏ tới JSON metadata. Lớp thứ tư là file media mà JSON nhắc tới. File có thể nằm onchain, trên hệ thống lưu trữ phân tán hoặc trên server thông thường.
Hãy theo đường sau:
Contract + Token ID → tokenURI → JSON metadata → image URI → file
Mỗi mũi tên là một giả định. URI có thể thay đổi nếu contract cho phép; server có thể dừng; gateway có thể lỗi; file mới có thể khác file cũ. Nếu metadata được lưu bất biến và content hash khớp, rủi ro thay file giảm, nhưng vẫn cần kiểm contract thật và quyền pháp lý.
Hình 2 — Nắm token không tự động đồng nghĩa nắm file, máy chủ lưu file hoặc bản quyền tác phẩm.
c. ERC-721 và ERC-1155
ERC-721 phù hợp khi từng token ID là một đơn vị riêng. ERC-1155 cho phép một contract quản lý nhiều loại token; một ID có thể có số lượng lớn hơn một, đồng thời hỗ trợ chuyển theo batch. Chuẩn ERC-1155 yêu cầu sự kiện đủ để dựng lại số dư và định nghĩa URI metadata cho từng loại token (EIP-1155).
Ví dụ, game có thể dùng ERC-721 cho từng thanh kiếm có lịch sử riêng, còn ERC-1155 cho 1.000 vé tăng lực cùng loại. Đây là cách hiểu mô hình, không phải quy tắc bắt buộc: thiết kế cụ thể phụ thuộc contract.
3. Mint, chuyển và bán là ba việc khác nhau
a. Mint tạo token, không tự tạo giá trị
Mint là tạo token mới theo logic contract. Với ERC-721, sự kiện Transfer thường ghi địa chỉ gửi là zero address khi token được tạo. Mint không chứng minh người mint là tác giả, không chứng minh file độc nhất và không tạo nhu cầu thị trường. Bất kỳ ai cũng có thể deploy contract có tên hoặc hình gần giống collection khác.
Transfer đổi owner onchain. Transfer có thể là gửi tặng, bán qua marketplace hoặc contract khác thực hiện sau approval. Sale là thỏa thuận đổi NFT lấy tiền/token; logic sale thường nằm ở marketplace contract, không phải chức năng bắt buộc của ERC-721.
Giả sử Lan sở hữu NFT 0xABC... / #42. Lan cấp setApprovalForAll cho marketplace X. Khi khớp lệnh, marketplace có thể gọi chuyển #42 sang người mua và chuyển tiền theo logic giao dịch. Nếu Lan ký approval cho contract giả, kẻ xấu có thể chuyển nhiều NFT trong collection mà không cần hỏi lại từng token.
b. Royalty không phải lời hứa tuyệt đối
Một collection có thể công bố royalty — khoản trả cho creator khi bán lại. Nhưng việc marketplace có thực thi hay không phụ thuộc chuẩn, contract và chính sách nền tảng. NFT tồn tại onchain không tự bảo đảm royalty sẽ luôn được trả. Người mới nên tách “dữ liệu royalty được khai” khỏi “cơ chế cưỡng chế thanh toán”.
4. NFT không tự chuyển bản quyền
a. Token ownership khác copyright
Khi mua một cuốn sách, bạn sở hữu bản sách nhưng không tự có quyền in thêm và bán bản sao. Với NFT cũng vậy. Token ownership là quyền kiểm soát token theo contract. Copyright là quyền pháp lý đối với tác phẩm. Quyền xem, dùng thương mại, sửa, in hoặc cấp phép phải đến từ điều khoản riêng và pháp luật áp dụng.
WIPO lưu ý người mua NFT không mặc nhiên sở hữu copyright của tác phẩm liên quan; các quyền phụ thuộc thỏa thuận hoặc license đi kèm (WIPO — Digital Music Landscape). Vì vậy câu “NFT này là của tôi” phải hỏi tiếp: bạn nắm token nào, file ở đâu và license cho phép làm gì?
b. Sai lầm và giới hạn
Sai lầm thứ nhất là kiểm tên collection nhưng không kiểm contract address. Tên và hình có thể sao chép. Sai lầm thứ hai là thấy file trên IPFS rồi kết luận bất biến, nhưng metadata hoặc URI có thể vẫn đổi. Sai lầm thứ ba là nhầm rarity do website tính với thuộc tính được contract bảo đảm.
Sai lầm thứ tư là ký setApprovalForAll mà không đọc operator. Sai lầm thứ năm là gửi NFT tới contract không hỗ trợ receiver interface. ERC-721 có safeTransferFrom để receiver contract xác nhận khả năng nhận; dùng sai đường chuyển vẫn có thể làm tài sản mắc kẹt.
NFT có giới hạn: chain chứng minh lịch sử của token theo quy tắc contract, không chứng minh mọi claim ngoài đời là thật. Nếu không xác minh được contract, creator channel, metadata, license hoặc quyền upgrade, nên đứng ngoài.
5. Checklist read-only và bài tập 15 phút
a. Tám điểm cần kiểm
- Chain: NFT nằm trên mạng nào?
- Contract: address có từ kênh chính thức không?
- Standard: ERC-721, ERC-1155 hay interface khác?
- Token ID: ID nào; owner hiện tại là địa chỉ nào?
- Metadata: tokenURI trỏ đâu; JSON chứa gì?
- Storage: file onchain, content-addressed hay server thay đổi được?
- Rights: license cho phép sử dụng gì; điều gì không được phép?
- Control: ai có quyền mint, đổi URI, upgrade, pause hoặc quản lý approval?
Hình 3 — Kiểm đúng token trước, rồi mới lần theo file và quyền; không suy ngược từ hình ảnh đẹp.
b. Bài tập không kết nối ví
Mở block explorer miễn phí. Chọn một contract ERC-721 đã xác minh mã nguồn từ trang tài liệu chính thức. Chưa kết nối ví, chưa approve và chưa mua. Tìm ownerOf, tokenURI, các sự kiện Transfer và quyền admin nếu có.
Mẫu đối chiếu đã điền
| Trường | Giá trị minh họa |
|---|---|
| Chain | Ethereum |
| Contract | Lấy từ kênh chính thức, không từ quảng cáo |
| Standard | ERC-721 |
| Token ID | 42 |
| Owner | 0x1234...abcd |
| tokenURI | ipfs://bafy.../42.json |
| File | URI trong JSON, cần kiểm content hash |
| License | Chưa tìm thấy — không giả định có quyền thương mại |
| Điểm dừng | Contract chưa xác minh hoặc URI có thể đổi |
Câu đoán chắc sai là: “Ảnh nằm trên IPFS nên NFT an toàn và chính hãng.” Câu có điều kiện tốt hơn: “File khó bị thay nếu content hash đúng, nhưng vẫn phải kiểm contract chính thức, metadata, owner và license.” Kết quả đạt là bạn chỉ ra được bốn lớp token–metadata–file–rights mà chưa dùng tiền thật.
6. Tổng kết
a. Năm ý chính
- NFT là token phân biệt được, nhận diện bằng contract address và token ID.
- Owner onchain, metadata, file media và quyền pháp lý là bốn lớp khác nhau.
- ERC-721 theo dõi từng token; ERC-1155 hỗ trợ nhiều loại và số lượng trong một contract.
- Mint, transfer và sale là ba hành động khác nhau.
- Phải kiểm contract, URI, storage, license, admin và approval trước khi tin claim.
b. Câu hỏi tự kiểm tra
- Vì sao token ID 42 chưa đủ để chỉ đúng một NFT?
tokenURIthường dẫn người đọc qua những lớp nào?- Nắm NFT có tự động cho quyền in và bán tác phẩm không?
- Vì sao
setApprovalForAllcần kiểm kỹ?
c. Gợi ý đáp án
Xem gợi ý câu 1
Cần ghép token ID với contract address và chain. Xem mục 1.
Xem gợi ý câu 2
URI thường dẫn tới JSON metadata, rồi JSON trỏ tới file media. Xem mục 2.
Xem gợi ý câu 3
Không; copyright và license là lớp pháp lý riêng. Xem mục 4.
Xem gợi ý câu 4
Nó có thể cho operator quyền chuyển toàn bộ NFT của collection. Xem mục 3.
d. Thuật ngữ cần nhớ
| Thuật ngữ | Giải thích ngắn |
|---|---|
| NFT | Token có đơn vị nhận diện riêng. |
| Token ID | Mã của token trong một contract. |
| ERC-721 | Chuẩn giao diện cho non-fungible token. |
| ERC-1155 | Chuẩn quản lý nhiều loại token và batch. |
| Metadata | Dữ liệu mô tả token và đường dẫn file. |
| tokenURI | URI trả về metadata của token. |
| Mint | Tạo token mới theo logic contract. |
| Approval | Quyền cho operator chuyển token. |
| Copyright | Quyền pháp lý đối với tác phẩm. |
e. Nguồn tham khảo
- EIP-721 — Non-Fungible Token Standard
- EIP-1155 — Multi Token Standard
- Ethereum.org — Token Standards
- WIPO — Digital Music Landscape
Bài tiếp theo là DAO là gì? #25 — cách một nhóm dùng proposal, vote và treasury để phối hợp quyết định onchain.
Nội dung này phục vụ mục đích giáo dục, không phải lời khuyên đầu tư hoặc tín hiệu giao dịch. Mọi thị trường đều có rủi ro mất vốn.
Bài tiếp theo