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à một bản ghi có mã riêng trên blockchain, giống số hồ sơ dùng để chỉ đúng một mục. Bản ghi cho biết địa chỉ nào đang giữ token và có thể dẫn tới dữ liệu như tên hoặc hình ảnh; nó không tự biến dữ liệu đó thành hàng chính hãng hay chuyển bản quyền.
Đọ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, nghĩa là token có mã nhận diện riêng thay vì mọi đơn vị đều giống nhau. Mỗi NFT được nhận diện bằng hai thông tin: địa chỉ của chương trình đã tạo NFT và mã riêng của NFT đó. Trên Ethereum, chuẩn ERC-721 quy định cách chương trình lưu và cập nhật hai thông tin này. Xem quy tắc kỹ thuật tại EIP-721. Vì vậy, NFT mã 42 do chương trình A tạo không phải NFT mã 42 do chương trình B tạo.
Muốn chỉ đúng một NFT, cần ba thông tin: blockchain, địa chỉ contract và token ID. Token ID 42 trên Ethereum trong contract A khác token ID 42 trên mạng khác hoặc trong 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. Hàm ownerOf cho biết địa chỉ đang giữ một NFT. Quyền approve cho phép địa chỉ khác chuyển một token; setApprovalForAll có thể cho một bên chuyển mọi NFT của bạn trong cùng contract cho tới khi quyền bị thu hồi.
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 kẻ xấu lấy được cụm từ khôi phục, họ có thể tạo chữ ký mà blockchain kiểm là đúng về mặt kỹ thuật. Mạng sẽ ghi địa chỉ nhận mới dù chủ thật không đồng ý; blockchain không tự biết đây là vụ trộm để hoàn tiền.
b. Metadata và file
Contract thường lưu hoặc trả một đường dẫn tới tệp mô tả. Tệp mô tả lại chứa đường dẫn tới ảnh. Hãy kiểm đường dẫn nằm trên máy chủ hay hệ lưu trữ theo mã nội dung, và ai có quyền đổi đường dẫn trong contract.
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 thường dùng khi mỗi token là một món riêng. ERC-1155 có thể dùng một ID cho cả loại vật phẩm và ghi mỗi ví đang giữ bao nhiêu bản, chẳng hạn 1.000 vé tăng lực cùng loại.
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 tạo bản ghi NFT mới. Transfer đổi địa chỉ sở hữu. Sale thêm bước thanh toán theo quy tắc của sàn hoặc contract bán. Một số sàn chỉ nhận quyền chuyển; số khác có thể giữ tài sản, nên phải kiểm quyền cụ thể trước khi ký.
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
Royalty có thể được sàn cộng vào phí người mua hoặc trừ từ tiền người bán nhận, tùy cơ chế. Việc contract công bố mức royalty không bắt mọi marketplace hay giao dịch chuyển trực tiếp phải thu khoản đó. 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
IPFS có thể giúp kiểm một file có đúng với mã nội dung hay không, nhưng contract hoặc metadata vẫn có thể đổi sang mã khác nếu có quyền cập nhật. Trước khi chuyển NFT cho một contract, xác minh contract đó hỗ trợ nhận NFT và có đường rút lại.
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 |
Mã nội dung giúp kiểm file tải về có đúng với mã đã công bố, nhưng không chứng minh ai tạo file, collection có chính hãng hay contract không đổi đường dẫn. Phải kiểm riêng contract, quyền cập nhật và giấy phép sử dụng. 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