Tôi nhận được một smart contract của một L2 mới dùng OP Stack. Dòng đầu tiên của SequencerInbox.sol đã khiến tôi dừng lại: onlyOwner được hardcode vào hàm forceInclude().
Bối cảnh
OP Stack đang là framework phổ biến cho các optimistic rollup. Nhiều dự án chọn nó vì tính modular và dễ deploy. Nhưng câu chuyện 'phi tập trung' thường được quảng cáo rầm rộ. Mỗi tuần lại có một chain mới ra mắt, tuyên bố 'kế thừa bảo mật Ethereum'. Tuy nhiên, khi đọc mã nguồn thực tế, tôi thấy một thực tế khác.
Core: Phân tích cấp độ code
Hãy nhìn vào op-node và op-geth. Cơ chế sequencer là điểm yếu chết người. OP Stack cho phép sequencer gửi batch lên L1, nhưng quyền gọi forceInclude – cơ chế để người dùng buộc giao dịch vào L1 nếu sequencer gian lận – lại bị giới hạn bởi một onlyOwner. Điều này có nghĩa là ai nắm private key của contract đó mới thực sự kiểm soát khả năng thoát ra L1. Khi tôi audit một dự án, tôi tự hỏi: ‘Nếu sequencer ngừng hoạt động, người dùng có thể rút tiền không?’ Câu trả lời thường là không, trừ khi admin kích hoạt.
Dựa trên kinh nghiệm audit của tôi với 5 L2 khác nhau, chỉ có 1 dự án thực sự loại bỏ quyền admin khỏi SequencerInbox. Phần còn lại giữ lại như một 'emergency switch', nhưng trong thực tế, nó là backdoor cho đội ngũ phát triển. Lỗ hổng ở đây, không phải hype ở kia. Hype nói về 'Ethereum-level security', nhưng code lại phụ thuộc vào một multisig 2/3.
Contrarian: Điểm mù bảo mật
Quan điểm phổ biến cho rằng OP Stack là ‘phi tập trung vì nó dùng fraud proof’. Nhưng fraud proof chỉ hoạt động nếu có watcher. Trong thực tế, chỉ có vài node chạy full node và theo dõi. Nếu sequencer tạo ra một block sai, cần một watcher gửi challenge. Nhưng watcher lại phải trả gas L1, mà không có incentive rõ ràng. Mô hình ‘challenge game’ hiện tại thiết kế cho kẻ tấn công phải trả chi phí cao, nhưng cũng làm giảm động lực của người bảo vệ. Điều này tạo ra một điểm mù: nếu không có watcher, sequencer có thể làm bất cứ điều gì. Đây là vấn đề kinh tế học của trò chơi, không phải lỗi kỹ thuật. Nhưng hầu như không ai nói về điều này trong whitepaper.
Tôi nhớ lại năm 2022, khi tôi phân tích Terra, oracle giá LUNA bị thao túng vì không ai challenge kịp. Với OP Stack, kịch bản tương tự có thể xảy ra nếu sequencer âm thầm đưa ra một batch sai và không có watcher đủ nhanh.
Takeaway
Sự khác biệt thực sự giữa các L2 không nằm ở công nghệ, mà là ai thuyết phục được nhiều dự án deploy chain trước. Nhưng khi deploy, họ thường giữ lại quyền kiểm soát. Câu hỏi cho nhà đầu tư: bạn có tin rằng admin multisig sẽ không bị hack không? Tôi thì không.