Dua lantai dalam satu gedung
Bayangkan blockchain sebagai gedung. Lantai dasarnya adalah protokol: aturan yang dijalankan setiap node, termasuk siapa boleh menulis blok dan berapa biaya yang harus dibayar. Aset yang hidup di lantai dasar ini disebut coin, atau aset asli (native). BTC di jaringan Bitcoin dan ETH di jaringan Ethereum adalah contohnya.
Di lantai atas ada penyewa: smart contract. Sebagian penyewa membuka “loket” yang mencatat saldo unit tertentu untuk setiap alamat. Unit yang dicatat loket semacam itu disebut token. UNI, token tata kelola Uniswap, adalah contoh token yang hidup di lantai atas Ethereum.
Dalam percakapan sehari-hari orang Indonesia sering menyebut semuanya “koin”. Itu tidak salah secara bahasa, tetapi secara teknis perbedaan lantai tadi punya akibat nyata.
Perbedaan yang bisa diperiksa
| Pembeda | Coin | Token |
|---|---|---|
| Tempat saldo dicatat | Langsung di status dasar blockchain | Di penyimpanan internal sebuah smart contract |
| Alamat kontrak | Tidak punya | Punya, dan alamat inilah identitas aslinya |
| Membayar biaya jaringan | Dipakai sebagai alat bayar biaya | Tidak bisa; biaya tetap dibayar dengan coin induk |
| Siapa bisa menerbitkan | Hanya lewat aturan protokol (hadiah blok, staking) | Siapa saja yang menerbitkan kontrak |
| Risiko tambahan | Risiko protokol dan jaringan | Risiko protokol ditambah bug atau hak istimewa di kontrak |
Baris terakhir sering dilupakan. Pemegang token menanggung dua lapis risiko: risiko blockchain induknya dan risiko kode kontrak token itu sendiri. Jika kontrak punya fungsi yang memungkinkan pemilik mencetak unit baru tanpa batas, protokol Ethereum tidak akan menghalanginya; kontrak hanya menjalankan apa yang ditulis.
Contoh nyata: token yang “tertahan” karena tidak ada ETH
Misalkan sebuah alamat memegang 250 unit token ERC-20 tetapi saldo ETH-nya nol. Pemilik ingin memindahkan token itu ke alamat lain. Transaksi akan gagal dikirim, karena setiap transaksi di Ethereum membutuhkan gas yang dibayar dengan ETH, termasuk transaksi yang memanggil fungsi transfer di kontrak token. Token tetap ada dan tetap milik alamat itu, hanya saja belum bisa digerakkan sampai ada sedikit ETH untuk ongkos.
Situasi ini menggambarkan hubungan coin dan token dengan jelas: coin adalah bahan bakar, token adalah muatan.
Satu nama, banyak kontrak
Stablecoin USDT, misalnya, diterbitkan di beberapa jaringan sekaligus. Masing-masing versi adalah kontrak terpisah dengan alamat berbeda, dan saldo di satu jaringan tidak otomatis terlihat di jaringan lain. Karena itu, ketika membaca data token di block explorer, yang harus dicocokkan adalah alamat kontraknya, bukan nama atau logonya. Siapa pun bisa membuat token bernama sama; alamat kontrak tidak bisa dipalsukan.
Token wrapped dan jembatan antarjaringan
Bitcoin tidak bisa langsung dipakai di aplikasi Ethereum karena keduanya jaringan terpisah. Jalan keluarnya adalah token wrapped, misalnya WBTC. Prinsip kerjanya:
- BTC asli dititipkan ke pihak atau mekanisme penyimpan.
- Kontrak di Ethereum mencetak token dalam jumlah setara.
- Saat token ditukar kembali, token dibakar dan BTC asli dilepas.
Artinya, nilai token wrapped bergantung pada kejujuran dan keamanan penyimpan atau jembatannya. Jika cadangannya bermasalah, token di Ethereum bisa kehilangan patokan meskipun Bitcoin sendiri baik-baik saja. Logika serupa, yaitu nilai yang ditopang cadangan di luar rantai, juga mendasari sebagian besar stablecoin.
Kasus perbatasan yang membuat bingung
- Coin yang dulu token. Beberapa proyek memulai hidup sebagai token ERC-20, lalu meluncurkan blockchain sendiri dan menukar token lamanya dengan coin asli di jaringan baru.
- Coin yang juga berfungsi sebagai token utilitas. BNB adalah coin di jaringannya sendiri sekaligus dipakai untuk membayar biaya layanan tertentu.
- Token yang disebut “coin” dalam namanya. Nama tidak menentukan kategori. Sebuah token bisa saja memakai kata “coin” di namanya dan tetap berupa kontrak ERC-20.
Mengapa token butuh standar
Karena setiap token adalah program buatan penerbitnya, dompet dan aplikasi perlu cara seragam untuk bertanya “berapa saldo alamat ini?” atau “pindahkan sekian unit ke sana”. Standar seperti ERC-20 menjawab kebutuhan itu dengan daftar fungsi wajib. Coin asli tidak memerlukan standar semacam itu, karena cara memindahkannya sudah diatur langsung oleh protokol. Rincian fungsi ERC-20 kami uraikan dalam bahasa sehari-hari di halaman cara membuat kripto.
Cara cepat mengecek apakah sebuah aset coin atau token
- Cari halaman aset itu di block explorer jaringan terkait.
- Jika ada kolom contract address, aset itu token. Coin asli tidak punya alamat kontrak.
- Lihat dengan aset apa biaya transaksinya dibayar. Jika dengan aset lain, yang Anda lihat adalah token.
- Periksa apakah kode kontraknya sudah diverifikasi dan fungsi apa saja yang dimiliki pemilik kontrak.
Dengan empat langkah ini Anda bisa menempatkan hampir semua aset di laci yang tepat. Peta lengkap kategorinya tersedia di jenis-jenis kripto, dan jika ingin memahami apa saja yang terjadi saat token diciptakan, lanjutkan ke cara membuat kripto.
Catatan: penjelasan ini bersifat teknis. Mengetahui apakah sebuah aset coin atau token tidak mengatakan apa pun tentang layak atau tidaknya aset itu dimiliki. Aset kripto dari kedua kategori sama-sama berisiko tinggi.
