Lari beberapa minggu di rollup Newton atas Keystore, eksekusi intent di lingkungan mainnet mulai memunculkan beberapa bagian yang tidak tertulis dalam dokumentasi. Yang paling khas adalah terpendamnya intent stop-loss: saya menerapkan sebuah agent di Arbitrum yang perlu melakukan penjualan saat rasio ETH/BTC mencapai ambang tertentu. Strateginya tidak bermasalah, dan izin juga sudah dibuat pre-sign di Keystore. Ketika harga sudah tepat, agent mengirim panggilan dengan akurat; Keystore menyelesaikan verifikasi izin dalam waktu 28 detik dan memasukkannya ke dalam batch. Sampai di sini, semuanya sesuai dengan klaim “skala menit-an”.
Keanehannya ada pada nonce. Karena pada waktu yang sama saya juga mengirim manual sebuah transaksi untuk mencabut tanda tangan (unsign) strategi melalui frontend, kedua instruksi tersebut—saat diurutkan secara lokal—diberi nonce yang berurutan oleh ekstensi browser. Namun ketika sampai di sequencer, saat batch dikemas, transaksi manual saya dilewati; yang tercatat hanya instruksi otomatis dari agent. Di tampilan lokal, kedua transaksi terlihat sudah terkonfirmasi; tetapi setelah satu transaksi dieksekusi di chain, strategi tetap berada dalam status aktif, dan agent tidak menerima umpan balik abnormal. Setelah 15 menit, harga turun lagi ke titik terendah kedua; agent membuat putaran penjualan baru, kali ini nonce langsung meleset posisi. Transaksi di-rollback, dan stop-loss benar-benar gagal.
Yang terungkap sebenarnya adalah lubang “out-of-order” pada tahap Keystore “pengumpulan intent—pengurutan batch”. Ini bukan reorg pada level konsensus, melainkan fakta bahwa sequencer tidak memiliki jaminan urutan yang dapat diverifikasi ketika memilih mana dari beberapa instruksi tertunda untuk sebuah alamat. Dengan kata lain, Anda melihat MetaMask memunculkan “berhasil”, tidak berarti instruksi Anda benar-benar disisipkan sesuai urutan ke dalam state tree. Untuk strategi berfrekuensi tinggi, ketidakpastian seperti ini cukup untuk membuat exposure risiko lepas kendali.
Jika tim berencana meluncurkan node penyortiran terdesentralisasi di Q3, mereka sebaiknya menetapkan aturan yang ketat FIFO atau penundaan pengurutan yang dapat diverifikasi di level protokol. Jika tidak, dalam arsitektur campuran batch processing dan async execution, pergeseran nonce seperti ini akan berubah menjadi senjata standar—secara khusus menghajar mereka yang merasa sudah menulis logika stop-loss yang sempurna. Untuk sementara jika harus digunakan, ingatlah: beri jeda time-lock di antara setiap intent, pisahkan alamat manual dan agent, jangan biarkan operasi pada satu chain saling menginjak. $BTC
Strategi seperti apa yang paling Anda khawatirkan akan mengalami misalignment instruksi? #NEWT $NEWT @NewtonProtocol
止损意图被跳过
0%
自动复投漏掉周期
100%
1 Voting • Voting ditutup