Phân tích Cardano: Bài học về lỗi node và quản trị blockchain

 

Ngày 21/11, mạng chính Cardano (mainnet) tách thành hai lịch sử blockchain cạnh tranh do một giao dịch ủy quyền staking bị lỗi khai thác lỗ hổng tiềm ẩn trong phần mềm node mới. Vụ việc khiến cộng đồng staking và các nhà cung cấp hạ tầng blockchain chứng kiến một kịch bản hiếm gặp: hai chuỗi cùng tồn tại tạm thời nhưng không gây mất mát tài sản.

Diễn biến tách chuỗi

Trong khoảng 14,5 giờ, hai chuỗi song song xuất hiện:

Sàn giao dịch tạm dừng luồng ADA, ví hiển thị số dư mâu thuẫn, và các nhà phát triển khẩn trương phát hành bản vá để hợp nhất ledger về một lịch sử duy nhất. Không có khoản tiền nào bị mất, và mạng lưới chưa bao giờ ngừng hoàn toàn.

Charles Hoskinson, đồng sáng lập Cardano, cho biết đã thông báo FBI và các cơ quan liên quan sau khi một cựu nhà vận hành stake pool thừa nhận phát tán giao dịch ủy quyền bị lỗi. Cơ quan thực thi pháp luật sẽ điều tra khả năng can thiệp tội phạm vào mạng lưới tài chính liên bang, theo các điều luật như U.S. Computer Fraud and Abuse Act.

Nguyên nhân

Intersect, cơ quan quản trị hệ sinh thái Cardano, xác định lỗi xuất phát từ một bug cũ trong mã hóa hash của chứng chỉ ủy quyền. Lỗi này được thêm vào năm 2022 nhưng chỉ được kích hoạt khi node mới xử lý giao dịch có hash vượt chuẩn.

Kết quả là một phân vùng trực tiếp: cả hai nhánh tiếp tục sản xuất block nhưng không thể tự hợp nhất. Sự kiện tương tự đã xảy ra trên testnet Preview một ngày trước, nhưng bản vá chưa kịp triển khai trên mainnet.

Khắc phục và phục hồi

Cardano giải quyết phân vùng thông qua nâng cấp tự nguyện:

Các yếu tố giúp hạn chế sự cố:

  1. Lỗi chỉ nằm ở lớp xác thực ứng dụng, không ảnh hưởng đến chữ ký hay cơ chế Ouroboros.

  2. Phân vùng bất đối xứng: nhiều stake pool và sàn vẫn chạy node cũ, giữ trọng lượng stake phía nhánh lành mạnh.

  3. Kế hoạch phục hồi thảm họa CIP-135 đã được chuẩn bị, nhưng không cần triển khai do bản vá tự nguyện đủ hiệu quả.

Lỗi này ảnh hưởng hạn chế, chỉ tác động đến một một hàm/chức năng giải tuần tự hóa giá trị băm (hash) của giao dịch ủy quyền, có thể vá mà không cần thay đổi rộng protocol. Sau khi vá, đường khai thác giao dịch lỗi bị loại bỏ, không còn nguy cơ tách chuỗi tương tự.

Timeline chi tiết sự kiện

Thời gian (UTC) Giai đoạn Diễn biến Phát hiện / tín hiệu Biện pháp
20/11/2025 – tối Testnet Giao dịch ủy quyền lỗi được gửi trên Preview testnet, khai thác bug deserialization, tạo split testnet Kỹ sư và SPO nhận thấy hành vi bất thường, sự cố được ghi nhận Phát triển và thử nghiệm hotfix, cập nhật node để từ chối mẫu lỗi tương tự
21/11/2025 – ~08:00 Mainnet (T0) Giao dịch tương tự phát tán trên mainnet bởi cựu SPO, node mới chấp nhận, node cũ từ chối Block explorer, dashboard báo lệch; tip hash mâu thuẫn, block chậm Exchanges theo dõi; kỹ sư xác nhận mainnet phản ứng giống testnet
21/11/2025 – vài phút sau T0 Phát hiện chính thức Intersect & IOG phân loại là “tạm thời phân vùng chuỗi” Thông báo nội bộ đến SPO; “Mainnet Incident Update” công bố công khai Exchanges tạm dừng ADA; SPO chờ bản vá
21/11/2025 – sáng/chiều Hotfix & nâng cấp Xác định nguyên nhân là legacy hash deserialization bug Thông báo rủi ro lặp lại và phối hợp SPO/CEX Node 10.5.2 & 10.5.3 phát hành; hướng dẫn nâng cấp; CIP-135 chuẩn bị dự phòng
21/11/2025 – ~22:17 Mạng hội tụ Node nâng cấp từ chối nhánh nhiễm độc, Ouroboros hội tụ Monitoring cho thấy block & tip hash đồng bộ Tất cả node tham gia nhánh chính, network hội tụ sau ~14,5 giờ; working group xử lý giao dịch chỉ tồn tại trên nhánh nhiễm độc
22–23/11/2025 Hậu sự cố Attacker “Homer J” thừa nhận tạo giao dịch bằng AI; FBI và cơ quan khác được thông báo Cộng đồng & truyền thông nhận báo cáo chi tiết, loại bỏ tin đồn hack Kế hoạch dài hạn: mở rộng test coverage, tăng tốc nâng cấp, monitoring, bug bounty

So sánh với Ethereum và Solana

Cardano giữ liveness nhưng tạo ra hai chuỗi tạm thời; Solana ưu tiên tính duy nhất của chuỗi; Ethereum tìm cách cân bằng, tránh cả hai sự cố.

Bài học cho thiết kế giao thức

  1. Tăng cường fuzzing và fault injection cho serialization/deserialization, đặc biệt với code cũ.

  2. Kiểm thử khác biệt giữa các client/node để phát hiện lỗi tiềm ẩn.

  3. Chuẩn bị kế hoạch phục hồi thảm họa và quy trình minh bạch, giúp phối hợp nhanh khi sự cố.

  4. Khuyến khích disclosure hợp lý thông qua bug bounty thay vì thử nghiệm trực tiếp trên mainnet.

Sự cố Cardano nhấn mạnh giá trị kỷ luật quy trình, chuẩn bị trước và minh bạch, đồng thời chỉ ra hạn chế kiến trúc node đơn lẻ với version skew.

Tô Tần

 

Theo Tapchibitcoin

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *