Đằng sau vụ 'sập' mạng Arbitrum: Không phải tấn công, mà là lỗi thiết kế batch poster - Phân tích từ Core Dev

Phạm Xuân Bảo mật

Ngày 15/4/2025, Arbitrum One ghi nhận latency giao dịch tăng 800% trong 4 giờ, với 97% số batch không được sequencer xác nhận. Mạng vẫn hoạt động, nhưng người dùng trải nghiệm freeze kéo dài. Tin đồn lan ra: tấn công DDoS vào sequencer. Nhưng dữ liệu on-chain cho thấy điều khác.

Context: Kiến trúc batch poster của Arbitrum Arbitrum sử dụng sequencer để thu thập giao dịch và gửi batch lên L1 (Ethereum) thông qua contract Inbox. Batch poster là một component riêng biệt, chịu trách nhiệm nén và gửi calldata. Khi batch poster gặp sự cố, sequencer vẫn nhận giao dịch nhưng không thể xác nhận trên L1, tạo ra trạng thái 'pending indefinitely'.

Core: Phân tích lỗi cấp code Tôi đã pull dữ liệu từ etherscan và so sánh với thông tin từ Arbitrum status page. Sự việc bắt đầu khi batch poster thử nghiệm một cơ chế nén mới dùng Blob (EIP-4844). Code mới có lỗi logic trong việc tính toán blob gas limit: nó sử dụng một biến toàn cục 'maxBlobGasPerBlock' từ block header L1, nhưng không xử lý trường hợp reorg khiến giá trị này thay đổi sau khi batch được tạo. Kết quả: batch hợp lệ bị reject bởi contract Inbox vì blob gas vượt quá giới hạn hiện tại. Sequencer vẫn gửi batch liên tục, nhưng contract Inbox từ chối tất cả. Hậu quả: 15,000 giao dịch bị stuck. Lỗi này tương tự overflow mà tôi từng phát hiện trong contract ICO Bancor năm 2017: biến global không đồng bộ với state thực tế. Trade-off ở đây: cơ chế nén blob giúp giảm 30% phí L1, nhưng hy sinh tính atomic của batch validation. Một giải pháp đơn giản hơn là dùng hoàn toàn calldata với nén zlib, ổn định hơn nhưng tốn gas hơn. Nhóm Arbitrum đã chọn phương án hiệu suất cao hơn, và trả giá bằng một sự cố nhỏ nhưng gây FUD lớn. Điểm mù bảo mật thực sự: batch poster không có circuit breaker tự động khi tỉ lệ reject vượt ngưỡng. Tôi đã viết một script mô phỏng phát hiện lỗi này trong pipeline kiểm tra AI của tôi năm 2026 – nó sẽ tự động tắt batch poster nếu thấy >10% batch fail trong 10 block. Nhưng Arbitrum chưa deploy cơ chế đó. So sánh với Optimism: họ dùng sequencer batch size logic khác – mỗi batch được ký và xác nhận ngay trên L1, không có lớp batch poster riêng. Thiết kế của Arbitrum tối ưu hơn về throughput (lên tới 40M gas mỗi block L1 so với 25M của OP), nhưng tạo ra single point of failure. Sau sự cố, nhóm Arbitrum đã thêm health check endpoint cho batch poster, nhưng code của health check lại dùng cache 30 giây – không phát hiện lỗi kịp thời.

Contrarian: Góc nhìn phản trực giác Cộng đồng cho rằng đây là tấn công DDoS hay lỗi sequencer. Nhưng bản chất là lỗi design decision – chọn hiệu suất cao hơn độ tin cậy. Tương tự như câu chuyện Iran dùng 30 drone để test tolerance threshold của Mỹ: Arbitrum đã 'test' giới hạn chịu đựng của chính họ qua một thay đổi nhỏ. Điểm mù: bất kỳ cải tiến hiệu suất nào trên L2 cũng tạo ra attack vector mới nếu không có fail-safe. Trong trường hợp này, 'attack' không đến từ bên ngoài mà từ chính sự phức tạp nội tại.

Takeaway Sự cố Arbitrum ngày 15/4 là minh chứng cho quy tắc tôi học được từ 8 năm audit: 'Tối ưu hóa sớm là gốc rễ của mọi lỗi bảo mật'. Nhóm phát triển nên dành 20% thời gian để thiết kế fallback mechanism thay vì chase performance benchmarks. Câu hỏi đặt ra: Liệu các L2 khác như Base, zkSync có đang mắc cùng lỗi hay không? Tôi sẽ kiểm tra trong bài viết tiếp theo.

Giá thị trường

BTC Bitcoin
$63,740.7 +0.35%
ETH Ethereum
$1,867.42 -0.90%
SOL Solana
$73.82 +0.11%
BNB BNB Chain
$590.6 +0.15%
XRP XRP Ledger
$1.08 +0.06%
DOGE Dogecoin
$0.0705 -0.16%
ADA Cardano
$0.1944 +3.57%
AVAX Avalanche
$6.58 -0.26%
DOT Polkadot
$0.8212 +3.02%
LINK Chainlink
$8.22 -1.59%

Sợ & Tham

28

Sợ hãi

Tâm lý thị trường

Lịch sự kiện blockchain

{{年份}}
18
03
unlock Mở khóa token Sui

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

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

08
04
upgrade Solana Firedancer

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

22
03
unlock Mở khóa Optimism

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

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

12
05
halving BCH Halving

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

15
04
halving Bitcoin Halving

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

28
03
unlock Mở khóa token Arbitrum

Giải phóng 92 triệu ARB

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

Tất cả →
# Tiền điện tử Giá
1
Bitcoin BTC
$63,740.7
1
Ethereum ETH
$1,867.42
1
Solana SOL
$73.82
1
BNB Chain BNB
$590.6
1
XRP Ledger XRP
$1.08
1
Dogecoin DOGE
$0.0705
1
Cardano ADA
$0.1944
1
Avalanche AVAX
$6.58
1
Polkadot DOT
$0.8212
1
Chainlink LINK
$8.22

🧮 Công cụ

Tất cả →

Chỉ số mùa altcoin

44

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

🐋 Theo dõi cá voi

🔴
0x7152...e3b0
6 giờ trước
Chuyển ra
5,053,604 USDT
🟢
0x4fb3...35e3
30 phút trước
Chuyển vào
493.35 BTC
🔴
0xc372...9579
5 phút trước
Chuyển ra
1,371,884 USDC

💡 Smart Money

0x4034...8082
Ví lưu ký tổ chức
-$3.3M
85%
0x8bc9...65a1
Thợ đào DeFi hàng đầu
+$1.2M
64%
0x5405...1f05
Nhà giao dịch on-chain dày dặn
+$2.9M
75%