XRP Ledger 升級暴露了網絡中隱藏的缺陷

ccrypto.news
XRP Ledger 社群在 6 月 15 日發布 xrpld 版本 3.2.0 後,報告了日益增多的軟體問題,而此時僅有 26% 的網路節點升級至該新版本。根據 XRP Ledger 專案 GitHub 儲存庫所發布的報告,開發者與節點營運者在最新伺服器軟體更新推出後,已確認出現同步失敗、設定檔解析問題,以及多項與網路相關的錯誤。 此次發行版引入了效能提升、安全性增強、記憶體最佳化等改進,並正式將 XRP Ledger 伺服器軟體名稱由「rippled」更名為「xrpld」。在最嚴重的報告中,一名節點營運者於 GitHub 上指出:一台執行 xrpld 版本 3.2.0 的伺服器無法與 XRP Ledger 網路同步。根據該問題報告,該伺服器持續卡在「已連線(connected)」狀態,未能下載分類帳(ledger)資料;但同一台機器在降級至版本 3.1.3 後,即能成功完成同步。此問題於 6 月 18 日提交,截至本文撰寫時仍處於開放(open)狀態。 在儲存庫其他位置,另一名開發者報告指出:若設定檔中包含內聯註解(inline comments),則可能導致伺服器在解析過程中當機。根據該報告,問題根源在於舊版設定檔解析器(legacy configuration parser),其未能正確移除某些單值欄位中的註解,進而觸發「BadLexicalCast」錯誤。GitHub 記錄顯示,多項錯誤回報均於發行後數日內提交。專案維護者已將其中若干問題歸類為已確認錯誤(confirmed bugs),並指派進行審查。已回報的問題涵蓋對等網路(peer-to-peer)通訊行為、訊息壓縮處理、資源計費規則(resource charging rules)、修正案(amendment)處理流程、訊息解析政策(message parsing policies),以及共識(consensus)相關的路由邏輯。 儘管維護者持續調查上述回報,這些問題卻緊接在社群討論之後浮現——此前討論曾預期本次升級可帶來 30% 至 40% 的記憶體用量降低及其他效能提升。除了同步與解析器相關問題外,XRP Ledger 開發者亦記錄了多項影響節點運作與交易傳播的技術缺陷。根據 GitHub 上的問題回報,開發者發現一項交易轉送(transaction relay)計算問題,可能導致交易被轉送至少於預期數量的對等節點(peers)。另有多份獨立報告描述了一種資源計費機制,該機制僅記錄所觀察到的最高手續費,而忽略先前的手續費資料。 其他發現還涉及驗證者清單(validator list)的散佈機制。開發者指出,目前驗證者資訊僅傳送給「入站」(inbound)對等節點,致使「出站」(outbound)對等節點被排除在此程序之外。另有數份報告聚焦於驗證與共識邏輯:開發者標示出,在分類帳序號(ledger sequence)驗證過程中存在潛在無符號整數溢位(unsigned integer overflow)風險;同時也記錄了與交易路由旗標(transaction routing flags)相關的不一致現象。另一份問題報告則指出,與臨時金鑰(ephemeral keys)關聯的提案節點識別碼(proposal node identifiers)已失效。 在分類帳追蹤系統方面,開發者報告存在邏輯缺口,可能使節點長時間處於不確定(indeterminate)狀態。其中部分發現已被歸類為錯誤,其餘則仍在由專案維護者審查中。XRP Ledger 基金會與專案貢獻者正透過該網路的開放原始碼開發流程,持續評估所有已回報的問題。根據目前 GitHub 上的報告,所有已確認的錯誤均未造成全網性中斷(network-wide outage)或服務干擾,針對已回報缺陷的調查工作仍在持續進行中。