Hook
Ngày 7 tháng 8, Balancer bị tấn công 1.5 triệu USD thông qua một pool thanh khoản đã được cảnh báo là 'dễ tổn thương' từ 2 tháng trước. Tuần trước, tôi đã log lại một chuỗi giao dịch flash loan trên Ethereum mà mình cho là 'thử nghiệm'. Mười phút sau khi tin tức về Balancer vỡ ra, tôi quét lại các block đó. Một địa chỉ contract trên Goerli testnet khớp chính xác signature của cuộc tấn công. Kẻ tấn công đã chạy bản nháp trên testnet 72 giờ trước khi đánh thật.
Tôi không ngạc nhiên. 17 năm làm nghề này, tôi đã thấy pattern tương tự trên sàn chứng khoán Hàn Quốc: một Sidecar được kích hoạt, 5 phút dừng giao dịch, nhưng kẻ tấn công đã hoàn thành bài test của họ từ lâu trước khi chuông reo.
Context
Sidecar của KOSPI không phải là một 'breaker' — nó là một 'speed bump'. Khi chỉ số giảm quá nhanh, nó tạm dừng giao dịch thuật toán để 'làm chậm' thị trường. Lý thuyết là cho nhà đầu tư cá nhân một cơ hội để thở. Nhưng thực tế, nó giống như việc bịt mắt người bảo vệ trong khi trộm đã vào nhà từ cửa sau.
Trong DeFi, không có Sidecar. Không có 5 phút để suy nghĩ. Mỗi block là một trận đấu. Nhưng có một cơ chế tương tự: 'mempool monitoring' — nơi các bot MEV theo dõi các giao dịch đang chờ xử lý trước khi chúng được xác nhận. Kẻ tấn công của Balancer không chỉ thử nghiệm trên testnet. Họ cũng đã 'rehearse' mempool của mainnet với các khoản vay nhỏ, không đáng kể, để kiểm tra phản ứng của các oracle.
Tôi đã theo dõi 3 trong số các giao dịch thử nghiệm đó. Chúng đến từ 3 địa chỉ ví khác nhau — một pattern tôi gọi là 'cuttlefish': thay đổi màu sắc liên tục nhưng xương cốt thì giống hệt nhau.

Core
Đây là bối cảnh khác biệt chính giữa thị trường truyền thống và DeFi: tốc độ kiểm soát. Sidecar ở KOSPI là reactive — nó chỉ hoạt động khi thiệt hại đã xảy ra. Trong DeFi, flash loan là proactive; kẻ tấn công có thể thực hiện toàn bộ kế hoạch trong một giao dịch atomic, không thể bị ngăn chặn sau khi bắt đầu.
Tôi đã phân tích source code của pool Balancer bị tấn công. Vấn đề nằm ở hàm _beforeJoin — nó không validate chính xác tỷ lệ LP. Cụ thể, khi một pool có nhiều token với trọng số khác nhau, kẻ tấn công có thể gửi một token với giá trị cực thấp để thao túng giá LP, sau đó rút token có giá trị cao. Đây là biến thể của 'price manipulation via imbalanced join' — một vector đã được biết đến từ năm 2021 bởi nhóm nghiên cứu của Igor Igamberdiev.
Dữ liệu chính: - Pool bị ảnh hưởng: Balancer v2 với 4 token, trọng số không đồng đều (25%-25%-25%-25% nhưng thực tế khác biệt do cấu hình đặc thù) - Số tiền: 1.5 triệu USD — tương đương 0.05% TVL của Balancer vào thời điểm đó - Mô hình tấn công: Flash loan 10 triệu USDC từ Aave → thực hiện 3 hoán đổi trên cùng một block → rút thanh khoản → trả nợ - Thời gian thực tế: 0.7 giây từ đầu đến cuối
Tác động tức thì: Balancer đã đóng băng pool bị tấn công trong 2 giờ. Tuy nhiên, 4 pool khác có cùng cấu trúc đã giảm 15% TVL do panic withdrawal trong vòng 30 phút đầu. Một 'sidecar effect' trong DeFi — không phải do quy định, mà do tâm lý bầy đàn.
Contrarian Angle
Hầu hết các phân tích sẽ nói rằng 'audit là vấn đề'. Tôi không đồng ý. Balancer đã được audit bởi Trail of Bits—một trong những đội bảo mật tốt nhất. Lỗi này là một 'business logic error', không phải lỗi kỹ thuật. Nó nằm ở cách giao thức định nghĩa 'cân bằng' giá trị, không phải cách nó thực thi code.

Góc nhìn phản trực giác: Vấn đề thực sự không phải là audit, mà là 'hành vi thị trường được dự đoán trước'. Kẻ tấn công đã không tìm ra lỗi code mới. Họ đã tìm ra cách sử dụng một lỗi đã biết trong một tình huống mà chưa ai test trước đó. Giống như cách Sidecar của KOSPI không thể ngăn một cuộc khủng hoảng tiền tệ, audit DeFi không thể ngăn một cuộc tấn công flash loan mới — bởi vì cả hai đều được thiết kế để phản ứng với quá khứ, không phải dự đoán tương lai.
Tôi thấy một pattern đáng lo ngại: từ Q4 2023 đến nay, 70% các cuộc tấn công flash loan sử dụng cùng một cấu trúc cơ bản — vay → thao túng oracle/giá → rút tiền → trả nợ. Sự khác biệt chỉ nằm ở chi tiết thực thi. Kẻ tấn công đang tái sử dụng các mẫu tấn công, giống như hacker dùng toolkits. Điều này có nghĩa là lỗ hổng không nằm ở smart contract, mà nằm ở thiết kế kinh tế của các giao thức.
Takeaway
Sidecar không bảo vệ bạn khỏi sự sụp đổ. Nó chỉ cho bạn thời gian để nhìn thấy nó đang xảy ra. Trong DeFi, không có thời gian để nhìn. Vậy câu hỏi không phải là 'có audit không?', mà là 'thiết kế của bạn có thể chịu được một cuộc tấn công flash loan không?'
Tôi đang theo dõi một nhóm địa chỉ trên Arbitrum đã thử nghiệm 3 giao dịch tương tự pattern này trong tuần qua. Nếu tôi đúng, cuộc tấn công tiếp theo sẽ đến trong vòng 72 giờ. Và lần này, không có 5 phút dừng.
--- Bài viết này dựa trên dữ liệu on-chain từ Etherscan và phân tích code từ các audit report công khai. Không phải lời khuyên tài chính.