Penjelasan Mendalam tentang Mekanisme Hook Uniswap v4: Potensi dan Risiko Keamanan yang Bersamaan

robot
Pembuatan abstrak sedang berlangsung

Mekanisme Hook Uniswap v4: Potensi dan Tantangan yang Beriringan

Uniswap v4 akan segera diluncurkan, dan peningkatan kali ini memperkenalkan banyak fitur inovatif, di antaranya mekanisme Hook yang sangat diperhatikan.

Mekanisme Hook memungkinkan eksekusi kode kustom pada titik tertentu dalam siklus hidup kolam likuiditas, yang secara signifikan meningkatkan skalabilitas dan fleksibilitas kolam tersebut. Namun, kompleksitas Hook juga membawa risiko keamanan potensial yang baru. Artikel ini akan memperkenalkan secara sistematis masalah keamanan dan risiko potensial yang terkait dengan mekanisme Hook, untuk mendorong pengembangan keamanan komunitas.

Mekanisme Inti Uniswap v4

Tiga fitur penting dari Uniswap v4 adalah Hook, arsitektur tunggal, dan pembukuan kilat.

Hook

Hook adalah kontrak yang beroperasi pada berbagai tahap siklus hidup kolam dana likuiditas, dengan memperkenalkan Hook, mendukung biaya dinamis secara asli, menambahkan pesanan batas di on-chain, dan melakukan penyebaran pesanan besar melalui rata-rata tertimbang waktu, dan fitur lainnya. Saat ini terdapat 8 callback Hook, dibagi menjadi 4 grup:

  • sebelumInisialisasi/setelahInisialisasi
  • sebelumUbahPosisi/setelahUbahPosisi
  • sebelumTukar/setelahTukar
  • sebelumDonasi/setelahDonasi

Mengapa Hook disebut sebagai "pedang bermata dua" Uniswap V4?

Singleton, pencatatan kilat, dan mekanisme penguncian

Arsitektur singleton dan pencatatan kilat dirancang untuk meningkatkan kinerja dengan menurunkan biaya dan memastikan efisiensi. Ini memperkenalkan kontrak PoolManager untuk menyimpan dan mengelola status semua kolam.

Versi v4 memperkenalkan pencatatan kilat dan mekanisme penguncian. Cara kerja mekanisme penguncian adalah sebagai berikut:

  1. kontrak locker meminta lock di PoolManager
  2. PoolManager menambahkan alamat kontrak locker ke antrean lockData, dan memanggil callback lockAcquired-nya.
  3. kontrak locker menjalankan logikanya dalam callback
  4. PoolManager memeriksa status antrean lockData dan peningkatan mata uang, setelah verifikasi menghapus kontrak locker tersebut

Mekanisme penguncian mencegah akses bersamaan dan memastikan bahwa semua transaksi dapat diselesaikan. Setiap perubahan akan dicatat dalam saldo internal kolam, dan transfer aktual dilakukan setelah operasi selesai.

Karena adanya mekanisme penguncian, akun eksternal tidak dapat berinteraksi langsung dengan PoolManager, dan harus melalui kontrak. Terdapat dua skenario interaksi kontrak yang utama:

  • kontrak locker berasal dari repositori kode resmi atau dideploy oleh pengguna, dapat dianggap sebagai interaksi melalui router
  • kontrak locker dan Hook diintegrasikan ke dalam kontrak yang sama, dapat dianggap sebagai interaksi melalui Hook

Model Ancaman

Kami terutama mempertimbangkan dua model ancaman:

  • Model ancaman I: Hook itu sendiri bersifat baik, tetapi memiliki kerentanan.
  • Model Ancaman II: Hook itu sendiri adalah jahat

Masalah keamanan dalam model ancaman I

Kami terutama fokus pada potensi kerentanan khusus versi v4, dengan penekanan pada dua jenis Hook berikut:

  1. Hook yang menyimpan dana pengguna
  2. Hook untuk menyimpan data status kunci

Dalam penelitian ditemukan bahwa terdapat dua jenis masalah utama: masalah kontrol akses dan masalah validasi input.

Masalah Kontrol Akses

Fungsi callback dalam v4 hanya boleh dipanggil oleh PoolManager. Jika fungsi yang bersangkutan dapat dipanggil oleh sembarang akun, ini dapat menyebabkan masalah seperti hadiah yang salah diterima. Oleh karena itu, sangat penting untuk membangun mekanisme kontrol akses yang kuat.

Masalah verifikasi input

Karena adanya mekanisme penguncian, pengguna harus memperoleh lock melalui kontrak untuk dapat melakukan operasi kolam. Namun, masih ada skenario serangan yang berpotensi:

  • Hook pengguna yang tidak terverifikasi berniat untuk berinteraksi dengan kolam dana
  • Beberapa fungsi Hook kunci memungkinkan panggilan eksternal sembarangan

Panggilan eksternal yang tidak terpercaya dapat menyebabkan masalah seperti serangan reentrancy.

Tindakan pencegahan

Untuk menghindari masalah keamanan seperti ini, perlu menerapkan kontrol akses yang diperlukan pada fungsi sensitif, memverifikasi parameter input, dan mempertimbangkan untuk menerapkan perlindungan reentrancy.

Mengapa Hook disebut sebagai "pedang bermata dua" Uniswap V4?

Masalah keamanan dalam model ancaman II

Kami membagi Hook menjadi dua kategori:

  • Hook berbasis custodian: bukan titik masuk, pengguna berinteraksi dengannya melalui router
  • Hook independen: adalah titik masuk, memungkinkan pengguna berinteraksi secara langsung

Hook Tipe Terpercaya

Aset pengguna ditransfer atau diberikan kepada router. Karena PoolManager melakukan pemeriksaan saldo, Hook jahat sulit untuk mencuri aset secara langsung, tetapi mungkin dapat menyerang dengan memanipulasi mekanisme pengelolaan biaya.

Hook Mandiri

Hook independen telah memperoleh lebih banyak kekuasaan, dapat melakukan operasi apa pun. Risiko utama termasuk:

  • Agen yang dapat ditingkatkan
  • Kontrak dengan logika penghancuran diri

Langkah pencegahan

Menilai apakah Hook bersifat jahat sangat penting. Untuk Hook yang dikelola, perhatian harus diberikan pada perilaku manajemen biaya; untuk Hook independen, perhatian harus diberikan pada apakah dapat ditingkatkan.

Mengapa Hook disebut sebagai "pedang bermata dua" Uniswap V4?

Kesimpulan

Artikel ini mengulas mekanisme inti dan potensi risiko keamanan terkait mekanisme Hook Uniswap v4. Artikel-artikel berikutnya akan menganalisis masalah keamanan di bawah setiap model ancaman.

UNI6.79%
HOOK2.92%
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
  • Hadiah
  • 3
  • Bagikan
Komentar
0/400
MonkeySeeMonkeyDovip
· 07-28 11:47
Perhatikan keamanan dengan sangat serius
Lihat AsliBalas0
PumpStrategistvip
· 07-28 09:37
Risiko jauh melebihi imbalan
Lihat AsliBalas0
NFTArchaeologistvip
· 07-25 13:54
Keamanan harus menjadi prioritas utama
Lihat AsliBalas0
  • Sematkan
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)