Aave Labs telah menjelaskan bahawa peningkatan keselamatan V3.8 yang dicadangkan akan mengekalkan pencairan pinjaman kilat. Respons pada 23 Oktober membincangkan bagaimana pengawal reentrancy akan berinteraksi dengan integrasi yang sedia ada.
TL;DR: Penjagaan Aave yang dicadangkan V3.8 mengeluarkan titik masuk pinjaman kilat. Kelulusan tata pentadbiran dan audit keselamatan masih menunggu.
Usulan, dipost pada 21 Oktober, menambahkan pengawal kepada operasi Kolam. Pengawal semacam ini membatasi keupayaan panggilan balik luaran untuk memasuki fungsi kontrak terlindung semula sebelum panggilan sebelumnya selesai. Aave Labs mengatakan flashLoan() dan flashLoanSimple() akan dikeluarkan, membenarkan panggilan balik mereka terus memanggil tindakan Kolam, termasuk pencairan.
Mengapa Panggilan Balik Penting
Sebuah kontrak pintar yang menerima pinjaman kilat memerlukan masa dalam transaksi tersebut untuk melakukan sesuatu dengan aset yang dipinjam. Panduan pembangun Aave menggambarkan urutan di mana Pool memindahkan aset, memanggil kontrak penerima, kemudian memeriksa syarat-syarat penyelesaian.
Untuk pinjaman kilat yang mudah, penerima mesti menyediakan jumlah yang dipinjam serta yuran yang diperlukan untuk pembayaran balik. Jika transaksi tidak dapat memenuhi syarat-syaratnya, ia akan dipulihkan. Antaramuka pinjaman kilat yang lebih luas boleh merangkumi pelbagai aset dan, di bawah syarat-syarat yang dibenarkan, membuka kedudukan hutang yang disokong jaminan.
Mekanik tersebut menjelaskan mengapa lingkup penjaga penting. Integrasi pencairan mungkin perlu meminjam aset, membayar balik kedudukan yang tidak sihat, dan menyelesaikan baki transaksinya sebelum penyelesaian. Menghalang setiap interaksi Pool seterusnya secara sembarangan akan mengganggu urutan tersebut.
Soalan reka bentuk yang penting ialah jalan masuk semula ke dalam protokol yang sengaja. Sempadan keselamatan yang berguna mesti mengambil kira corak transaksi yang bergantung oleh integrasi, termasuk panggilan yang berlaku selepas aset telah keluar daripada Kolam tetapi sebelum pembayaran balik diperiksa.
Kunci Panjang Transaksi
Pelaksanaan yang dicadangkan menggunakan penyimpanan sementara yang diperkenalkan melalui Ethereum’s EIP-1153. Penyimpanan itu kekal tersedia semasa transaksi dan dibuang apabila transaksi berakhir. Ia dengan itu boleh membawa keadaan kunci sementara untuk memantau sama ada operasi dilindungi sudah berjalan.
Spesifikasi mengenal pasti kunci reentransi sebagai kes penggunaan dan menjelaskan mengapa penyimpanan sementara boleh lebih murah daripada menulis keadaan sementara ke penyimpanan kekal. Bagi protokol DeFi yang banyak digunakan, soalan reka bentuk termasuk kos yang dikenakan ke atas transaksi biasa serta perlindungan yang ditambah oleh pengawal.
Laluan yang dicadangkan Aave termasuk maklum balas, undian Snapshot, tinjauan keselamatan, dan cadangan penambahbaikan di atas rantai. Certora dan pemeriksa tambahan dijangka menilai perubahan sebelum langkah terakhir itu.
Untuk integrator di Ethereum dan rangkaian lain yang terkesan, penjelasan ini memberikan titik kepadanan yang konkrit untuk diperiksa berbanding kod akhir. Pelaksanaan yang dikaji mesti mengekalkan urutan transaksi yang dimaksudkan sambil memperkasakan sempadan baharu. Pernyataan niat reka bentuk berguna semasa kerja itu; perilaku yang dilaksanakan akan bergantung pada tatacara pelaksanaan yang akhirnya diterima.
Ditulis oleh Meja Berita dan diedit oleh Samuel Rae.


