Trong bảy ngày qua, NeuralLend mất 41% tổng giá trị khóa (TVL). Không có cuộc tấn công nào xảy ra. Không có oracle bị khai thác. Không có lệnh thanh lý hàng loạt nào được kích hoạt bởi một vụ flash loan. Các nhà cung cấp thanh khoản (LP) chỉ đơn giản rời đi. Không phải vì hoảng loạn, mà vì họ đọc được whitepaper. Họ phát hiện ra rằng mô hình lãi suất mà đội ngũ dự án ca ngợi là 'tự điều chỉnh theo thị trường' thực chất là một hàm số học được khởi tạo với một tham số tùy ý. Tôi đã dành bốn tuần để audit giao thức này. Đây là những gì tôi tìm thấy.
NeuralLend tự giới thiệu là một nền tảng cho vay phi tập trung sử dụng 'trí tuệ nhân tạo' để định giá tài sản thế chấp trong thời gian thực. Họ deploy trên Ethereum và ba sidechain, hợp đồng thông minh được audit bởi hai công ty an ninh có tên tuổi. TVL đạt đỉnh 800 triệu đô la chỉ sau ba tháng ra mắt. Các quỹ đầu tư mạo hiểm đã đầu tư 45 triệu đô la. Nhưng khi tôi đọc dòng mã thứ 1.204 trong hợp đồng thanh khoản, tôi nhận ra rằng lớp phân tích rủi ro mà họ gọi là 'AI' thực chất là một chuỗi các mô hình hồi quy tuyến tính có trọng số. Một mô hình được đào tạo trên dữ liệu từ năm 2018 đến 2021, trước cả khi thị trường chứng kiến sự sụp đổ của nhiều giao thức cho vay lớn.
Bối cảnh quan trọng ở đây là giao thức này đã quá phụ thuộc vào một khái niệm: thanh khoản là sự an toàn. Họ đánh đồng độ sâu của thanh khoản với tính bền vững của hệ thống. Nhưng một hệ thống cho vay không bền vững bởi thanh khoản của chính nó, mà bởi khả năng thanh lý tài sản thế chấp mà không gây ra hiệu ứng domino. Khi tôi kiểm tra các tham số rủi ro, tôi thấy rằng tỷ lệ thế chấp tối đa (LTV) cho các tài sản biến động như token quản trị của chính NeuralLend được đặt ở mức 65%. Con số này dựa trên một mô hình biến động lịch sử có độ tin cậy 99% trong một khoảng thời gian yên tĩnh. Nhưng thị trường hiện tại đang đi ngang, và đi ngang tạo ra sự tự mãn. Đi ngang không phải là sự vắng mặt của rủi ro; đó là sự tích lũy của rủi ro tiềm ẩn. Tôi đã mô phỏng một kịch bản trong đó giá token NeuralLend giảm 18% trong ba khối liên tiếp. Mô hình AI dự đoán biến động là 5% và không kích hoạt việc điều chỉnh LTV. Kết quả: hơn 12 triệu đô la nợ xấu không có tài sản thế chấp đủ.
Cốt lõi của vấn đề nằm ở kiến trúc hai lớp: lớp định giá tài sản thế chấp và lớp thanh lý. Lớp định giá sử dụng một chuỗi oracle trung bình có trọng số, nhưng trọng số được điều chỉnh bởi một hợp đồng quản trị có quyền thay đổi mà không cần thông báo trước. Trong quá trình audit, tôi phát hiện rằng quyền điều chỉnh trọng số không được kiểm soát bởi một địa chỉ đa chữ ký thông thường, mà bởi một hợp đồng 'cập nhật khẩn cấp' có thể được kích hoạt bởi bất kỳ ai nắm giữ 1% tổng nguồn cung token. Điều này tạo ra một vectơ tấn công hoàn toàn mới: một kẻ tấn công có thể mua 1% token trên thị trường mở (khoảng 2,4 triệu đô la), kích hoạt cập nhật khẩn cấp, thay đổi trọng số oracle để định giá thấp tài sản thế chấp, sau đó kích hoạt thanh lý hàng loạt và mua lại tài sản thế chấp với mức chiết khấu. Chi phí cho cuộc tấn công này là 2,4 triệu đô la; lợi nhuận tiềm năng là 14 triệu đô la.
Lớp thanh lý càng làm cho vấn đề trở nên trầm trọng hơn. NeuralLend sử dụng một hệ thống thanh lý dựa trên 'đấu giá Hà Lan' với thời gian đấu giá cố định là 30 phút. Nhưng trong thị trường đi ngang, thanh khoản trên các sàn giao dịch phi tập trung cho các tài sản ít phổ biến thường rất mỏng. Khi một vị thế bị thanh lý, nó sẽ bán ra trên một pool thanh khoản duy nhất, tạo ra trượt giá lớn. Trượt giá này làm giảm giá thị trường, kích hoạt thêm các vị thế thanh lý khác, tạo ra một vòng xoáy giảm giá. Trong báo cáo audit dài 70 trang của tôi, tôi đã mô phỏng kịch bản này với dữ liệu on-chain thực tế trong 90 ngày qua. Kết quả: một vụ thanh lý duy nhất trị giá 5 triệu đô la có thể gây ra hiệu ứng domino phá hủy 18% giá trị tài sản thế chấp trong vòng chưa đầy 10 phút. Tôi đã gửi báo cáo lên GitHub vào ngày 14 tháng 3. Đội ngũ NeuralLend phản hồi bằng cách từ chối sửa lỗi và tuyên bố rằng 'mô hình đã được kiểm tra trong nhiều điều kiện thị trường khác nhau'.
Nhưng có một góc nhìn phản trực giác mà phe bò của NeuralLend có thể đưa ra: trong thị trường đi ngang, sự kém thanh khoản thực sự là một công cụ bảo vệ. Khi thị trường không biến động mạnh, các khoản thanh lý sẽ hiếm khi xảy ra, và vì vậy các lỗ hổng trong lớp định giá không bao giờ được kích hoạt. Họ có thể lập luận rằng mọi giao thức cho vay trong DeFi đều có những khiếm khuyết lý thuyết tương tự, và điều quan trọng là khả năng thực thi trong thực tế. Trong một khoảng thời gian dài không có biến động, lỗ hổng này chỉ tồn tại trên giấy tờ. Nhưng lỗ hổng mà tôi tìm thấy không phải là một vấn đề lý thuyết. Nó là một vấn đề của thời điểm. Dữ liệu on-chain cho thấy rằng số dư nợ của các vị thế lớn nhất trong giao thức đã tăng 23% trong hai tuần qua mà không có tài sản thế chấp mới nào được thêm vào. Có người đang tích lũy vị thế dựa trên một mô hình định giá mà họ biết là có thể điều chỉnh. Đây không phải là một vấn đề của thuật toán, mà là vấn đề của trò chơi xã hội. Nếu tôi là một nhà giao dịch tinh vi, tôi sẽ không cần phải tấn công giao thức bằng kỹ thuật. Tôi chỉ cần chờ một cú sốc nhỏ trên thị trường để kích hoạt thanh lý, và sau đó tôi sẽ mua tài sản thế chấp với mức chiết khấu. Thị trường đi ngang không phải là một trạng thái tĩnh. Nó là một trạng thái tích lũy áp lực.
Câu hỏi quan trọng mà tôi đặt ra trong báo cáo của mình không phải là 'liệu NeuralLend có thể bị tấn công không'. Đó là: tại sao chúng ta tiếp tục xây dựng các hệ thống tài chính mà sự an toàn của chúng phụ thuộc vào giả định rằng thị trường sẽ không biến động? Tất cả các giao thức cho vay lớn nhất trong không gian này đều có các tham số rủi ro được khởi tạo với một sự tùy tiện đáng kinh ngạc. Họ sử dụng dữ liệu lịch sử để xác định mức thanh lý, nhưng dữ liệu lịch sử không thể dự đoán các sự kiện không lường trước. Khi tôi audit SushiSwap vào năm 2020, tôi phát hiện ra một lỗ hổng tương tự: các nhà phát triển đã đặt trọng số oracle dựa trên thanh khoản của các pool vào một ngày cụ thể, và điều đó có thể bị thao túng thông qua các khoản vay flash. Họ đã sửa nó trong 48 giờ sau khi tôi công bố. Nhưng NeuralLend đã chọn cách không sửa. Họ chọn cách tấn công vào người đưa tin.
Sau bốn tuần audit, tôi không tin rằng đội ngũ NeuralLend là những kẻ lừa đảo. Tôi tin rằng họ là những người lạc quan ngây thơ trong một hệ thống không tha thứ cho sự ngây thơ. Họ đã xây dựng một mô hình hoạt động hoàn hảo trong điều kiện lý tưởng, nhưng họ không xây dựng được một mô hình xử lý được các điều kiện phi lý. Trong một thị trường đi ngang, việc có một danh sách các rủi ro tiềm ẩn mà bạn chưa từng trải qua là một điều xa xỉ. Nhưng thị trường đi ngang cuối cùng cũng sẽ kết thúc. Câu hỏi là chúng ta sẽ sử dụng thời gian tích lũy này để củng cố các hệ thống của mình hay để chờ đợi một vụ nổ tiếp theo? Nhà đầu tư có hai sự lựa chọn: họ có thể tin rằng các giao thức DeFi đã đủ trưởng thành để chống chịu mọi cú sốc, hoặc họ có thể bắt đầu yêu cầu các giao thức phải chứng minh khả năng xử lý các tình huống cực đoan trước khi gửi tiền vào đó. Tôi đã lựa chọn của mình cách đây tám năm, khi tôi mất 500 đô la vào một dự án ICO mà tôi đã phát hiện ra lỗ hổng trước khi nó sụp đổ. Tôi không bao giờ tin vào sự an toàn của việc không có biến động nữa. Bởi vì trong thị trường đi ngang, những con sóng lớn nhất thường đến từ những nơi mà bạn không thấy.


