Nonce Ethereum: Arti, Fungsi, dan Cara Atasi Transaksi Bentrok
Nonce adalah nomor urut transaksi Ethereum yang menentukan urutan eksekusi. Pahami cara kerjanya, kenapa transaksi bisa bentrok, dan kapan perlu speed up atau cancel.
Sobat Kripto mungkin pernah melihat transaksi Ethereum pertama berjalan normal, lalu transaksi berikutnya tiba-tiba ikut macet. Atau kamu mencoba kirim lagi, tetapi wallet menampilkan status aneh seperti pending lama, dropped, atau replaced. Dalam banyak kasus, akar masalahnya ada pada satu elemen kecil yang jarang dipahami pemula: nonce.
Di Ethereum, nonce adalah nomor urut transaksi dari sebuah akun. Ia menentukan urutan eksekusi dan mencegah satu transaksi yang sama dipakai berulang-ulang. Kalau kamu paham nonce, kamu akan lebih mudah memahami kenapa transaksi bisa antre, bentrok, atau perlu diganti.
Apa Itu Nonce di Ethereum
ethereum.org menjelaskan bahwa akun Ethereum memiliki beberapa field utama, salah satunya nonce. Untuk akun biasa atau externally owned account, nonce adalah penghitung jumlah transaksi yang sudah dikirim dari akun tersebut.
Artinya:
- transaksi pertama dari akun biasanya memakai nonce
0; - transaksi kedua memakai nonce
1; - transaksi ketiga memakai nonce
2; - dan seterusnya berurutan.
Satu akun tidak bisa mengeksekusi dua transaksi final dengan nonce yang sama. Ini penting untuk menjaga urutan dan mencegah replay.
Kenapa Nonce Penting
Nonce punya tiga fungsi praktis yang sangat penting.
1. Menjaga urutan transaksi
Kalau kamu kirim dua transaksi dari akun yang sama, jaringan perlu tahu mana yang harus diproses lebih dulu.
2. Mencegah replay
Transaksi bertanda tangan tidak bisa dijalankan berkali-kali tanpa batas, karena nonce membatasi satu nomor urut untuk satu eksekusi.
3. Menentukan apakah transaksi berikutnya bisa lewat
Kalau transaksi dengan nonce lebih kecil masih pending, transaksi dengan nonce berikutnya biasanya ikut tertahan dari sudut pandang akun yang sama.
Inilah alasan mengapa satu transaksi macet bisa membuat antrean transaksi sesudahnya ikut tersumbat.
Contoh Kasus Paling Umum
Bayangkan akunmu mengirim tiga transaksi berurutan:
- transaksi A dengan nonce 10;
- transaksi B dengan nonce 11;
- transaksi C dengan nonce 12.
Kalau transaksi A belum masuk blok karena fee terlalu rendah, maka B dan C bisa terlihat "menunggu" walaupun secara teknis sudah disiarkan. Jaringan tetap menganggap nonce 10 harus beres lebih dulu sebelum urutan berikutnya dianggap final.
Ini sering membuat pemula salah kira bahwa wallet atau exchange bermasalah, padahal antreannya tersangkut di transaksi paling awal.
Kenapa Transaksi Bisa Bentrok
Ada beberapa penyebab umum.
1. Mengirim ulang terlalu cepat
Kamu kirim transaksi, belum sabar menunggu, lalu kirim lagi dengan parameter mirip. Kadang wallet otomatis mengelola ini, kadang tidak.
2. Gas fee terlalu rendah
Transaksi lama tetap nongkrong di mempool sehingga nonce berikutnya ikut terblokir.
3. Pakai beberapa aplikasi dari akun yang sama
Misalnya satu akun dipakai di MetaMask browser extension, aplikasi mobile, bot, atau skrip RPC. Kalau semuanya mencoba menyiarkan transaksi tanpa sinkronisasi, bentrok nonce lebih mudah terjadi.
4. Mengatur custom nonce tanpa paham konteks
MetaMask memang menyediakan opsi custom nonce, tetapi fitur itu sebaiknya dipakai hanya jika kamu tahu transaksi mana yang sedang ingin diganti atau dibatalkan.
Apa Artinya "Replace" atau "Speed Up"
ethereum.org mencatat bahwa pada JSON-RPC, transaksi dengan nonce yang sama bisa dipakai untuk overwrite transaksi milikmu sendiri yang masih pending. Secara praktis, inilah dasar dari fitur speed up dan cancel.
Speed up
Kamu membuat transaksi baru dengan nonce yang sama seperti transaksi lama, tetapi fee lebih menarik bagi validator. Tujuannya agar transaksi pengganti diprioritaskan.
Cancel
Kamu juga bisa mengirim transaksi baru dengan nonce yang sama, biasanya ke alamatmu sendiri dengan nilai nol atau aktivitas minimal, agar transaksi lama tersisih.
MetaMask menjelaskan dua tindakan itu dalam panduan resminya untuk transaksi pending.
Kapan Perlu Speed Up
Speed up masuk akal jika:
- transaksi yang kamu inginkan memang masih relevan;
- alamat tujuan sudah benar;
- nominal sudah benar;
- satu-satunya masalah adalah transaksi terlalu lama masuk blok.
Contoh:
- kamu sedang memindahkan ETH ke exchange;
- semua detail benar;
- tetapi fee terlalu rendah saat jaringan ramai.
Dalam kasus seperti itu, speed up lebih tepat daripada cancel.
Kapan Perlu Cancel
Cancel lebih masuk akal jika:
- alamat tujuan salah;
- kamu berubah pikiran;
- nominal atau data transaksi salah;
- kamu sadar transaksi lama tidak layak diteruskan.
Catatan penting: cancel hanya mungkin dilakukan selama transaksi masih pending. Kalau transaksi sudah sukses dan masuk blockchain, ia final. MetaMask menegaskan bahwa transaksi yang sudah terkonfirmasi tidak bisa dibalikkan hanya karena pengguna berubah pikiran.
Cara Praktis Mengecek Nonce
Kalau kamu memakai MetaMask, nomor nonce bisa dilihat dari detail transaksi atau pengaturan lanjutan saat perlu mengganti transaksi pending. Artikel bantuan MetaMask menjelaskan langkah untuk menemukan nonce transaksi tertentu.
Kalau kamu lebih teknis, ethereum.org menjelaskan bahwa nonce juga terlihat pada data transaksi dan dapat diakses melalui JSON-RPC.
Untuk mayoritas pengguna, cara yang paling aman adalah:
- buka detail transaksi di wallet atau explorer;
- identifikasi transaksi pending paling awal;
- pastikan apakah ingin mempercepat atau membatalkan;
- baru lakukan replacement jika alamat dan konteksnya sudah benar.
Risiko Kalau Asal Mengubah Nonce
Pemula sering melihat tutorial "pakai nonce sama" lalu mengira itu solusi universal. Padahal ada risikonya:
- transaksi yang seharusnya dikirim malah tergantikan;
- fee jadi jauh lebih mahal dari yang direncanakan;
- antrean makin bingung jika kamu menyiarkan beberapa pengganti sekaligus;
- catatan transfer ke exchange atau counterparty jadi tidak sinkron.
Karena itu, jangan mengubah nonce sekadar coba-coba.
Hubungannya dengan Deposit ke Exchange
Kalau kamu mengirim ETH atau token ke exchange Indonesia dan transaksi pending lama, deposit biasanya juga belum akan dikreditkan. Exchange baru bisa memproses setelah transaksi benar-benar masuk chain dan memenuhi syarat internal mereka.
Untuk pengguna Indonesia, ini berarti dua hal praktis:
- cek explorer dulu sebelum panik ke customer support;
- jangan kirim transaksi susulan dari akun yang sama secara serampangan, karena nonce berikutnya bisa ikut tersangkut.
Kalau platform yang kamu pakai berada dalam kerangka izin atau daftar OJK, sisi kepatuhan akun dan pelaporan biasanya lebih rapi. Tetapi OJK tidak mengubah fakta dasar jaringan: transaksi on-chain tetap mengikuti aturan nonce dan finalitas blockchain.
Baca juga: Cara Baca Tx Hash Crypto di Etherscan dan Solscan
Tanda-Tanda Masalah Nonce
Curigai masalah nonce jika:
- satu transaksi pending membuat transaksi sesudahnya ikut tertahan;
- explorer menunjukkan beberapa percobaan dengan urutan sama;
- wallet menandai transaksi sebagai dropped, replaced, atau pending lama;
- kamu baru saja mencoba speed up atau cancel manual.
Kalau hanya satu transaksi pending dan kamu tidak pernah mengotak-atik pengaturan, masalah bisa jadi murni soal fee. Tetapi jika ada antrean berlapis, nonce hampir selalu perlu dicek.
Checklist Aman Sebelum Mengganti Transaksi
- pastikan transaksi masih pending;
- catat nonce transaksi yang ingin diganti;
- pastikan alamat tujuan transaksi lama memang salah atau memang perlu dipercepat;
- pahami bahwa transaksi pengganti memakai nonce yang sama;
- siapkan fee yang masuk akal agar pengganti benar-benar punya peluang diproses.
Kesimpulan
Nonce Ethereum adalah nomor urut transaksi per akun yang menjaga urutan eksekusi dan mencegah replay. Konsep ini sederhana, tetapi dampaknya besar: satu transaksi macet bisa menahan transaksi lain, dan replacement yang salah bisa membuat pengguna makin bingung.
Untuk Sobat Kripto, aturan praktisnya begini: kalau transaksi lama masih benar, pertimbangkan speed up. Kalau transaksinya salah, pertimbangkan cancel selama masih pending. Tetapi jangan mengubah nonce tanpa tahu transaksi mana yang sedang diganti. Di jaringan publik seperti Ethereum, disiplin kecil seperti ini sering lebih berguna daripada buru-buru klik kirim ulang.
Disclaimer: Artikel ini bersifat edukatif dan bukan panduan eksekusi individual untuk semua wallet. Selalu cek detail transaksi, nonce, dan fee sebelum melakukan speed up atau cancel.
FAQ Nonce Ethereum
Apakah nonce sama dengan tx hash?
Tidak. Nonce adalah nomor urut transaksi dari satu akun, sedangkan tx hash adalah identitas unik untuk satu transaksi tertentu.
Kenapa transaksi kedua saya ikut macet?
Sering kali karena transaksi pertama dengan nonce lebih kecil belum selesai, sehingga urutan berikutnya ikut tertahan.
Apakah saya bisa membatalkan transaksi yang sudah sukses?
Tidak. Jika transaksi sudah terkonfirmasi di blockchain, transaksi itu final dan tidak bisa dibatalkan dari sisi wallet biasa.
Sumber
- ethereum.org - Ethereum accounts(akses 29 Jun 2026)
- ethereum.org - Transactions(akses 29 Jun 2026)
- ethereum.org - JSON-RPC API(akses 29 Jun 2026)
- MetaMask Support - How to speed up or cancel a pending transaction(akses 29 Jun 2026)
- MetaMask Support - How to find a transaction nonce(akses 29 Jun 2026)
Artikel ini bersifat edukatif. Mengubah nonce atau mengganti transaksi bisa menyebabkan hasil berbeda dari yang kamu harapkan jika dilakukan tanpa memahami fee, alamat tujuan, dan status transaksi pending.
Konten ini hanya untuk tujuan informasi dan bukan rekomendasi investasi. Aset kripto memiliki risiko tinggi termasuk kerugian total modal. Lakukan riset mandiri dan konsultasikan dengan penasihat keuangan terdaftar sebelum mengambil keputusan investasi.
Sarjana Teknik Elektro dan konsultan IT yang berfokus pada sisi teknis Web3. Ia membahas arsitektur blockchain, Layer 1 dan Layer 2, node, bridge, smart contract, serta keamanan wallet dengan penjelasan praktis untuk pengguna nonteknis.