閃電網絡因將交易轉到鏈下產生流動性管理問題,用戶可以採用通道再平衡技術,確保可以進行鏈外支付。

推薦閱讀:《HashKey Capital:一文讀懂比特幣閃電網絡機制、進展與挑戰

原文標題:《瓶中閃電:閃電網絡上的流動性》
撰文:Karim Helmy
翻譯:Colin

  • 由於閃電網絡是圍繞支付通道構建的,因此很難管理網絡上的流動性。人們提出了很多想法來提高網絡流動性,包括蹦牀路由(閃電網絡通過將路由外包給蹦牀節點來減少支付過程中的數據和計算壓力)和原子多路徑支付(AmPs)。
  • 擁塞攻擊能夠讓惡意閃電網絡用戶以低廉的成本鎖定大量資金。

瓶中閃電

閃電網絡解決了比特幣的若干問題,尤其是比特幣底層無法有效地處理大量交易。閃電網絡交易是即時且去信任的,但是缺少底層的結算保證。閃電網絡將交易轉到鏈下,從而速度更快,費用更低,但由於其網絡結構的問題,流動性管理也更加困難。

閃電網絡支持雙方將鏈上資金鎖定在支付通道中,此時雙方可以自由交易,而無需向底層鏈提交支付。每一方可以發送的最大交易淨值爲該方在通道中鎖定的初始金額。

用戶可以通過由多個通道組成的路徑進行支付,這樣用戶可以向沒有對其直接開放支付通道的接收方進行支付。支付方指定支付路徑,向中間渠道的運營商支付少量費用。交易使用洋蔥路由,以防止中間節點獲取支付雙方的身份。

進行間接支付需要支付方和接收方之間有一條間接路徑,通常需要雙方相對良好的網絡連接。用於選擇支付路徑的算法未由閃電網絡協議指定,協議作者認爲該算法是實施上的細節問題。

通過將交易轉移至鏈下,閃電網絡實現了在不損害底層區塊鏈可驗證性的情況下將比特幣網絡進行擴容。與任何新技術一樣,閃電網絡也有很多問題,其中大多數問題,如當前 0.16 BTC 的通道容量限制,最終將被解決。

然而,有些問題是閃電網絡架構所固有的。其中一些問題源於閃電網絡專用的兩方支付渠道。雖然底層的未花費交易輸出(UTXO)可以用作任意交易的輸入,但用戶在一個通道中的餘額不能直接發送到另一個通道的接收方。

因此,確保閃電網絡上的充足流動性是比特幣底層沒有遇到過的挑戰。用戶必須小心不要耗盡支付通道內鎖定的資金,並且必須確保其節點通過容量足夠大的通道連接到整個網絡。

通道再平衡

爲了確保可以進行鏈外支付,用戶可以採用一套通道再平衡技術。用戶可以使用若干種方式,通過閃電網絡通道重新分配資金,並從其鏈上餘額中引入新資金。

爲了增加閃電網絡上的資金量,資金必須從比特幣底層轉入。這可以通過開啓新通道或通過一種稱爲拼接(Splicing)的技術來實現,該技術允許用戶關閉並重新打開通道,增加通道中的餘額。這兩種方法都要求執行鏈上交易。

原子級交換是一種要麼完全執行要麼完全中止的加密貨幣交易。大多數比特幣的最常見的原子交換技術實現是使用哈希時間鎖定合約(HTLC)。該合約鎖定資金,直到一方出示密鑰或鎖定期滿纔會解鎖。用戶可以通過執行深陷式交換(Submarine Swaps)來增加通道餘額,這是一種在底層持有的比特幣和保存在閃電網絡通道上的比特幣之間的原子交換。採用此技術,鎖定在閃電網絡中的資金總量保持不變,但用戶的總餘額會增加。

閃電網絡用戶還可以通過循環支付實現通道再平衡,即用戶從一個通道發送資金,然後通過循環路徑,在另一個通道接收。這樣,用戶會增加接收通道的餘額,並減少發送通道的餘額——以較低的費用保持淨餘額總量不變。

用戶還可以通過鼓勵其他網絡參與者使用不平衡的通道進行交易,被動地實現通道再平衡。爲此,可以通過提供低費用甚至負費用(即支付激勵),使支付經由不平衡的渠道朝着有利方向發展。此技術對「即時性」的敏感度較低,並且在節點連接狀況良好時更有效。

保持閃電網絡的流動性

拼接支付通道、執行深陷式交換和開啓新通道都需要進行鏈上支付,循環支付也不夠便利。因此,通道再平衡可能會相當昂貴且耗時。爲了克服這一點,人們提出了幾種技術以降低通道再平衡的頻率,並在通道容量低的情況下提高網絡的流動性。

ACINQ 團隊提出了蹦牀路由,在維持當前路由模式的同時減少用戶所需的內存和計算量。在蹦牀路由中,用戶將交易和預期接收方發送到連接良好的蹦牀節點,並要求蹦牀節點代表他們計算支付路徑。由於這些節點連接狀況良好,因此用戶需要維護的通道較少,從而提高流動性。此模式鼓勵一定程度的中心化,用戶可能需要支付比其他模式更高的路由費用,以換取計算量的減少。

如果通過單個蹦牀節點路由支付,則蹦牀路由會損害用戶隱私,因爲此節點知道最終接收方的信息。爲了解決這個問題,該協議允許用戶指定多個蹦牀節點,這樣,中間節點負責按照發送方的要求查找通往下一個接收方的路徑。蹦牀節點不確定下一個接收方是最終接收方還是另一箇中間節點。

另一個方案是原子多路徑支付(AMP),支持用戶將支付進行原子拆分,並使其通過多個路徑,這樣用戶能夠通過非流動性通道發送更大的交易。除了解決流動性問題外,這種技術還有額外的好處——使中間節點更難確定他們路由的支付金額,從而有利於用戶隱私。原子多路徑支付的實現需要更新閃電網絡規範,但只有支付的發送方和接收方纔需要啓用此更新。

爲了減少通道再平衡的頻率,人們提出了另外幾種交易路由技術。一篇學術論文建議使用一種稱爲 Spider (蜘蛛)的技術,該技術受到數據包交換協議的啓發,並且像 AMP 一樣支持多路徑支付。但是,Spider 不支持交易原子化,因此交易的某些部分可能成功處理,而另一些部分可能會處理失敗。該協議還引入了交易批處理,提高了吞吐量,但代價是增加了延遲。

「及時(JIT)」路由協議提出,中間節點在爲另一個節點做路由支付時,自行執行循環支付,以重新平衡其通道。這樣中間節點就可以根據動態需求調整其流動性,而不是預測需要提前使用哪些渠道。JIT 路由不需要更新閃電網絡規範,但需要網絡中的大多數節點採用該路由,從而比目前的其他協議具備顯著優勢。

缺點

閃電網絡協議中存在一些漏洞可能會降低流動性,或與改善流動性的願景相悖。

閃電網絡對支付通道的依賴使其可能遭受擁塞攻擊,攻擊者會長時間鎖定其他節點的通道容量。最近提出了一種攻擊的變體,可以通過使用循環支付來減少發起攻擊所需的資金量。在目前的網絡條件下,此攻擊的開發人員估計,攻擊者可以將 650 BTC 的流動性鎖定三天,費用僅爲 0.25 BTC。

爲了降低攻擊的有效性,研究人員建議減少支付時可以使用的最大躍點數量,並採用另外的哈希時間鎖定合約解析機制來代替閃電網絡目前使用的機制。

研究人員還討論實施一種避免循環的策略,其中當一個節點在支付路徑上多次出現時,路由節點將拒絕爲該支付提供路由服務。這種措施將阻止誠實的用戶執行循環支付,限制他們使用該技術實現再平衡,並限制了及時路由的實施。

只包含少量中間節點的閃電支付可能容易受到這些節點的流量分析攻擊。在此類攻擊中,中間節點從交易參與者的支付模式中學習可能的解匿名信息。用戶可以通過有意選擇更長的支付路徑來克服這一弱點,但這會導致費用和複雜性的略微增加。

流量分析攻擊在大部分流量通過少量節點的情況下尤其有效。因此,蹦牀路由等技術以增加中心化爲代價提高流動性,將加重此類攻擊的嚴重性。

定向擁塞攻擊可能由希望通過流量分析攻擊獲取閃電網絡用戶身份的對手發動。攻擊者可以通過擁塞攻擊降低替代路徑的通道容量,迫使用戶把流量交給攻擊者的節點,最終使他們能夠更有效地對交易進行監視。

來源鏈接:www.theblockcrypto.com