ERC-721: Standar Token Non-Fungible (NFT) yang Mendasari Pasar NFT $40 Miliar

Penulis Entriken, William; Shirley, Dieter; Evans, Jacob; Sachs, Nastassia
Tahun 2018
Proyek Ethereum (EIP-721)
Lisensi MIT
Sumber Resmi eips.ethereum.org/EIPS/eip-721
Disclaimer: Halaman ini merupakan ringkasan dan analisis edukatif dari whitepaper atau makalah teknis resmi. Konten ini disajikan untuk tujuan pendidikan semata dan bukan merupakan saran investasi atau keuangan. Selalu baca dokumen asli dan lakukan riset mandiri sebelum mengambil keputusan keuangan apa pun.

EIP-721 (ERC-721) — ditulis oleh William Entriken, Dieter Shirley, Jacob Evans, dan Nastassia Sachs, diajukan 24 Januari 2018 (status Final Juni 2018) — mendefinisikan antarmuka standar untuk token non-fungible (NFT) di Ethereum: token di mana setiap unit memiliki identifier unik, membedakannya dari token ERC-20 yang fungible. ERC-721 memungkinkan kepemilikan digital atas aset unik termasuk seni, kolektibel, nama domain (ENS), tiket acara, item game, dan representasi aset dunia nyata — standar yang mendasari setiap koleksi NFT besar dari CryptoKitties hingga pasar NFT senilai $40 miliar+ pada puncaknya tahun 2021.

Mengapa Non-Fungible?

Token ERC-20 bersifat fungible — setiap 1 USDC identik dengan USDC lainnya; saldo hanyalah hitungan. Beberapa aset perlu dibedakan secara individual:

  • CryptoKitties — setiap kucing unik; kucing spesifik mana yang Anda miliki itu penting.
  • Nama domain (ENS) — setiap nama unik.
  • Seni — setiap karya seni unik.
  • Akta properti — setiap properti unik.

ERC-721 menyediakan primitif teknis: kontrak yang melacak kepemilikan token ID bernomor individual, di mana memiliki token #42 berbeda dari memiliki token #43.

Fungsi Inti: ownerOf

Primitif inti ERC-721:

function ownerOf(uint256 _tokenId) external view returns (address);

Berbeda dengan balanceOf(address) ERC-20 yang mengembalikan hitungan, ownerOf(tokenId) ERC-721 mengembalikan satu alamat — pemilik token unik spesifik itu. Ini perbedaan fundamental: NFT diindeks berdasarkan ID token, bukan berdasarkan alamat.

safeTransferFrom: Mencegah Token Hilang

Varian safeTransferFrom memeriksa apakah alamat penerima adalah kontrak — jika ya, ia memanggil onERC721Received pada kontrak penerima, memastikan penerima dapat menangani token. Ini memperbaiki masalah ERC-20 di mana token yang dikirim ke kontrak hilang permanen.

setApprovalForAll: Kritis untuk Marketplace

Fungsi setApprovalForAll(operator, disetujui) sangat penting untuk marketplace NFT (OpenSea, Blur, LooksRare): pengguna menyetujui kontrak marketplace sebagai operator satu kali; marketplace kemudian dapat mendaftarkan dan menjual NFT mana pun dari pengguna tanpa memerlukan persetujuan per token.

tokenURI: Tautan ke Metadata

Ekstensi metadata opsional (banyak diimplementasikan) menyertakan tokenURI(tokenId) — mengembalikan URL atau hash IPFS yang menunjuk ke file JSON dengan nama, deskripsi, URL gambar, dan atribut NFT.

Kerentanan kritis: Jika tokenURI menunjuk ke server terpusat (https://), operator server dapat mengubah atau menghapus metadata. CID IPFS atau metadata sepenuhnya on-chain (SVG ber-encoding base64) memberikan keabadian. Banyak proyek NFT besar (BAYC v1) menggunakan server terpusat, menciptakan risiko sentralisasi metadata.

Kronologi NFT

  • 23 Juni 2017 — CryptoPunks (Larva Labs) diluncurkan — 10.000 karakter pixel art unik; pertama kali dianggap koleksi NFT Ethereum utama.
  • 28 November 2017 — CryptoKitties diluncurkan; popularitasnya yang belum pernah ada sebelumnya memacetkan Ethereum (~30% dari semua transaksi pada puncaknya).
  • 24 Januari 2018 — EIP-721 diajukan.
  • 21 Juni 2018 — EIP-721 mencapai status Final.
  • 11 Maret 2021 — “Everydays: The First 5000 Days” Beeple terjual di Christie’s seharga $69,3 juta — momen monumental kesadaran mainstream NFT.
  • 2021 — BAYC diluncurkan; pasar NFT global melampaui $40 miliar volume tahunan.

ERC-6551: Token-Bound Accounts

ERC-6551 (2023) memperluas ERC-721: NFT yang memiliki wallet — setiap NFT dapat bertindak sebagai akun Ethereum yang dapat memiliki token, berinteraksi dengan kontrak, dan memiliki NFT lain. Ini memungkinkan NFT yang mewakili karakter game untuk secara langsung memegang inventaris mereka.

Istilah Terkait

Referensi