Trong 7 ngày qua, chi phí chứng minh (proving cost) trên mạng Ethereum cho một ZK-rollup hàng đầu đã tăng 40%, khiến một operator phải tạm dừng dịch vụ. Đây không phải là FUD, mà là tín hiệu từ dữ liệu on-chain: phí gas layer-1 leo thang, đồng thời độ phức tạp của proof tăng theo khối lượng giao dịch. Tôi đã theo dõi 5 năm, và chưa thấy một cuộc khủng hoảng chi phí nào rõ rệt như hiện tại.
Context: Cơ chế chứng minh và gánh nặng operator Để hiểu vấn đề, cần nhìn vào kiến trúc của một ZK-rollup. Giao dịch được thực thi off-chain, sau đó một prover (operator) tạo ra bằng chứng hợp lệ (validity proof) và gửi lên L1 cùng với dữ liệu calldata. Chi phí của operator bao gồm: (1) phí gas L1 để đăng proof, (2) chi phí tính toán để sinh proof (GPU/ASIC, điện, băng thông), (3) phí L1 cho calldata. Trong thị trường gấu, tổng chi phí này có thể vượt doanh thu từ phí giao dịch mà operator thu được. Kết quả là operator chảy máu tiền.
Core: Phân tích chi tiết các yếu tố chi phí Dựa trên kinh nghiệm audit của tôi khi tham gia triển khai ZK-proof cho zkSync năm 2020, tôi nhận thấy ba yếu tố chính quyết định sự bền vững của operator:

- Gas L1 biến động: Khi Ethereum mainnet tắc nghẽn (ví dụ do các memecoin hoặc airdrop), gas fee tăng vọt. Mỗi proof có kích thước ~200-400 byte, nhưng phí đăng proof có thể lên tới 0.1 ETH trong đợt cao điểm. Với giá ETH $3000, đó là $300 cho một lần đăng. Một rollup xử lý 100 giao dịch mỗi batch, chi phí phân bổ ~$3/giao dịch — con số này ngang bằng phí L1, phá vỡ lợi thế của rollup.
- Độ phức tạp của proof tăng theo throughput: ZK-SNARKs (Plonk, Groth16) có thời gian sinh proof tuyến tính với số lượng constraint. Khi rollup mở rộng lên 1000 TPS, kích thước circuit tăng lên, dẫn đến thời gian proof từ vài phút lên vài giờ. Operator phải đầu tư thêm GPU, nhưng chi phí phần cứng không giảm theo Moore’s Law cho các tác vụ ZK chuyên biệt. Tôi từng chứng kiến một operator thử nghiệm dùng 20 GPU RTX 4090 để chạy proof cho Scroll, nhưng ROI âm sau 3 tháng.
- Calldata cost: Mỗi giao dịch vẫn phải đưa dữ liệu lên L1 dưới dạng calldata (tối thiểu 12 byte/giao dịch). Với giá gas 50 gwei, phí calldata cho 1000 giao dịch là ~0.03 ETH. Cộng với proof cost, tổng chi phí operator có thể vượt 0.15 ETH/batch. Trong khi doanh thu từ phí giao dịch (thường dưới 0.001 USD/giao dịch) chỉ đạt ~0.001 ETH/batch. Khoảng cách 150x là không bền vững.
Contrarian: Tại sao “ZK giúp giảm phí” lại là huyền thoại? Cộng đồng thường nói ZK-rollup giảm phí 100x so với L1. Điều này đúng về mặt lý thuyết, nhưng sai về mặt thực tế vận hành. Khi thị trường đi ngang, khối lượng giao dịch thấp, operator vẫn phải trả chi phí cố định (server, proof generation). “ZK không phải ma thuật, chỉ là toán học.” — toán học không miễn phí, nó đòi hỏi tài nguyên tính toán khổng lồ. Hầu hết các rollup hiện tại đều đang âm vốn từ quỹ đầu tư, chứ không tự nuôi sống được.

“DeFi không an toàn nếu thiếu ZK-proof.” — nhưng operator không thể duy trì bảo mật nếu họ phá sản. Một số dự án đã phải tăng phí giao dịch lên 0.05 USD/giao dịch để bù đắp, làm giảm sức hút với người dùng. Bài toán nan giải: nếu để phí thấp, operator lỗ; nếu tăng phí, mất thị phần.

“Mỗi lỗ hổng là một bài học.” — tôi đã thấy nhiều dự án thất bại vì không lường trước chi phí proof. Năm 2021, khi kiểm toán hợp đồng Aragon, tôi phát hiện một lỗi trong cơ chế vesting tưởng chừng nhỏ nhưng dẫn đến thiệt hại 2 triệu USD. Ở đây, lỗ hổng không phải code mà là mô hình kinh tế: operator không tính đến kịch bản gas tăng đột biến.
Takeaway: Tương lai của ZK-rollup Tôi dự báo trong 6-12 tháng tới, một làn sóng sáp nhập operator sẽ diễn ra. Chỉ những ai có nguồn vốn dồi dào hoặc giải pháp proof aggregation (kết hợp nhiều proof thành một) mới sống sót. Các rollup nhỏ sẽ phải chuyển sang shared prover hoặc chết. Câu hỏi đặt ra: Liệu người dùng có chấp nhận trả $0.1 cho một giao dịch trên rollup không? Nếu không, cả ngành sẽ phải tìm cách tối ưu hơn — như proof compression hoặc tận dụng ASIC chuyên dụng. Nhưng đó là câu chuyện của một bài viết khác.