BTC $63,167.6 +0.24%
ETH $1,862.07 -0.59%
SOL $73.17 +0.32%
BNB $588.2 +1.64%
XRP $1.08 +1.52%
DOGE $0.0703 +0.24%
ADA $0.1900 +9.20%
AVAX $6.58 +3.20%
DOT $0.7946 +1.98%
LINK $8.27 +2.01%
⛽ ETH Gas 28 Gwei
Sợ&Tham
27

Giá thị trường

BTC Bitcoin
$63,167.6 +0.24%
ETH Ethereum
$1,862.07 -0.59%
SOL Solana
$73.17 +0.32%
BNB BNB Chain
$588.2 +1.64%
XRP XRP Ledger
$1.08 +1.52%
DOGE Dogecoin
$0.0703 +0.24%
ADA Cardano
$0.1900 +9.20%
AVAX Avalanche
$6.58 +3.20%
DOT Polkadot
$0.7946 +1.98%
LINK Chainlink
$8.27 +2.01%

Lịch sự kiện blockchain

{{年份}}
15
04
halving Bitcoin Halving

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

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

12
05
halving BCH Halving

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

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

18
03
unlock Mở khóa token Sui

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

28
03
unlock Mở khóa token Arbitrum

Giải phóng 92 triệu ARB

08
04
upgrade Solana Firedancer

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

22
03
unlock Mở khóa Optimism

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

Theo dõi phí Gas

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

💡 Smart Money

0x7f5a...6ebd
Nhà giao dịch on-chain dày dặn
-$3.4M
80%
0xe816...0079
Thợ đào DeFi hàng đầu
+$0.6M
87%
0x6b52...f40e
Ví lưu ký tổ chức
+$3.3M
94%

Công cụ

Tất cả →
Học tập

Bom Tấn Công: Một Lỗ Hổng Phổ Biến Khác Bị Bỏ Qua Trong DeFi?

Lý Ngọc

Bom Tấn Công: Một Lỗ Hổng Phổ Biến Khác Bị Bỏ Qua Trong DeFi?

Lỗ hổng vẫn còn đó, không phải FUD.

Tuần trước, tôi thấy một tweet lan truyền về một dự án DeFi bị khai thác, mất hơn 2 triệu USD. Mọi người lại đổ xô đi tìm lỗi trong contract, đổ lỗi cho oracle, cho team. Nhưng tôi thì nhìn vào một thứ khác: cấu trúc cơ bản của pool thanh khoản, cụ thể là cách nó xử lý phí.

Đây không phải là một exploit mới. Đây là một phiên bản cũ của một lỗi mà tôi đã thấy từ năm 2020, khi tôi tự audit Uniswap v2. AMM 2020: lỗi vẫn còn sống. Mọi người vẫn mắc phải những sai lầm cơ bản nhất.

____

Context: Cơ Chế Phí và Impermanent Loss

Hãy hiểu điều này: Mọi AMM đều có công thức tính phí. Uniswap tính 0.3%. Khi bạn swap, một phần phí đó được giữ lại trong pool, làm tăng giá trị của LP token. Vấn đề không phải là con số 0.3%, mà là khi nào nó được tính và làm tròn như thế nào.

Trong phần lớn các triển khai, phí được tính toán tại thời điểm giao dịch dựa trên amountInamountOut. Một số contract sử dụng số học với độ chính xác cao (18 decimals) để tránh mất mát. Nhưng khi bạn có một pool với biến động giá mạnh, công thức căn bậc hai trong tính toán phí có thể dẫn đến sai số làm tròn nhỏ.

Hãy đọc code. Một lỗi điển hình trông như thế này (giả mã):

function getOutputAmount(uint inputAmount, uint inputReserve, uint outputReserve) public pure returns (uint outputAmount) {
    uint inputAmountWithFee = inputAmount * 997;
    uint numerator = inputAmountWithFee * outputReserve;
    uint denominator = (inputReserve * 1000) + inputAmountWithFee;
    outputAmount = numerator / denominator;
}

Vấn đề nằm ở chỗ chia số nguyên (/). Trong một giao dịch nhỏ lẻ, sai số là không đáng kể. Nhưng trong một pool có khối lượng giao dịch cực lớn, hàng nghìn giao dịch mỗi ngày, sai số làm tròn này tích lũy dần và tạo ra một lỗ hổng có thể khai thác được.

____

Core: Phân Tích Cấp Code và Sự Đánh Đổi

Đào sâu tận gốc: Lỗi nằm ở chỗ ẩn trong công thức.

Hãy tưởng tượng bạn có một pool ETH/USDC với tổng thanh khoản cực lớn. Mỗi lần swap, một phần nhỏ của phí (ví dụ, 0.0000001 ETH) bị mất đi do làm tròn. Nó không đáng kể? Sai.

Trong thị trường gấu, khi thanh khoản khan hiếm và khối lượng giao dịch giảm, các trader săn mồi (MEV bots) có thể lợi dụng điều này. Chúng có thể thực hiện vô số giao dịch nhỏ, mỗi lần đều tạo ra một lượng nhỏ “phí rò rỉ” ra ngoài contract (không được phân phối cho LP). Qua nhiều ngày, số tiền này có thể trở nên đáng kể và có thể bị rút ra bởi một ai đó (thường là kẻ tấn công đầu tiên phát hiện ra lỗi).

Đây không phải là một lỗi reentrancy hay overflow. Nó là một lỗi logic trong mô hình giá và phí. Nó tinh vi, khó phát hiện bằng các công cụ static analysis cơ bản. Nó đòi hỏi bạn phải chạy mô phỏng với dữ liệu lịch sử để thấy được tác động tích lũy.

Dự án bị khai thác tuần trước đã sử dụng một công thức AMM tùy chỉnh. Họ tự hào về “tính linh hoạt” của nó. Nhưng tính linh hoạt đó đã mở ra cánh cửa cho lỗ hổng này. Họ đã đánh đổi tính an toàn của một công thức đã được kiểm chứng (Uniswap v2/v3 gốc) để lấy một chút hiệu quả về mặt tính toán hoặc một tính năng mới.

____

Contrarian: Điểm Mù Bảo Mật

Chống đám đông kiên định: Vấn đề không phải là oracle hay admin key. Vấn đề là toán học cơ bản.

Hầu hết các security audit report đều tập trung vào các lỗ hổng bảo mật thông thường: reentrancy, access control, integer overflow. Những lỗi đó quan trọng. Nhưng chúng thường được phát hiện bởi các công cụ tự động. Lỗi mà tôi đang nói đến là một lỗi toán học thuần túy, nó nằm ngoài tầm với của hầu hết các automated scanner.

Các auditor thường không đủ thời gian hoặc động lực để ngồi hàng giờ mô phỏng từng công thức, kiểm tra từng trường hợp biên với số liệu thực tế. Họ dựa vào kinh nghiệm và pattern. Nhưng khi một dự án sửa đổi công thức AMM cốt lõi, họ vô tình tạo ra những pattern mới mà không ai có kinh nghiệm để nhìn ra.

Điểm mù ở đây là niềm tin mù quáng vào toán học. Team nghĩ rằng một công thức có vẻ đúng về mặt lý thuyết sẽ an toàn. Nhưng thực tế, các giao dịch không phải lý thuyết. Chúng là các phép chia số nguyên trong EVM với hàng triệu biến số. Một sai số 0.0001% có vẻ nhỏ, nhưng khi được nhân với khối lượng giao dịch hàng triệu USD, nó trở thành một lỗ hổng có khả năng sinh lời cao.

____

Takeaway: Dự Báo Lỗ Hổng

Hãy đọc code, đừng nghe hype. Nhìn vào công thức, đừng chỉ nhìn vào logo.

Tôi dự đoán rằng chúng ta sẽ thấy ngày càng nhiều các vụ khai thác kiểu này trong thị trường gấu. Khi khối lượng giao dịch giảm, LP thanh khoản trở nên kém hiệu quả hơn, và các lỗ hổng toán học nhỏ này sẽ trở thành miếng mồi ngon cho những kẻ săn mồi hiểu biết.

Câu hỏi dành cho anh em: Dự án DeFi bạn đang farm có đang tự hào về công thức AMM “độc đáo” của họ không? Nếu có, hãy tìm hiểu xem nó có mắc phải lỗi làm tròn phí như trên không. Nếu không, thời gian đào sâu vào code là đây.

Sợ & Tham

27

Sợ hãi

Tâm lý thị trường

Chỉ số mùa altcoin

44

Mùa Bitcoin

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

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

Tất cả →
# Tiền điện tử Giá
1
Bitcoin BTC
$63,167.6
1
Ethereum ETH
$1,862.07
1
Solana SOL
$73.17
1
BNB Chain BNB
$588.2
1
XRP Ledger XRP
$1.08
1
Dogecoin DOGE
$0.0703
1
Cardano ADA
$0.1900
1
Avalanche AVAX
$6.58
1
Polkadot DOT
$0.7946
1
Chainlink LINK
$8.27

🐋 Theo dõi cá voi

🔵
0xb7ce...9eb0
2 phút trước
Stake
36,481 SOL
🟢
0x57d6...f821
1 ngày trước
Chuyển vào
1,732,556 USDC
🔴
0xcd12...3c09
3 giờ trước
Chuyển ra
1,176 ETH