999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于區(qū)塊鏈的食品供應(yīng)鏈數(shù)據(jù)雙鏈存儲優(yōu)化模型

2020-12-07 08:41:54高圣喬劉新亮高彥平
食品與機(jī)械 2020年11期
關(guān)鍵詞:機(jī)制模型

高圣喬 劉新亮,3 高彥平

(1. 北京工商大學(xué)電商與物流學(xué)院,北京 100048;2. 農(nóng)產(chǎn)品質(zhì)量安全追溯技術(shù)及應(yīng)用國家工程實(shí)驗(yàn)室,北京 100048;3. 中國農(nóng)業(yè)大學(xué)信息與電氣工程學(xué)院,北京 100083)

食品供應(yīng)鏈通常由監(jiān)管機(jī)構(gòu)監(jiān)管,上下游企業(yè)串聯(lián)而成,鏈上企業(yè)的數(shù)據(jù)都由企業(yè)自己維護(hù),容易造成供應(yīng)鏈上的信息孤島[1-2]。由于商業(yè)競爭,上下游企業(yè)篡改、偽造信息十分常見,導(dǎo)致不同企業(yè)與消費(fèi)者之間的信息不對稱[3]。盡管中國很早就著手構(gòu)建追溯平臺,通過加大監(jiān)管力度,讓食品供應(yīng)鏈各個環(huán)節(jié)的數(shù)據(jù)透明,從而解決不對稱問題[4],但企業(yè)中心化的管理方式存在著極大的信息自主權(quán),無法保證信息的完整性和準(zhǔn)確性,同時還存在供應(yīng)鏈不同環(huán)節(jié)數(shù)據(jù)結(jié)構(gòu)難以統(tǒng)一,難以整合的問題,因此,信息不對稱問題一直未得到有效解決[5]。

隨著比特幣的持續(xù)升溫,區(qū)塊鏈因其去中心化和不可篡改的特性進(jìn)入人們視野[6],區(qū)塊鏈的特性不僅可以有效解決當(dāng)前供應(yīng)鏈數(shù)據(jù)中心化存儲帶來的諸多問題,同時也為跨機(jī)構(gòu)溯源提供技術(shù)支持[7-8]。但是,區(qū)塊鏈技術(shù)帶來諸多優(yōu)勢的同時也存在一些問題,最明顯的就是存儲膨脹:截至2020年1月,比特幣區(qū)塊鏈賬本總?cè)萘考s為220 GB,這一數(shù)字還在持續(xù)高速增加。比特幣全節(jié)點(diǎn)約有10 000個,這些節(jié)點(diǎn)提供的總?cè)萘扛哌_(dá)2 PB,卻只存儲了220 GB的數(shù)據(jù)。高昂的空間需求也造成了入網(wǎng)的巨大門檻,隨著數(shù)據(jù)的持續(xù)膨脹,能負(fù)擔(dān)得起的節(jié)點(diǎn)越來越少[9-10]。此外,由于共識算法的制約,一些交易確認(rèn)時間延長,導(dǎo)致性能也存在瓶頸[11]。為解決區(qū)塊鏈自身存儲膨脹以及性能低的問題,文章擬提出基于區(qū)塊鏈的食品供應(yīng)鏈數(shù)據(jù)雙鏈存儲優(yōu)化模型。利用區(qū)塊鏈的不可篡改和去中心化的特點(diǎn),來解決食品供應(yīng)鏈存在的信息篡改和不對稱的頑疾;采取主鏈—摘要鏈模式緩解存儲膨脹;通過改進(jìn)的委托權(quán)益證明(Delegated Proof of Stake,DPoS)+拜占庭容錯(Byzantine Fault Tolerance,BFT)共識機(jī)制,配合候選節(jié)點(diǎn)信譽(yù)積分機(jī)制,提高交易吞吐量和性能,同時增強(qiáng)系統(tǒng)的穩(wěn)定性和安全性。

1 區(qū)塊鏈

區(qū)塊鏈的本質(zhì)是去中心化的分布式賬本[12],運(yùn)用非對稱加密[13]、哈希函數(shù)、時間戳[14]、點(diǎn)對點(diǎn)網(wǎng)絡(luò)、共識機(jī)制等技術(shù)。區(qū)塊是存儲交易信息的數(shù)據(jù)結(jié)構(gòu),將其蓋上時間戳,首尾相連,形成有時間順序的鏈?zhǔn)浇Y(jié)構(gòu)就是區(qū)塊鏈。共識機(jī)制維護(hù)分布式一致性,使區(qū)塊數(shù)據(jù)不可篡改;哈希和非對稱加密等技術(shù)保證交易的安全可驗(yàn)證。

圖1是比特幣區(qū)塊鏈的鏈?zhǔn)浇Y(jié)構(gòu):其本質(zhì)是一個單向鏈表,包含一個指向前驅(qū)區(qū)塊的指針;區(qū)塊頭中包含時間戳、版本號等信息,其中默克爾根連接了一棵記錄著所有交易的完全二叉樹,逐層哈希得到默克爾根[15]。

1.1 區(qū)塊鏈的技術(shù)特點(diǎn)

(1) 去中心化:區(qū)塊鏈網(wǎng)絡(luò)中不存在中心化節(jié)點(diǎn),所有節(jié)點(diǎn)是平等的。這是因?yàn)槠涞讓硬捎昧薖2P網(wǎng)絡(luò)(圖2),節(jié)點(diǎn)間可以任意通信、交易,無需第三方審核[16]。

(2) 不可篡改:區(qū)塊按時間順序生成,通過前驅(qū)區(qū)塊的頭哈希連接。一旦交易被篡改,默克爾根和頭哈希都會改變,與后繼區(qū)塊的記錄不符,從而該區(qū)塊后的所有區(qū)塊都要重新共識,這需要全網(wǎng)大部分算力來重新完成工作量證明,因此數(shù)據(jù)幾乎無法被篡改。

圖1 比特幣中區(qū)塊鏈的鏈?zhǔn)浇Y(jié)構(gòu)

(3) 性能低:網(wǎng)絡(luò)中一筆交易和每個新區(qū)塊都要通過全網(wǎng)節(jié)點(diǎn)的驗(yàn)證,為防止分叉導(dǎo)致的欺詐行為,一筆交易只有上鏈并在其上方累積若干區(qū)塊后,才被認(rèn)定完成。

(4) 存儲膨脹:用戶的不斷增加導(dǎo)致交易量日趨龐大,因此區(qū)塊數(shù)據(jù)量快速膨脹。由于不存在第三方可信機(jī)構(gòu),信任構(gòu)建于完整的歷史交易,所以區(qū)塊鏈系統(tǒng)普遍面臨存儲瓶頸,準(zhǔn)入門檻高的問題。

1.2 共識機(jī)制

目前有幾大主流的共識算法:比特幣的工作量證明機(jī)制(Proof of Work,PoW)[17];以太坊的權(quán)益證明機(jī)制(Proof of Stake,PoS)[18];委托權(quán)益證明DPoS[19]以及實(shí)用拜占庭容錯機(jī)制(Practical Byzantine Fault Tolerance,PBFT)[20]。

DPoS通過社區(qū)投票選舉witness(見證人)節(jié)點(diǎn)記賬出塊。通過減小記賬節(jié)點(diǎn)數(shù)量,縮短區(qū)塊間隔,增加吞吐量。但其存在投票惰性、惡意賄賂等問題,且過分依賴社區(qū)自治,有中心化的風(fēng)險(xiǎn)。

PBFT主要用于聯(lián)盟鏈,由于主節(jié)點(diǎn)多次廣播,因此需要盡可能少的節(jié)點(diǎn)參與來保證效率。

2 食品供應(yīng)鏈數(shù)據(jù)雙鏈存儲優(yōu)化模型

鑒于食品供應(yīng)鏈現(xiàn)存的問題以及區(qū)塊鏈應(yīng)用的瓶頸,提出基于區(qū)塊鏈的食品供應(yīng)鏈數(shù)據(jù)雙鏈存儲優(yōu)化模型,模型的整體架構(gòu)見圖3。參與方包括食品供應(yīng)鏈的主要成員:消費(fèi)者、核心企業(yè)和監(jiān)管機(jī)構(gòu);產(chǎn)生的數(shù)據(jù)分為鏈上和鏈下兩部分存儲;P2P網(wǎng)絡(luò)中依據(jù)參與方的功能進(jìn)行節(jié)點(diǎn)類型劃分;最底層是主鏈—摘要鏈的雙鏈存儲模式。

按區(qū)塊鏈的技術(shù)架構(gòu)(如圖4),將模型拆分成數(shù)據(jù)層、網(wǎng)絡(luò)層、共識層和應(yīng)用層單獨(dú)設(shè)計(jì)。

2.1 數(shù)據(jù)層

數(shù)據(jù)層用于存儲食品供應(yīng)鏈產(chǎn)生的數(shù)據(jù)。區(qū)塊鏈依賴分布式系統(tǒng),單位存儲成本極高,模型根據(jù)數(shù)據(jù)的敏感程度和重要性,將其分為鏈上和鏈下存儲[21]:鏈上只存放敏感且重要的小型數(shù)據(jù),包括產(chǎn)品信息、交易參與方信息、證書和憑證的哈希值等。哈希值是通過哈希函數(shù)對目標(biāo)內(nèi)容生成的固定長度以十六進(jìn)制表示,具有輸入敏感的特性,可驗(yàn)證數(shù)據(jù)一致性[22]。鏈下即為企業(yè)和監(jiān)管機(jī)構(gòu)各自的數(shù)據(jù)庫,主要保存企業(yè)信息、產(chǎn)品信息、檢疫數(shù)據(jù)、證書及合同完整信息、轉(zhuǎn)賬裝載憑證等交易源數(shù)據(jù)、物流追溯信息等非敏感內(nèi)容。這樣可以很好地利用區(qū)塊空間,杠桿化區(qū)塊鏈的性能[23]。

2.1.1 食品供應(yīng)鏈交易信息結(jié)構(gòu) 區(qū)塊鏈上鏈的數(shù)據(jù)不可篡改,而要保證源頭可信則需其他技術(shù),例如通過射頻識別(radio frequency identification,RFID)、物聯(lián)網(wǎng)等對加工生產(chǎn)進(jìn)行數(shù)據(jù)實(shí)時采集,確保源頭可信[24]。

圖4 區(qū)塊鏈?zhǔn)称饭?yīng)鏈體系分層結(jié)構(gòu)圖

為了更高效地存儲供應(yīng)鏈數(shù)據(jù),設(shè)計(jì)了如表1的全新交易信息結(jié)構(gòu),對于某類食品,其在供應(yīng)鏈上流通所生成的交易信息包括但不限于:食品編號Id,食品名稱Name,操作信息(Operating Information,OI),時間戳TimeStamp,交易參與方P,數(shù)字簽名Signp,源數(shù)據(jù)地址Url(s),源數(shù)據(jù)哈希值Hash(s),前一步驟地址Url(ls),交易信息哈希值Hash(t)。

食品在供應(yīng)鏈經(jīng)過每一步驟都需負(fù)責(zé)人簽名。若超級節(jié)點(diǎn)驗(yàn)證發(fā)現(xiàn)問題,根據(jù)簽名及時定責(zé),同時阻斷產(chǎn)品流通。源數(shù)據(jù)即為鏈下數(shù)據(jù),提供地址和哈希值,確保未篡改;前一步交易信息地址用來回溯交易過程;提供整條交易哈希值供驗(yàn)證。每筆交易審核通過且上鏈即交易達(dá)成。

表1 交易信息數(shù)據(jù)結(jié)構(gòu)

2.1.2 主鏈—摘要鏈區(qū)塊結(jié)構(gòu) 主鏈記錄全網(wǎng)的所有交易信息,為緩解存儲膨脹,在主鏈的基礎(chǔ)上生成摘要鏈,記錄主鏈部分信息以及系統(tǒng)運(yùn)行產(chǎn)生的關(guān)鍵數(shù)據(jù)。為適配食品供應(yīng)鏈,配合信譽(yù)積分機(jī)制,模型對區(qū)塊結(jié)構(gòu)進(jìn)行改進(jìn)。如圖5所示,主鏈區(qū)塊頭新增了區(qū)塊生產(chǎn)者簽名。

如圖6所示,摘要鏈區(qū)塊頭除主鏈區(qū)塊頭內(nèi)容外,還包括對應(yīng)主鏈區(qū)塊高度、數(shù)量。區(qū)塊體包含:主鏈區(qū)塊高度、頭哈希、默克爾根;該輪超級節(jié)點(diǎn)信譽(yù)積分變動情況。

2.2 網(wǎng)絡(luò)層

網(wǎng)絡(luò)層設(shè)計(jì)了節(jié)點(diǎn)身份認(rèn)證規(guī)則、不同角色以及競爭記賬權(quán)的規(guī)則。

2.2.1 網(wǎng)絡(luò)搭建與節(jié)點(diǎn)類型 食品供應(yīng)鏈包含監(jiān)管機(jī)構(gòu)、核心企業(yè)及消費(fèi)者等參與者。首先由監(jiān)管機(jī)構(gòu)組建P2P許可區(qū)塊鏈網(wǎng)絡(luò),其他參與者需申請入網(wǎng)。為避免女巫攻擊,申請時需提供相應(yīng)的營業(yè)許可、檢疫記錄、法人信息等,通過監(jiān)管機(jī)構(gòu)CA認(rèn)證(Certificate Authority)。通過后會授予數(shù)字證書和公私鑰,允許參與交易[25]。

圖5 主鏈區(qū)塊結(jié)構(gòu)圖

圖6 摘要鏈區(qū)塊結(jié)構(gòu)圖

節(jié)點(diǎn)按功能分為3類:超級節(jié)點(diǎn)、候選節(jié)點(diǎn)和普通節(jié)點(diǎn)。

超級節(jié)點(diǎn)是區(qū)塊鏈記賬節(jié)點(diǎn),負(fù)責(zé)驗(yàn)證交易、生成賬本并維護(hù)一致性;超級節(jié)點(diǎn)分常任和輪換兩種:組建網(wǎng)絡(luò)的監(jiān)管機(jī)構(gòu)為常任超級節(jié)點(diǎn);其他參與者競爭輪換超級節(jié)點(diǎn)。超級節(jié)點(diǎn)數(shù)目固定。

候選節(jié)點(diǎn)從全網(wǎng)節(jié)點(diǎn)選出,作為超級節(jié)點(diǎn)的候選域;候選節(jié)點(diǎn)意味著有意愿參與全網(wǎng)共識過程,履行維護(hù)網(wǎng)絡(luò)穩(wěn)定的義務(wù),并保存主鏈賬本數(shù)據(jù);候選節(jié)點(diǎn)根據(jù)信譽(yù)積分機(jī)制競爭超級節(jié)點(diǎn)。詳見2.2.3。

普通節(jié)點(diǎn)僅參與交易,不參與共識過程。無需保存主鏈數(shù)據(jù),只需記錄摘要鏈。供應(yīng)鏈成員在認(rèn)證入網(wǎng)后,可以根據(jù)自身需求,選擇成為候選節(jié)點(diǎn)或普通節(jié)點(diǎn)。

2.2.2 交易廣播及驗(yàn)證 參與方對交易簽名并轉(zhuǎn)發(fā)給臨近的超級節(jié)點(diǎn),超級節(jié)點(diǎn)先利用公鑰驗(yàn)證數(shù)字簽名,然后利用哈希值驗(yàn)證交易內(nèi)容是否被篡改。驗(yàn)證無誤后加入本地交易池,并轉(zhuǎn)發(fā)給其他超級節(jié)點(diǎn)。

以s(source)代表源數(shù)據(jù),SN(SuperNode)代表超級節(jié)點(diǎn)。偽代碼:

算法1 超級節(jié)點(diǎn)驗(yàn)證交易

Input:交易數(shù)據(jù)t(transaction)

Output:void

1) boolean flag1=SN.check(Signp);//驗(yàn)證交易簽名

2) s=SN.getSource(Url(s));//通過地址獲取源數(shù)據(jù)

3) boolean flag2=Hs==Hash(s)?true:false;//驗(yàn)證源數(shù)據(jù)準(zhǔn)確性

4) boolean flag3=Ht==Hash(t)?true:false;//驗(yàn)證交易數(shù)據(jù)準(zhǔn)確性

5) If(flag1 && flag2 && flag3)

6) SN.SendtoAll(t);//發(fā)送給其他超級節(jié)點(diǎn)

7) SN.addToLocal(t);//加入本地交易池

8) else:

9) SN.SendtoSupVision();//發(fā)送給監(jiān)管部門確權(quán)定責(zé)

2.2.3 信譽(yù)積分機(jī)制 節(jié)點(diǎn)入網(wǎng)后,若選擇候選節(jié)點(diǎn),則會得到初始積分。經(jīng)過不同的行為,分?jǐn)?shù)會產(chǎn)生變化,詳見表1。根據(jù)預(yù)設(shè)的超級節(jié)點(diǎn)數(shù)量,系統(tǒng)會按照積分降序從候選節(jié)點(diǎn)中補(bǔ)齊輪換超級節(jié)點(diǎn)。若候選節(jié)點(diǎn)積分相同,則參考達(dá)成的有效交易數(shù)量。每輪雙鏈共識完成后,根據(jù)積分實(shí)時替換超級節(jié)點(diǎn):積分不足者成為候選節(jié)點(diǎn),積分高者頂替其位置。

2.3 共識層

2.3.1 改進(jìn)的DPoS+BFT共識機(jī)制 傳統(tǒng)的DPoS共識機(jī)制存在投票惰性,惡意賄賂,過度依賴社區(qū)自治等問題,節(jié)點(diǎn)投票率僅為40%[26]。因懲罰機(jī)制不完善,作惡成本低,惡意節(jié)點(diǎn)甚至采取賄賂手段爭取記賬權(quán),損害公平性的同時,對系統(tǒng)的安全穩(wěn)定造成巨大威脅。此外,DPoS中區(qū)塊不可逆的條件是該區(qū)塊上方累積2/3*見證節(jié)點(diǎn)個區(qū)塊,導(dǎo)致交易確認(rèn)時間非必要延長,造成性能瓶頸;共識過程取消了全網(wǎng)驗(yàn)證,系統(tǒng)穩(wěn)定性遭到弱化,更易受攻擊或出現(xiàn)分叉。

該模型采用候選節(jié)點(diǎn)信譽(yù)積分機(jī)制,舍棄DPoS的投票機(jī)制,規(guī)避了惡意節(jié)點(diǎn)的行為以及社區(qū)投票惰性。根據(jù)候選節(jié)點(diǎn)在系統(tǒng)運(yùn)行期間的累積信譽(yù)積分,選出對系統(tǒng)貢獻(xiàn)最大的n個超級節(jié)點(diǎn),參與記賬出塊。信譽(yù)積分由節(jié)點(diǎn)平時交易等行為積累,因此超級節(jié)點(diǎn)都是系統(tǒng)的

表2 候選節(jié)點(diǎn)積分細(xì)則

最大權(quán)益節(jié)點(diǎn),維護(hù)系統(tǒng)穩(wěn)定的同時保護(hù)自身利益。BFT算法根據(jù)當(dāng)前視圖編號v計(jì)算出主節(jié)點(diǎn),將客戶端請求發(fā)給不同的副本節(jié)點(diǎn)進(jìn)行驗(yàn)證,判斷副本節(jié)點(diǎn)返回消息數(shù)量,當(dāng)即決定請求是否通過。這一點(diǎn)彌補(bǔ)了DPoS的缺陷,區(qū)塊驗(yàn)證更充分,省去了區(qū)塊上鏈到不可逆的過程,從而縮短交易確認(rèn)時間,性能得到提高。因此該模型形成改進(jìn)的DPoS+BFT共識機(jī)制,雙鏈共識流程圖如圖7。

2.3.2 主鏈及摘要鏈生成 經(jīng)上述步驟即生成主鏈區(qū)塊,由所有超級節(jié)點(diǎn)參與共識而成。

以bi表示第i個副本節(jié)點(diǎn),m為區(qū)塊內(nèi)容,P表示主節(jié)點(diǎn),v表示視圖編號。偽代碼表示:

算法2 生成主鏈區(qū)塊

Input:N(本輪超級節(jié)點(diǎn)集合);t(交易數(shù)據(jù)集合)

Output:主鏈區(qū)塊

1) While(!N.isEmpty()) do//存在超級節(jié)點(diǎn)未提議區(qū)塊

2)v=0;//進(jìn)入初始視圖

3)P=N.getRandom() //隨機(jī)選取主節(jié)點(diǎn)

4)m=p.CreateBlock(T)//從本地交易池打包區(qū)塊

5) p.Sign(m)//生產(chǎn)者簽名

6) Dm=p.Hash(m);//計(jì)算區(qū)塊摘要

7) req=p.generate(view,Dm,m);//打包消息

8) p.SendtoAll(req);//發(fā)送request消息

9) for biin N: //Backup節(jié)點(diǎn)驗(yàn)證:

10) If(check(sign)&&(Dm==Hash(m)))

11) return resp;//返回response消息

圖7 雙鏈共識流程圖

12) else:

13) return change;//返回更換視圖消息

14) forbiin N: //超級節(jié)點(diǎn)判斷response:

15) If(!(check(resp)&&(resp>2/3)) || change>2/3) //驗(yàn)證內(nèi)容和數(shù)量

16) addBlock(m);//上鏈,等待下次共識

17) else:

18) view++;//更換視圖

19) PointChange();//積分變更

20) end while;

摘要鏈生成周期和主鏈一致,主鏈經(jīng)過一輪共識生成不大于超級節(jié)點(diǎn)個數(shù)n個區(qū)塊,摘要鏈生成一個區(qū)塊。摘要鏈同樣采用改進(jìn)的DPoS+BFT共識機(jī)制,據(jù)式(1)選出主節(jié)點(diǎn),打包摘要區(qū)塊,重復(fù)一輪共識過程,若成功則本輪摘要鏈出塊結(jié)束;否則,發(fā)起更換視圖請求,重新選取主節(jié)點(diǎn)打包區(qū)塊。

DigestP=(v+Tstamp)modn,

(1)

式中:

DigestP——下輪超級節(jié)點(diǎn)編號;

v——視圖編號;

Tstamp——時間戳,ms;

n——主鏈超級節(jié)點(diǎn)編號。

2.4 應(yīng)用層

應(yīng)用層主要是監(jiān)管機(jī)構(gòu)、食品企業(yè)以及消費(fèi)者的前端入口,用戶可以訪問企業(yè)和監(jiān)管部門的網(wǎng)站查詢數(shù)據(jù)。還包含基于區(qū)塊鏈的供應(yīng)鏈追溯Web應(yīng)用,提供用戶交互功能,包括數(shù)據(jù)查詢、追溯等業(yè)務(wù)。消費(fèi)者的商品到手后,可憑借其產(chǎn)品Id進(jìn)行溯源信息查詢,過程源數(shù)據(jù)對消費(fèi)者可見。

雖然區(qū)塊鏈數(shù)據(jù)是公開的,但是針對企業(yè)之間惡意競爭問題,為數(shù)據(jù)設(shè)置訪問權(quán)限:所有交易信息均通過公鑰加密,需私鑰解鎖查看;在應(yīng)用層的訪問端口,未經(jīng)授權(quán)的用戶無法查詢交易商品的源數(shù)據(jù)、企業(yè)信息等敏感數(shù)據(jù)。

3 仿真試驗(yàn)與分析

3.1 試驗(yàn)環(huán)境與參數(shù)設(shè)置

利用以太坊部署食品供應(yīng)鏈雙鏈模型,模擬110個節(jié)點(diǎn),包括監(jiān)管節(jié)點(diǎn)10個,核心企業(yè)95個,消費(fèi)者組織5個,在本地局域網(wǎng)實(shí)現(xiàn)多機(jī)互聯(lián)。為便于試驗(yàn)數(shù)據(jù)的收集,開始前在企業(yè)節(jié)點(diǎn)部署源數(shù)據(jù),模擬生產(chǎn)、加工、屠宰、運(yùn)輸?shù)炔煌A段的數(shù)據(jù),通過不同的url記錄訪問地址。設(shè)網(wǎng)絡(luò)內(nèi)每5 s隨機(jī)發(fā)生交易,單個節(jié)點(diǎn)每筆交易量為1。設(shè)超級節(jié)點(diǎn)個數(shù)為23個。試驗(yàn)相關(guān)環(huán)境和參數(shù)如表3。

試驗(yàn)過程中會生成兩條鏈,表4截取了摘要鏈的部分區(qū)塊數(shù)據(jù),反映雙鏈結(jié)構(gòu)以及兩條鏈之間的關(guān)聯(lián)。

3.2 模型性能分析

3.2.1 存儲性能分析 試驗(yàn)選取了兩個指標(biāo)來衡量存儲性能,分別是存儲增長率(Storage growth rate,SGR),以及存儲利用率(Storage utilization rate,SUR)。存儲增長率指的是單位時間內(nèi)區(qū)塊鏈數(shù)據(jù)量的增長,如式(2);存儲利用率指的是單位存儲空間中,包含的有效交易個數(shù),如式(3)。

表3 試驗(yàn)環(huán)境和參數(shù)表

表4 摘要鏈區(qū)塊部分?jǐn)?shù)據(jù)表

(2)

式中:

RSG——存儲增長率,MB/s;

Sizet1——t1時間區(qū)塊鏈大小,MB;

Sizet2——t2時間區(qū)塊鏈大小,MB;

Δt——時間增量,s。

(3)

式中:

RSU——存儲利用率,筆/MB;

Δtransaction——交易增量,筆;

Δsize——區(qū)塊鏈大小增量,MB。

選取系統(tǒng)運(yùn)行20,40,60,80,100,120 min的時間點(diǎn)采集數(shù)據(jù),統(tǒng)計(jì)主鏈和摘要鏈的大小,得到的對比數(shù)據(jù)如表5。首先,共識機(jī)制決定了兩條鏈存儲增速比較穩(wěn)定,但摘要鏈占用空間同比遠(yuǎn)低于主鏈,僅為主鏈的1/20左右。且通過計(jì)算,摘要鏈的存儲增長率明顯低于主鏈,增速緩慢。這得益于摘要鏈的生成機(jī)制,幾乎沒有冗余。說明普通節(jié)點(diǎn)的存儲壓力較低,證明了模型入網(wǎng)門檻低的優(yōu)勢。

為了驗(yàn)證模型的SUR,選取文獻(xiàn)[25]中的水產(chǎn)品追溯區(qū)塊鏈作對比試驗(yàn),試驗(yàn)環(huán)境和條件均設(shè)為相同,包括節(jié)點(diǎn)數(shù)、交易時間間隔和單次交易量等參數(shù)。交易達(dá)到不同數(shù)量時,分別記錄兩個模型區(qū)塊鏈大小,并計(jì)算SUR。統(tǒng)計(jì)的交易次數(shù)為100 000的整數(shù)次,共統(tǒng)計(jì)6次,對比結(jié)果如圖8。通過式(3)計(jì)算出模型主鏈SUR為877.96 筆/MB,水產(chǎn)品追溯區(qū)塊鏈SUR為790.51 筆/MB;主鏈要好于水產(chǎn)品追溯鏈,說明相同大小的區(qū)塊數(shù)據(jù)中,主鏈包含更多有效交易。這得益于全新的交易信息結(jié)構(gòu)以及鏈上鏈下存儲模式,不存在冗余和較大的源數(shù)據(jù)。

3.2.2 系統(tǒng)性能分析 試驗(yàn)選取兩種指標(biāo)來衡量模型的性能,一是吞吐量(Transaction Per Secod,TPS),指模型在單位時間內(nèi)能夠處理請求的數(shù)量,是衡量模型解決短時間高并發(fā)問題能力的重要指標(biāo),如式(4)。二是平均交易確認(rèn)時長,即一筆交易從廣播到上鏈不可逆所需時間。

(4)

式中:

表5 主鏈摘要鏈占用空間對比

圖8 區(qū)塊鏈存儲利用率對比圖

TPS——每秒交易數(shù)量,筆/s;

Δtransaction——交易增量,筆;

Δt——時間增量,s。

TPS方面,模型的改進(jìn)DPoS+BFT共識機(jī)制,配合信譽(yù)積分機(jī)制,通過試驗(yàn)獲取的交易數(shù)量與運(yùn)行時間,計(jì)算出TPS為185.4 筆/s。為證明模型效率方面的優(yōu)勢,選取相對成熟的共識機(jī)制對比,結(jié)果如圖9。PoW中設(shè)置挖礦隨機(jī)數(shù)解為以5個0開頭的8位十六進(jìn)制數(shù),由于全網(wǎng)參與廣播和工作量證明,吞吐量僅為6~7 筆/s;PoS難度值與PoW相同,由于幣齡的加權(quán),所需工作量更小。由于出塊間隔和交易確認(rèn)條件未發(fā)生變化,其TPS表現(xiàn)與PoW接近,前兩者都無法支持短時間高并發(fā)交易。后兩者的表現(xiàn)明顯好于前兩者,PBFT由于每次切換視圖前對請求作出判斷,確認(rèn)時間短,提升了吞吐量;模型的共識機(jī)制在請求確認(rèn)的處理方面加以改進(jìn),能一直保持較低的確認(rèn)時限,維持較高的吞吐量。

圖10對比了DPoS、PBFT和試驗(yàn)?zāi)P凸沧R機(jī)制中,不同節(jié)點(diǎn)數(shù)量下的交易確認(rèn)時長。分別模擬40,60,80,100,120個節(jié)點(diǎn)組網(wǎng)的情況,測試出一筆交易從產(chǎn)生到上鏈的平均時間。由圖10可知,DPoS中隨著節(jié)點(diǎn)的增加,見證節(jié)點(diǎn)隨之增加,而達(dá)到不可逆需要大于2/3的見證節(jié)點(diǎn)出塊,因此交易確認(rèn)時間也在增加。PBFT中,當(dāng)節(jié)點(diǎn)個數(shù)保持在100以內(nèi)時,表現(xiàn)良好,而一旦超過100,消息傳播會受制于網(wǎng)絡(luò)帶寬,無法達(dá)到最佳速度。相同網(wǎng)絡(luò)環(huán)境下,模型的超級節(jié)點(diǎn)個數(shù)會隨全網(wǎng)用戶數(shù)量的增加而改變,不過由于改進(jìn)了區(qū)塊不可逆的確認(rèn)條件,能夠使交易的確認(rèn)保持在一個穩(wěn)定的時間,性能隨節(jié)點(diǎn)增加一直保持在較高水準(zhǔn)。

圖9 4種共識機(jī)制TPS對比圖

圖10 3種共識機(jī)制交易確認(rèn)時長對比

4 結(jié)論

文章提出了食品供應(yīng)鏈雙鏈存儲優(yōu)化模型,在解決供應(yīng)鏈固有頑疾的同時,還對區(qū)塊鏈落地項(xiàng)目中普遍存在的低吞吐量、低性能、存儲膨脹等問題加以優(yōu)化解決。對于食品供應(yīng)鏈企業(yè),為其提供極低的門檻,就能夠參與企業(yè)間的點(diǎn)對點(diǎn)交易,且能滿足企業(yè)對于高頻交易、快速確認(rèn)的需求,同時為企業(yè)數(shù)據(jù)安全和隱私提供保護(hù);對于消費(fèi)者而言,模型滿足其購買食品的每一項(xiàng)數(shù)據(jù)安全可追溯,保證數(shù)據(jù)完整性、真實(shí)性。區(qū)塊鏈技術(shù)仍在高速發(fā)展中,下一步研究方向主要是線上交易、網(wǎng)絡(luò)傳輸?shù)南G失、延遲、重復(fù)或亂序問題,以及智能合約技術(shù)的引入研究。

猜你喜歡
機(jī)制模型
一半模型
構(gòu)建“不敢腐、不能腐、不想腐”機(jī)制的思考
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
自制力是一種很好的篩選機(jī)制
文苑(2018年21期)2018-11-09 01:23:06
定向培養(yǎng) 還需完善安置機(jī)制
3D打印中的模型分割與打包
破除舊機(jī)制要分步推進(jìn)
FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
注重機(jī)制的相互配合
主站蜘蛛池模板: 国产99视频精品免费视频7 | 国产成人精品一区二区不卡| 一区二区自拍| 国产成人高清精品免费| 九九九精品成人免费视频7| jizz亚洲高清在线观看| 男女男精品视频| 欧美色亚洲| 亚洲欧美国产视频| 性喷潮久久久久久久久| 国产精选小视频在线观看| 精久久久久无码区中文字幕| 在线观看的黄网| 亚洲日本中文字幕乱码中文| 国产96在线 | 99精品视频九九精品| 亚洲成肉网| 激情视频综合网| 日韩乱码免费一区二区三区| vvvv98国产成人综合青青| 2020亚洲精品无码| 三级视频中文字幕| 亚洲人成色在线观看| 免费人成在线观看成人片| 国产成人精品亚洲日本对白优播| 亚洲男人天堂网址| AV不卡无码免费一区二区三区| 一级毛片高清| 亚洲精品无码抽插日韩| 亚洲午夜天堂| 亚洲中文久久精品无玛| 狼友视频国产精品首页| 欧美第二区| 一级毛片不卡片免费观看| 午夜精品久久久久久久2023| 国产乱子伦一区二区=| 午夜啪啪网| 五月激情综合网| 国产免费黄| 亚洲综合第一页| 国产一二三区视频| 首页亚洲国产丝袜长腿综合| av免费在线观看美女叉开腿| 亚洲精品在线观看91| 国产无码性爱一区二区三区| 黄色在线网| 亚亚洲乱码一二三四区| 亚洲高清无码精品| 综合色区亚洲熟妇在线| 波多野结衣爽到高潮漏水大喷| 就去色综合| 国产成人禁片在线观看| 99热这里只有精品在线观看| 再看日本中文字幕在线观看| 99久久免费精品特色大片| 国产三级精品三级在线观看| 欧美精品不卡| 国产福利在线观看精品| 国产成人AV男人的天堂| 亚洲熟女中文字幕男人总站| 国模视频一区二区| 91精品视频播放| 国产一区在线视频观看| 亚洲成在线观看 | 久久77777| 一级毛片高清| 久久亚洲欧美综合| 日韩成人在线视频| 国产精品九九视频| 在线免费亚洲无码视频| 精品国产aⅴ一区二区三区| 99在线观看视频免费| 久热精品免费| 国产福利在线免费| 国产成人高精品免费视频| 午夜精品区| 久久99这里精品8国产| 国产激情无码一区二区APP| 国产成人综合日韩精品无码首页| 久久精品丝袜| 美女免费黄网站| 免费人成网站在线观看欧美|