中間節點在閃電網絡中扮演著重要的角色,允許用戶與他人進行交易,而不需要與每個對等點打開一個直接的支付通道。沒有中間節點,閃電網絡將失去其大部分吸引力。
在上一篇文章中,我們解釋了為什么路由支付會使中間節點的通道失衡,以及這將如何導致再平衡。我們將再平衡定義為節點在支付通道中增加其余額,而在另一個通道中減少其余額,從而保持路由支付的策略操作。
為了更好地理解本文,您應該熟悉支付渠道和閃電網絡的基礎知識。如果你沒有,我們強烈建議你先閱讀之前文章。
再平衡
Carol是閃電網絡的一個節點。她與Alice和Bob有聯系,他們想要進行交易,但是沒有直接的支付渠道。Carol將它們之間的支付路由為一個中間節點。
為了轉移支付,Carol必須預先為她的頻道提供資金。每次她發送一筆付款,她在發送方通道中的余額就會隨著交易金額的增加而增加,而在接收方通道中的余額則會減去她收取的費用而減少相同的金額。
路由支付往往會使Carol的通道失衡,最終她將沒有足夠的資金在通道中路由支付。當這種情況發生時,Carol需要再平衡她的頻道。
Alice想付2個比特幣給Bob,但是Carol不能轉帳。她需要再平衡她的渠道。
循環支付
概述和優點
循環支付是一種完全脫離鏈的再平衡策略,其中節點通過鏈接的支付通道的循環路徑進行支付。要使路由是循環的,至少需要3個節點。
Carol可以使用Alice, Frank, Bob和她之間的閉合路徑逆時針方向支付給自己。
1 BTC支付減少了她與Alice在通道中的余額1,增加了她與Bob在通道中的余額1。她現在可以將一個2BTC的付款從Alice轉到Bob。
循環支付是一種完全的離線再平衡策略;這意味著Carol可以成功地再平衡她的頻道,而不需要向區塊鏈廣播任何交易。她不需要支付連鎖費用或等待確認時間。
Carol還可以精確地控制何時進行再平衡。她所要做的就是給自己一個有利的回報。
缺點
循環付款不是免費的。由于至少涉及三個節點,其中一個是她自己,Carol必須為路由她的付款至少支付另外兩個節點。循環越大,她需要支付的節點就越多。
此外,這一戰略需要有一個循環和資金充足的路線。Carol只能支付這條路徑中最小的余額:她在C-A頻道的余額,Alice在a - f頻道的余額,Frank在F-B頻道的余額,Bob在B-C頻道的余額。這意味著,她再平衡支付的規模受到再平衡時刻的路徑的限制。航路越長,獲得較小上限的機會就越大。
如果Bob碰巧是一位商人,那么要找到一條資金充足的路線就變得更加困難。在這種情況下,鮑勃收到的錢將遠遠多于他寄出去的錢。遲早,連接到他的所有節點都會耗盡它們的通道。在這種情況下,Carol和其他鄰近節點,比如Frank,都無法找到一條資金充足的循環路線。
最后,我們來分析循環支付對網絡路由容量的影響,即一個節點在給定時刻可以向另一個節點發送的BTC總量。
為此,讓我們引入原子多路徑支付的概念。AMP發生在支付被分割成不同的路徑,但卻是自動完成的時候,這意味著它要么完成完整,要么完全不完成。
只要有一個循環路徑,Alice就有兩種可能的路由向Bob支付聚合路由容量的費用。
Alice可以支付Bob (R1 + R2) BTC。R1和R2分別為路徑A-C-B和路徑A-F-B的路由容量。
因為循環支付只在一個封閉的路徑內重新分配金錢,所以Alice和Bob之間的路由容量保持不變。雖然Carol成功地增加了她的路由容量,但這是以Frank的容量為代價的。Alice仍然可以付給Bob同樣的錢。
Alice仍然可以支付Bob (R1 + R2) BTC。(R1 + P)和(R2 - P)分別為路徑A-C-B和路徑A-F-B的路由容量,P為Carol的循環支付。
請注意,在最后的例子中,為了簡單起見省略了費用。通過添加費用,路由容量實際上得到了修改,但只是按費用的大小排序。這應該(希望)與支付的大小相比非常小,因此路由容量在實際應用中保持不變。
費用管理
概述和優點
費用管理是一種完全的鏈外再平衡策略,節點利用收費作為一種機制,從經濟上激勵和獲取朝著有利方向發展的支付。這可以從收取比其他途徑更低的費用,一直到完全不收取費用,甚至支付少量的激勵(有時稱為負費用)。
這個策略可以被看作是Bob和Carol之間的雙贏方案。他可以從使用特定路徑的費用中獲得折扣,而她可以再平衡她的渠道。
費用管理是離線的,因此不涉及比特幣費用或停機時間。此外,如果僅僅是折扣就足以激勵Bob選擇Carol的路徑,那么這個策略對Carol來說可能是免費的。
缺點
實際上,費用管理更多的是一種機遇,而不是一種應對渠道失衡的深思熟慮的策略。Carol不能真正控制何時發生再平衡,充其量她可以利用特定的場景,并激勵自己被選為某個支付的路由器。
這是一種競爭戰略,對實現的復雜性有兩大影響。
首先,需要Carol對其他節點的費用管理有完整更新的信息。她的費用現在取決于Frank。同時,此策略僅在Bob擁有每個路徑路由費用的完整信息時才有效。在更私有的網絡中,這可能是個問題,因為節點無法訪問所有數據。
其次,目前還不清楚這種策略可能需要多少資金,因為僅僅打折是不夠的。例如,如果Bob碰巧是一個商人,那么Frank和Carol很可能都希望將付款從Bob路由到Alice。然后,Frank和Carol可能會進入一場“競爭”行為,并達到負費用的地步。
最后,這種再平衡策略并沒有解決網絡中路由容量差的問題。與最開始的情況恰恰相反;支付至少可以遵循兩條路徑,并且特定的節點可以再平衡其路由通道。
拼接
概述和優點
拼接是一種鏈上再平衡策略,節點在單個交易中關閉并重新打開支付通道,從而改變其鎖定的資金數量。當節點重新打開鎖定更多資金的通道時,將發生拼接。如果鎖的錢少,就叫做剪接。
Carol關閉了她與Alice的通道,并打開一個新的,承諾2 BTC。她現在有一個BTC解鎖。
Carol關閉了與Bob的通道,并打開了一個新的通道,提交了額外的BTC。
當使用拼接時,Carol只需要考慮她的相鄰節點,就可以簡單地忽略網絡中其他節點的情況。不需要其他路由,因為它只涉及發送方、接收方和中間節點。這意味著splices可以在連接不良或資金不足的網絡中工作。
而且,Carol只獲得關于她相鄰節點的信息,這就足夠決定什么時候再平衡。這就是拼接適用于私有網絡的原因。
最后,很容易看到拼接會改變網絡的路由容量,因為以前不可能進行的支付可以在再平衡之后進行。這說明了為什么即使Bob碰巧是個商人,拼接也可以很好地工作。
在再平衡之前,Alice可以按照路由容量為1的路由路徑a - c - b向Bob支付費用。
再平衡后,Alice可以按照a - c - b路由向Bob支付路由容量為2 cons的費用
缺點
雖然拼接比在兩個不同的交易中關閉和重新打開頻道要方便得多,但它們仍然涉及到向區塊鏈廣播交易、支付鏈上費用和等待確認時間。
正因為如此,拼接可能是一種代價高昂的再平衡策略。在比特幣看漲的情況下,鏈上費用極有可能上漲,這直接影響到一個節點的成本。
結論
循環支付、費用管理和拼接并不排除解決方案,它們很可能在閃電網絡中共存。它們在不同的級別和不同的網絡拓撲中工作。
也許最重要的區別是拼接實際上可以改變網絡的支付能力。因此,拼接可能遲早需要應用程序。
另一方面,循環支付和費用管理可能會被用作延遲拼接的策略。一旦網絡連接更好,資金更充足,我們很可能會看到這些事情發生。
評論
查看更多