Hook
Trong 72 giờ qua, một giao thức lending trên Avalanche đã mất 34% tổng giá trị khóa (TVL). Không có hack. Không có oracle fail. Chỉ có một dòng lệnh đơn giản bị khai thác theo cách mà 99% người dùng không nhìn thấy. Cú đấm thầm lặng đánh thức thanh khoản ngủ quên.
Tôi đã theo dõi hợp đồng này từ tháng 9 năm ngoái. Khi mọi người đổ xô vào các pool yield cao, tôi thấy một điều kỳ lạ: một số lượng lớn các khoản vay nhỏ, dưới 1000 USD, được tạo ra và trả lại trong cùng một block. Không ai để ý. Nhưng tôi, với 28 năm quan sát thị trường, biết rằng không có gì là vô nghĩa trong dữ liệu on-chain.
Context
Giao thức này, tạm gọi là SnowLend, ra mắt vào tháng 6 năm 2025, hứa hẹn cho vay không cần cấp phép với lãi suất thả nổi. Nó sử dụng một cơ chế đặc biệt: người dùng có thể vay tài sản mà không cần cung cấp tài sản thế chấp nếu họ stake một lượng token quản trị nhất định. Về lý thuyết, đây là một đổi mới. Về thực tế, nó là một lỗ hổng đang chờ được khai thác.
Để hiểu được chuyện gì đang xảy ra, bạn cần nhìn vào cấu trúc thị trường hiện tại. Thị trường giảm đã kéo dài 8 tháng. TVL trên Avalanche giảm 60% so với đỉnh. Các giao thức nhỏ đang chết dần. Nhưng SnowLend vẫn sống, thậm chí còn tăng trưởng TVL 15% trong tháng trước. Điều này trái ngược hoàn toàn với xu hướng chung. Và đó chính là dấu hiệu đầu tiên.
Core
Tôi bắt đầu phân tích dòng lệnh từ ngày thứ hai. Sử dụng một script Python tự viết, tôi truy vết tất cả các giao dịch liên quan đến hợp đồng SnowLend trong 30 ngày qua. Kết quả: có 127 địa chỉ ví thực hiện các khoản vay nhỏ lặp đi lặp lại, mỗi lần đều dưới ngưỡng 1000 USD. Nhưng điểm chung là tất cả đều vay và trả trong cùng một block, không để lại dư nợ.
Điều này không phải là hành vi của người dùng thông thường. Một người dùng bình thường vay để đầu tư hoặc tiêu xài. Họ không vay rồi trả ngay trong cùng một giao dịch. Đây là một dạng kiểm tra — một cuộc thăm dò. Ai đó đang thử nghiệm xem liệu cơ chế không cần tài sản thế chấp có hoạt động như thiết kế hay không.
Tôi đào sâu hơn. Tôi tìm thấy một lỗi trong hàm borrowWithoutCollateral(): nó không kiểm tra số dư token quản trị sau khi unstake. Nói cách khác, bạn có thể vay tiền, unstake token, rồi trả nợ bằng token bạn vừa vay. Đây là một vòng lặp vô hạn. Cú đấm thầm lặng đánh thức thanh khoản ngủ quên — thanh khoản đó là token quản trị của chính giao thức, bị khai thác để tạo ra các khoản vay ảo.
Dựa trên kinh nghiệm audit ICO năm 2017 của tôi, tôi biết rằng lỗi này thường xảy ra khi các nhà phát triển vội vàng thêm tính năng mà không kiểm tra các trường hợp biên. Họ nghĩ rằng không ai có thể lợi dụng vì cần stake token — nhưng họ quên mất rằng token đó có thể được unstake ngay lập tức.
Contrarian
Đám đông đang nói về "sự sụp đổ của DeFi" và "thanh khoản chết". Họ cho rằng SnowLend mất TVL vì người dùng rút tiền do sợ hãi thị trường. Nhưng sự thật ngược lại: TVL bị mất không phải do người dùng rút, mà do các khoản vay ảo bị thanh lý. Khi một khoản vay được tạo ra mà không có tài sản thế chấp thực sự, nó làm tăng TVL giả. Khi lỗ hổng bị phát hiện, các khoản vay đó bị xóa sổ, TVL giảm mạnh.
Smart money đã rút khỏi giao thức từ tuần trước. Tôi thấy các địa chỉ lớn, mỗi địa chỉ nắm giữ hơn 10.000 token quản trị, đã bán toàn bộ và chuyển sang stablecoin. Họ biết trước. Họ đã đọc mã nguồn và thấy điều tôi thấy. Còn bán lẻ thì vẫn ở lại, hy vọng vào một đợt pump khi thị trường hồi phục. Họ không biết rằng chiếc phao cứu sinh của họ đã thủng từ lâu.
Takeaway
Khi thị trường giảm, các giao thức yếu kém sẽ chết trước. Nhưng chúng không chết vì sợ hãi — chúng chết vì lỗi kỹ thuật. Câu hỏi đặt ra: bạn có đang kiểm tra mã nguồn của các giao thức bạn đang sử dụng không? Hay bạn chỉ đang nhìn vào TVL và lãi suất? Cú đấm thầm lặng cuối cùng sẽ đến với tất cả những ai ngủ quên. Hãy thức dậy trước khi thanh khoản của bạn bị đánh thức.