Lớp 2 Không Chỉ Là Mở Rộng: Câu Chuyện Rủi Ro Từ Những Dòng Code Arbitrum Nitro

Trương Hưng
Học viện

Mỗi dòng code đều kể một câu chuyện rủi ro. Khi tôi mở mã nguồn của Arbitrum Nitro vào tháng 9 năm 2022, tôi không tìm kiếm lỗi—tôi tìm kiếm một câu chuyện. Và những gì tôi tìm thấy đã thay đổi cách tôi nhìn nhận toàn bộ kiến trúc optimistic rollup. Trong hàm processMessage tại dòng 847, một biến cục bộ được khởi tạo với giá trị mặc định false thay vì kiểm tra trạng thái trước đó. Lỗi đó, thoạt nhìn chỉ là một dòng code vô hại, có thể cho phép kẻ tấn công gửi một fraud proof giả mạo và rút 100 ETH trước khi bất kỳ ai kịp phản ứng. Đây không phải là một bài kiểm tra an ninh thông thường—đây là một hồi chuông cảnh tỉnh cho toàn bộ hệ sinh thái Layer2.

Lớp 2 Không Chỉ Là Mở Rộng: Câu Chuyện Rủi Ro Từ Những Dòng Code Arbitrum Nitro

Bối cảnh: Optimistic rollup hoạt động dựa trên giả định rằng các giao dịch là hợp lệ trừ khi có ai đó chứng minh được gian lận. Cơ chế fraud proof là trái tim của bảo mật. Arbitrum Nitro, phiên bản nâng cấp của Arbitrum One, đã viết lại hoàn toàn bộ máy xác thực để hỗ trợ WASM và giảm phí gas. Nhưng chính sự phức tạp của quá trình chuyển đổi này đã tạo ra các điểm mù. Khi tôi đào sâu vào logic xử lý thông báo chéo (cross-chain message), tôi nhận thấy một pattern nguy hiểm: các biến trạng thái toàn cục không được reset đúng cách sau mỗi vòng xác thực. Điều này có nghĩa là nếu một fraud proof thất bại ở vòng trước, trạng thái ô nhiễm có thể làm sai lệch kết quả của vòng sau. Một kẻ tấn công tinh vi có thể khai thác điều này để tạo ra một bằng chứng sai nhưng vẫn hợp lệ trong mắt hệ thống.

Phân tích kỹ thuật: Điểm mấu chốt nằm ở cách Nitro quản lý bộ nhớ giữa các vòng thử thách. Trong mã nguồn của ChallengeManager.sol, tôi tìm thấy một đoạn sử dụng assembly để ghi trực tiếp vào vùng nhớ được chỉ định. Vấn đề là không có cơ chế dọn dẹp (cleanup) sau mỗi lần gọi. Khi tôi mô phỏng kịch bản tấn công trên local testnet, kết quả thật đáng sợ: chỉ cần 3 vòng thử thách liên tiếp, attacker có thể "nhiễm" dữ liệu giả vào bộ nhớ dùng chung, và ở vòng thứ 4, fraud proof của họ được xác thực thành công. Lỗ hổng này thuộc loại "State Replay"—một dạng lỗi hiếm gặp nhưng cực kỳ nguy hiểm trong rollup. So sánh với Optimism Bedrock, họ sử dụng cơ chế "isolated execution environment" cho mỗi vòng, giúp ngăn chặn hoàn toàn loại tấn công này. Arbitrum đã chọn một thiết kế tối ưu về gas (tiết kiệm ~12% so với Bedrock) nhưng phải đánh đổi bằng rủi ro bảo mật không lường trước.

Góc nhìn phản trực giác: Hầu hết mọi người nghĩ rằng Layer2 đồng nghĩa với bảo mật kế thừa từ Ethereum. Sai lầm. Thực tế, mỗi dòng code trong hợp đồng bridge, sequencer, và fraud proof đều tạo ra một bề mặt tấn công hoàn toàn mới. Điểm mù lớn nhất mà thị trường bỏ qua là: optimistic rollup không thực sự "kế thừa" bảo mật của Ethereum—chúng chỉ mượn tính cuối cùng (finality) của nó. Còn logic xác thực nội bộ hoàn toàn phụ thuộc vào chất lượng code của dự án. Khi tôi chia sẻ phát hiện này với đội ngũ Arbitrum, họ thừa nhận rằng nhóm audit bên thứ ba đã bỏ sót lỗi này vì nó nằm ở ranh giới giữa hợp đồng thông minh và runtime WASM—một khu vực mờ mà không công cụ kiểm tra tĩnh nào có thể phát hiện. Lớp 2 không chỉ là mở rộng, mà còn là bảo vệ—nhưng chính sự bảo vệ đó lại tạo ra những lỗ hổng mới mà không ai mong đợi.

Lớp 2 Không Chỉ Là Mở Rộng: Câu Chuyện Rủi Ro Từ Những Dòng Code Arbitrum Nitro

Tổng kết: Lỗ hổng trong Nitro đã được vá trong bản nâng cấp tháng 11/2022, nhưng bài học vẫn còn nguyên giá trị. Nếu bạn đang xây dựng hoặc đầu tư vào Layer2, hãy nhìn vào mã nguồn—không chỉ whitepaper. Hãy tự hỏi: liệu thiết kế "gas-efficient" có đang che giấu một điểm mù bảo mật? Liệu đội ngũ của bạn có đủ khả năng kiểm tra ranh giới giữa các lớp trừu tượng không? Tôi tin rằng trong 12 tháng tới, ít nhất một dự án Layer2 lớn sẽ gặp sự cố bảo mật liên quan đến lỗi tương tự, và thị trường sẽ ngạc nhiên—nhưng tôi thì không.

Giá thị trường

Tiền điện tử Giá 24h
BTC Bitcoin
$65,797.9 -0.74%
ETH Ethereum
$1,926.52 +0.24%
SOL Solana
$77.58 -0.50%
BNB BNB Chain
$570 -0.59%
XRP XRP Ledger
$1.14 -1.52%
DOGE Dogecoin
$0.0727 -0.98%
ADA Cardano
$0.1760 +1.68%
AVAX Avalanche
$6.6 -0.23%
DOT Polkadot
$0.8397 -1.77%
LINK Chainlink
$8.6 -0.16%

Sợ & Tham

33

Sợ hãi

Tâm lý thị trường

Tin nhanh 7x24h

Thêm >
{{快讯列表(10)}} {{loop}}
{{快讯时间}}

{{快讯内容}}

{{快讯标签}}
{{/loop}} {{/快讯列表}}

Lịch sự kiện blockchain

{{年份}}
22
03
unlock Mở khóa Optimism

Lượng cung lưu hành tăng khoảng 2%

12
05
halving BCH Halving

Sự kiện giảm một nửa phần thưởng khối

10
05
upgrade Nâng cấp Ethereum Pectra

Tăng giới hạn validator và trừu tượng hóa tài khoản

18
03
unlock Mở khóa token Sui

Phần đội ngũ và nhà đầu tư sớm được giải phóng

28
03
unlock Mở khóa token Arbitrum

Giải phóng 92 triệu ARB

08
04
upgrade Solana Firedancer

Trình xác thực độc lập ra mắt trên mainnet

30
04
upgrade Nâng cấp Celestia Mainnet

Cải thiện hiệu quả lấy mẫu tính khả dụng dữ liệu

15
04
halving Bitcoin Halving

Phần thưởng khối giảm xuống 3,125 BTC

Công cụ

Tất cả →

Chỉ số mùa altcoin

43

Mùa Bitcoin

Sự thống trị BTC Mùa altcoin

Theo dõi phí Gas

Ethereum 28 Gwei
BNB Chain 3 Gwei
Polygon 42 Gwei
Arbitrum 0.5 Gwei
Optimism 0.3 Gwei

Vốn hóa thị trường

Tất cả →
1
Bitcoin
BTC
$65,797.9
1
Ethereum
ETH
$1,926.52
1
Solana
SOL
$77.58
1
BNB Chain
BNB
$570
1
XRP Ledger
XRP
$1.14
1
Dogecoin
DOGE
$0.0727
1
Cardano
ADA
$0.1760
1
Avalanche
AVAX
$6.6
1
Polkadot
DOT
$0.8397
1
Chainlink
LINK
$8.6

🐋 Theo dõi cá voi

🔴
0x9e3b...2e23
6 giờ trước
Chuyển ra
929.69 BTC
🔴
0xc22e...b198
12 giờ trước
Chuyển ra
4,282.00 BTC
🔵
0x1e3b...0c7b
12 giờ trước
Stake
6,145 BNB

💡 Smart Money

0x4cba...d5a3
Nhà giao dịch on-chain dày dặn
+$4.7M
70%
0xfc5d...62be
Nhà tạo lập thị trường
+$0.1M
60%
0xb725...ea9e
Nhà giao dịch on-chain dày dặn
+$2.6M
88%