2 小時前
閃電網路收緊發票規則,據報攻擊曾使已完成的提款看似未付款
Lightning tightens invoice rules after reported attack made Bitcoin withdrawals look unpaid

CryptoSlate

閃電網路開發者於10月19日修訂BOLT11,即閃電網路的發票標準,要求拒絕付款雜湊欄位和付款密鑰欄位含糊不清的發票。此次修訂是在一名開發者說明一起使已完成的比特幣提款看似未付款的攻擊後提出。合併的修訂處理了不同軟體元件對同一筆經簽署付款請求的解讀差異。付款雜湊用於識別元件追蹤的付款。Bitcoin Optech於10月23日提請外界注意這項修訂。
開發者Roasbeef在9月10日針對該提案發表的聲明中,說明近期一起攻擊Telegram點對點機器人的事件。Roasbeef表示,攻擊利用不同函式庫從發票選取不同雜湊值:部分函式庫選取第一個付款雜湊欄位,其他函式庫則選取最後一個。Roasbeef未提供事件日期或損失金額。服務可能以一個雜湊值記錄提款,但節點卻以另一個雜湊值付款。因此,服務可能將已完成的提款判定為未付款,進而允許額外支付。問題出現在付款執行與服務帳務系統的銜接處。
目前的BOLT11規範規定,付款雜湊欄位(標記為p)和付款密鑰欄位(標記為s)都只能各有一個。任一欄位缺漏或重複,都必須使付款失敗。這項要求處理兩種欄位的含糊情況,但據報的提款攻擊涉及的是彼此衝突的付款雜湊。發票讀取器必須計算欄位出現的次數,而不只是計算不同值的數量。該提案納入了無效測試發票,其中包含重複相同雜湊值及不同雜湊值的情況。因此,若將相同雜湊合併為單一值,就無法辨識出必須拒絕的發票。
閃電網路節點軟體lnd於9月23日合併拒絕重複雜湊的修正,早於規範修訂。現有的lnd版本v0.20.5-beta和v0.21.4-beta均包含付款雜湊修正。截至10月27日,另一項處理更廣泛付款密鑰檢查的lnd提案仍未定案。該提案將加強付款密鑰驗證及其他解碼器檢查,包括拒絕重複的s欄位。提案作者解釋,後續的付款處理檢查已會套用於部分獲解碼器接受的發票。因此,成功解碼本身並不代表付款一定會成功。
這項已記錄的故障指出,支付服務業者應拒絕含糊不清的發票。提款帳務也需要使用節點採用的付款雜湊。
This content is an AI-generated summary/analysis for informational purposes only and does not constitute investment advice.