Đoạn mã xác thực không sai. Bằng chứng hợp lệ. EOF mọi thứ hoàn hảo. Nhưng chính xác thì ai đang vận hành sequencer? Một node duy nhất. 100% sự thật. Đó là bí mật bẩn thỉu của mọi dự án L2 mới ra mắt. Họ có ZK trong whitepaper nhưng không có phi tập trung trong production.

Dựa trên 7 năm kinh nghiệm audit của tôi, vấn đề bề ngoài là sequencer tập trung ở Layer2 — nhưng thực tế sâu xa hơn: bản thân ‘decentralized sequencing’ là một oxymoron. Để đạt throughput cao, bạn cần sự phối hợp nhanh. Sự phối hợp nhanh đòi hỏi một điểm kiểm soát. Đó là lý do tại sao mọi rollup (optimistic hay ZK) đều chạy với một sequencer duy nhất khi mainnet. ‘Aztec Connect’, ‘Scroll’, ‘zkSync’ — đều giống nhau. Họ gọi đó là giai đoạn ‘training wheels’. Tôi gọi đó là backdoor.
Hãy nhìn vào hợp đồng của một L2 ZK gần đây. Mã của sequencer contract có quyền tạm dừng và nâng cấp. Chỉ một chữ ký duy nhất (single-key governance) kiểm soát toàn bộ cầu nối. Mỗi block được sản xuất, sequencer là người duy nhất quyết định. Cấu trúc dữ liệu của transaction pool? Không public. Mempool là private — tức là MEV thuộc về sequencer. Người dùng thông thường vẫn giao dịch, nhưng thực chất họ đang tin tưởng vào một máy chủ ở AWS.
Đây là cạm bẫy: cộng đồng mừng vì sự ra mắt của ZK proof, nhưng quên mất rằng bảo mật của system không chỉ nằm ở proof. Bảo mật của một L2 là tổng thể: sequencer + proposer + cầu nối. Nếu sequencer bị hỏng, tất cả proof có chứng minh được block không hợp lệ cũng vô dụng. Vì sequencer có thể đóng băng tài sản. Nó có thể kiểm duyệt giao dịch của bạn. Nó thậm chí có thể reorg một block và claim một balance khác. Nghe giống một cơn ác mộng? Đó là reality của mọi L2 hiện tại.
Điểm mù bảo mật không phải là lỗi trong ZK circuit. Điểm mù là giả định an ninh sai lầm: mọi người cho rằng ‘ZK = trustless’. Nhưng không. ZK proof chỉ chứng minh rằng state transition là đúng, nhưng không chứng minh rằng sequencer không kiểm duyệt bạn hay không đánh cắp tiền của bạn qua cầu nối. Để có được sự trustless hoàn chỉnh, bạn cần một proposer phi tập trung — như L1 của Ethereum. Nhưng điều đó có nghĩa là bạn phải hy sinh throughput. Và đó là lý do không ai thực sự làm điều đó trong production.

Phân tích của tôi chỉ ra rằng: mỗi L2 mới ra mắt trong bull run này đều chơi trò ‘chicken game’ với bảo mật. Họ biết sequencer tập trung là rủi ro. Họ biết ‘decentralized sequencing’ còn lâu mới tới. Nhưng họ đặt tăng trưởng TVL và câu chuyện marketing lên trước. Và cộng đồng — với sự FOMO — chấp nhận điều đó.

Vậy takeaway là gì? Trước khi gửi tài sản vào bất kỳ L2 nào, hãy đọc mã nguồn. Không phải whitepaper. Hãy tìm hàm setSequencer hoặc pause. Hãy kiểm tra xem ai có quyền nâng cấp. Nếu chỉ có một chữ ký, bạn không sở hữu tài sản của bạn. Bạn đang cho mượn nó. Và trong một system tập trung, bạn không có gì đảm bảo rằng bạn sẽ lấy lại được nó vào ngày mai.