Beli Kripto
Pasar
Spot
Futures OILBTC
Tabungan
Pusat Acara
Hub Hadiah
Lainnya
Fest. 0-Biaya
Durable Nonce: Apa Itu Durable Nonce?Durable nonce adalah nilai persisten yang disimpan di akun Solana khusus dan memungkinkan transaksi tetap dapat digunakan setelah melewati masa kedaluwarsa recent blockhash yang Durable Nonce: Apa Itu Durable Nonce?Durable nonce adalah nilai persisten yang disimpan di akun Solana khusus dan memungkinkan transaksi tetap dapat digunakan setelah melewati masa kedaluwarsa recent blockhash yang

Durable Nonce

2026/10/13 15:29
#Advanced
Humanity
H$0.05533-8.16%
PX
PX$0.0126-4.54%
Core DAO
CORE$0.01899-4.52%
Solana
SOL$107.24-2.76%
Katana Inu
KATA$0.00003322-5.46%

Apa Itu Durable Nonce?

Durable nonce adalah nilai persisten yang disimpan di akun Solana khusus dan memungkinkan transaksi tetap dapat digunakan setelah melewati masa kedaluwarsa recent blockhash yang normal.

Transaksi Solana standar menyertakan recent blockhash yang hanya valid selama 150 slot.

Transaksi yang tidak diproses sebelum recent blockhash-nya kedaluwarsa umumnya tidak dapat berhasil dikirim ulang dengan pesan bertanda tangan yang sama.

Durable nonce menggantikan blockhash berumur pendek tersebut dengan nilai tersimpan yang tetap dapat digunakan sampai akun nonce dimajukan atau diubah dengan cara lain.

Karena itu, durable nonce berguna untuk penandatanganan offline, pengiriman transaksi tertunda, persetujuan banyak pihak, operasi cold storage, alur kerja terjadwal, dan organisasi yang penandatangannya tidak dapat menyetujui transaksi dalam waktu singkat.

Dokumentasi durable nonce Solana resmi menjelaskan bahwa mekanisme ini menghapus jendela kedaluwarsa standar 150 slot dengan menggunakan nilai nonce yang disimpan di akun on-chain.

Durable nonce tidak membuat transaksi berlaku permanen dalam setiap kondisi.

Transaksi menjadi tidak valid jika nonce tersimpan berubah, akun nonce ditutup, otoritas yang diperlukan berubah, atau transaksi lain berhasil menggunakan nilai nonce yang sama.

Mengapa Transaksi Solana Biasanya Kedaluwarsa

Transaksi Solana standar berisi kolom bernama

recent_blockhash
.

Blockhash berfungsi sebagai referensi berbatas waktu yang membuktikan bahwa transaksi dibuat baru-baru ini.

Blockhash juga membantu mencegah transaksi yang telah diproses dikirim berulang kali.

Validator membandingkan blockhash transaksi dengan antrean recent blockhash jaringan.

Pipeline transaksi Solana saat ini hanya menerima blockhash normal jika usianya berada dalam batas usia pemrosesan maksimum 150 slot.

Setelah blockhash terlalu lama, validator menolak transaksi sebelum menjalankan instruksinya.

Kedaluwarsa ini melindungi jaringan dari replay tanpa batas dan membatasi lamanya validator harus menganggap transaksi bertanda tangan biasa masih dapat dieksekusi.

Batasan ini menimbulkan masalah ketika proses penandatanganan memerlukan waktu lebih lama daripada masa berlaku blockhash.

Mengapa Durable Nonce Diperlukan

Sebagian transaksi mata uang kripto tidak dapat dibuat, disetujui, dan dikirim dalam satu sesi online yang singkat.

Sebuah perusahaan mungkin memerlukan tanda tangan dari karyawan di beberapa negara.

Bagian treasury mungkin menyimpan kunci penandatanganan di komputer air-gapped yang tidak pernah terhubung langsung ke internet.

Operasi dengan keamanan tinggi mungkin mengharuskan transaksi melewati peninjauan teknis, keuangan, dan kepatuhan sebelum disiarkan.

Alur kerja multisignature mungkin memerlukan beberapa perangkat keras untuk menandatangani transaksi yang sama pada waktu berbeda.

Aplikasi pembayaran mungkin menyiapkan transaksi dalam satu periode operasional dan mengirimkannya kemudian.

Dengan recent blockhash biasa, seluruh pesan harus dibuat ulang dan ditandatangani setiap kali blockhash kedaluwarsa.

Durable nonce memungkinkan para pihak menandatangani satu pesan transaksi yang stabil dan mengirimkannya setelah jendela blockhash normal terlewati.

Apa Itu Akun Nonce?

Akun nonce adalah akun Solana khusus yang dimiliki System Program.

Akun ini menyimpan status yang diperlukan untuk mendukung transaksi durable nonce.

Akun nonce yang telah diinisialisasi berisi kunci publik otoritas, nilai durable nonce, dan tingkat biaya lamport-per-signature yang tercatat saat nonce terakhir dimajukan.

Otoritas tersebut mengidentifikasi akun yang diizinkan untuk memajukan nonce, mengubah otoritas, atau menarik dana dari akun nonce.

Nilai durable nonce adalah hash yang diturunkan dari recent blockhash dan disimpan untuk digunakan kemudian.

Nilai terkait biaya menyimpan informasi yang diperlukan oleh proses biaya transaksi.

Akun nonce harus memiliki SOL yang cukup untuk memenuhi persyaratan bebas sewa yang berlaku selama akun tersebut aktif.

Aplikasi sebaiknya meminta saldo minimum terkini dari jaringan, bukan terus menggunakan perkiraan jumlah yang dikodekan secara permanen.

Durable Nonce vs. Recent Blockhash

Recent blockhash diperoleh dari jaringan sesaat sebelum transaksi normal ditandatangani.

Nilai tersebut kedaluwarsa setelah jendela pemrosesan jaringan yang terbatas.

Durable nonce ditulis ke akun on-chain dan tetap tersedia setelah blockhash asalnya tidak lagi tergolong baru.

Transaksi normal tidak perlu membuat atau mengubah akun nonce.

Transaksi durable nonce harus merujuk ke akun nonce dan menyertakan instruksi khusus untuk memajukannya.

Transaksi normal lebih sederhana dan umumnya sebaiknya digunakan jika pengguna dapat segera menandatangani dan mengirim transaksi.

Durable nonce menambah persyaratan pengelolaan akun, penandatanganan, ukuran transaksi, biaya, dan operasional.

Durable Nonce vs. Nomor Urut Akun

Kata nonce digunakan dengan cara berbeda di berbagai sistem mata uang kripto.

Sejumlah blockchain berbasis akun menggunakan nomor transaksi akun yang terus meningkat untuk mengurutkan transaksi dan mencegah replay.

Durable nonce Solana bukan hitungan transaksi yang terus meningkat dan melekat pada setiap wallet.

Nilai ini berupa hash yang disimpan di akun System Program khusus.

Nilainya ditempatkan dalam kolom

recent_blockhash
transaksi dan diganti ketika nonce dimajukan.

Developer tidak boleh menerapkan asumsi penghitung transaksi dari blockchain lain pada akun nonce Solana.

Cara Kerja Transaksi Durable Nonce

Proses dimulai dengan membuat dan menginisialisasi akun nonce.

Pembuat akun menetapkan otoritas nonce yang akan mengendalikan operasi nonce berikutnya.

Aplikasi membaca nilai durable nonce yang tersimpan di akun.

Aplikasi membuat transaksi dengan menggunakan nilai tersebut di kolom

recent_blockhash
pada pesan transaksi.

Transaksi menempatkan instruksi

AdvanceNonceAccount
di urutan pertama dalam daftar instruksinya.

Akun-akun yang diperlukan menandatangani seluruh pesan transaksi yang telah diserialisasi.

Tanda tangan dapat dibuat secara offline karena nonce tersimpan tidak kedaluwarsa setelah 150 slot.

Transaksi bertanda tangan dipindahkan ke sistem online dan dikirim saat organisasi siap.

Validator memeriksa bahwa akun nonce valid, nilai tersimpan cocok dengan transaksi, dan otoritas nonce telah menandatangani.

Nonce dimajukan sebelum instruksi transaksi lainnya dijalankan.

Instruksi AdvanceNonceAccount

Instruksi

AdvanceNonceAccount
meminta System Program mengganti nonce tersimpan dengan nilai baru.

Instruksi ini penting untuk perlindungan replay durable nonce.

Runtime transaksi hanya mengenali transaksi durable nonce jika

AdvanceNonceAccount
merupakan instruksi pertama.

Akun nonce harus diberikan pada posisi akun yang diwajibkan dan harus dapat ditulis.

Otoritas nonce harus menandatangani transaksi.

Jika instruksi ditempatkan setelah instruksi lain, runtime dapat memperlakukan transaksi sebagai transaksi standar kedaluwarsa, bukan transaksi durable nonce yang valid.

Aturan deteksi nonce resmi menjelaskan persyaratan instruksi pertama ini.

Mengapa Nonce Harus Dimajukan

Nilai durable nonce hanya boleh digunakan satu kali.

Tanpa pemajuan, penyerang atau proses yang tidak disengaja dapat mengirim transaksi bertanda tangan yang sama berulang kali.

Memajukan akun mengganti nonce lama dengan nilai baru yang diturunkan dari status jaringan terkini.

Transaksi tertunda lain yang menggunakan nilai sebelumnya akan menjadi tidak valid.

Artinya, beberapa transaksi bertanda tangan umumnya tidak boleh bergantung pada satu nilai nonce yang sama jika semuanya diharapkan dapat dieksekusi.

Transaksi pertama yang diterima akan memajukan akun dan membatalkan transaksi lain yang dibuat dengan nilai lama tersebut.

Alur kerja tertunda yang berjalan paralel umumnya sebaiknya menggunakan akun nonce terpisah.

Otoritas Nonce

Otoritas nonce adalah kunci publik yang berwenang mengendalikan operasi penting terkait akun nonce.

Otoritas harus menandatangani transaksi yang memajukan nonce.

Otoritas juga harus menyetujui perubahan otoritas nonce.

Otoritas diperlukan saat menarik dana dari akun nonce.

Antarmuka akun nonce System Program saat ini mendokumentasikan persyaratan otoritas tersebut.

Otoritas tidak harus sama dengan akun pembayar biaya transaksi.

Pemisahan tanggung jawab ini dapat mendukung kebijakan keamanan organisasi.

Otoritas nonce harus dilindungi karena pemajuan tanpa izin dapat membatalkan transaksi yang sudah ditandatangani secara offline.

Pembayar Biaya vs. Otoritas Nonce

Pembayar biaya adalah akun yang membayar biaya dasar transaksi dan biaya prioritas jika ada.

Otoritas nonce mengizinkan penggunaan durable nonce yang tersimpan.

Satu akun dapat menjalankan kedua peran tersebut, tetapi secara logis keduanya terpisah.

Transaksi juga dapat memerlukan tanda tangan dari pemilik aset, otoritas token, administrator program, atau akun lain.

Setiap penanda tangan yang diwajibkan menandatangani pesan transaksi yang sama.

Mengubah pembayar biaya biasanya mengubah pesan dan karena itu membatalkan tanda tangan yang sudah ada, kecuali alur kerja menggunakan format mendatang yang dirancang khusus untuk memisahkan langkah-langkah tersebut.

Penandatanganan Offline

Penandatanganan offline menjaga kunci privat agar tidak berada di perangkat yang terhubung ke internet.

Sistem online dapat mengumpulkan informasi akun dan menyusun transaksi durable nonce yang belum ditandatangani.

Pesan yang diserialisasi dipindahkan ke perangkat penandatanganan offline melalui media yang dikendalikan atau proses lain yang diaudit.

Perangkat offline memverifikasi transaksi dan menghasilkan tanda tangan yang diperlukan.

Transaksi bertanda tangan dipindahkan kembali ke sistem online untuk dikirim.

Nonce tetap valid selama proses ini, asalkan akun nonce tidak dimajukan atau diubah.

Penandatanganan offline mengurangi paparan langsung terhadap jaringan, tetapi tidak melindungi dari transaksi yang disusun secara berbahaya.

Penanda tangan harus memverifikasi tujuan, jumlah, alamat program, token mint, otoritas, biaya, serta setiap instruksi penting sebelum menandatangani.

Multisignature dan Persetujuan Banyak Pihak

Durable nonce berguna ketika beberapa pihak harus menandatangani satu transaksi.

Blockhash normal dapat kedaluwarsa saat pesan berpindah di antara para penanda tangan.

Nonce tersimpan memberi setiap penanda tangan lebih banyak waktu untuk memeriksa dan menyetujui pesan yang sama persis.

Rangkaian tanda tangan akhir dapat dikumpulkan dan disiarkan setelah semua persetujuan yang diwajibkan tersedia.

Proses ini harus mempertahankan pesan terserialisasi secara persis karena perubahan pada satu instruksi, alamat, parameter biaya, atau flag akun akan membatalkan tanda tangan.

Akun nonce juga harus tetap tidak berubah selama proses persetujuan.

Organisasi sebaiknya memantau akun nonce agar dapat mendeteksi pemajuan atau perubahan otoritas yang tidak terduga sebelum pengiriman.

Eksekusi Tertunda

Durable nonce memungkinkan pengiriman tertunda, tetapi tidak menjadwalkan transaksi dengan sendirinya.

Blockchain tidak otomatis mengeksekusi transaksi pada tanggal mendatang yang dipilih hanya karena transaksi itu menggunakan durable nonce.

Pengguna, server, sistem otomatisasi, atau relayer tetap harus mengirim transaksi bertanda tangan tersebut.

Karena itu, aplikasi yang menyediakan pembayaran terjadwal memerlukan penjadwal off-chain atau rancangan penjadwalan on-chain selain durable nonce.

Sistem pengirim sebaiknya memastikan nonce masih berlaku sesaat sebelum transaksi disiarkan.

Sistem juga perlu memastikan kondisi bisnis yang dituju masih berlaku.

Status Transaksi Dapat Berubah Sebelum Pengiriman

Transaksi durable nonce dapat tetap bertanda tangan sementara keadaan blockchain di sekitarnya berubah.

Saldo akun dapat bertambah atau berkurang.

Akun token dapat dibekukan atau ditutup.

Smart contract dapat ditingkatkan versinya.

Harga oracle dapat berubah.

Keputusan tata kelola dapat mengubah parameter program.

Status akun penerima mungkin tidak lagi sesuai dengan yang diharapkan.

Tanda tangan transaksi membuktikan persetujuan atas pesan yang diserialisasi, tetapi tidak membekukan semua akun eksternal atau status program yang digunakan saat eksekusi berikutnya.

Jika didukung aplikasi, transaksi tertunda sebaiknya menyertakan batas, nilai yang diharapkan, tenggat, atau pemeriksaan tingkat program yang sesuai.

Perlindungan Replay

Perlindungan replay mencegah kumpulan instruksi bertanda tangan yang sama dieksekusi berulang kali.

Transaksi Solana normal sebagian mengandalkan kedaluwarsa recent blockhash dan pelacakan transaksi yang telah diproses oleh jaringan.

Transaksi durable nonce mengandalkan nilai sekali pakai yang tersimpan di akun nonce.

Setelah validator menerima dan memajukan nilai tersebut, pesan bertanda tangan lama tidak lagi cocok dengan akun.

Karena itu, pengiriman ulang transaksi yang sama akan gagal dalam validasi nonce.

Perlindungan ini bergantung pada penempatan instruksi pemajuan yang benar dan tanda tangan otoritas nonce yang diwajibkan.

Apa yang Terjadi Saat Transaksi Durable Nonce Berhasil?

Validator memastikan nonce tersimpan cocok dengan

recent_blockhash
transaksi.

Validator memverifikasi bahwa akun nonce telah diinisialisasi dan dimiliki oleh System Program.

Validator memverifikasi bahwa otoritas nonce telah menandatangani transaksi.

Runtime memajukan nonce ke nilai baru.

Instruksi lainnya dijalankan secara berurutan.

Jika semua instruksi yang diwajibkan berhasil, perubahan status dan nonce yang dimajukan akan dikomit.

Biaya transaksi dipotong dari pembayar biaya.

Transaksi bertanda tangan lama tidak dapat dieksekusi lagi karena nonce-nya telah digunakan.

Apa yang Terjadi Jika Eksekusi Gagal?

Perilaku kegagalan durable nonce memiliki perbedaan penting dari aturan sederhana bahwa semua perubahan status dalam transaksi yang gagal selalu dibatalkan.

Jika transaksi melewati validasi nonce dan pembayar biaya, tetapi instruksi berikutnya gagal, perubahan instruksi biasa akan dibatalkan.

Pemajuan nonce tetap dikomit.

Biaya transaksi juga tetap dipungut.

Dokumentasi perilaku kegagalan Solana resmi menjelaskan bahwa hal ini mencegah transaksi bertanda tangan yang sama di-replay sampai akhirnya berhasil.

Karena itu, transaksi durable nonce yang gagal tetap menggunakan nonce-nya.

Pengguna harus mengambil nonce baru, menyusun ulang transaksi, dan mengumpulkan tanda tangan baru sebelum mencoba kembali.

Apa yang Terjadi Jika Validasi Gagal?

Transaksi dapat gagal sebelum nonce dinyatakan valid.

Penyebabnya dapat mencakup akun nonce yang tidak tersedia, nonce yang sudah digunakan, nilai tersimpan yang tidak cocok dengan transaksi, atau tanda tangan otoritas yang tidak tersedia.

Jika validasi nonce gagal pada tahap ini, transaksi dibuang tanpa menjalankan instruksinya.

Berdasarkan perilaku yang saat ini didokumentasikan, tidak ada biaya yang dipungut dan tidak ada perubahan status yang dikomit atas kegagalan validasi ini.

Aplikasi sebaiknya mengidentifikasi kesalahan yang tepat, bukan terus menyiarkan ulang transaksi yang tidak dapat digunakan.

Konfirmasi dan Risiko Percobaan Ulang

Aplikasi pengirim harus menentukan apakah transaksi durable nonce berhasil diproses, diproses dengan kesalahan eksekusi, atau tidak pernah diterima.

Menyusun dan mengirim pengganti tanpa pemeriksaan dapat menimbulkan duplikasi tindakan bisnis yang tidak diinginkan jika transaksi asli sebenarnya berhasil.

Mengirim ulang transaksi asli tanpa pemeriksaan juga tidak efektif setelah nonce-nya digunakan.

Aplikasi sebaiknya meminta status transaksi dan memeriksa akun nonce.

Sistem harus membedakan finalitas transaksi dari keberhasilan eksekusi instruksi.

Catatan transaksi yang sudah final dapat berisi kesalahan eksekusi.

Sistem operasional sebaiknya mencocokkan perubahan saldo dan akun yang diharapkan, bukan hanya mengandalkan keberadaan tanda tangan transaksi.

Biaya Transaksi

Setiap transaksi Solana memerlukan biaya yang dibayar dalam SOL.

Dokumentasi biaya Solana saat ini menjelaskan biaya dasar sebesar 5,000 lamport per tanda tangan ditambah biaya prioritas opsional.

Transaksi durable nonce memerlukan instruksi pemajuan nonce dan referensi akun terkait, tetapi tidak menghindari biaya tanda tangan biasa.

Penanda tangan tambahan meningkatkan biaya dasar.

Transaksi yang gagal masih dapat menggunakan nonce dan membebankan biaya setelah melewati tahap validasi terkait.

Aplikasi sebaiknya menyediakan SOL yang cukup di akun pembayar biaya dan dana bebas sewa yang cukup di akun nonce.

Biaya Prioritas

Biaya prioritas dapat meningkatkan peluang transaksi dijadwalkan saat permintaan jaringan tinggi.

Biaya ini tidak menjamin transaksi akan disertakan atau berhasil dieksekusi.

Transaksi durable nonce memiliki persyaratan khusus untuk urutan instruksi jika menyertakan instruksi compute-budget.

Instruksi

AdvanceNonceAccount
harus tetap menjadi instruksi pertama.

Instruksi harga dan batas compute unit tidak boleh ditempatkan sebelum instruksi tersebut.

Panduan integrasi Solana resmi memperingatkan bahwa penempatan instruksi compute-budget di urutan pertama dapat mencegah runtime mendeteksi transaksi durable nonce dengan benar.

Pendanaan Akun Nonce dan Bebas Sewa

Akun nonce berisi data dan harus mempertahankan saldo bebas sewa yang diwajibkan jaringan selama aktif.

Jumlah minimum yang tepat sebaiknya diperoleh melalui permintaan jaringan yang sesuai dengan ukuran data akun nonce.

Penarikan sebagian dana tidak boleh membuat saldo positif akun nonce turun di bawah jumlah minimum bebas sewa yang diwajibkan.

Transaksi yang berupaya menimbulkan kondisi tersebut akan gagal.

Penarikan seluruh saldo dengan sukses akan menutup akun nonce.

Antarmuka penarikan nonce saat ini mendokumentasikan aturan saldo tersebut.

Akun nonce dapat ditutup dengan menarik seluruh saldo SOL melalui instruksi yang diotorisasi.

Otoritas nonce harus menyetujui penarikan tersebut.

Penutupan akun membatalkan setiap transaksi yang belum dikirim dan bergantung pada nonce tersimpannya.

Karena itu, organisasi sebaiknya memeriksa transaksi bertanda tangan yang masih tertunda sebelum menarik seluruh saldo.

Catatan sebaiknya mengidentifikasi akun nonce yang aktif, transaksi yang menggunakannya, dan akun yang aman untuk ditutup.

Mengubah Otoritas Nonce

Otoritas nonce saat ini dapat menetapkan otoritas baru melalui instruksi System Program yang diotorisasi.

Rotasi otoritas dapat berguna setelah karyawan keluar, migrasi kunci, perubahan kebijakan kustodian, atau insiden keamanan.

Transaksi tertunda yang memerlukan otoritas lama dapat menjadi tidak valid setelah otoritas diganti.

Otoritas baru harus diverifikasi dengan cermat sebelum perubahan dikirim.

Menetapkan kunci publik yang salah atau tidak dapat diakses dapat mengganggu penggunaan akun nonce berikutnya.

Perubahan otoritas harus didokumentasikan dan dikoordinasikan dengan semua alur kerja penandatanganan offline yang masih tertunda.

Satu Transaksi Tertunda per Nilai Nonce

Secara teknis, beberapa transaksi dapat disiapkan dengan nilai nonce tersimpan yang sama.

Hanya satu dari transaksi yang saling bertentangan itu yang dapat berhasil menggunakan nilai tersebut.

Transaksi pertama yang diterima akan memajukan nonce dan membuat transaksi lainnya tidak valid.

Alur kerja yang mengharapkan beberapa transaksi tertunda untuk dieksekusi secara independen sebaiknya membuat beberapa akun nonce.

Menggunakan satu akun untuk banyak transaksi tertunda menciptakan persaingan di antara transaksi tersebut, bukan sebuah antrean.

Akun nonce tidak menyimpan daftar transaksi mendatang.

Durable Nonce dan Cold Storage

Cold storage menjaga kunci privat penting agar tidak berada di sistem yang biasanya terhubung ke internet.

Durable nonce memungkinkan penanda tangan cold storage menyetujui transaksi tanpa berpacu dengan masa berlaku blockhash standar.

Sistem online yang menyusun transaksi harus dianggap tidak tepercaya karena dapat menyiapkan transaksi yang mengirim aset atau mengubah otoritas.

Lingkungan cold harus menguraikan dan menampilkan makna transaksi secara lengkap sebelum penandatanganan.

Organisasi sebaiknya memverifikasi alamat program, izin akun, pengaturan biaya, token mint, alamat penerima, dan jumlah transaksi.

Memindahkan transaksi terserialisasi melalui media lepasan juga memerlukan kontrol malware dan prosedur integritas file.

Durable Nonce dan Operasi Treasury

Treasury kripto dapat menggunakan durable nonce untuk penarikan yang memerlukan beberapa tingkat persetujuan.

Transaksi dapat disiapkan setelah permintaan internal lalu ditandatangani personel yang berwenang di lokasi berbeda.

Operator akhir dapat mengirim transaksi setelah memastikan semua persetujuan telah lengkap.

Prosedur treasury yang kuat sebaiknya mengaitkan setiap akun nonce dengan satu permintaan transaksi yang terdokumentasi.

Organisasi harus mencegah satu departemen memajukan atau menutup akun nonce secara tidak terduga.

Organisasi juga perlu menetapkan tindakan yang harus dilakukan jika transaksi gagal setelah nonce digunakan.

Durable Nonce dan Pembayaran Terjadwal

Durable nonce dapat mendukung pembayaran terjadwal dengan mempertahankan transaksi bertanda tangan sampai waktu pengiriman yang dipilih.

Durable nonce tidak menegakkan jadwal tersebut secara on-chain dengan sendirinya.

Relayer dapat mengirim transaksi lebih awal dari yang dimaksudkan, kecuali mekanisme lain mencegah eksekusi lebih awal.

Jika waktu eksekusi sensitif, penanda tangan tidak boleh memberikan transaksi durable nonce yang sepenuhnya diotorisasi kepada pihak yang tidak tepercaya.

Program on-chain dapat menyediakan kondisi waktu yang lebih kuat jika memeriksa jam jaringan atau kondisi lain yang disetujui sebelum melepas dana.

Rancangan yang dipilih sebaiknya mempertimbangkan tindakan yang harus dilakukan jika penjadwal tidak tersedia.

Durable Nonce dan Transaksi Smart Contract

Durable nonce dapat digunakan untuk transaksi yang memanggil program Solana, bukan hanya transfer SOL sederhana.

Eksekusi smart contract yang tertunda menimbulkan risiko status tambahan.

Harga swap dapat berubah antara waktu penandatanganan dan pengiriman.

Posisi pinjaman dapat menjadi tidak aman.

Akun yang diharapkan oleh program dapat diubah atau ditutup.

Program yang dapat ditingkatkan versinya mungkin menjalankan kode berbeda saat transaksi dieksekusi.

Aplikasi sebaiknya menggunakan output minimum, input maksimum, status akun yang diharapkan, dan perlindungan lain jika tersedia.

Pengguna sebaiknya tidak menandatangani transaksi durable yang tidak memiliki batas jelas dan disediakan oleh aplikasi yang tidak tepercaya.

Durable Nonce dan Simulasi Transaksi

Simulasi memperkirakan perilaku transaksi berdasarkan status blockchain yang diamati pada waktu tertentu.

Simulasi yang berhasil tidak menjamin transaksi durable nonce akan berhasil di kemudian hari.

Akun terkait dan logika program dapat berubah sebelum pengiriman.

Nonce juga dapat digunakan di antara waktu simulasi dan eksekusi.

Jika memungkinkan, aplikasi sebaiknya menjalankan simulasi mendekati waktu pengiriman yang direncanakan dan tetap mengandalkan batas keamanan tingkat program.

Hasil simulasi tidak boleh menggantikan verifikasi atas pesan bertanda tangan yang sebenarnya.

Risiko Keamanan

Risiko utama durable nonce meliputi kompromi kunci, pemajuan nonce tanpa izin, urutan instruksi yang salah, status akun yang sudah usang, eksekusi tertunda yang tidak aman, dan penanganan status transaksi yang buruk.

Kunci otoritas nonce yang dicuri dapat membatalkan transaksi tertunda atau mengotorisasi perubahan akun.

Pembuat transaksi yang berbahaya dapat memanfaatkan masa berlaku panjang untuk memperoleh tanda tangan atas tindakan yang akan dieksekusi dalam kondisi masa depan yang berbeda.

Operator dapat secara tidak sengaja menggunakan nonce melalui transaksi yang gagal.

Sistem percobaan ulang dapat membuat operasi bisnis duplikat jika tidak mengonfirmasi hasil transaksi asli dengan benar.

Keamanan bergantung pada kriptografi dan proses operasional di sekitarnya.

Memantau Akun Nonce

Aplikasi sebaiknya membaca akun nonce sebelum menyusun transaksi.

Aplikasi perlu mencatat alamat akun, otoritas, nonce tersimpan, transaksi yang dimaksud, dan status persetujuan.

Nonce harus diperiksa kembali sebelum pengiriman.

Nilai yang tidak terduga menunjukkan bahwa transaksi tertunda tidak lagi valid.

Otoritas yang tidak terduga dapat menandakan kejadian operasional atau keamanan yang serius.

Organisasi sebaiknya mengirimkan peringatan atas pemajuan nonce, perubahan otoritas, penarikan saldo, dan penutupan akun.

Pemantauan sebaiknya menggunakan tingkat komitmen yang sesuai dan memperhitungkan finalitas.

Status Protokol Saat Ini

Durable nonce tetap didokumentasikan dan didukung dalam sistem transaksi Solana saat ini.

Namun, halaman durable nonce resmi memperingatkan bahwa mekanisme ini mungkin dihentikan pada rilis mendatang.

Diskusi pengembangan Solana telah membahas format transaksi pengganti yang dapat mempertahankan alur kerja nonce offline sekaligus mengurangi pemrosesan khusus oleh validator.

Diskusi atau proposal tidak sama dengan perubahan jaringan yang telah diaktifkan.

Developer yang menggunakan durable nonce sebaiknya memantau spesifikasi resmi, rilis klien, pemberitahuan aktivasi, dan panduan migrasi.

Sistem institusional berumur panjang sebaiknya tidak menganggap format transaksi saat ini akan selalu tetap sama.

Cara Developer Mengimplementasikan Durable Nonce

Developer sebaiknya menggunakan antarmuka Solana SDK dan System Program yang terpelihara, bukan menyandikan status akun nonce secara manual.

Aplikasi sebaiknya meminta data akun nonce dan memverifikasi pemilik, status inisialisasi, otoritas, serta nonce saat ini.

Nonce tersimpan harus ditempatkan di kolom

recent_blockhash
transaksi.

AdvanceNonceAccount
harus menjadi instruksi pertama.

Otoritas nonce dan setiap penanda tangan lain yang diwajibkan harus menandatangani pesan yang persis sama.

Sistem sebaiknya menyimpan transaksi terserialisasi dan tanda tangan tanpa mengubahnya.

Sebelum pengiriman, aplikasi sebaiknya memastikan akun masih berisi nonce dan otoritas yang diharapkan.

Setelah pengiriman, aplikasi sebaiknya memeriksa status transaksi, kesalahan eksekusi, pemajuan nonce, biaya, dan perubahan akun yang diharapkan.

Cara Pengguna Menggunakan Durable Nonce dengan Aman

Pengguna sebaiknya memilih transaksi dengan recent blockhash normal jika penandatanganan tertunda tidak diperlukan.

Durable nonce sebaiknya digunakan melalui perangkat lunak yang mengidentifikasi akun dan otoritas nonce dengan jelas.

Penanda tangan offline sebaiknya memverifikasi setiap instruksi, bukan menyetujui pesan terserialisasi yang tidak dapat dibaca.

Transaksi tertunda sebaiknya dibatalkan dengan sengaja memajukan nonce jika pembatalan diperlukan.

Pengguna perlu memahami bahwa pembatalan menggunakan nilai lama dan membatalkan setiap transaksi yang dibuat dengan nilai tersebut.

Kunci otoritas nonce harus dicadangkan dan dilindungi sesuai dengan nilai serta peran operasional akun.

Pengguna sebaiknya memverifikasi keberhasilan eksekusi, bukan menganggap pemajuan nonce berarti transfer yang dimaksud berhasil.

Kesalahan Umum dalam Penggunaan Durable Nonce

Kesalahan umum pertama adalah menganggap durable nonce sebagai nomor transaksi wallet yang terus meningkat.

Kesalahan lainnya adalah menempatkan instruksi compute-budget sebelum

AdvanceNonceAccount
.

Kesalahan ketiga adalah menyiapkan beberapa transaksi dengan satu nonce dan berharap semuanya dieksekusi.

Kesalahan keempat adalah menganggap durable nonce otomatis menjadwalkan eksekusi di masa depan.

Kesalahan kelima adalah mengabaikan perubahan status blockchain antara waktu penandatanganan dan pengiriman.

Kesalahan keenam adalah menganggap nonce tetap tersedia untuk percobaan lain setelah transaksi gagal.

Kesalahan ketujuh adalah menutup atau mengganti otoritas akun nonce saat transaksi bertanda tangan masih tertunda.

Kesalahan kedelapan adalah mengirim ulang atau menyusun ulang transaksi tanpa memeriksa status transaksi asli.

Kesalahan kesembilan adalah menetapkan saldo bebas sewa akun nonce yang diwajibkan secara permanen di dalam kode.

Kesalahan kesepuluh adalah menganggap perilaku durable nonce saat ini tidak akan pernah berubah pada rilis Solana mendatang.

FAQ

Apa itu durable nonce di Solana?

Durable nonce adalah hash persisten yang disimpan di akun System Program dan digunakan sebagai pengganti recent blockhash berumur pendek.

Mengapa transaksi Solana biasa kedaluwarsa?

Transaksi tersebut berisi recent blockhash yang hanya diterima dalam jendela usia pemrosesan jaringan selama 150 slot.

Apakah durable nonce kedaluwarsa setelah 150 slot?

Tidak. Nilainya tetap dapat digunakan setelah jendela tersebut sampai akun nonce dimajukan, ditutup, atau diubah dengan cara yang membatalkan transaksi.

Apakah durable nonce membuat transaksi berlaku selamanya?

Tidak. Transaksi menjadi tidak valid ketika nonce tersimpannya digunakan atau ketika kondisi akun dan otoritas yang diwajibkan tidak lagi sesuai.

Apa itu akun nonce?

Akun nonce adalah akun milik System Program yang menyimpan otoritas nonce, nilai durable nonce, dan status terkait biaya.

Siapa yang mengendalikan akun nonce?

Otoritas nonce yang ditetapkan menyetujui pemajuan nonce, perubahan otoritas, dan penarikan.

Apakah otoritas nonce harus membayar biaya transaksi?

Tidak. Otoritas nonce dan pembayar biaya dapat merupakan akun penanda tangan yang berbeda.

Instruksi apa yang harus ditempatkan pertama?

Instruksi

AdvanceNonceAccount
harus menjadi instruksi pertama dalam transaksi durable nonce.

Bisakah instruksi compute-budget ditempatkan pertama?

Tidak. Instruksi tersebut tidak boleh ditempatkan sebelum

AdvanceNonceAccount
dalam transaksi durable nonce.

Bisakah transaksi durable nonce ditandatangani secara offline?

Ya. Penandatanganan offline merupakan salah satu kegunaan utama mekanisme ini.

Apakah durable nonce menjadwalkan pembayaran?

Tidak. Sistem lain harus mengirim transaksi bertanda tangan pada waktu yang dimaksud.

Bisakah beberapa transaksi menggunakan satu nonce?

Beberapa transaksi dapat disiapkan, tetapi hanya transaksi pertama yang diterima yang dapat berhasil menggunakan nonce tersebut.

Bagaimana beberapa transaksi tertunda dapat dieksekusi secara terpisah?

Umumnya, transaksi tersebut harus menggunakan akun nonce dan nilai nonce tersimpan yang berbeda.

Apa yang terjadi setelah nonce digunakan?

Akun nonce menyimpan nilai baru, dan transaksi yang ditandatangani dengan nilai lama menjadi tidak valid.

Apa yang terjadi jika instruksi berikutnya gagal?

Perubahan status biasa dibatalkan, tetapi nonce tetap dimajukan dan biaya transaksi tetap dibebankan.

Bisakah transaksi durable nonce yang gagal dikirim ulang?

Tidak setelah nonce-nya digunakan, karena transaksi harus disusun ulang dan ditandatangani dengan nilai baru.

Bagaimana cara membatalkan transaksi durable nonce yang tertunda?

Otoritas dapat memajukan nonce melalui transaksi valid lainnya sehingga transaksi bertanda tangan lama tidak dapat digunakan.

Bisakah perubahan otoritas membatalkan transaksi tertunda?

Ya. Transaksi yang ditandatangani dengan otoritas sebelumnya dapat gagal setelah otoritas akun berubah.

Apakah akun nonce memerlukan SOL?

Ya. Akun nonce harus mempertahankan saldo bebas sewa yang berlaku selama tetap aktif.

Bisakah dana ditarik dari akun nonce?

Ya, tetapi penarikan sebagian harus mempertahankan saldo bebas sewa, sedangkan penarikan seluruh saldo akan menutup akun.

Apakah durable nonce merupakan token mata uang kripto?

Tidak. Durable nonce adalah status transaksi yang disimpan di akun Solana System Program.

Apakah durable nonce bersifat rahasia?

Tidak. Akun nonce dan nilai tersimpannya dapat dibaca secara publik on-chain.

Apakah mengetahui nonce memungkinkan seseorang mencuri dana?

Tidak. Transaksi tetap memerlukan tanda tangan valid dari otoritas nonce dan setiap penanda tangan lain yang diwajibkan.

Bisakah penyerang membatalkan transaksi bertanda tangan?

Penyerang yang mengendalikan otoritas nonce dapat memajukan atau mengubah akun nonce dan membatalkan transaksi tertunda.

Apakah simulasi yang berhasil menjamin eksekusi berikutnya?

Tidak. Status akun, program, saldo, harga, dan nonce itu sendiri dapat berubah sebelum pengiriman.

Apakah durable nonce lebih mahal daripada transaksi biasa?

Durable nonce memerlukan status akun tambahan dan instruksi pemajuan, sementara biaya tanda tangan biasa dan biaya prioritas tetap berlaku.

Apakah durable nonce saat ini didukung?

Ya, tetapi dokumentasi resmi memperingatkan bahwa mekanisme saat ini mungkin dihentikan pada rilis mendatang.

Kesimpulan

Durable nonce memungkinkan transaksi Solana tetap dapat digunakan setelah melewati jendela recent blockhash standar selama 150 slot.

Mekanisme ini bekerja melalui akun nonce milik System Program yang berisi otoritas, hash tersimpan, dan status terkait biaya.

Nonce tersimpan menggantikan recent blockhash biasa dalam pesan transaksi bertanda tangan.

Transaksi harus menempatkan

AdvanceNonceAccount
di urutan pertama dan menyertakan tanda tangan otoritas nonce.

Setelah transaksi diterima, nonce dimajukan dan pesan bertanda tangan lama tidak dapat di-replay.

Jika instruksi berikutnya gagal, perubahan status yang dimaksud dibatalkan, tetapi nonce tetap digunakan dan biaya tetap dibebankan.

Durable nonce sangat berguna untuk penandatanganan air-gapped, persetujuan treasury, otorisasi banyak pihak, dan pengiriman tertunda.

Durable nonce tidak otomatis menjadwalkan transaksi atau melindungi penanda tangan dari instruksi berbahaya dan perubahan status blockchain.

Implementasi yang aman memerlukan pemantauan nonce, pemeliharaan pesan yang persis sama, tampilan transaksi yang jelas, pemeriksaan status yang andal, dan pengelolaan otoritas yang cermat.

Karena rancangan saat ini dapat berubah pada rilis Solana mendatang, developer sebaiknya memantau panduan protokol resmi dan menyiapkan sistem operasional untuk migrasi jika diperlukan.
Menarik Kembali / Peluang?
Menarik Kembali / Peluang?Menarik Kembali / Peluang?
Simak arus masuk ETF BTC $2,4 miliar pada likuidasi