Beli Kripto
Pasar
Spot
Futures OILBTC
Tabungan
Pusat Acara
Hub Hadiah
Lainnya
Fest. 0-Biaya
Nonce: Apa Itu Nonce?Nonce adalah nilai unik yang dirancang untuk digunakan satu kali dalam konteks kriptografi, blockchain, atau smart contract tertentu.Dalam dunia kripto, istilah ini umumnya dipahami sebaNonce: Apa Itu Nonce?Nonce adalah nilai unik yang dirancang untuk digunakan satu kali dalam konteks kriptografi, blockchain, atau smart contract tertentu.Dalam dunia kripto, istilah ini umumnya dipahami seba

Nonce

2026/10/13 16:35
#Intermediate
Humanity
H$0.05582-0.88%
PX
PX$0.0129+0.78%
Smart Blockchain
SMART$0.004464+3.38%
SPACE ID
ID$0.03595-1.85%
TokenFi
TOKEN$0.001997--%

Apa Itu Nonce?

Nonce adalah nilai unik yang dirancang untuk digunakan satu kali dalam konteks kriptografi, blockchain, atau smart contract tertentu.

Dalam dunia kripto, istilah ini umumnya dipahami sebagai singkatan dari “number used once” (angka yang digunakan satu kali).

Nonce dapat berupa penghitung transaksi sederhana, kolom mining, nilai acak, input tanda tangan, ID otorisasi smart contract, atau nomor urut untuk mencegah tindakan berulang.

Makna tepatnya bergantung pada konteks penggunaan nonce.

Pada akun Ethereum, nonce membantu mengurutkan transaksi dan mencegah transaksi bertanda tangan yang sama dieksekusi lebih dari sekali.

Pada header blok Bitcoin, nonce adalah kolom yang diubah miner saat mencari hash proof-of-work yang valid.

Dalam token permit, nonce membantu mencegah persetujuan bertanda tangan yang sama digunakan kembali.

Dalam penandatanganan ECDSA, nonce dapat berupa nilai rahasia untuk setiap tanda tangan. Pembuatan nonce yang buruk dapat membocorkan kunci privat.

Karena istilah yang sama digunakan di beberapa sistem kripto, pengguna perlu memastikan jenis nonce yang sedang dibahas.

Gagasan utama yang sama adalah keunikan.

Nonce berguna karena membuat tindakan, percobaan hash, pesan, transaksi, atau tanda tangan berbeda dari yang lain.

Keunikan ini mendukung perlindungan replay, pengurutan, mining, keamanan enkripsi, keamanan kontrak, kemudahan penggunaan wallet, dan perlindungan kunci privat.

Hal Penting tentang Nonce

    • Nonce adalah nilai yang dimaksudkan untuk digunakan satu kali dalam konteks tertentu.

    • Akun Ethereum menggunakan nonce untuk mengurutkan transaksi dan mencegah replay transaksi.

    • Miner Bitcoin mengubah nonce header blok saat mencari hash proof-of-work yang memenuhi target.

    • Smart contract sering menggunakan nonce untuk mencegah permit, voting, klaim, dan meta-transaksi bertanda tangan digunakan kembali.

    • ERC-2612 permit menggunakan nonce pemilik untuk mencegah tanda tangan persetujuan token yang sama digunakan kembali.

    • Akun smart contract ERC-4337 menggunakan model nonce yang lebih fleksibel untuk alur kerja account abstraction.

    • EIP-155 menambahkan perlindungan replay melalui chain ID, yang bekerja bersama nonce transaksi.

    • Pesan terstruktur EIP-712 tetap memerlukan pemeriksaan nonce di tingkat aplikasi karena data bertipe tidak otomatis mencegah semua serangan replay.

    • Nonce tanda tangan ECDSA harus rahasia dan unik. Penggunaan ulang atau pola nonce yang dapat diprediksi bisa mengungkap kunci privat.

    • Jangan mengubah nonce wallet secara manual kecuali Anda memahami transaksi tertunda dan mekanisme penggantiannya.

Mengapa Nonce Penting dalam Mata Uang Kripto

Nonce penting karena blockchain mengandalkan tanda tangan, hash, dan aturan deterministik.

Tanda tangan digital yang valid dapat disalin dengan sempurna oleh siapa pun yang melihatnya.

Transaksi dapat disiarkan ulang oleh banyak node.

Smart contract dapat menerima kembali pesan bertanda tangan yang sama jika tidak memeriksa apakah pesan tersebut pernah digunakan.

Miner dapat mencoba banyak input hash saat mencari blok yang valid.

Wallet dapat membuat banyak transaksi dari alamat yang sama dan harus mengurutkannya secara valid.

Nonce membantu semua sistem ini menghindari kebingungan, duplikasi, replay, dan penggunaan ulang yang tidak aman.

Tanpa nonce, sistem kripto akan kesulitan membedakan tindakan baru dari tindakan lama yang disalin.

Pengguna mungkin menyetujui spender token sekali, tetapi tanpa sengaja mengizinkan tanda tangan yang sama digunakan lagi.

Bridge mungkin memproses pesan lintas blockchain yang sama dua kali.

Transaksi mungkin di-replay di blockchain lain.

Wallet penandatangan dapat membocorkan kunci privat melalui nonce kriptografi yang lemah.

Nonce adalah nilai kecil, tetapi dapat melindungi aset digital bernilai sangat besar.

Nonce Akun Ethereum

Nonce akun Ethereum adalah penghitung yang terkait dengan sebuah akun.

Dokumentasi akun Ethereum menjelaskan bahwa akun memiliki kolom nonce dan hanya satu transaksi dengan nonce tertentu yang dapat dieksekusi untuk setiap akun.

Pada externally owned account, nonce menghitung transaksi yang dikirim dari akun tersebut.

Pada akun kontrak, nonce berkaitan dengan kontrak yang dibuat oleh akun kontrak tersebut.

Jika sebuah alamat telah mengirim 25 transaksi yang berhasil, transaksi normal berikutnya seharusnya menggunakan nonce 25.

Setelah transaksi itu dieksekusi, transaksi berikutnya seharusnya menggunakan nonce 26.

Penghitung sederhana ini mencegah transaksi yang sama dieksekusi dua kali.

Nonce juga mengurutkan transaksi dari alamat yang sama.

Transaksi dengan nonce 27 biasanya tidak dapat diproses sebelum transaksi dengan nonce 26 ditangani.

Karena itu, satu transaksi macet dapat menghambat transaksi berikutnya dari wallet yang sama.

Nonce Transaksi Ethereum

Nonce transaksi Ethereum merupakan bagian dari data transaksi yang ditandatangani wallet.

Dokumentasi transaksi Ethereum menjelaskan nonce sebagai penghitung berurutan yang terus bertambah dan menunjukkan nomor transaksi dari akun.

Nonce transaksi membantu menghasilkan hash transaksi yang unik.

Nonce juga memberi tahu jaringan posisi transaksi dalam urutan transaksi pengirim.

Jika dua transaksi tertunda dari akun yang sama menggunakan nonce yang sama, keduanya bersaing untuk slot yang sama.

Hanya satu yang dapat dieksekusi.

Inilah dasar untuk mempercepat atau membatalkan transaksi Ethereum.

Pengguna dapat mengirim transaksi pengganti dengan nonce yang sama dan biaya lebih tinggi.

Jika transaksi pengganti diterima jaringan dan dimasukkan lebih dulu, transaksi itu menggunakan nonce tersebut dan mencegah transaksi sebelumnya dieksekusi.

Mekanisme ini berguna, tetapi dapat membingungkan pengguna yang mengubah nonce secara manual tanpa memahami antrean transaksi tertunda.

Nonce Mining Bitcoin

Nonce mining Bitcoin berbeda dari nonce akun Ethereum.

Referensi blockchain Bitcoin menjelaskan nonce header blok sebagai angka arbitrer 32-bit yang diubah miner untuk mengubah hash header blok.

Miner berulang kali melakukan hashing pada data header blok sambil mengubah nonce dan kolom lain yang dapat disesuaikan.

Tujuannya adalah menemukan hash yang nilainya kurang dari atau sama dengan ambang target saat ini.

Jika miner telah mencoba semua nilai nonce 32-bit tanpa menemukan blok valid, miner dapat memperbarui waktu atau mengubah transaksi coinbase, yang akan mengubah Merkle root.

Dengan begitu, miner mendapat lebih banyak input hash untuk dicoba.

Nonce mining tidak mengurutkan transaksi pengguna.

Nonce ini tidak mencegah serangan replay wallet.

Nonce mining adalah variabel pencarian proof-of-work.

Karena itulah, istilah “nonce” yang sama dapat memiliki arti sangat berbeda bergantung pada blockchain dan konteksnya.

Nonce dalam Proof of Work

Dalam mining proof-of-work, nonce membantu miner membuat banyak percobaan hash yang berbeda.

Fungsi hash kriptografi menghasilkan output yang sangat berbeda ketika inputnya berubah sedikit saja.

Mengubah nonce mengubah input header blok.

Perubahan input akan mengubah hash.

Miner terus mencoba nilai nonce yang berbeda sampai salah satu hash memenuhi target kesulitan jaringan.

Dalam konteks ini, nonce bukan rahasia.

Setelah sebuah blok ditemukan, semua orang dapat melihat nonce dan memverifikasi hash-nya.

Keamanannya berasal dari besarnya upaya yang diperlukan untuk menemukan hash valid, bukan dari menyembunyikan nonce.

Hal ini berbeda dari nonce tanda tangan, yang biasanya harus dirahasiakan.

Nonce mining adalah alat pencarian proof-of-work yang bersifat publik.

Nonce untuk Perlindungan Replay

Perlindungan replay merupakan salah satu kegunaan nonce yang paling penting dalam kripto.

Serangan replay terjadi ketika seseorang menyalin tindakan bertanda tangan yang valid lalu mengirimkannya kembali.

Nonce mencegahnya dengan membuat setiap tindakan bertanda tangan hanya dapat digunakan sekali.

Ketika tindakan dieksekusi, nonce digunakan, dinaikkan nilainya, atau ditandai sebagai telah digunakan.

Jika seseorang mencoba mengirimkan tindakan bertanda tangan yang sama lagi, pemeriksaan nonce akan gagal.

Ini penting untuk transaksi, persetujuan token, klaim smart contract, voting governance, pesan bridge, login wallet, dan meta-transaksi.

Tanda tangan valid membuktikan bahwa sebuah kunci menyetujui sesuatu.

Nonce valid membuktikan bahwa persetujuan tersebut belum pernah digunakan dalam konteks itu.

Kedua pemeriksaan diperlukan untuk otorisasi kripto yang aman.

Perlindungan replay mengubah tanda tangan yang disalin dari ancaman serius menjadi duplikasi yang ditolak.

Nonce dan Chain ID EIP-155

EIP-155 menambahkan lapisan perlindungan replay dengan menyertakan chain ID dalam data transaksi Ethereum yang ditandatangani.

Spesifikasi EIP-155 menjelaskan bahwa perubahan ini memungkinkan transaksi berlaku di satu blockchain tanpa berlaku di blockchain lain yang menggunakan chain ID berbeda.

Ini penting karena banyak blockchain kompatibel EVM dapat memiliki format alamat dan struktur transaksi yang serupa.

Nonce transaksi mencegah transaksi akun yang sama dieksekusi dua kali di blockchain yang sama.

Chain ID membantu mencegah transaksi bertanda tangan yang sama di-replay di blockchain lain.

Kedua konsep ini penting.

Transaksi dapat unik di satu blockchain, tetapi tetap berbahaya jika valid di blockchain lain.

Tanda tangan yang mempertimbangkan blockchain mengurangi risiko tersebut.

Tanda tangan di tingkat aplikasi juga sebaiknya menyertakan konteks blockchain jika relevan.

Nonce tanpa domain yang tepat masih dapat digunakan di terlalu banyak konteks.

Nonce dalam Data Bertipe EIP-712

EIP-712 adalah standar untuk menandatangani data terstruktur bertipe.

Spesifikasi EIP-712 menyatakan bahwa standar ini tidak menyediakan perlindungan replay secara otomatis.

Artinya, developer harus menambahkan perlindungan replay di aplikasi atau smart contract yang memverifikasi tanda tangan.

Pesan bertipe dapat menyertakan nonce.

Kontrak harus memeriksa nonce tersebut.

Kontrak juga harus menandai nonce sebagai telah digunakan atau menaikkan nilainya setelah eksekusi berhasil.

Jika kontrak memverifikasi tanda tangan tetapi lupa memperbarui status nonce, tanda tangan yang sama mungkin dapat digunakan kembali.

EIP-712 meningkatkan keterbacaan dan pemisahan domain, tetapi tidak menggantikan desain nonce yang cermat.

Tanda tangan data bertipe yang aman sebaiknya menyertakan nonce, tenggat waktu, chain ID, kontrak verifikasi, dan tindakan persis yang diotorisasi.

Anggap tanda tangan bertipe sebagai izin sungguhan, bukan pop-up login yang tidak berbahaya.

Nonce dalam Permit ERC-2612

Permit ERC-2612 memungkinkan pemilik token menyetujui penggunaan token melalui pesan bertanda tangan, bukan transaksi persetujuan on-chain langsung.

Standar ERC-2612 menyertakan fungsi nonces dan menyatakan bahwa pemetaan nonce digunakan untuk perlindungan replay.

Ketika permit berhasil, nonce pemilik akan bertambah.

Dengan demikian, tanda tangan permit yang sama tidak lagi valid untuk digunakan kembali.

ERC-2612 juga menyertakan tenggat waktu agar persetujuan bertanda tangan dapat kedaluwarsa.

Ini penting karena relayer dapat menerima permit dan memilih kapan akan mengirimkannya.

Tanpa tenggat waktu, tanda tangan lama dapat tetap valid lebih lama dari yang diperkirakan pengguna.

Tanpa nonce, tanda tangan persetujuan yang sama dapat dikirim berulang kali.

Nonce permit menjadi salah satu alasan persetujuan tanpa gas dapat lebih aman dan praktis.

Nonce permit juga menunjukkan mengapa smart contract memerlukan sistem nonce sendiri selain nonce transaksi akun biasa.

Nonce dalam Account Abstraction ERC-4337

Account abstraction ERC-4337 menggunakan UserOperation, bukan transaksi Ethereum biasa dari externally owned account.

Spesifikasi ERC-4337 menetapkan nonce UserOperation sebagai parameter anti-replay.

Spesifikasi itu juga menyebutkan bahwa tanda tangan harus bergantung pada chain ID dan alamat EntryPoint untuk mencegah replay lintas blockchain atau lintas EntryPoint.

ERC-4337 mendukung model nonce yang semi-abstrak.

Nonce dapat dibagi menjadi key dan sequence.

Ini memungkinkan smart account menggunakan beberapa jalur nonce.

Wallet dapat memiliki satu jalur untuk transaksi biasa dan jalur lain untuk tindakan administratif atau pemulihan.

Model ini lebih fleksibel daripada satu penghitung berurutan sederhana.

Namun, model ini juga lebih kompleks bagi developer dan pengguna wallet.

Account abstraction membuat desain nonce lebih canggih, tetapi meningkatkan kebutuhan akan antarmuka wallet yang lebih jelas.

Jalur Nonce

Jalur nonce adalah urutan nonce mandiri dalam desain akun atau smart account yang lebih besar.

Jalur nonce memungkinkan berbagai kategori tindakan berjalan secara paralel.

Misalnya, wallet dapat menggunakan satu jalur untuk pengeluaran sehari-hari dan jalur lain untuk pemulihan.

Wallet game dapat menggunakan satu jalur untuk transaksi kecil yang sering dilakukan dan jalur lain untuk transfer aset bernilai tinggi.

Wallet langganan dapat menggunakan satu jalur untuk pembayaran berulang dan jalur lain untuk transaksi yang dikelola pengguna.

Manfaatnya, satu tindakan macet tidak menghambat semua tindakan lainnya.

Risikonya, pengguna mungkin tidak memahami jalur mana yang sedang mereka otorisasi.

Developer harus memastikan setiap jalur tetap memiliki perlindungan replay yang kuat.

Wallet sebaiknya menjelaskan jalur nonce hanya jika pengguna perlu mengetahuinya.

Desain terbaik memberi pengguna fleksibilitas tanpa menampilkan detail teknis yang membingungkan.

Nonce Berurutan

Nonce berurutan adalah penghitung yang bertambah satu setelah setiap tindakan valid.

Ini merupakan model paling umum untuk transaksi akun biasa.

Nonce berurutan mudah diaudit karena menciptakan urutan yang jelas.

Nonce ini juga mencegah dua transaksi dari akun yang sama dengan nonce yang sama-sama dieksekusi.

Kekurangannya, transaksi berikutnya dapat terhambat oleh transaksi tertunda sebelumnya.

Hal ini dapat menyebabkan transaksi macet.

Pengguna mungkin perlu mempercepat atau membatalkan transaksi sebelumnya sebelum transaksi berikutnya dapat diproses.

Nonce berurutan andal, sederhana, dan banyak digunakan.

Namun, model ini kurang fleksibel untuk sistem yang memerlukan banyak tindakan independen secara bersamaan.

Karena itu, akun smart contract dan sistem otorisasi terkadang menggunakan pola nonce lain.

Nonce Acak

Nonce acak adalah nilai unik yang dihasilkan dari keacakan, bukan dari penghitung sederhana.

Nonce acak berguna ketika tindakan tidak perlu diurutkan secara ketat.

Smart contract dapat menyimpan pemetaan nonce acak yang telah digunakan.

Saat otorisasi bertanda tangan digunakan, kontrak menandai nonce acak tersebut sebagai telah digunakan.

Jika otorisasi yang sama muncul lagi, kontrak akan menolaknya.

Nonce acak memungkinkan banyak tindakan bertanda tangan tersedia bersamaan tanpa saling menghambat.

Kekurangannya adalah kebutuhan penyimpanan dan kualitas keacakan.

Kontrak mungkin perlu menyimpan banyak nonce yang telah digunakan.

Wallet atau aplikasi harus menghindari pembuatan nonce acak yang sama dua kali dalam konteks yang sama.

Nonce acak fleksibel, tetapi harus dilacak dengan cermat.

Nonce Smart Contract

Nonce smart contract adalah sistem nonce apa pun yang ditentukan dan disimpan oleh smart contract.

Nonce ini dapat berupa penghitung untuk setiap pengguna.

Nonce ini dapat berupa pemetaan ID pesan yang telah digunakan.

Nonce ini dapat berupa indeks klaim dalam airdrop.

Nonce ini dapat berupa status voting proposal dalam governance.

Nonce ini dapat berupa hash order di marketplace.

Nonce ini dapat berupa nomor urut pesan bridge.

Nonce smart contract diperlukan karena nonce akun biasa tidak melindungi semua tanda tangan off-chain atau tindakan di tingkat kontrak.

Jika kontrak menerima tanda tangan, kontrak harus menentukan apakah tanda tangan tersebut sudah pernah digunakan.

Desain nonce smart contract yang baik mencegah eksekusi berulang sekaligus menjaga pengalaman pengguna tetap mudah dikelola.

Nonce dalam Pesan Login Wallet

Pesan login wallet sering menggunakan nonce meski tidak ada transaksi on-chain.

Situs web dapat meminta pengguna menandatangani pesan untuk membuktikan bahwa pengguna mengendalikan alamat wallet.

Situs web sebaiknya membuat nonce tantangan baru untuk setiap upaya login.

Pesan bertanda tangan sebaiknya memuat domain, nonce, waktu penerbitan, waktu kedaluwarsa, dan tujuan.

Setelah login berhasil, server sebaiknya menandai nonce tersebut sebagai telah digunakan.

Jika penyerang mencuri tanda tangan login lama, nonce yang sudah digunakan seharusnya mencegah replay.

Tanpa nonce baru, tanda tangan login dapat berfungsi seperti kata sandi yang bisa digunakan berulang kali.

Ini berbahaya karena pengguna sering menganggap penandatanganan pesan tidak seserius transaksi.

Nonce login wallet merupakan bagian dari keamanan akun.

Tanda tangan login yang baik harus spesifik, baru, terbatas, dan mudah dibaca.

Nonce dalam Tanda Tangan ECDSA

Penandatanganan ECDSA menggunakan nilai rahasia untuk setiap pesan, yang sering disebut nonce atau nonce penandatanganan.

Jenis nonce ini berbeda dari nonce transaksi akun.

Nonce ini harus rahasia dan unik untuk setiap tanda tangan.

RFC 6979 menetapkan metode deterministik untuk pembuatan tanda tangan DSA dan ECDSA yang menghindari ketergantungan pada pembuatan nilai acak baru untuk setiap tanda tangan.

Digital Signature Standard FIPS 186-5 dari NIST menyatakan bahwa ECDSA menggunakan angka rahasia untuk setiap pesan saat membuat tanda tangan.

Jika nonce ECDSA digunakan ulang atau dapat diprediksi, penyerang mungkin dapat memulihkan kunci privat.

Penelitian terbaru tentang risiko tabrakan nonce ECDSA dalam aktivitas blockchain produksi menyoroti bahwa pembuatan nonce yang tidak tepat dapat berakibat fatal.

Ini adalah salah satu makna nonce yang paling serius dalam keamanan kripto.

Nonce akun yang buruk dapat menyebabkan transaksi gagal atau macet.

Nonce tanda tangan ECDSA yang buruk dapat membahayakan seluruh wallet.

Nonce dalam Enkripsi

Beberapa sistem enkripsi juga menggunakan nonce.

Dalam enkripsi terautentikasi, nonce dapat membantu membuat output enkripsi unik meskipun kunci yang sama digunakan untuk banyak pesan.

RFC 5116 menetapkan antarmuka untuk Authenticated Encryption with Associated Data dan membahas algoritma AEAD yang menggunakan nonce.

Wallet kripto, backup terenkripsi, sistem pesan aman, dan software kustodian dapat menggunakan nonce enkripsi secara internal.

Nonce enkripsi berbeda dari nonce transaksi blockchain.

Nonce tersebut merupakan bagian dari perlindungan pesan kriptografi.

Pada banyak skema enkripsi, penggunaan ulang nonce dengan kunci yang sama dapat berbahaya.

Pengguna biasanya tidak mengelola nonce ini secara manual.

Developer dan library wallet harus menanganinya dengan benar.

Software kripto yang aman memperlakukan pembuatan nonce sebagai detail penting bagi keamanan.

Nonce vs Salt

Nonce dan salt adalah konsep yang berkaitan, tetapi tidak sama.

Nonce biasanya dimaksudkan untuk digunakan secara unik satu kali dalam protokol atau konteks penandatanganan.

Salt biasanya berupa data acak atau unik yang ditambahkan ke hash, proses kata sandi, commitment, atau perhitungan alamat untuk membedakan output.

Dalam kripto, salt dapat digunakan saat melakukan deploy kontrak secara deterministik atau menghasilkan commitment.

Nonce dapat digunakan untuk mengurutkan transaksi atau mencegah replay.

Kedua nilai tersebut dapat menambah keunikan.

Perbedaannya terletak pada peran keamanan yang dijalankan.

Salt sering mencegah prakomputasi atau menciptakan keunikan dalam nilai turunan.

Nonce sering mencegah penggunaan ulang atau memberikan kebaruan pada tindakan protokol.

Developer sebaiknya menamai dan mendokumentasikan nilai ini dengan jelas untuk menghindari kesalahan keamanan.

Nonce vs Hash Transaksi

Nonce tidak sama dengan hash transaksi.

Nonce adalah input yang disertakan dalam transaksi atau pesan protokol.

Hash transaksi adalah pengenal yang dihasilkan dengan melakukan hashing pada data transaksi bertanda tangan.

Mengubah nonce akan mengubah hash transaksi karena transaksi bertanda tangan ikut berubah.

Wallet dapat menggunakan nonce sebelum transaksi ditambang.

Blockchain explorer biasanya menampilkan hash transaksi setelah transaksi disiarkan atau dimasukkan ke blockchain.

Nonce memberi tahu jaringan posisi transaksi dalam urutan pengirim.

Hash transaksi membantu pengguna menemukan dan memverifikasi catatan transaksi.

Keduanya penting, tetapi memiliki fungsi berbeda.

Mencampuradukkan keduanya dapat mempersulit penelusuran masalah transaksi.

Nonce vs Gas

Nonce bukan gas.

Gas mengukur pekerjaan komputasi dan biaya eksekusi transaksi.

Nonce menunjukkan urutan atau keunikan transaksi.

Transaksi dapat memiliki nonce yang benar, tetapi gas terlalu sedikit atau biaya terlalu rendah.

Transaksi juga dapat memiliki gas yang cukup, tetapi nonce yang salah.

Kedua masalah ini menyebabkan kegagalan yang berbeda.

Masalah gas dapat menyebabkan eksekusi gagal atau prioritas transaksi rendah.

Masalah nonce dapat menyebabkan transaksi ditolak, diganti, tertunda, atau terhambat transaksi tertunda sebelumnya.

Pengguna sering melihat kedua pengaturan ini di perangkat wallet tingkat lanjut.

Jangan mengubah salah satu pengaturan secara sembarangan.

Nonce dan Pembuatan Alamat Kontrak

Nonce juga dapat memengaruhi alamat kontrak.

Pada sistem bergaya Ethereum, alamat kontrak yang dibuat melalui operasi create tradisional diturunkan dari alamat pembuat dan nonce pembuat.

Artinya, akun yang sama dapat membuat alamat kontrak berbeda saat nonce-nya berubah.

Developer perlu memahami hal ini saat melakukan deploy kontrak, menguji deployment, atau memprediksi alamat.

Skrip deployment kontrak dapat gagal jika nonce yang diperkirakan berbeda dari nonce akun sebenarnya.

Transaksi tertunda dapat mengubah urutan deployment.

Kesalahan nonce manual dapat menyebabkan kontrak di-deploy ke alamat yang tidak diperkirakan.

Metode deployment deterministik dapat menggunakan mekanisme lain, tetapi pengelolaan nonce tetap penting untuk deployment biasa.

Untuk deployment serius, tim sebaiknya menggunakan skrip deployment terkontrol dan memverifikasi alamat sebelum mengumumkannya.

Alamat deployment yang salah dapat membingungkan pengguna dan merusak integrasi.

Nonce dan Transaksi Macet

Transaksi sering macet ketika transaksi dengan biaya rendah tetap tertunda.

Jika transaksi tersebut menggunakan nonce berikutnya dari akun, transaksi berikutnya mungkin harus menunggu di belakangnya.

Ini terjadi karena nonce berurutan mengharuskan slot nonce sebelumnya ditangani lebih dulu.

Wallet mungkin menampilkan transaksi berikutnya sebagai tertunda meskipun biayanya tinggi.

Masalah sebenarnya mungkin berasal dari transaksi lama dengan nonce lebih rendah.

Pengguna sering dapat mempercepat transaksi macet dengan menggantinya menggunakan nonce yang sama dan biaya lebih tinggi.

Pengguna juga sering dapat membatalkan transaksi macet dengan mengirim transaksi pengganti yang tidak berbahaya, menggunakan nonce sama dan biaya lebih tinggi.

Tindakan ini harus dilakukan dengan hati-hati.

Mengganti nonce yang salah dapat membatalkan atau mengganti tindakan yang masih ingin dilakukan pengguna.

Penelusuran masalah nonce adalah salah satu alasan pengaturan wallet tingkat lanjut dapat berisiko bagi pemula.

Nonce dan Penggantian Transaksi

Penggantian transaksi menggunakan nonce yang sama untuk menggantikan transaksi tertunda.

Transaksi pengganti bersaing dengan transaksi awal untuk slot nonce yang sama.

Jika transaksi pengganti diterima dan dikonfirmasi lebih dulu, transaksi awal menjadi tidak valid karena nonce tersebut sudah digunakan.

Mekanisme ini berguna ketika pengguna ingin menaikkan biaya transaksi yang lambat.

Mekanisme ini juga berguna ketika pengguna ingin membatalkan transaksi tertunda sebelum dikonfirmasi.

Penggantian tidak berarti blockchain menghapus transaksi yang sudah dikonfirmasi.

Mekanisme ini hanya berfungsi ketika transaksi sebelumnya masih tertunda.

Setelah transaksi dikonfirmasi, nonce telah digunakan.

Setelah itu, pengguna tidak dapat menggunakan nonce tersebut untuk transaksi lain.

Karena itu, waktu menjadi penting saat mengelola transaksi tertunda.

Nonce dan Bridge

Bridge menggunakan nonce atau ID pesan untuk mencegah pesan lintas blockchain yang sama diproses dua kali.

Pesan bridge dapat mewakili deposit token, penarikan, mint, burn, atau pemanggilan kontrak.

Jika blockchain tujuan menerima pesan yang sama lebih dari sekali, aset dapat dilepas atau di-mint secara keliru.

Pesan bridge yang aman sebaiknya menyertakan blockchain sumber, blockchain tujuan, kontrak sumber, kontrak tujuan, pengirim, penerima, jumlah, serta nonce atau ID pesan unik.

Kontrak tujuan sebaiknya menandai pesan sebagai telah diproses.

Jika seseorang mengirim ulang pesan yang sama, kontrak seharusnya menolaknya.

Desain nonce bridge sangat penting karena bridge menghubungkan sistem konsensus yang berbeda.

Kegagalan perlindungan replay pada bridge dapat menimbulkan risiko sistemik lintas blockchain.

Keamanan bridge sebaiknya diperlakukan terpisah dari keamanan token itu sendiri.

Token dapat memiliki mekanisme yang baik, sementara sistem pesan bridge-nya tidak aman.

Nonce dan Governance

Sistem governance menggunakan status seperti nonce untuk mencegah voting, delegasi, dan eksekusi proposal yang berulang.

Voting biasanya hanya boleh dihitung sekali untuk snapshot voting power atau sesuai aturan voting yang ditetapkan dengan jelas.

Delegasi bertanda tangan tidak seharusnya dapat digunakan kembali selamanya, kecuali desainnya memang mengizinkan hal tersebut secara jelas.

Eksekusi proposal tidak seharusnya berjalan dua kali, kecuali kontrak memang mendukung eksekusi berulang.

Pesan governance mungkin memerlukan ID proposal, nonce pemilih, chain ID, tenggat waktu, dan pemeriksaan status eksekusi.

Ini sangat penting ketika governance mengendalikan treasury, upgrade, biaya, parameter risiko, atau koneksi bridge.

Tindakan governance yang di-replay dapat lebih berbahaya daripada pembayaran yang gagal.

Tindakan tersebut dapat mengubah aturan seluruh protokol.

Kontrak governance yang baik menjadikan perlindungan replay sebagai fitur keamanan inti.

Pemilih yang cermat akan meninjau tindakan yang ditandatangani sebelum menyetujuinya.

Nonce dan Klaim Airdrop

Airdrop dan sistem reward sering menggunakan perlindungan seperti nonce untuk mencegah klaim berulang.

Kontrak dapat menyimpan informasi apakah sebuah alamat sudah melakukan klaim.

Kontrak dapat menyimpan apakah indeks klaim Merkle sudah digunakan.

Kontrak dapat menggunakan pesan klaim bertanda tangan yang menyertakan nonce, ID kampanye, jumlah token, tenggat waktu, dan alamat penerima.

Jika perlindungan ini tidak ada, satu klaim valid dapat digunakan berulang kali sampai reward habis.

Sistem klaim yang baik mengikat klaim ke pengguna, kampanye, blockchain, token, jumlah, dan rentang waktu yang benar.

Berhati-hatilah saat menandatangani pesan klaim dari situs yang tidak dikenal.

Tanda tangan klaim mungkin mengotorisasi tindakan yang lebih luas daripada klaim reward biasa jika pesannya menyesatkan.

Perlindungan nonce mencegah penggunaan berulang, tetapi tidak membuat penggunaan pertama yang berbahaya menjadi aman.

Kejelasan wallet tetap penting.

Nonce dan DeFi

DeFi menggunakan nonce dalam banyak cara yang tidak selalu terlihat.

Permit token menggunakan nonce untuk persetujuan bertanda tangan.

Meta-transaksi menggunakan nonce untuk tindakan tanpa gas.

Protokol lending dapat menggunakan nonce untuk delegasi bertanda tangan atau persetujuan kredit.

Sistem order terdesentralisasi dapat menggunakan nonce atau hash order untuk mencegah order yang sudah terisi diisi kembali.

Opsi, vault, dan produk terstruktur dapat menggunakan nonce dalam kuotasi off-chain atau pesan penyelesaian.

Bot likuidasi dan sistem trading juga harus mengelola nonce akun dengan cermat karena transaksi macet dapat menghambat tindakan yang sensitif terhadap waktu.

Dalam DeFi, kesalahan nonce dapat dengan cepat menimbulkan kerugian.

Tanda tangan persetujuan yang kedaluwarsa dapat menjadi risiko pengurasan wallet.

Pembaruan nonce yang terlewat dapat membuat kontrak rentan terhadap replay.

Nonce transaksi yang salah dapat menyebabkan trading yang berpotensi menguntungkan gagal.

Nonce dan NFT

Sistem NFT juga menggunakan nonce dalam listing marketplace, penawaran, permit, klaim, dan transfer berbasis tanda tangan.

Penjual dapat menandatangani order off-chain untuk menjual NFT.

Kontrak marketplace harus mencegah order bertanda tangan yang sama diisi melebihi batas yang diizinkan.

Hal ini dapat dilakukan menggunakan nonce order, hash order, penghitung pembatalan, atau pemetaan status pengisian.

Jika order NFT dapat di-replay setelah penjualan atau pembatalan, penjual dapat kehilangan aset tanpa diduga.

Jika tanda tangan penawaran dapat di-replay setelah kondisinya berubah, penawar mungkin membeli sesuatu yang tidak lagi ingin dibeli.

Tanda tangan NFT sebaiknya menyertakan alamat koleksi, token ID, harga, mata uang, ketentuan pembeli atau penjual, waktu kedaluwarsa, chain ID, dan nonce.

Jangan menandatangani pesan listing NFT yang tidak jelas.

Batalkan juga listing lama bila diperlukan.

Keamanan nonce merupakan bagian dari keamanan marketplace.

Nonce dan Keamanan Kunci Privat

Kualitas nonce dapat berdampak langsung pada keamanan kunci privat dalam algoritma tanda tangan.

Hal ini paling penting pada sistem berbasis ECDSA.

Jika nonce penandatanganan ECDSA yang sama digunakan untuk dua pesan berbeda, kunci privat mungkin dapat dipulihkan.

Jika nonce penandatanganan mengikuti pola yang dapat diprediksi, penyerang juga mungkin dapat memulihkan kunci dalam kondisi tertentu.

Karena itulah developer wallet mengandalkan library kriptografi yang telah ditinjau.

Jangan membuat software penandatanganan sendiri untuk wallet bernilai tinggi kecuali kode tersebut telah ditinjau pakar kriptografi.

Kesalahan nonce transaksi mungkin terlihat dan dapat diperbaiki.

Kesalahan nonce penandatanganan dapat membocorkan kunci privat tanpa disadari.

Hardware wallet dan library software yang matang membantu mengurangi risiko ini.

Pembuatan nonce kriptografi bukan tempat untuk mengambil jalan pintas.

Jenis Nonce yang Umum dalam Kripto

    • Nonce akun mengurutkan transaksi dari akun blockchain.

    • Nonce transaksi disertakan dalam data transaksi bertanda tangan untuk membuat transaksi unik.

    • Nonce mining diubah miner proof-of-work untuk mencari hash blok yang valid.

    • Nonce permit mencegah persetujuan token bertanda tangan digunakan lebih dari sekali.

    • Nonce smart contract mencegah otorisasi di tingkat kontrak dieksekusi berulang.

    • Nonce pesan bridge mencegah pesan lintas blockchain yang sama diproses dua kali.

    • Nonce login membuat tantangan autentikasi wallet yang baru.

    • Nonce tanda tangan adalah nilai rahasia untuk setiap pesan yang digunakan sejumlah algoritma tanda tangan digital.

    • Nonce enkripsi membantu membuat pesan terenkripsi unik dengan kunci yang sama.

    • Jalur nonce adalah urutan nonce independen yang digunakan sebagian desain smart account.

Kesalahan Umum terkait Nonce

Salah satu kesalahan umum adalah menganggap semua nonce memiliki arti yang sama.

Kesalahan lainnya adalah mengubah nonce transaksi secara manual tanpa memeriksa transaksi tertunda.

Kesalahan ketiga adalah menandatangani data bertipe yang tidak menyertakan nonce.

Kesalahan keempat adalah memverifikasi tanda tangan smart contract tetapi lupa menandai nonce sebagai telah digunakan.

Kesalahan kelima adalah menggunakan nonce tanpa chain ID atau pemisahan domain kontrak verifikasi.

Kesalahan keenam adalah menganggap EIP-712 otomatis menyediakan perlindungan replay.

Kesalahan ketujuh adalah menggunakan keacakan yang lemah untuk nonce acak.

Kesalahan kedelapan adalah menggunakan ulang atau membocorkan nonce penandatanganan ECDSA.

Kesalahan kesembilan adalah menganggap nonce dapat menghentikan phishing.

Kesalahan kesepuluh adalah lupa memindahkan status nonce saat upgrade kontrak.

Praktik Terbaik bagi Developer

Tentukan tujuan nonce sebelum menulis kode.

Gunakan nonce berurutan jika pengurutan ketat diperlukan.

Gunakan nonce acak atau nonce berbasis pemetaan jika otorisasi independen perlu dieksekusi secara paralel.

Sertakan chain ID dan alamat kontrak verifikasi dalam data bertanda tangan jika konteksnya penting.

Sertakan tenggat waktu atau periode validitas untuk tanda tangan off-chain.

Tandai nonce sebagai telah digunakan saat eksekusi berhasil.

Uji upaya replay dalam unit test dan integration test.

Gunakan library kriptografi yang telah ditinjau untuk nonce tanda tangan dan enkripsi.

Hindari membuat nonce ECDSA sendiri, kecuali berdasarkan standar yang telah ditinjau secara menyeluruh.

Dokumentasikan perilaku nonce dengan jelas agar wallet, indexer, auditor, dan pengguna dapat memahaminya.

Praktik Terbaik bagi Pengguna

Biarkan wallet mengelola nonce transaksi biasa, kecuali Anda memahami urutan transaksi tertunda.

Periksa apakah transaksi macet sebelum mengirim banyak transaksi baru dari wallet yang sama.

Gunakan fitur percepat atau batalkan dengan hati-hati saat mengganti transaksi.

Baca pesan permit token sebelum menandatanganinya.

Periksa spender, jumlah, blockchain, tenggat waktu, dan aplikasi sebelum menyetujui tanda tangan.

Jangan menandatangani pesan login wallet dari domain mencurigakan.

Jangan menganggap tanda tangan pesan aman hanya karena tidak langsung memindahkan dana.

Gunakan software wallet tepercaya dan hindari alat penandatanganan yang tidak dikenal.

Amankan hardware wallet dan metode pemulihan untuk saldo bernilai tinggi.

Ingat, perlindungan nonce dapat mencegah penggunaan berulang, tetapi tidak membuat tanda tangan yang buruk menjadi tidak berbahaya.

Kapan Nonce Paling Penting

Nonce paling penting ketika tanda tangan dapat memindahkan nilai atau mengubah status penting.

Nonce penting saat mengirim transaksi blockchain biasa.

Nonce penting saat menyetujui penggunaan token melalui permit.

Nonce penting saat menandatangani order marketplace.

Nonce penting saat mengirim pesan bridge.

Nonce penting saat memberikan suara atau menandatangani delegasi governance.

Nonce penting saat mengklaim airdrop atau reward.

Nonce penting saat login menggunakan tanda tangan wallet.

Nonce penting saat membuat tanda tangan ECDSA.

Nonce penting di mana pun penggunaan ulang, replay, atau kemampuan untuk diprediksi dapat menyebabkan kerugian finansial.

Nonce dalam Satu Kalimat

Nonce adalah nilai unik yang digunakan satu kali dalam konteks blockchain, kriptografi, atau smart contract untuk mendukung pengurutan transaksi, mining proof-of-work, perlindungan replay, tanda tangan aman, keamanan enkripsi, dan perilaku wallet yang andal.

FAQ

Apa arti Nonce dalam kripto?

Nonce berarti nilai unik yang digunakan satu kali dalam konteks kripto tertentu, seperti penghitung transaksi, kolom mining, ID pesan bertanda tangan, atau nilai penandatanganan kriptografi.

Apa itu nonce Ethereum?

Nonce Ethereum adalah penghitung yang membantu mengurutkan transaksi dari sebuah akun dan mencegah nonce transaksi yang sama dieksekusi dua kali.

Apa itu nonce Bitcoin?

Nonce Bitcoin adalah kolom pada header blok yang diubah miner saat mencari hash proof-of-work yang memenuhi target jaringan.

Mengapa wallet menggunakan nonce?

Wallet menggunakan nonce untuk membuat urutan transaksi yang valid, mencegah replay, mengganti transaksi tertunda, dan melacak transaksi berikutnya.

Dapatkah saya mengubah nonce secara manual?

Ya, sebagian wallet memungkinkan perubahan nonce manual, tetapi lakukan hanya jika Anda memahami transaksi tertunda dan aturan penggantian.

Apa yang terjadi jika dua transaksi menggunakan nonce yang sama?

Hanya satu transaksi dengan pengirim dan nonce yang sama yang dapat dieksekusi, sehingga keduanya bersaing untuk slot yang sama.

Mengapa transaksi saya macet karena nonce?

Transaksi berikutnya dapat terhambat jika transaksi sebelumnya dengan nonce lebih rendah masih tertunda.

Bagaimana nonce mencegah serangan replay?

Nonce mencegah serangan replay dengan membuat tindakan bertanda tangan hanya dapat digunakan sekali dan memungkinkan sistem menolak nonce yang sama setelah digunakan.

Apakah EIP-712 otomatis menangani nonce?

Tidak. EIP-712 menyusun data bertipe, tetapi developer tetap harus menyertakan dan menerapkan pemeriksaan nonce dalam kontrak atau aplikasi.

Apa itu nonce permit?

Nonce permit adalah nonce pemilik token yang mencegah persetujuan token bertanda tangan yang sama dikirim lebih dari sekali.

Apa itu nonce penandatanganan?

Nonce penandatanganan adalah nilai rahasia untuk setiap pesan yang digunakan sejumlah algoritma tanda tangan. Penanganan yang buruk dapat membahayakan kunci privat.

Apakah nonce selalu rahasia?

Tidak. Nonce akun dan nonce mining biasanya bersifat publik, sedangkan sejumlah nonce penandatanganan kriptografi harus dirahasiakan.

Kesimpulan

Nonce adalah istilah singkat dengan beberapa makna penting dalam mata uang kripto.

Inti nonce adalah keunikan.

Keunikan ini membantu sistem kripto membedakan satu transaksi, pesan, tanda tangan, percobaan hash, atau tindakan kontrak dari yang lain.

Di Ethereum, nonce akun mengurutkan transaksi dan mencegah transaksi yang sama dieksekusi dua kali.

Dalam mining Bitcoin, nonce header blok memberi miner variabel yang dapat diubah saat mencari hash proof-of-work yang valid.

Dalam smart contract, nonce mencegah permit, klaim, voting, order, dan pesan bridge bertanda tangan di-replay.

Dalam account abstraction, model nonce yang lebih fleksibel memungkinkan smart wallet mendukung alur kerja paralel dan logika otorisasi tingkat lanjut.

Dalam penandatanganan ECDSA, kualitas nonce dapat menentukan apakah kunci privat tetap aman atau dapat dipulihkan penyerang.

Makna-makna ini terhubung oleh prinsip yang sama, tetapi mekanismenya berbeda.

Nonce mining bersifat publik dan diuji berulang kali.

Nonce akun bersifat publik dan berurutan.

Nonce kontrak dapat berupa penghitung tersimpan atau pemetaan pesan yang telah digunakan.

Nonce permit melindungi persetujuan bertanda tangan.

Nonce penandatanganan harus rahasia dan dibuat dengan aman.

Karena itu, konteks penting setiap kali istilah ini digunakan.

Pelajaran nonce yang paling praktis bagi pengguna adalah membiarkan wallet mengelola urutan transaksi biasa, kecuali tindakan manual benar-benar diperlukan.

Berhati-hatilah saat menangani transaksi macet, transaksi yang dipercepat, upaya pembatalan, dan pengaturan nonce manual.

Baca juga permintaan tanda tangan dengan cermat karena pesan off-chain dapat menyertakan nonce, tetapi tetap mengotorisasi tindakan berbahaya.

Bagi developer, pelajaran nonce terpenting adalah merancang perlindungan replay secara eksplisit.

Setiap tanda tangan yang dapat memindahkan nilai atau mengubah status penting sebaiknya menyertakan nonce, domain, tenggat waktu bila sesuai, dan detail tindakan yang jelas.

Kontrak harus memeriksa nonce dan menggunakannya dengan benar.

Wallet harus menjelaskan otorisasi pengguna dengan bahasa yang mudah dipahami.

Kode kriptografi harus menggunakan library yang telah ditinjau dan metode pembuatan nonce yang aman.

Kesalahan nonce mungkin tampak kecil selama pengembangan, tetapi dapat menjadi serius setelah deployment.

Pemeriksaan nonce yang hilang dapat memungkinkan klaim atau persetujuan berulang.

Nonce akun yang salah dapat menghambat transaksi.

Nonce ECDSA yang lemah dapat mengungkap kunci privat.

Chain ID yang tidak disertakan dapat memungkinkan replay lintas blockchain.

Pesan bridge tanpa pelacakan nonce yang benar dapat diproses dua kali.

Karena itu, keamanan nonce bukan sekadar detail teknis tambahan.

Keamanan nonce merupakan fondasi yang memungkinkan aset kripto berpindah, kontrak dieksekusi, miner melakukan pencarian, wallet menandatangani, dan pengguna percaya bahwa satu persetujuan hanya menjalankan satu tindakan yang dimaksud.
Menarik Kembali / Peluang?
Menarik Kembali / Peluang?Menarik Kembali / Peluang?
Simak arus masuk ETF BTC $2,4 miliar pada likuidasi