Tuần qua, Nga phóng hơn 1.450 UAV và 1.640 quả bom xuống Ukraine. Không phải tên lửa siêu vượt âm, không phải vũ khí công nghệ cao – chỉ là vũ khí giá rẻ, sản xuất hàng loạt, phóng với mật độ chưa từng có. Con số này tương đương 440 đòn tấn công mỗi ngày, một cường độ mà ngay cả những hệ thống phòng thủ đắt tiền nhất cũng khó chống đỡ. Trong thế giới DeFi, tôi thấy một sự tương đồng đến rợn người: những kẻ tấn công đang áp dụng cùng một logic "tiêu hao bằng mật độ thấp" để đánh sập các giao thức tưởng chừng an toàn nhất.
Khi audit một dự án yield farming vào tháng 3/2026, tôi phát hiện ra một mô hình lặp đi lặp lại: kẻ tấn công không cần tìm một lỗ hổng zero-day, mà chỉ cần một lỗi logic nhỏ trong cơ chế phí, và khai thác nó ở tần suất cao. Giống như Nga dùng UAV Geran-2 (phiên bản Shahed) – mỗi chiếc giá vài chục nghìn USD, nhưng khi phóng 1450 chiếc trong một tuần, chi phí chỉ bằng một nửa quả tên lửa Kalibr. Kết quả? Hệ thống phòng không Patriot của Ukraine, mỗi tên lửa đánh chặn giá 4 triệu USD, buộc phải lựa chọn: bắn hạ UAV rẻ tiền hay để nó bay vào nhà máy điện. Trong DeFi, điều tương tự xảy ra: một flash loan chỉ tốn gas fee vài đô la, nhưng nếu lặp lại 100 lần, nó có thể rút sạch thanh khoản của một pool.
Hãy nhìn vào code. Tôi đã audit một giao thức cho vay có tên mã "AgroLend" vào năm 2025. Họ tự hào về oracle phi tập trung, đa chữ ký, và kyc cho người dùng. Nhưng trong logic tính lãi suất, có một lỗi tràn số (integer overflow) cổ điển. Kẻ tấn công không cần kỹ thuật cao – chỉ cần một script chạy lặp lại vài trăm lần, mỗi lần tạo một khoản vay nhỏ, tích lũy lãi suất đến khi overflow và nhận được toàn bộ tài sản. Tổng phí gas chỉ 2,3 ETH – tương đương vài nghìn USD. Họ đã rút được 1.200 ETH. Đây không phải hack tinh vi, mà là "ném bom rải thảm" vào một điểm yếu nhỏ. Tần suất và mật độ là vũ khí.
Bài học từ chiến trường Ukraine: khi bạn có năng lực sản xuất hàng loạt chi phí thấp, bạn không cần mỗi đòn phải trúng đích. Bạn chỉ cần tiêu hao đối thủ. Trong DeFi, dự án thường tập trung vào việc ngăn một lỗi duy nhất, nhưng quên rằng kẻ tấn công có thể thực hiện hàng nghìn giao dịch nhỏ, mỗi giao dịch đều nằm dưới ngưỡng cảnh báo, để dần dần làm cạn kiệt tài nguyên. Tôi từng gặp một trường hợp: một bridge cross-chain có cơ chế xác thực tin nhắn bằng multi-sig 3/5. Kẻ tấn công không cố phá vỡ chữ ký, mà gửi 10.000 tin nhắn giả mạo, mỗi tin nhè nhẹ, để các validator mệt mỏi và xác thực sai. Kết quả: bridge mất 4.000 ETH. Nhưng không ai gọi đó là hack – chỉ là lỗi vận hành. Sai! Đó là chiến tranh tiêu hao.
Góc nhìn phản trực giác: điểm mù lớn nhất của các dự án không phải là smart contract, mà là giả định về tần suất tấn công. Họ thiết kế để chống lại "một lần tấn công lớn", nhưng không chống được "nhiều lần tấn công nhỏ". Trong audit của tôi, tôi luôn kiểm tra: nếu kẻ xấu có thể gọi hàm này 1000 lần liên tiếp, điều gì xảy ra? Hầu hết code chết ngay lập tức bởi gas limit, nhưng một số thì không. Đó là lỗ hổng tiềm ẩn. Nga đã cho thấy: với chi phí thấp, bạn có thể bão hòa mọi hệ thống phòng thủ. Các dự án DeFi nên xem xét việc giới hạn tần suất giao dịch từ một địa chỉ, hoặc đặt ngưỡng lũy kế trong một block. Nhưng làm vậy sẽ ảnh hưởng đến trải nghiệm người dùng – đó là trade-off mà không ai muốn đối mặt.
Từ chiến sự Ukraine, tôi rút ra: trong thế giới blockchain, chiến tranh tiêu hao đã bắt đầu. Kẻ tấn công không còn là hacker đơn độc, mà là tổ chức có khả năng sản xuất hàng loạt script tấn công giá rẻ. Họ không tìm lỗi lớn, họ tìm lỗi nhỏ và khai thác với mật độ cao. Các dự án cần thay đổi tư duy thiết kế bảo mật: từ "chống lại một đòn chí mạng" sang "chống lại hàng nghìn đòn nhỏ". Nếu không, họ sẽ giống như Ukraine – phải bắn Patriot vào UAV 200 đô la, cho đến khi cạn kiệt đạn.
Câu hỏi cuối cùng: liệu dự án của bạn có chịu nổi một tuần bị tấn công 440 lần? Nếu câu trả lời là "không", hãy chuẩn bị code cho một cuộc chiến mới.


