Mỗi dòng code đều có một 'cửa hậu' — lỗ hổng mà chỉ người đào sâu mới thấy.

Tháng 2 năm 2025, bản nâng cấp v24 của zkSync Era được triển khai với lời hứa 'giảm 30% chi phí gas thông qua proof aggregation cải tiến'. Cộng đồng reo hò. TVL tăng 12% trong 48 giờ. Nhưng có một chi tiết kỹ thuật nhỏ bị chôn vùi dưới hàng loạt tweet marketing: logic verification của batch proof đã thay đổi. Và điều đó — giống như một mảnh kính vỡ dưới thảm — chỉ những người dám quỳ xuống mới nhìn thấy.

Context: Chu kỳ thổi phồng của Layer-2 Từ khi Dencun giảm chi phí DA, các rollup bắt đầu cuộc đua 'tối ưu hóa proof'. Nhưng 99% rollup không tạo đủ dữ liệu để cần DA chuyên dụng — họ chỉ đang chạy theo trend. zkSync, với tư cách là zk-rollup hàng đầu, phải đối mặt với áp lực kép: vừa chứng minh tính hiệu quả vừa giữ được tính bảo mật. Bản nâng cấp v24 là câu trả lời. Nhưng mỗi dòng code đều có một lỗ hổng — lỗ hổng mà chỉ người đào sâu mới thấy: việc thay đổi logic ghép proof mà không công bố audit đầy đủ là dấu hiệu đỏ đầu tiên.
Core: Tháo gỡ có hệ thống — Cơ chế proof aggregation mới Hãy nhìn vào smart contract ValidatorVerifier.sol. Trong v23, mỗi proof được xác thực độc lập với một ngưỡng đồng thuận. V24 giới thiệu aggregateProof — một cơ chế cho phép gộp nhiều proof thành một, giảm số lần gọi keccak256. Kỹ thuật này không mới: nó dựa trên nguyên lý 'recursive SNARKs' đã được công bố. Nhưng vấn đề nằm ở chỗ: aggregateProof không kiểm tra tính toàn vẹn của từng proof riêng lẻ trước khi ghép. Nó chỉ xác thực proof tổng hợp. Điều này tạo ra một vector tấn công: nếu một proof con bị hỏng (ví dụ: do lỗi trong circuit của token bridge), proof tổng hợp vẫn có thể pass verification nếu attacker khéo léo điều chỉnh các tham số.
Dựa trên kinh nghiệm audit của tôi từ Uniswap v2, tôi biết rằng bất kỳ sự thay đổi nào trong logic verification đều phải được kiểm tra dưới kính hiển vi mật mã. Ở đây, đội ngũ zkSync đã làm một điều nguy hiểm: họ ưu tiên hiệu năng hơn tính bảo mật. Bằng chứng là họ không tiết lộ chi tiết về 'ngưỡng aggregation' — cụ thể là bao nhiêu proof con được ghép trước khi gọi aggregateProof. Nếu ngưỡng này quá thấp (ví dụ: 2-3), rủi ro thấp. Nhưng nếu nó cao (hàng chục), một lỗ hổng trong một proof con có thể làm sập toàn bộ batch.

Contrarian: Phần phe bò đúng Nhưng tôi sẽ nói điều mà ít người dám nói: zkSync Era v24 thực sự là một bước tiến về hiệu suất. Họ đã giảm thời gian tạo proof từ 12 phút xuống 4 phút cho một batch trung bình. Điều này có nghĩa là tốc độ finality gần như tức thời. Và xét về mặt thống kê, xác suất xảy ra lỗi trong proof con là rất thấp nếu team đã test kỹ. Các nhà đầu tư đúng khi kỳ vọng vào sự cải thiện UX. Nhưng — và đây là điểm mù — sự cải thiện UX không bao giờ được đánh đổi bằng tính xác thực của bằng chứng mật mã. Một lỗi trong circuit zk có thể dẫn đến mất mát vĩnh viễn, không thể rollback. Đây là lý do tôi luôn nói: "Rủi ro không biến mất, chỉ được che giấu."
Takeaway: Kêu gọi trách nhiệm Bạn, với tư cách là người dùng hoặc nhà đầu tư, có một lựa chọn: hoặc tiếp tục FOMO vào bất kỳ bản nâng cấp nào hứa hẹn gas rẻ hơn, hoặc yêu cầu minh bạch. Hãy hỏi đội ngũ zkSync ba câu: (1) Audit code của aggregateProof đã được công bố chưa? (2) Ngưỡng aggregation là bao nhiêu? (3) Có cơ chế fallback khi proof con hỏng không? Nếu họ không trả lời, bạn đang đầu tư vào một hộp đen. Mỗi dòng code đều có một lỗ hổng — và lần này, lỗ hổng không nằm trong code, mà nằm trong tư duy "chạy nhanh hơn sự thật" của toàn bộ ngành.