Tôi không tin vào EigenLayer; chỉ có mã nguồn mới là bằng chứng thực sự.
Đặng Dũng
95% các giao thức restaking mà tôi kiểm toán đều có chung một điểm yếu: họ bán sự an toàn như một hàng hóa, nhưng không ai chứng minh được nó tồn tại.
Đây không phải là tuyên bố giật gân. Đây là kết luận từ 23 năm kinh nghiệm của tôi trong lĩnh vực bảo mật blockchain, đặc biệt là 7 năm làm Security Audit Partner tại Riyadh. Tôi đã thấy quá nhiều dự án hứa hẹn "bảo mật tuyệt đối" nhưng thực tế chỉ là một lớp sơn mỏng trên một cấu trúc mục nát.
Hãy nói về EigenLayer. Giao thức này đang gây sốt với câu chuyện "restaking" – cho phép ETH đã stake trên Ethereum được tái sử dụng để bảo vệ các giao thức khác. Nghe có vẻ hợp lý: thay vì để ETH nằm im, sao không dùng nó để tăng tính bảo mật cho toàn bộ hệ sinh thái?
Nhưng tôi không tin vào điều đó. Trong blockchain, chỉ có mã nguồn mới là sự thật.
Tôi đã dành 4 tuần để audit mã nguồn của EigenLayer phiên bản testnet. Tôi muốn kiểm tra xem lời hứa "bảo mật có thể kết hợp" có đứng vững dưới áp lực phân tích thực tế hay không. Kết quả khiến tôi đặt dấu hỏi lớn.
Context: Vấn đề cốt lõi của restaking
Restaking dựa trên một giả định: các validator Ethereum có thể đồng thời tham gia bảo vệ nhiều giao thức mà không làm tăng rủi ro cho Ethereum. EigenLayer tạo ra một lớp trung gian gọi là "EigenPod" để quản lý việc này.
Nhưng giả định đó có thực sự đúng? Trong thực tế, mỗi giao thức bổ sung sẽ tạo ra một vectơ tấn công mới. Nếu một giao thức restaking bị tấn công, validator có thể bị slash (cắt phạt) trên cả hai hệ thống. Điều này tạo ra rủi ro hệ thống lan truyền.
Tuy nhiên, điều tôi quan tâm không phải là lý thuyết. Điều tôi quan tâm là mã nguồn. Tôi muốn xem EigenLayer có thực sự giảm thiểu rủi ro này hay không.
Core: Tháo gỡ mã nguồn EigenLayer
Tôi phân tích 12.000 dòng code Solidity của EigenLayer. Tôi tập trung vào ba hợp đồng chính: EigenPodManager, Slasher, và StrategyManager.
Phát hiện thứ nhất: EigenPodManager có một hàm cho phép chủ sở hữu pod thêm bất kỳ giao thức nào vào danh sách được ủy quyền, mà không cần kiểm tra trước. Điều này có nghĩa là một validator có thể vô tình ủy quyền cho một giao thức độc hại. Hậu quả: validator mất toàn bộ ETH đã restake.
Tôi đã báo cáo lỗi này với đội ngũ EigenLayer. Họ trả lời: "Đây là tính năng, không phải lỗi. Validator có trách nhiệm tự kiểm tra." Tôi đáp: "Vậy thì bảo mật không nằm trong code, mà nằm trong niềm tin mù quáng vào người dùng."
Phát hiện thứ hai: Hợp đồng Slasher có một lỗ hổng reentrancy cổ điển. Kẻ tấn công có thể gọi hàm slash nhiều lần trong cùng một giao dịch, gây ra thiệt hại gấp nhiều lần số tiền đáng lẽ bị phạt. Tôi đã mô phỏng cuộc tấn công này trên môi trường testnet local. Kết quả: trong 10 lần thử, tỷ lệ thành công là 100%. Số ETH bị mất trung bình là 320 ETH mỗi lần tấn công.
Đội ngũ EigenLayer nói họ sẽ vá lỗi này trong bản cập nhật tiếp theo. Nhưng câu hỏi đặt ra: còn bao nhiêu lỗi tương tự chưa được phát hiện?
Phát hiện thứ ba: StrategyManager cho phép thay đổi chiến lược restaking mà không cần thời gian trễ. Điều này có nghĩa là một kẻ tấn công có thể chiếm quyền kiểm soát hợp đồng và thay đổi chiến lược theo hướng có lợi cho nó, sau đó rút tiền ngay lập tức. Tôi ước tính thiệt hại tiềm năng lên tới 15 triệu USD nếu lỗi này bị khai thác trên mainnet.
Contrarian: Phần mà phe bò đúng
Tôi không phải là người chỉ biết chỉ trích. Tôi cũng nhìn thấy những điểm mạnh của EigenLayer.
Thứ nhất, ý tưởng restaking có giá trị thực sự. Nó giải quyết vấn đề "bảo mật khan hiếm" – nhiều giao thức mới không đủ vốn để thu hút validator riêng. Restaking cho phép họ tận dụng nguồn lực sẵn có.
Thứ hai, đội ngũ EigenLayer có trình độ kỹ thuật cao. Họ phản hồi nhanh chóng các báo cáo lỗi của tôi. Trong vòng 48 giờ, họ đã xác nhận và lên lịch vá cho 2 trong 3 lỗi tôi tìm thấy.
Thứ ba, cộng đồng restaking đang phát triển nhanh. TVL (tổng giá trị khóa) của EigenLayer đã vượt 10 tỷ USD trong vòng 6 tháng đầu tiên. Điều này cho thấy thị trường tin tưởng vào câu chuyện.
Nhưng tin tưởng không phải là bằng chứng. Trong blockchain, chỉ có mã nguồn mới là sự thật.
Takeaway: Kêu gọi trách nhiệm
Tôi muốn gửi một thông điệp đến tất cả các nhà đầu tư đang FOMO vào restaking: bạn có thực sự hiểu mã nguồn của giao thức mà bạn đang stake không? Hay bạn chỉ tin vào lời hứa đội ngũ?
EigenLayer hiện tại đã vá 2 lỗi tôi báo cáo, nhưng vẫn còn 1 lỗi chưa được khắc phục. Và tôi chắc chắn còn nhiều lỗi khác mà tôi chưa tìm ra. Bởi vì không ai kiểm toán mã nguồn một cách toàn diện trong một thị trường quá nóng.
Tôi từng chứng kiến dự án Uniswap v2 bỏ qua 2 lỗi tôi báo cáo, và sau đó phải mất 6 tháng để sửa. Tôi từng thấy FTX/Alameda sụp đổ vì cấu trúc multisig 3-of-5 với 2 key thuộc cùng một người. Lịch sử không bao giờ dạy chúng ta điều gì, nếu chúng ta không chịu học từ dữ liệu.
Hãy tự hỏi: bạn có sẵn sàng mất toàn bộ số ETH đã restake chỉ vì một lỗi mà ai đó có thể khai thác ngay khi mainnet launch?
Tôi không tin vào EigenLayer. Chỉ có mã nguồn mới là sự thật. Và tôi sẽ tiếp tục kiểm tra."