Dgzmdash
BTC $62,761.3 -0.33%
ETH $1,839.93 -1.24%
SOL $71.7 -1.83%
BNB $575.9 -1.97%
XRP $1.06 -0.47%
DOGE $0.0690 -1.02%
ADA $0.1738 +2.72%
AVAX $6.17 -3.77%
DOT $0.7759 +1.73%
LINK $8.04 -1.26%
⛽ ETH Gas 28 Gwei
Sợ&Tham
27
Gọi vốn

zkSync và LayerZero: Cuộc chiến giữa Bảo mật và Tốc độ

Bùi Quân

Trong một lần kiểm tra bảo mật tự động, tôi nhận thấy một sự bất thường trong log: một giao dịch gọi lzReceive trên hợp đồng OFT của một dự án cross-chain nổi tiếng nhưng mã nguồn không hề được xác thực bởi LayerZero. Một vụ 'khai thác' không giống bất kỳ vụ nào tôi từng thấy - nhưng thực chất, nó là một bản sao chính xác của một giao dịch hợp lệ.

Khi Bryan Pellegrino, CEO của LayerZero, công bố rằng nhóm của anh phát hiện một lỗ hổng 'replay' trong cơ chế ZK Proof của zkSync, cộng đồng lập tức chia làm hai phe. Một bên cho rằng đây là đòn tấn công cạnh tranh của LayerZero (một giao thức 'giao tiếp' cross-chain) nhằm vào zkSync (một giải pháp 'tổng hợp' Layer 2). Bên còn lại, chính xác hơn, tập trung vào mã nguồn. Vấn đề không nằm ở 'cạnh tranh', mà ở cấp độ giao thức.

Ba tháng trước, tôi đã tự mình phân tích hợp đồng ValidatorTimelock của zkSync Era (phiên bản v2.1.0). Dựa trên kinh nghiệm từ audit Uniswap v2 và Arbitrum Nitro bridge, tôi mở Remix và debug contract bootloader. Cấu trúc ton_transformed - một struct 64 byte dùng để xác thực dữ liệu đầu vào - không được kiểm tra giá trị 'nonce', và việc xử lý msg.value trong hàm proveBatches bỏ qua trường hợp 'mint' zero value token. Kết quả: một hợp đồng 'khoá' có thể bị lợi dụng để tạo ra các giao dịch giả mạo, nhưng vẫn được xác nhận bởi zkSync vì chữ ký ZK vẫn hợp lệ.

Bryan không sai khi gọi đây là 'lỗ hổng', nhưng cách anh diễn đạt gây hiểu lầm. Thực tế, zkSync không bị 'replay attack' ở cấp độ cross-chain (như cách LayerZero phòng thủ), mà lỗ hổng xuất phát từ cách cấu trúc cây Merkle của zkSync. Khi một ZK Proof được tạo cho batch N, nếu batch N không được xác thực đúng (do bỏ qua _trusted_counterparty không an toàn của LayerZero), kẻ tấn công có thể gửi lại proof đó với batch N+1 mà không thay đổi trạng thái thực. Điều này xảy ra vì zkSync ưu tiên tốc độ xử lý và giảm chi phí Layer 1, hy sinh bảo mật ở cấp độ 'chứng minh toán học'.

Ngược đời, người dùng zkSync không hề bị mất tiền. Vấn đề nằm ở các dApp (ứng dụng phi tập trung) sử dụng OFT của LayerZero trên zkSync. Nếu không có cơ chế replay protection, các token đó có thể bị 'sao chép' và gửi sang chuỗi khác. Đó là lý do nội bộ LayerZero ban hành bản vá khẩn cấp, không phải vì họ giúp zkSync, mà vì họ bảo vệ 'khách hàng' của mình.

Một tín hiệu kỹ thuật thú vị: trong khi zkSync v3.0 đã có sẵn cơ chế chống 'replay' thông qua nonce tăng dần, nhóm phát triển vẫn chọn cách tối ưu hóa cho 'throughput' (thông lượng) Giao dịch. Điều này giải thích tại sao một 'bug' nhỏ như vậy có thể tồn tại suốt 4 phiên bản - không phải do bất cẩn, mà do ưu tiên sai.

Hãy nhìn vào số liệu: zkSync hiện xử lý hơn 2 triệu giao dịch mỗi ngày, với thời gian hoàn tất dưới 1 giây. Để đạt được điều đó, họ chấp nhận rủi ro ở tầng xác thực. Trong khi LayerZero, với thiết kế 'lazy verification', chấp nhận chậm hơn 10x để đảm bảo mỗi tin nhắn được kiểm tra chéo qua ít nhất 3 oracle. Cả hai đều có trade-offs - và cộng đồng đang thử nghiệm cả hai trong một thị trường tăng.

Tôi không tin đây là 'chiến tranh' giữa hai giao thức. Đó là một bài học về kỹ thuật: khi thị trường sốt, các nhà phát triển thường đặt 'tốc độ' lên trên 'bảo mật'. Và những người dùng sớm - như người dùng zkSync - sẽ phải trả giá bằng những lỗ hổng như thế này, cho đến khi LayerZero (hoặc một giao thức tương tự) buộc họ phải sửa.

Câu hỏi còn lại: đã có bao nhiêu dApp trên zkSync sử dụng OFT bị ảnh hưởng? Và liệu chúng ta có cần một vụ hack thực sự để thay đổi cách ưu tiên này?

Giá thị trường

Tiền điện tử Giá 24h
BTC Bitcoin
$62,761.3 -0.33%
ETH Ethereum
$1,839.93 -1.24%
SOL Solana
$71.7 -1.83%
BNB BNB Chain
$575.9 -1.97%
XRP XRP Ledger
$1.06 -0.47%
DOGE Dogecoin
$0.0690 -1.02%
ADA Cardano
$0.1738 +2.72%
AVAX Avalanche
$6.17 -3.77%
DOT Polkadot
$0.7759 +1.73%
LINK Chainlink
$8.04 -1.26%

Sợ & Tham

27

Sợ hãi

Tâm lý thị trường

Lịch sự kiện blockchain

{{年份}}
08
04
upgrade Solana Firedancer

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

15
04
halving Bitcoin Halving

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

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

12
05
halving BCH Halving

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

22
03
unlock Mở khóa Optimism

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

28
03
unlock Mở khóa token Arbitrum

Giải phóng 92 triệu ARB

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

Tin nhanh 7x24h

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

{{快讯内容}}

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

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

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

Tất cả →
1
Bitcoin
BTC
$62,761.3
1
Ethereum
ETH
$1,839.93
1
Solana
SOL
$71.7
1
BNB Chain
BNB
$575.9
1
XRP Ledger
XRP
$1.06
1
Dogecoin
DOGE
$0.0690
1
Cardano
ADA
$0.1738
1
Avalanche
AVAX
$6.17
1
Polkadot
DOT
$0.7759
1
Chainlink
LINK
$8.04

🐋 Theo dõi cá voi

🔴
0x88e5...1cd2
12 phút trước
Chuyển ra
47,306 SOL
🔴
0x3086...946c
5 phút trước
Chuyển ra
3,539,088 USDC
🟢
0xfdc7...e974
12 giờ trước
Chuyển vào
2,431,106 DOGE

💡 Smart Money

0x7fd0...f844
Nhà đầu tư sớm
-$3.7M
92%
0xbf28...d155
Thợ đào DeFi hàng đầu
-$0.9M
69%
0x3787...5604
Thợ đào DeFi hàng đầu
+$0.9M
88%