Transaction-Fees

重啟閃電通道的成本

  • September 1, 2020

我對維護兩個人之間的閃電通道的成本有一些疑問。對於這個問題,我們假設區塊鏈挖礦費用為每筆交易 1 美元。

問題 1:假設 Alice 想每天向 Bob 發送 1 mBTC,持續 100 天。如果沒有閃電,這將花費 100 美元。借助閃電,她必須為 Bob 打開一個頻道,並在 100 天后關閉該頻道。是不是打開通道和關閉通道各花費 1 美元,所以總成本是 2 美元?

問題 2:假設 Alice 想每天向 Bob 發送 1 mBTC,持續 200 天,但是她現在沒有全部 200 mBTC - 她只有 100 mBTC(她將在 100 天后獲得額外的 100 mBTC)。因此,她必須為 Bob 打開一個頻道,100 天后關閉頻道,打開一個新頻道,再過 100 天,關閉第二個頻道。現在的總成本是 4 美元是真的嗎?

問題 3:假設問題 2 中的 Alice 想要降低頻道重啟的成本,所以她對 Bob 說:“我不會關閉並重新打開頻道,而是通過區塊鏈向您發送 100 mBTC,您將發送給我通過閃電通道獲得 100 mBTC。因此重啟只需 1 美元,總成本僅為 3 美元。” 這個技巧能否安全地完成,讓 Alice 和 Bob 都不能作弊?

問題 1

是不是打開通道和關閉通道各花費 1 美元,所以總成本是 2 美元?

是的。您仍然需要為通道打開和關閉交易,並且必須為每筆交易支付網路費用。

問題2

因此,她必須為 Bob 打開一個頻道,100 天后關閉頻道,打開一個新頻道,再過 100 天,關閉第二個頻道。現在的總成本是 4 美元是真的嗎?

可能是。如果您談論的是單向支付通道,答案是肯定的,但閃電通道是雙向的。一個頻道一開始只有這麼多錢。在您的情況下,我們假設 Alice 為該頻道支付了所有預付款,但這並非必須如此。愛麗絲和鮑勃也可以很容易地分割他們頻道中的資金。假設他們都投入了 100 mBTC 來打開通道。現在,在任何一個方向上最多可以傳輸 100 mBTC,所以如果資金只從 Alice 流向 Bob,那麼當 Alice 的預付款全部發送時,就必須打開一個新通道。

你忘記的是,在閃電網路中,Alice 和 Bob 不僅僅是終端節點……他們也是樞紐。來自其他方的其他交易可以通過他們的通道進行路由。假設在這段時間裡,戴夫想付錢給查理。Dave 與 Bob 有一個頻道,Charlie 與 Alice 有一個頻道。現在我們的網路看起來像這樣:

Charlie <----> Alice <----> Bob <----> Dave

因為從 Dave 到 Charlie 的付款讓 Alice 的資金回到了通道的一方,Alice 可以很好地支付 Bob 全部 200 mBTC,而無需關閉並重新打開通道。這就是傳統銀行系統使用遞延淨額結算清算交易的有效方式。

同樣重要的是要注意,如果通道變得不平衡,Alice 和 Bob 可以通過降低使用通道的費用來激勵單向路由。如您所見,收取費用而不是承擔重新打開渠道的成本通常甚至符合他們的最大利益。

問題 3:

“我不會關閉和重新打開通道,而是通過區塊鏈向你發送 100 mBTC,你將通過閃電通道向我發送 100 mBTC。所以重啟只需我們花費 1 美元,總成本只需 3 美元”。這個技巧能否安全地完成,讓 Alice 和 Bob 都不能作弊?

希望您可以避免這種情況,如上圖所示。如果不是,聽起來 Alice 和 Bob 必須要麼 1) 相互信任,要麼 2) 有其他類型的智能合約(這可能會導致更多的交易費用,而不是更少)。我不認為這是一個可行或具有成本效益的解決方案。最好是激勵其他人使用該通道來恢復 Alice 在通道一側的資金。

Jestin 的回答很好地涵蓋了問題 1 和 2,但我想補充一點,您可以使用海底交換將閃電網路 (LN) 上的支付與鏈上支付聯繫起來。潛艇交換在鏈上支付中使用智能合約,該合約與 LN 發票中的秘密一起生效。該智能合約類似於多跳 LN 支付中使用的 HTLC。

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