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