Trong 72 giờ qua, một giao thức cross-chain hàng đầu đã xử lý hơn 2,4 tỷ USD giá trị giao dịch. Nhưng khi tôi mở mã nguồn của nó, tôi thấy một điều kỳ lạ: cơ chế xác minh dựa vào hai thực thể trung gian — oracle và relayer. Đó là LayerZero, và đó là vấn đề.
LayerZero tuyên bố mang đến khả năng tương tác không cần tin cậy. Nhưng thực tế kỹ thuật lại khác: mỗi tin nhắn cross-chain được xác thực bởi một oracle (thường là Chainlink) cung cấp block header, và một relayer gửi bằng chứng giao dịch. Nếu hai bên này thông đồng hoặc bị kiểm soát, toàn bộ cầu nối sụp đổ. Đây không phải là điều mới — tôi đã từng phân tích lỗ hổng trong cơ chế exit game của OmiseGO Plasma năm 2017, và bài học vẫn còn nguyên: mã nguồn mở không đồng nghĩa với an toàn.
Tôi đã viết một script Python mô phỏng một kịch bản tấn công: giả sử oracle hợp tác với relayer để gửi thông tin sai lệch. Trong mô hình của LayerZero, không có cơ chế on-chain để phát hiện sự gian lận này. Dựa trên kinh nghiệm audit của tôi, đây là một trong những điểm mù bảo mật nghiêm trọng nhất. Thiết kế hiện tại đặt trọn niềm tin vào hai bên thứ ba — một sự tập trung hóa ngầm. Nếu so sánh với giải pháp xác minh phi tập trung thực sự như IBC của Cosmos (sử dụng bộ xác thực đồng thuận), LayerZero chỉ đơn giản là một lớp ủy thác có kiểm soát.
Nhưng điều phản trực giác là: chính sự phụ thuộc này lại giúp LayerZero đạt được tốc độ và tính linh hoạt. Họ có thể hỗ trợ nhiều chuỗi nhanh hơn bất kỳ đối thủ nào, vì không cần phải thiết lập bộ xác thực riêng. Tuy nhiên, giá phải trả là một giả định tin cậy mà nhiều người dùng không nhận ra. Trong thị trường giảm hiện tại, khi mọi người quan tâm đến sự an toàn của tài sản hơn là tốc độ, đây là một điểm yếu chết người.
Takeaway của tôi: Đừng nhầm lẫn giữa “không cần cầu nối” với “phi tập trung”. LayerZero là một giải pháp thực dụng, không phải là holy grail. Nếu bạn đang xây dựng ứng dụng yêu cầu bảo mật tuyệt đối, hãy xem xét các giải pháp dựa trên zk-SNARK hoặc xác thực đồng thuận. Còn nếu bạn chấp nhận trade-off, hãy chắc chắn rằng bạn hiểu rõ oracle và relayer của mình là ai.