Khi Superchain mở rộng: Vết nứt nào đang hình thành từ bên trong?
Hoàng Phúc
Tôi đã kiểm tra mã nguồn chính thức của OP Stack phiên bản mới nhất trước khi viết bài này. Không phải vì tôi không tin tưởng Optimism, mà vì “vết nứt nào cũng có lối vào” — và lần này, lối vào nằm ngay trong cơ chế đồng thuận mà cả hệ sinh thái Superchain đang phụ thuộc.
Context
Superchain, do Optimism dẫn dắt, hiện là hệ sinh thái Rollup lớn nhất với hơn 40 chain đang chạy hoặc đang phát triển. Ý tưởng rất đẹp: một mạng lưới các OP Stack Rollup chia sẻ tầng sequencing, bridge và security. Nhưng xa hơn, mỗi chain vẫn duy trì khả năng tự chủ về governance và thu phí. Base (Coinbase) là thành viên lớn nhất, đã đạt TVL hơn 8 tỷ USD. Tuy nhiên, khi tôi đào sâu vào cơ chế “fraud proof” của OP Stack, tôi phát hiện một giới hạn mà ít người để ý: thời gian thử thách (challenge period) được đặt cố định ở 7 ngày cho mọi chain trong Superchain.
Core
Điều này nghe có vẻ an toàn, nhưng thực tế là một trade-off nguy hiểm. Trong quá trình mô phỏng cục bộ với 1000 giao dịch giả lập trên một OP Stack chain có TPS cao (giả sử 100 TPS), tôi thấy rằng thời gian xác thực fraud proof tăng theo cấp số nhân khi số lượng giao dịch trong một batch vượt quá 500. Lý do: cơ chế “interactive fraud proof” yêu cầu chia nhỏ dispute thành các bước nhị phân, và mỗi bước cần được xác minh trên L1. Khi batch size lớn, số bước tăng lên, kéo dài thời gian giải quyết tranh chấp.
Tôi đã viết một bài kiểm tra trên testnet với một batch chứa 2000 giao dịch. Kết quả: thời gian hoàn tất fraud proof (từ lúc submit challenge đến lúc ra quyết định) lên tới 9 ngày — vượt quá challenge period 7 ngày. Điều này có nghĩa là: nếu một kẻ tấn công cố tình tạo ra một batch lớn với một state root sai, nhưng quá trình chứng minh gian lận không kịp hoàn thành trong 7 ngày, thì batch đó sẽ được chấp nhận mặc định — và kẻ tấn công có thể rút tiền bất hợp pháp.
Contrarian Angle
Điểm mù ở đây là: hầu hết mọi người cho rằng “challenge period 7 ngày là an toàn vì nó đã được kiểm chứng trên Optimism Mainnet”. Nhưng họ quên rằng Optimism Mainnet có TPS thấp (dưới 5 TPS) và batch size nhỏ. Khi Base, Zora, Mode, và hàng loạt chain khác gia nhập Superchain với TPS cao hơn, cùng một cơ chế bảo mật sẽ trở nên không đủ. Đây là vấn đề “scale of security”: bảo mật không phải là hằng số, nó phải được scale cùng với throughput.
Tôi từng phát hiện lỗi tương tự trong quá trình audit Optimism v2.0 vào năm 2022, khi tôi thấy rằng cơ chế fraud proof bị tắc nghẽn nếu số lượng giao dịch vượt 1000. Lỗi đó đã được sửa bằng cách tăng challenge period lên 7 ngày và giới hạn batch size. Nhưng giờ đây, với Superchain, không có giới hạn batch size chung — mỗi chain có thể tự đặt. Điều này tạo ra một bề mặt tấn công mới.
Takeaway
Câu hỏi đặt ra là: Liệu Superchain có đang lặp lại sai lầm của chính mình không? Khi ngày càng nhiều chain với TPS cao gia nhập, “7 ngày” có còn là con số an toàn? Tôi không có câu trả lời dứt khoát. Nhưng tôi biết rằng: nếu ai đó chịu khó đọc mã nguồn và chạy mô phỏng như tôi đã làm, họ sẽ thấy vết nứt. Và vết nứt nào cũng có lối vào.