缺乏可擴展性被認為是大規模采用區塊鏈技術的最大障礙,現在,所有的區塊鏈項目都在尋找能夠提高其網絡性能的解決方案。許多新興項目聲稱他們有解決這個問題的靈丹妙藥,這是夸大其詞了,很多觀察員和投資者甚至都沒有意識到這個問題的核心和根源。
沒有深入的調查和足夠的技術支持,我們很難確定這背后的瓶頸和利弊權衡。本文,我們將探討阻礙比特幣擴展的公認因素。
在分散式對等網絡比特幣發明后不久,研究人員對決定比特幣規模極限的因素產生了興趣。很快,其核心問題就被確定為區塊傳播時間或區塊傳播延遲。
這是新區塊到達網絡中大多數節點所需要的平均時間。在像比特幣這樣的大型去中心化網絡中,每當產生新塊,都會根據Gossip協議進行信息傳播。如果某個節點占領了新的有效區塊,它將通知其他連接它的節點。
然后,節點將該區塊傳輸到要求其執行此操作的那些節點。在區塊到達網絡中的每個完整節點之前,它要經過7個中間節點,每個誠實的節點在轉發該區塊給其他對等節點之前都要驗證該區塊。顯然,整個過程需要一段時間。每個新的區塊都會影響網絡,使節點和以太網以最大功率工作。
有人會說,自從該網絡推出以來,Gossip協議已經有了很多改進。例如,比特幣改進方案BIP0152引入了只在區塊體中傳輸短交易ID的選項,而不是整個交易列表。但如果節點在其內存池中沒有該事務,則必須要求其對等方在單獨的消息中進行傳輸。如果該區塊中有大量此類事務,則BIP 0152的改進將失去意義。
由于數據傳輸是區塊中繼中最耗時的部分,研究人員對確定大小的數據包到達網絡中50%、90%或95%的節點所需的時間感興趣。
結果發現,對于一個大小大于20KB的區塊,區塊傳播延遲時間幾乎和區塊大小成正比。根據2013年發布的研究,該塊中每多出1KB的數據都會導致區塊傳播延遲增加80毫秒。
自那時起,每年都會有幾篇關于此主題的學術論文和調查,他們更新上述數據并提出各種改進建議。
此外,該網站監測比特幣網絡的當前狀態和區塊傳播時間,它還提供了有關這一主題的歷史數據圖表。大多數成熟的區塊鏈網絡與比特幣有著相同的設計,這些網絡中的區塊傳播時間遵循同樣的規則。
不幸的是,區塊傳播時間對區塊鏈的安全性有很大的影響。在網絡中傳播時間越長,礦工在舊區塊上開采的頻率越高。主鏈的分叉發生得更頻繁,孤立區塊的占比上升,長的傳播延遲導致了所謂的驗證者困境。
一些節點可能會發現跳過區塊驗證步驟是一個有益的策略。但在這種情況下,他們面臨著在錯誤區塊上開采的風險。然而,如果區塊驗證時間很長,這個策略或許就會有利可圖。研究人員發現,長傳播延遲降低了節點抵消51%攻擊和獨立挖掘的能力。
為了解決上述問題,區塊鏈開發人員經常試圖將區塊傳播時間控制在平均區塊時間的1%以下。
對于比特幣、以太坊和其他基于PoW共識的主要區塊鏈網絡都是如此。因此,比特幣網絡中50%的節點的區塊傳播時間通常低于6秒。
盡管像BIP 0152中所述的那樣,快速區塊中繼減少了平均區塊傳播時間,但在最壞的情況下,它可能比基本協議花費更多的時間。但即使在最壞的情況下,傳播延遲也應該是合理的,這樣礦工才能在大部分時間保持他們的節點同步,并始終驗證提議的區塊。
每當人們談論區塊鏈的可擴展性時,都會提到系統的交易吞吐量。然而,人們忘記了交易吞吐量的提高不應損害網絡的安全性,也不應對希望參與網絡的節點提出數據存儲要求。這些修改可以減少網絡中獨立交易驗證器的數量,從而減少去中心化。
比特幣交易吞吐量可以簡單使用公式計算:
Bsize是區塊大小(以字節為單位)
Tsize是區塊中交易記錄的平均大小
Btime是區塊鏈中連續區塊之間的平均時間
顯然,可以通過增加區塊大小、減少交易記錄大小或減少區塊之間的間隔來增加交易吞吐量。其中,減少交易記錄的大小是比較困難的。
人們也可以嘗試其他兩種選擇。然而,這些操作將增加花費在區塊傳播上的時間,網絡的安全性和分散性可能會因此受到威脅。
或許有人會注意到,在比特幣協議中,網絡資源的使用效率很低,每個節點只能在很短的時間內處理和傳輸一個新區塊的重要數據。它的網絡帶寬確實很重要,但它被充分使用的時間只有幾秒鐘。
其余時間,此節點只是傳輸未決交易和輔助數據。這一發現促使研究人員尋找更有效的協議設計,以在不影響網絡安全性和分散性的情況下顯著提高交易吞吐量。
責編AJX
-
網絡性能
+關注
關注
0文章
18瀏覽量
7381 -
區塊鏈
+關注
關注
111文章
15562瀏覽量
105931 -
比特幣
+關注
關注
57文章
7005瀏覽量
140519
發布評論請先 登錄
相關推薦
評論