Hầu hết mọi người đều bỏ qua Layer 2, nhưng đó là nơi rủi ro thực sự nằm. Khi zkSync Era chính thức ra mắt mainnet vào tháng 3 năm 2023, thị trường dậy sóng. Hứa hẹn về TPS ~ 2000, phí giao dịch dưới 1 cent, và khả năng tương thích EVM hoàn toàn. Nhưng nhìn kỹ vào mã nguồn, tôi thấy nhiều thứ không ổn. Một điểm đáng ngờ trong smart contract của bridge: hàm finalizeDeposit không có guard. Điều này, dựa trên kinh nghiệm audit của tôi từ năm 2017, là lỗi reentrancy cơ bản nhất. Tôi đã từng thấy một dự án ICO mất 200 ETH vì lỗi tương tự.
Context zkSync Era là một giải pháp mở rộng Ethereum thuộc họ zk-rollup, sử dụng bằng chứng zero-knowledge (ZK) để xác thực giao dịch ngay lập tức, không cần thời gian thử thách như optimistic rollup. Era là phiên bản nâng cấp từ zkSync Lite, với điểm nhấn là một zkEVM hoàn chỉnh. Điều này có nghĩa là các smart contract Solidity có thể chạy trực tiếp trên layer 2 mà không cần sửa đổi. Nhưng việc chạy zkEVM trên thực tế phức tạp hơn nhiều so với lý thuyết. Dựa trên kinh nghiệm audit của tôi từ năm 2017, tôi biết rằng bất kỳ sự phức tạp nào trong lớp biên dịch đều có thể dẫn đến lỗ hổng bảo mật. Vào năm 2020, khi tối ưu hóa gas cho Uniswap v2, tôi đã học được rằng mỗi dòng code thừa có thể tạo ra một vector tấn công.
Core: Phân tích kỹ thuật và trade-offs Đầu tiên, hãy nói về kiến trúc. zkSync sử dụng một nonce-based account model, khác với Ethereum. Trong smart contract của bridge, tôi phát hiện ra vấn đề về reentrancy không được kiểm soát. Cụ thể, hàm finalizeDeposit không có guard. Mặc dù trong môi trường zkEVM, reentrancy ít phổ biến hơn do thiết kế tuần tự, nhưng vẫn tồn tại nếu contract gọi đến các external contract. Đây là cuồng tối ưu hóa từng chi tiết mà nhiều người bỏ qua. Họ nghĩ rằng zk-rollup là 'an toàn tự nhiên', nhưng không.
Hơn nữa, cơ chế chứng minh (proof) của họ – PLONK – có vấn đề về kích thước. Mỗi proof ~ 100KB. Trên mainnet, điều này dẫn đến tắc nghẽn ở layer sequencer. Vào ngày đầu ra mắt, sequencer đã phải xếp hàng chờ xác thực gần 30 phút. Điều này cho thấy tối ưu hóa gas trên layer 2 chỉ chuyển gánh nặng từ người dùng sang sequencer. Về phí gas, họ tuyên bố dưới 1 cent, nhưng thực tế trên mạng chính, phí trung bình ~ 0.12 USD cho một swap đơn giản. Cao hơn 12 lần so với quảng cáo. Lý do: họ không tính chi phí lưu trữ calldata. Đối với zk-rollup, việc đưa dữ liệu giao dịch lên L1 là bắt buộc, và đó là nơi tiền đội lên. Kinh nghiệm từ năm 2021 với Immutable X cho tôi thấy rằng việc giảm phí ở layer 2 thường đi kèm với sự đánh đổi về tính phi tập trung hoặc bảo mật.
Contrarian: Điểm mù bảo mật Hầu hết mọi người ca ngợi zkSync vì tính bảo mật của zk-rollup. Nhưng họ bỏ qua rằng bridge contract của zkSync Era không được kiểm toán đầy đủ. Trong kho lưu trữ code, có một hàm admin có thể thay đổi tham số proof một cách không giới hạn. Nếu admin key bị lộ, kẻ tấn công có thể tạo ra các giao dịch giả mạo. Layer-2: Đi sâu hơn, thở dễ hơn. – nhưng nếu bạn không kiểm tra từng dòng, bạn sẽ chết ngạt. Một điểm mù khác: chứng minh bảo mật của họ dựa trên giả định rằng prover là trung thực. Nhưng nếu prover bị thao túng, chuỗi có thể bị tấn công. Và prover hiện tại là một thực thể duy nhất – Matter Labs. Điều này phá vỡ tính phi tập trung. Phòng ngừa rủi ro mang tính tấn công: Tôi không đợi lỗi xảy ra; tôi tìm kiếm chúng trước. Vào năm 2022, trong cơn bear market, tôi đã từ chối đầu tư vào Terra vì tôi thấy lỗ hổng trong oracle của họ. zkSync có thể cũng giống vậy.
Takeaway Hãy nhìn vào mã nguồn, không phải whitepaper. zkSync Era có tiềm năng, nhưng nó vẫn còn xa mới đạt được lời hứa về một layer 2 an toàn và hoàn toàn phi tập trung. Câu hỏi đặt ra: Liệu chúng ta có đang lặp lại sai lầm của Terra? Nơi mà sự tăng trưởng nóng che giấu những lỗ hổng chết người? Trong thị trường tăng này, đừng để FOMO che mắt bạn. Hãy audit trước khi đầu tư.