Apa itu ERC-20
Catatan: Dokumen ini adalah terjemahan otomatis dari versi asli bahasa Inggris.
Apa itu ERC-20
ERC-20 adalah standar token yang paling banyak diadopsi di blockchain Ethereum. Standar ini mendefinisikan antarmuka umum -- seperangkat fungsi dan event -- yang harus diimplementasikan oleh sebuah smart contract untuk membuat token fungible. "Fungible" berarti setiap unit token identik dan dapat dipertukarkan, sama seperti satu lembar uang satu dolar setara dengan lembar satu dolar lainnya.
ERC adalah singkatan dari Ethereum Request for Comments, dan 20 adalah nomor proposalnya. Standar ini diusulkan pada 2015 dan telah menjadi cetak biru de facto untuk membuat token di Ethereum dan di chain yang kompatibel dengan EVM. Ketika sebuah proyek menyatakan tokennya "ERC-20", itu berarti kontrak tokennya mengikuti antarmuka standar ini, yang menjamin kompatibilitas dengan dompet, bursa terdesentralisasi, pelacak portofolio, dan smart contract lainnya di seluruh ekosistem Ethereum.
Singkatnya: ERC-20 adalah standar teknis yang mendefinisikan cara kerja token fungible di Ethereum -- memastikan setiap token ERC-20 dapat dikirim, diterima, dan dikelola oleh dompet atau aplikasi apa pun yang mendukung standar tersebut.
Cara kerja ERC-20
Antarmuka standar
Pada intinya, ERC-20 menetapkan seperangkat fungsi yang harus diimplementasikan setiap kontrak token yang patuh. Fungsi-fungsi ini menyediakan bahasa umum yang dapat digunakan aplikasi eksternal (dompet, bursa, kontrak lain) untuk berinteraksi dengan token tanpa perlu mengetahui apa pun tentang logika internal token tersebut.
Fungsi-fungsi kuncinya adalah:
| Fungsi | Apa yang dilakukannya |
|---|---|
totalSupply() |
Mengembalikan jumlah total token yang ada |
balanceOf(address) |
Mengembalikan berapa banyak token yang dipegang alamat tertentu |
transfer(to, amount) |
Mengirim token dari alamat pemanggil ke alamat lain |
approve(spender, amount) |
Mengotorisasi alamat lain (smart contract atau pengguna) untuk membelanjakan hingga jumlah tertentu dari token pemanggil |
transferFrom(from, to, amount) |
Memungkinkan spender yang telah disetujui sebelumnya untuk mentransfer token atas nama pemilik token |
allowance(owner, spender) |
Mengembalikan berapa banyak token yang masih boleh ditransfer spender atas nama pemilik |
Standar ini juga mendefinisikan dua event -- Transfer dan Approval -- yang dipancarkan ketika token berpindah atau ketika izin pembelanjaan berubah. Event ini memungkinkan sistem eksternal (block explorer, indexer, alat analitik) melacak aktivitas token tanpa mengkueri kontrak secara langsung.
Mengapa standar itu penting
Sebelum ERC-20 diadopsi secara luas, setiap proyek token membuat antarmuka kustomnya sendiri. Ini berarti dompet, bursa, dan aplikasi lain harus menulis kode kustom untuk setiap token baru. ERC-20 memecahkan masalah ini dengan menciptakan antarmuka kontrak universal: aplikasi apa pun yang mendukung ERC-20 secara otomatis mendukung setiap token ERC-20, baik yang dibuat kemarin maupun bertahun-tahun lalu.
Komposabilitas ini adalah salah satu fondasi ekosistem Ethereum. Bursa terdesentralisasi tidak perlu mengetahui apa yang direpresentasikan token tertentu atau siapa yang membuatnya -- jika token mengimplementasikan antarmuka ERC-20, bursa dapat mencantumkannya, memperdagangkannya, dan menyelesaikan transaksi dengannya.
Men-deploy token ERC-20
Membuat token ERC-20 melibatkan deployment smart contract ke jaringan Ethereum (atau chain yang kompatibel dengan EVM) yang mengimplementasikan fungsi-fungsi yang diwajibkan. Deployer menentukan nama token, simbol, presisi desimal, dan pasokan awal. Setelah di-deploy, kontrak bersifat immutable -- antarmuka inti token tidak dapat diubah, meskipun beberapa implementasi menyertakan fitur tambahan seperti minting, pembakaran, atau penghentian sementara melalui mekanisme tata kelola.
Rendahnya hambatan teknis untuk men-deploy token ERC-20 adalah kekuatan sekaligus risiko. Ia memungkinkan inovasi dan eksperimen yang cepat, tetapi juga berarti siapa pun dapat membuat token dengan nama apa pun dan tujuan apa pun yang dinyatakan. Keberadaan token ERC-20 tidak mengimplikasikan kualitas, legitimasi, atau nilai.
ERC-20 dan chain yang kompatibel dengan EVM
Meskipun ERC-20 dibuat untuk Ethereum, standar ini bekerja di blockchain apa pun yang kompatibel dengan EVM. Chain seperti BNB Smart Chain, Polygon, Arbitrum One, Base, dan Avalanche semuanya mendukung token ERC-20 secara native karena mereka mengimplementasikan Ethereum Virtual Machine. Di beberapa chain ini, standar tersebut mungkin memiliki nama formal yang berbeda (misalnya BEP-20 di BNB Smart Chain), tetapi antarmukanya secara fungsional identik.
Ini berarti token sebuah proyek dapat disebut "ERC-20" meskipun di-deploy di chain selain Ethereum. Standar ini adalah antarmuka teknis, bukan penanda spesifik chain. Yang penting adalah apakah kontrak token mengimplementasikan set fungsi ERC-20, bukan di jaringan mana ia berjalan.
ERC-20 dibandingkan dengan tipe token lain
| Dimensi | ERC-20 | ERC-721 (NFT) | ERC-1155 (Multi-token) | Token native (ETH, SOL) |
|---|---|---|---|---|
| Fungibilitas | Fungible (semua unit identik) | Non-fungible (setiap token unik) | Fungible dan non-fungible sekaligus | Fungible |
| Di-deploy sebagai | Smart contract | Smart contract | Smart contract | Bawaan protokol |
| Antarmuka standar | transfer, approve, balanceOf |
ownerOf, safeTransferFrom |
Operasi batch | Tidak ada antarmuka kontrak standar |
| Kasus penggunaan | Mata uang, token utilitas, token tata kelola | Seni digital, aset unik, identitas | Item game, koleksi campuran | Biaya gas, staking, mata uang dasar |
Token ERC-20 berbeda dari token native seperti ETH. Sementara ETH tertanam langsung dalam protokol Ethereum dan ada tanpa smart contract, token ERC-20 dibuat dengan men-deploy kontrak yang mengikuti standar. Keduanya dapat dipegang dan ditransfer, tetapi memiliki properti teknis dan peran jaringan yang berbeda.
Keterbatasan dan ekstensi ERC-20
Meskipun ERC-20 adalah standar token yang paling banyak digunakan, ia memiliki keterbatasan yang diketahui yang melahirkan ekstensi dan perbaikan:
- Tidak ada notifikasi saat menerima. Ketika token dikirim ke smart contract, kontrak penerima tidak memiliki cara otomatis untuk bereaksi. Ini menyebabkan token terkunci permanen dalam kontrak yang tidak menangani transfer ERC-20. Standar ERC-223 dan ERC-777 diusulkan untuk mengatasi ini, meskipun ERC-20 tetap dominan.
- Pola persetujuan dua langkah. Mentransfer token atas nama alamat lain memerlukan dua transaksi: pertama
approve, lalutransferFrom. Ini menambah friksi dan biaya gas. Ekstensi ERC-2612 (Permit) memungkinkan persetujuan tanpa gas melalui tanda tangan off-chain. - Tidak ada metadata bawaan. Token ERC-20 memiliki nama dan simbol tetapi tidak memiliki cara terstandarisasi untuk menyertakan metadata tambahan (deskripsi, ikon, tautan dokumentasi). Ekstensi dan registri off-chain mengisi celah ini.
Keterbatasan ini tidak mengurangi kegunaan praktis ERC-20. Kesederhanaan standar dan dukungan universalnya melebihi ketidaksempurnaan teknisnya untuk sebagian besar kasus penggunaan.
Mengapa ERC-20 penting untuk proyek kripto AI
Sebagian besar proyek kripto AI yang menerbitkan token di Ethereum atau chain yang kompatibel dengan EVM menggunakan standar ERC-20. Token tersebut dapat berfungsi sebagai token utilitas (membayar komputasi, mengakses layanan AI), token tata kelola (memberikan suara pada parameter protokol), atau mekanisme biaya (membayar penggunaan jaringan). Terlepas dari peran yang dimaksudkan, penggunaan ERC-20 memastikan token kompatibel dengan ekosistem yang lebih luas: pengguna dapat menyimpannya di dompet standar, memperdagangkannya di bursa terdesentralisasi, dan berinteraksi dengannya melalui antarmuka yang sudah dikenal.
Bagi pembaca yang mengevaluasi proyek kripto AI, mengetahui bahwa sebuah token adalah ERC-20 memberi tahu Anda tentang format teknisnya -- bukan utilitas, keharusan, atau nilainya. Standar token menjawab "bagaimana token bekerja secara teknis?" tetapi tidak menjawab "mengapa proyek membutuhkan token?" atau "apakah token benar-benar berperan dalam pipeline AI?"
Di mana istilah ini muncul di kartu proyek DecAIHub
Dalam kartu proyek DecAIHub, ERC-20 muncul di bidang Token standard. Ketika kartu menunjukkan Token standard: ERC-20, itu berarti token proyek diimplementasikan sebagai smart contract ERC-20.
Bidang standar token bersifat murni deskriptif: ia memberi tahu pembaca format teknis token. Bidang ini sebaiknya dibaca bersama bidang Token model (yang menjelaskan peran token: utilitas, tata kelola, mekanisme biaya) dan bidang Main chain (yang memberi tahu pembaca di jaringan mana token di-deploy).
Sebuah proyek dapat memiliki token di beberapa chain -- misalnya, token ERC-20 di Ethereum dan versi bridged di L2 seperti Arbitrum. Bidang standar token biasanya mencerminkan deployment utama.
Apa yang tidak dibuktikan oleh ERC-20 saja
- ERC-20 tidak membuktikan utilitas token. Smart contract apa pun dapat mengimplementasikan antarmuka ERC-20. Standar mendefinisikan perilaku teknis token, bukan peran ekonomi atau keharusannya. Sebuah proyek dapat memiliki token ERC-20 yang tidak berperan apa pun dalam pipeline AI atau aplikasinya.
- ERC-20 tidak membuktikan legitimasi. Membuat dan men-deploy token ERC-20 memerlukan upaya teknis dan biaya minimal. Keberadaan token bukanlah bukti bahwa proyek di baliknya nyata, berfungsi, atau dapat dipercaya.
- ERC-20 tidak membuktikan proyek berada di Ethereum. Token ERC-20 ada di banyak chain yang kompatibel dengan EVM. Standar token tidak menunjukkan di chain mana token di-deploy -- periksa bidang Main chain untuk informasi tersebut.
- ERC-20 tidak membuktikan kemampuan AI. Standar teknis token tidak memiliki hubungan dengan apakah proyek memiliki komponen AI yang nyata, inferensi yang berfungsi, atau model yang dapat diverifikasi.
- ERC-20 tidak membuktikan desentralisasi. Kontrak token itu sendiri dapat mencakup kontrol terpusat: kunci admin untuk minting atau pembakaran, fungsi pause, proxy upgrade yang dikendalikan satu alamat. Standar mendefinisikan antarmuka, bukan model tata kelola.
Jangan bingung dengan
- Standar token -- konsep payungnya. ERC-20 adalah satu standar token spesifik. Yang lain mencakup ERC-721 (NFT), ERC-1155 (multi-token), BEP-20 (BNB Smart Chain), SPL (Solana), dan token native.
- Token native -- ETH adalah token native Ethereum, bawaan protokol itu sendiri. Token ERC-20 dibuat dengan men-deploy smart contract di atas protokol. Keduanya hidup berdampingan tetapi secara teknis berbeda.
- Model token -- model token menjelaskan peran token (utilitas, tata kelola, mekanisme biaya). Standar token menjelaskan format teknis. Sebuah token dapat sekaligus menjadi ERC-20 (standar) dan token utilitas (model).
- BEP-20 -- standar token di BNB Smart Chain. BEP-20 secara fungsional identik dengan ERC-20 tetapi merupakan konvensi penamaan yang digunakan di chain yang berbeda.
- ERC-721 -- standar untuk token non-fungible (NFT) di Ethereum. Token ERC-721 bersifat unik; token ERC-20 dapat dipertukarkan.
Pertanyaan yang sering diajukan
Apa arti "fungible" dalam konteks ERC-20?
Fungible berarti setiap unit token identik dalam nilai dan fungsi dengan setiap unit lainnya. Jika Anda memegang 100 unit token ERC-20, setiap unit dapat dipertukarkan dengan unit lain dari token yang sama. Ini prinsip yang sama yang membuat satu lembar uang satu dolar setara dengan lembar satu dolar lainnya. Sebaliknya, token non-fungible (ERC-721) masing-masing unik -- satu NFT tidak dapat dipertukarkan dengan NFT lain.
Bisakah token ERC-20 dibuat di chain selain Ethereum?
Bisa. Blockchain apa pun yang mengimplementasikan Ethereum Virtual Machine (EVM) mendukung token ERC-20. Ini mencakup chain seperti Polygon, Arbitrum One, Base, BNB Smart Chain, Avalanche, dan banyak lainnya. Di BNB Smart Chain, standar yang setara disebut BEP-20, tetapi mengimplementasikan antarmuka yang sama. Token yang mengikuti set fungsi ERC-20 bekerja dengan dompet, bursa, atau smart contract apa pun yang kompatibel dengan EVM terlepas dari chain spesifiknya.
Apa perbedaan antara ERC-20 dan token native seperti ETH?
ETH adalah token native Ethereum -- tertanam dalam protokol itu sendiri dan ada tanpa smart contract. ETH digunakan untuk membayar biaya gas dan berpartisipasi dalam staking. Token ERC-20, sebaliknya, dibuat dengan men-deploy smart contract di atas Ethereum. Mereka memerlukan ETH untuk membayar biaya gas untuk transfer dan interaksi. Kedua tipe token dapat disimpan di dompet yang sama, tetapi implementasi teknisnya berbeda secara fundamental.
Apakah men-deploy token ERC-20 memerlukan keahlian teknis yang tinggi?
Men-deploy token ERC-20 dasar memerlukan pengetahuan pengembangan smart contract tingkat menengah. Pustaka standar (seperti OpenZeppelin) menyediakan implementasi ERC-20 yang telah diaudit dan siap pakai yang dapat di-deploy dengan kustomisasi minimal. Rendahnya hambatan deployment adalah fitur (memungkinkan eksperimen dan inovasi cepat) sekaligus risiko (memungkinkan siapa pun membuat token untuk tujuan apa pun). Keberadaan token yang telah di-deploy bukanlah, dengan sendirinya, bukti kemampuan teknis.
Referensi eksternal
- EIP-20: Token Standard -- Ethereum Improvement Proposals -- spesifikasi formal asli standar ERC-20, mendefinisikan fungsi dan event yang diwajibkan.
- OpenZeppelin -- ERC-20 Documentation -- implementasi standar ERC-20 yang banyak digunakan, dengan penjelasan dan praktik terbaik bagi pengembang.
- Ethereum.org -- ERC-20 Token Standard -- dokumentasi resmi Ethereum yang menjelaskan token ERC-20 bagi pengembang dan pembaca.
No comments to display
No comments to display