本文是系列文章中的第五篇,它的主題是Velocity協議。此前的四篇文章的主題依次是布隆過濾器、可逆式布隆查找表、Graphene協議和毒塊攻擊。
本文是系列文章中的第五篇,它的主題是Velocity協議。此前的四篇文章的主題依次是布隆過濾器、可逆式布隆查找表、Graphene協議和毒塊攻擊。

Velocity協議是亞利桑那州立大學區塊鏈實驗室的研究成果。具體來說,這是Nakul Chawla為申請亞利桑那州立大學碩士學位所做的研究的成果。
讓我們回顧一下此前的內容,致密區塊、極瘦區塊和Graphene協議通過傳播區塊中的交易列表來在整個網絡中廣播區塊。由于它們能以八字節的標識符替代數百或數千字節的交易,因此它們節省了大量的帶寬。我們之前還探討了Graphene協議如何利用數據結構來提高效率,并討論了這些協議為什么極易遭到毒塊攻擊(在這種情況下,礦工會廣播一個許多交易都尚未向網絡公布的區塊)。
實現寬帶效率的最大化而非降低對寬帶的需求
Velocity協議以全新的方式解決了區塊傳播的問題。在設想中,它將與主節點網絡配合良好。與其它協議不同的是,它不會減少傳播區塊所需的帶寬量,而是以更高效的方式利用可用的帶寬。我們都知道,帶寬是不用就浪費了的資源類型。網速1GBPS的數據中心可以分分秒秒利用這樣的資源,也可以只在高峰時段使用。無論如何,費用都是一樣的。
讓我們通過一些數字來解釋Velocity協議。首先,我們假設將一個區塊分解成我們稱之為符號的小區塊,一個區塊可拆分為1000個符號。在獲知新區塊之前,一個節點可能需要咨詢其它的25個節點,假設這25個節點中的14個具有新區塊并開始向請求提供數據的節點發送消息,那么該節點可能會接收到995個符號加上6個修復符號。
這種情況下,該節點能以極其確定地構造完整的區塊。在完整的區塊恢復期間,速度不會受到毒塊攻擊的影響。Nakul Chawla進行的模擬表明,該協議非常有效。我們猜測這些成果的取得可以通過并行使用帶寬來解釋。
將最弱節點的影響最小化
Velocity協議最大限度地減少了連接不暢的節點帶來的影響。具體來說,通過連接不暢的節點請求數據的區塊有可能會出現傳播延誤。以Velocity協議為基礎,節點連接到A、B、C、D、E這五個節點,其中D和E的連接較為薄弱;當接收符號A和B時,它們各自可以提供350個符號, C可以提供200個符號,而D和E則分別能提供50個符號。因此,即使連接較弱,D和E實際上也會加速傳播。在沒有分擔帶寬負擔的情況下,薄弱連接可能會降低傳播速度。
有些文章斷言比特幣網絡在具備最弱節點的前提下也一樣活躍。Bitcoin Unlimited的首席科學家Peter Rizun將會反駁這一說法——比特幣網絡上過時的Commodore 64之所以不會損害網絡是因為它最終會被棄用。當Velocity協議集成到達世幣網絡或其它網絡中,不僅薄弱節點對網絡的影響可以忽略不計,而且網絡還可以為這些節點提供更好的支持并支持更多的此類節點。這意味著網絡將更具彈性、活力和靈活性。
超越維薩卡交易能力的已知突破口
簡而言之,模擬測試的結果非常棒。不過,在理念投入生產并充分驗證我們的模擬結果之前,我們還有很長的路要走。此外,我還要解釋一些復雜的因素。
簡而言之,我們認為加密數字貨幣網絡在追求擴容時兩個極限:一是網絡不能失去達成共識的機制,二是保有對礦工的積極激勵,避免他們決定退出網絡、不再新增區塊。我們的模擬表明,與Velocity協議融合后的達世幣為滿足網絡共識機制則需500MB的區塊擴容上限,為維持對礦工的經濟激勵則需300BM的區塊擴容上限。為了平衡這兩方面的需求,達世幣的擴容目標為250MB,在這種情況下,它平均每秒的交易處理量與維薩卡持平。這真是太棒了。
與Gigablock Testnet研究的比較
與Velocity協議相關的研究是由Peter Rizun和Andrew Stone等人發起的Gigablock Testnet。這項研究表明比特幣可以支持1GB的區塊;而Velocity協議的研究成果表明達世幣可以支持500MB的區塊。不過,由于達世幣的區塊通常會出現四次,因此達世幣的交易處理量約為比特幣的兩倍。
值得注意的是Gigablock Testnet使用了18個節點并且是仿真實驗,而Velocity協議使用了24個節點并且是模擬實驗,后者比前者更真實。在這兩種情況下,假設的節點數量都很少。我推測,達世幣實際的每秒交易處理量理應更高,因為區塊的處理流程更快。Gigablock Testnet也許就是這一主張的首個證據。
模擬結果和實際情況之間存在差距。首先值得注意的是模擬并不表明客戶端每秒的交易處理能力上限。這是一個已經得到了解答的問題。不過,模擬可能無法識別其它障礙。此外,我們的模擬環節中使用的節點數量很少,而引入更多節點通常會減慢傳播速度。再者,我們還發現,在維持對礦工的最低程度的經濟激勵的同時,孤塊率約為30%,這種情況并不適宜生產活動。
Graphene與Velocity的結合能否抵御毒塊攻擊?
值得探索的一個想法是Graphene與Velocity的結合。在區塊剛誕生且沒有被眾多節點所知的情況下, Velocity協議的執行情況最差。因此,我想了解Graphene協議如何在Velocity協議解碼失敗的時候進行完善。利用Graphene協議將顯著地降低毒塊攻擊的風險。
這種區塊傳播方式還會帶來其它好處,例如更快捷的同步。它有望帶來間隔為幾個小時而非幾天的比特幣區塊鏈同步。這種可能性令人振奮。(Darren Tapp)

關鍵詞: Velocity協議 區塊傳播 寬帶