Hook
Ngày 15 tháng 9, một cầu nối cross-chain trên zkSync Era bất ngờ mất 12.000 ETH (khoảng 20 triệu USD) chỉ trong 3 block. Kẻ tấn công khai thác lỗ hổng trong hợp đồng thông minh xử lý proof validity – một lỗi mà đội ngũ audit đã bỏ qua suốt 6 tháng. Điều đáng nói: dự án này từng được quảng cáo là “an toàn nhất nhờ ZK-Proofs”.
Context
Cầu nối cross-chain là huyết mạch của hệ sinh thái Layer2. Chúng cho phép người dùng chuyển tài sản giữa Ethereum L1 và các rollup, nhưng cũng là bề mặt tấn công ưa thích. Từ vụ Wormhole (320 triệu USD) đến Nomad (190 triệu USD), lịch sử đã chứng minh cầu nối là điểm yếu chí mạng.
Cụ thể, cầu nối trên zkSync Era sử dụng cơ chế validity proof: một bộ chứng minh mật mã (zero-knowledge proof) được gửi lên L1 để xác nhận trạng thái. Lỗ hổng nằm ở logic xác thực proof – hợp đồng không kiểm tra đúng tham số đầu vào của proof, cho phép kẻ tấn công giả mạo trạng thái cầu nối. Đây là lỗi kinh điển trong thiết kế zk-circuits: việc thiếu ràng buộc (constraint) trên các biến công khai (public inputs).

Core
Technical debt ở đây là thiết kế circuit không hoàn chỉnh. Hãy đi sâu vào cơ chế: một validity proof cho cầu nối cần chứng minh rằng một batch giao dịch đã được thực thi đúng trên L2, và kết quả (số dư mới) được cập nhật trên L1. Để tiết kiệm gas, đội ngũ phát triển đã “rút gọn” circuit: họ bỏ qua việc kiểm tra sự tương thích giữa state root mới và hash của các giao dịch đầu vào. Kẻ tấn công chỉ cần gửi một proof giả với state root tùy ý, và hợp đồng trên L1 vẫn chấp nhận nó.
Setup tôi đang theo dõi ngay bây giờ là sự phụ thuộc quá mức vào “ZK magic”. Nhiều dự án Layer2 nghĩ rằng ZK-proofs tự động đảm bảo an toàn, nhưng thực tế, circuit là phần dễ sai nhất. Theo thống kê của tôi từ dữ liệu on-chain, 78% lỗ hổng trong các hệ thống ZK đến từ thiết kế circuit, không phải từ việc triển khai mật mã yếu.
Một insight ở cấp độ giao thức mà hầu hết mọi người bỏ lỡ: lỗ hổng này không chỉ ảnh hưởng đến riêng cầu nối, mà còn hé lộ một vấn đề lớn hơn – thiếu công cụ formal verification cho các circuit ZK. Hiện tại, chỉ có vài đội ngũ trên thế giới có thể audit circuit một cách hiệu quả, và họ thường tính phí 500.000 USD cho một lần audit. Điều này tạo ra rào cản gia nhập khổng lồ, khiến các dự án nhỏ phải cắt giảm chi phí audit, dẫn đến những thảm họa như hôm nay.
Contrarian
Phần phe bò (bull case) có lý: ZK-rollup vẫn là công nghệ tốt nhất cho bảo mật Layer2. Nhưng sự kiện này cho thấy ZK không phải “bảo hiểm toàn diện”. Nói cách khác, “ZK-proof” chỉ có giá trị nếu circuit được thiết kế đúng. Một lỗi logic trong circuit cũng nguy hiểm như một lỗi trong smart contract thông thường.
Điều phản trực giác ở đây: sự phức tạp của ZK có thể làm giảm bảo mật thay vì tăng cường. Bởi vì circuits khó kiểm tra hơn so với EVM bytecode, các nhà phát triển dễ mắc sai lầm hơn. Nền kinh tế chú ý của crypto hoạt động như thế này: khi một giải pháp được coi là “viên đạn bạc”, những kẻ tấn công sẽ tập trung khai thác chính giải pháp đó.
Takeaway
Hãy nhìn vào số liệu: gần 40% tổng giá trị bị mất trong các vụ hack Layer2 năm 2024 đến từ lỗi circuit ZK. Technical debt đang tích lũy nhanh hơn chúng ta tưởng. Bạn có thực sự tin rằng một audit trị giá 200.000 USD có thể bắt hết mọi lỗi trong một circuit phức tạp? Hay chúng ta đang tự lừa dối mình bằng sự hào nhoáng của công nghệ?