嚴玉權, 陳中育, 林飛龍, 王曉虎, 馬永進
(浙江師范大學 數(shù)學與計算機科學學院,浙江 金華 321004)
當前,越來越多的國家和地區(qū)將推進數(shù)字化轉型作為傳統(tǒng)產(chǎn)業(yè)改造升級的重要抓手,以生產(chǎn)要素數(shù)據(jù)化為依托,推動制造業(yè)向自動化、數(shù)字化、智能化轉型[1].根據(jù)IDC(互聯(lián)網(wǎng)數(shù)據(jù)中心)的調查結果,全球1 000強企業(yè)中有67%的企業(yè)將數(shù)字化轉型作為核心發(fā)展戰(zhàn)略,這意味著數(shù)字化轉型是現(xiàn)代企業(yè)生存和發(fā)展的必由之路[2].從中國的國情出發(fā),積極推動制造業(yè)轉型升級,通過數(shù)字化轉型來實現(xiàn)產(chǎn)業(yè)的高質量發(fā)展,對我國的經(jīng)濟發(fā)展具有重要意義.然而,如何確保數(shù)據(jù)信息可信與安全存儲,成了工業(yè)數(shù)字網(wǎng)絡的挑戰(zhàn)性問題.
區(qū)塊鏈技術[3]是近年來出現(xiàn)的一種新型去中心化可信網(wǎng)絡技術,通過共識機制、智能合約、分布式冗余賬本技術,構建任意點對點可信交互機制,實現(xiàn)數(shù)據(jù)存儲的安全與可靠.區(qū)塊鏈技術已成為當前各領域的研究熱點.Asiri等[4]通過物聯(lián)網(wǎng)設備和區(qū)塊鏈的結合,利用智能合約對設備的信譽分進行計算,只有信譽分大于臨界值,交易提議才會被接受.這在一定程度上降低了惡意設備帶來的影響.Dedeoglu等[5]為了確保記錄在區(qū)塊鏈的數(shù)據(jù)來自可靠的數(shù)據(jù)源,為基于區(qū)塊鏈的物聯(lián)網(wǎng)應用搭建了一個分層的可信架構.通過對數(shù)據(jù)源的不斷觀察,對數(shù)據(jù)源的可靠性進行評估.Malik等[6]在食品供應鏈場景下提出了一個三層的信任管理框架.通過信譽模型來評估商品的質量及供應鏈參與實體的可信性,以此來確保記錄在區(qū)塊鏈上的數(shù)據(jù)都是可信的.所有交易實體的信譽分都由智能合約完成計算,當交易實體信譽分低于閾值時,便不能參與到交易中來.Yang等[7]提出了一個基于區(qū)塊鏈的信譽系統(tǒng),用于車輛網(wǎng)絡中的數(shù)據(jù)可靠性評估.如果發(fā)送消息的車輛擁有高信譽,那么消息的接收者認為該消息是可靠的并接受此消息.Chen等[8]提出了一種在車聯(lián)網(wǎng)場景下的質量驅動的激勵機制,通過EM算法(expectation-maximization algorithm)評估獲得的數(shù)據(jù)質量,以確保區(qū)塊鏈上和區(qū)塊鏈下的安全數(shù)據(jù)共享.
可見,區(qū)塊鏈技術為進一步強化工業(yè)網(wǎng)絡的安全提供了重要的技術基礎.面向工業(yè)網(wǎng)絡中數(shù)據(jù)的安全和可信需求,筆者將區(qū)塊鏈和工業(yè)制造相結合,提出了一種基于區(qū)塊鏈和信譽機制的工業(yè)網(wǎng)絡可信任務機制.本研究的主要創(chuàng)新和貢獻總結如下:
1)基于區(qū)塊鏈技術構建工業(yè)網(wǎng)絡可信任務機制,利用區(qū)塊鏈智能合約技術將生產(chǎn)任務數(shù)字化,實現(xiàn)任務過程的區(qū)塊鏈存證,保障任務執(zhí)行的透明性與安全性,并且保證了各方權益,減少在傳統(tǒng)方式中存在的爭議;
2)提出了一種用戶信譽評估機制,激勵用戶發(fā)布可信數(shù)據(jù),約束用戶數(shù)據(jù)造假行為,只有通過采取誠實可信的行為,才能維持信譽,以此來過濾惡意用戶,并為信譽機制設計相關智能合約,使得信譽評估過程公開透明;
3)基于Hyperledger Fabric搭建了原型系統(tǒng)(Hyperledger Fabric是一個提供分布式賬本解決方案的平臺,是開源軟件社區(qū)Hyperledger中的區(qū)塊鏈項目之一),在原型系統(tǒng)上進行了大量的實驗,驗證了所提出系統(tǒng)的可用性和有效性.
本文的數(shù)據(jù)來源是工業(yè)生產(chǎn)任務,工業(yè)生產(chǎn)任務就是系統(tǒng)用戶根據(jù)自身需求所發(fā)布的任務信息.在任務執(zhí)行完成之后,產(chǎn)生相應的數(shù)據(jù),即先有生產(chǎn)任務,后有數(shù)據(jù).在現(xiàn)實世界中,確有工業(yè)生產(chǎn)任務需求的用戶可以通過本文設計的基于區(qū)塊鏈技術構建的工業(yè)生產(chǎn)任務系統(tǒng)平臺發(fā)布任務消息.表1定義了文中用到的相關符號的含義.
表1 參數(shù)定義
系統(tǒng)模型圖如圖1所示.由4部分組成:任務發(fā)布者,工作者,區(qū)塊鏈應用客戶端及面向工業(yè)制造的區(qū)塊鏈網(wǎng)絡(記為工業(yè)制造鏈).
任務發(fā)布者:P={p1,p2,…,pi,…,pn}指任務發(fā)布者集合,任務發(fā)布者指有工業(yè)生產(chǎn)需求的系統(tǒng)用戶.任務發(fā)布者通過區(qū)塊鏈應用客戶端,發(fā)布任務消息.
工作者:W={w1,w2,…,wj,…,wm}指工作者集合,工作者指擁有生產(chǎn)技能的系統(tǒng)用戶,工作者通過競爭任務并且完成任務來獲得獎勵.工作者通過區(qū)塊鏈應用客戶端,接收任務發(fā)布者發(fā)布的任務消息.在任務完成之后提交任務結果給系統(tǒng)平臺.
區(qū)塊鏈應用客戶端:任務發(fā)布者和工作者通過區(qū)塊鏈應用客戶端和區(qū)塊鏈網(wǎng)絡進行交互.區(qū)塊鏈應用客戶端可以運行在任務發(fā)布者和工作者的本地終端設備上.
工業(yè)制造鏈:工業(yè)制造鏈由以下組件組成:
1)IPFS:IPFS指星際文件系統(tǒng)[9],是一種分布式文件存儲系統(tǒng).本文IPFS用來存儲工作者的工作記錄,以圖片或視頻的形式將完成的任務記錄下來,以佐證工作者執(zhí)行了任務.
圖1 系統(tǒng)模型圖
2)區(qū)塊鏈網(wǎng)絡:區(qū)塊鏈網(wǎng)絡作為系統(tǒng)的核心組成部分,記錄著任務發(fā)布者發(fā)布的任務信息,以及任務發(fā)布者和工作者的交易記錄.區(qū)塊鏈存儲交易記錄的哈希地址,而原始的數(shù)據(jù)存儲在區(qū)塊鏈之外的IPFS分布文件系統(tǒng)中.
3)智能合約:本質上來說,智能合約是一段可執(zhí)行的程序,通過把業(yè)務邏輯寫入智能合約中,并提前設置好觸發(fā)合約執(zhí)行的條件,當用戶發(fā)起交易調用合約觸發(fā)相應條件時便自動完成業(yè)務邏輯的執(zhí)行.
4)信譽評估:在去中心化的系統(tǒng)中,無法保證交易雙方行為的確定性與可靠性,用戶必須承擔一定的風險.由于難以評估對方是否可靠,因此有可能造成交易失敗,甚至會遭受到一定的經(jīng)濟損失.為了解決這個問題,采用信譽評估方法.信譽評估是一種廣泛采用的方法,通過分析用戶的歷史行為來評估信譽,從而為交易對象的選擇提供一定的依據(jù).高信譽代表用戶在過去有良好的表現(xiàn)行為.本文的信譽評估模型用來評估任務發(fā)布者和工作者的信譽狀態(tài),為篩選惡意用戶提供一定的依據(jù).只有信譽分值不低于閾值的用戶才可以發(fā)布任務消息以及參與任務的執(zhí)行.任務發(fā)布者和工作者可以互相評估信譽.本文提出的信譽評估方法所采用的評估指標在區(qū)塊鏈和IPFS分布式文件系統(tǒng)中都有記錄,數(shù)據(jù)公開透明,任何人不能偽造,因此,本文的信譽評估機制是公平公正的,可以消除惡意評估的影響.
5)礦工:礦工在交易記錄生成之后,負責收集并驗證交易記錄,將交易記錄打包成區(qū)塊,并把區(qū)塊添加到區(qū)塊鏈中.
從任務發(fā)布者發(fā)布一個任務開始,到此次任務被工作者完成,工作者提交生產(chǎn)數(shù)據(jù)到系統(tǒng)平臺,最后任務發(fā)布者支付工作者報酬的過程,稱為一次交易.任務發(fā)布者發(fā)布的任務由一名工作者完成.需要指出的是,用戶都需要在系統(tǒng)中完成注冊,獲得合法身份之后,才可以在系統(tǒng)中進行任務的發(fā)布和任務的執(zhí)行及交易的驗證.
系統(tǒng)中的用戶在向證書頒發(fā)機構(CA)注冊后才能成為合法實體,并且與其在現(xiàn)實世界中的身份相綁定,例如每個用戶的身份證號.本文中,基于區(qū)塊鏈的系統(tǒng)模型是搭建在HyperledgerFabric基礎上的,通過HyperledgerFabric自帶的證書管理工具Fabric-CA提供的成員注冊功能,對系統(tǒng)用戶的身份證書進行管理,例如證書的新增和撤銷.假設系統(tǒng)中有S個用戶,每個用戶s∈{1,2,…,S}在區(qū)塊鏈網(wǎng)絡中獲取它的公私鑰對(PK(s),SK(s)).公鑰用于加密數(shù)據(jù).使用公鑰加密的數(shù)據(jù)只能使用私鑰解密[10].CA使用其私鑰SKCA簽名后,用戶s獲得其身份地址ID(s)和數(shù)字證書DC(s),用以唯一標識用戶和證明用戶身份的真實性.為了實現(xiàn)交易金額的流動,用戶需要得到一個錢包地址WA(s),因此,每個用戶都擁有一個賬戶A(s)={ID(s),PK(s),SK(s),DC(s),WA(s),B(s)},B(s)是用戶的賬戶余額.
1.4.1 對工作者的信譽評估
1)是否按時提交任務結果
任務發(fā)布者發(fā)布的每次任務都有截止時間,因此,根據(jù)工作者是否在截止時間之前提交任務結果,作為一項評估指標.
(1)
式(1)中:Tpi→wj指的是任務發(fā)布者pi對工作者wj在任務結果提交及時性指標上進行評估;Tres為工作者實際提交任務結果的時間;Ttaskdea是提交任務結果的截止時間.
2)是否執(zhí)行任務
(2)
式(2)中:Hpi→wj指任務發(fā)布者pi對工作者wj在是否執(zhí)行任務指標上進行評估.在一次任務結束之后,任務發(fā)布者可以向IPFS文件系統(tǒng)查詢工作者的工作記錄,以此來判定工作者在此次任務中是否執(zhí)行了任務.
3)是否完成任務
(3)
式(3)中:Qpi→wj指任務發(fā)布者pi對工作者wj在是否完成任務指標上進行評估.
結合以上評估指標,可以得到任務發(fā)布者pi對工作者wj在第k次交易中的信譽評估為
(4)
式(4)中:α1,α2,α3是權重參數(shù),且滿足α1+α2+α3=1.
綜上,得到任務發(fā)布者對工作者的信譽分評估為
(5)
式(5)中:Dwj指的是工作者wj累計參與的歷史任務次數(shù).如果工作者wj之前沒有任何參與任務歷史,就默認取信譽分為0.5.否則,將工作者wj歷次參與任務的信譽分加和取平均數(shù),作為此次任務中工作者wj的信譽分.
1.4.2 對任務發(fā)布者的信譽評估
在每一次任務完成之后,任務發(fā)布者需要支付相應的報酬給工作者.因此,可以根據(jù)任務發(fā)布者是否在報酬支付截止時間之前支付報酬,作為一項評估指標,即
(6)
式(6)中:Twj→pi指的是工作者wj對任務發(fā)布者pi在任務報酬支付及時性指標上進行評估;Tpay是任務發(fā)布者提交支付消息即支付報酬的時間;Tpaydea是任務發(fā)布者支付報酬的截止時間.
結合以上評估指標,可以得到工作者wj對任務發(fā)布者pi在第k次交易中的信譽評估,即
(7)
綜上,得到工作者對于任務發(fā)布者的信譽分評估為
(8)
式(8)中:Dpi指的是任務發(fā)布者pi累計發(fā)布的歷史任務次數(shù).如果任務發(fā)布者pi沒有發(fā)布任何任務消息,就默認取信譽分為0.5.否則,將任務發(fā)布者pi在歷次任務中的信譽分加和取平均數(shù),作為此次任務中任務發(fā)布者pi的信譽分.
系統(tǒng)工作流程如圖2所示.
1)任務發(fā)布者pi根據(jù)現(xiàn)實需求,通過區(qū)塊鏈應用客戶端發(fā)布任務消息TaskMsg(pi)到區(qū)塊鏈網(wǎng)絡.任務發(fā)布者pi首先為任務消息內容生成一個摘要SHA256(TaskMsg(pi)),并使用其私鑰對摘要操作生成一段“簽名”Sign(SHA256(TaskMsg(pi)),SK(pi)),并將此簽名附在任務消息后面,通過區(qū)塊鏈應用客戶端一同發(fā)送給區(qū)塊鏈網(wǎng)絡.
圖2 工作流程執(zhí)行時序圖
2)區(qū)塊鏈網(wǎng)絡接收到任務發(fā)布者pi的任務請求消息之后,先根據(jù)CA的公鑰PKCA檢查任務發(fā)布者pi的數(shù)字證書DC(pi)是否過期,然后再通過驗證函數(shù)Verify(SHA256(TaskMsg(pi)),PK(pi))對數(shù)字簽名進行驗證.如果驗證通過,就說明任務請求消息由任務發(fā)布者本人發(fā)出.最后對任務消息進行相同的哈希運算,將得到的結果和用任務發(fā)布者的公鑰PK(pi)解得的摘要進行對比,如果二者一致就說明接收到的消息是完整的、準確的,沒有被篡改.在任務消息通過驗證之后,區(qū)塊鏈網(wǎng)絡向任務發(fā)布者pi發(fā)送任務消息發(fā)布成功的通知,任務發(fā)布者pi向系統(tǒng)指定合約賬戶提交任務押金.隨后區(qū)塊鏈網(wǎng)絡廣播任務消息,工作者可以通過區(qū)塊鏈應用客戶端接收到任務發(fā)布者pi發(fā)布的任務消息.
3)在工作者對任務發(fā)布者pi進行信譽評估之后,決定是否接受此次任務請求,如果工作者wj接受此次任務請求,就可以通過區(qū)塊鏈應用客戶端發(fā)送經(jīng)私鑰SK(wj)簽署過的反饋消息ReplyMsg(wj)給區(qū)塊鏈網(wǎng)絡.
4)區(qū)塊鏈網(wǎng)絡接收到工作者wj的反饋消息之后,同上述步驟類似,對接收到的反饋消息進行驗證,在反饋消息通過驗證之后,區(qū)塊鏈網(wǎng)絡向任務發(fā)布者pi返回反饋消息ReplyMsg(wj),任務發(fā)布者pi可以通過區(qū)塊鏈應用客戶端獲取工作者wj提交的反饋消息.
5)任務發(fā)布者pi對所有接受此次任務請求的工作者進行信譽評估,選擇信譽分最高的工作者作為此次任務的交易對象,將確認消息ConfirmMsg(pi)用私鑰SK(pi)簽署,發(fā)送給區(qū)塊鏈網(wǎng)絡.區(qū)塊鏈網(wǎng)絡在接收到任務發(fā)布者pi發(fā)送的確認消息之后,和之前的消息驗證規(guī)則一樣,對確認消息進行驗證.在確認消息通過驗證之后,區(qū)塊鏈網(wǎng)絡向工作者wf返回確認消息,工作者wf可以通過區(qū)塊鏈應用客戶端獲取任務發(fā)布者提交的確認消息.被任務發(fā)布者選中的工作者wf提交任務押金到系統(tǒng)指定合約賬戶.
6)工作者wf完成了此次任務之后,提交此次任務的結果消息TaskResultMsg(wf).工作者wf同時將此次任務的工作證明(以圖片或視頻的形式)發(fā)送給IPFS分布式文件存儲系統(tǒng).任務發(fā)布者pi將支付消息PaymenyMsg(pi)發(fā)送給區(qū)塊鏈網(wǎng)絡.
共識機制是區(qū)塊鏈最重要的組件之一.共識機制確保了交易的正確性和一致性.然而采用傳統(tǒng)的工作量證明(PoW)共識機制在本文提出的應用背景中是不合適的,因為PoW共識機制需要消耗大量的計算資源,而本文的系統(tǒng)用戶所使用的終端設備是移動設備,不具備如此巨大的計算能力.為了解決這個問題,本文采用PoR共識機制,即基于信譽的共識機制.需要指出的是,處于交易狀態(tài)中的任務發(fā)布者和工作者不能參與到共識過程中來,只有處于非交易狀態(tài)的系統(tǒng)用戶才可以參與到共識過程中.處于非交易狀態(tài)的系統(tǒng)用戶可以根據(jù)信譽分去競爭成為礦工,信譽分越高,成為礦工的概率就越大.圖3是主要的共識流程.
圖3 PoR共識過程示意圖
PoR共識機制的步驟如下:
步驟1:礦工選舉.系統(tǒng)用戶根據(jù)信譽分競爭成為礦工,在所有參與競爭的系統(tǒng)用戶中,擁有最高信譽分的系統(tǒng)用戶被選舉為礦工.礦工負責收集交易記錄并把交易記錄打包進區(qū)塊.
步驟2:高信譽分用戶選舉.在選舉出礦工之后,將其余系統(tǒng)用戶按信譽分從高到低排序,信譽分排在前L%的用戶會被選舉成為高信譽分用戶.
步驟3:生成新區(qū)塊.當?shù)V工收集到足夠多的交易記錄之后,將交易記錄打包生成一個新的區(qū)塊.
步驟4:向新區(qū)塊投票.當?shù)V工收集到足夠多的交易記錄之后,把它們打包進區(qū)塊中并且廣播給區(qū)塊鏈網(wǎng)絡中的系統(tǒng)用戶.高信譽分用戶驗證區(qū)塊中的交易是否正確.在本文提出的工業(yè)區(qū)塊鏈網(wǎng)絡中,當以下條件同時成立時,一筆交易才會被驗證通過:
條件1:交易雙方的消息簽名正確;
條件2:任務發(fā)布者pi提交的支付消息中確認的已完成工作量ConfirmedTaskAmount和工作者wf提交的任務結果消息中已完成的工作量CompleteTaskAmount一致.
步驟5:區(qū)塊被添加到區(qū)塊鏈中.當一個區(qū)塊收到超過2/3的高信譽分用戶的投票之后,此區(qū)塊會被添加到區(qū)塊鏈中.礦工會收到一筆來自系統(tǒng)的虛擬貨幣獎勵,這筆獎勵可以用作任務押金.
本文使用區(qū)塊鏈作為任務系統(tǒng)的底層框架,部署了版本1.4的Fabric區(qū)塊鏈網(wǎng)絡.相關應用程序的開發(fā)需要用到虛擬機,因此,需要安裝VMware虛擬機和Ubuntu系統(tǒng),智能合約的開發(fā)在微軟公司的VisualStudioCode上編寫,Golang作為智能合約的開發(fā)語言.實驗環(huán)境設置如表2所示.
表2 實驗環(huán)境
圖4和圖5對本文提出的信譽評估機制和文獻[11]提出的信譽模型進行了比較.圖4和圖5分別顯示了誠實用戶和惡意用戶信譽值的變化.誠實用戶和惡意用戶的信譽值隨著交易次數(shù)的增加而變化.實驗參數(shù)設置為α1=0.6,α2=0.2,α3=0.2.
從圖4可以看出,誠實用戶的信譽值隨著交易次數(shù)的增加而不斷上升.無論是本文提出的信譽評估機制還是對照組RTRC(reputation-basedincentivegamemodelfortrustworthycrowdsourcingservice)機制,都有同樣的結果.然而,RTRC機制的上升趨勢要比本文提出的信譽評估機制更快.這是因為本文提出的信譽評估機制考慮的信任因素更加全面,可以更好地識別網(wǎng)絡中用戶的惡意行為,RTRC機制對于用戶是否有惡意行為的檢測指標比較單一,導致用戶的信譽值上升較快.
圖5比較了一個惡意用戶在2種信譽評估機制下的信譽值.從圖5可以看出,當用戶有惡意行為時,本文提出的信譽評估機制和RTRC機制的信譽分都有下降的趨勢,但是前者下降得更快,經(jīng)過2到3次交易后,它很快就降到了可信的臨界線以下.而RTRC機制在經(jīng)過25次交易之后,信譽值才降到信譽閾值以下.對比實驗顯示,本文設計的信譽評估機制對識別惡意用戶有更大的優(yōu)勢.
圖4 誠實用戶信譽值變化 圖5 惡意用戶信譽值變化
根據(jù)實驗結果,如果用戶采取誠實可信的行為,此用戶的信譽分就會維持在一個比較高的狀態(tài);如果用戶有惡意行為,此用戶的信譽分就會下降直到降低至信譽閾值以下,被系統(tǒng)淘汰.無論是任務發(fā)布者還是工作者,以此來激勵用戶在任務中選擇誠實可信的行為,發(fā)布可信的數(shù)據(jù)以維持信譽,進而獲得長期效益,同時促進任務的可信性.實驗結果證實本文的信譽機制能有效地激勵用戶選擇發(fā)布可信數(shù)據(jù),也驗證了信譽機制對于促進任務可信是有效的,證明本文的任務機制是可信的.
本文使用tape測試工具(https://github.com/Hyperledger-TWGC/tape)對原型系統(tǒng)進行測試,tape是一個測試HyperledgerFabric性能的輕量級工具.本文在原型系統(tǒng)中部署了發(fā)布任務消息合約、提交任務結果合約和提交支付消息合約,并使用tape工具對智能合約的執(zhí)行時間進行了測試,實驗次數(shù)分別為100,200和300次,測試結果如圖6所示.以執(zhí)行次數(shù)100次為例,調用發(fā)布任務消息合約、提交任務結果合約和提交支付消息合約所耗費的時間分別是1.72,1.85和1.83s.圖7主要考慮以下指標: 1)區(qū)塊封裝的交易數(shù)量,表明原型系統(tǒng)的服務能力;2)區(qū)塊大小,表明存儲原型系統(tǒng)的賬本數(shù)據(jù)存儲資源占用情況.通過設置不同的交易發(fā)送周期來評估不同交易強度下的系統(tǒng)性能,從圖7可以看到,隨著交易發(fā)送周期從300ms增加到600ms,相應地,區(qū)塊封裝交易數(shù)量也隨之降低,區(qū)塊的大小也相應地減小.
圖6 合約執(zhí)行時間消耗 圖7 區(qū)塊封裝的交易數(shù)量和區(qū)塊大小變化
表3對任務發(fā)布者和工作者的相應功能進行了測試.本文在區(qū)塊鏈網(wǎng)絡中部署了完成相應功能的智能合約,并使用tape測試工具對智能合約的功能進行測試,測試指標包括耗費時間和TPS(transactionpersecond,每秒交易數(shù)量,TPS=交易數(shù)量/交易總耗時).TPS是反映系統(tǒng)處理能力的重要性能指標,TPS越高,系統(tǒng)的處理能力越好.在測試中,對智能合約的調用和查詢分別執(zhí)行1 000次.實驗結果根據(jù)四舍五入保留2位小數(shù).實驗結果顯示,在1 000次交易請求的情況下,智能合約的執(zhí)行時間耗時少且系統(tǒng)的每秒交易處理能力高,驗證了系統(tǒng)在處理大量交易請求時的良好性能.
表3 功能測試
為了提高工業(yè)數(shù)字網(wǎng)絡中數(shù)據(jù)的可信性,本文提出了一種基于區(qū)塊鏈和信譽機制的工業(yè)網(wǎng)絡可信任務機制.本文將事務的處理邏輯寫進智能合約,系統(tǒng)用戶通過調用智能合約自動完成相應的事務處理,將最終的任務數(shù)據(jù)寫入?yún)^(qū)塊鏈,實現(xiàn)任務過程的區(qū)塊鏈存證,以確保任務數(shù)據(jù)不被惡意篡改和偽造.為了激勵系統(tǒng)用戶遵守系統(tǒng)規(guī)則,提交可信的數(shù)據(jù),一種具有激勵性質的信譽評估機制被提出,只有誠實的行為才能維持高信譽,而采取不誠實的行為會導致信譽降低,直到被系統(tǒng)淘汰,以此來激勵系統(tǒng)用戶做出誠實的行為,進而提升任務的可信性.實驗結果驗證了信譽機制對于激勵用戶選擇發(fā)布可信數(shù)據(jù)的行為是有效的,驗證了本文的任務機制是可信的.最后,本文基于HyperledgerFabric搭建了原型系統(tǒng),在搭建的原型系統(tǒng)基礎上進行了大量實驗,根據(jù)實驗結果,驗證了系統(tǒng)的可用性.