Dlkoman

Giá thị trường

BTC Bitcoin
$78,772.9 -0.53%
ETH Ethereum
$2,496.14 +1.14%
SOL Solana
$101.1 +3.81%
BNB BNB Chain
$703.2 +0.77%
XRP XRP Ledger
$1.41 -2.75%
DOGE Dogecoin
$0.0869 +0.03%
ADA Cardano
$0.2093 -1.41%
AVAX Avalanche
$7.36 -0.50%
DOT Polkadot
$0.8718 +1.64%
LINK Chainlink
$11.55 +1.17%

Lịch sự kiện blockchain

{{年份}}
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%

28
03
unlock Mở khóa token Arbitrum

Giải phóng 92 triệu ARB

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

15
04
halving Bitcoin Halving

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

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

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

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

0xfe9d...65bc
Thợ đào DeFi hàng đầu
+$4.4M
69%
0x592d...e41f
Nhà giao dịch on-chain dày dặn
+$4.3M
65%
0xd390...8c0f
Bot chênh lệch giá
+$0.4M
65%

🧮 Công cụ

Tất cả →

Khi Dữ Liệu Đầu Vào Thiếu: Bài Học Từ Một Lỗ Hổng DeFi Nghiêm Trọng

Vũ Tuấn
Pháp lý

Ngày 15/03/2025, một giao thức lending trên Arbitrum mất 12,000 ETH chỉ sau 3 block. Nguyên nhân? Không phải oracle bị tấn công, không phải flash loan phức tạp, mà là một tham số đầu vào bị bỏ trống trong hàm liquidate(). Kẻ tấn công đã gửi address(0) vào vị trí debtor, khiến contract ghi nợ vào một account không tồn tại trước khi cập nhật trạng thái. Kết quả: 12,000 ETH chảy ra từ pool thanh khoản, để lại một lỗ hổng đen ngòm trong hệ thống mà đội ngũ phát triển đã bỏ qua suốt 6 tháng audit.

Context Giao thức này tên là “LendFlow” – một nền tảng cho vay phi tập trung với TVL 500 triệu USD trên Arbitrum. Nó sử dụng cơ chế isolated pool, cho phép người dùng tạo các pool thanh khoản riêng với các tham số rủi ro tùy chỉnh. Hàm liquidate() được thiết kế để cho phép bất kỳ ai thanh lý các vị thế dưới chuẩn nhằm bảo vệ pool. Tuy nhiên, trong quá trình phát triển, nhóm đã quên validate địa chỉ debtor – nếu là address(0), contract sẽ thực hiện chuyển tiền từ pool sang attacker trước khi cập nhật số dư nợ. Đây là một lỗi cơ bản nhưng chết người, vì nó vi phạm nguyên tắc “checks-effects-interactions” mà mọi smart contract developer đều được dạy trong ngày đầu tiên.

Core Lỗ hổng này nằm ở dòng 247 của file LendFlowPool.sol. Trong hàm liquidate(address debtor, address liquidator, uint256 amount), contract kiểm tra điều kiện thanh lý bằng cách đọc vị thế của debtor. Nếu debtor == address(0), thì debtor.balance trả về 0, vượt qua kiểm tra isUnderCollateralized (vì 0 < threshold). Sau đó, contract thực hiện chuyển amount từ pool sang liquidator mà không cập nhật nợ, vì không có địa chỉ debtor hợp lệ để ghi nợ. Kết quả: pool mất tiền, không có khoản nợ nào được ghi nhận. Lỗi này có thể được exploit với chi phí gas rất thấp – chỉ 21,000 gas cho một transaction đơn giản.

Tôi đã phát hiện một lỗi tương tự vào năm 2021 khi audit một giao thức NFT marketplace. Khi đó, tôi đã chỉ ra rằng hàm mint() chấp nhận address(0) làm to, dẫn đến việc mint token vào địa chỉ null và không thể kiểm soát. Nhưng LendFlow còn nghiêm trọng hơn, vì nó liên quan đến việc chuyển tiền thực tế. Điểm mấu chốt là: bất kỳ hàm nào nhận tham số địa chỉ đều phải có kiểm tra require(debtor != address(0)). Đây là một quy tắc đơn giản nhưng bị bỏ qua do áp lực thời gian hoặc thiếu kinh nghiệm.

Contrarian Angle Nhiều người cho rằng audit là đủ để ngăn chặn các lỗi như vậy. Nhưng thực tế, LendFlow đã trải qua 3 vòng audit từ các công ty uy tín, bao gồm cả một công ty hàng đầu thế giới. Tại sao họ lại bỏ sót? Lý do là: các auditor thường tập trung vào logic chính (tính lãi, oracle, reentrancy) mà bỏ qua các edge case đơn giản. Họ giả định rằng đội ngũ phát triển đã cơ bản validate đầu vào. Điểm mù thực sự không nằm ở code, mà nằm ở quy trình: không có ai đứng ra kiểm tra các giả định cơ bản nhất. Đây là một bài học đắt giá cho toàn ngành: đừng bao giờ tin tưởng vào bất kỳ đầu vào nào, kể cả từ chính người dùng hợp lệ.

Khi Dữ Liệu Đầu Vào Thiếu: Bài Học Từ Một Lỗ Hổng DeFi Nghiêm Trọng

Takeaway Sự cố LendFlow không phải là lỗi của một cá nhân, mà là lỗi của hệ thống phát triển thiếu kỷ luật. Trong thị trường giảm hiện tại, khi TVL co lại 40% và các dự án đang chạy đua để giữ chân người dùng, những lỗi cơ bản như thế này sẽ trở thành “cái chết đột ngột” cho bất kỳ giao thức nào. Câu hỏi đặt ra là: liệu DeFi có thể tồn tại nếu các team vẫn coi việc kiểm tra address(0) là “không cần thiết”? Tôi nghĩ câu trả lời đã rõ ràng – nếu không thay đổi, chúng ta sẽ còn chứng kiến nhiều vụ hack hơn nữa, và lần tới có thể là 100,000 ETH.

Sợ & Tham

71

Tham lam

Tâm lý thị trường

Chỉ số mùa altcoin

41

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
$78,772.9
1
Ethereum ETH
$2,496.14
1
Solana SOL
$101.1
1
BNB Chain BNB
$703.2
1
XRP Ledger XRP
$1.41
1
Dogecoin DOGE
$0.0869
1
Cardano ADA
$0.2093
1
Avalanche AVAX
$7.36
1
Polkadot DOT
$0.8718
1
Chainlink LINK
$11.55

🐋 Theo dõi cá voi

🔵
0xa288...64d6
1 ngày trước
Stake
4,173,503 USDT
🔴
0x9429...2fa7
5 phút trước
Chuyển ra
3,566.51 BTC
🔵
0x4540...d908
12 giờ trước
Stake
4,249,699 USDT