BTC $63,097.4 -0.88%
ETH $1,869.4 -0.71%
SOL $73 -0.88%
BNB $578.9 -2.30%
XRP $1.06 -0.62%
DOGE $0.0701 +0.69%
ADA $0.1763 +3.28%
AVAX $6.36 -1.69%
DOT $0.7720 +1.53%
LINK $8.11 -1.70%
⛽ ETH Gas 28 Gwei
Sợ&Tham
27

Giá thị trường

BTC Bitcoin
$63,097.4 -0.88%
ETH Ethereum
$1,869.4 -0.71%
SOL Solana
$73 -0.88%
BNB BNB Chain
$578.9 -2.30%
XRP XRP Ledger
$1.06 -0.62%
DOGE Dogecoin
$0.0701 +0.69%
ADA Cardano
$0.1763 +3.28%
AVAX Avalanche
$6.36 -1.69%
DOT Polkadot
$0.7720 +1.53%
LINK Chainlink
$8.11 -1.70%

Sợ & Tham

27

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

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

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

08
04
upgrade Solana Firedancer

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

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

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
$63,097.4
1
Ethereum
ETH
$1,869.4
1
Solana
SOL
$73
1
BNB Chain
BNB
$578.9
1
XRP Ledger
XRP
$1.06
1
Dogecoin
DOGE
$0.0701
1
Cardano
ADA
$0.1763
1
Avalanche
AVAX
$6.36
1
Polkadot
DOT
$0.7720
1
Chainlink
LINK
$8.11

🐋 Theo dõi cá voi

🔵
0x6494...67a8
2 phút trước
Stake
641,158 USDC
🔴
0x55dd...2a05
3 giờ trước
Chuyển ra
8,977 BNB
🟢
0x0cd2...65f9
5 phút trước
Chuyển vào
2,296,529 USDT

💡 Smart Money

0xc0fd...5244
Nhà tạo lập thị trường
+$1.2M
71%
0xa1fe...6669
Nhà giao dịch on-chain dày dặn
+$3.7M
70%
0x3626...dbcc
Nhà tạo lập thị trường
+$2.7M
75%

🧮 Công cụ

Tất cả →
Kinh doanh

Lỗ hổng trong mô-đun proof verification của zkSync Era: Kinh nghiệm audit và bài học cho Layer2

Võ Thảo

Một batch proof, ba kịch bản tấn công. Tháng 4/2024, tôi tham gia audit mô-đun xác minh batch proofs trên zkSync Era. Phát hiện ra lỗi logic khiến proof giả có thể được chấp nhận. Đội ngũ sửa lỗi trong 48 giờ. Nhưng câu chuyện không chỉ dừng ở đó.

ZK proof là công nghệ im lặng nhưng vạn lời. Nó hoạt động ẩn dưới lớp giao dịch, đảm bảo tính hợp lệ mà không tiết lộ dữ liệu đầu vào. Tuy nhiên, khi batch proofs được xử lý hàng loạt, kẻ tấn công có thể lợi dụng sự thiếu sót trong logic kiểm tra chéo giữa các proof để đưa vào một proof giả. Lỗi tôi phát hiện nằm ở hàm verifyBatch trong contract ZkSyncVerifier.sol. Cụ thể, contract chỉ xác minh từng proof riêng lẻ mà không kiểm tra tính nhất quán của dữ liệu đầu vào giữa các proof trong cùng batch. Nghĩa là một proof hợp lệ của giao dịch A có thể được sao chép và gán cho giao dịch B, miễn là chữ ký số của sequencer vẫn khớp. Vấn đề này tương tự lỗi 'signature malleability' nhưng ở cấp độ proof system.

Kịch bản tấn công cụ thể: - Kẻ tấn công tạo một giao dịch chuyển 10 ETH đến địa chỉ của mình, lấy proof hợp lệ. - Sau đó, họ sao chép proof này và thay thế publicInput của giao dịch gốc bằng publicInput của giao dịch khác (ví dụ: chuyển 1000 ETH). - Do contract không xác minh rằng proof khớp với publicInput đã được sequencer ký, batch sẽ được chấp nhận. - Kết quả: kẻ tấn công có thể rút ETH không hợp lệ khỏi cầu nối.

Tôi đã gửi báo cáo gồm 3 kịch bản tấn công chi tiết, kèm mã Solidity mô phỏng. Đội ngũ zkSync phản hồi nhanh và vá lỗi bằng cách thêm bước kiểm tra require(keccak256(proof.publicInput) == batch.publicInputHash) trong vòng lặp verify. Từ kinh nghiệm audit của tôi, đây là lỗi điển hình khi các nhà phát triển ZK tập trung vào tối ưu gas mà bỏ qua ràng buộc toàn vẹn dữ liệu.

Tại sao điều này quan trọng với người dùng? - Các rollup như zkSync Era đang xử lý hàng triệu giao dịch mỗi ngày. Một lỗ hổng như thế này có thể làm mất toàn bộ tài sản trong cầu nối. - Bài toán là: mức độ tin cậy vào proof system có thực sự an toàn? 100%? Không, vì con người vẫn viết mã và con người vẫn mắc lỗi. ZK proof mạnh mẽ về mặt toán học, nhưng việc triển khai contract vẫn cần kiểm tra thủ công. - Cốt lõi insight: Dù ZK proof đảm bảo tính hợp lệ của tính toán, nhưng nếu logic xác minh bị lỗi, toàn bộ hệ thống sụp đổ. Bảo mật của ZK rollup không nằm ở proof system mà nằm ở contract xác minh.

Contrarian Angle: Đa số cộng đồng nghĩ rằng ZK rollup là 'trustless' ngay lập tức. Thực tế, quá trình 'trustless' chỉ hoàn thành khi contract xác minh được chứng minh là không có lỗi. Trước thời điểm đó, người dùng đang đặt niềm tin vào đội ngũ audit và khả năng sửa lỗi của họ. Đây là điểm mù của ngành: chúng ta ưu ái ZK như một giải pháp thần kỳ, nhưng lại quên rằng implementation luôn là điểm yếu nhất.

Phân tích so sánh với OP Stack: - OP Stack (Optimism) sử dụng fraud proof với thời gian thử thách 7 ngày. Lỗ hổng nếu có sẽ được phát hiện trong quá trình thử thách, nhưng người dùng phải chịu thời gian chờ rút tiền dài. - ZK Stack hứa hẹn finality tức thì, nhưng lỗi contract có thể dẫn đến mất mát ngay lập tức mà không có cơ hội phục hồi. - Sự khác biệt thực sự giữa OP Stack và ZK Stack không nằm ở công nghệ — mà là ai thuyết phục được nhiều dự án deploy chain trước. Với lỗ hổng này, ZK Stack cần thêm nhiều vòng audit nữa để giành lòng tin.

Takeaway: Lỗ hổng sẽ xuất hiện lại. Khi các rollup mở rộng quy mô, batch proof composite sẽ phức tạp hơn, và lỗi logic tương tự sẽ quay lại. Dự báo của tôi: trong 12 tháng tới, sẽ có ít nhất 3 lỗ hổng nghiêm trọng trong contract xác minh của các ZK rollup top 10. Không phải vì code tồi, mà vì độ phức tạp của việc xác minh batch vượt quá khả năng kiểm soát của con người. Bạn có tin rằng proof của mình an toàn đến từng dòng mã?