以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

通道網絡中的再平衡(Rebalancing)算法加速思路_BAL

Author:

Time:1900/1/1 0:00:00

繼上一次關于支付網絡中路由問題的全面研究之后,熱愛研究的 Nervos 小伙伴 Shor 對通道網絡中的再平衡(Rebalancing)算法又做了詳細的研究。

本文中,我們會介紹通道網絡(Channel Network,CN)中的 Rebalance 問題。首先我們將介紹問題的定義和現有的解決算法。之后,我們會針對這一問題,介紹必要的圖論基礎和建模方法。最后,我們提供一種算法加速思路。(本文默認讀者具備對于通道網絡的常識。)

支付網絡中的 Rebalance 問題簡介我們把一個支付網絡看作一個無向圖,每個圖中的節點代表一個 PID,每條邊代表一個支付通道,其中每條邊在兩端節點各有一個存量。注意:我們默認每個(雙向)支付通道內部總存量守恒,即由 A,B 組成的通道中,如果 A 有余額 50,B 有余額 80,B 在向 A 支付 10 元后,A 有余額 60,B 有余額 70。

有時,因為網絡拓撲結構等原因,一個支付通道的一個方向總比另一個方向「更受歡迎」,在此情況下,各個通道的有限總存量都被「堆積」到一側,或者說「受歡迎方向」的流量就此耗盡了。因此,支付網絡會頻繁出現通道流量耗盡,不得不再次「上鏈」打開新通道的情況。再平衡(rebalancing)技術通過以下方式試圖緩解這一問題。

比特幣閃電網絡通道數量達72380個,創歷史新高:9月24日,Glassnode數據圖表顯示,比特幣閃電網絡通道數量達72380個,創歷史新高,通道數量在12個月內增長幅度達226%。[2021/9/24 17:04:05]

例如下圖中, 我們考慮一個由四條邊構成的回路,他們主流方向的 10 單位余量都已經耗盡。

其中每個箭頭 

表示一個連接了 A 與 B 的無向通道,其中 A 方存量是 a,B 方存量是 b。值得注意的是,箭頭方向代表了主流方向,因而我們畫成了一個有向圖,不過最新基于 RbR 的支付通道都是雙向的。Revive 通過一個來自全局 leader 的協調(本文中,我們不予考慮這個 leader 是如何實現的),完成一個 rebalance 工作。例如,可以協調 B 向 A 轉賬 5 個單位,協調 A 向 C 轉賬 5 個單位,協調 C 向 D 轉賬 5 個單位,協調 D 向 B 轉賬 5 個單位,使得全圖結構如下圖所示。其本質上是找到一個「回路」,并在這個回路上讓所有通道一起逆著主流方向回流、抵回一些流量。  

FUBT將于5月12日10:00開放FUC節點鎖倉挖礦通道:據FUBT官方公告,FUBT將于2020年5月12日10:00(GMT+8)正式上線FUC鎖倉挖礦功能,持續賦能FUC,壯大社群力量,進一步推動平臺全面、快速、協調發展。依據節點評選規則,經平臺用戶首批投票入選的8家節點直接獲得FUC鎖倉挖礦節點資格,用戶可自行選擇節點加入,詳見FUBT官方公告。[2020/5/11]

當我們提及 Rebalance 時,到底在試圖解決哪些問題?筆者認為,關鍵需要解決兩個問題: 

第一個問題是已知全圖求調度方案的問題(將在之后著重介紹)。

第二個問題是協議問題:有誰來實現上述的運算過程?如果是以個別實體節點(leader)完成,如何讓他們即時收取到一部分圖的實時信息并作出 rebalance 決策?如何規避他們作惡?如果是以一種去中心化的方式實現,又如何使信息收集、運算和實施三個環節成為可能?如何讓網絡節點參與并遵循我們想要設定的規則?

比特幣閃電網通道數量為36377個:據1ML數據,當前比特幣閃電網絡節點數為12421個,過去30天內增加3.17%;通道數量為36377個,過去30天內增加0.7%;網絡容量達到964.59個BTC,過去30天內增加4%。[2020/4/29]

本文中,我們先拋開第二個問題,專注于第一個問題。

支付網絡中現有的 rebalancing 問題可以被這樣抽象刻畫:

給定一個支付網絡,尋找足夠多的回路,最大化可以調整的流量。無疑這是個線性規劃問題。

現有的思路(即 Revive 工作的思路)是直接解這一個線性規劃問題。但是,直接求解這個線性規劃問題的代價是非常昂貴的(對于當前支付網絡規模而言尚可,但對于一個具有成百萬上億節點的未來假想支付網絡不可行)。最新的線性規劃算法理論復雜度為 O(M^w),其中 M 為變量和約束條件個數,w 是一個略小于 3 的常數。對于當前具有萬級別節點的支付網絡而言這個復雜度可以接受,不過我們認為這個復雜度對于未來具有百萬上億級別節點的支付網絡來說,高了一些。但也沒高太多!倘若能把復雜度稍微優化下去一些,就可以接受了。

動態 | 數據顯示:比特幣閃電網絡通道數量已達11171個:據1ML數據,當前比特幣閃電網絡節點數為11171個,過去30天內增加2.42%;通道數量為35930個,過去30天內增加1.9%;網絡容量已達到885.72個BTC,過去30天內增加3%。[2020/1/27]

接下來,我們將給出我們的解決思路。不過在此之前,我們先介紹一些必要的基礎知識。

需要的預備知識圖論基礎(強連通分量)  

對于一個有向圖,一個強連通分量指一個任意兩點之間可以互相由圖上有向邊訪達的子圖。一個極大強連通分量是一個增加任何一個其它節點后就不具備強連通分量性質的子圖。例如上圖中,我們可以用灰色區域勾勒出它的四個極大強連通分量。

我們可以觀察到以下方面:

極大強連通分量對任何一個有向圖的所有節點完成了一個 partition。

分析 | 金色盤面:BTC/USDT 30分鐘下降通道面臨變盤:金色盤面綜合分析:BTC/USDT從8月1日變盤開始,空頭始終占據優勢,多頭組織了三次抵抗都宣告失敗,而這種局面在過去48小時出現了變化,多頭一次反擊讓下降趨勢得以降速,從而為2小時MACD背離創造了機會,在未來的24小時內多頭如果收復6400,下降趨勢將徹底改變,所以我們要密切關注市場動向。[2018/8/11]

任何一個回路只會存在在同一個極大強連通分量內。

存在一個極高效的 O(N) 算法求出任一有向圖的所有極大強連通分量(具體算法本文中不贅述)。

其中 N 是全網節點數量。

將每個極大強連通分量看作一個整體,用邊連接所有有訪達關系的分量并縮點后,我們得到了一個有向無環圖。

具體優化辦法接下來,我們介紹具體算法。

首先,我們對原支付網絡圖做一個簡化變幻,將每一個雙向通道變換為從存量多的一方指向存量少的一方的有向邊,邊的容量是兩端存量差的一半。例如下圖中,我們將上圖變換為下圖。

于是,我們將尋找回路問題轉化成了尋找有向圖環路的問題。有向圖的每一條邊代表了一個為了讓原圖的對應通道更加平衡需要回流流量的一個「勢能」。每一個環路可以被看作一個回流方案。在進行強連通分量縮點后,我們只需要通過現有線性規劃解每一個極大強連通分量內部的 rebalance 問題。 

其解決方案便已明朗:只需要求解出這個有向圖的所有極大強連通分量,并且在每一個極大強連通分量中通過常規的線性規劃,求得一個最優的調度方案。因為我們認為每個回路并不會跨兩個不同的極大強連通分量,所以我們認為這個方法求出的就是全局的最優調度方案。 

這里其實有個小問題:這真的是個等價轉換嗎?實事求是地說并不是(雖然乍看是的)。有可能會出現最優全局調度方案中有回路橫跨兩個極大強連通分量的情況,因為有可能會出現「需要為了多數人苦一苦少數人」(「需要讓少數邊更加不平衡來讓更多邊變得更平衡」)能得到更優解的可能性。不過筆者暫時認為這種偏差是值得的。況且,涉及到現實落地,興許那些少數人并不會接受這樣的調度。 

細心的讀者們應該發現了本文中的兩個沒有解釋清楚的問題:

這個問題,本質上在問未來的大規模支付網絡會有多少個極大強連通分量,分量越多,優化效果就越明顯。本質上這個問題是未來大規模支付網絡的拓撲結構是怎么樣的。可以預期的是,如果絕大多數群眾節點的度數只有 4 度左右,極大強連通分量的期望數量是關于網絡節點數量以一種低于線性的速度增長的。

其實,這兩個問題本質上都在問:未來的大規模通道網絡的拓撲結構究竟是怎么樣的?

筆者認為,這個問題不但筆者回答不了,恐怕也沒有人能準確回答的了。這一點筆者已經在之前的文章「一份關于支付網絡中路由問題的全面研究」中給出了解釋。

Tags:BALBSPANCNBSBali Social IntegratedBSPAYVy Financenbs幣前景

火必交易所
金色前哨|重慶打造區塊鏈產業高地_區塊鏈

據重慶日報報道,記者從全市區塊鏈發展管理統籌協調機制第一次會議上獲悉,“十四五”期間,重慶市將從規劃布局、產業生態、技術突破、應用融合等方面,加快區塊鏈產業培育和創新應用.

1900/1/1 0:00:00
金色觀察|瑞波的迷局_XRP

金色財經訊,今日早間,美國SEC計劃起訴Ripple,指控其出售XRP違反投資者保護法。據火幣全球站行情顯示,XRP一度跌破0.46美元,最低跌至0.45744美元,日內跌幅超12%.

1900/1/1 0:00:00
比特幣開啟新牛市 跨鏈BTC或將成為DeFi重要爆發點?_EFI

2019年初,被譽為行業趨勢預言家的肖風博士發表演講時表示:“2019年后,我們不會再討論區塊鏈的技術障礙”。果不其然,跨鏈技術的新進展正在打破區塊鏈原有的“性能”瓶頸.

1900/1/1 0:00:00
12.29午間行情:行情未走壞 進入震蕩時間_比特幣

文章系金色財經專欄作者牛七的區塊鏈分析記供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別,謹防上當.

1900/1/1 0:00:00
金色前哨 | DeFi保險新銳Cover被攻擊 時間進展一覽_比特幣

就在12 月 3 日,YFI 創始人 Andre Cronje還 在博客發表了名為《了解 Cover Protocol》(Understanding Cover Protocol)的文.

1900/1/1 0:00:00
技術周刊|波卡平行鏈測試網預計圣誕節前夕上線_FIL

本周技術周刊包含以太坊、波卡、COSMOS、Filecoin網絡的技術類新聞。以太坊2.0存款合約地址余額突破10億美元金色財經報道,Etherscan數據顯示,截至12月18日凌晨3:00,以.

1900/1/1 0:00:00
ads