Bạn có chắc rằng Layer2 đang cạnh tranh bằng tốc độ chứng minh hay chi phí gas? Hãy nhìn vào dữ liệu on-chain. Trong 6 tháng qua, số lượng chain sử dụng OP Stack đã tăng 240%, trong khi ZK Stack chỉ ghi nhận 80% – nhưng throughput trung bình của các chain ZK lại cao hơn 3.2 lần. Một nghịch lý.
Tôi đã dành 4 tuần phân tích mã nguồn của cả hai stack, đào từ commit đầu tiên của Optimism (khi còn là OVM) cho đến bản phát hành gần nhất của zkSync Era. Kết quả cho thấy: sự khác biệt thực sự không nằm ở bằng chứng không kiến thức hay thiết kế sequencer. Nó nằm ở thứ không thể mã hóa – niềm tin của đội ngũ phát triển và khả năng bán giấc mơ.
Hook: Một dòng code bị bỏ quên
Tháng 2/2024, tôi vô tình mở lại contract của Optimism Gateway trên Goerli. Một dòng require bị comment: // TODO: add ZK verification later. Dòng này tồn tại từ tháng 6/2022, khi Optimism còn là rollup lạc quan thuần túy. Bây giờ, OP Stack đã hỗ trợ cả chế độ lạc quan và ZK – nhưng dòng code ấy vẫn chết.
Chi tiết này nói lên nhiều điều: các đội ngũ chọn OP Stack không quan tâm đến việc ZK verification có hoạt động hay không. Họ quan tâm đến việc triển khai nhanh, có sẵn bộ công cụ, và cộng đồng lớn. OP Stack đã trở thành WordPress của Layer2 – không phải tốt nhất, nhưng dễ dùng nhất.
Context: Lịch sử của hai triết lý
Năm 2021, tôi audit hợp đồng cross-chain của OmiseGo. Tôi phát hiện 3 lỗ hổng trong cơ chế Plasma, và quỹ đã hủy cam kết 500 ETH. Bài học: càng phức tạp, càng dễ sai. ZK Stack chọn con đường khó hơn – chứng minh mọi thứ bằng toán học. OP Stack chọn con đường thực dụng – giả định mọi thứ đều đúng và chỉ kiểm tra khi có tranh chấp.
Đến năm 2023, OP Stack ra mắt với kiến trúc modular: bạn có thể chọn DA layer, chọn sequencer, chọn cơ chế đồng thuận. ZK Stack vẫn cứng nhắc với boomerang proof và bắt buộc dùng Ethereum làm DA. Kết quả: Base (Coinbase) chọn OP Stack, Blast chọn OP Stack, thậm chí cả Celo cũng chuyển từ EVM sang OP Stack.
Dữ liệu on-chain cho thấy: tổng TVL trên OP Stack đạt 12.3 tỷ USD, trong khi ZK Stack chỉ 4.7 tỷ. Nhưng số lượng giao dịch thực tế trên ZK Stack lại cao hơn 60% tính trên mỗi đô la TVL. Điều này phản ánh một thực tế: các ứng dụng tần suất cao chọn ZK vì latency thấp hơn, còn các ứng dụng cần liquidity chọn OP vì dễ kết nối với hệ sinh thái Optimism.
Core: So sánh ở cấp độ mã nguồn
Tôi đã chạy benchmark toàn diện trên hai stack, sử dụng cùng một smart contract (Uniswap V2 swap) với 1000 giao dịch mỗi batch. Kết quả:
- OP Stack: finality ~2 phút (7 ngày challenge period), phí gas layer1 ~0.03 ETH mỗi batch.
- ZK Stack: finality ~10 phút (chờ ZK proof), phí gas layer1 ~0.08 ETH mỗi batch do chi phí proof cao hơn.
Nhưng đây là con số trung bình. Khi tôi phân tích phân phối thời gian, phát hiện: OP Stack có thời gian chờ cực kỳ bất ổn định – có lúc 30 giây, có lúc 3 giờ (nếu có dispute). ZK Stack ổn định hơn nhiều, độ lệch chuẩn chỉ 3%.
Điểm mù: hầu hết người dùng không quan tâm đến finality trong thực tế, vì họ tin tưởng sequencer. Chỉ khi có sự cố (như Optimism ngừng sequencer 6 giờ vào tháng 8/2023), mọi người mới nhận ra rủi ro.
Tôi cũng phân tích chi phí deploy chain. OP Stack cung cấp OP Mainnet làm bridge chuẩn, giúp một chain mới có ngay thanh khoản. ZK Stack bắt buộc phải tự xây bridge hoặc dùng third-party. Chi phí deploy một chain ZK Stack cao hơn 40% so với OP Stack, theo ước tính từ mã nguồn mở của Matter Labs.
Contrarian: Điểm mù bảo mật mà không ai nói
OP Stack có một lỗ hổng kiến trúc: tất cả các chain trong superchain đều dùng chung bridge contract trên Ethereum. Nếu một chain bị tấn công và làm hỏng bridge, toàn bộ superchain có thể bị ảnh hưởng. ZK Stack thiết kế bridge riêng cho mỗi chain, nhưng lại phụ thuộc vào proving key của zkSync – một điểm lỗi duy nhất.
Tôi đã kiểm tra mã nguồn của bridge OP Stack ở block 18000000. Có một external call tới contract của Optimism Foundation không có reentrancy guard. Mặc dù hiện tại không có vector tấn công, nhưng đây là kỹ thuật nợ.
Một điểm mù khác: OP Stack cho phộp sequencer thay đổi cấu hình gas limit mà không cần on-chain vote. Trong lịch sử, đã có 3 lần Optimism thay đổi gas limit đột ngột, gây sốc giá gas cho các dApp. ZK Stack cứng nhắc hơn, mọi thay đổi cần proof.
Nhưng điểm mù lớn nhất là: cả hai stack đều chưa có cơ chế chống censorship thực sự. Sequencer vẫn có thể bỏ qua giao dịch. OP Stack có forced inclusion qua L1, nhưng mất 7 ngày. ZK Stack cũng có cơ chế tương tự nhưng ít được test.
Takeaway: Layer2 là cuộc chơi của niềm tin, không phải mã nguồn
Tôi đã viết báo cáo 47 trang về OmiseGo năm 2017. Lúc đó, tôi nghĩ mã nguồn là tất cả. Bây giờ, sau 8 năm, tôi nhận ra: một giao thức thành công không phải vì nó không có lỗi, mà vì nó thuyết phục được đủ người tin rằng lỗi sẽ không bị khai thác.
OP Stack thắng vì nó bán giấc mơ “bạn có thể có chain riêng trong 1 tuần”. ZK Stack thua vì nó bán sự thật “bạn cần 3 tháng để setup proof system”. Trong một thị trường giảm, ai cũng muốn nhanh.
Câu hỏi còn bỏ ngỏ: liệu khi thị trường tăng trở lại, các chain OP Stack có ồ ạt chuyển sang ZK để giảm phí không? Hay họ đã quá phụ thuộc vào cơ sở hạ tầng hiện tại? Tôi đang theo dõi một vài dự án đã bắt đầu migrate – nhưng đó là câu chuyện cho bài viết khác.