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

營(yíng)商環(huán)境評(píng)估的企業(yè)級(jí)復(fù)合區(qū)塊鏈構(gòu)建方法

2024-05-25 01:02:22李素陳澤宋寶燕張浩林
關(guān)鍵詞:企業(yè)

李素,陳澤,宋寶燕,張浩林

(遼寧大學(xué) 信息學(xué)院,遼寧 沈陽(yáng) 110036)

營(yíng)商環(huán)境包括市場(chǎng)主體在準(zhǔn)入、生產(chǎn)經(jīng)營(yíng)和退出等過程中涉及的政務(wù)環(huán)境、市場(chǎng)環(huán)境和法治環(huán)境等有關(guān)外部因素和條件的總和[1-3].良好的營(yíng)商環(huán)境對(duì)于現(xiàn)代化經(jīng)濟(jì)高質(zhì)量發(fā)展具有重要意義[4].由于營(yíng)商環(huán)境包含的信息源種類復(fù)雜,政務(wù)、市場(chǎng)、法治及企業(yè)經(jīng)營(yíng)等數(shù)據(jù)存在信息孤立、跨域訪問效率低、中心化存儲(chǔ)易被篡改、可信度差等問題[5-8].營(yíng)商環(huán)境評(píng)估也對(duì)企業(yè)級(jí)復(fù)合區(qū)塊鏈構(gòu)建帶來數(shù)據(jù)保護(hù)、技術(shù)標(biāo)準(zhǔn)和互操作性、風(fēng)險(xiǎn)管理與安全、資源與成本等挑戰(zhàn).如何高效存儲(chǔ)企業(yè)營(yíng)商環(huán)境信息,提高信息的可信度和安全性,有效支持營(yíng)商環(huán)境的評(píng)估,是領(lǐng)域研究的熱點(diǎn)和難點(diǎn)[9].

針對(duì)上述問題,本文引入?yún)^(qū)塊鏈技術(shù)實(shí)現(xiàn)多源異構(gòu)的企業(yè)營(yíng)商環(huán)境數(shù)據(jù)高效存儲(chǔ)[10-12],在滿足政務(wù)、市場(chǎng)、法治及企業(yè)經(jīng)營(yíng)等數(shù)據(jù)去中心化可靠存儲(chǔ)需求的同時(shí),提高數(shù)據(jù)的安全性和可信性[13-15].本文的主要貢獻(xiàn)如下.

(1)為了防止?fàn)I商環(huán)境評(píng)估時(shí)企業(yè)原始數(shù)據(jù)被篡改,引入改進(jìn)的哈希函數(shù)SHA256 算法對(duì)企業(yè)原始數(shù)據(jù)進(jìn)行加密.通過在數(shù)據(jù)塊哈希運(yùn)算中增加運(yùn)算次數(shù),增大SHA256 算法邏輯和壓縮函數(shù)復(fù)雜度,進(jìn)一步提高運(yùn)算的抗碰撞性及Hash 結(jié)果的雪崩效應(yīng),從而提高數(shù)據(jù)安全性.

(2)為了降低區(qū)塊鏈系統(tǒng)的通信和存儲(chǔ)壓力,提出鏈上和鏈下相結(jié)合的存儲(chǔ)模式.引入改進(jìn)的基于非易失性內(nèi)存(non-volatile memory,NVM)的Key-Value 型數(shù)據(jù)庫(kù)Level DB,實(shí)現(xiàn)在鏈下存儲(chǔ)企業(yè)原始數(shù)據(jù).Key 值為經(jīng)過改進(jìn)后的SHA256 算法加密的Hash 值,Value 值為企業(yè)原始數(shù)據(jù).

(3)針對(duì)傳統(tǒng)區(qū)塊鏈存在交易確認(rèn)速度慢、吞吐量小的問題,提出企業(yè)級(jí)復(fù)合區(qū)塊鏈的構(gòu)建方法.公有鏈采用基于有向無(wú)環(huán)圖(directed acyclic graph,DAG)的Conflux 存儲(chǔ)鏈下Level DB 中企業(yè)原始數(shù)據(jù)對(duì)應(yīng)的Key 值,聯(lián)盟鏈存儲(chǔ)企業(yè)狀態(tài)數(shù)據(jù),確保企業(yè)原始數(shù)據(jù)去中心化存儲(chǔ),不可篡改和可追溯.

1 相關(guān)工作

目前,國(guó)內(nèi)外許多專家學(xué)者對(duì)區(qū)塊鏈鏈上鏈下的存儲(chǔ)優(yōu)化方法進(jìn)行研究,取得了一定的研究成果.

在Level DB 優(yōu)化方面,Lu 等[16]針對(duì)Level DB寫放大提出WiscKey 方法,該方法將鍵從值中分離出來,同時(shí)只在Compaction 時(shí)合并鍵,利用該方法可以大大降低寫放大,但它使得垃圾回收和范圍查詢復(fù)雜化.Lepers 等[17]提出的Kvell 模型采取每一項(xiàng)鍵值在磁盤上亂序的方式,可以減輕基于NVMe SSD 鍵值存儲(chǔ)的寫停頓,但不適用于通用的SSD 系統(tǒng).Kaiyrakhmet 等[18]提出SLM-DB 存儲(chǔ)結(jié)構(gòu),該結(jié)構(gòu)采用單級(jí)的 LSM-tree,適用于具有NVM-SSD 存儲(chǔ)的系統(tǒng),通過NVM 上的B+樹來索引SSD 上面的單層LSM-tree,以實(shí)現(xiàn)快速讀,但該方式引入了維護(hù)B+樹和LSM-tree 一致性的額外開銷.Kannan 等[19]提出的NoveLSM 在NVM上采用持久化可變內(nèi)存表,可以在某種程度上減少訪問時(shí)延,但造成了更嚴(yán)重的寫入停頓.

在結(jié)構(gòu)鏈優(yōu)化方面,Lewenberg 等[20]提出構(gòu)建Inclusive 區(qū)塊鏈,Inclusive 將Nakamoto 共識(shí)和GHOST 規(guī)則擴(kuò)展到DAG,設(shè)計(jì)了框架,以包括鏈外交易.Leonov 等[21]提出PHANTOM 平臺(tái),參與節(jié)點(diǎn)為本地區(qū)塊DAG 找到近似的k-cluster 解決方案,以修剪潛在的惡意區(qū)塊.對(duì)剩余區(qū)塊進(jìn)行拓?fù)渑判颍@得最終的區(qū)塊總順序.當(dāng)區(qū)塊生成率很高時(shí),Inclusive 和PHANTOM 都很容易受到有效性攻擊.Eyal 等[22]提出構(gòu)建Bitcoin-NG區(qū)塊鏈,Bitcoin-NG 通過定期選舉一個(gè)Leader,并允許該Leader 在一段時(shí)間內(nèi)指定交易全序的方式提高吞吐量,但沒有減少交易的確認(rèn)時(shí)間.Derek等[23]提出Vault 區(qū)塊鏈,Vault 選擇分片技術(shù)對(duì)區(qū)塊鏈進(jìn)行構(gòu)建,以便降低存儲(chǔ)成本,權(quán)衡網(wǎng)絡(luò)帶寬成本的增加.雖然所有分片的綜合吞吐量很大,但分片間交易的吞吐量有限.

綜上所述,現(xiàn)有方法存在讀寫性能差、存儲(chǔ)效率低、交易確認(rèn)速度慢和吞吐量小等問題.本文綜合考慮Level DB 優(yōu)化和區(qū)塊鏈存儲(chǔ)效率問題,提出營(yíng)商環(huán)境評(píng)估的企業(yè)級(jí)復(fù)合區(qū)塊鏈構(gòu)建方法.

2 企業(yè)原始數(shù)據(jù)鏈下存儲(chǔ)

企業(yè)級(jí)復(fù)合區(qū)塊鏈總體架構(gòu)由Level DB、公有鏈和聯(lián)盟鏈組成,以實(shí)現(xiàn)鏈上鏈下數(shù)據(jù)協(xié)同.鏈上通過鏈下實(shí)現(xiàn)計(jì)算和存儲(chǔ)能力的擴(kuò)展,鏈下與鏈上對(duì)接實(shí)現(xiàn)異構(gòu)信息的共享.如圖1 所示,在企業(yè)級(jí)復(fù)合區(qū)塊鏈架構(gòu)中,Level DB 數(shù)據(jù)庫(kù)存儲(chǔ)企業(yè)原始數(shù)據(jù)信息,Value 為原始數(shù)據(jù),Key 為通過改進(jìn)的哈希函數(shù)SHA256 算法加密后的Hash值.負(fù)責(zé)交易的公有鏈存儲(chǔ)Level DB 數(shù)據(jù)庫(kù)中企業(yè)原始數(shù)據(jù)對(duì)應(yīng)的Key 值,負(fù)責(zé)狀態(tài)的聯(lián)盟鏈存儲(chǔ)企業(yè)的狀態(tài)數(shù)據(jù).

圖1 企業(yè)級(jí)復(fù)合區(qū)塊鏈的架構(gòu)圖Fig.1 Architecture diagram of enterprise composite blockchain

2.1 企業(yè)原始數(shù)據(jù)的加密計(jì)算

為了進(jìn)一步提高數(shù)據(jù)的安全性,在將原始數(shù)據(jù)存入鏈下Level DB 前,采用改進(jìn)的哈希函數(shù)SHA256 算法對(duì)企業(yè)原始數(shù)據(jù)進(jìn)行加密.SHA256 算法采用6 個(gè)邏輯函數(shù)和1 組常數(shù) Kt,輸入為512 bit 的消息塊 xi,將 xi分為16 組32 bit 的字 M0,M1,···,M15,輸出為256 bit 的報(bào)文摘要[24].SHA256 算法的過程如下.

1)初始化.

2)準(zhǔn)備消息列表 Wt:

邏輯函數(shù)的計(jì)算方式為

式中:ROTR(x)為循環(huán)右移函數(shù),POTR(x)為循環(huán)左移函數(shù).

4)當(dāng) 0 ≤t ≤63時(shí),執(zhí)行壓縮函數(shù)Ch:

邏輯函數(shù)的計(jì)算方式為

5)計(jì)算每個(gè)分組的中間散列值:

式中:i為消息的第 i個(gè)分組,所有分組處理完畢后,輸出256 bit 的Hash 值.在對(duì)SHA256 算法進(jìn)行改進(jìn)時(shí),在每個(gè)512 bit 的數(shù)據(jù)塊哈希運(yùn)算中增加16 次運(yùn)算,保證消息的每個(gè)bit 可以影響到更多的bit 位,進(jìn)一步改善算法的非線性擴(kuò)散性.加大SHA256 算法邏輯和壓縮函數(shù)的復(fù)雜度,以加速消息的差分?jǐn)U散程度,使得遞推過程具有更強(qiáng)的隨機(jī)性,消除局部碰撞的依從條件.改進(jìn)后SHA256 算法過程如下.

1)對(duì)消息塊 M(i),i=1,2,···,N,進(jìn)行如下循環(huán).

a)準(zhǔn)備消息列表 Wt:

b)工作變量初始化:

2)當(dāng) 0 ≤t ≤79時(shí),執(zhí)行如下壓縮函數(shù):

式中:T1、T2為中間變量.壓縮函數(shù)采用80 個(gè)32 bit 的字 Kt{256}(0 ≤t ≤79)常數(shù)序列,前64 個(gè)32 bit 的字見文獻(xiàn)[25],后16 個(gè)32 bit 的字定義如下:

改進(jìn)后的SHA256 算法使用的6 個(gè)邏輯函數(shù)基于32 bit 的字(如 x、y、z)進(jìn)行操作,每個(gè)邏輯函數(shù)的操作結(jié)果是新的32 bit 的字,具體定義如下:

式中:SHR(x)為邏輯右移函數(shù),每一組的循環(huán)操作如圖2 所示.

圖2 改進(jìn)后的SHA256 算法操作Fig.2 Improved SHA256 algorithm operation

采用改進(jìn)后的哈希函數(shù)SHA256 算法,對(duì)企業(yè)原始數(shù)據(jù)加密生成相應(yīng)的Hash 值,作為鏈下Level DB 數(shù)據(jù)庫(kù)中的Key 值,開展后續(xù)的存儲(chǔ)操作.

2.2 基于NVM 的鏈下Level DB 存儲(chǔ)模型構(gòu)建

將企業(yè)原始數(shù)據(jù)加密后的Hash值作為Key 值,原始數(shù)據(jù)作為Value 值,對(duì)應(yīng)存入鏈下Level DB 中.Level DB 是基于LSM-tree(log-structured merge tree)架構(gòu)的Key-Value 非關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ)系統(tǒng),它寫入快,占用空間少,但LSMtree 架構(gòu)有寫停頓、寫放大和不利于讀的缺點(diǎn).在LSM-tree 架構(gòu)的基礎(chǔ)上,提出基于NVM 的LSMtree 存儲(chǔ)模型.利用該模型,可以提高訪問速度、持久性、并發(fā)性和擴(kuò)展性,同時(shí)具有更好的集成性.鏈下Level DB 存儲(chǔ)模型架構(gòu)如圖3 所示.

圖3 鏈下LevelDB 存儲(chǔ)模型架構(gòu)Fig.3 Off-chain LevelDB storage model architecture

如圖3 所示,將原有LSM-tree 架構(gòu)中的 L0層放在NVM 上,L1~Ln層存儲(chǔ)在固態(tài)硬盤(solid state disk,SSD)上,解決數(shù)據(jù)合并時(shí)的寫時(shí)延問題.對(duì)L0層的文件引入學(xué)習(xí)索引,使得 L0層文件之間有序,在降低讀時(shí)延的同時(shí)提高 L0層文件中數(shù)據(jù)的查找速度.在NVM 層上使用學(xué)習(xí)索引,利用學(xué)得的模型對(duì)數(shù)據(jù)的位置進(jìn)行預(yù)測(cè),以便加快數(shù)據(jù)在NVM 上的查找速度.通過學(xué)習(xí)索引,可以找到 L0層中某一個(gè)key 的位置.每個(gè)NVMTable 需要單獨(dú)學(xué)習(xí)一個(gè)索引模型.建立key 到數(shù)據(jù)位置的近似映射.從近似映射的位置開始,和目標(biāo) key 進(jìn)行大小比較,通過向前或向后線性搜索,確定正確的位置.如圖4 所示,選擇分段集合模型索引(piecewise geometric model index,PGM-index)進(jìn)行位置定位.

圖4 PGM 索引示例圖Fig.4 Example diagram of PGM index

在PGM 索引第1 層,將數(shù)據(jù)分成3 個(gè)分區(qū),每個(gè)分區(qū)由簡(jiǎn)單的線性模型 (f1,f2,f3)表示.通過構(gòu)建這些線性模型,每個(gè)線性模型能夠利用預(yù)先設(shè)定的誤差,在各自的分區(qū)內(nèi)進(jìn)行相應(yīng)的key 值預(yù)測(cè).將第1 層的劃分邊界當(dāng)作其自身的排序數(shù)據(jù)集,計(jì)算另一個(gè)誤差有界的分段線性回歸.如此反復(fù),直至頂層的 PGM 變得足夠小,以加快數(shù)據(jù)查找速度.

3 鏈上企業(yè)級(jí)復(fù)合區(qū)塊鏈的構(gòu)建

3.1 Conflux 公有鏈構(gòu)建

為了提高區(qū)塊鏈的性能,從有向無(wú)環(huán)圖(DAG)的特殊結(jié)構(gòu)出發(fā),采用基于主干鏈的DAG 共識(shí)協(xié)議Conflux 共識(shí),構(gòu)建企業(yè)級(jí)復(fù)合區(qū)塊鏈中的Conflux 公有鏈.Conflux 公有鏈的架構(gòu)如圖5 所示.

圖5 Conflux 公有鏈架構(gòu)圖Fig.5 Architecture diagram of Conflux public blockchain

Conflux 中的交易由2.2 節(jié)鏈下Level DB 中企業(yè)原始數(shù)據(jù)對(duì)應(yīng)的Key 值組成.Conflux 從預(yù)定義的創(chuàng)世區(qū)塊開始,確定區(qū)塊鏈的初始狀態(tài),所有區(qū)塊和邊構(gòu)成一個(gè)DAG 結(jié)構(gòu).Conflux 中的所有參與節(jié)點(diǎn)通過Gossip 網(wǎng)絡(luò)連接,每當(dāng)一個(gè)節(jié)點(diǎn)發(fā)起一項(xiàng)交易或生成一個(gè)新區(qū)塊,它將通過 Gossip 網(wǎng)絡(luò)將交易廣播給所有其他節(jié)點(diǎn).Conflux 底層區(qū)塊的數(shù)據(jù)結(jié)構(gòu)如圖6 所示,采用樹圖的形式,通過并行處理方式加大出塊速度,且不會(huì)因?yàn)殒湻植鎲栴}降低安全性,使得每個(gè)企業(yè)都可以并行地上傳交易,即企業(yè)原始數(shù)據(jù)對(duì)應(yīng)的Hash 值,使得整個(gè)系統(tǒng)可以更高效地處理區(qū)塊和交易.

在Conflux 公有鏈中,提出基于主干鏈的DAG 共識(shí)協(xié)議進(jìn)行共識(shí)操作.該共識(shí)可以處理并發(fā)區(qū)塊,不會(huì)丟棄任何并發(fā)區(qū)塊作為分叉.除創(chuàng)世區(qū)塊外,每個(gè)區(qū)塊都有一條出度的父邊(見圖6的實(shí)線箭頭),表示區(qū)塊之間的投票關(guān)系.每個(gè)區(qū)塊可以有多條出度的引用邊(見圖6 的虛線箭頭),表示區(qū)塊的生成順序.DAG 中的所有父邊一起形成一棵父樹,其中創(chuàng)世區(qū)塊是根.在父樹中,Conflux 選擇一條從創(chuàng)世區(qū)塊到其中一個(gè)葉區(qū)塊的鏈作為主鏈.Conflux 采用Ghost 協(xié)議選取主鏈,從創(chuàng)世區(qū)塊開始,計(jì)算每個(gè)節(jié)點(diǎn)的子樹大小,擁有最大子樹的節(jié)點(diǎn)成為主鏈上的一個(gè)節(jié)點(diǎn).

每當(dāng)一個(gè)節(jié)點(diǎn)生成一個(gè)新的區(qū)塊時(shí),它首先計(jì)算其本地DAG 狀態(tài)下的主鏈,并將主鏈中的最后一個(gè)區(qū)塊設(shè)置為新區(qū)塊的父塊.在DAG 中查找沒有入度邊的所有端區(qū)塊,創(chuàng)建從新區(qū)塊到每個(gè)端區(qū)塊的引用邊.給定一個(gè)從創(chuàng)世區(qū)塊開始、只包含父邊的主鏈,排序算法利用主鏈將DAG 中的所有區(qū)塊劃分為epoch,主鏈上的每個(gè)區(qū)塊都對(duì)應(yīng)一個(gè)epoch.當(dāng)進(jìn)行共識(shí)確定區(qū)塊總序時(shí),Conflux對(duì)epoch 進(jìn)行排序,根據(jù)epoch 的拓?fù)漤樞驅(qū)γ總€(gè)epoch 中的區(qū)塊進(jìn)行排序.當(dāng)確定交易順序時(shí),交易的順序由包含這筆交易的區(qū)塊總序確定先后順序.

按照上述過程,對(duì)企業(yè)上傳的原始數(shù)據(jù)對(duì)應(yīng)的Key 值進(jìn)行數(shù)據(jù)上鏈操作.

3.2 Fabric 聯(lián)盟鏈的構(gòu)建

由于企業(yè)眾多,為了進(jìn)一步降低網(wǎng)絡(luò)資源消耗,選取一定比例通過驗(yàn)證的企業(yè)節(jié)點(diǎn)構(gòu)建聯(lián)盟鏈,通過這些預(yù)選節(jié)點(diǎn)實(shí)現(xiàn)共識(shí)算法、公開驗(yàn)證、安全存儲(chǔ).采用聯(lián)盟鏈Hyperledger Fabric 部署聯(lián)盟鏈.聯(lián)盟鏈主要負(fù)責(zé)企業(yè)狀態(tài)數(shù)據(jù)存儲(chǔ),存儲(chǔ)過程中所使用的符號(hào)及其含義如表1 所示.在滿足合約執(zhí)行觸發(fā)條件后,智能合約會(huì)自動(dòng)地訪問、共享和存儲(chǔ)數(shù)據(jù),根據(jù)預(yù)先定義的約束執(zhí)行數(shù)據(jù)存儲(chǔ)操作.

表1 聯(lián)盟鏈狀態(tài)數(shù)據(jù)存儲(chǔ)過程使用的符號(hào)及其含義Tab.1 Symbols used by consortium chain state data storage procedure and their meanings

企業(yè)狀態(tài)數(shù)據(jù)存儲(chǔ)的主要流程如下.

1)系統(tǒng)初始化.每個(gè)企業(yè)節(jié)點(diǎn)須通過監(jiān)管機(jī)構(gòu)節(jié)點(diǎn)身份認(rèn)證,認(rèn)證通過后成為合法的聯(lián)盟鏈網(wǎng)絡(luò)節(jié)點(diǎn).獲取分別表示用于加密數(shù)據(jù)的公私密鑰對(duì)及其證書.執(zhí)行系統(tǒng)初始化,企業(yè)節(jié)點(diǎn)從鄰近企業(yè)總部節(jié)點(diǎn)的記錄池中下載當(dāng)前聯(lián)盟鏈的區(qū)塊數(shù)據(jù)存儲(chǔ)位置索引表.2)狀態(tài)數(shù)據(jù)上傳.企業(yè)節(jié)點(diǎn) Ni向本地的企業(yè)總部節(jié)點(diǎn) BSj發(fā)送上傳請(qǐng)求,請(qǐng)求包括 Ni當(dāng)前使用的和數(shù)字簽名 Sig_1,以確保數(shù)據(jù)來源的可靠性和真實(shí)性.BSj接收并驗(yàn)證Ni的請(qǐng)求和身份信息,以確認(rèn)其合法性并作出回應(yīng).Ni使用當(dāng)前公私密鑰對(duì)中的公鑰對(duì)狀態(tài)數(shù)據(jù) Data進(jìn)行加密,并將該狀態(tài)數(shù)據(jù)連同它的數(shù)字簽名一起發(fā)送給 BSj,通過它的公鑰 PKBSj對(duì) Ni發(fā)送過來的記錄數(shù)據(jù)進(jìn)行加密,得到最終的上傳數(shù)據(jù) Record.上述過程的形式化語(yǔ)言描述如下:

3)收集上傳數(shù)據(jù).本地企業(yè)總部節(jié)點(diǎn) BSj對(duì)上傳的 Record進(jìn)行驗(yàn)證.若數(shù)據(jù)安全有效,則將Record存入本地記錄池;反之則忽略.

4)本地企業(yè)總部節(jié)點(diǎn)工作量證明.

每經(jīng)過一個(gè)周期,BSj將 T內(nèi)收集到的所有有效數(shù)據(jù)合并為一個(gè)數(shù)據(jù)集合 Data_set(Data_set={Records||Timestamp}),并對(duì)其進(jìn)行數(shù)據(jù)簽名,以確保 Data_set來源的合法性和可驗(yàn)證性.先找到有效工作量證明的 BSj,可以獲得記錄本次數(shù)據(jù)區(qū)塊的權(quán)利,并獲得相應(yīng)獎(jiǎng)勵(lì).獲得記賬權(quán)的 BSj須將當(dāng)前的 Data_set和計(jì)算出來的 x廣播給其他企業(yè)總部節(jié)點(diǎn),用于驗(yàn)證和檢驗(yàn).若其他企業(yè)總部節(jié)點(diǎn)驗(yàn)證通過,則該 BSj將 Data_set合并為新的數(shù)據(jù)區(qū)塊,并存儲(chǔ)在聯(lián)盟鏈中,得到相應(yīng)的系統(tǒng)獎(jiǎng)勵(lì).

5)企業(yè)總部節(jié)點(diǎn)間的區(qū)塊共識(shí).

在最短時(shí)間內(nèi)計(jì)算出有效工作量證明的企業(yè)總部節(jié)點(diǎn) BSj成為當(dāng)前共識(shí)過程中的主節(jié)點(diǎn)(Leader),其他企業(yè)總部節(jié)點(diǎn)作為從節(jié)點(diǎn)(Slave),聯(lián)盟鏈采用拜占庭容錯(cuò)(practical byzantine fault tolerance,PBFT)共識(shí)機(jī)制進(jìn)行共識(shí),共識(shí)過程如下.

a)Leader收集各 Slave 的 Data_set,并將其整合到一個(gè)新的數(shù)據(jù)區(qū)塊中,同時(shí)附加上 Leader的數(shù)字簽名和新數(shù)據(jù)區(qū)塊的 Hash以備檢驗(yàn).Leader向各個(gè) Slave廣播新生成的數(shù)據(jù)區(qū)塊,以等待其他節(jié)點(diǎn)的驗(yàn)證.上述過程的形式化語(yǔ)言描述如下:

b)Slave收到數(shù)據(jù)區(qū)塊后,對(duì) L eader發(fā)送過來的區(qū)塊 Hash和數(shù)字簽名信息進(jìn)行驗(yàn)證,確認(rèn)區(qū)塊Hash和數(shù)字簽名的正確性和合法性,并將驗(yàn)證結(jié)果 Result與自己的數(shù)字簽名廣播給其他 Slave,實(shí)現(xiàn) Slave間互連、互查.

c)某個(gè) SlaveBSl接收并匯總其他 Slave的驗(yàn)證結(jié)果,與自己的驗(yàn)證結(jié)果比較,驗(yàn)證后向 Leader發(fā)送一個(gè)回復(fù) Reply.該 Reply包括 Slave自身的驗(yàn)證結(jié)果(my_result)、收到的所有驗(yàn)證結(jié)果(R ece_results)、驗(yàn)證對(duì)比的最終結(jié)論(Comparison)和對(duì)應(yīng)的數(shù)字簽名.上述過程的形式化語(yǔ)言描述如下:

其中,Data_3=my_result||Rece_results||Comparison,SigBSl=SignSKBSl(Data_3).

d)Leader收集匯總所有 Slave的驗(yàn)證回復(fù).若所有 Slave都驗(yàn)證通過當(dāng)前區(qū)塊的正確性和合法性,則 Leader整合該數(shù)據(jù)區(qū)塊、參與驗(yàn)證的 Slave的證書集合({CertBS})以及對(duì)應(yīng)的數(shù)字簽名并發(fā)送給所有的 Slave.此后,該數(shù)據(jù)區(qū)塊將以時(shí)間順序存儲(chǔ)在聯(lián)盟鏈中,Leader從中獲得系統(tǒng)的獎(jiǎng)勵(lì).上述過程的形式化語(yǔ)言描述如下:

e)若部分企業(yè)總部節(jié)點(diǎn)未驗(yàn)證通過,則Leader將分析和查驗(yàn)這些企業(yè)總部節(jié)點(diǎn)的驗(yàn)證結(jié)果.Leader重新發(fā)送該數(shù)據(jù)區(qū)塊給這部分企業(yè)總部節(jié)點(diǎn)進(jìn)行二次驗(yàn)證.若仍有節(jié)點(diǎn)不通過,則將按照少數(shù)服從多數(shù)的原則,超過一定比例的企業(yè)總部節(jié)點(diǎn)驗(yàn)證通過該數(shù)據(jù)區(qū)塊,將該數(shù)據(jù)區(qū)塊按d)的方式加載到聯(lián)盟鏈中.

通過上述共識(shí)過程,企業(yè)狀態(tài)數(shù)據(jù)將存入聯(lián)盟鏈Fabric 中,以便為后續(xù)對(duì)企業(yè)營(yíng)商環(huán)境進(jìn)行評(píng)估時(shí)提供關(guān)聯(lián)數(shù)據(jù)溯源和分析支持.

4 實(shí)驗(yàn)與分析

實(shí)驗(yàn)數(shù)據(jù)集來自區(qū)塊鏈與智能金融研究中心InplusLab 實(shí)驗(yàn)室開發(fā)的區(qū)塊鏈數(shù)據(jù)智能平臺(tái)XBlock 中的數(shù)據(jù)集,所有數(shù)據(jù)集都進(jìn)行了標(biāo)準(zhǔn)化的清洗和歸類,并統(tǒng)一為標(biāo)準(zhǔn)的一致格式.數(shù)據(jù)集的具體內(nèi)容如表2 所示.

表2 實(shí)驗(yàn)數(shù)據(jù)集介紹Tab.2 Introduction to experimental datasets

實(shí)驗(yàn)從鏈下Level DB 讀寫性能、企業(yè)級(jí)復(fù)合區(qū)塊鏈存儲(chǔ)效率2 個(gè)方面,對(duì)比分析營(yíng)商環(huán)境評(píng)估的企業(yè)級(jí)復(fù)合區(qū)塊鏈構(gòu)建方法的有效性.

4.1 鏈下Level DB 數(shù)據(jù)讀寫性能對(duì)比

當(dāng)進(jìn)行Level DB 讀寫性能測(cè)試對(duì)比時(shí),設(shè)置L0層文件數(shù)量上限為10,對(duì)比測(cè)試在4、8、16 kB 3 種不同大小Value下的讀寫時(shí)延.在每種Value 下,分別生成10 萬(wàn)條均勻分布的測(cè)試數(shù)據(jù),再生成測(cè)試數(shù)據(jù)范圍內(nèi)均勻分布的10 萬(wàn)條查詢.在修改 L0層前,讀操作時(shí)延包括讀內(nèi)存和讀磁盤.寫操作時(shí)延包括3 種:1)在數(shù)據(jù)寫入內(nèi)存表前,將數(shù)據(jù)及它的校驗(yàn)值寫入磁盤的時(shí)延;2)數(shù)據(jù)寫入MemTable 的時(shí)延;3)2 次合并帶來的尾時(shí)延.如圖7、8 所示分別為修改前、后的Level DB 的讀、寫時(shí)延對(duì)比圖.圖中,RLb、WLb分別為修改前Level DB 的讀、寫時(shí)延,RLa、WLa分別為修改后Level DB 的讀、寫時(shí)延.

圖7 修改前LevelDB 讀、寫時(shí)延的對(duì)比圖Fig.7 Comparison of reading and writing latency of LevelDB before modification

圖8 修改后LevelDB 讀、寫時(shí)延的對(duì)比圖Fig.8 Comparison of reading and writing latency of LevelDB after modification

如圖7、8 所示,與未修改 L0層相比,修改后的 L0層總體讀時(shí)延都降低了約50%,由于將 L0層放在NVM 上,縮短了 L0層的查詢路徑,同時(shí)引入了查找學(xué)習(xí)索引,效率比傳統(tǒng) SSTable 的二分查找快.總體寫時(shí)延都降低了約30%.由于內(nèi)存表持久化的過程由DRAM 到SSD 變?yōu)镈RAM 到NVM,減少的大部分時(shí)延都來自合并.

4.2 鏈上企業(yè)級(jí)復(fù)合區(qū)塊鏈的存儲(chǔ)效率對(duì)比

實(shí)驗(yàn)環(huán)境為20 臺(tái)服務(wù)器、32 核CPU、128 GB 內(nèi)存、10 TB 存儲(chǔ)空間.區(qū)塊鏈采用Docker 虛擬化技術(shù)部署,使用Kubernetes 管理Docker 集群.對(duì)比存儲(chǔ)模型為公有鏈以太坊Ethereum 和聯(lián)盟鏈Hyperledger Fabric.實(shí)驗(yàn)結(jié)果如圖9 所示.圖中,de為存儲(chǔ)的企業(yè)實(shí)體數(shù)據(jù)集大小,t 為存儲(chǔ)所需的時(shí)間.

圖9 企業(yè)級(jí)復(fù)合區(qū)塊鏈的存儲(chǔ)效率對(duì)比Fig.9 Storage efficiency comparison of enterprise composite blockchain

從圖9 可知,提出的企業(yè)級(jí)復(fù)合區(qū)塊鏈存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)效率高于Ethereum 和Fabric,復(fù)合區(qū)塊鏈中的公有鏈采用基于DAG 的區(qū)塊結(jié)構(gòu)和Conflux 共識(shí),加快了區(qū)塊構(gòu)建和共識(shí)過程,提高了存儲(chǔ)效率.

5 結(jié) 語(yǔ)

營(yíng)商環(huán)境的好壞直接影響企業(yè)的經(jīng)營(yíng)狀況和當(dāng)?shù)氐慕?jīng)濟(jì)發(fā)展.針對(duì)營(yíng)商環(huán)境評(píng)估時(shí)面臨的企業(yè)原始數(shù)據(jù)質(zhì)量不高的問題,本文提出營(yíng)商環(huán)境評(píng)估的企業(yè)級(jí)復(fù)合區(qū)塊鏈構(gòu)建方法,采用鏈上和鏈下相結(jié)合的存儲(chǔ)模式,對(duì)企業(yè)原始數(shù)據(jù)進(jìn)行存儲(chǔ).引入改進(jìn)的哈希函數(shù)SHA256 算法對(duì)企業(yè)原始數(shù)據(jù)進(jìn)行加密,并將其存入鏈下基于非易失性內(nèi)存的Level DB 數(shù)據(jù)庫(kù)中,以降低系統(tǒng)的通信和存儲(chǔ)壓力.將數(shù)據(jù)上鏈存儲(chǔ),分別將Level DB 中的Key 值對(duì)應(yīng)存儲(chǔ)到基于DAG 的Conflux 公有鏈,將企業(yè)狀態(tài)數(shù)據(jù)對(duì)應(yīng)存入聯(lián)盟鏈Hyperledger Fabric,為營(yíng)商環(huán)境評(píng)估提供可信的存證數(shù)據(jù).通過實(shí)驗(yàn)對(duì)比分析,驗(yàn)證了所提方法的有效性.

猜你喜歡
企業(yè)
企業(yè)
企業(yè)
企業(yè)
企業(yè)
企業(yè)
企業(yè)
企業(yè)
企業(yè)
企業(yè)
敢為人先的企業(yè)——超惠投不動(dòng)產(chǎn)
主站蜘蛛池模板: 日韩不卡高清视频| 性视频一区| 久久青草精品一区二区三区| 亚洲日韩欧美在线观看| 国产精品林美惠子在线播放| 全午夜免费一级毛片| 欧美成人一级| 一级毛片网| h视频在线观看网站| 国产高清自拍视频| 国产男人的天堂| 成人第一页| 五月婷婷欧美| 亚洲中久无码永久在线观看软件 | 国禁国产you女视频网站| 黄色三级网站免费| 色网站免费在线观看| 在线播放精品一区二区啪视频| 国产免费黄| 亚洲欧美日韩成人在线| 亚洲色图欧美在线| 亚洲中文字幕97久久精品少妇| 99在线视频精品| 午夜欧美在线| 香港一级毛片免费看| 欧美午夜小视频| 怡红院美国分院一区二区| 国产亚洲视频中文字幕视频| 在线综合亚洲欧美网站| 99久久精品无码专区免费| 国产不卡一级毛片视频| 国产第二十一页| 视频二区国产精品职场同事| 无码有码中文字幕| 少妇精品在线| 欧洲亚洲欧美国产日本高清| 国产成人啪视频一区二区三区| 婷婷午夜天| 日韩a在线观看免费观看| 国产无码在线调教| 国产理论一区| 日韩小视频在线播放| 色婷婷亚洲综合五月| 国产成人免费视频精品一区二区| 漂亮人妻被中出中文字幕久久| 一级不卡毛片| 亚洲欧美在线综合一区二区三区| 久久综合九色综合97婷婷| 无码'专区第一页| 青青青国产视频| 91亚瑟视频| 青草视频久久| 亚洲永久色| 国产福利免费视频| 福利视频99| 国产美女叼嘿视频免费看| 国产微拍精品| 国产成人久久综合一区| 青青青伊人色综合久久| 思思99思思久久最新精品| 亚洲精品综合一二三区在线| 国产精品美女免费视频大全| 国产在线八区| 亚洲国产综合自在线另类| 久热中文字幕在线观看| 99久久无色码中文字幕| 极品尤物av美乳在线观看| 综合天天色| 99re在线免费视频| 国产成人久久777777| 91欧洲国产日韩在线人成| 欧美色视频日本| 国产精品视频第一专区| 九九热精品在线视频| 欧美日韩免费观看| 无码有码中文字幕| 最新亚洲人成无码网站欣赏网| 国产99热| 亚洲日韩国产精品无码专区| 91小视频在线观看| 亚洲国产精品日韩欧美一区| 黄色网站不卡无码|