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

基于改進(jìn)PBFT的區(qū)塊鏈知識(shí)產(chǎn)權(quán)保護(hù)模型

2020-12-16 02:18:06孫嘉豪孟翔斯張浩運(yùn)常小林
計(jì)算機(jī)工程 2020年12期

孫嘉豪,孟翔斯,張浩運(yùn),常小林,徐 燕,關(guān) 莊

(天津理工大學(xué) a.管理學(xué)院; b.計(jì)算機(jī)科學(xué)與工程學(xué)院,天津 300384)

0 概述

隨著互聯(lián)網(wǎng)的迅速發(fā)展,知識(shí)產(chǎn)權(quán)保護(hù)已不再局限于書(shū)籍、期刊及音像出版物等實(shí)體內(nèi)容,而是開(kāi)始向數(shù)字化方向發(fā)展。據(jù)統(tǒng)計(jì),2017年我國(guó)數(shù)字出版產(chǎn)業(yè)整體收入規(guī)模已達(dá)7 071.93億元,比上年增長(zhǎng)了23%[1]。互聯(lián)網(wǎng)數(shù)字產(chǎn)權(quán)業(yè)在帶動(dòng)社會(huì)經(jīng)濟(jì)持續(xù)快速發(fā)展的同時(shí),也為知識(shí)產(chǎn)權(quán)的保護(hù)帶來(lái)一系列問(wèn)題。比如,數(shù)量龐大且類(lèi)型繁雜的知識(shí)作品無(wú)法進(jìn)行有效的產(chǎn)權(quán)登記,造成作者合法權(quán)益難以保障。同時(shí),難以統(tǒng)一的知識(shí)產(chǎn)權(quán)管理平臺(tái)造成產(chǎn)權(quán)歸屬模糊不清的問(wèn)題,以及以零成本復(fù)制、秒速傳播等方式為主的盜版技術(shù)的跟進(jìn),也為知識(shí)產(chǎn)權(quán)的保護(hù)帶來(lái)巨大挑戰(zhàn)。

針對(duì)上述問(wèn)題,目前主要采用數(shù)字水印(Digital Watermarking)技術(shù)[2]在知識(shí)作品內(nèi)容上聲明產(chǎn)權(quán)歸屬,并加強(qiáng)相關(guān)法律法規(guī)的建設(shè)。但是數(shù)字水印技術(shù)不但沒(méi)有解決當(dāng)前知識(shí)產(chǎn)權(quán)存在的諸多問(wèn)題,而且還形成了產(chǎn)業(yè)壟斷,強(qiáng)制性的法律法規(guī)只能在侵權(quán)發(fā)生后再予以懲罰,不能及時(shí)保護(hù)知識(shí)產(chǎn)權(quán)。為此,文獻(xiàn)[3]提出利用嵌入式版權(quán)服務(wù)組件的形式,通過(guò)基于可信第三方的模式管理各大數(shù)字作品出版平臺(tái),并進(jìn)行統(tǒng)一的版權(quán)認(rèn)證和記錄。文獻(xiàn)[4]提出基于哈希的分布式認(rèn)證算法和信譽(yù)值的反盜版機(jī)制數(shù)字出版物盜版?zhèn)鞑?wèn)題,但上述研究都是基于可信第三方來(lái)實(shí)現(xiàn)版權(quán)管理,不能做到產(chǎn)權(quán)認(rèn)證的絕對(duì)權(quán)威。文獻(xiàn)[5]提出基于區(qū)塊鏈的數(shù)字作品數(shù)字版權(quán)唯一標(biāo)識(shí)符(DCI)管控模型,通過(guò)區(qū)塊鏈技術(shù)進(jìn)行版權(quán)認(rèn)證和交易,但沒(méi)有考慮到挖礦機(jī)制成本過(guò)高且共識(shí)效率極低,并不能實(shí)際應(yīng)用于知識(shí)產(chǎn)權(quán)保護(hù)。

本文構(gòu)造一種基于改進(jìn)PBFT的知識(shí)產(chǎn)權(quán)保護(hù)模型,以實(shí)現(xiàn)對(duì)知識(shí)作品進(jìn)行產(chǎn)權(quán)登記、產(chǎn)權(quán)交易和高效保護(hù)的管控服務(wù)。通過(guò)搭建去中心化的多節(jié)點(diǎn)產(chǎn)權(quán)保護(hù)平臺(tái),采用改進(jìn)的PBFT共識(shí)機(jī)制解決節(jié)點(diǎn)共識(shí)問(wèn)題,并建立分布式數(shù)據(jù)庫(kù)系統(tǒng),將作品的完整內(nèi)容存儲(chǔ)在原始數(shù)據(jù)庫(kù)中,降低知識(shí)產(chǎn)權(quán)保護(hù)區(qū)塊鏈上的存儲(chǔ)負(fù)荷和高頻訪(fǎng)問(wèn)壓力。同時(shí),本文設(shè)計(jì)智能合約自動(dòng)化執(zhí)行預(yù)設(shè)指令,從而保證平臺(tái)的高效性和透明性,有效解決當(dāng)前知識(shí)作品的產(chǎn)權(quán)保護(hù)問(wèn)題。

1 模型技術(shù)基礎(chǔ)

1.1 區(qū)塊鏈技術(shù)

區(qū)塊鏈[6]本質(zhì)上是一種分布式數(shù)據(jù)庫(kù),它對(duì)數(shù)據(jù)庫(kù)的結(jié)構(gòu)進(jìn)行創(chuàng)新,將數(shù)據(jù)存儲(chǔ)在不同的區(qū)塊內(nèi),區(qū)塊間按照時(shí)間順序并通過(guò)哈希算法鏈接起來(lái),由多個(gè)獨(dú)立的共識(shí)節(jié)點(diǎn)共同維護(hù),具有去中心化、去信任化、安全性和可溯源性的特點(diǎn)。每個(gè)區(qū)塊分為區(qū)塊頭和區(qū)塊體2個(gè)部分,區(qū)塊頭主要包含上一區(qū)塊的哈希值、時(shí)間戳、隨機(jī)數(shù)和默克爾根等信息,而區(qū)塊體主要用來(lái)封裝數(shù)據(jù)信息[7-9]。區(qū)塊鏈結(jié)構(gòu)示意圖如圖1所示。

圖1 區(qū)塊鏈結(jié)構(gòu)示意圖Fig.1 Schematic diagram of blockchain structure

區(qū)塊鏈技術(shù)的獨(dú)特性在于區(qū)塊內(nèi)存儲(chǔ)的數(shù)據(jù)信息只能增加,不能修改或刪除[10]。系統(tǒng)中如果出現(xiàn)對(duì)區(qū)塊數(shù)據(jù)進(jìn)行刪改的操作,則會(huì)在新的區(qū)塊內(nèi)留下數(shù)據(jù)被刪改的記錄。因此,區(qū)塊鏈能夠完整記錄一份數(shù)據(jù)從產(chǎn)生到每一次修改的所有過(guò)程,從而保證數(shù)據(jù)的可溯源性。同時(shí),利用節(jié)點(diǎn)間的分布式共識(shí)機(jī)制驗(yàn)證區(qū)塊數(shù)據(jù)的準(zhǔn)確性和一致性來(lái)保證數(shù)據(jù)難以篡改。

1.2 智能合約

智能合約[11]是一種可以由事件驅(qū)動(dòng)、具備狀態(tài)機(jī)制且可根據(jù)預(yù)設(shè)條件自動(dòng)執(zhí)行合約條款的程序化協(xié)議。它取代了傳統(tǒng)的紙質(zhì)合同,減少了在合約制定、控制協(xié)議和執(zhí)行效率上的人工花費(fèi)與計(jì)算成本[12]。

在知識(shí)產(chǎn)權(quán)保護(hù)區(qū)塊鏈網(wǎng)絡(luò)中,每一份智能合約都擁有與其對(duì)應(yīng)的合約賬戶(hù),設(shè)定不同條件下的觸發(fā)事件部署智能合約,如果滿(mǎn)足預(yù)設(shè)條件則調(diào)用合約接口觸發(fā)執(zhí)行。

1.3 PBFT機(jī)制

PBFT[13]用于解決如何在存在錯(cuò)誤節(jié)點(diǎn)的分布式系統(tǒng)中保證決策一致性的問(wèn)題。PBFT共識(shí)算法主要由一致性協(xié)議、視圖轉(zhuǎn)換協(xié)議和檢查點(diǎn)協(xié)議3個(gè)方面組成。其中,一致性協(xié)議通過(guò)類(lèi)似投票的方式完成一致性檢驗(yàn),視圖轉(zhuǎn)換協(xié)議用于替換故障節(jié)點(diǎn)從而保證系統(tǒng)正常運(yùn)行,檢查點(diǎn)協(xié)議用于調(diào)整節(jié)點(diǎn)狀態(tài)并清除交互數(shù)據(jù)以減少節(jié)點(diǎn)存儲(chǔ)壓力[14]。在總節(jié)點(diǎn)數(shù)為n的系統(tǒng)中,PBFT算法能容忍的錯(cuò)誤節(jié)點(diǎn)數(shù)f最大值為(n-1)/3。

PBFT算法流程如圖2所示,且具體步驟如下:

1)Request階段:客戶(hù)端(Client)針對(duì)要進(jìn)行的操作選擇一個(gè)主節(jié)點(diǎn)發(fā)送請(qǐng)求消息。

2)Pre-Prepare階段:主節(jié)點(diǎn)(Primary)接收請(qǐng)求消息,并將請(qǐng)求分類(lèi)、排序后廣播給所有從節(jié)點(diǎn)(Replica)。

3)Prepare階段:從節(jié)點(diǎn)對(duì)接收到的消息進(jìn)行驗(yàn)證,并將結(jié)果廣播給其他節(jié)點(diǎn)。

4)Commit階段:節(jié)點(diǎn)間互相驗(yàn)證接收到的消息,若驗(yàn)證結(jié)果一致則向客戶(hù)端廣播一條消息。

5)Reply階段:客戶(hù)端接收到的消息大于2f+1條時(shí),則共識(shí)達(dá)成。其中,f為錯(cuò)誤節(jié)點(diǎn)的個(gè)數(shù)。

圖2 PBFT算法流程Fig.2 Procedure of PBFT algorithm

在PBFT算法中,整個(gè)網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)目是固定的,擴(kuò)展性較差,不能適應(yīng)動(dòng)態(tài)變化的網(wǎng)絡(luò)系統(tǒng)。此外,由于一致性協(xié)議中存在復(fù)雜的通信過(guò)程,對(duì)節(jié)點(diǎn)間的共識(shí)效率影響較大。因此,PBFT算法還存在較大的改進(jìn)空間。

2 模型實(shí)現(xiàn)方案

2.1 模型架構(gòu)設(shè)計(jì)

本文模型設(shè)計(jì)了去中心化的知識(shí)產(chǎn)權(quán)保護(hù)區(qū)塊鏈網(wǎng)絡(luò)體系架構(gòu),具體如圖3所示。

圖3 知識(shí)產(chǎn)權(quán)保護(hù)模型架構(gòu)Fig.3 Structure of intellectual property protection model

知識(shí)產(chǎn)權(quán)保護(hù)模型架構(gòu)包括以下2個(gè)部分:

1)用戶(hù)端。用戶(hù)A在用戶(hù)端上傳其作品,在上傳過(guò)程中會(huì)進(jìn)行抄襲檢測(cè)。抄襲檢測(cè)技術(shù)種類(lèi)眾多,其本質(zhì)是在對(duì)文本特征值提取的基礎(chǔ)上進(jìn)行后續(xù)處理。國(guó)內(nèi)外研究人員對(duì)文本抄襲檢測(cè)算法有不同的思路,其中,文獻(xiàn)[15]針對(duì)Shingles算法進(jìn)行優(yōu)化,并對(duì)指紋特征的選取進(jìn)行改進(jìn)。文獻(xiàn)[16]利用文檔的概念在不同結(jié)構(gòu)層次上對(duì)文檔和段落級(jí)別進(jìn)行剽竊測(cè)試。文獻(xiàn)[17]提出一種基于局部詞頻指紋的抄襲檢測(cè)算法,將句子作為文檔的基本構(gòu)成元素,并對(duì)其進(jìn)行有效關(guān)鍵詞提取排序重構(gòu),在一定程度上克服了現(xiàn)有抄襲檢測(cè)算法檢測(cè)精度較低的缺點(diǎn),且具有較快的檢測(cè)速度。采用合適的抄襲檢測(cè)技術(shù)能夠快速而準(zhǔn)確地檢測(cè)出上傳作品是否具有原創(chuàng)性。檢測(cè)通過(guò)后客戶(hù)端向知識(shí)產(chǎn)權(quán)保護(hù)區(qū)塊鏈網(wǎng)絡(luò)發(fā)起交易請(qǐng)求,調(diào)用知識(shí)產(chǎn)權(quán)保護(hù)區(qū)塊鏈網(wǎng)絡(luò)接口,執(zhí)行已經(jīng)部署的產(chǎn)權(quán)登記合約。將作品的產(chǎn)權(quán)信息和由文件特征值提取的哈希摘要寫(xiě)入新的數(shù)據(jù)區(qū)塊,通過(guò)節(jié)點(diǎn)共識(shí)驗(yàn)證后鏈接到區(qū)塊鏈上,并將作品的完整內(nèi)容存入數(shù)據(jù)庫(kù)。若用戶(hù)B需要與用戶(hù)A進(jìn)行產(chǎn)權(quán)交易,則需在用戶(hù)端發(fā)起交易請(qǐng)求。通過(guò)調(diào)用與操作相應(yīng)的合約接口,執(zhí)行相應(yīng)的智能合約后根據(jù)交易信息生成新的數(shù)據(jù)區(qū)塊,通過(guò)節(jié)點(diǎn)共識(shí)驗(yàn)證后入鏈,且入鏈后的數(shù)據(jù)不能篡改。同時(shí),由于區(qū)塊鏈內(nèi)的每個(gè)區(qū)塊都包含時(shí)間戳,從而為知識(shí)作品的產(chǎn)權(quán)歸屬提供有力證據(jù),避免了產(chǎn)權(quán)糾紛問(wèn)題。

2)知識(shí)產(chǎn)權(quán)保護(hù)區(qū)塊鏈網(wǎng)絡(luò)。節(jié)點(diǎn)接收到來(lái)自客戶(hù)端的交易請(qǐng)求,依據(jù)請(qǐng)求類(lèi)型調(diào)用相應(yīng)的智能合約接口。將在本地生成的交易數(shù)據(jù)打包進(jìn)入新的區(qū)塊,通過(guò)改進(jìn)的PBFT共識(shí)機(jī)制向全網(wǎng)廣播交易數(shù)據(jù),達(dá)成共識(shí)后的新區(qū)塊鏈接上鏈。

2.2 基于區(qū)塊鏈的數(shù)據(jù)信息存儲(chǔ)機(jī)制

本文模型采用的數(shù)據(jù)信息存儲(chǔ)機(jī)制主要分為傳統(tǒng)數(shù)據(jù)庫(kù)存儲(chǔ)和區(qū)塊鏈存儲(chǔ)2個(gè)部分。其中,數(shù)據(jù)庫(kù)用于存放確權(quán)作品的完整內(nèi)容,區(qū)塊鏈用于存儲(chǔ)確權(quán)作品的唯一摘要和產(chǎn)權(quán)信息等數(shù)據(jù),從而減少區(qū)塊存儲(chǔ)的數(shù)據(jù)量,有利于提高節(jié)點(diǎn)間的共識(shí)效率和對(duì)確權(quán)作品的檢索速度。

以用戶(hù)上傳原創(chuàng)作品并進(jìn)行產(chǎn)權(quán)登記為例,用戶(hù)在客戶(hù)端上傳知識(shí)作品并通過(guò)抄襲檢測(cè)后,客戶(hù)端向知識(shí)產(chǎn)權(quán)保護(hù)區(qū)塊鏈網(wǎng)絡(luò)發(fā)起交易請(qǐng)求,調(diào)用知識(shí)產(chǎn)權(quán)保護(hù)區(qū)塊鏈接口,觸發(fā)部署在區(qū)塊鏈節(jié)點(diǎn)上的產(chǎn)權(quán)登記合約,并構(gòu)造新區(qū)塊。該節(jié)點(diǎn)向其他各個(gè)節(jié)點(diǎn)廣播交易信息,通過(guò)改進(jìn)的PBFT共識(shí)機(jī)制驗(yàn)證新區(qū)塊的正確性,達(dá)成共識(shí)后的新區(qū)塊鏈接上鏈。新區(qū)塊構(gòu)造流程如圖4所示。

圖4 新區(qū)塊構(gòu)造流程Fig.4 Construction procedure of new block

2.3 基于智能合約的知識(shí)產(chǎn)權(quán)管控協(xié)議

本文模型設(shè)計(jì)了基于智能合約的知識(shí)產(chǎn)權(quán)管控協(xié)議,該協(xié)議主要由產(chǎn)權(quán)登記合約(Property Registration Contract,PRC)和產(chǎn)權(quán)轉(zhuǎn)讓合約(Property Transfer Contract,PTC)2個(gè)部分組成。

2.3.1 產(chǎn)權(quán)登記合約

產(chǎn)權(quán)登記合約用于用戶(hù)在知識(shí)產(chǎn)權(quán)保護(hù)區(qū)塊鏈上登記自身作品的知識(shí)產(chǎn)權(quán)。用戶(hù)在客戶(hù)端完成注冊(cè)賬戶(hù)并實(shí)名認(rèn)證后,發(fā)布作品時(shí)可以選擇在區(qū)塊鏈上登記作品所有權(quán)。在登記過(guò)程中通過(guò)調(diào)用已經(jīng)部署完備的PRC,先在區(qū)塊鏈上檢測(cè)用戶(hù)發(fā)起的認(rèn)證消息message是否是該作品的初始化擁有者,如果無(wú)法通過(guò)認(rèn)證,則用戶(hù)不能在區(qū)塊鏈上登記自身作品的知識(shí)產(chǎn)權(quán);通過(guò)認(rèn)證后,PRC根據(jù)作品內(nèi)容生成唯一的哈希摘要,并將作品信息和哈希摘要寫(xiě)入新區(qū)塊,該哈希摘要作為作品的唯一標(biāo)識(shí)返回給該用戶(hù)。產(chǎn)權(quán)登記合約設(shè)計(jì)如算法1所示。

算法1產(chǎn)權(quán)登記合約

輸入dataset,theobjectoftransaction

輸出HashAbstract

1.procedure receiveDataset(dataset);

2.if message.sender=writer then;

3.dataset=new Transaction();//初始化交易信息

4.dataset.name=dataset.name;

5.dataset.time=this.time;

6.dataset.content=dataset.content;

7.HashAbstract=Hash(dataset);//生成登記作品的哈希

//摘要

8.WriteToBlock(dataset,HashAbstract);//作品唯一的

//哈希摘要入鏈

9.return HashAbstract;

10.end if

11.end procedure

2.3.2 產(chǎn)權(quán)轉(zhuǎn)讓合約

產(chǎn)權(quán)轉(zhuǎn)讓合約可供用戶(hù)通過(guò)交易的方式獲得產(chǎn)權(quán)所有者擁有作品的各項(xiàng)權(quán)利。當(dāng)買(mǎi)方與賣(mài)方就某項(xiàng)作品達(dá)成具體交易共識(shí)后,買(mǎi)方可通過(guò)發(fā)起產(chǎn)權(quán)轉(zhuǎn)讓請(qǐng)求來(lái)觸發(fā)相關(guān)作品的產(chǎn)權(quán)轉(zhuǎn)讓合約。如果產(chǎn)權(quán)所有者對(duì)該交易合約無(wú)其他要求,則該作品的產(chǎn)權(quán)轉(zhuǎn)讓合約將在產(chǎn)權(quán)所有者確認(rèn)同意后自動(dòng)執(zhí)行。通過(guò)調(diào)用交易函數(shù)進(jìn)行轉(zhuǎn)賬操作,買(mǎi)方將在支付交易金額后獲得該作品的權(quán)益,交易記錄在區(qū)塊鏈節(jié)點(diǎn)共識(shí)通過(guò)后寫(xiě)入?yún)^(qū)塊鏈。若產(chǎn)權(quán)擁有者拒絕該項(xiàng)交易,則交易取消。產(chǎn)權(quán)轉(zhuǎn)讓合約設(shè)計(jì)如算法2所示。

算法2產(chǎn)權(quán)轉(zhuǎn)讓合約

輸入dataset,theobjectoftransaction

輸出NewHashAbstract

1.procedure receiveDataset(dataset);

2.if message.sender=wirter then;

3.if dataset.operation=true then;

4.transfer(dataset.to,dataset.from)//買(mǎi)方轉(zhuǎn)賬給賣(mài)方

5.RemoveFrom(writer,HashAbstract);//產(chǎn)權(quán)所有者轉(zhuǎn)

//讓作品產(chǎn)權(quán)

6.LinkTo(dataset.buyer,HashAbstract);//交易結(jié)果

//入鏈

7.end if

8.pop(dataset);

9.end if

10.end procedure

2.4 改進(jìn)的PBFT共識(shí)機(jī)制

由于PBFT算法在面向知識(shí)產(chǎn)權(quán)保護(hù)的系統(tǒng)應(yīng)用中存在明顯不足,如系統(tǒng)共識(shí)效率隨著節(jié)點(diǎn)數(shù)目的增加而不斷降低和擴(kuò)展性較差等問(wèn)題,本文基于知識(shí)產(chǎn)權(quán)保護(hù)區(qū)塊鏈的應(yīng)用場(chǎng)景,對(duì)傳統(tǒng)的PBFT算法進(jìn)行改進(jìn)。通過(guò)研究POW、POS和DPOS等共識(shí)算法來(lái)分析改進(jìn)PBFT算法的優(yōu)缺點(diǎn),并提出基于信用機(jī)制的CPBFT共識(shí)機(jī)制。PBFT算法的改進(jìn)主要從以下3個(gè)方面進(jìn)行展開(kāi)。

2.4.1 簡(jiǎn)化的一致性協(xié)議

PBFT的一致性協(xié)議中存在主節(jié)點(diǎn)和從節(jié)點(diǎn)2種節(jié)點(diǎn)。一次共識(shí)過(guò)程中主節(jié)點(diǎn)只能隨機(jī)確定一個(gè),負(fù)責(zé)對(duì)一段時(shí)間內(nèi)接收到的消息進(jìn)行驗(yàn)證,通過(guò)驗(yàn)證的交易將被打包進(jìn)新區(qū)塊,隨后新區(qū)塊同步入鏈[18]。但一次完整的一致性協(xié)議需要完成2次復(fù)雜度為O(n2)的通信過(guò)程,復(fù)雜度過(guò)高,且PBFT中所有節(jié)點(diǎn)擔(dān)任主節(jié)點(diǎn)的概率是相等的,而非誠(chéng)實(shí)節(jié)點(diǎn),即偽節(jié)點(diǎn)擔(dān)任主節(jié)點(diǎn)后,將會(huì)增加共識(shí)次數(shù),并降低共識(shí)效率[19]。

為了降低非誠(chéng)實(shí)節(jié)點(diǎn)擔(dān)任主節(jié)點(diǎn)的概率,盡量避免主節(jié)點(diǎn)發(fā)生錯(cuò)誤的可能性,本文提出信用值CV和信用閾值CVT(所有節(jié)點(diǎn)信用值的中位數(shù))的概念。信用值是基于節(jié)點(diǎn)在共識(shí)過(guò)程中的具體行為得到的,通過(guò)信用值累積,多次順利完成區(qū)塊生成的節(jié)點(diǎn)將擁有更高的信用值,信用值越高的節(jié)點(diǎn)發(fā)生錯(cuò)誤的可能性越小,不僅能有效提高共識(shí)效率,還可有效解決PBFT算法本身節(jié)點(diǎn)動(dòng)態(tài)性能較差的問(wèn)題。在簡(jiǎn)化的一致性協(xié)議中,通過(guò)將所有節(jié)點(diǎn)按信用值進(jìn)行排序,在CVT以上的節(jié)點(diǎn)中隨機(jī)選取一個(gè)節(jié)點(diǎn)作為主節(jié)點(diǎn)進(jìn)行共識(shí)。CPBFT算法流程如圖5所示,具體步驟為:

步驟1客戶(hù)端從信用值在CVT以上的節(jié)點(diǎn)中隨機(jī)選取一個(gè)節(jié)點(diǎn)作為主節(jié)點(diǎn),新區(qū)塊由主節(jié)點(diǎn)生成。

步驟2主節(jié)點(diǎn)將客戶(hù)端發(fā)送的交易證書(shū)向全網(wǎng)廣播,如果從節(jié)點(diǎn)認(rèn)可證書(shū)內(nèi)容則向主節(jié)點(diǎn)回復(fù)認(rèn)可信息。

步驟3如果主節(jié)點(diǎn)接收到的認(rèn)可信息條數(shù)大于等于2f(f為宕機(jī)節(jié)點(diǎn)個(gè)數(shù)),則將認(rèn)可信息打包發(fā)送給從節(jié)點(diǎn),從節(jié)點(diǎn)可以驗(yàn)證其他節(jié)點(diǎn)的認(rèn)可信息是否正確,通過(guò)驗(yàn)證后進(jìn)入Commit狀態(tài)。

步驟4如果客戶(hù)端接收到2f+1條Commit信息,則可將新區(qū)塊鏈接到區(qū)塊鏈尾部。

圖5 CPBFT算法流程Fig.5 Procedure of CPBFT algorithm

在成功完成一輪共識(shí)后,將已經(jīng)打包進(jìn)入新區(qū)塊的交易從待確認(rèn)交易列表中移除,并開(kāi)始進(jìn)入下一輪的建塊共識(shí)過(guò)程。在循環(huán)一定的周期后,進(jìn)入檢查點(diǎn)協(xié)議更新節(jié)點(diǎn)信用值,簡(jiǎn)化的一致性協(xié)議不僅簡(jiǎn)化了通信過(guò)程,降低共識(shí)過(guò)程中造成的通信開(kāi)銷(xiāo),還提高了系統(tǒng)效率。

2.4.2 改進(jìn)的檢查點(diǎn)協(xié)議

由于共識(shí)過(guò)程中可能存在個(gè)別節(jié)點(diǎn)因?yàn)樽陨砉收匣蚓W(wǎng)絡(luò)問(wèn)題而落后于其他節(jié)點(diǎn),致使區(qū)塊鏈網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)無(wú)法及時(shí)完成系統(tǒng)中的各項(xiàng)交互任務(wù)。因此,PBFT算法采用一個(gè)周期性的檢查點(diǎn)協(xié)議來(lái)同步整個(gè)系統(tǒng),以防止由于節(jié)點(diǎn)不一致而導(dǎo)致的系統(tǒng)故障[20],但將會(huì)增加網(wǎng)絡(luò)開(kāi)銷(xiāo)。

CPBFT算法在檢查點(diǎn)協(xié)議中擴(kuò)展了動(dòng)態(tài)增刪節(jié)點(diǎn)和節(jié)點(diǎn)信用再分配功能。當(dāng)區(qū)塊鏈中存在節(jié)點(diǎn)的信用值達(dá)到100時(shí),執(zhí)行檢查點(diǎn)協(xié)議,各節(jié)點(diǎn)對(duì)區(qū)塊的請(qǐng)求日志進(jìn)行清除,有效減少節(jié)點(diǎn)存儲(chǔ)壓力和網(wǎng)絡(luò)開(kāi)銷(xiāo)。同時(shí),對(duì)系統(tǒng)中所有節(jié)點(diǎn)重新進(jìn)行隨機(jī)信用值分配,分配范圍為10~30,增加了新節(jié)點(diǎn)擔(dān)任主節(jié)點(diǎn)的概率,實(shí)現(xiàn)動(dòng)態(tài)增刪節(jié)點(diǎn),避免了節(jié)點(diǎn)權(quán)利過(guò)大的問(wèn)題。CPBFT算法通過(guò)結(jié)合簡(jiǎn)化的一致性協(xié)議,能夠大幅減少通信開(kāi)銷(xiāo),提高系統(tǒng)效率。

2.4.3 增加的信用值優(yōu)先協(xié)議

CPBFT算法是基于信用機(jī)制進(jìn)行改進(jìn)的,系統(tǒng)中節(jié)點(diǎn)的信用值通過(guò)節(jié)點(diǎn)行為產(chǎn)生。在成功完成一輪共識(shí)后,對(duì)于故障節(jié)點(diǎn),將信用值減少10,除了主節(jié)點(diǎn)之外,達(dá)成共識(shí)的節(jié)點(diǎn)將信用值增加1,主節(jié)點(diǎn)成功建塊后獲得收益,但信用值不變。多次成功建塊后的節(jié)點(diǎn)將獲得更多的信用分?jǐn)?shù),只有信用值在CVT以上的節(jié)點(diǎn)才能優(yōu)先成為主節(jié)點(diǎn)。

在傳統(tǒng)的PBFT算法中,節(jié)點(diǎn)數(shù)量越多,節(jié)點(diǎn)間的共識(shí)效率越低,節(jié)點(diǎn)發(fā)生故障的可能性越高[21]。由于CPBFT算法中引入了信用值機(jī)制,主節(jié)點(diǎn)的選擇依據(jù)信用值優(yōu)先協(xié)議,信用值越高的節(jié)點(diǎn)發(fā)生錯(cuò)誤的可能性越小。該算法通過(guò)結(jié)合簡(jiǎn)化的一致性協(xié)議,不僅能夠有效避免主節(jié)點(diǎn)錯(cuò)誤的可能性,提高共識(shí)效率,同時(shí)還可有效解決PBFT算法本身節(jié)點(diǎn)動(dòng)態(tài)性能較差的問(wèn)題。

3 本文模型安全性實(shí)驗(yàn)與分析

3.1 安全性分析

傳統(tǒng)的系統(tǒng)架構(gòu)以中心服務(wù)器為核心,將所有數(shù)據(jù)集存儲(chǔ)在一個(gè)中心化的數(shù)據(jù)庫(kù)中,數(shù)據(jù)的安全完全依賴(lài)中心服務(wù)器的安全。如果中心服務(wù)器受到攻擊或出現(xiàn)故障,將會(huì)影響整個(gè)系統(tǒng)的正常運(yùn)行。

本文模型應(yīng)用去中心化的區(qū)塊鏈架構(gòu),確保系統(tǒng)模型即使受到網(wǎng)絡(luò)攻擊或單個(gè)節(jié)點(diǎn)故障時(shí)也能夠正常運(yùn)行。節(jié)點(diǎn)安全性示意圖如圖6所示,如果某個(gè)節(jié)點(diǎn)的區(qū)塊信息被非法篡改,則其他節(jié)點(diǎn)會(huì)在共識(shí)驗(yàn)證過(guò)程中將其判定為偽造節(jié)點(diǎn),篡改的信息由于無(wú)法同步到區(qū)塊鏈網(wǎng)絡(luò)的其他節(jié)點(diǎn)而失效,該機(jī)制有效保障了系統(tǒng)數(shù)據(jù)的安全性和可靠性。

圖6 節(jié)點(diǎn)安全性示意圖Fig.6 Schematic diagram of node security

3.2 性能實(shí)驗(yàn)分析

本文將從通信開(kāi)銷(xiāo)分析、吞吐量分析、可靠性分析和容錯(cuò)性分析4個(gè)方面對(duì)CPBFT算法進(jìn)行仿真實(shí)驗(yàn),并與PBFT算法進(jìn)行性能對(duì)比,以驗(yàn)證CPBFT算法的有效性。實(shí)驗(yàn)在配置為i7-3920XM 2.30 GHz處理器、12 GB內(nèi)存的Linux操作系統(tǒng)下進(jìn)行,通過(guò)搭建虛擬機(jī)模擬多個(gè)區(qū)塊鏈節(jié)點(diǎn)進(jìn)行仿真實(shí)驗(yàn),且算法由Solitidy語(yǔ)言實(shí)現(xiàn)。

3.2.1 通信開(kāi)銷(xiāo)分析

1)PBFT算法的通信開(kāi)銷(xiāo)

在PBFT算法的一致性協(xié)議過(guò)程中,總共需要進(jìn)行3次階段性廣播。假設(shè)全網(wǎng)節(jié)點(diǎn)數(shù)為m,則完成一次一致性協(xié)議需要傳遞的消息次數(shù)T為:

T=2m(m-1)

(1)

若在一致性協(xié)議中主節(jié)點(diǎn)發(fā)生宕機(jī),則PBFT算法進(jìn)入視圖變更階段,并重新選擇新的主節(jié)點(diǎn)。這一階段要求每個(gè)從節(jié)點(diǎn)廣播視圖變更請(qǐng)求,發(fā)生的通信次數(shù)為(m-1)2。新視圖的主節(jié)點(diǎn)再將視圖變更確認(rèn)消息發(fā)送給所有從節(jié)點(diǎn),發(fā)生的通信次數(shù)為(m-1),則系統(tǒng)在概率為μ情況下發(fā)生視圖變更后的通信總次數(shù)S為:

S=2m(m-1)+μm(m-1)

(2)

2)CPBFT算法的通信開(kāi)銷(xiāo)

CPBFT算法簡(jiǎn)化了原一致性協(xié)議過(guò)程中的2次全節(jié)點(diǎn)廣播,縮短了共識(shí)過(guò)程。假設(shè)全網(wǎng)節(jié)點(diǎn)數(shù)為m,則完成一次一致性協(xié)議需要傳遞的消息次數(shù)T為:

T=4(m-1)

(3)

由于CPBFT算法中視圖變更階段與PBFT算法一致,因此系統(tǒng)在概率為μ情況下發(fā)生視圖變更后的通信總次數(shù)S為:

S=4(m-1)+μm(m-1)

(4)

3)通信開(kāi)銷(xiāo)比較

令PBFT算法與CPBFT算法的通信開(kāi)銷(xiāo)之比為γ,則有:

(5)

由式(5)可知:當(dāng)μ=0,即不發(fā)生視圖變更情況時(shí),CPBFT算法的通信次數(shù)是PBFT算法的2/m,由于PBFT算法要求共識(shí)節(jié)點(diǎn)至少為4個(gè),因此CPBFT算法的通信次數(shù)至多是PBFT算法的一半,且隨著區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(diǎn)的增加,CPBFT算法能夠更加有效降低共識(shí)過(guò)程中的通信次數(shù);當(dāng)0<μ≤1,即發(fā)生視圖變更情況時(shí),將μ值視為自變量,m值視為常數(shù),則當(dāng)μ=1時(shí),CPBFT算法的通信次數(shù)是PBFT算法的(4+m)/3m,其值最大為2/3;當(dāng)μ=0.5時(shí),CPBFT算法的通信次數(shù)是PBFT算法的(8+m)/5m,其值最大為3/5。由此可知,μ值越小,CPBFT算法的通信次數(shù)越接近于PBFT算法的一半。由于CPBFT算法是基于信用機(jī)制選取主節(jié)點(diǎn),因此發(fā)生視圖變更狀況的幾率極小。在系統(tǒng)節(jié)點(diǎn)足夠大的情況下,CPBFT算法能夠比PBFT算法更有效地減少系統(tǒng)在共識(shí)過(guò)程中的數(shù)據(jù)傳輸量和通信開(kāi)銷(xiāo),大幅提升共識(shí)效率。

3.2.2 可靠性分析

在CPBFT算法中,隨著節(jié)點(diǎn)信用值的不斷變化,信用值越高的節(jié)點(diǎn)越可靠,所選主節(jié)點(diǎn)的誠(chéng)實(shí)性概率也越高。由增加的信用值優(yōu)先協(xié)議可知,共識(shí)驗(yàn)證中主節(jié)點(diǎn)的隨機(jī)選取服從等概率均勻分布。為了驗(yàn)證信用值機(jī)制能夠有效提高主節(jié)點(diǎn)的誠(chéng)實(shí)性概率,本文選取蒙特卡羅方法進(jìn)行實(shí)驗(yàn)分析。假設(shè)重復(fù)實(shí)驗(yàn)次數(shù)為m,每次實(shí)驗(yàn)的共識(shí)次數(shù)為n,主節(jié)點(diǎn)是誠(chéng)實(shí)節(jié)點(diǎn)的頻數(shù)為f,則在每次重復(fù)實(shí)驗(yàn)中所選主節(jié)點(diǎn)是誠(chéng)實(shí)節(jié)點(diǎn)的頻率P(A)為:

P(A)=f/n

(6)

當(dāng)n足夠大時(shí),P(A)將按照概率收斂于第i次實(shí)驗(yàn)的理論概率P(Ai),則有:

(7)

將所選主節(jié)點(diǎn)是誠(chéng)實(shí)節(jié)點(diǎn)的頻率作為主節(jié)點(diǎn)誠(chéng)實(shí)性概率的近似值,取m次重復(fù)實(shí)驗(yàn)的概率均值作為最后的期望概率,則有:

(8)

通過(guò)對(duì)CPBFT算法進(jìn)行仿真實(shí)驗(yàn)求解期望概率,分析驗(yàn)證該方法的收斂性與效率,主節(jié)點(diǎn)誠(chéng)實(shí)性概率的收斂結(jié)果如圖7所示。從圖7可以看出:當(dāng)共識(shí)次數(shù)n達(dá)到512時(shí),標(biāo)準(zhǔn)差已經(jīng)小于0.010,其波動(dòng)程度顯著減小;當(dāng)共識(shí)次數(shù)n超過(guò)1 000時(shí),該方法已達(dá)到較為理想的收斂結(jié)果;當(dāng)共識(shí)次數(shù)n達(dá)到2 048時(shí),該方法已取得相當(dāng)可信的計(jì)算結(jié)果。顯然,采用該方法衡量信用值機(jī)制對(duì)主節(jié)點(diǎn)誠(chéng)實(shí)性概率的影響較為有效。

圖7 主節(jié)點(diǎn)誠(chéng)實(shí)性概率的收斂結(jié)果Fig.7 Convergence results of honesty probabilityof master node

3.2.3 吞吐量測(cè)試

本文選用5個(gè)節(jié)點(diǎn)進(jìn)行仿真實(shí)驗(yàn),滿(mǎn)足PBFT算法的要求。以交易確認(rèn)速率TPS為衡量模型處理交易效率的評(píng)價(jià)指標(biāo),其為單位時(shí)間內(nèi)能打包進(jìn)區(qū)塊的交易數(shù)量的平均值:

TPS=transactionsΔt/Δt

(9)

其中,transactionsΔt表示出塊時(shí)間內(nèi)系統(tǒng)處理的交易數(shù)量,Δt表示出塊時(shí)間段。

圖8顯示了CPBFT算法的區(qū)塊大小和吞吐量之間的關(guān)系。從圖8可以看出,CPBFT算法的吞吐量隨著區(qū)塊大小的增加而呈現(xiàn)遞增趨勢(shì),當(dāng)單個(gè)區(qū)塊內(nèi)包含的交易數(shù)量在1 000筆左右時(shí)吞吐量趨于平穩(wěn),約為200筆/s。

圖8 CPBFT算法區(qū)塊大小與吞吐量的關(guān)系Fig.8 Relationship between block size and throughputof CPBFT algorithm

將區(qū)塊大小定義為單個(gè)區(qū)塊包含的交易數(shù)量,根據(jù)實(shí)驗(yàn)得到CPBFT算法與PBFT算法的吞吐量對(duì)比結(jié)果,如圖9所示。從圖9可以看出,在相同的系統(tǒng)環(huán)境下,CPBFT算法的吞吐量比PBFT算法高,且隨著交易數(shù)量的增大,吞吐量提升地更加明顯,這說(shuō)明CPBFT算法比PBFT算法更高效地完成了節(jié)點(diǎn)共識(shí)。

圖9 2種算法的吞吐量比較Fig.9 Comparison of throughput of two algorithms

3.2.4 共識(shí)延遲測(cè)試

共識(shí)延遲測(cè)試是比較共識(shí)算法運(yùn)行速度的重要方法,本文通過(guò)比較2種算法在相同環(huán)境下,單個(gè)區(qū)塊包含的交易數(shù)量對(duì)共識(shí)延遲的影響,體現(xiàn)算法性能的優(yōu)劣。實(shí)驗(yàn)控制節(jié)點(diǎn)數(shù)量為4個(gè),總共進(jìn)行50次實(shí)驗(yàn),取平均值得到2種算法的比較結(jié)果,如圖10所示。從圖10可以看出,隨著區(qū)塊大小的遞增,2種算法的總延遲時(shí)間也相應(yīng)增加,但是CPBFT算法的延遲時(shí)間始終小于PBFT算法,且CPBFT算法的總延遲增長(zhǎng)速率較慢,這說(shuō)明CPBFT算法在共識(shí)運(yùn)行速度上比PBFT算法更快,能夠有效減少內(nèi)部通信開(kāi)銷(xiāo),提高共識(shí)效率。

圖10 2種算法的總延遲時(shí)間比較Fig.10 Comparison of total delay time of two algorithms

3.2.5 容錯(cuò)性分析

CPBFT算法容忍錯(cuò)誤節(jié)點(diǎn)的能力和PBFT算法相同,均為f=(n-1)/3。當(dāng)系統(tǒng)內(nèi)的節(jié)點(diǎn)足夠多時(shí),2種算法能容忍的錯(cuò)誤節(jié)點(diǎn)越多,當(dāng)系統(tǒng)中錯(cuò)誤節(jié)點(diǎn)的數(shù)量超過(guò)f最大值后,共識(shí)過(guò)程無(wú)法繼續(xù),系統(tǒng)陷入癱瘓。

由于CPBFT算法基于信用機(jī)制選取主節(jié)點(diǎn),參與共識(shí)的節(jié)點(diǎn)都是具有一定信用保證的節(jié)點(diǎn),因此遭遇偽造節(jié)點(diǎn)攻擊的可能性極小,相較于PBFT算法,其抵制偽造節(jié)點(diǎn)攻擊的防范性更強(qiáng)、更安全。

4 結(jié)束語(yǔ)

本文利用區(qū)塊鏈和智能合約技術(shù),設(shè)計(jì)一種知識(shí)產(chǎn)權(quán)保護(hù)模型。該模型提出一種基于信用的改進(jìn)PBFT共識(shí)機(jī)制,有效提升區(qū)塊鏈節(jié)點(diǎn)間的共識(shí)效率,并借助智能合約實(shí)現(xiàn)自動(dòng)化執(zhí)行的知識(shí)產(chǎn)權(quán)登記和轉(zhuǎn)讓協(xié)議,針對(duì)現(xiàn)階段數(shù)字作品存在的產(chǎn)權(quán)登記困難和交易混亂等問(wèn)題提供有效的解決方案。實(shí)驗(yàn)結(jié)果表明,該模型在知識(shí)產(chǎn)權(quán)管控過(guò)程中具有較高的安全性和運(yùn)行效率。下一步將結(jié)合區(qū)塊鏈技術(shù)、環(huán)簽名技術(shù)等數(shù)字簽名技術(shù)對(duì)本文模型進(jìn)行優(yōu)化,以有效保護(hù)用戶(hù)個(gè)人隱私,降低環(huán)簽名對(duì)共識(shí)效率的影響。

主站蜘蛛池模板: 久草热视频在线| 亚洲男人的天堂网| 成人一级免费视频| 成人福利免费在线观看| 在线观看亚洲人成网站| 亚洲伦理一区二区| 无码在线激情片| 久久精品这里只有国产中文精品 | 国产精品久久自在自线观看| 无码网站免费观看| 喷潮白浆直流在线播放| 精品国产免费第一区二区三区日韩| 亚洲色图在线观看| 欧美日韩激情在线| 国产精品美人久久久久久AV| 2021国产精品自拍| 中文字幕在线看视频一区二区三区| 国产精品久线在线观看| 久久亚洲黄色视频| 天天色综网| 美女视频黄又黄又免费高清| 2022精品国偷自产免费观看| 免费啪啪网址| 2020最新国产精品视频| 国产乱子伦精品视频| 国产高清精品在线91| 免费无码又爽又刺激高| 欧美色视频网站| 国产成人高清在线精品| 欧美成人日韩| 亚洲精品第一在线观看视频| 99精品欧美一区| 国产精品不卡片视频免费观看| 亚洲全网成人资源在线观看| 网久久综合| 一本大道在线一本久道| 呦系列视频一区二区三区| 一区二区三区四区精品视频| 成人在线天堂| 欧美综合中文字幕久久| 亚洲人成成无码网WWW| 日日噜噜夜夜狠狠视频| 国产免费久久精品99re不卡| 亚洲无限乱码一二三四区| 国产一级在线播放| 亚洲无码一区在线观看| 大香伊人久久| 亚洲精品手机在线| 欧美精品导航| 一级看片免费视频| 欧美一级视频免费| 欧美精品黑人粗大| 成人av手机在线观看| 666精品国产精品亚洲| 色窝窝免费一区二区三区| 亚洲国产成人精品一二区| 免费毛片视频| 不卡视频国产| 精品视频一区在线观看| 国产午夜精品一区二区三区软件| 极品国产一区二区三区| 亚洲第一极品精品无码| 成人另类稀缺在线观看| 免费观看男人免费桶女人视频| 国产精品私拍在线爆乳| 欧美成人怡春院在线激情| 五月婷婷综合在线视频| 538国产在线| 日韩欧美国产成人| 天天色天天综合| 成人夜夜嗨| 91精品日韩人妻无码久久| 国产国语一级毛片| 色婷婷视频在线| 波多野结衣一区二区三区四区视频 | 麻豆精品视频在线原创| 免费毛片全部不收费的| 大乳丰满人妻中文字幕日本| 日本人妻丰满熟妇区| 日韩中文精品亚洲第三区| www精品久久| 亚洲av无码专区久久蜜芽|