Mengapa transaksi saya berhasil dalam simulasi tetapi revert di on-chain?
Peluang
Alat simulasi EVM menjalankan transaksi terhadap snapshot status rantai, tetapi pada saat transaksi tersebut masuk ke dalam blok, status telah berubah. Untuk operasi DeFi multi-hop, pergerakan oracle harga atau transaksi yang bersaing yang menyentuh pool yang sama mengubah simulasi yang valid menjadi revert on-chain. Pengembang tidak memiliki cara untuk mengetahui dari simulasi seberapa sensitif transaksi mereka terhadap pergeseran status antara pemanggilan dan penyertaan. Analisis terbaru tentang beban kerja EVM dalam produksi mengonfirmasi bahwa perilaku eksekusi sangat sensitif terhadap status dan bahwa alat gas dan simulasi saat ini tidak memperhitungkan variansi ini. Kesenjangan terlebar terjadi pada interaksi kompleks di berbagai kontrak, tepat di mana taruhannya paling tinggi.
Mengapa ini penting
Simulasi yang mencerminkan sensitivitas status waktu eksekusi adalah primitif yang membuat operasi on-chain kompleks dapat diprediksi oleh pengembang.
Cara saya menilai peluang
Skor Peluang adalah penilaian pribadi saya, bukan pengukuran: seberapa besar dampaknya, seberapa sering terasa, dan seberapa sedikit solusi yang ada saat ini. Semakin tinggi skornya, semakin layak menurut saya untuk dibangun.
Seberapa besar masalah yang ditimbulkannya saat muncul.
Seberapa sering orang benar-benar menghadapinya.
Betapa sedikitnya alat yang baik tersedia untuknya saat ini.
Lebih banyak masalah yang layak diselesaikan
Mengapa saya tidak bisa membuktikan solvabilitas tanpa menunjukkan saldo saya?
BlockchainMengapa memindahkan uang antar jaringan masih terasa lebih menakutkan daripada internet di masa awal?
BlockchainMengapa kepatuhan masih berarti sebuah PDF dan harapan kosong?
BlockchainMengapa penyimpanan mandiri masih menjadi pilihan antara kehilangan kunci Anda dan mempercayai sebuah perusahaan?
BlockchainMengapa tokenisasi aset nyata masih membutuhkan sepuluh perantara?
BlockchainMengapa stablecoin tidak bisa membayar seseorang tanpa internet?