spot_img
spot_img

Suka NFT? Mari Berkenalan Dulu dengan ERC-721, Standar Pendukungnya

Anda pasti sudah sangat sering membaca dan mendengar tentang NFT (Non-Fungible Token) atau mungkin membelinya di toko NFT popular seperti OpenSea. Namun, Anda wajib memahami dasar teknologinya, yakni ERC-721.

OLEH: Dimaz Ankaa Wijaya, Ph.D
Peneliti Teknologi Blockchain di Universitas Deakin, Australia

Dunia aset kripto memang sudah berkembang sangat pesat dibandingkan dengan saat pertama kali saya terjun ke industri ini pada tahun 2015.

Saat itu, Bitcoin jadi topik yang paling banyak dibicarakan sebagai mata uang digital baru. Penggunaannya pun ya satu itu: sebagai alat bayar, yang memang jadi tujuan utama Satoshi menciptakan Bitcoin.

Bitcoin punya fitur pemrograman, meski sederhana. Tak banyak yang bisa diciptakan dengan menggunakan model pemrograman sesederhana itu, meskipun ada Colored Coin yang cukup fenomenal, dan ternyata memantik pemikiran Vitalik Buterin untuk menciptakan sebuah aset kripto baru dengan fitur pemrograman yang lebih fleksibel.

Beberapa tahun kemudian, Vitalik, Gavin Wood, dan beberapa orang lainnya meluncurkan Ethereum. Belakangan Gavin Wood menciptakan Polkadot yang juga tak kalah popular.

Ethereum dan Pemrograman Blockchain

Ethereum memberikan kebebasan bagi pemrogram blockchain untuk membuat banyak hal di atas blockchain. Tokenisasi memberikan kesempatan bagi pengembang perangkat lunak untuk menyusun sistem ekonomi baru di atas platform Ethereum.

Standardisasi memberikan angin segar, tidak hanya mempermudah penulisan kode kontrak pintar (smart contract), namun juga memastikan kompatibilitas antarkontrak.

Standar seperti ERC-20 diadopsi sangat luas, tidak hanya dalam lingkup Ethereum saja, melainkan juga platform blockchain berbasis kontrak pintar lain seperti Binance Smart Chain, Solana, NEAR, Polkadot, dan banyak lainnya, yang meski punya nama berbeda tetapi berorientasi pada desain ERC-20. ERC adalah singkatan dari Ethereum Request for Comments.

ERC-20 dan Fungible Token

ERC-20 punya era keemasan di sekitar tahun 2016-2017, saat banyak sekali Initial Coin Offering (ICO) diadakan demi mengumpulkan dana publik.

ERC-20, seperti koin Ether biasa, memiliki karakteristik seperti uang. Token ERC-20 dapat dipertukarkan tanpa kehilangan nilai token tersebut.

Sebuah token ERC-20 dapat ditukar dengan sebuah token ERC-20 lain. Itulah mengapa ERC-20 disebut dengan istilah fungible token (FT).

NFT dan ERC-721

Sementara itu, ada pula standar ERC lain yang karakteristiknya berkebalikan dengan ERC-20. Non-fungible Token atau NFT merupakan istilah yang diberikan pada standar token ERC-721.

Smart Contract, dari Bitcoin ke Ethereum

Setiap token pada NFT merepresentasikan “benda” unik. Setiap token memiliki kode unik yang disebut tokenID.

TokenID ini dapat merepresentasikan apa saja, yang umumnya merupakan benda digital (meskipun tidak selalu demikian). Misalnya, gambar digital dan dokumen multimedia lain seperti gambar ataupun video.

FT dan NFT

FT dan NFT, keduanya merupakan token yang dapat berpindah kepemilikan. Catatan atas histori kepemilikan pun dapat dilacak di dalam blockchain, begitu juga informasi pemilik termutakhir.

Namun, FT lebih fokus pada informasi tentang jumlah token. Sementara itu, NFT lebih menitikberatkan pada manajemen tokenID yang unik di setiap token.

Operasi NFT sebenarnya tidak jauh berbeda dibandingkan FT. Fungsi-fungsi standar seperti transfer, approve, mint dan burn, tersedia pada standar ERC-721.

Namun tentu saja, yang ditransaksikan adalah tokenID dan bukan jumlah token. Berikut adalah potongan kode ERC-721 yang diambil dari library milik 0xcert.

/**
* @notice Does NO checks.
* @dev Actually performs the transfer.
* @param _to Address of a new owner.
* @param _tokenId The NFT that is being transferred.
*/
function _transfer(address _to,uint256 _tokenId) internal {
address from = idToOwner[_tokenId];
_clearApproval(_tokenId);
_removeNFToken(from, _tokenId);
_addNFToken(_to, _tokenId);
emit Transfer(from, _to, _tokenId);
}

Fungsi _transfer di atas memindahkan kepemilikan _tokenId kepada pemilik baru yang alamatnya ada pada variabel _to.

Bandingkan misalnya, potongan kode ERC-20 di bawah yang diambil dari sini.

function transfer(address to, uint tokens) public returns (bool success) {
balances[msg.sender] = safeSub(balances[msg.sender], tokens);
balances[to] = safeAdd(balances[to], tokens);
emit Transfer(msg.sender, to, tokens);
return true;
}

Terlihat bagaimana fungsi di atas mentransaksikan sejumlah token (pada variabel tokens) kepada alamat yang teridentifikasi pada variabel to.

Seperti sudah dibahas sebelumnya, kontrak pintar ERC-20 mengorganisasikan saldo (jumlah token) dalam setiap alamat pemiliknya.

Valuasi atas token tersebut umumnya didasarkan atas tokenomics atau utilitas yang ditawarkan oleh sistem eksternal yang menggunakan token tersebut.

Artinya, harus ada aplikasi terdesentralisasi (Decentralised Application atau dApp) berbasis token tersebut yang memberikan nilai tambah atas token dan menggerakkan pengguna untuk bertransaksi menggunakan token tersebut.

Sementara itu, ERC-721 yang lebih berfokus pada tokenisasi benda lain seperti gambar digital, memiliki satu fasilitas untuk menjaga konektivitas antara kode token dengan gambar digital tersebut, yakni tokenURI. Informasi di dalam tokenURI (URI merupakan Uniform Resource Identifier) bisa berupa tautan atau URL (Uniform Resource Locator), yang cara kerjanya identik dengan tautan pada sebuah laman situs web.

Seorang pengguna harus menuju tautan tersebut untuk mengetahui detail benda apa yang direpresentasikan oleh sebuah token ERC-721 tersebut.

Karena, pada dasarnya sebuah kontrak ERC-721 tidak punya fasilitas untuk menyimpan informasi lain atas gambar tersebut secara on-chain karena mahalnya ongkos penyimpanan di dalam blockchain.

Seorang pengembang NFT bisa menyimpan benda digital yang di-NFT-kan di dalam peladen (server) independen, ataupun menggunakan perangkat alternatif seperti IPFS (Inter-Planetary File System) dan memastikan aksesibilitasnya menggunakan layanan seperti Pinata.

Apabila valuasi FT bergantung pada valuasi terhadap tokenomics atau utilitas dApp, maka nilai atas NFT bergantung sepenuhnya pada persepsi orang terhadap benda digital yang di-NFT-kan.

Pasar NFT jadi tidak jauh berbeda dengan pasar seni tradisional. Semakin terkenal artis pembuatnya, semakin mahal pula harga barang seni tersebut di pasaran.

Pun, harga barang seni tidak dapat dijamin semakin naik apabila diperjual-belikan di pasar sekunder, karena selera pasar yang berubah-ubah.

Dalam industri NFT saat ini, kompetisi yang ketat dan masifnya jumlah barang di pasaran juga tak menjamin sustainability harga NFT dalam jangka panjang.

Banyak juga detail yang harus dipahami oleh pembeli NFT dari sisi teknologi. Token NFT berbasis ERC-721 memang bisa menjamin keunikan sebuah token.

Namun, hal ini sama sekali tidak menjamin keunikan benda digital yang direpresentasikan token tersebut.

Bisa jadi, sebuah tokenURI direpresentasikan oleh lebih dari satu token. Atau bahkan, sebuah tokenURI dipakai di banyak kontrak NFT.

Kalau sudah begini, pengguna bisa dirugikan apabila tidak ada jaminan nilai dan due-diligence dari pihak terpercaya.

Tulisan singkat ini mengulas sedikit tentang implementasi NFT yang menggunakan standar ERC-721, yang menjadi pondasi industri NFT di sistem blockchain seperti Ethereum.

VISA Menilai NFT Punya Manfaat Ekonomi

Terlihat bagaimana standar ERC-721 sendirian tidak dapat menjamin bahwa sebuah benda digital hanya dapat ditokenisasi ke dalam satu token unik, yang tentu harus menjadi bahan pertimbangan sebelum berbelanja NFT. [ps]


spot_img

Terkini

spot_img

Terkait