研究人員在調查約 3.2 億美元的 Liquid Network 事件時,發現了該軟體交易驗證快取中的疑似故障,為未背書代幣如何可兌換為真實比特幣提供了更明確的解釋。
帳戶也引發了一個部署問題。Mononaut 表示被利用的漏洞 上週已進入 Elements 的主開發分支,但從未出現在任何已標記的發行版本中。他說,Liquid 的聯邦管理員似乎運行了該代碼,而其他節點則拒絕了這些無效交易。
該部署帳戶在現有的聲明中尚未得到 Blockstream 的確認。若成立,則將使該軟體的部署成為一樁事件的核心,該事件中有效的簽名憑證授權發放了比特幣,而這些比特幣據稱是因漏洞產生的 L-BTC。
Liquid 是一個比特幣側鏈,其 L-BTC 代幣旨在由其聯邦持有的比特幣以 1:1 的比例支持。正如 CryptoSlate 之前報導,SideSwap 表示,一名客戶於 9 月 6 日透過其鑄出服務提交了 4,000 L-BTC,促使釋出了約 3,996 比特幣。
Liquid 表示 SideSwap 的 Peg-out 授權金鑰或其他聯邦金鑰均未遭入侵。
新興的技術帳戶專注於代幣如何達到該提現流程。
Calle described 了一個涉及範圍證明的缺陷,該缺陷讓節點能夠在不洩露這些數量的情況下,檢查隱藏的交易數量是否在允許的範圍內。
Liquid 的保密交易需要的不僅是檢查輸入和輸出是否平衡。否則,隱藏的負輸出可能抵消較大的正輸出,使新創建的代幣在數學上看似平衡。
範圍證明旨在防止此結果發生。由於檢查這些證明在計算上成本高昂,節點會快取成功的驗證結果以供重複使用。
根據 Calle 的帳戶記載,攻擊者可以構建一個無效的輸出和證明,使其與先前有效檢查所對應的快取金鑰匹配。節點若發現該快取結果,便會跳過應當拒絕通脹性輸出的驗證步驟。
Charles Guillemet endorsed the explanation,描述了一種精心設計的快取金鑰碰撞,使無效的機密交易得以繞過範圍檢查。Calle 警告說,他的帳戶對此機制進行了簡化,可能包含錯誤。
Stu 的獨立交易重構識別出在 Liquid 區塊 4,050,336 中,先有設定交易,隨後是被指無效的交易。Stu 表示,該交易在透過 SideSwap 提款前,創造了約 3,996.0183 L-BTC。
Mononaut 的帳戶區分了接受交易的節點和未接受交易的節點。
他表示,聯邦官員接受了利用漏洞的交易,批准了提現,並繼續構建區塊。其他節點,包括驅動 mempool 的 Liquid 探索者的節點,則拒絕了受影響的區塊。這可以解釋為何追蹤拒絕節點的探索者會遺漏其他地方可見的交易。
所報告的分歧使得受影響的軟體版本對於理解失敗至關重要。事後分析需要確定哪些程式碼功能被執行、為何進行部署,以及其驗證行為與拒絕該區塊的節點有何不同。
同時,控制已提領比特幣的相關方自稱為白帽黑客,並條件性地表示,只有在受影響的節點修復漏洞後,才會歸還大部分資金。目前的報告尚未確認資金已完全歸還或補丁已全面部署。
恢復比特幣將解決準備金短缺的問題。解釋為何聯邦節點接受了這些交易,並證明修正後的軟體會拒絕它們,將解決導致這些準備金流失的失敗問題。

