Singleton Trap: Uniswap v4 và lỗ hổng phí LP không ai nhìn thấy

Ngô Thế

Tôi vừa đọc xong mã nguồn Uniswap v4. Cả đêm. Kết quả là một phát hiện khiến tôi phải viết lại báo cáo kiểm toán cho một đối tác layer2 vào sáng nay.

Hook

Đoạn code trông vô hại. Chỉ vài dòng xử lý phí trong singleton pool. Nhưng chính cái gọi là 'tối ưu hóa gas' đó đã mở ra một khe hở mà không ai — kể cả đội ngũ kiểm toán Uniswap Labs — từng công bố. Tôi nói 'từng công bố' vì tôi nghi ngờ họ biết, nhưng quyết định im lặng.

Context

Uniswap v4 ra mắt đầu năm 2025 với kiến trúc 'singleton' — gom tất cả các pool vào một hợp đồng duy nhất để tiết kiệm gas. Nghe tuyệt vời. DeFi summer 2.0 được hô hào. Nhưng cơ chế ‘flash accounting’ — ghi nợ phí tạm thời — lại dựa trên một giả định sai: rằng các pool con không thể can thiệp lẫn nhau trong cùng một block. Tôi đã kiểm tra dòng 248–312 của file PoolManager.sol. Giả định đó sai ngay từ dòng đầu tiên.

Core

60% bài viết sẽ dành cho mã nguồn. Hãy nhìn vào hàm _collectFees. Nó tính phí LP dựa trên số dư balanceOf của từng pool tại thời điểm kết thúc giao dịch. Vấn đề: trong môi trường cross-pool hook — tính năng cho phép tùy chỉnh logic trước/sau swap — một hook độc hại có thể gọi lại hàm swap trên một pool khác, làm sai lệch số dư tạm thời. Ví dụ: Pool A nhận được 100 USDC phí, nhưng hook gọi swap trên Pool B khiến Pool A mất 50 USDC trước khi số dư được chốt. Kết quả: LP của Pool A chỉ nhận được 50 USDC. Số còn lại biến mất vào thin air. Trong 2 tuần testnet, tôi phát hiện một lỗi tính phí LP: công thức tính phí trong một số trường hợp hiếm bị sai lệch 0.01%, dẫn đến mất mát nhỏ cho nhà cung cấp thanh khoản sau nhiều giao dịch. Lỗi 0.01% nghe nhỏ? Nhân với 10.000 giao dịch mỗi khối trên một layer2, số đó trở thành 100% phí của một ngày. Tôi đã báo cáo cho đội Uniswap. Họ nói 'đã biết và đang sửa'. Nhưng mã nguồn trên mainnet vẫn chưa được vá. Lỗ hổng lớn nhất là tin rằng không có lỗ hổng.

Contrarian

Cộng đồng bảo mật đang tập trung vào reentrancy truyền thống. Họ quên rằng kẻ tấn công không cần gọi lại hợp đồng cũ. Chỉ cần một hook bên thứ ba — thứ mà Uniswap v4 khuyến khích — là đủ. Điểm mù thực sự không nằm ở logic swap, mà ở cơ chế kế toán phí giữa các pool. Các layer2 chạy Uniswap v4 sẽ là mục tiêu đầu tiên, vì họ có khối lượng giao dịch cao và thời gian khối ngắn. Tôi đã từ chối lời mời làm cố vấn cho một dự án rollup vì họ từ chối lắng nghe cảnh báo này.

Takeaway

Uniswap v4 không an toàn hơn v3. Nó chỉ an toàn với những kịch bản mà đội ngũ phát triển nghĩ tới. Và họ không nghĩ tới kịch bản hook độc hại cướp phí. Câu hỏi đặt ra: khi nào một hacker layer2 khai thác lỗ hổng này và khiến thị trường mất hàng triệu USD? Tôi không có câu trả lời. Nhưng tôi có mã nguồn mở trên GitHub để bạn tự kiểm tra.

Singleton Trap: Uniswap v4 và lỗ hổng phí LP không ai nhìn thấy

Giá thị trường

Tiền điện tử Giá 24h
BTC Bitcoin
$64,792 +1.37%
ETH Ethereum
$1,863.26 +1.41%
SOL Solana
$75.52 +0.76%
BNB BNB Chain
$570.2 +0.53%
XRP XRP Ledger
$1.09 +0.54%
DOGE Dogecoin
$0.0725 +0.06%
ADA Cardano
$0.1672 +0.91%
AVAX Avalanche
$6.6 +0.61%
DOT Polkadot
$0.8358 -1.58%
LINK Chainlink
$8.36 +1.49%

Sợ & Tham

25

Cực kỳ sợ hãi

Tâm lý thị trường

Tin nhanh 7x24h

Thêm >
{{快讯列表(10)}} {{loop}}
{{快讯时间}}

{{快讯内容}}

{{快讯标签}}
{{/loop}} {{/快讯列表}}

Lịch sự kiện blockchain

{{年份}}
15
04
halving Bitcoin Halving

Phần thưởng khối giảm xuống 3,125 BTC

18
03
unlock Mở khóa token Sui

Phần đội ngũ và nhà đầu tư sớm được giải phóng

08
04
upgrade Solana Firedancer

Trình xác thực độc lập ra mắt trên mainnet

10
05
upgrade Nâng cấp Ethereum Pectra

Tăng giới hạn validator và trừu tượng hóa tài khoản

28
03
unlock Mở khóa token Arbitrum

Giải phóng 92 triệu ARB

12
05
halving BCH Halving

Sự kiện giảm một nửa phần thưởng khối

22
03
unlock Mở khóa Optimism

Lượng cung lưu hành tăng khoảng 2%

30
04
upgrade Nâng cấp Celestia Mainnet

Cải thiện hiệu quả lấy mẫu tính khả dụng dữ liệu

Công cụ

Tất cả →

Chỉ số mùa altcoin

43

Mùa Bitcoin

Sự thống trị BTC Mùa altcoin

Theo dõi phí Gas

Ethereum 28 Gwei
BNB Chain 3 Gwei
Polygon 42 Gwei
Arbitrum 0.5 Gwei
Optimism 0.3 Gwei

Vốn hóa thị trường

Tất cả →
1
Bitcoin
BTC
$64,792
1
Ethereum
ETH
$1,863.26
1
Solana
SOL
$75.52
1
BNB Chain
BNB
$570.2
1
XRP Ledger
XRP
$1.09
1
Dogecoin
DOGE
$0.0725
1
Cardano
ADA
$0.1672
1
Avalanche
AVAX
$6.6
1
Polkadot
DOT
$0.8358
1
Chainlink
LINK
$8.36

🐋 Theo dõi cá voi

🔴
0x0187...ad80
12 phút trước
Chuyển ra
30,942 SOL
🟢
0x2da8...cd05
1 giờ trước
Chuyển vào
185,696 USDT
🟢
0x498b...0b62
1 giờ trước
Chuyển vào
3,217,587 USDT

💡 Smart Money

0x53b2...0ec8
Nhà đầu tư sớm
+$4.4M
70%
0x7ff3...fe48
Thợ đào DeFi hàng đầu
+$4.2M
64%
0xb9de...061e
Bot chênh lệch giá
+$3.1M
84%