Cardano 自2017年推出以來,首次出現嚴重技術中斷:11月21日一宗畸形交易觸發鏈分裂,14億美元區塊鏈被切割成兩條競爭分叉,引發激烈討論事件究竟屬蓄意攻擊還是無心失誤。
這次事件——開發者稱之為「Poison Piggy」——曝露了Cardano節點軟件一個三年漏洞,令區塊鏈出現兩個不相容的視角。
創辦人Charles Hoskinson強調分裂屬「有預謀攻擊」,並已聯絡FBI;但自稱「Homer J」的開發者公開承認責任,形容是個人在重現測試網異常時「大意行動」。
分叉如何發生
根據Intersect事故報告,這次鏈分裂源自一個序列化漏洞,於11月20日首次在Cardano預覽測試網出現。有人遞交了一份雜湊過大的畸形委託證書——本應委託給「RATS」,結果變成「RATSRATS」(Hoskinson的個人權益池)。
舊版本節點能正確拒絕不合法雜湊,新於2024年11月更新的節點則會截短並接受。
這個版本差異,正如區塊鏈開發者Pi Lanningham所述,造成兩條不兼容的鏈:「chicken chain」執行更嚴格驗證,而「pig chain」則接受畸形交易。11月21日凌晨約3:02(美東),類似畸形委託被遞交至主網,分裂了整個網絡。
另見: Cardano創辦人Hoskinson抨擊法幣制度為「龐氏騙局」
服務降級及影響
Lanningham分析顯示問題雖大但範圍有限。14小時之內,pig chain生產了846個區塊,而chicken chain則生產約13,900個區塊。交易納入明顯放緩,部分基建延遲可達400秒,區塊生成最長達16分鐘。
在14,383宗觀察到的交易中,有479宗(約3.3%)僅於已棄用的pig chain出現,最終未納入正式歷史。當大部分交易被重新提交時,因有效期限過期或輸入衝突而被判無效。區塊瀏覽器亦難解讀,甚至出現凍結或顯示矛盾數據。
「這對用戶來說是嚴重服務降級,但就高可用性的預期範圍內,」Lanningham寫道。他強調,儘管質素受損,資金依然安全,網絡在危機期間仍持續運作。
攻擊還是意外?
事件引發強烈爭議。Hoskinson形容是「心懷不滿權益池營運者」針對性攻擊網絡,對方法用數月尋找漏洞。「這次是有預謀、有針對性的攻擊,估計花了幾小時設計……百分百是惡意行為,」他又稱已通知FBI。
但事主於社交媒體以"Homer J"發文,描述過程截然不同:「對不起(我明白單靠這句不夠彌補影響),昨日傍晚就是我個人的大意行動令Cardano受威脅。最初只想『看看自己能否重現異常交易』,但後來竟然愚蠢地推向主網。」
反常時機亦引人懷疑——測試網剛於24小時前出現同樣異常,意味有人先在測試網預演後再部署至主網。
共識驅動下的網絡復原
雖然事故嚴重,Cardano的回應反映出其去中心化治理。補丁版節點早在測試網事件後已準備好。當晚,Input Output Global、Cardano基金會、Emurgo、Intersect、各交易所及權益池營運者緊急會議,協調升級及跟隨chicken chain。
沒有協議層回滾或中央「重啟」;而隨著權益遷移至升級節點,pig chain生產速度減慢,chicken chain卻加速。當健康分叉追過被污染那條,Ouroboros的分叉最終性自動驅使節點切換至更長、更密集的健康鏈。
「這正是Nakamoto共識如預期一樣令網絡統一到唯一歷史的證據,」Lanningham如此形容。Hoskinson更強調,如事件發生在其他鏈或會「斷送命運」,但Cardano設計爭取到協作恢復的時間。
教訓及未來防禦
Hoskinson和Lanningham均承認此次事故揭示了重大弱點。「這個漏洞能出現,本身就是測試不嚴所致,」Lanningham坦白。整個Cardano生態過度依賴cardano-db-sync組件,該部分於畸形資料被觸發即崩潰,當時「如同蒙眼飛行」。不少權益池營運者亦未獨立判斷分叉選擇,只靠核心團隊建議升級。
事故後行動藍圖包括:更強的fuzzing及spec主導測試、更完善節點對客戶協議、方便錢包與交易所根據共識健康情況實施自動斷路、更分散監察基礎建設、以及加強營運人員對Ouroboros極端情況下的理解。
ADA價格於事件期間下跌約6%,遜於大市,目前徘徊0.41美元。股價雖然下跌相對有限,反映市場視是次為網絡抗壓力測試多於生態災難——Cardano最終挺過考驗,但同時暴露重要改善空間。

