再平衡:閃電網路的關鍵

買賣虛擬貨幣
在比特幣最近的技術進步中,閃電網路是最雄心勃勃的專案。一旦剩下的障礙被清除,它承諾提供更快的交易,更低的費用,更寬敞的街區和更滿意的錢包。儘管閃電網路的優勢是熱門話題,但人們對它的障礙卻知之甚少。再平衡問題是閃電網路每個節點都必須克服的挑戰之一。我們將在一系列文章中闡明這個問題。在我們開始之前,快速回顧一下閃電網路的基礎知識。支付渠道你可能聽說過支付渠道。它們是閃電網路的第一個構件。簡單地說,支付通道是雙方之間的管道,我們稱他們為Alice和Bob,這允許他們來回傳送金錢,而不需要向區塊鏈廣播交易。這些移動被稱為離線交易,並且可能是免費的,並且是即時的。
在閃電網路中,支付渠道也被設定為不可信的。Alice和Bob不需要成為朋友就能做到這一點。

首先,Alice和Bob必須開啟一個支付通道。他們簽署並傳播一個交易。這個初始承諾的總和稱為共享通道的餘額,Alice和Bob各自擁有屬於自己的部分。

Alice和Bob開啟支付通道,分別存入2個BTC和3個BTC。
一旦開啟,Alice和Bob就可以更新通道,在它們之間重新分配餘額,次數不限。每次更新都需要簽署一個交易,並且必須經過同意,但是不需要將其廣播到網路。沒有確認時間,沒有開礦費。

Alice給Bob傳送了一個BTC。
Alice和Bob可以透過該通道進行任意數量的支付,但是每次支付中處理的金額受傳送方餘額的限制。在給定時刻,Alice給Bob的錢不能超過她自己那部分餘額。
Bob給Alice傳送了3個BTC。她現在可以傳送最多4個BTC給Bob, Bob可以支付最多1個BTC。
最後,Alice和Bob可能決定透過廣播第二個交易來關閉頻道。渠道中的資金被解鎖並分配給Alice和Bob,與他們在關閉時各自擁有的餘額成比例。
Alice和Bob關閉了他們的頻道。Alice擁有4個比特幣,Bob擁有1個比特幣。
當通道被多次更新時,它們是有意義的。開通和關閉通道都需要進行鏈上交易,因此需要支付費用並等待確認時間。此外,儘管該渠道是開放的,但它們的資金是鎖定的,這意味著它們不能將資金用於其它地方。如果Alice和Bob使用一個通道進行單次非鏈交易,他們就是在浪費金錢和時間。HTLCAlice可能也想和Eve 和 Dave進行交易。為了做到這一點,她可以和他們每個人都開一個頻道,然後決定她將為每個頻道投入多少錢。
Alice開啟三個通道,每個通道提交2個BTC,總共鎖定6個BTC。最初,她可以為每個頻道支付最多2個BTC。
投入渠道的資金只能用於該渠道的支付。儘管Alice擁有這些比特幣,但她無法用她承諾給Eve頻道的錢付給Bob。Eve為了支付,她首先需要關閉現有的渠道。Alice把錢分在太多的頻道,問題是她不能給任何人一大筆錢。遲早,她將不得不關閉現有的頻道,用新的頻道取而代之。這將花費她的金錢和時間。這個問題的解決方案是一種特殊的交易輸出,稱為HTLC。它們是閃電網路的第二個組成部分。HTLC帶來了透過幾個連鎖渠道匯款的可能性。這意味著可能沒有必要讓成對的使用者在他們之間建立一個直接的通道來支付。如果Bob、Eve和Dave連線到另一個使用者Carol, Alice可以與Carol開啟一個單獨的通道,並將她所有的資金投入其中。她不會與任何她想要打交道的人直接聯絡,但這不會成為障礙。
Alice與Carol開啟一個通道,並在那裡提交6個BTC。最初,她最多可以支付6個比特幣。
Carol是一個路由節點,將在與她連線的使用者之間路由支付。讓我們放大Carol, Alice和Bob,看看他們頻道的狀態。
Alice和Carol分別用6BTC和2 BTC共享一個通道。Carol和Bob還分別用2BTC和4 BTC共享一個通道。
Alice和Bob之間的一次支付涉及到沿途所有通道的更新。首先,Alice把錢寄給Carol更新他們的頻道。然後Carol把錢寄給Bob更新他們的通道。

Alice向Carol傳送一個BTC,更新通道A-C的狀態。

Carol向Bob傳送一個BTC,更新通道C-B的狀態。
HTLC的操作是原子性的、不可信的。雖然支付分為兩部分(首先Alice支付Carol,然後Carol支付Bob),但是操作要麼完全執行,要麼根本不執行。再平衡連結通道出現了一個很容易被忽略的問題。為了使整個工作正常進行,路由節點必須預先為其通道提供資金。Carol只有在她和Bob的通道中有足夠多的餘額時才能進行付款。
有時,路由節點將沒有足夠的資金來路由支付。這是因為每當節點路由支付時,其與接收方的餘額減少,而與傳送方的餘額增加。雖然她的總金額保持不變,但她的錢分配得更不均勻。
Alice想寄2個BTC給Bob,但是這次Carol無法匯款。她只有一個BTC在她的頻道與Bob。
為了保持支付的正常執行,Carol需要在平衡她的頻道。在平衡是一個節點採取的戰略行動,以增加其在支付通道中的餘額為代價,減少其在另一個通道中的餘額,從而保持路由支付。拼接Carol可以選擇使用鏈上交易將她的錢從一個渠道轉移到另一個渠道。要做到這一點,她必須首先關閉與愛麗絲的頻道,並重新開放,留出一些資金。這個操作稱為外拼接,可以在單個鏈上交易中完成。
Carol關閉了她與Alice的頻道,並開啟一個新的頻道。她現在用一個BTC解鎖。
以類似的方式,Carol將廣播另一個交易並進行拼接。這次行動包括關閉她與Bob的頻道,並用額外的資金重新開通。
Carol關閉了與Bob的通道並開啟了一個新的通道,提交了額外的BTC.
總結
在平衡渠道需要資金。雖然拼接比單獨關閉和開啟頻道要方便得多,但它們仍然涉及廣播交易和支付鏈上費用。因此,路由支付至少涉及兩項成本:開通和關閉渠道的運營成本,以及鎖定資金的財務成本。你可能會問自己一個問題: Carol將如何支付路由支付的費用?答案是Carol會對她的每一次付費收取費用。再平衡究竟如何影響閃電網路的收費?我們將在下一篇文章中討論這個問題。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;