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