Tường tận vụ tấn công DeFi tinh vi khiến Aave vướng phải nợ xấu
Aave là một trong những protocol lớn nhất thị trường DeFi hiện tại với TVL ở mức 5 tỉ USD. Aave đóng vai trò then chốt, đặt nền móng cho sự phát triển của các dự án Lending sau này.
Gần đây Aave đã gặp phải một cuộc tấn công dẫn tới nợ xấu, cho dù kẻ tấn công đã không đạt được ý muốn, đây vẫn là một sự kiện giúp người dùng hiểu hơn cách hoạt động của thị trường DeFi. Về phía Aave, họ vẫn cần phải cập nhật các sản phẩm của mình để đề phòng trường hợp này trong tương lai.
Key Insights:
- Kẻ tấn công Mango Markets dẫn tới nền tảng này thiệt hại hơn 100 triệu USD - Avi đã nhắm tới Aave.
- Avi nêu ra kế hoạch tấn công nợ xấu bằng cách vay các token có thanh khoản kém với khối lượng lớn.
- Kế hoạch tấn công của Avi khá tinh vi và phức tạp khiến Aave phải chịu một khoản nợ xấu, cũng như phải thực hiện các cập nhật liên tục để đề phòng rủi ro trong tương lai.
Sơ lược về Aave
Aave là dự án lớn thuộc mảng Lending hoạt động với hình thức Pool-to-peer, người cho vay và người vay cùng tham gia và thực hiện các giao dịch vay qua Lending Pool. Aave có 2 hoạt động chính:
- Lending - Borrowing: Các khoản cho vay vô hạn có tài sản đảm bảo với tỷ lệ thay đổi hoặc ổn định, không tính phí, chỉ vay theo lãi suất.
- Flashloan: Vay không cần tài sản thế chấp (uncollateralized) với điều kiện số tiền vay phải được trả lại cho nền tảng cho vay trong cùng một giao dịch.
Aave hiện tại đang hoạt động multi-chain và đã ra mắt 3 phiên bản khác nhau. Tuy nhiên, phiên bản V3 chưa được triển khai trên Ethereum.
Aave V1:
- Ethereum Market (thị trường chính) với các tài sản ERC-20.
- Uniswap Market, với các tài sản là LP token của Uniswap V1.
Aave V2:
- Ethereum Market (thị trường chính) với các tài sản ERC-20.
- Polygon & Avalanche Market, với các tài sản trên Polygon và Avalanche.
Aave V3:
- Portal: Tích hợp các bridge để tài sản của người dùng có thể dễ dàng lưu chuyển liền mạch giữa các thị trường Aave V3 trên các chain khác nhau.
- eMode: Cho phép người vay có thể đạt được khả năng vay cao nhất với tài sản thế chấp của chính họ.
- Isolation Mode: Các money market dành cho các tài sản mới trên Aave V3 chỉ cho phép người dùng vay đến mức trần nợ cụ thể.
Một trong những điểm nổi bật của Aave là dự án này hỗ trợ nhiều loại tài sản, chỉ tính riêng Aave V2 trên Ethereum đã có 37 loại tài sản khác nhau được hỗ trợ so với 16 tài sản trên Compound.
Khởi nguồn của vụ tấn công Aave
Kẻ tấn công Aave là một người dùng có tài khoản Twitter là @avi_eisen, tên thật là Avraham Eisenberg, cũng chính là người đã thao túng giá và tấn công Mango Markets, dẫn đến nền tảng này thiệt hại khoảng 100 triệu USD.
Vụ tấn công được biết tới rộng rãi khi Avi vay 83 triệu CRV từ Aave với khoản deposit 57 triệu USDC. Nhưng thực tế Avi đã lên kế hoạch từ trước khi nhìn ra lỗ hổng có thể khiến nền tảng Aave gặp tình trạng nợ xấu, CRV đơn giản là token được chọn khi đáp ứng đủ các yếu tố có thể dẫn tới nợ xấu của Avi.
Trước đó, Avi đã từng gợi ý kế hoạch tấn công trên lý thuyết với số vốn rất lớn.
I've been advised aave is perfectly safe so here's the potential trading strategy. Not financial or legal advice, but if you do make 9 figures on this feel free to send a tip
— Avraham Eisenberg (@avi_eisen) October 19, 2022
Note that starting with more initial capital increases success odds and profit percentage pic.twitter.com/HKAF7Y5ogM
Có thể hiểu như sau:
- Nạp lên Aave và cho vay 100 triệu USDC.
- Với 87% LTV cho USDC, vay ra 85 triệu giá trị REN.
- Chuyển sang ví B, deposit 85 triệu giá trị REN, với LTV 60%, vay ra 50 triệu USDC.
- Với 50 triệu USDC tiếp tục sử dụng để mua REN, vì REN chỉ có vốn hoá khoảng 100 triệu USD, khối lượng mua này sẽ khiến giá tăng ít nhất là x2 tới x10.
- Việc mua vào số lượng lớn REN sẽ làm token này thiếu thanh khoản ngoài thị trường. REN tăng giá cũng làm khoản vay ở bước 1 bị thanh lý, tuy nhiên Aave sẽ không thể thanh lý khoản vay do vấn đề thanh khoản và tài khoản B với vị thế long margin sẽ được hưởng lợi và có thể vay thêm x2 - x10 số vốn ban đầu.
- Đồng thời Avi cũng có thể short AAVE trên các thị trường khác bởi vì Aave sẽ phải bán token này để bù vào khi nợ xấu xảy ra với cơ chế Safety Module.
Câu hỏi đặt ra: Supply market trên của REN trên Aave chỉ có khoảng 3 triệu USD, vậy làm thế nào để vay được khoảng 85 triệu USD token REN?
Avi đã sử dụng vòng lặp: Nạp 100 triệu USDC → Vay ra 3 triệu REN → Gửi sang ví B → Ví B tiếp tục supply REN trên Aave → Ví A tiếp tục vay số tiền đó gửi cho B và lặp lại hành động này.
Aave không thể phân biệt đâu là khoản deposit REN mới và đâu là khoản REN của chính nền tảng này, ví A vẫn có thể liên tục vay REN và Aave vẫn ghi nhận số tiền vay đó, đồng thời tạo nên vị thế long/short với khối lượng rất lớn.
Đây chính là lỗ hổng dẫn tới việc Aave có thể bị tấn công, số USDC ở ví A không thể bị thanh lý và số tiền ở ví B nhận về lợi nhuận. Nếu sử dụng vốn để mua REN thuận lợi, tạo thành đợt tăng giá lý tưởng 10x, khoản deposit của ví B sẽ có giá trị 850 triệu USD và có thể vay ra 500 triệu USD chỉ bằng số vốn 100 triệu ban đầu.
Tìm hiểu thêm: Phân tích mô hình hoạt động Aave
Cuộc tấn công Aave diễn ra như thế nào?
Tại sao chọn CRV?
Sau khi nêu kế hoạch, một tháng sau Avi mới bắt đầu thực hiện “chiến lược trading" của mình. Tài sản được chọn lần này là CRV, tại sao lại như vậy?
Như chúng ta đã biết, CRV là token quản trị của Curve Finance, được các dự án săn lùng từ đó tạo nên Curve War. Hiểu đơn giản, holder của CRV stake và khoá CRV trong khoảng thời gian từ 1 tuần tới 4 năm để nhận lại token veCRV, sau đó sử dụng veCRV để quyết định phần thưởng mà các pool được nhận.
Tổng cung hiện tại của token là 1,820,680,573 CRV, tuy nhiên cung lưu thông chỉ ở mức 531,583,334 CRV, chiếm khoảng 29% tổng cung hiện tại và chiếm 16% tổng cung tối đa (max supply).
Trong đó, 20 ví top holder nắm giữ khoảng 85% tổng cung token hiện tại. Trong đó, có các holder lớn là các dự án DeFi nổi tiếng như Convex Finance, Frax…
→ CRV là token được nhiều bên lớn lock để nhận voting power và số lượng lưu thông bên ngoài khá ít, đồng thời cũng là một loại tài sản có thể sử dụng làm tài sản thế chấp trên Aave.
Thực hiện tấn công
Avi nhận thấy có một whale là Michael Egorov - founder của Curve Finance, đang cung cấp thanh khoản cho pool CRV 48 triệu USD giá trị token CRV bằng địa chỉ ví 0x7a16 với mức giá thanh lý vào khoảng 0.259 USD.
Địa chỉ ví có tên miền ponzishorter.eth (0x57e) của Avi đã liên tục nạp 40 triệu USDC vào nền tảng Aave, sau đó liên tục vay ra số lượng lớn CRV và đẩy lên các sàn giao dịch như OKX và Huobi để bán.
Avi tiếp tục nạp thêm USDC và vay thêm CRV, nâng tổng số CRV vay lên 92 triệu CRV (trị giá ~53 triệu USD).
Cộng đồng ban đầu cho rằng đây là một hoạt động bán khống CRV, nhắm tới founder của Curve và những người dùng khác đang vay trên Aave. Những lệnh bán CRV làm cho giá CRV giảm mạnh và làm cho ví Curve.fi Founder phải nạp thêm CRV để đảm bảo mức HF (health factor) an toàn.
Những người ủng hộ Curve và người dùng DeFi tỏ ra phẫn nộ trước hành động này và kêu gọi chung tay mua vào CRV để Avi không thể thực hiện thương vụ bán khống thành công. Thêm nữa, khi giá CRV gần mức 0.4 USD, Curve Finance đã cho ra mắt whitepaper của CRV Stablecoin.
Lúc này mọi thứ bắt đầu đổi chiều, giá CRV bắt đầu tăng ngược trở lại và khoản vay của Avi trên Aave bắt đầu bị thanh lý, hiện tượng short squeeze bắt đầu diễn ra càng làm giá CRV tăng. Cộng đồng đã nghĩ Avi đã hoàn toàn thất bại, tuy nhiên, đây mới chỉ là bắt đầu.
Mục đích thật sự
Avi đã từng short UST và LUNA, cũng đã từng thao túng giá làm Mango Markets thiệt hại hàng trăm triệu USD. Avi không giống như đang thực hiện thương vụ bán khống đơn thuần. Như đã giải thích với kế hoạch ban đầu, đối tượng chính Avi nhắm tới không phải CRV hay khoản thanh lý của Curve.fi Founder mà là Aave.
Avi tổng cộng đã gửi lên Aave khoảng 61 triệu USDC, tạo thành vị thế short với mức giá thanh lý vào khoảng 0.6. Mức giá này nhanh chóng bị vượt qua khi Curve ra whitepaper của stablecoin.
Avi là một trader lâu năm, sẽ không khoanh tay đứng nhìn số tiền mình bị thanh lý nếu đây thực sự là mục đích chính. Theo kế hoạch đề ra ban đầu, quy trình và mục đích thực sự của Avi được cho là như sau:
- Avi nạp USDC vào Aave, sử dụng số tiền này để vay ra CRV. Sau đó tiếp tục gửi CRV sang ví phụ và gửi lên Aave.
- Avi tiếp tục vay CRV bằng tài khoản ban đầu và lặp lại các hành động trên. Điều này tạo nên vị thế long/short khối lượng lớn với token không có nhiều thanh khoản là CRV.
- Avi khiêu khích cộng đồng, cho rằng mình đang tấn công vị thế của Curve.fi Founder. Cộng đồng phẫn nộ cộng thêm việc Curve ra whitepaper stablecoin, dẫn tới giá CRV tăng 50% trong một ngày mà Avi không cần dùng nhiều tiền.
- Giá CRV tăng quá mức 0.6, khoản vay ban đầu của Avi bị thanh lý. Vấn đề bắt đầu lộ diện.
- Để thanh lý vị thế short của Avi, Aave hoặc các liquidators sẽ phải sử dụng số tiền 60 triệu USDC thế chấp của Avi để mua lại token CRV ngoài thị trường. Tuy nhiên, CRV có thanh khoản mỏng ngoài thị trường, số token lưu hành on-chain lại càng ít.
- Điều này dẫn tới hoạt động thanh lý khoản vay ban đầu của Avi không thể hoạt động do không đủ có đủ CRV ngoài thị trường để mua lại và giá CRV sẽ tiếp tục tăng.
- Kết quả là Aave đã phải chịu các khoản nợ xấu, và có thể phải dùng tới Safety Module bán AAVE để bù khoản nợ xấu còn tài khoản phụ của Avi sẽ được hưởng lợi.
Kết quả sự việc
Về phía Avi
Tài khoản phụ của Avi sẽ được hưởng lợi khi có thể tạo vị thế long CRV. Ngoài ra, Avi có thể kiếm một khoản lời khác bằng cách long CRV và short AAVE trên các thị trường phái sinh khác (CEX).
Câu hỏi đặt ra là nếu mọi thứ diễn ra on-chain, ví nào là ví Avi đã gửi vào CRV. Đừng quên Avi đã gửi hơn 71 triệu CRV lên OKX, khi đó mọi người đều nghĩ là để bán tạo vị thế bán khống. Tuy nhiên, Avi cũng có thể gửi lên sàn giao dịch nhưng chưa hề bán CRV, sau đó rút từ sàn giao dịch về một ví khác mà không ai có thể biết và thực hiện kế hoạch.
Một giả thuyết nữa đặt ra là Avi sử dụng cách thức này để rửa tiền. Những ví có liên quan tới các vụ hack trước đó sẽ là ví mất tiền, những ví sạch mới sẽ là những ví take profit và Avi có thể dễ dàng rút tiền về tài khoản ngân hàng với những khoản lãi hợp lý.
→ Có thể thấy đây là một kế hoạch tinh vi và hiện tại chúng ta không có đủ dữ liệu để tracking thương vụ này của Avi thực chất là lỗ hay lãi. Tuy nhiên nếu so với kế hoạch ban đầu mà Avi đề ra, kết quả không được như mong đợi do giá CRV không pump như tính toán, short squeeze từ vị thế của Avi cũng không mạnh như dự kiến dẫn tới Aave vẫn có đủ thanh khoản.
Sự kiện ra mắt CRV stablecoin cũng làm cho founder của Curve không cần phải mua thêm CRV để đảm bảo vị thế. Nếu Avi có nhiều vốn hơn, vay với khối lượng lớn hơn nữa có thể mọi chuyện sẽ diễn biến theo chiều hướng xấu hơn nhiều.
Về phía Aave
Sự việc không diễn ra hoàn toàn theo ý định ban đầu của Avi, kết quả là khoản vay của Avi đã được thanh lý thành công. Tuy nhiên, Avi đã chứng minh mình đã phần nào đó đúng khi khoản thanh lý này để lại số nợ xấu là 2.64 triệu CRV (khoảng 1.75 triệu USD). Số tiền này chỉ tương đương <0.1% các khoản vay trên Aave.
Giá token AAVE quả thực đã giảm từ 54 USD xuống 49 USD khi sự kiện diễn ra, tuy nhiên token AAVE đã nhanh chóng hồi phục khi Aave vẫn có thể thành công xử lý khoản thanh lý.
Các cập nhật mới của Aave
Để phòng tránh các rủi ro như vậy trong tương lai, Aave đã có một vài đề xuất và cập nhật mới:
Trên thực tế, ngay sau khi Avi đăng tải kế hoạch lý thuyết tấn công nền tảng lending này, Aave đã thực hiện 5 AIP (Aave Improvement Proposal) để điều chỉnh các chỉ số rủi ro.
Trong đó, đáng chú nhất là cập nhật Risk Parameter Updates trên Aave V2 ETH. Cập nhật này ngay lập tức điều chỉnh giảm giới hạn thanh lý (liquidation threshold) và giảm tỉ lệ LTV (loan to value), thậm chí tạm dừng cho vay với những loại tài sản có nguy cơ bị tấn công và thanh khoản thấp như CVX, REN, BAL, ZRX…
Về phần nợ xấu còn dư trên nền tảng, thành viên cộng đồng Llama và Gauntlet đề xuất sử dụng Aave’s Treasury để bù đắp khoản nợ xấu này.
Mới nhất, Aave V2 trên Ethereum đã thông báo sẽ tạm dừng hoạt động thế chấp và cho vay với 17 token YFI, CRV, ZRX, MANA, 1INCH, BAT, sUSD, ENJ, GUSD, AMPL, RAI, USDP, LUSD, xSUSHI, DPI, renFIL, MKR vì lí do thanh khoản thấp và độ biến động cao.
Ngoài ra, Aave V3 sẽ sớm được triển khai mainnet trên Ethereum, nền tảng này sẽ có nhiều cập nhật về các chỉ số đo lường rủi ro cũng như các loại tài sản được hỗ trợ. Dù sao chúng ta có thể thấy Aave vẫn còn những cơ chế phòng ngừa rủi ro để đảm bảo mọi thứ đi đúng hướng.
Kết luận
Sự kiện tấn công vào Aave tưởng chừng như khó có thể xảy ra, tuy nhiên nó đã hoạt động, thậm chí với số vốn lớn hơn, Aave có thể sẽ phải chịu khoản nợ xấu khiến cả nền tảng sụp đổ. Đây là một case thú vị về cách hoạt động của thị trường DeFi. Dù sao Aave đã vượt qua cuộc tấn công này mà không tổn thất quá nhiều, các cơ chế phòng ngừa rủi ro vẫn đang sẵn sàng.