眾所周知,缺乏可擴展性是阻礙大規模采用區塊鏈技術的最大障礙。所有現有的區塊鏈項目都在尋找可以改善其網絡性能的解決方案。許多新興項目聲稱他們擁有可以解決該問題的方案。但是,這樣的斷言并不總是有效的。不幸的是,許多觀察家和投資者沒有意識到這個問題的核心和根源。沒有深入的調查和大量的技術背景,就很難確定隱藏的瓶頸和權衡取舍。在本文中,我們將討論防止比特幣擴展的瓶頸。
分散式點對點網絡比特幣發明不久后,研究人員對決定比特幣擴展規模限制的事物產生了興趣。很快被確定和核心問題描述在以下方面塊傳播時間或塊的傳播延遲。
這是新塊到達網絡中大多數節點所需的平均時間。在像比特幣這樣的大型分散式網絡中,每當生成新塊時,就會根據八卦協議進行廣播。如果某個節點獲得了新的有效塊,它將通知與其連接的節點有關其新擁有權的信息。
然后,節點將該塊傳送到要求其執行此操作的那些節點。在該塊到達網絡中的每個完整節點之前,它會通過7個中間節點。重要的是,每個誠實節點都必須先驗證該塊,然后再將其中繼給其他對等節點。
顯然,整個過程需要一段時間。每個新塊都會動搖網絡,并使它們之間的節點和以太網連接以最大功率工作。
有人可能會說,自網絡啟動以來,Gossip協議有了許多改進。例如,比特幣改進提案BIP 0152引入了在區塊主體中僅傳輸短交易ID而不是整個交易列表的選項。
但是,如果節點的內存池中沒有該事務,則它必須要求其對等方在單獨的消息中進行傳輸。如果該區塊中有大量此類事務,則BIP 0152的改進將消失。
由于數據傳輸是塊中繼中最耗時的部分,因此研究人員對確定一定大小的數據包到達網絡中50%,90%或95%的節點需要多少時間感興趣。
已經發現,對于大小大于20kB的塊,塊傳播延遲幾乎與塊大小成正比。根據 2013年發布的研究,該塊中每多出一千kB的數據都會導致塊傳播延遲增加80ms。
從那時起,每年都會發表有關該主題的兩篇學術論文和調查。他們更新了上述數據并討論了各種改進建議。
此外,該站點還監視比特幣網絡的當前狀態和塊傳播時間。此外,它還為圖表提供有關此主題的歷史數據。
大多數完善的區塊鏈網絡的設計與比特幣相同。結果,這些網絡中的塊傳播時間遵循相同的規則。
不幸的是,區塊傳播時間對區塊鏈安全性具有巨大影響。網絡中的傳播時間越長,礦工越會在舊塊頂部進行挖掘。
結果,主鏈的分叉更加頻繁地發生,并且孤立塊的百分比增加。長的傳播延遲導致所謂的驗證者困境。
一些節點可能會發現跳過塊驗證步驟可能是一種有利可圖的策略。在這種情況下,他們將面臨在錯誤區塊頂部進行開采的風險。
但是,如果塊驗證時間很長,則此策略可能會有利可圖。研究人員發現,較長的傳播延遲會降低節點抵抗51%攻擊和自私采礦的能力。
為了解決上述問題,區塊鏈開發人員經常嘗試將區塊傳播時間保持在平均區塊時間的1%以下。
對于基于PoW共識的比特幣,以太坊和其他主要區塊鏈網絡而言,這都是正確的。因此,到比特幣網絡中50%節點的塊傳播時間通常低于6秒。
盡管像BIP 0152中所述的那樣,快速塊中繼減少了平均塊傳播時間,但在最壞的情況下,它可能比基本協議花費更多的時間。
重要的是,即使在最壞的情況下,傳播延遲也應合理,這樣礦工將在大多數時間保持其節點同步,并始終驗證提議的區塊。
每當人們談論區塊鏈的可擴展性時,他們都會提及系統的交易吞吐量。但是,人們忘記了事務吞吐量的提高不應損害網絡的安全性,也不應提高希望加入網絡的節點的數據存儲要求。
這些修改可以減少網絡中獨立交易驗證器的數量,從而減少分散性。
可以使用以下公式輕松計算比特幣的交易吞吐量:
哪里Bsize是塊大小,Tsize是區塊中交易記錄的平均大小,Btime是區塊鏈中連續區塊之間的平均時間。顯然,可以通過增加塊大小,減小事務記錄大小或減小塊之間的間隔來增加事務吞吐量。減少事務記錄的大小相當困難。
一個人可能會嘗試另外兩個選項。但是,這些操作將增加在塊傳播上花費的時間百分比。因此,網絡的安全性和分散性可能受到損害。
可能會注意到,在上述的比特幣協議中,網絡資源的使用效率低下。每個節點僅在一小部分時間內處理并傳輸有關新塊的重要數據。它的網絡帶寬確實很重要,但是一次只能使用幾秒鐘。
其余時間,該節點僅傳輸未決事務和輔助數據。這一發現啟發了研究人員尋找更有效的協議設計,這些協議設計可以在不損害網絡安全性和分散性的前提下,顯著提高交易吞吐量。
以上就是關于區塊鏈中的區塊傳播問題的全部內容,想了解更多關于區塊鏈的信息,請繼續關注中培偉業。