唐樹均,陳世平
(上海理工大學(xué) 光電信息與計算機(jī)工程學(xué)院,上 海200093)
隨著元宇宙概念的迅猛推廣,以圖片為代表的數(shù)字媒體在網(wǎng)絡(luò)中的應(yīng)用日益廣泛。作為信息密度較高的傳播載體,大量圖片被制作、壓縮、上傳、下載。相較于文字或短視頻,基于圖片的信息在傳播時具有快捷即時、閱讀方便、易于接受等優(yōu)良特性。隨著廣告營銷、電子商務(wù)、互聯(lián)網(wǎng)自媒體的快速發(fā)展,圖片版權(quán)交易也進(jìn)入高速增長期,買方/賣方的數(shù)量以及整體的交易規(guī)模都在持續(xù)增長。而現(xiàn)有的區(qū)塊鏈系統(tǒng)在處理交易時往往簡單套用虛擬貨幣的共識機(jī)制,不能適用于圖片交易。
在現(xiàn)有圖片交易的全過程中,存在2種各有側(cè)重的實(shí)際需求,一是版權(quán)登記,用戶對版權(quán)數(shù)據(jù)的安全性有著較高需求,而對登記過程的耗時并不敏感;另一種是版權(quán)交易,用戶在降低交易時間延遲方面有著更為迫切需求。
圖片的版權(quán)登記與版權(quán)交易是圖片在線交易的2個核心環(huán)節(jié),盡管區(qū)塊鏈技術(shù)可用于保護(hù)版權(quán)與處理交易。但現(xiàn)有的區(qū)塊鏈共識模型不能有效滿足圖片交易的2種需求,這就需要綜合各種共識機(jī)制的優(yōu)勢,設(shè)計新的共識機(jī)制,從而安全快捷地實(shí)現(xiàn)圖片在線交易。
區(qū)塊鏈共識機(jī)制主要有2種,分別是工作量證明算法(Proof of Work,POW)與實(shí)用拜占庭算法(Practical Byzantine Fault Tolerance,PBFT)。前者安全性較高,但處理速度較慢;后者能快速處理交易,但安全性較差,不能單獨(dú)提供公開的處理服務(wù)。對此擬展開探討分析如下。
工作量證明機(jī)制是各個節(jié)點(diǎn)共同計算滿足目標(biāo)值難度的哈希函數(shù),最先計算出滿足難度目標(biāo)的隨機(jī)數(shù)(值)的節(jié)點(diǎn)將獲得新區(qū)塊的記賬權(quán),從而將新區(qū)塊鏈接到區(qū)塊鏈上。
POW機(jī)制主要包括3個步驟:
(1)打包數(shù)據(jù)。節(jié)點(diǎn)鏈接事務(wù)池,并選取要打包的交易數(shù)據(jù),計算交易數(shù)據(jù)哈希值,再通過默克爾樹結(jié)構(gòu)逐層計算出根節(jié)點(diǎn)值,最后形成新區(qū)塊。
(2)計算值。節(jié)點(diǎn)從0開始,不斷改變值,進(jìn)行哈希運(yùn)算,求出滿足難度要求的值。
(3)廣播驗(yàn)證合法性。當(dāng)節(jié)點(diǎn)計算出滿足條件的值后即獲得記賬權(quán)。可以將打包完成的新區(qū)塊鏈接在區(qū)塊鏈末尾,并向系統(tǒng)中的其他節(jié)點(diǎn)發(fā)送廣播,其他節(jié)點(diǎn)對新區(qū)塊進(jìn)行驗(yàn)證,驗(yàn)證通過后將新區(qū)塊鏈接在區(qū)塊鏈末尾并返回確認(rèn)信息。
現(xiàn)有的POW機(jī)制為了保證共識的安全可信,需要各個節(jié)點(diǎn)不斷進(jìn)行哈希計算,求得滿足難度目標(biāo)約束的值。該機(jī)制存在以下問題:
(1)大量的哈希計算消耗巨量電力,而產(chǎn)生的值并無實(shí)際價值,造成了一定的浪費(fèi)。
(2)原始POW機(jī)制獎勵過于單一,僅通過記賬權(quán)獎勵節(jié)點(diǎn),對沒有計算出有效值的節(jié)點(diǎn)不能提供獎勵。
(3)盡管節(jié)點(diǎn)投入大量算力參與計算,但不同節(jié)點(diǎn)的工作量并無數(shù)值化的衡量指標(biāo),難以對節(jié)點(diǎn)進(jìn)行分類。
PBFT機(jī)制通過主節(jié)點(diǎn)更新協(xié)議選舉一個節(jié)點(diǎn)發(fā)起提案,稱為主節(jié)點(diǎn),其他節(jié)點(diǎn)檢查主節(jié)點(diǎn)的提案并互相反饋檢查結(jié)果,稱為共識節(jié)點(diǎn)。
PBFT共識機(jī)制的工作原理如圖1所示。研究中,將對圖1中各重要部分的設(shè)計要點(diǎn)做出闡釋分述如下。
圖1 PBFT共識機(jī)制工作原理Fig.1 PBFT consensus mechanism principle
(1)預(yù)準(zhǔn)備:交易者發(fā)起圖片交易,并向主節(jié)點(diǎn)發(fā)起交易確認(rèn)請求,主節(jié)點(diǎn)檢查請求內(nèi)容并生成交易確認(rèn)提案,廣播到其他的共識節(jié)點(diǎn)。
(2)準(zhǔn)備:系統(tǒng)中的每個共識節(jié)點(diǎn)接收主節(jié)點(diǎn)發(fā)出的確認(rèn)提案,驗(yàn)證檢查提案內(nèi)數(shù)據(jù)的真實(shí)性,各個共識節(jié)點(diǎn)檢查提案數(shù)據(jù)的真實(shí)性后,向其他的共識節(jié)點(diǎn)發(fā)送檢查結(jié)果。
(3)確認(rèn):每個共識節(jié)點(diǎn)不斷接收其他節(jié)點(diǎn)的檢查結(jié)果,而后計算認(rèn)可提案的節(jié)點(diǎn)數(shù)量是否滿足條件,設(shè)節(jié)點(diǎn)總數(shù)為,當(dāng)認(rèn)可提案的節(jié)點(diǎn)數(shù)量超過23時,提案即被認(rèn)可。
(4)執(zhí)行:當(dāng)足夠多的共識節(jié)點(diǎn)確認(rèn)提案后,由主節(jié)點(diǎn)處理提案內(nèi)包含的圖片交易,例如將圖片交易信息寫入新區(qū)塊并連接到區(qū)塊鏈末尾。
盡管PBFT機(jī)制能夠較快地在各節(jié)點(diǎn)間達(dá)成共識,但該機(jī)制仍然存在以下問題:
(1)主節(jié)點(diǎn)選舉過于隨意,現(xiàn)有的PBFT機(jī)制中,主節(jié)點(diǎn)選舉往往會在所有節(jié)點(diǎn)中采取輪替或隨機(jī)方式,由于惡意節(jié)點(diǎn)可以幾乎為零成本的方式成為主節(jié)點(diǎn),故原始PBFT機(jī)制中的主節(jié)點(diǎn)進(jìn)行虛假交易,破壞共識過程或節(jié)點(diǎn)失效的可能性較高。
(2)投票過程過于復(fù)雜,給共識網(wǎng)絡(luò)帶來了過高的通信開銷,當(dāng)共識節(jié)點(diǎn)不發(fā)生拜占庭錯誤時,過高的通信開銷會浪費(fèi)大量的資源。
(3)節(jié)點(diǎn)缺乏有效獎懲機(jī)制,不能獎勵誠實(shí)節(jié)點(diǎn)或懲罰作惡節(jié)點(diǎn),使得節(jié)點(diǎn)的忠誠度與積極性較低。
本文改進(jìn)現(xiàn)有的共識機(jī)制,提出一種基于雙鏈結(jié)構(gòu)的混合共識機(jī)制。
節(jié)點(diǎn)通過POW機(jī)制形成了去中心化的信任基礎(chǔ),為了描述節(jié)點(diǎn)在圖片版權(quán)認(rèn)證工作中的貢獻(xiàn),并以數(shù)值形式記錄下來,需要改進(jìn)POW的計算目標(biāo),建立雙目標(biāo)POW算法。考慮到哈希計算能耗較高,應(yīng)當(dāng)在不增加大量計算開銷的情況下,改進(jìn)計算方案,便于將POW機(jī)制的可信性拓展到共識機(jī)制的其它部分。
改進(jìn)的POW機(jī)制仍然基于公有鏈系統(tǒng),用于處理圖片版權(quán)數(shù)據(jù),改進(jìn)后的雙目標(biāo)POW算法,區(qū)塊頭數(shù)據(jù)格式,可表示為:
其中,是前一個區(qū)塊的哈希值;是區(qū)塊的時間戳;為圖片版權(quán)數(shù)據(jù)的哈希值。
區(qū)塊的計算,需用到如下計算公式:
其中,為區(qū)塊頭數(shù)據(jù),是需要節(jié)點(diǎn)求解的隨機(jī)值。
工作量積分計算,數(shù)學(xué)公式具體如下:
其中,是翻轉(zhuǎn)操作,是難度要求。
節(jié)點(diǎn)運(yùn)行POW算法,從初始值開始不斷增加值,反復(fù)進(jìn)行哈希運(yùn)算,直到求得滿足目標(biāo)難度約束的值。節(jié)點(diǎn)在不斷進(jìn)行哈希運(yùn)算的同時,可以對比運(yùn)算結(jié)果與當(dāng)前目標(biāo)難度值。如果求得值使結(jié)果小于等于,節(jié)點(diǎn)獲得記賬權(quán)與工作積分獎勵,可以將圖片的版權(quán)數(shù)據(jù)與工作積分記錄打包到新區(qū)塊中;如果求得值使得結(jié)果翻轉(zhuǎn)后小于難度要求,節(jié)點(diǎn)僅獲得工作積分獎勵,并將工作積分記錄打包到新區(qū)塊中,新區(qū)塊經(jīng)廣播由網(wǎng)絡(luò)中的其他節(jié)點(diǎn)確認(rèn)。
為了鼓勵共識節(jié)點(diǎn)誠實(shí)工作,使用工作積分獎勵誠實(shí)節(jié)點(diǎn),懲罰惡意節(jié)點(diǎn)。以工作積分對節(jié)點(diǎn)分級,可以將PBFT機(jī)制與POW機(jī)制聯(lián)系起來,從而提高PBFT機(jī)制的安全性與可信度。對此可做探討論述如下。
(1)工作積分的認(rèn)定:節(jié)點(diǎn)可以在公有鏈上處理圖片版權(quán)數(shù)據(jù),通過式(3)計算符合條件的值,從而獲取工作積分,當(dāng)節(jié)點(diǎn)獲取到滿足最低要求的工作積分后,可以接入聯(lián)盟鏈,處理圖片交易數(shù)據(jù)。由于工作積分的獲取依賴大量哈希計算,節(jié)點(diǎn)工作積分的獲取與扣除都儲存在鏈上,確保節(jié)點(diǎn)工作積分的變動真實(shí)可信。
(2)工作積分扣除:節(jié)點(diǎn)參與競選PBFT主節(jié)點(diǎn)會自動扣除一定工作積分,競選成功可以加倍扣除工作積分,節(jié)點(diǎn)發(fā)生拜占庭錯誤也會扣除大量積分。工作積分扣除提高了惡意節(jié)點(diǎn)競選主節(jié)點(diǎn)或破壞投票的成本,可以鼓勵節(jié)點(diǎn)積極誠實(shí)地參與PBFT共識。
(3)節(jié)點(diǎn)分級:新加入節(jié)點(diǎn)直接為類節(jié)點(diǎn),此類節(jié)點(diǎn)權(quán)限較低,必須參與POW計算,通過式(3)獲取一定工作積分后才能轉(zhuǎn)換為類或類節(jié)點(diǎn)參與共識投票或競選成為PBFT主節(jié)點(diǎn)。不同等級的節(jié)點(diǎn)權(quán)限各不相同,各等級節(jié)點(diǎn)的權(quán)限見表1。
表1 節(jié)點(diǎn)權(quán)限Tab.1 Node permissions
節(jié)點(diǎn)等級的轉(zhuǎn)換如圖2所示。
圖2 節(jié)點(diǎn)等級轉(zhuǎn)換Fig.2 Node levels conversion
節(jié)點(diǎn)通過在圖片版權(quán)認(rèn)證中的誠實(shí)工作獲取工作積分。按照節(jié)點(diǎn)的工作積分,對節(jié)點(diǎn)進(jìn)行分級,使得工作積分較高的節(jié)點(diǎn)擁有較高權(quán)限,通過工作積分的獲取與扣除動態(tài)調(diào)整各個節(jié)點(diǎn)的級別。采用節(jié)點(diǎn)分級與升降級策略,能夠有效約束節(jié)點(diǎn),提升節(jié)點(diǎn)的忠誠度與積極性。
原始PBFT機(jī)制中,區(qū)塊生成時間主要是待確認(rèn)區(qū)塊在系統(tǒng)中廣播并獲得共識所占用的時間。原始PBFT機(jī)制節(jié)點(diǎn)投票的時間復(fù)雜度為(),其中為節(jié)點(diǎn)總數(shù)。為了排除拜占庭錯誤,所有節(jié)點(diǎn)需要互相通信2次,這是目前PBFT機(jī)制通信開銷較高的主要原因。通過引入工作積分和節(jié)點(diǎn)分級,節(jié)點(diǎn)投票積極性和忠實(shí)度能夠大大提高。拜占庭錯誤出現(xiàn)的可能性大大降低。當(dāng)所有共識節(jié)點(diǎn)都不發(fā)生拜占庭錯誤時,PBFT的工作原理可以簡化,如圖3所示,主節(jié)點(diǎn)進(jìn)行一輪準(zhǔn)備詢問,以獲取其他節(jié)點(diǎn)狀態(tài),并直接對共識提案進(jìn)行投票。在這種簡易共識機(jī)制中,投票的時間復(fù)雜度為(),通信開銷大大降低,從而減輕了系統(tǒng)負(fù)擔(dān),縮短了共識時間。
圖3 改進(jìn)PBFT工作原理Fig.3 Improved PBFT working principle
改進(jìn)PBFT機(jī)制基于聯(lián)盟鏈部署,用于處理圖片交易請求,由于簡化的投票流程不考慮節(jié)點(diǎn)出現(xiàn)拜占庭錯誤的可能,存在一定安全風(fēng)險。為提高安全性,在改進(jìn)后的共識機(jī)制中,主節(jié)點(diǎn)首先在準(zhǔn)備階段獲取正常在線的節(jié)點(diǎn)總數(shù),而后在共識階段獲取票數(shù)。若則說明未發(fā)生拜占庭錯誤,主節(jié)點(diǎn)可以直接出塊;若則共識失敗,轉(zhuǎn)換為原始PBFT機(jī)制重新進(jìn)行共識。改進(jìn)PBFT機(jī)制相當(dāng)于在節(jié)點(diǎn)不發(fā)生拜占庭錯誤時進(jìn)行簡易投票,當(dāng)節(jié)點(diǎn)出錯幾率較小時,能夠有效降低通信開銷。
改進(jìn)PBFT機(jī)制中,當(dāng)主節(jié)點(diǎn)惡意概率為,節(jié)點(diǎn)數(shù)量為時,通過簡易投票達(dá)成共識的通信次數(shù)為(1),未能通過簡易投票達(dá)成共識的通信次數(shù)為(1)(2),可知改進(jìn)后PBFT投票平均通信次數(shù)為2(1)(2)。
在原始PBFT機(jī)制中,當(dāng)主節(jié)點(diǎn)惡意概率為,節(jié)點(diǎn)數(shù)量為時,若主節(jié)點(diǎn)不是惡意節(jié)點(diǎn),則通信次數(shù)為(2)(1),若主節(jié)點(diǎn)是惡意節(jié)點(diǎn),通信次數(shù)為(2)(1)(),則原始PBFT平均通信次數(shù)為(2)(1)2(2)。
受到工作積分鼓勵和節(jié)點(diǎn)分級的約束,可以認(rèn)為小于,因此改進(jìn)的PBFT機(jī)制共識投票的通信次數(shù)較少。
改進(jìn)后的混合共識機(jī)制如圖4所示。對圖4中各重要組成部分,將給出研究闡述如下。
圖4 混合共識機(jī)制Fig.4 Mixed consensus mechanism
(1)認(rèn)證節(jié)點(diǎn):認(rèn)證節(jié)點(diǎn)由普通用戶構(gòu)成,用戶部署節(jié)點(diǎn)后,可以參與圖片版權(quán)數(shù)據(jù)處理,通過POW機(jī)制檢查圖片版權(quán)數(shù)據(jù),將圖片版權(quán)數(shù)據(jù)打包進(jìn)新區(qū)塊并鏈接到認(rèn)證鏈末尾。認(rèn)證節(jié)點(diǎn)的加入和退出由各節(jié)點(diǎn)自由選擇。
(2)主節(jié)點(diǎn):認(rèn)證節(jié)點(diǎn)積累一定工作積分后,可以經(jīng)選舉成為主節(jié)點(diǎn),負(fù)責(zé)認(rèn)證交易數(shù)據(jù)。主節(jié)點(diǎn)將圖片交易數(shù)據(jù)打包形成新區(qū)塊。
據(jù)介紹,在質(zhì)量責(zé)任方面,明確了農(nóng)村公路建設(shè)工程實(shí)行質(zhì)量責(zé)任終身制;在監(jiān)管機(jī)制方面,明確了按照分級負(fù)責(zé)原則,建立健全上下協(xié)調(diào)、控制有效、覆蓋全面的農(nóng)村公路建設(shè)質(zhì)量齊抓共管的工作機(jī)制;在質(zhì)量管控方面,根據(jù)農(nóng)村公路建設(shè)特點(diǎn)和薄弱環(huán)節(jié),強(qiáng)調(diào)嚴(yán)把設(shè)計關(guān)、材料關(guān)、施工首件關(guān)、質(zhì)量公示關(guān)、過程把控關(guān)、工程驗(yàn)收關(guān)、質(zhì)量考核關(guān)、信用評價關(guān)等“八大關(guān)口”,增強(qiáng)實(shí)踐操作性;在監(jiān)管措施方面,明確了發(fā)揮當(dāng)?shù)厝罕姷馁|(zhì)量監(jiān)督作用,建立質(zhì)量約談和掛牌督辦制度,督促落實(shí)農(nóng)村公路質(zhì)量責(zé)任。
(3)共識節(jié)點(diǎn):主節(jié)點(diǎn)廣播新區(qū)塊,其他參與處理圖片交易數(shù)據(jù)的共識節(jié)點(diǎn)通過改進(jìn)PBFT投票認(rèn)可新區(qū)塊,將新區(qū)塊鏈接到交易鏈末尾。
(4)認(rèn)證鏈:圖片自上傳至區(qū)塊鏈系統(tǒng)開始,就進(jìn)入圖片鏈系統(tǒng)中。把圖片上傳視為一次特殊的交易,即通過圖片的首筆交易,將圖片與某一區(qū)塊綁定,要求圖片認(rèn)證節(jié)點(diǎn)構(gòu)造出一個新的區(qū)塊記錄圖片版權(quán)數(shù)據(jù),使得每張圖片都按照版權(quán)登記時間順序組成了一條由圖片版權(quán)數(shù)據(jù)構(gòu)成的區(qū)塊鏈,稱為認(rèn)證鏈。認(rèn)證鏈中除了創(chuàng)世區(qū)塊與最新區(qū)塊以外,每個交易區(qū)塊都存儲了指向其前一個交易區(qū)塊與后一個交易區(qū)塊的指針,以便于檢索特定圖片的版權(quán)記錄。
(5)交易鏈:認(rèn)證鏈負(fù)責(zé)認(rèn)證圖片版權(quán),交易鏈負(fù)責(zé)記錄圖片交易,由于圖片在一次認(rèn)證后往往會發(fā)生多筆交易,因此認(rèn)證業(yè)務(wù)較少,但需要更高的安全保障;交易鏈需要處理更多的交易請求,需要更短的交易確認(rèn)時間。本文在認(rèn)證版權(quán)時采用POW機(jī)制,確保版權(quán)認(rèn)證過程安全可信,在處理圖片交易時采用改進(jìn)的PBFT機(jī)制,充分發(fā)揮主節(jié)點(diǎn)的處理能力,從而盡可能縮短交易確認(rèn)時間。
為了避免主節(jié)點(diǎn)因意外失效導(dǎo)致系統(tǒng)故障,同時避免惡意節(jié)點(diǎn)拒絕工作,需要設(shè)計主節(jié)點(diǎn)更新協(xié)議,在主節(jié)點(diǎn)不能正常履行工作時激活主節(jié)點(diǎn)更新協(xié)議。
協(xié)議設(shè)置準(zhǔn)備超時時間和共識超時時間,其中用于防止準(zhǔn)備階段主節(jié)點(diǎn)出錯,用于防止共識階段主節(jié)點(diǎn)出錯。設(shè)節(jié)點(diǎn)總數(shù)為,則允許出錯的節(jié)點(diǎn)數(shù)量最大為,其中31。主節(jié)點(diǎn)更新協(xié)議工作流程如下:
(1)當(dāng)任一共識節(jié)點(diǎn)在內(nèi)沒有收到準(zhǔn)備廣播,或者在內(nèi)沒有收到新共識,則自動激活主節(jié)點(diǎn)更新協(xié)議,發(fā)起主節(jié)點(diǎn)更新請求,并從競選節(jié)點(diǎn)中選取積分最高的節(jié)點(diǎn)作為候選主節(jié)點(diǎn),將候選主節(jié)點(diǎn)信息與更新請求一并廣播到其他節(jié)點(diǎn)。
(2)每個共識節(jié)點(diǎn)都持續(xù)監(jiān)聽廣播,一旦收到21條主節(jié)點(diǎn)更新請求,從競選節(jié)點(diǎn)中選取工作積分最高的節(jié)點(diǎn)作為候選主節(jié)點(diǎn),并發(fā)送認(rèn)可候選主節(jié)點(diǎn)的投票消息。
通過搭設(shè)基于雙鏈的混合共識機(jī)制原型系統(tǒng),測試改進(jìn)后的混合共識機(jī)制性能與可靠性。
文中的實(shí)驗(yàn)數(shù)據(jù)選用從中國知網(wǎng)下載的期刊封面、扉頁、目錄等作為實(shí)驗(yàn)所需要的圖片,共2 000張。
在評價指標(biāo)上,關(guān)鍵技術(shù)的評價指標(biāo)主要是處理圖片交易的時間,此外還包括處理交易時節(jié)點(diǎn)的性能開銷。實(shí)驗(yàn)的主要性能指標(biāo)包括:時間延遲,即用戶發(fā)起一次圖片交易到交易完成所需時間,單位為ms;處理速率,即在單位時間內(nèi)處理用戶發(fā)起交易的數(shù)量,單位為每秒處理的交易數(shù)量(tps);處理器與內(nèi)存占用,即處理交易請求時電腦的硬件開銷,以百分比表示。
實(shí)驗(yàn)中選擇不同的交易發(fā)送速率,并記錄在各個交易發(fā)送速率條件下,處理器和內(nèi)存的占用情況,同時記錄系統(tǒng)處理交易的速率以及各個交易從發(fā)起請求到獲得確認(rèn)的交易時延,將實(shí)驗(yàn)記錄數(shù)據(jù)匯總并繪制相應(yīng)實(shí)驗(yàn)表格。
內(nèi)存占用與交易發(fā)送速率的實(shí)驗(yàn)結(jié)果如圖5所示。改進(jìn)PBFT機(jī)制相比原始PBFT而言沒有明顯的內(nèi)存開銷,交易發(fā)送的速率在增長到60 tps之前,原始PBFT機(jī)制和改進(jìn)PBFT機(jī)制的內(nèi)存占用都隨著交易發(fā)送速率呈線性增長;當(dāng)交易發(fā)送速率大于60 tps后,2種不同機(jī)制的內(nèi)存占用增加并不明顯,這是由于系統(tǒng)處理能力趨于飽和,額外的交易請求被不斷推遲,并沒有被立即處理,體現(xiàn)為內(nèi)存占用在交易速率大于60 tps后,增加并不明顯;在交易發(fā)送速率最大時,改進(jìn)PBFT的內(nèi)存占用較小,說明改進(jìn)PBFT機(jī)制在一定情形下能夠降低內(nèi)存開銷。
圖5 內(nèi)存占用Fig.5 Memory occupation
處理器占用與交易發(fā)送速率的實(shí)驗(yàn)結(jié)果如圖6所示。改進(jìn)PBFT機(jī)制能夠降低處理器開銷,交易發(fā)送的速率在增長到60 tps前,處理器占用隨交易發(fā)送速率呈線性增長;當(dāng)交易發(fā)送速率大于60 tps后,由于系統(tǒng)處理能力趨于飽和,額外的交易請求被不斷推遲,并沒有被立即處理,體現(xiàn)為交易速率大于60 tps后,處理器占用隨交易速率增加而增加的速度有一定降低。并且,在交易發(fā)送速率大于20 tps時,改進(jìn)PBFT的處理器占用比原始PBFT更低。
圖6 處理器占用Fig.6 CPU occupancy
交易處理速率與交易發(fā)送速率的實(shí)驗(yàn)結(jié)果如圖7所示。改進(jìn)PBFT機(jī)制能夠提高交易處理速率上限,當(dāng)前系統(tǒng)的交易處理能力上限在60~70 tps之間,交易速率高于該上限,無論采用原始PBFT方案或者改進(jìn)PBFT方案,系統(tǒng)處理速率并不會進(jìn)一步增加。改進(jìn)PBFT和原始PBFT方案在交易發(fā)送交易速率為100 tps時都達(dá)到了最大交易處理速率。此時改進(jìn)PBFT的交易處理速率為71 tps,處理器占用為25.8%,而原始PBFT方案的交易處理速率為66 tps,CPU占用為29.8%,說明改進(jìn)PBFT方案能夠降低計算開銷,占用較少資源即可達(dá)到最大交易處理速率。
圖7 交易處理速率Fig.7 Transactions processing rate
交易延遲與交易發(fā)送速率的實(shí)驗(yàn)結(jié)果如圖8所示。改進(jìn)后的PBFT方案相比原始PBFT方案完成交易的延遲較低,與改進(jìn)PBFT方案和原始PBFT方案在通信次數(shù)上的分析討論相吻合,說明基于工作積分的改進(jìn)PBFT方案在相同的交易處理場景下具有縮短共識時間的優(yōu)勢。此外,當(dāng)系統(tǒng)的交易處理速率達(dá)到上限后繼續(xù)增加交易發(fā)送量,改進(jìn)的PBFT方案,時間延遲增幅較小,而原始PBFT方案的時間延遲增幅較大,進(jìn)一步說明改進(jìn)的PBFT方案在降低通信時間開銷上具有一定優(yōu)勢。
圖8 交易延遲Fig.8 Transactions delay
通過對原型系統(tǒng)進(jìn)行測試,證明了基于雙鏈結(jié)構(gòu)的混合共識機(jī)制的計算開銷更小,單筆交易時間延遲更低。各主要功能正常運(yùn)行,關(guān)鍵性能指標(biāo)優(yōu)于現(xiàn)有共識機(jī)制。隨著節(jié)點(diǎn)和交易量的增加,系統(tǒng)運(yùn)行正常,穩(wěn)定性良好,可以進(jìn)行較大規(guī)模的圖片交易工作。
本文研究了用于圖片版權(quán)交易的區(qū)塊鏈雙鏈模型。通過設(shè)計工作積分與節(jié)點(diǎn)分級,溝通了安全性強(qiáng)的POW共識機(jī)制與處理效率高的PBFT共識機(jī)制;基于工作積分改進(jìn)了PBFT共識機(jī)制的投票流程,減少投票次數(shù),從而降低投票帶來的通信開銷;通過搭設(shè)測試原型系統(tǒng),以實(shí)驗(yàn)驗(yàn)證技術(shù)方案的可行性與技術(shù)優(yōu)勢。與現(xiàn)有的共識機(jī)制相比。本文提出的混合共識機(jī)制相比傳統(tǒng)技術(shù)具有以下技術(shù)優(yōu)勢:
(1)由改進(jìn)POW機(jī)制處理圖片版權(quán)數(shù)據(jù),由改進(jìn)PBFT機(jī)制處理圖片交易數(shù)據(jù),相比單一的POW機(jī)制,有效降低認(rèn)證交易數(shù)據(jù)所需的計算開銷。
(2)通過工作積分有效獎勵誠實(shí)節(jié)點(diǎn),懲罰惡意節(jié)點(diǎn);且節(jié)點(diǎn)分級可以將惡意節(jié)點(diǎn)逐步降級,最終將其排除在外。
(3)改進(jìn)PBFT機(jī)制的通信開銷與計算開銷較小,處理交易數(shù)據(jù)時延遲更低。
(4)混合共識機(jī)制兼顧了POW機(jī)制的高可信度與PBFT機(jī)制的高性能,能夠在同樣可信的條件下,提供更快的圖片交易認(rèn)證服務(wù)。
但本文提出的混合共識機(jī)制僅考慮了POW與PBFT,沒有兼顧其他諸如股權(quán)證明(POS)和重要性證明(POI)等共識機(jī)制。隨著共識機(jī)制的進(jìn)一步發(fā)展,多種共識機(jī)制混合值得后續(xù)深入的系統(tǒng)研究。此外,本文提出的工作積分與節(jié)點(diǎn)分級機(jī)制,可以進(jìn)一步部署在區(qū)塊鏈系統(tǒng)的智能合約中,從而提供更為安全的運(yùn)行環(huán)境。