ETH dan Token ERC-20: Cara Memastikan Aset dan Jaringan Saat Menukar

Pemeriksaan aset ETH dan token ERC-20 melalui nama jaringan, alamat kontrak, alamat penerima, dan data transaksi di blockchain explorer

ETH dan token ERC-20 dapat berada dalam ekosistem Ethereum yang sama, tetapi keduanya bukan aset yang sama. ETH adalah aset native Ethereum, sedangkan token ERC-20 merupakan saldo yang dikelola oleh smart contract. Karena itu, alamat penerima yang tampak benar belum cukup: sebelum menukar atau mengirim aset, cocokkan nama aset, jaringan, alamat kontrak token bila relevan, dan instruksi deposit dari layanan.

Ringkasan keputusan sebelum mengirim

  • Bedakan aset dari jaringannya. “DAI” menjawab aset apa yang dikirim; “Ethereum” menjawab melalui jaringan mana transaksi diproses.
  • Jangan mengandalkan ticker. Simbol seperti ETH, USDT, atau DAI yang terlihat di dompet bukan identitas teknis yang memadai untuk sebuah token.
  • Untuk ERC-20, periksa alamat kontrak. Kontrak menentukan token mana yang saldonya dipindahkan.
  • Gunakan instruksi pada halaman order. Dukungan terhadap nama aset tidak otomatis berarti semua jaringan, pasangan, dan arah pertukaran tersedia.
  • Periksa hasil di explorer jaringan yang benar. Hash transaksi tanpa konteks jaringan tidak cukup untuk memastikan aset tiba di tujuan yang dimaksud.

Empat konsep yang mencegah salah kirim

ETH: aset native, bukan token ERC-20

ETH tercatat langsung sebagai aset native Ethereum. Pengiriman ETH biasa memindahkan nilai melalui transaksi jaringan. ETH juga digunakan untuk membayar gas di Ethereum, termasuk ketika pengguna mengirim token ERC-20 atau berinteraksi dengan smart contract. [1]

ERC-20: standar perilaku token

ERC-20 mendefinisikan antarmuka umum untuk token fungibel, antara lain fungsi untuk memeriksa saldo, mentransfer token, dan memberikan izin kepada pihak lain untuk membelanjakannya. Saat token ERC-20 dikirim, dompet membuat transaksi yang memanggil fungsi pada kontrak token; mekanismenya berbeda dari pemindahan ETH melalui kolom nilai transaksi. [2]

Alamat kontrak: identitas token yang perlu dicocokkan

Standar ERC-20 memuat nama dan simbol sebagai metadata opsional, bukan sebagai pengenal unik yang wajib. Akibatnya, dua kontrak dapat menampilkan nama atau ticker yang sama. Untuk memastikan token, bandingkan alamat kontrak yang ditampilkan dompet atau explorer dengan alamat kontrak yang dirujuk oleh sumber resmi aset dan instruksi layanan. [3]

Jaringan: tempat transaksi benar-benar dicatat

Alamat berawalan 0x dapat terlihat serupa di berbagai jaringan yang kompatibel dengan Ethereum. Kesamaan format tidak membuktikan bahwa jaringan pengirim cocok dengan jaringan deposit. Blockchain membedakan konteks jaringan melalui chain ID; bahkan pencarian berdasarkan hash transaksi memerlukan pengetahuan tentang jaringan tempat transaksi tersebut dibuat. [4]

Peta mekanisme: dari pilihan pengguna sampai bukti on-chain

Tindakan penggunaYang terjadi di aplikasi atau layananYang terjadi di jaringanHasil yang dapat diperiksa
Memilih ETH sebagai aset kirimLayanan menampilkan jaringan dan alamat deposit yang berlaku untuk order tersebutDompet membentuk transaksi transfer nilai ETH ke alamat tujuanExplorer memperlihatkan jaringan, alamat pengirim, alamat penerima, nilai ETH, status, dan hash transaksi
Memilih token ERC-20Aplikasi harus mengenali token tertentu, idealnya berdasarkan jaringan dan kontraknyaTransaksi memanggil kontrak token, yang kemudian memperbarui saldo dan menghasilkan catatan transferExplorer menampilkan interaksi kontrak serta bagian transfer token; nilai ETH transaksi bisa nol walaupun token berpindah
Menyalin alamat depositLayanan mengaitkan alamat itu dengan order, aset, dan jaringan yang dipilihJaringan hanya mengeksekusi data yang ditandatangani; jaringan tidak mengetahui maksud pengguna di luar transaksiAlamat tujuan on-chain harus sama persis dengan alamat pada order
Mengonfirmasi transaksi di dompetDompet menandatangani lalu menyiarkan transaksiTransaksi masuk ke jaringan, dipilih untuk dimasukkan ke blok, lalu memperoleh tingkat kepastian lebih tinggi seiring finalisasiStatus dapat berubah dari tertunda menjadi berhasil atau gagal; keberhasilan on-chain belum otomatis membuktikan bahwa aset dan jaringan sesuai dengan order

Transaksi Ethereum merupakan instruksi yang ditandatangani. Setelah disiarkan, transaksi mendapatkan hash, masuk ke kumpulan transaksi, dan perlu dimasukkan ke blok untuk diproses. Smart contract menjalankan data yang diterimanya, bukan menilai apakah pilihan token atau tujuan pengguna sudah sesuai dengan ketentuan sebuah layanan. [5]

Skenario realistis: menukar DAI ketika opsi deposit menyebut Ethereum

Anggap sebuah order secara eksplisit meminta DAI pada jaringan Ethereum. Ini adalah skenario bersyarat, bukan pernyataan bahwa arah tersebut selalu tersedia.

  1. Pengguna membuka aset DAI di dompet dan memastikan jaringan aktif adalah Ethereum, bukan jaringan lain yang juga menampilkan DAI.
  2. Pengguna mencocokkan alamat kontrak DAI dari dompet atau explorer dengan identitas token yang dirujuk dalam instruksi order.
  3. Alamat deposit disalin langsung dari order. Nama aset, jaringan, dan alamat diperiksa kembali sebelum transaksi ditandatangani.
  4. Dompet akan memerlukan ETH untuk gas karena transfer DAI di Ethereum merupakan interaksi dengan kontrak ERC-20. [1]
  5. Setelah pengiriman, pengguna membuka hash pada explorer Ethereum dan mencari status berhasil, alamat penerima yang sama, kontrak DAI yang benar, serta catatan transfer token ke alamat tujuan.

Jika explorer menunjukkan transaksi berhasil tetapi kontrak token berbeda, transaksi tersebut memindahkan token yang berbeda. Jika hash hanya ditemukan pada jaringan lain, aset tidak dikirim melalui jaringan yang diminta order. Saldo yang belum muncul di layanan juga tidak selalu berarti kegagalan blockchain: layanan dapat menunggu konfirmasi, melakukan pencocokan order, atau menerapkan pemeriksaan sesuai arah operasi dan hasil compliance. Persyaratan aktual perlu dilihat sebelum membuat order.

Batas penggunaan model ini

Model “aset + jaringan + kontrak + alamat tujuan” berlaku ketika pengguna mengirim ETH atau token ERC-20 ke alamat deposit. Namun, hasil dan prosedurnya dapat berubah dalam kondisi berikut:

  • Layanan menggunakan alamat atau memo khusus per order. Jangan memakai data dari order lama tanpa konfirmasi.
  • Aset tersedia di beberapa jaringan. Nama token yang sama tidak menyatakan jaringan mana yang didukung.
  • Dompet menampilkan token secara otomatis. Tampilan saldo bukan bukti bahwa kontrak tersebut diterima oleh layanan.
  • Tujuan adalah smart contract. Kontrak penerima mungkin tidak dirancang untuk menangani token yang dikirim langsung. Dokumentasi Ethereum mencatat bahwa token ERC-20 dapat tersangkut ketika dikirim ke kontrak yang tidak memiliki mekanisme penerimaan atau pemulihan yang sesuai. [2]
  • Aturan layanan atau negara berbeda. Pemeriksaan identitas, asal dana, pembatasan transaksi, dan kewajiban pengguna dapat bergantung pada yurisdiksi, arah operasi, serta hasil compliance.

Dari nama aset saja tidak dapat disimpulkan bahwa suatu pasangan, jaringan, biaya, limit, atau waktu pemrosesan tersedia. Layanan mendukung sejumlah aset, termasuk ETH, DAI, dan USDT, tetapi jaringan dan arah pertukaran yang sedang aktif tetap harus diperiksa pada saat membuat order.

Titik kegagalan dan tanda yang bisa dikenali

MasalahTanda sebelum atau sesudah pengirimanTindakan aman
ETH tertukar dengan token ERC-20Order meminta token, tetapi layar konfirmasi dompet hanya menunjukkan pengiriman ETH; atau order meminta ETH, tetapi transaksi berinteraksi dengan kontrak tokenBatalkan sebelum menandatangani dan pilih aset yang disebutkan persis pada order
Jaringan tidak cocokNama jaringan dompet berbeda dari nama jaringan deposit; hash tidak ditemukan pada explorer yang sesuai dengan orderJangan mengandalkan bentuk alamat; samakan jaringan secara eksplisit
Token palsu atau kontrak keliruTicker benar, tetapi alamat kontrak berbeda; token tidak memiliki rujukan resmi yang dapat diverifikasiVerifikasi kontrak dari sumber resmi aset dan data order, bukan dari hasil pencarian atau pesan pribadi
Alamat tujuan berubah karena malware atau salah salinKarakter awal atau akhir berbeda dari alamat pada orderBandingkan beberapa bagian alamat pada layar konfirmasi dompet, bukan hanya setelah menempelkan
Gas tidak tersediaDompet menolak transaksi ERC-20 atau menunjukkan saldo ETH tidak mencukupiPeriksa kebutuhan gas pada jaringan yang dipilih tanpa mengubah jaringan deposit secara sembarang
Transaksi berhasil tetapi order belum diperbaruiExplorer menunjukkan status berhasil dan data benar, sementara layanan masih memprosesSimpan hash dan nomor order; periksa ketentuan konfirmasi serta compliance sebelum mengirim ulang
PhishingPermintaan seed phrase, private key, transfer tambahan ke alamat pribadi, atau perubahan alamat melalui pesan tidak resmiJangan membagikan kunci rahasia dan buka order hanya melalui kanal resmi yang sudah diverifikasi

Jangan mengirim transaksi kedua hanya karena antarmuka belum memperbarui status. Pertama, periksa hash di explorer jaringan yang benar. Transaksi yang sudah berhasil dan semakin final tidak dapat diperlakukan seperti transfer bank yang dapat dibatalkan sepihak; kesalahan jaringan, kontrak, atau alamat berisiko tidak dapat dipulihkan. [5]

Checklist sebelum menekan tombol konfirmasi

  1. Apakah order meminta ETH atau token ERC-20 tertentu?
  2. Apakah jaringan pada dompet sama persis dengan jaringan pada order?
  3. Jika aset adalah ERC-20, apakah alamat kontraknya sudah cocok?
  4. Apakah alamat penerima sama dengan alamat deposit untuk order aktif?
  5. Apakah dompet memiliki ETH yang cukup untuk gas jika transaksi dilakukan di Ethereum?
  6. Apakah layar konfirmasi menunjukkan aset, jaringan, dan jenis transaksi yang diharapkan?
  7. Apakah semua data berasal dari aplikasi atau situs resmi, bukan tautan dari pesan yang tidak diminta?
  8. Apakah persyaratan verifikasi, arah pertukaran, dan ketersediaan jaringan sudah diperiksa sebelum pengiriman?

Setelah memahami pemeriksaan tersebut, pengguna dapat menjelaskan mengapa ETH berbeda dari ERC-20, mengenali kontrak token sebagai identitas teknis, menentukan explorer yang benar, membaca status serta transfer token, dan membedakan transaksi on-chain yang berhasil dari deposit yang sesuai dengan order.

Untuk menerapkan pemeriksaan pada operasi yang sedang tersedia, buka pilihan pertukaran ETH dan token yang didukung, lalu cocokkan aset, jaringan, dan instruksi deposit sebelum membuat transaksi.