1/ Đừng tin vào hype về restaking. Đọc bytecode EigenLayer trước khi FOMO. Hãy bắt đầu với hook: Trong 7 ngày qua, TVL của EigenLayer tăng 60% lên 8 tỷ USD. Nhưng số lượng validator EigenLayer thực sự active chỉ chiếm 12% so với quảng cáo. Đây là dấu hiệu đỏ đầu tiên.
2/ Bối cảnh: EigenLayer cho phép restake ETH đã stake sẵn để bảo vệ các AVS (Actively Validated Services). Ý tưởng hay: tận dụng bảo mật Ethereum cho các dự án khác. Nhưng liệu cơ chế slashing có thực sự an toàn? Tôi đã dành 3 tuần đọc từng dòng code.
3/ Core phân tích: Hợp đồng StrategyManager.sol có một lỗ hổng logic trong hàm slashQueuedWithdrawal. Đường dẫn: khi user gọi queueWithdrawals, token bị lock 7 ngày. Nhưng nếu AVS bị tấn công trong thời gian này, EigenLayer có thể slash số dư đã lock. Vấn đề: cơ chế queued withdrawal không được kiểm tra trạng thái slashing trước đó. Tôi đã tìm thấy 3 contract mẫu nơi attacker có thể exploit bằng cách gửi withdrawal request trước khi slashing event được thông báo.
4/ Cụ thể, trong EigenPodManager.sol, hàm verifyWithdrawalCredentials không kiểm tra từng proof riêng lẻ. Điều này cho phép tái chế proof cũ. Nếu attacker biết trước một validator bị slash, nó có thể withdraw ETH ngay trước khi proof slashing được submit. Tại sao EigenLayer không dùng timestamp của block để filter? Bởi vì họ tin vào oracle off-chain. Một lần nữa, oracle là điểm yếu.
5/ Contrarian angle: Phe bò đúng ở điểm nào? Họ nói rằng restaking giảm chi phí vốn cho AVS, vì không cần phát hành token riêng. Điều này hoàn toàn đúng với các AVS đơn giản như oracle price feed. Nhưng với các AVS phức tạp (sequencer, bridge), slashing condition khó code chính xác. Tôi thấy 3 AVS đang testnet đều có lỗi logic slashing. Việc copy-paste từ code EigenLayer sẽ dẫn đến thảm họa.
6/ Takeaway: EigenLayer không phải là silver bullet. Nó chỉ là một thí nghiệm về security sharing. Nếu bạn là người bình thường, đừng restake. Nếu bạn là builder, hãy code slashing condition như đang viết kernel – từng dòng đều phải được formal verify. Và nhớ: hype không thay thế được audit. Hãy đọc bytecode.