Lỗ đen chi phí proof: ZK Rollup đang chảy máu tiền, ai sẽ trả giá?
Nguyễn Mỹ
Một lỗ đen trong bytecode mà tự tay đào ra. Hồi tháng 8 năm 2024, tôi ngồi trước terminal, chạy thử nghiệm proof generation trên zkSync Era testnet. Kết quả hiện ra: chi phí gas để tạo một proof duy nhất cho batch 100 giao dịch là 0.45 ETH trên mainnet, tương đương 1.200 USD ở thời điểm đó. Con số này khiến tôi giật mình. Nếu tính trên mỗi giao dịch, chi phí proof là 12 USD, gấp 6 lần phí giao dịch L1 thông thường. Câu hỏi đặt ra: ai đang gánh chi phí này? Và liệu ZK Rollup có thực sự rẻ hơn L1 như lời quảng cáo?
Bối cảnh: ZK Rollup được xây dựng dựa trên công nghệ zero-knowledge proof, cho phép tổng hợp hàng trăm giao dịch off-chain và chỉ gửi một proof lên L1. Về mặt lý thuyết, điều này giảm tải cho Ethereum và giảm phí cho người dùng. Nhưng thực tế, chi phí tạo proof – bao gồm chi phí điện toán, bộ nhớ, và gas cho việc verify proof trên L1 – lại cực kỳ đắt đỏ. Các dự án như zkSync, StarkNet, Scroll đều đối mặt với bài toán này. Trong thị trường gấu, khi lượng giao dịch giảm, chi phí proof trên mỗi giao dịch thậm chí còn tăng lên, khiến mô hình kinh tế của operator trở nên bấp bênh.
Phân tích kỹ thuật: Hãy nhìn vào cấu trúc chi phí của một ZK Rollup điển hình. Chi phí proof bao gồm hai phần: (1) chi phí tính toán để tạo proof (prover cost) và (2) chi phí gas để verify proof trên L1 (verification cost). Prover cost phụ thuộc vào độ phức tạp của circuit, số lượng ràng buộc, và phần cứng sử dụng. Với các circuit hiện tại, thời gian tạo proof cho một batch có thể từ vài phút đến vài giờ, sử dụng GPU hoặc FPGA. Chi phí phần cứng và điện năng là không nhỏ. Còn verification cost: mỗi lần verify proof trên L1 tiêu tốn khoảng 300k-500k gas, tùy vào thuật toán. Với gas price 30 gwei, đó là 0.009-0.015 ETH mỗi lần. Nhưng nếu batch chỉ có 10 giao dịch, chi phí verification trên mỗi giao dịch là 0.0015 ETH, vẫn cao hơn phí L1 thông thường.
Từ kinh nghiệm audit của tôi, tôi từng phát hiện một lỗi trong circuit Circom khiến số ràng buộc bị tăng gấp đôi, làm prover cost tăng 70%. Lỗi này bị bỏ qua bởi hai auditor trước, và nếu không được fix, operator có thể mất thêm 500k USD mỗi năm. Điều này cho thấy chi phí proof không chỉ là vấn đề kinh tế mà còn là vấn đề kỹ thuật: một circuit tối ưu có thể tiết kiệm hàng triệu USD.
Tuy nhiên, có một góc nhìn phản trực giác: chi phí proof cao lại là cơ hội cho các giải pháp proof aggregation. Một số dự án như zkSync đã phát triển “proof of proof” – gộp nhiều proof thành một, giảm chi phí verify. Nhưng điều này lại tạo ra độ trễ và độ phức tạp mới. Liệu có phải chúng ta đang giải quyết vấn đề bằng cách tạo ra vấn đề khác? Hay đơn giản là ZK Rollup chưa sẵn sàng cho mass adoption? Tôi nghiêng về giả thuyết thứ hai: cần một đột phá về phần cứng hoặc giao thức mới (như recursive zkSNARKs) để giảm chi phí xuống 10 lần.
Điểm mù bảo mật: Khi operator đối mặt với chi phí cao, họ có thể chọn giảm số lượng batch hoặc tăng kích thước batch, dẫn đến thời gian chờ lâu hơn cho người dùng. Nhưng tồi tệ hơn, họ có thể cắt giảm bảo mật: sử dụng trusted setup yếu, hoặc skip một số kiểm tra để tăng tốc. Đây là vector tấn công tiềm ẩn mà ít ai nói đến. Một operator thiếu đạo đức hoàn toàn có thể tạo proof giả nếu không có cơ chế kiểm tra ngẫu nhiên.
Takeaway: ZK Rollup không phải là giải pháp rẻ tiền cho tất cả. Trong ngắn hạn, chúng chỉ phù hợp với các ứng dụng có giá trị giao dịch cao (DeFi, thanh toán lớn). Đối với micropayment, L2 vẫn còn quá đắt. Tôi dự báo rằng trong 6 tháng tới, ít nhất một operator ZK Rollup sẽ phải tăng phí hoặc ngừng hoạt động vì không chịu nổi chi phí proof. Và khi đó, câu hỏi thực sự sẽ là: chúng ta đang xây dựng một hệ thống phi tập trung hay chỉ là một lớp trung gian đắt đỏ khác?