Cơ chế Hook Uniswap v4: Đổi mới và thách thức đồng hành
Uniswap v4 sắp ra mắt, phiên bản này sẽ đưa ra nhiều đổi mới quan trọng, bao gồm hỗ trợ số lượng bể thanh khoản không giới hạn cho mỗi cặp giao dịch và phí động, thiết kế đơn lẻ, kế toán chớp nhoáng, cơ chế Hook, và hỗ trợ tiêu chuẩn token ERC1155. Trong đó, cơ chế Hook được chú ý vì tiềm năng mạnh mẽ của nó.
Cơ chế Hook cho phép thực thi mã tùy chỉnh vào những thời điểm nhất định trong vòng đời của bể thanh khoản, làm tăng đáng kể khả năng mở rộng và linh hoạt của bể. Tuy nhiên, sự linh hoạt này cũng mang lại những thách thức an ninh mới. Bài viết này sẽ hệ thống giới thiệu 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.
Cơ chế cốt lõi của Uniswap V4
Ba tính năng quan trọng của Uniswap v4 là Hook, kiến trúc đơn thể và kế toán chớp nhoáng.
cơ chế Hook
Hook là hợp đồng hoạt động ở các giai đoạn khác nhau của vòng đời bể thanh khoản, có thể hỗ trợ phí động gốc, thêm lệnh giới hạn trên chuỗi, hoặc thực hiện giao dịch phân tán các đơn hàng lớn thông qua nhà tạo lập thị trường trung bình theo thời gian (TWAMM).
Hiện tại có tám callback Hook, được chia thành bốn nhóm:
trướcKhởiTạo/sauKhởiTạo
trướcSửaĐổiVịTrí/sauSửaĐổiVịTrí
trướcHoán/ sauHoán
trướcKhiTặng/sauKhiTặng
Đơn thể, ghi sổ chớp nhoáng và cơ chế khóa
Kiến trúc đơn thể và ghi sổ chớp nhằm nâng cao hiệu suất. Tất cả các pool thanh khoản được lưu trữ trong cùng một hợp đồng thông minh PoolManager.
Cơ chế khóa hoạt động như sau:
hợp đồng locker yêu cầu khóa trên PoolManager
PoolManager sẽ thêm địa chỉ locker vào hàng đợi và gọi lại nó.
logic thực hiện hợp đồng locker, tương tác với pool có thể dẫn đến sự gia tăng tiền tệ không bằng 0
PoolManager kiểm tra hàng đợi và trạng thái tăng trưởng tiền tệ, xác thực sau đó xóa locker đó
Phương pháp này điều chỉnh số dư ròng nội bộ, không phải chuyển khoản ngay lập tức. Chuyển khoản thực tế diễn ra khi kết thúc thao tác, đảm bảo không có token chưa được thanh toán.
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. Có hai tình huống tương tác chính:
Thông qua hợp đồng locker ( được triển khai bởi chính thức hoặc người dùng, bộ định tuyến )
hợp đồng locker và Hook được tích hợp vào cùng một hợp đồng
Mô hình đe dọa
Chúng tôi chủ yếu xem xét hai mô hình đe dọa:
Mô hình đe dọa I: Hook bản thân là vô hại 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ú ý đến các lỗ hổng tiềm ẩn đặc thù của phiên bản v4, chủ yếu được chia thành hai loại:
Giữ tiền của người dùng bằng Hook
Hook lưu trữ dữ liệu trạng thái quan trọng
Các lỗ hổng được phát hiện chủ yếu xuất phát từ sự tương tác rủi ro giữa hook, PoolManager và bên thứ ba bên ngoài, có thể được chia thành:
Vấn đề kiểm soát truy cập
Vấn đề xác thực đầu vào
Trong 22 dự án liên quan, có 8 cái (36%) có lỗ hổng, trong đó 6 cái có vấn đề kiểm soát truy cập, 2 cái dễ bị ảnh hưởng bởi các cuộc gọi bên ngoài không đáng tin cậy.
Vấn đề kiểm soát truy cập
Hàm callback trong v4 (8 hook callback và lock callback ) chỉ nên được gọi bởi PoolManager. Việc thiết lập cơ chế kiểm soát truy cập mạnh mẽ là rất quan trọng.
Vấn đề xác thực đầu vào
Mặc dù có cơ chế khóa, vẫn tồn tại các kịch bản tấn công tiềm ẩn:
hook không xác thực người dùng tương tác với quỹ
Hàm hook quan trọng cho phép gọi từ bên ngoài tùy ý
Điều này có thể dẫn đến các vấn đề như tấn công tái nhập.
Biện pháp phòng ngừa
Thực hiện kiểm soát truy cập cần thiết đối với các hàm nhạy cảm
Xác minh tham số đầu vào
Triển khai bảo vệ tái nhập
Vấn đề an ninh trong mô hình đe dọa II
Chúng tôi chia Hook thành hai loại:
Hook ủy thác: Người dùng tương tác với hook thông qua bộ định tuyến
Hook độc lập: Người dùng tương tác trực tiếp với hook
Hook ủy thác
Tài sản của người dùng được chuyển cho router. Hook độc hại khó có thể trực tiếp đánh cắp, nhưng có thể thao tác cơ chế quản lý phí.
Hook độc lập
hook nhận được nhiều quyền lực hơn, có thể thực hiện bất kỳ thao tác nào. Rủi ro chính:
Đại lý có thể nâng cấp
Có logic tự hủy
Biện pháp phòng ngừa
Đánh giá xem hook có độc hại không
Chú ý đến hành vi quản lý chi phí của hook dạng ủy thác
Quan tâm đến việc hook độc lập có thể nâng cấp hay không
Kết luận
Bài viết này tóm tắt các cơ chế cốt lõi liên quan đến cơ chế Hook của Uniswap v4 và các rủi ro an ninh. Mặc dù cơ chế Hook là một đổi mới, nhưng nó cũng mang đến những thách thức an ninh mới. Các bài viết tiếp theo sẽ phân tích sâu về các vấn đề an ninh dưới từng mô hình mối đe dọa.
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.
9 thích
Phần thưởng
9
5
Chia sẻ
Bình luận
0/400
ProbablyNothing
· 08-05 15:14
V4 à, các game thủ MEV đang vui mừng
Xem bản gốcTrả lời0
WhaleMistaker
· 08-05 15:08
Cập nhật killer... cuối cùng cũng đã chờ được.
Xem bản gốcTrả lời0
AirdropHunter420
· 08-05 14:51
Bull à hook có chút điều gì đó
Xem bản gốcTrả lời0
NotAFinancialAdvice
· 08-05 14:51
Cơ chế hook chỉ là một cái bẫy chờ đợi người mới.
Xem bản gốcTrả lời0
SmartMoneyWallet
· 08-05 14:51
Cơ chế hook này tiềm ẩn rủi ro, chỉ chờ đợi nhóm người làm khoản vay nhanh đến gây rối.
Cơ chế Hook Uniswap v4: Đổi mới và thách thức an toàn đồng hành
Cơ chế Hook Uniswap v4: Đổi mới và thách thức đồng hành
Uniswap v4 sắp ra mắt, phiên bản này sẽ đưa ra nhiều đổi mới quan trọng, bao gồm hỗ trợ số lượng bể thanh khoản không giới hạn cho mỗi cặp giao dịch và phí động, thiết kế đơn lẻ, kế toán chớp nhoáng, cơ chế Hook, và hỗ trợ tiêu chuẩn token ERC1155. Trong đó, cơ chế Hook được chú ý vì tiềm năng mạnh mẽ của nó.
Cơ chế Hook cho phép thực thi mã tùy chỉnh vào những thời điểm nhất định trong vòng đời của bể thanh khoản, làm tăng đáng kể khả năng mở rộng và linh hoạt của bể. Tuy nhiên, sự linh hoạt này cũng mang lại những thách thức an ninh mới. Bài viết này sẽ hệ thống giới thiệu 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.
Cơ chế cốt lõi của Uniswap V4
Ba tính năng quan trọng của Uniswap v4 là Hook, kiến trúc đơn thể và kế toán chớp nhoáng.
cơ chế Hook
Hook là hợp đồng hoạt động ở các giai đoạn khác nhau của vòng đời bể thanh khoản, có thể hỗ trợ phí động gốc, thêm lệnh giới hạn trên chuỗi, hoặc thực hiện giao dịch phân tán các đơn hàng lớn thông qua nhà tạo lập thị trường trung bình theo thời gian (TWAMM).
Hiện tại có tám callback Hook, được chia thành bốn nhóm:
Đơn thể, ghi sổ chớp nhoáng và cơ chế khóa
Kiến trúc đơn thể và ghi sổ chớp nhằm nâng cao hiệu suất. Tất cả các pool thanh khoản được lưu trữ trong cùng một hợp đồng thông minh PoolManager.
Cơ chế khóa hoạt động như sau:
Phương pháp này điều chỉnh số dư ròng nội bộ, không phải chuyển khoản ngay lập tức. Chuyển khoản thực tế diễn ra khi kết thúc thao tác, đảm bảo không có token chưa được thanh toán.
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. Có hai tình huống tương tác chính:
Mô hình đe dọa
Chúng tôi chủ yếu xem xét hai mô hình đe dọa:
Vấn đề an ninh trong mô hình đe dọa I
Chúng tôi chú ý đến các lỗ hổng tiềm ẩn đặc thù của phiên bản v4, chủ yếu được chia thành hai loại:
Các lỗ hổng được phát hiện chủ yếu xuất phát từ sự tương tác rủi ro giữa hook, PoolManager và bên thứ ba bên ngoài, có thể được chia thành:
Trong 22 dự án liên quan, có 8 cái (36%) có lỗ hổng, trong đó 6 cái có vấn đề kiểm soát truy cập, 2 cái dễ bị ảnh hưởng bởi các cuộc gọi bên ngoài không đáng tin cậy.
Vấn đề kiểm soát truy cập
Hàm callback trong v4 (8 hook callback và lock callback ) chỉ nên được gọi bởi PoolManager. Việc thiết lập cơ chế kiểm soát truy cập mạnh mẽ là rất quan trọng.
Vấn đề xác thực đầu vào
Mặc dù có cơ chế khóa, vẫn tồn tại các kịch bản tấn công tiềm ẩn:
Điều này có thể dẫn đến các vấn đề như tấn công tái nhập.
Biện pháp phòng ngừa
Vấn đề an ninh trong mô hình đe dọa II
Chúng tôi chia Hook thành hai loại:
Hook ủy thác
Tài sản của người dùng được chuyển cho router. Hook độc hại khó có thể trực tiếp đánh cắp, nhưng có thể thao tác cơ chế quản lý phí.
Hook độc lập
hook nhận được nhiều quyền lực hơn, có thể thực hiện bất kỳ thao tác nào. Rủi ro chính:
Biện pháp phòng ngừa
Kết luận
Bài viết này tóm tắt các cơ chế cốt lõi liên quan đến cơ chế Hook của Uniswap v4 và các rủi ro an ninh. Mặc dù cơ chế Hook là một đổi mới, nhưng nó cũng mang đến những thách thức an ninh mới. Các bài viết tiếp theo sẽ phân tích sâu về các vấn đề an ninh dưới từng mô hình mối đe dọa.