
Nonce adalah angka yang hanya digunakan satu kali atau harus ditingkatkan secara berurutan untuk menjamin keunikan dan urutan suatu tindakan tertentu. Ibarat nomor pelacakan pada paket—setiap nomor mewakili satu pengiriman dan tidak pernah berulang. Dalam blockchain dan kriptografi, nonce lazim digunakan dalam penomoran transaksi, proses mining, dan tanda tangan login.
Walaupun makna nonce bisa berbeda tergantung konteks, tujuan utamanya adalah meminimalkan risiko serangan “replay”—seperti menyiarkan transaksi yang sama berulang kali atau menyalahgunakan tanda tangan yang sudah pernah digunakan.
Nonce sangat krusial karena menjadi fondasi untuk “deduplikasi dan penomoran urut” di jaringan blockchain. Karena blockchain dikelola oleh node-node terdistribusi, diperlukan mekanisme efisien agar node dapat menentukan apakah transaksi sudah diproses, dikirim dalam urutan yang benar, atau tanda tangan login hanyalah pesan yang diulang.
Transaction nonce adalah penghitung transaksi pada akun, biasanya dimulai dari 0 dan bertambah satu setiap ada transaksi baru. Anda bisa menganggapnya sebagai “jumlah transaksi keluar” dari akun Anda. Node blockchain menggunakan nilai ini untuk memverifikasi bahwa transaksi masuk sudah dalam urutan yang benar.
Pada blockchain berbasis akun seperti Ethereum dan GateChain, transaction nonce digunakan untuk:
Saat Anda menarik dana ke blockchain eksternal dari exchange, platform biasanya mengelola nonce secara otomatis. Jika Anda menggunakan wallet self-custody, wallet akan memilih nonce berikutnya yang tersedia, meskipun pengguna tingkat lanjut dapat mengaturnya secara manual jika diperlukan.
Anda dapat melihat nonce transaksi saat ini atau berikutnya untuk suatu alamat melalui wallet atau block explorer.
Jika Anda berinteraksi langsung dengan node, Anda juga dapat melakukan query nonce suatu alamat menggunakan metode RPC—baik untuk status terakhir yang terkonfirmasi maupun transaksi yang masih pending.
Error yang umum terjadi meliputi “nonce terlalu rendah”, “nonce terlalu tinggi”, atau “replacement transaction underpriced.” Cara menanganinya sebagai berikut:
Langkah 1: Pastikan nonce terbaru untuk alamat Anda menggunakan wallet atau block explorer agar tidak perlu menebak secara acak.
Langkah 2: Periksa apakah ada transaksi yang masih pending. Jika transaksi sebelumnya masih tertahan dengan nonce tertentu, transaksi berikutnya dari akun tersebut akan terblokir.
Langkah 3: Pilih untuk membatalkan atau mengganti. Anda dapat mengirim transaksi pengganti dengan nonce yang sama tetapi biaya lebih tinggi (“speed up”), atau jika didukung, mengirim transaksi pembatalan dengan nonce tersebut untuk menimpa transaksi yang macet.
Langkah 4: Kirim ulang transaksi Anda dengan nonce yang benar. Pastikan transaksi baru Anda menggunakan nonce urut berikutnya dan atur biaya yang sesuai agar lebih cepat diproses.
Peringatan Risiko: Kustomisasi nonce yang salah dapat menyebabkan transaksi Anda macet atau ditolak. Selalu verifikasi nonce dan parameter biaya berikutnya yang valid saat menangani dana.
Mining nonce adalah parameter variabel yang digunakan dalam sistem proof-of-work untuk mencari hash yang memenuhi persyaratan tingkat kesulitan jaringan. Miner menggabungkan beberapa field dari block header—termasuk nonce—dan menjalankannya melalui fungsi hash, berusaha menghasilkan output di bawah target tertentu.
Perannya mirip seperti memutar angka pada kunci kombinasi; dengan terus mengubah nilai ini (nonce), miner memperluas ruang pencarian dan meningkatkan peluang menemukan hash yang valid.
Sebuah node mengambil data block header (seperti timestamp, hash blok sebelumnya, dan ringkasan transaksi) lalu menggabungkannya dengan berbagai nilai nonce sebagai input fungsi hash. Setiap perubahan nonce menghasilkan output hash baru. Setelah ditemukan hash yang lebih rendah dari difficulty target, miner berhasil menambang blok.
Pada Bitcoin, misalnya, miner terus menyesuaikan field nonce pada block header—dan jika perlu, mengubah field lain yang masih bisa diubah (seperti urutan transaksi)—untuk memperluas ruang pencarian. Proses ini memastikan bahwa “usaha komputasi” benar-benar terhubung langsung dengan pembuatan blok, sehingga jaringan tetap aman.
Signature nonce adalah kode tantangan satu kali yang digunakan saat login atau penandatanganan pesan. Sebuah situs web memberikan Anda nonce, yang kemudian Anda tanda tangani dengan wallet dan kirimkan kembali. Situs web hanya menerima nonce untuk sesi saat ini dan akan menghanguskannya setelah digunakan, sehingga mencegah penyerang menggunakan ulang signature Anda untuk akses tidak sah.
Metode ini banyak digunakan pada skenario “Sign-In with Wallet”. Anda akan sering melihat string atau angka acak pada prompt tanda tangan—itulah signature nonce. Nonce ini tidak terlibat dalam transfer dana; fungsinya hanya membuktikan bahwa Anda mengotorisasi tindakan tersebut saat itu juga.
Login nonce melindungi dari replay attack dengan memastikan setiap tanda tangan hanya dapat digunakan sekali—mirip seperti one-time password. Setelah digunakan, nonce langsung tidak berlaku lagi.
Banyak platform juga menggunakan nonce atau timestamp pada API mereka untuk mencegah permintaan ganda dan menjaga urutan yang benar. Beberapa mensyaratkan nilai nonce yang terus naik; lainnya (seperti API Gate) lebih mengandalkan timestamp. Tujuannya tetap sama: memastikan setiap permintaan unik dan berurutan.
Fungsi utama nonce adalah memastikan “keunikan dan urutan”. Pada transaksi, nonce berperan sebagai nomor antrian sehingga setiap operasi diproses berurutan dan dilindungi dari replay attack. Pada mining, nonce berfungsi sebagai parameter yang dapat diubah untuk menemukan hash. Pada login dan tanda tangan, nonce menjadi kode tantangan satu kali agar tanda tangan tidak bisa digunakan ulang. Dalam praktiknya, biarkan wallet Anda mengelola nonce secara otomatis jika memungkinkan; jika perlu mengatur manual, selalu konfirmasi nonce berikutnya yang valid untuk alamat Anda dan gunakan metode penggantian atau pembatalan jika terjadi error. Saat menangani dana, atur nonce dan biaya dengan cermat untuk mengurangi risiko keterlambatan atau kegagalan transaksi.
Nonce memiliki tiga peran utama di blockchain: transaction nonce mencegah replay attack dan menjaga urutan; mining nonce sangat penting untuk mekanisme konsensus proof-of-work; login/API nonce meningkatkan keamanan melalui autentikasi. Singkatnya: transaction nonce adalah “nomor urut transaksi”, mining nonce adalah “variabel proof-of-work”, dan login nonce adalah “kata sandi satu kali”. Memahami perbedaan ini membantu Anda memahami mekanisme keamanan blockchain secara lebih baik.
Jika terjadi error pada transaction nonce Anda (misalnya, melompati angka atau macet), transaksi berikutnya akan ditolak oleh blockchain. Solusinya antara lain: mempercepat transaksi lambat dengan menaikkan gas price, membatalkan atau menandatangani ulang transaksi yang macet di platform seperti Gate, atau mereset wallet Anda pada kasus yang parah. Selalu cek nonce mana yang bermasalah melalui block explorer sebelum mengambil tindakan—hindari mengirim transaksi berulang kali tanpa analisis.
Persyaratan ini sangat penting untuk keamanan blockchain. Nonce berfungsi sebagai “penghitung transaksi” akun Anda, dimulai dari 0 dan bertambah satu setiap kali. Node memeriksa nonce untuk memvalidasi keaslian dan urutan transaksi. Jika Anda melewati satu nilai, transaksi berikutnya—meskipun dengan nonce yang benar—akan tetap pending hingga nonce yang hilang diselesaikan. Desain ini mencegah replay attack dan memastikan perpindahan dana akun tetap aman.
Mining nonce dihasilkan dan diatur otomatis oleh perangkat lunak miner atau mining pool—tidak butuh input manual. Miner secara cepat mencoba berbagai kemungkinan nilai nonce (dan data blok lain yang dapat diubah) untuk menghitung hash hingga ditemukan yang memenuhi tingkat kesulitan jaringan—proses ini dikenal sebagai “proof of work.” Semua node mining melakukan miliaran percobaan ini secara otomatis; pengguna biasa hanya perlu memahami konsepnya tanpa perlu melakukan tindakan langsung.
Pada platform terpusat seperti Gate, seluruh pengelolaan nonce berlangsung di belakang layar—pengguna tidak perlu memikirkannya. Namun, jika Anda menggunakan wallet self-custody untuk transaksi on-chain atau berinteraksi melalui API, Anda harus memahami dan mengatur nonce dengan benar. Pengguna baru disarankan memulai dari platform seperti Gate sebelum mengelola wallet sendiri atau menggunakan API agar terhindar dari masalah terkait nonce.


