王 旭,甘國華,吳凌云
1.中國科學(xué)院 數(shù)學(xué)與系統(tǒng)科學(xué)研究院 應(yīng)用數(shù)學(xué)研究所 管理、決策與信息系統(tǒng)重點實驗室,北京100190
2.北京太一云科技有限公司,北京100012
3.中國科學(xué)院大學(xué) 數(shù)學(xué)科學(xué)學(xué)院,北京100049
4.中國科學(xué)院 國家數(shù)學(xué)與交叉科學(xué)中心 大數(shù)據(jù)與區(qū)塊鏈實驗室,北京100190
5.北京科技大學(xué),北京100083
自從2009年中本聰發(fā)表了論文《比特幣:一個P2P電子現(xiàn)金系統(tǒng)》[1],區(qū)塊鏈作為一種去中心化的分布式數(shù)據(jù)庫技術(shù),逐漸進(jìn)入人們的視野中。區(qū)塊鏈技術(shù)的主要特性包括去中心化、公開透明、可追溯、防篡改等。區(qū)塊鏈技術(shù)利用數(shù)字加密技術(shù)以及分布式共識算法,可以實現(xiàn)在無需信任單個節(jié)點的情形下建立一個去中心化的可信任系統(tǒng)。
區(qū)塊鏈技術(shù)已經(jīng)被應(yīng)用到許多行業(yè)和領(lǐng)域。Dennis等人針對目前名譽(yù)系統(tǒng)所存在的安全漏洞,設(shè)計了一種基于區(qū)塊鏈技術(shù)的用于多重網(wǎng)絡(luò)的名譽(yù)記錄系統(tǒng)[2]。趙赫等人基于區(qū)塊鏈技術(shù)提出了一種傳感數(shù)據(jù)真實性保障方法,能夠保障采樣機(jī)器人在執(zhí)行任務(wù)的時候,不會受到不當(dāng)?shù)娜藶橛绊慬3]。張寧等人把區(qū)塊鏈技術(shù)應(yīng)用到能源互聯(lián)網(wǎng)中,介紹了區(qū)塊鏈技術(shù)對能源互聯(lián)網(wǎng)中源、網(wǎng)、荷、儲等不同主體在計量認(rèn)證、能源金融等不同環(huán)節(jié)所發(fā)揮的作用,通過碳排放權(quán)認(rèn)證為例說明區(qū)塊鏈技術(shù)在能源互聯(lián)網(wǎng)中的具體應(yīng)用[4]。陳化飛等人將區(qū)塊鏈技術(shù)應(yīng)用到由生產(chǎn)商和零售商構(gòu)成的農(nóng)鮮產(chǎn)品供應(yīng)鏈的決策中,抑制了生產(chǎn)商謊報鮮活度信息這一行為,不僅提升供應(yīng)鏈總利潤,也提升了各方成員的利潤[5]。張帥等人基于區(qū)塊鏈智能合約,構(gòu)建眾籌區(qū)塊鏈,開發(fā)了眾籌合約系統(tǒng),保障了眾籌項目的可靠與可信[6]。在軍事方面,王飛躍等人介紹區(qū)塊鏈在軍事領(lǐng)域的潛在應(yīng)用,提出了平行軍事區(qū)塊鏈的概念框架、理論和方法體系,有助于促使不對稱信息軍事博弈轉(zhuǎn)變?yōu)閷ΨQ信息博弈,不對稱的戰(zhàn)爭轉(zhuǎn)化為對稱的合作[7]。
學(xué)術(shù)界從理論上對區(qū)塊鏈技術(shù)也進(jìn)行了積極探索。Kawase等人提出了區(qū)塊鏈系統(tǒng)的排隊模型,對整個系統(tǒng)進(jìn)行研究,得出了一味增加區(qū)塊的大小不是解決交易確認(rèn)時間問題的有效方法[8]。Li等人在Kawase等人的基礎(chǔ)上進(jìn)行了改進(jìn),設(shè)計了具有兩個不同服務(wù)階段的分組服務(wù)排隊系統(tǒng),構(gòu)造了排隊中交易數(shù)量、區(qū)塊中交易數(shù)量以及交易確認(rèn)時間三個量化指標(biāo)[9]。Decker等人研究在比特幣網(wǎng)絡(luò)中的信息傳遞,給出了區(qū)塊鏈分叉的概率模型,也驗證了信息傳遞的延遲是造成區(qū)塊鏈分叉的主要原因[10]。Eyal等人針對區(qū)塊鏈可擴(kuò)展的限制,提出了新的可擴(kuò)展的區(qū)塊鏈協(xié)議—比特幣NG[11]。他們還構(gòu)造了一些對系統(tǒng)安全性進(jìn)行量化的指標(biāo),來對這兩種區(qū)塊鏈協(xié)議進(jìn)行比較。Lewenberg等人用合作博弈理論模型研究礦池成員如何公平合理地分配礦池收益[12]。Sompolinsky等人針對高的吞吐量會引起安全性降低的問題,提出了GHOST規(guī)則來代替最長鏈規(guī)則,在分叉的時候選擇最重的子樹來確定區(qū)塊鏈中的主鏈[13]。袁勇等人通過將區(qū)塊鏈技術(shù)與平行智能理論方法相結(jié)合提出了平行區(qū)塊鏈的概念,使得目前的區(qū)塊鏈技術(shù)具有計算實驗和平行決策的功能,實現(xiàn)了描述、預(yù)測、引導(dǎo)相結(jié)合的區(qū)塊鏈系統(tǒng)管理與決策[14]。袁勇等人還撰寫了多篇綜述來總結(jié)區(qū)塊鏈的基本原理、技術(shù)方法和應(yīng)用,區(qū)塊鏈中的共識算法以及安全性問題、智能合約[15-18],為以后的研究提供了基礎(chǔ)和參考。
區(qū)塊鏈的性能瓶頸是目前區(qū)塊鏈技術(shù)面臨的一個主要挑戰(zhàn)。區(qū)塊鏈性能的主要指標(biāo)是每秒交易處理量(Transaction Per Second,TPS)。例如比特幣的TPS為大約為7(隨著交易越來越復(fù)雜導(dǎo)致每筆交易記錄所需空間增加,比特幣的平均TPS已經(jīng)下降到了3.5),遠(yuǎn)遠(yuǎn)低于信用卡每秒鐘處理成千上萬筆的交易量。區(qū)塊鏈較低的性能很大程度上制約著其應(yīng)用,尤其是應(yīng)用于金融系統(tǒng)中高頻交易的場景。有一些研究人員嘗試提出各種技術(shù)改進(jìn)區(qū)塊鏈的性能。例如Lewenberg等人在區(qū)塊鏈系統(tǒng)中引入了有向無圈圖(DAG),一個區(qū)塊可以引用多個祖先區(qū)塊,使得網(wǎng)絡(luò)中可以并行打包多個區(qū)塊,以容納更多的交易,而且交易確認(rèn)時間會隨著越來越多的用戶加入而縮短[19],并在此基礎(chǔ)上提出了一些新的區(qū)塊鏈協(xié)議——SPECTRE[20]和PHANTOM[21]。蔡維德等人為了解決區(qū)塊鏈性能瓶頸,使其更好地應(yīng)用于對可擴(kuò)展性、運(yùn)行速度要求比較高的金融業(yè),提出了雙鏈模型,即賬戶區(qū)塊鏈(Account BlockChain,ABC)和交易區(qū)塊鏈(Trading BlockChain,TBC)[22]。除了理論研究,業(yè)界也提出了多個比特幣擴(kuò)容方案,例如2 MB區(qū)塊、隔離見證(SegWit)、閃電網(wǎng)絡(luò)等。2 MB區(qū)塊方案直接將比特幣區(qū)塊大小的限制從1 MB修改為2 MB,這樣可以增加單個區(qū)塊中可記錄的交易數(shù)量,提升區(qū)塊鏈的交易處理速度。隔離見證方案則是通過把交易數(shù)據(jù)從基本結(jié)構(gòu)中去掉,從而增加單個區(qū)塊中記錄的交易數(shù)量。閃電網(wǎng)絡(luò)通過鏈下補(bǔ)充鏈上,在用戶之間建立雙向的微支付通道,將大量高頻交易放在區(qū)塊鏈之外進(jìn)行,最終的階段交易結(jié)果通過區(qū)塊鏈來確認(rèn)。曾帥等人對擴(kuò)容關(guān)鍵技術(shù)以及發(fā)展現(xiàn)狀進(jìn)行了分析,總結(jié)了影響比特幣擴(kuò)容的宏微觀因素[23]。
但是目前還缺乏在理論上對區(qū)塊鏈性能與影響因素之間定量關(guān)系的研究。在部署區(qū)塊鏈應(yīng)用或者改善現(xiàn)有區(qū)塊鏈應(yīng)用的性能時,需要定量地分析各種參數(shù)(影響因素)對區(qū)塊鏈性能的影響,對區(qū)塊鏈參數(shù)進(jìn)行優(yōu)化。本文嘗試建立區(qū)塊鏈性能的數(shù)學(xué)模型,評估區(qū)塊鏈各主要參數(shù)對區(qū)塊鏈性能的影響,進(jìn)而預(yù)測區(qū)塊鏈性能,為部署和優(yōu)化區(qū)塊鏈的應(yīng)用提供理論支持。
區(qū)塊鏈?zhǔn)怯梢幌盗袇^(qū)塊有序鏈接起來所形成的一種數(shù)據(jù)結(jié)構(gòu)。區(qū)塊是組成區(qū)塊鏈的基本單元,由兩部分構(gòu)成,即區(qū)塊頭和區(qū)塊主體。區(qū)塊主體利用默克爾樹結(jié)構(gòu)來記錄交易信息,這些交易信息通過默克爾樹的哈希過程形成唯一的默克爾根記錄在區(qū)塊頭當(dāng)中。區(qū)塊頭主要由版本號、父區(qū)塊的哈希值、默克爾根、時間戳(timestamp)、難度目標(biāo)以及隨機(jī)數(shù)(Nonce)所組成。父區(qū)塊的哈希值是根據(jù)前一個區(qū)塊頭數(shù)據(jù)進(jìn)行哈希計算(SHA256算法)得到的,使得新挖出來的區(qū)塊能夠按照順序接在前一個區(qū)塊的后面。而難度目標(biāo)和Nonce則是用于驗證區(qū)塊的有效性。產(chǎn)生區(qū)塊的過程即所謂的挖礦,利用計算機(jī)(礦機(jī))的算力,經(jīng)過大量的計算所試出來的一個數(shù)(Nonce),使得區(qū)塊的哈希值滿足要求。最先構(gòu)造出正確的區(qū)塊并經(jīng)過全體礦工驗證的礦工,即可獲得當(dāng)前區(qū)塊的記賬權(quán)及相應(yīng)的記賬收益。
區(qū)塊鏈的區(qū)塊產(chǎn)生機(jī)制是隨機(jī)的,這導(dǎo)致了分叉的產(chǎn)生。當(dāng)兩個礦工幾乎同時挖出新的區(qū)塊,由于礦工之間距離遠(yuǎn)近和信息傳輸時間的差異,其他礦工看到這兩個區(qū)塊的先后順序是不一樣的。礦工會把自己先看到的區(qū)塊復(fù)制過來,在這個基礎(chǔ)上進(jìn)行后續(xù)的挖礦工作,此時區(qū)塊鏈會出現(xiàn)短暫的分叉。由于不同的礦工選擇了不同的鏈,就會導(dǎo)致分叉出來的兩條鏈上的算力是有區(qū)別的,而區(qū)塊生成能力和算力是成正比的,因此造成了兩條鏈的增長速度不同。一段時間之后,總會有一條鏈的長度會超過另外一條鏈。在以工作量證明(Proof of Work,POW)機(jī)制為共識算法的區(qū)塊鏈系統(tǒng)中,當(dāng)發(fā)現(xiàn)分叉的時候,礦工總是選擇把新的區(qū)塊鏈接在累計工作量證明最大的鏈(即最長鏈)上,而其他鏈上的區(qū)塊就會被拋棄掉,其中的交易自然變成無效的。
綜上所述,區(qū)塊鏈的性能主要是由區(qū)塊生成速率和區(qū)塊大小決定的,提高區(qū)塊生成速率或者增加區(qū)塊大小,都可以提高區(qū)塊鏈性能。然而區(qū)塊鏈性能與其影響因素之間并不是簡單的線性關(guān)系。提高區(qū)塊生成速率或者增加區(qū)塊大小,也會導(dǎo)致分叉的增加,使得更多的區(qū)塊成為無效區(qū)塊,降低區(qū)塊鏈性能。
區(qū)塊鏈性能,即每秒交易處理量,可以由有效區(qū)塊(即主鏈)的增長速率與每個區(qū)塊包含的平均交易數(shù)量的乘積計算得到。記β為主鏈的增長速率(block/s),S為區(qū)塊大小,R為平均每個交易記錄需要的存儲空間,則有:
在不產(chǎn)生分叉的情形下,所有生成的區(qū)塊都被鏈接到主鏈上,因此主鏈的增長速率β就等于整個區(qū)塊鏈系統(tǒng)的區(qū)塊生成速率λ,此時區(qū)塊鏈的性能很容易就可以計算得到:
這也是區(qū)塊鏈性能的理論最大值。而實際情況下,分叉導(dǎo)致一些區(qū)塊被鏈接到主鏈之外成為無效區(qū)塊,因此有β≤λ。下面對β進(jìn)行估計。
考慮一個簡化的區(qū)塊鏈生成概率模型。在這個區(qū)塊鏈系統(tǒng)中有N個礦工,區(qū)塊以λblock/s的速率勻速生成,生成每個區(qū)塊的礦工服從獨立的均勻分布,即每個礦工挖到區(qū)塊的概率為1 N,區(qū)塊在P2P網(wǎng)絡(luò)中傳輸?shù)钠骄鶗r間為D s。在這個模型中,區(qū)塊大小、P2P網(wǎng)絡(luò)帶寬等影響因素都是通過區(qū)塊在P2P網(wǎng)絡(luò)中傳輸平均時間D來影響區(qū)塊鏈性能。具體的:
其中S為區(qū)塊大?。∕B),B為網(wǎng)絡(luò)帶寬(Kb/s),1 024是MB與KB單位之間的轉(zhuǎn)換,8為KB與Kb單位之間的轉(zhuǎn)換。
對所有區(qū)塊按照其實際生成時間進(jìn)行編號。假設(shè)最新的區(qū)塊為第t個區(qū)塊,由第Kt個礦工生成。隨機(jī)變量Xi表示第t-i個區(qū)塊從第Kt-i個礦工傳輸?shù)降贙t個礦工所需要的時間。當(dāng)Xi≤i/λ,第Kt個礦工在生成第t個區(qū)塊時已經(jīng)收到第t-i個區(qū)塊的信息,第t個區(qū)塊可以鏈接到第t-i個區(qū)塊或者更新的區(qū)塊上。相反的,當(dāng)Xi>i/λ,第Kt個礦工無法及時收到第t-i個區(qū)塊的信息,因此第t個區(qū)塊無法鏈接到第t-i個區(qū)塊上。
考慮在最新的區(qū)塊生成時產(chǎn)生分叉的概率,可以得到β的期望。當(dāng)X1≤1/λ時,系統(tǒng)不會產(chǎn)生分叉,此時β=λ。X1>1/λ且X2≤2/λ時,系統(tǒng)產(chǎn)生了分叉,最新的區(qū)塊總是被鏈接到第t-2個區(qū)塊上,此時β=λ/2。以此類推,可以得到所有情形下β的估計值。因此,β的期望為:
在上面的模型中,β的期望依賴于P2P網(wǎng)絡(luò)中區(qū)塊傳輸時間的分布。假設(shè)P2P網(wǎng)絡(luò)下區(qū)塊傳輸時間服從均值為D的均勻分布,即[0,2D]上的均勻分布。在這種假設(shè)下區(qū)塊鏈的性能取決于P2P網(wǎng)絡(luò)平均傳輸時間D與區(qū)塊生成速率λ之間的關(guān)系:一個更接近實際數(shù)據(jù)的假設(shè)是P2P網(wǎng)絡(luò)傳輸間服從眾數(shù)為D的Gamma分布。此時β的期望為:
定理1在采用Gamma分布假設(shè)的區(qū)塊鏈性能模型中,同比例地變化區(qū)塊生成速率λ和區(qū)塊大小S對區(qū)塊鏈性能的影響是相同的,即對任意a>0有TPSTPS
證明
最后,來看一下區(qū)塊鏈性能與安全性之間的關(guān)系。假設(shè)一個攻擊者擁有的算力與正常算力之間的比值為q,即攻擊者以qλ的速率生成區(qū)塊,正常礦工以λ的速率生成區(qū)塊。由于攻擊者可以將自己生成的區(qū)塊鏈成一個單鏈,當(dāng)qλ>β時,攻擊者產(chǎn)生的鏈的增長速度就會超過正常的主鏈,攻擊者就有可能用他產(chǎn)生的鏈來取代主鏈。因此,可以把βλ作為系統(tǒng)的安全閾值。安全閾值越高,攻擊者獲勝需要的算力比例就越高,系統(tǒng)就越安全。
給定P2P網(wǎng)絡(luò)下區(qū)塊傳輸時間服從的概率分布,根據(jù)上章建立的數(shù)學(xué)模型,可以計算得到區(qū)塊鏈性能的預(yù)測值。當(dāng)區(qū)塊傳輸時間服從均勻分布時,模型可以直接計算得到結(jié)果。而對于更一般的概率分布,例如Gamma分布,則需要計算一個無窮級數(shù)。注意到當(dāng)i趨于無窮大時趨于無窮小而P趨近于1,因此可以對級數(shù)進(jìn)行截斷以得到一個近似解。具體的,取一個閾值(例如10-100),當(dāng):
時停止計算,忽略掉后面的項。在后面的分析中,如果沒有特別指出,模型中的參數(shù)采用如下的缺省值:區(qū)塊生成速率為1/600 block/s,區(qū)塊大小為1 MB,平均每個交易占用空間大小為500 B,P2P網(wǎng)絡(luò)的平均傳輸帶寬為512 Kb/s。
圖1展示了當(dāng)模型中區(qū)塊的傳輸時間分別服從均勻分布和Gamma分布時,區(qū)塊鏈性能與區(qū)塊生成速率之間的關(guān)系。其中,帶三角形的線表示理論最大值(即沒有分叉發(fā)生時的區(qū)塊鏈性能),帶圓形的線表示均勻分布假設(shè)下的區(qū)塊鏈性能曲線,帶加號的線表示在Gamma分布假設(shè)下的區(qū)塊鏈性能曲線。由圖1可以看出,隨著區(qū)塊生成速率的增加,區(qū)塊鏈性能的增加越來越緩慢,與理論最大值的差距越來越大。這是由于區(qū)塊生成速率增加造成了分叉越來越嚴(yán)重,無效區(qū)塊所占的比例越來越大,使得區(qū)塊生成速率增加對區(qū)塊鏈性能提升的邊際效應(yīng)越來越弱,增加的區(qū)塊更多地成為無效區(qū)塊,而不是用于提高區(qū)塊鏈性能。例如當(dāng)區(qū)塊生成速率由1增加到2時,每秒交易量只增加了大約28%,新增區(qū)塊中的72%都作為無效區(qū)塊被浪費了。
圖1 不同假設(shè)下的區(qū)塊鏈性能
圖2展示了當(dāng)區(qū)塊生成速率較低時的區(qū)塊鏈性能。在區(qū)塊生成速率低于0.1時,基于Gamma分布假設(shè)和均勻分布假設(shè)的模型結(jié)果都很接近理論最大值,意味著此時分叉很少。由圖中可以看出,當(dāng)區(qū)塊生成速率為1/600≈0.001 67時(即每10 min產(chǎn)生一個區(qū)塊),每秒交易量大約為3.5,與目前比特幣的實際情形一致。
圖2 區(qū)塊生成速率較低時的區(qū)塊鏈性能曲線
從圖1和圖2可以看出,基于均勻分布假設(shè)的模型估計得到的區(qū)塊鏈性能要高于基于Gamma分布假設(shè)的模型,這是因為均勻分布假設(shè)低估了區(qū)塊在P2P網(wǎng)絡(luò)上傳輸?shù)臅r間。在下面的分析中,將主要基于Gamma分布假設(shè)模型來分析區(qū)塊生成速率、區(qū)塊大小、P2P網(wǎng)絡(luò)傳輸速度與區(qū)塊鏈性能以及系統(tǒng)安全性之間的關(guān)系。
圖3和圖4給出了區(qū)塊生成速率、區(qū)塊大小與區(qū)塊鏈性能之間的關(guān)系。圖3所顯示的結(jié)果與Zohar等人所模擬出來的結(jié)果(圖4)是基本一致的[13],表明了模型的合理性。圖中的虛線部分表示的是在沒有分叉的情形下,區(qū)塊的生成速率或者是區(qū)塊的大小與區(qū)塊鏈性能之間的關(guān)系,這種關(guān)系是線性的。當(dāng)出現(xiàn)分叉之后,即圖3和圖4中的實線部分,它們之間就不再呈現(xiàn)出線性關(guān)系,隨著區(qū)塊生成速率的增加,當(dāng)區(qū)塊大小不變時,區(qū)塊鏈性能在增加,但增加的速率越來越慢。隨著區(qū)塊大小的增加,在區(qū)塊生成速率不變的情形下,區(qū)塊鏈性能在增加,但也是增加的越來越慢。圖3和圖4也驗證了定理1的結(jié)論,即通過增加區(qū)塊生成速率和區(qū)塊大小來提升區(qū)塊鏈性能是等效的。例如,當(dāng)區(qū)塊生成速率為0.025 block/s,區(qū)塊大小為1 MB時,區(qū)塊鏈性能為44.79 tx/s。當(dāng)區(qū)塊生成速率變?yōu)?.05 block/s,區(qū)塊大小不變,區(qū)塊鏈性能為67.64 tx/s,而當(dāng)區(qū)塊生成速率保持0.025 block/s,區(qū)塊大小變?yōu)? MB時,區(qū)塊鏈性能也為67.64 tx/s。區(qū)塊大小增加一倍和區(qū)塊生成速率增加一倍對區(qū)塊鏈性能的影響是一樣的。此時,區(qū)塊鏈性能僅提升了約50%。
圖3 不同區(qū)塊大小時區(qū)塊生成速率對區(qū)塊鏈性能的影響
圖4 不同區(qū)塊生成速率時區(qū)塊大小對區(qū)塊鏈性能的影響
圖5給出了不同區(qū)塊大小時P2P網(wǎng)絡(luò)傳輸速度對區(qū)塊鏈性能的影響。虛線表示在沒有分叉的時候,P2P網(wǎng)絡(luò)的傳輸速度對區(qū)塊鏈性能沒有影響。在出現(xiàn)分叉后,可以看出P2P網(wǎng)絡(luò)傳輸速度高于某個閾值時區(qū)塊鏈性能不受網(wǎng)絡(luò)傳輸速度的影響,而這個閾值與區(qū)塊大小成正比。換句話說,更大的區(qū)塊需要更快的網(wǎng)絡(luò)。如果區(qū)塊大小與P2P網(wǎng)絡(luò)傳輸速度不匹配,則會嚴(yán)重降低區(qū)塊鏈性能。因此不考慮P2P網(wǎng)絡(luò)的實際情況,僅僅增加區(qū)塊大小對區(qū)塊鏈性能的提高會大打折扣。同樣通過分析不同區(qū)塊生成速率時P2P網(wǎng)絡(luò)傳輸速度對區(qū)塊鏈性能的影響可知,更快的區(qū)塊生成速率也需要更快的網(wǎng)絡(luò)。這與定理1的結(jié)論是一致的。
圖5 網(wǎng)絡(luò)傳輸速度對區(qū)塊鏈性能的影響
最后分析區(qū)塊鏈系統(tǒng)的安全性。圖6給出了區(qū)塊生成速率、區(qū)塊大小與區(qū)塊鏈系統(tǒng)安全閾值之間的關(guān)系。當(dāng)沒有發(fā)生分叉時,區(qū)塊鏈系統(tǒng)的安全閾值為1,如圖中的虛線所示。在考慮分叉之后,隨著區(qū)塊生成速率或者區(qū)塊大小的增加,分叉越來越多,導(dǎo)致安全閾值顯著降低。這種降低隨著區(qū)塊大小或者是區(qū)塊生成速率的增加而減慢。區(qū)塊生成速率固定為1/150(block/s)的時候,當(dāng)區(qū)塊大小由10 MB增加到20 MB,系統(tǒng)的安全閾值從0.55降低到了0.37,當(dāng)區(qū)塊大小由20 MB增加到40 MB,系統(tǒng)的安全閾值從0.37降低到了0.24。即當(dāng)區(qū)塊大小增加到40 MB時攻擊者只需要有比正常礦工算力的24%多的算力就能獲勝。圖6所顯示的結(jié)果與Zohar等人所模擬出來的結(jié)果(圖5)也是基本一致的,進(jìn)一步證明了本文模型的合理性[13]。
圖6 區(qū)塊生成速率、區(qū)塊大小對系統(tǒng)安全閾值的影響
圖7給出了不同區(qū)塊大小情況下,P2P網(wǎng)絡(luò)傳輸速度對區(qū)塊鏈系統(tǒng)安全閾值的影響??梢钥闯觯?dāng)P2P網(wǎng)絡(luò)的傳輸速度高于某個閾值的時候,區(qū)塊鏈系統(tǒng)的安全閾值達(dá)到了最大值,而這個閾值與區(qū)塊大小成正比。這與網(wǎng)絡(luò)傳輸速度對區(qū)塊鏈性能的影響是一致的。不同區(qū)塊生成速率時,P2P網(wǎng)絡(luò)傳輸速度對區(qū)塊鏈系統(tǒng)安全閾值的影響也是如此。因此如果區(qū)塊大小、區(qū)塊生成速率與P2P網(wǎng)絡(luò)傳輸速度不匹配的話,就會嚴(yán)重降低區(qū)塊鏈系統(tǒng)的安全性。
圖7 網(wǎng)絡(luò)傳輸速度對系統(tǒng)安全閾值的影響
本文建立了區(qū)塊鏈性能數(shù)學(xué)模型,對影響區(qū)塊鏈性能的因素進(jìn)行量化分析。通過模型分析找出了影響區(qū)塊鏈性能的主要因素及其與區(qū)塊鏈性能之間的定量關(guān)系。一方面該模型可以為定制區(qū)塊鏈系統(tǒng)提供理論支持。例如,根據(jù)實際應(yīng)用的性能要求,通過區(qū)塊鏈性能模型可以確定合適的區(qū)塊鏈系統(tǒng)參數(shù),包括區(qū)塊生成速率、區(qū)塊大小等。通過對區(qū)塊鏈性能模型的分析可以知道,在設(shè)計提升區(qū)塊鏈性能的技術(shù)方案時,需要綜合考慮區(qū)塊生成速率、區(qū)塊大小、網(wǎng)絡(luò)傳輸速度三方面的影響因素。如果這三方面影響因素之間不匹配的話,區(qū)塊鏈的性能和安全性都無法達(dá)到預(yù)期目標(biāo)。
另一方面該模型也可以幫助人們深入了解區(qū)塊鏈性能的影響因素和機(jī)理,為進(jìn)一步發(fā)展更高效的區(qū)塊鏈技術(shù)提供參考。通過對現(xiàn)有區(qū)塊鏈系統(tǒng)的分析發(fā)現(xiàn),導(dǎo)致區(qū)塊鏈可擴(kuò)展性差的一個主要原因就是分叉。分叉頻率的增加導(dǎo)致了區(qū)塊鏈性能提升呈現(xiàn)邊際效應(yīng)遞減,同時也嚴(yán)重降低了區(qū)塊鏈系統(tǒng)的安全閾值。要解決這兩方面的問題,需要考慮如何降低甚至消除分叉的影響。例如,基于有向無圈圖(DAG)的新型區(qū)塊鏈技術(shù)就是一種很有發(fā)展前景的解決方案[19-21]。希望本文所提出的區(qū)塊鏈性能模型可以為后續(xù)的研究提供一定的理論指導(dǎo)和參考。