Cơ chế Hook Uniswap v4: Thử thách kép về đổi mới và an toàn

robot
Đang tạo bản tóm tắt

Cơ chế Hook của Uniswap v4: Cơ hội và thách thức đồng tồn tại

Uniswap v4 sắp ra mắt, phiên bản này sẽ giới thiệu nhiều tính năng đổi mới, trong đó cơ chế Hook đặc biệt thu hút sự chú ý. Hook cho phép thực hiện mã tùy chỉnh tại các nút cụ thể trong vòng đời của hồ thanh khoản, nâng cao đáng kể khả năng mở rộng và tính linh hoạt của hồ. Tuy nhiên, tính năng mạnh mẽ này cũng mang đến những thách thức an ninh mới.

Bài viết này như một phần mở đầu của một loạt bài, nhằm giới thiệu hệ thống các vấn đề an ninh và rủi ro tiềm ẩn liên quan đến cơ chế Hook, nhằm thúc đẩy sự phát triển an toàn của cộng đồng. Chúng tôi tin rằng những hiểu biết này sẽ giúp xây dựng một hệ sinh thái Uniswap v4 Hook an toàn hơn.

Cơ chế cốt lõi của Uniswap V4

Trước khi đi sâu vào vấn đề an toàn, chúng ta cần hiểu một vài cơ chế cốt lõi của Uniswap v4:

Cơ chế Hook

Hook là hợp đồng hoạt động ở các giai đoạn khác nhau trong vòng đời của quỹ thanh khoản. Hiện có 8 callback Hook, được chia thành 4 nhóm:

  • beforeInitialize/afterInitialize
  • trướcSửaĐổiVịTrí/sauSửaĐổiVịTrí
  • trước khi hoán đổi/sau khi hoán đổi
  • trướcDonate/sauDonate

Thông qua cơ chế Hook, có thể hiện thực hóa hỗ trợ phí động gốc, thêm lệnh giới hạn trên chuỗi, thực hiện các chức năng như tạo thị trường dựa trên trung bình trọng số theo thời gian cho các đơn hàng lớn phân tán (TWAMM).

Tại sao Hook được coi là "con dao hai lưỡi" của Uniswap V4?

Kiến trúc đơn thể và ghi sổ nhanh

Uniswap v4 áp dụng kiến trúc đơn thể, tất cả các hồ thanh khoản được lưu trữ trong cùng một hợp đồng thông minh. Điều này phụ thuộc vào một PoolManager để lưu trữ và quản lý trạng thái của tất cả các hồ.

Ghi sổ nhanh chóng là một cơ chế ghi sổ mới. Việc thao tác không còn trực tiếp chuyển giao token, mà là điều chỉnh số dư ròng nội bộ. Việc chuyển tiền thực tế sẽ diễn ra khi thao tác kết thúc.

cơ chế khóa

Cơ chế khóa ngăn chặn truy cập đồng thời, đảm bảo tất cả các giao dịch đều có thể được thanh toán. Quy trình chính như sau:

  1. yêu cầu lock hợp đồng locker
  2. PoolManager sẽ thêm địa chỉ locker vào hàng đợi và gọi lại hàm của nó.
  3. logic thực thi locker, tương tác với pool
  4. PoolManager kiểm tra trạng thái, xóa locker

Do cơ chế khóa, các tài khoản bên ngoài không thể tương tác trực tiếp với PoolManager, mà phải thông qua hợp đồng.

Mô hình đe dọa

Chúng tôi chủ yếu xem xét hai loại mô hình đe dọa:

  • Mô hình đe dọa I: Hook bản thân là tốt, nhưng có lỗ hổng.
  • Mô hình đe dọa II: Hook bản thân nó là độc hại.

Vấn đề an ninh trong mô hình đe dọa I

Chúng tôi chủ yếu tập trung vào các lỗ hổng tiềm ẩn đặc trưng của phiên bản v4, đặc biệt là những vấn đề liên quan đến logic của giao diện Hook tiêu chuẩn. Tập trung vào hai loại Hook:

  1. Hook giữ tiền của người dùng
  2. Hook lưu trữ dữ liệu trạng thái quan trọng

Thông qua việc phân tích các dự án mẫu trong cộng đồng, chúng tôi đã phát hiện ra một số lỗ hổng nghiêm trọng, chủ yếu chia thành hai loại:

Vấn đề kiểm soát truy cập

Hàm callback Hook chỉ nên được PoolManager gọi. Thiếu kiểm soát truy cập có thể dẫn đến các hoạt động không được phép, chẳng hạn như nhận thưởng sai.

Vấn đề xác thực đầu vào

Một số Hook được triển khai không đúng trong việc xác thực đầu vào, có thể dẫn đến các cuộc gọi bên ngoài không đáng tin cậy. Kẻ tấn công có thể tấn công những Hook này bằng cách đăng ký các pool quỹ độc hại.

Tại sao Hook được coi là "con dao hai lưỡi" của Uniswap V4?

Vấn đề an ninh trong Mô hình đe dọa II

Chúng tôi chia Hook thành hai loại để thảo luận:

Hook quản lý

Người dùng tương tác với Hook thông qua bộ định tuyến. Mặc dù khó để đánh cắp tài sản trực tiếp, nhưng có thể thao túng cơ chế quản lý phí.

Móc độc lập

Người dùng có thể tương tác trực tiếp với Hook, trao quyền cho Hook nhiều hơn. Nếu Hook có thể nâng cấp, điều này có thể tạo ra rủi ro lớn.

Biện pháp phòng ngừa

Đối với mô hình đe dọa I:

  • Thực hiện kiểm soát truy cập cần thiết
  • Xác thực tham số đầu vào
  • Thêm bảo vệ tái nhập

Đối với mô hình đe dọa II:

  • Đánh giá xem Hook có độc hại hay không
  • Quan tâm đến hành vi quản lý chi phí ( kiểu ủy thác )
  • Theo dõi xem có thể nâng cấp ( kiểu độc lập )

Bài viết này đã thảo luận ban đầu về vấn đề an toàn của cơ chế Hook trong Uniswap v4. Trong các bài viết tiếp theo, chúng tôi sẽ phân tích sâu hơn về các vấn đề an toàn dưới mỗi mô hình đe dọa.

Tại sao Hook được coi là "con dao hai lưỡi" của Uniswap V4?

UNI-2.1%
HOOK-4.98%
Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
  • Phần thưởng
  • 7
  • Chia sẻ
Bình luận
0/400
StakeWhisperervip
· 3giờ trước
Chơi defi được 3 năm không tin rằng cái móc có thể giải quyết vấn đề thực sự.
Xem bản gốcTrả lời0
MetaverseVagabondvip
· 15giờ trước
Quá tốn thời gian rồi, vấn đề an ninh thì để Hacker kiểm tra nhé.
Xem bản gốcTrả lời0
MonkeySeeMonkeyDovip
· 15giờ trước
Cái hook này làm nhiều quá thì không ổn đâu.
Xem bản gốcTrả lời0
MeaninglessApevip
· 15giờ trước
Hook lại đến để được chơi cho Suckers rồi
Xem bản gốcTrả lời0
GraphGuruvip
· 16giờ trước
v4 lại bắt đầu chơi hook rồi, cảm giác an toàn thật đáng lo ngại.
Xem bản gốcTrả lời0
SignatureAnxietyvip
· 16giờ trước
Hook bẫy này chơi hỏng rồi thì làm sao?
Xem bản gốcTrả lời0
DeFi_Dad_Jokesvip
· 16giờ trước
Lại là bẫy cũ với danh nghĩa đổi mới, giao diện curd.
Xem bản gốcTrả lời0
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)