Eclair 修正了兩處可能導致閃電網路通道融資與拼接交易支付過高挖礦手續費的程式碼路徑。修改內容包括拒絕對端節點大幅提高費率的要求,並將比特幣後端回報的手續費與實際交易核對。
Eclair 開發團隊於 10 月 2 日和 5 日,分別將相關修改合併至 master 分支。第一項修改處理雙方融資與拼接時,對端要求大幅提高費率的情況;第二項修改則防止「Eclair-signer」模式下,後端錯誤回報交易手續費或竄改輸出。
雙方融資是開啟閃電網路通道時,由兩側節點共同提供資金的方式。拼接則是在不關閉通道的情況下,向鏈上通道資金增資或提取資金。RBF 是以較高手續費提出替換交易的功能。
舊版程式碼中,若對端透過 RBF 要求大幅提高費率,對端設定的費率可能也會套用到 Eclair 提供的資金。修改後,若對端要求的費率高於 Eclair 建議的最高融資費率,Eclair 就會拒絕替換交易。但若對端購買流動性並承擔 Eclair 應付的挖礦手續費,或 Eclair 未向交易提供資金,則不適用這項限制。
第二項修改處理的是:即使交易簽章金鑰由 Eclair 持有,後端遭操控仍可能造成手續費損失。在「Eclair-signer」模式下,比特幣後端 bitcoind 會選取 UTXO 並組建交易。若後端回報的手續費低於實際金額,或更改找零輸出,即使簽章金鑰另行保管,交易手續費仍可能超出預算。
Eclair 修改程式碼,根據輸入與輸出金額計算實際手續費,再與 bitcoind 回報的數值比對。計算出的手續費會設有預算上限,Eclair 重新組建的資金分攤部分,其手續費也必須符合已驗證的數值。此外,若找零輸出位置錯誤,或與融資輸出、Eclair 本地輸出重疊,交易也會遭到拒絕。
比特幣開發電子報 Bitcoin Optech 於 10 月 9 日介紹這兩項修改。此次處理的損失情境並非金鑰遭竊或直接向對端轉帳,而是在交易組建或手續費協商過程中,向礦工支付過高費用。
程式碼合併代表變更已納入開發分支,與營運節點完成更新並不相同。CryptoSlate 於 10 月 12 日查詢時指出,Eclair 公開發布清單中最新的正式版本仍是 9 月 14 日發布的 v0.14.3。是否有新版本納入修正,以及各營運者是否已套用,仍須分別確認。
本刊此前曾報導,閃電網路實作 Core Lightning 因應安全漏洞,建議營運者升級。此次 Eclair 修改同樣屬於閃電網路節點軟體的安全措施,但是否已納入公開發布版本,以及營運者是否已安裝,仍是兩回事。
留言 0