Analisis Hook Uniswap v4: Desain Arsitektur, Kerentanan Umum, dan Praktik Perlindungan
Sejak Uniswap v4 dirilis, mekanisme Hook telah menjadi inovasi DeFi yang paling diperhatikan. Hook memungkinkan pengembang untuk memasukkan logika kustom ke dalam peristiwa siklus hidup pool likuiditas seperti swap, penambahan/pengurangan likuiditas, dan inisialisasi.
Artikel ini membahas keamanan dan arsitektur Hook v4:
- **Model PoolManager**: Semua perubahan status pool dikelola oleh kontrak PoolManager tunggal. Setiap tindakan memerlukan panggilan `unlock()` dan menyelesaikan transaksi dalam `unlockCallback()` untuk memastikan neraca akun nol.
- **Binding Hook**: Setiap pool dikaitkan dengan satu kontrak Hook secara permanen, dan keamanan pool bergantung pada Hook tersebut.
- **Bit Izin Alamat**: Izin Hook ditentukan oleh 14 bit rendah alamat deploy-nya, bukan oleh variabel internal. Ini mengharuskan penggunaan CREATE2 dengan salt untuk menghitung alamat yang tepat.
- **Tantangan Keamanan**:
1. **Kontrol Akses**: Versi awal BaseHook hanya melindungi `unlockCallback()`, sedangkan fungsi callback lain (seperti `beforeSwap`) memerlukan kontrol akses eksplisit dari pengembang.
2. **Binding Pool Bebas**: Siapa pun dapat membuat pool baru dengan Hook yang sama tanpa batasan, sehingga Hook perlu mengimplementasikan daftar izin atau binding pool tunggal di `beforeInitialize`.
3. **Async/Custom Curve Hook**: Hook dapat sepenuhnya menggantikan logika swap Uniswap, membawa risiko tinggi karena keamanan bergantung pada implementasi Hook sendiri.
4. **Delta Accounting**: Sistem akuntansi delta memastikan neraca akhir nol, tetapi tidak menjamin kebenaran nilai delta, yang berpotensi dimanipulasi.
- **Refleksi Audit**: Kompleksitas Hook memerlukan audit menyeluruh yang mencakup interaksi antar kontrak, bukan hanya kode Hook secara terpisah. Setiap Hook membentuk domain kepercayaan mandiri yang menentukan keamanan pool-nya.
Keamanan di era v4 bergeser dari tingkat protokol ke tingkat pool, memerlukan metodologi audit yang lebih ketat dan pemahaman mendalam tentang arsitektur Hook.
marsbit06/22 08:09