Lỗ hổng cross-shard Harmony: 3.01 nghìn tỷ ONE từ hư vô và bài học về sự phức tạp của sharding

Lý Phúc Xã luận

Ngày 12 tháng 8, Harmony Protocol ghi nhận một sự kiện mint trái phép. Dữ liệu on-chain ban đầu cho thấy 4 tỷ ONE được tạo ra từ hai khối rỗng. Nhưng bản dựng lại sau đó mới thực sự gây sốc: 3.01 nghìn tỷ ONE. Con số này lớn hơn tổng cung lưu hành thực tế của ONE (khoảng 13 tỷ) gần 230 lần. Một lỗi typo? Một con số ảo? Không. Đó là hậu quả của lỗ hổng cross-shard receipt replay – một vấn đề kỹ thuật mà tôi đã từng thấy trong các hệ thống sharding thử nghiệm từ năm 2021. Kẻ tấn công không cần phá vỡ mật mã hay chiếm quyền kiểm soát validator. Chúng chỉ cần tận dụng một lỗi logic trong cách xử lý biên lai giao dịch xuyên shard. Và từ đó, chúng mint token từ hư vô. Hãy cùng tôi mổ xẻ chi tiết.

Bối cảnh: Harmony Protocol và cơn ác mộng của sharding

Harmony là một blockchain sharding gồm 4 shard (0-3), mỗi shard xử lý giao dịch riêng. Giao tiếp xuyên shard được thực hiện thông qua cơ chế receipt: khi một giao dịch từ shard A gửi token đến shard B, shard A tạo ra một receipt, được validator ký và chuyển tiếp. Sau đó, shard B xác nhận receipt và thực hiện mint token tương ứng. Vấn đề nằm ở bước xác minh: nếu receipt không có cơ chế chống replay, kẻ tấn công có thể gửi lại cùng một receipt nhiều lần, khiến shard B mint token lặp lại. Điều này tương tự lỗi reentrancy trong smart contract, nhưng ở cấp độ blockchain.

Trong trường hợp này, kẻ tấn công đã khai thác lỗ hổng xác minh chữ ký và quorum trước staking. Cụ thể, các receipt cross-shard đã được xử lý mà không kiểm tra tính duy nhất của chúng. Harmony xác nhận rằng lỗ hổng đã được vá vào ngày 12 tháng 8 lúc 06:30 UTC thông qua phiên bản mainnet v2026.1.1. Nhưng trước đó, 6 giao dịch cross-shard giả mạo đã thành công, mint ra 3.01 nghìn tỷ ONE về 4 ví tấn công. Trong đó, 4 tỷ ONE được mint từ hai khối rỗng (1 tỷ + 3 tỷ), sau đó 2.8 tỷ được chuyển sang các địa chỉ khác. Số còn lại (3.01 nghìn tỷ) là kết quả của việc replay receipt nhiều lần, tạo ra số dư khổng lồ trên sổ cái, nhưng không có thanh khoản thực tương ứng.

Phân tích kỹ thuật: Cách mà lỗ hổng hoạt động

Hãy tưởng tượng bạn có một hệ thống ngân hàng: bạn gửi một lệnh chuyển tiền từ chi nhánh A đến chi nhánh B. Chi nhánh A xác nhận lệnh và gửi một biên lai đến chi nhánh B. Nếu chi nhánh B không kiểm tra biên lai này đã được sử dụng chưa, nó sẽ ghi có vào tài khoản đích mỗi lần nhận được biên lai. Kẻ tấn công chỉ cần chặn biên lai đó và gửi lại 100 lần, 1000 lần. Đó chính xác là những gì đã xảy ra với Harmony.

Dựa trên kinh nghiệm audit smart contract của tôi, lỗ hổng này thường xuất hiện khi các nhà phát triển không triển khai nonce hoặc ID duy nhất cho mỗi receipt. Trong blockchain sharding, mỗi giao dịch cross-shard cần một ID duy nhất toàn cầu, được xác nhận bởi đa số validator. Harmony sử dụng cơ chế quorum (2/3 validator đồng ý), nhưng lỗ hổng nằm ở chỗ receipt được xử lý trước khi kiểm tra quorum dựa trên staking. Kẻ tấn công có thể tạo ra các receipt giả mạo với chữ ký của các validator cũ, hoặc khai thác lỗi trong quá trình tổng hợp chữ ký BLS.

Phân tích on-chain cho thấy 6 giao dịch cross-shard giả mạo đã tạo ra 3.01 nghìn tỷ ONE. Con số 3.01 nghìn tỷ nghe có vẻ vô lý, nhưng nó phản ánh số lần replay: mỗi receipt được phát lại hàng trăm nghìn lần, tạo ra số dư ảo trên sổ cái. May mắn, các sàn giao dịch và bridge đã đóng băng phần lớn số token bị đánh cắp. Tuy nhiên, 2.8 tỷ ONE đã được chuyển đi, và Harmony đang phối hợp với LayerZero, validator và các sàn để đóng băng. Kế hoạch rollback mạng về block 92,730,034 (trước vụ tấn công) đã được kích hoạt. Shard 0 hiện đã dừng ở block 92,753,555, và RPC chính thức trả về lỗi 502.

Góc nhìn phản trực giác: Không phải lỗi bridge, mà là lỗi sharding

Nhiều người sẽ vội vàng kết luận: "Lại một lỗi bridge nữa." Nhưng Harmony không phải là một bridge thông thường. Cross-shard là một phần của cơ chế đồng thuận nội tại. Lỗ hổng này tương tự lỗi IBC trên Cosmos năm 2022, khi một validator giả mạo có thể gửi gói tin cross-chain không hợp lệ. Và cũng giống như Solana từng gặp lỗi lặp lại giao dịch trong hệ thống sharding của mình.

Điểm mù mà cộng đồng thường bỏ qua: sharding làm tăng độ phức tạp theo cấp số nhân. Mỗi shard chạy một instance riêng, nhưng phải đồng bộ trạng thái toàn cầu. Khi bạn có 4 shard, số lượng tương tác cross-shard là 4x4 = 16 kênh. Nếu mỗi kênh cần xác minh riêng, khả năng xuất hiện lỗi logic là rất cao. Harmony đã từng quảng bá sharding như một giải pháp mở rộng, nhưng thực tế, họ đã hy sinh tính an toàn để đạt hiệu suất. Lỗ hổng này là minh chứng rõ ràng.

Tôi từng viết một bot arbitrage cho Uniswap V3, và tôi biết rằng việc xử lý lặp lại giao dịch là một trong những lỗi cơ bản nhất. Nhưng ở cấp độ blockchain, nó trở thành thảm họa. Các nhà phát triển Harmony đã không học từ lỗi của những người đi trước, như lỗi reentrancy trong DAO Hack 2016. Và giờ đây, người dùng phải trả giá.

Bài học quản lý rủi ro: Niềm tin có thể bị mint từ hư vô

FOMO là thuế của kẻ lười phân tích. Những ai đã stake ONE hoặc gửi tài sản qua bridge Harmony mà không kiểm tra lịch sử audit, giờ đây đang phải đối mặt với rủi ro mất trắng. Mỗi dòng code là một lời hứa, nhưng lời hứa đó có thể bị phá vỡ bởi một lỗi logic. Backtest là tấm gương phản chiếu lòng tham – nếu bạn không kiểm tra kỹ lưỡng cơ chế cross-shard, bạn sẽ bị phản bội.

Kế hoạch rollback của Harmony có thể khôi phục trạng thái trước tấn công, nhưng nó đặt ra câu hỏi: liệu người dùng có còn tin tưởng vào một blockchain có thể mint token từ hư vô không? Và quan trọng hơn, điều gì sẽ xảy ra nếu kẻ tấn công đã chuyển token sang các chain khác thông qua bridge? LayerZero đang đóng băng, nhưng vẫn còn nhiều kênh chưa được kiểm soát.

Kết luận: Khi sharding trở thành con dao hai lưỡi

Sự cố Harmony không chỉ là một vụ hack. Nó là lời cảnh tỉnh cho toàn bộ hệ sinh thái sharding. Nếu một blockchain có thể mint token từ hư vô chỉ vì lỗi replay receipt, thì toàn bộ khái niệm "tin cậy vào code" trở nên mong manh. Các nhà phát triển cần học từ lỗi này: mỗi receipt cross-shard phải có nonce duy nhất, được xác nhận bởi chữ ký BLS dựa trên staking, và quan trọng nhất, phải có cơ chế chống replay ở cấp độ giao thức.

Và với tư cách là một nhà giao dịch, tôi sẽ không bao giờ chạm vào một blockchain sharding chưa qua kiểm toán kỹ lưỡng. Như câu hỏi cuối: Khi một chain có thể mint token từ hư vô, bạn có dám để tài sản của mình trên đó không?

Giá thị trường

Tiền điện tử Giá 24h
BTC Bitcoin
$78,737.2 -2.26%
ETH Ethereum
$2,453.08 -1.94%
SOL Solana
$96.4 -5.42%
BNB BNB Chain
$693.3 -3.24%
XRP XRP Ledger
$1.43 -6.08%
DOGE Dogecoin
$0.0861 -6.93%
ADA Cardano
$0.2091 -7.68%
AVAX Avalanche
$7.31 -4.93%
DOT Polkadot
$0.8477 -7.75%
LINK Chainlink
$11.32 -4.13%

Sợ & Tham

65

Tham lam

Tâm lý thị trường

Lịch sự kiện blockchain

{{年份}}
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

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

22
03
unlock Mở khóa Optimism

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

08
04
upgrade Solana Firedancer

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

18
03
unlock Mở khóa token Sui

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

Công cụ

Tất cả →

Chỉ số mùa altcoin

41

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ả →
# Tiền điện tử Giá
1
Bitcoin BTC
$78,737.2
1
Ethereum ETH
$2,453.08
1
Solana SOL
$96.4
1
BNB Chain BNB
$693.3
1
XRP Ledger XRP
$1.43
1
Dogecoin DOGE
$0.0861
1
Cardano ADA
$0.2091
1
Avalanche AVAX
$7.31
1
Polkadot DOT
$0.8477
1
Chainlink LINK
$11.32

🐋 Theo dõi cá voi

🔵
0xc635...11ae
2 phút trước
Stake
4,886,566 USDT
🔴
0xcfbe...db0a
12 phút trước
Chuyển ra
4,087.80 BTC
🔴
0x0eec...4f80
1 giờ trước
Chuyển ra
3,935 ETH

💡 Smart Money

0x4fb0...dfa0
Nhà tạo lập thị trường
+$3.7M
63%
0x8d73...8684
Nhà tạo lập thị trường
+$2.7M
63%
0x443b...5a9c
Nhà giao dịch on-chain dày dặn
-$0.3M
95%