Lightning-Network

關於 LN 節點備份的問題

  • April 29, 2019

我有 LN 節點在 c-lightning 上執行。我不時執行 ~/.lightning 目錄備份。

假設在備份後我打開了幾個新渠道並將剩餘的鏈上資金提取到我的金銀幣中。然後我恢復備份。

我的節點及其通道會怎樣?

PS我曾經嘗試過這樣的場景。備份還原後的鏈上資金狀態變為“已用”。我不得不啟動“lightning-cli dev-rescan-outputs”來刷新鏈上資金並獲得實際狀態。雖然我的節點在“listfunds”中列出了頻道,但我看到這些頻道變得不活躍。引擎蓋下發生了什麼?製作和恢復節點備份的正確方法是什麼?

正如在類似問題中指出的那樣,閃電備份很棘手。在閃電的情況下,每個支付通道都是一個 2 of 2 的多重簽名錢包。您擁有其中一個密鑰,每個頻道的密鑰都不同,但通常來自您的主密鑰。

c Lightning 中的 masterkey 為 32 字節,以二進制形式儲存在./lightning/hsm_secret

不幸的是,僅備份您的主密鑰是不夠的。每個頻道都有一個所謂的狀態,頻道的舊狀態會產生問題(可能會強制關閉頻道合作夥伴並且他們能夠索取您的資金。)

所以這就是應該發生的事情:如果你關閉你的節點並備份你的閃電目錄,你將能夠在這台或另一台機器上恢復該備份,並且在打開你的閃電節點後,一切都應該像以前一樣工作。

但是,如果您在恢復備份之前更改頻道狀態,則您的頻道合作夥伴很可能會看到不匹配並導致頻道失敗,這意味著他們發布了最新狀態。如果你很幸運,它是你的合作夥伴,你可以索取你的產出。如果不是,那是您的節點,您的合作夥伴可能會因通道違規而投入他們的懲罰 tx 以索取通道的所有硬幣。

通常在重新啟動閃電節點後,所有對等點都會重新連接。如果這不起作用(因為其他節點可能處於離線狀態),則會有非活動通道。

引用自:https://bitcoin.stackexchange.com/questions/87375