Cardano đã chịu sự cố gián đoạn kỹ thuật nghiêm trọng nhất kể từ khi ra mắt năm 2017 khi một giao dịch bị tạo sai định dạng kích hoạt đợt tách chuỗi kéo dài 14 giờ vào ngày 21/11, chia tách blockchain trị giá 14 tỷ đô thành hai nhánh cạnh tranh và làm dấy lên tranh luận gay gắt về việc đây là một cuộc tấn công có chủ đích hay một thử nghiệm bị trượt tay.
Sự kiện – được các nhà phát triển đặt tên là “Poison Piggy” – đã phơi bày một lỗi tồn tại ba năm trong phần mềm node Cardano, tạo ra hai trạng thái blockchain không tương thích.
Trong khi nhà sáng lập Charles Hoskinson khẳng định đây là một “cuộc tấn công có chủ đích” cần đến sự vào cuộc của FBI, một nhà phát triển có biệt danh “Homer J” công khai nhận trách nhiệm, mô tả đây chỉ là một “hành động cẩu thả” trong thử thách cá nhân nhằm tái hiện một lỗi bất thường trên testnet.
Cách đợt fork xảy ra
Theo báo cáo sự cố của Intersect, đợt tách chuỗi xuất phát từ một lỗi tuần tự hóa (serialization bug) lần đầu xuất hiện trên preview testnet của Cardano vào ngày 20/11. Ai đó đã gửi một chứng chỉ ủy quyền (delegation certificate) bị tạo sai định dạng với phần hash quá lớn – về bản chất là ủy quyền cho “RATSRATS” thay vì “RATS” (pool staking cá nhân của Hoskinson).
Các node dùng phiên bản cũ đã từ chối chính xác hash không hợp lệ, trong khi các node chạy mã được cập nhật tháng 11/2024 lại cắt ngắn hash này và xử lý nó như hợp lệ.
Lệch phiên bản như vậy đã tạo ra hai chuỗi không tương thích, như lập trình viên blockchain Pi Lanningham mô tả trong báo cáo hậu kiểm chi tiết của mình: “chuỗi gà” (chicken chain) chạy mã kiểm tra nghiêm ngặt hơn và “chuỗi lợn” (pig chain) chấp nhận giao dịch sai định dạng. Vào khoảng 3:02 sáng giờ EST ngày 21/11, một giao dịch ủy quyền lỗi tương tự gần như y hệt được gửi lên mainnet, khiến mạng bị tách.
Suy giảm dịch vụ và tác động
Phân tích của Lanningham cho thấy thiệt hại đáng kể nhưng vẫn trong phạm vi kiểm soát. Trong 14 giờ, chuỗi lợn tạo ra 846 block trong khi chuỗi gà tạo khoảng 13.900 block. Việc ghi nhận giao dịch thông qua hạ tầng mạnh bị chậm lại nghiêm trọng, với độ trễ lên đến khoảng 400 giây và thời gian tạo block kéo dài tới khoảng 16 phút ở giai đoạn tệ nhất.
Trong số 14.383 giao dịch được quan sát, 479 giao dịch – khoảng 3,3% – chỉ xuất hiện trên chuỗi lợn sau đó bị loại bỏ và không bao giờ được ghi vào lịch sử chuẩn sau cùng. Phần lớn trong số này, khi gửi lại, bị xem là không hợp lệ vì hết thời hạn hiệu lực hoặc trùng lặp đầu vào. Các block explorer gặp khó khăn trong việc diễn giải mạng bị vỡ, có lúc bị treo hoặc hiển thị dữ liệu mâu thuẫn.
“Đây là một sự suy giảm dịch vụ nghiêm trọng đối với người dùng, nhưng vẫn nằm trong giới hạn kỳ vọng cho một dịch vụ có độ sẵn sàng rất cao,” Lanningham viết. Ông nhấn mạnh rằng dù chất lượng dịch vụ giảm, tài sản vẫn an toàn và mạng vẫn tiếp tục tiến triển trong suốt giai đoạn khủng hoảng.
Tấn công hay tai nạn?
Sự cố đã châm ngòi cho cuộc tranh cãi dữ dội về động cơ. Hoskinson mô tả đây là một cuộc tấn công có chủ đích từ một “nhà vận hành stake pool bất mãn” đã dành nhiều tháng tìm cách gây hại cho mạng. “Đó là một cuộc tấn công có chủ đích. Được lên kế hoạch trước. Có lẽ mất vài giờ để tìm ra cách thực hiện… Đây là một hành động ác ý,” Hoskinson nói, đồng thời cho biết FBI đã được liên hệ.
Tuy nhiên, người thực hiện giao dịch, đăng bài dưới tên “Homer J” trên mạng xã hội, lại đưa ra câu chuyện khác: “Xin lỗi (tôi biết một lời xin lỗi là không đủ với tác động từ hành động của mình) cộng đồng Cardano, chính tôi là người đã khiến mạng gặp nguy hiểm với hành động cẩu thả tối qua. Ban đầu chỉ là thử thách cá nhân kiểu ‘hãy xem mình có thể tái hiện giao dịch lỗi hay không’ và rồi tôi đã ngu ngốc đến mức” triển khai nó lên mainnet.
Thời điểm xảy ra làm dấy lên nghi ngờ – bất thường tương tự đã xuất hiện trên testnet chỉ 24 giờ trước đó, cho thấy lỗ hổng có thể đã được thử nghiệm trước khi đưa lên mainnet.
Mạng phục hồi nhờ đồng thuận
Dù sự cố nghiêm trọng, phản ứng của Cardano cho thấy cấu trúc quản trị phi tập trung của mạng. Một phiên bản node đã được vá sẵn nhờ sự cố trên testnet trước đó. Trong đêm, Input Output Global, Cardano Foundation, Emurgo, Intersect, các sàn giao dịch và nhà vận hành stake pool đã phối hợp thông qua các cuộc gọi khẩn cấp để nâng cấp lên phiên bản đã sửa lỗi và cùng đi theo chuỗi gà với quy tắc nghiêm ngặt hơn.
Không hề có việc rollback ở cấp độ giao thức hay “khởi động lại” tập trung. Khi lượng stake dần chuyển sang các node đã nâng cấp, tốc độ tạo block trên chuỗi lợn chậm lại, còn chuỗi gà tăng tốc. Khi nhánh lành mạnh vượt qua nhánh bị “đầu độc”, tính chất cuối cùng xác suất (probabilistic finality) của Ouroboros đảm bảo các node tự động chuyển sang chuỗi dài hơn, dày đặc hơn.
“Đây là bằng chứng cụ thể cho thấy cơ chế đồng thuận kiểu Nakamoto đã hoạt động đúng như thiết kế và gom mạng về một lịch sử chuẩn duy nhất,” Lanningham lập luận. Hoskinson còn đi xa hơn, cho rằng sự cố này “sẽ giết chết các chuỗi khác” nhưng thiết kế của Cardano đã cho phép có đủ thời gian để phục hồi có phối hợp.
Bài học và tăng cường trong tương lai
Cả Hoskinson và Lanningham đều thừa nhận những điểm yếu nghiêm trọng bị phơi bày qua sự cố. “Việc lỗi này lọt qua được ngay từ đầu là thất bại trong độ nghiêm ngặt của quy trình kiểm thử,” Lanningham thừa nhận. Sự phụ thuộc vào cardano-db-sync khiến hệ sinh thái “bay trong mù” khi thành phần này bị crash bởi giao dịch lỗi. Nhiều nhà vận hành stake pool đã nâng cấp mà không tự phân tích lựa chọn nhánh, chủ yếu tin vào khuyến nghị từ các tổ chức sáng lập.
Lộ trình hậu kiểm kêu gọi tăng cường fuzzing và kiểm thử dựa trên đặc tả, mở rộng giao thức node-to-client để ví và sàn có thể xây dựng cơ chế ngắt mạch (circuit breaker) dựa trên tình trạng đồng thuận thực, đa dạng hóa hạ tầng giám sát, và nâng cao đào tạo cho nhà vận hành về cách Ouroboros hành xử trong điều kiện căng thẳng.
Giá ADA đã giảm khoảng 6% trong thời gian xảy ra sự cố, kém hơn đà hồi phục chung của thị trường crypto và hiện giao dịch quanh mức 0,41 đô la. Mức giảm tương đối khiêm tốn so với mức độ nghiêm trọng gợi ý rằng thị trường xem sự cố này như một bài kiểm tra khả năng chịu đựng của mạng hơn là một thất bại mang tính nền tảng – một bài kiểm tra mà Cardano rốt cuộc đã vượt qua, dù đồng thời bộc lộ nhiều mảng cần cải thiện khẩn cấp.
Đọc tiếp: Cardano Whales Accumulate $204 Million in Four Days Despite 30% Price Decline

