?

基于區塊鏈和信譽評估的工業網絡可信任務機制

2022-10-28 08:09嚴玉權陳中育林飛龍王曉虎馬永進
關鍵詞:發布者信譽工作者

嚴玉權, 陳中育, 林飛龍, 王曉虎, 馬永進

(浙江師范大學 數學與計算機科學學院,浙江 金華 321004)

0 引 言

當前,越來越多的國家和地區將推進數字化轉型作為傳統產業改造升級的重要抓手,以生產要素數據化為依托,推動制造業向自動化、數字化、智能化轉型[1].根據IDC(互聯網數據中心)的調查結果,全球1 000強企業中有67%的企業將數字化轉型作為核心發展戰略,這意味著數字化轉型是現代企業生存和發展的必由之路[2].從中國的國情出發,積極推動制造業轉型升級,通過數字化轉型來實現產業的高質量發展,對我國的經濟發展具有重要意義.然而,如何確保數據信息可信與安全存儲,成了工業數字網絡的挑戰性問題.

區塊鏈技術[3]是近年來出現的一種新型去中心化可信網絡技術,通過共識機制、智能合約、分布式冗余賬本技術,構建任意點對點可信交互機制,實現數據存儲的安全與可靠.區塊鏈技術已成為當前各領域的研究熱點.Asiri等[4]通過物聯網設備和區塊鏈的結合,利用智能合約對設備的信譽分進行計算,只有信譽分大于臨界值,交易提議才會被接受.這在一定程度上降低了惡意設備帶來的影響.Dedeoglu等[5]為了確保記錄在區塊鏈的數據來自可靠的數據源,為基于區塊鏈的物聯網應用搭建了一個分層的可信架構.通過對數據源的不斷觀察,對數據源的可靠性進行評估.Malik等[6]在食品供應鏈場景下提出了一個三層的信任管理框架.通過信譽模型來評估商品的質量及供應鏈參與實體的可信性,以此來確保記錄在區塊鏈上的數據都是可信的.所有交易實體的信譽分都由智能合約完成計算,當交易實體信譽分低于閾值時,便不能參與到交易中來.Yang等[7]提出了一個基于區塊鏈的信譽系統,用于車輛網絡中的數據可靠性評估.如果發送消息的車輛擁有高信譽,那么消息的接收者認為該消息是可靠的并接受此消息.Chen等[8]提出了一種在車聯網場景下的質量驅動的激勵機制,通過EM算法(expectation-maximization algorithm)評估獲得的數據質量,以確保區塊鏈上和區塊鏈下的安全數據共享.

可見,區塊鏈技術為進一步強化工業網絡的安全提供了重要的技術基礎.面向工業網絡中數據的安全和可信需求,筆者將區塊鏈和工業制造相結合,提出了一種基于區塊鏈和信譽機制的工業網絡可信任務機制.本研究的主要創新和貢獻總結如下:

1)基于區塊鏈技術構建工業網絡可信任務機制,利用區塊鏈智能合約技術將生產任務數字化,實現任務過程的區塊鏈存證,保障任務執行的透明性與安全性,并且保證了各方權益,減少在傳統方式中存在的爭議;

2)提出了一種用戶信譽評估機制,激勵用戶發布可信數據,約束用戶數據造假行為,只有通過采取誠實可信的行為,才能維持信譽,以此來過濾惡意用戶,并為信譽機制設計相關智能合約,使得信譽評估過程公開透明;

3)基于Hyperledger Fabric搭建了原型系統(Hyperledger Fabric是一個提供分布式賬本解決方案的平臺,是開源軟件社區Hyperledger中的區塊鏈項目之一),在原型系統上進行了大量的實驗,驗證了所提出系統的可用性和有效性.

1 系統定義

1.1 應用場景

本文的數據來源是工業生產任務,工業生產任務就是系統用戶根據自身需求所發布的任務信息.在任務執行完成之后,產生相應的數據,即先有生產任務,后有數據.在現實世界中,確有工業生產任務需求的用戶可以通過本文設計的基于區塊鏈技術構建的工業生產任務系統平臺發布任務消息.表1定義了文中用到的相關符號的含義.

表1 參數定義

1.2 系統模型

系統模型圖如圖1所示.由4部分組成:任務發布者,工作者,區塊鏈應用客戶端及面向工業制造的區塊鏈網絡(記為工業制造鏈).

任務發布者:P={p1,p2,…,pi,…,pn}指任務發布者集合,任務發布者指有工業生產需求的系統用戶.任務發布者通過區塊鏈應用客戶端,發布任務消息.

工作者:W={w1,w2,…,wj,…,wm}指工作者集合,工作者指擁有生產技能的系統用戶,工作者通過競爭任務并且完成任務來獲得獎勵.工作者通過區塊鏈應用客戶端,接收任務發布者發布的任務消息.在任務完成之后提交任務結果給系統平臺.

區塊鏈應用客戶端:任務發布者和工作者通過區塊鏈應用客戶端和區塊鏈網絡進行交互.區塊鏈應用客戶端可以運行在任務發布者和工作者的本地終端設備上.

工業制造鏈:工業制造鏈由以下組件組成:

1)IPFS:IPFS指星際文件系統[9],是一種分布式文件存儲系統.本文IPFS用來存儲工作者的工作記錄,以圖片或視頻的形式將完成的任務記錄下來,以佐證工作者執行了任務.

圖1 系統模型圖

2)區塊鏈網絡:區塊鏈網絡作為系統的核心組成部分,記錄著任務發布者發布的任務信息,以及任務發布者和工作者的交易記錄.區塊鏈存儲交易記錄的哈希地址,而原始的數據存儲在區塊鏈之外的IPFS分布文件系統中.

3)智能合約:本質上來說,智能合約是一段可執行的程序,通過把業務邏輯寫入智能合約中,并提前設置好觸發合約執行的條件,當用戶發起交易調用合約觸發相應條件時便自動完成業務邏輯的執行.

4)信譽評估:在去中心化的系統中,無法保證交易雙方行為的確定性與可靠性,用戶必須承擔一定的風險.由于難以評估對方是否可靠,因此有可能造成交易失敗,甚至會遭受到一定的經濟損失.為了解決這個問題,采用信譽評估方法.信譽評估是一種廣泛采用的方法,通過分析用戶的歷史行為來評估信譽,從而為交易對象的選擇提供一定的依據.高信譽代表用戶在過去有良好的表現行為.本文的信譽評估模型用來評估任務發布者和工作者的信譽狀態,為篩選惡意用戶提供一定的依據.只有信譽分值不低于閾值的用戶才可以發布任務消息以及參與任務的執行.任務發布者和工作者可以互相評估信譽.本文提出的信譽評估方法所采用的評估指標在區塊鏈和IPFS分布式文件系統中都有記錄,數據公開透明,任何人不能偽造,因此,本文的信譽評估機制是公平公正的,可以消除惡意評估的影響.

5)礦工:礦工在交易記錄生成之后,負責收集并驗證交易記錄,將交易記錄打包成區塊,并把區塊添加到區塊鏈中.

從任務發布者發布一個任務開始,到此次任務被工作者完成,工作者提交生產數據到系統平臺,最后任務發布者支付工作者報酬的過程,稱為一次交易.任務發布者發布的任務由一名工作者完成.需要指出的是,用戶都需要在系統中完成注冊,獲得合法身份之后,才可以在系統中進行任務的發布和任務的執行及交易的驗證.

1.3 系統初始化

系統中的用戶在向證書頒發機構(CA)注冊后才能成為合法實體,并且與其在現實世界中的身份相綁定,例如每個用戶的身份證號.本文中,基于區塊鏈的系統模型是搭建在HyperledgerFabric基礎上的,通過HyperledgerFabric自帶的證書管理工具Fabric-CA提供的成員注冊功能,對系統用戶的身份證書進行管理,例如證書的新增和撤銷.假設系統中有S個用戶,每個用戶s∈{1,2,…,S}在區塊鏈網絡中獲取它的公私鑰對(PK(s),SK(s)).公鑰用于加密數據.使用公鑰加密的數據只能使用私鑰解密[10].CA使用其私鑰SKCA簽名后,用戶s獲得其身份地址ID(s)和數字證書DC(s),用以唯一標識用戶和證明用戶身份的真實性.為了實現交易金額的流動,用戶需要得到一個錢包地址WA(s),因此,每個用戶都擁有一個賬戶A(s)={ID(s),PK(s),SK(s),DC(s),WA(s),B(s)},B(s)是用戶的賬戶余額.

1.4 信譽評估模型

1.4.1 對工作者的信譽評估

1)是否按時提交任務結果

任務發布者發布的每次任務都有截止時間,因此,根據工作者是否在截止時間之前提交任務結果,作為一項評估指標.

(1)

式(1)中:Tpi→wj指的是任務發布者pi對工作者wj在任務結果提交及時性指標上進行評估;Tres為工作者實際提交任務結果的時間;Ttaskdea是提交任務結果的截止時間.

2)是否執行任務

(2)

式(2)中:Hpi→wj指任務發布者pi對工作者wj在是否執行任務指標上進行評估.在一次任務結束之后,任務發布者可以向IPFS文件系統查詢工作者的工作記錄,以此來判定工作者在此次任務中是否執行了任務.

3)是否完成任務

(3)

式(3)中:Qpi→wj指任務發布者pi對工作者wj在是否完成任務指標上進行評估.

結合以上評估指標,可以得到任務發布者pi對工作者wj在第k次交易中的信譽評估為

(4)

式(4)中:α1,α2,α3是權重參數,且滿足α1+α2+α3=1.

綜上,得到任務發布者對工作者的信譽分評估為

(5)

式(5)中:Dwj指的是工作者wj累計參與的歷史任務次數.如果工作者wj之前沒有任何參與任務歷史,就默認取信譽分為0.5.否則,將工作者wj歷次參與任務的信譽分加和取平均數,作為此次任務中工作者wj的信譽分.

1.4.2 對任務發布者的信譽評估

在每一次任務完成之后,任務發布者需要支付相應的報酬給工作者.因此,可以根據任務發布者是否在報酬支付截止時間之前支付報酬,作為一項評估指標,即

(6)

式(6)中:Twj→pi指的是工作者wj對任務發布者pi在任務報酬支付及時性指標上進行評估;Tpay是任務發布者提交支付消息即支付報酬的時間;Tpaydea是任務發布者支付報酬的截止時間.

結合以上評估指標,可以得到工作者wj對任務發布者pi在第k次交易中的信譽評估,即

(7)

綜上,得到工作者對于任務發布者的信譽分評估為

(8)

式(8)中:Dpi指的是任務發布者pi累計發布的歷史任務次數.如果任務發布者pi沒有發布任何任務消息,就默認取信譽分為0.5.否則,將任務發布者pi在歷次任務中的信譽分加和取平均數,作為此次任務中任務發布者pi的信譽分.

1.5 工作流程

系統工作流程如圖2所示.

1)任務發布者pi根據現實需求,通過區塊鏈應用客戶端發布任務消息TaskMsg(pi)到區塊鏈網絡.任務發布者pi首先為任務消息內容生成一個摘要SHA256(TaskMsg(pi)),并使用其私鑰對摘要操作生成一段“簽名”Sign(SHA256(TaskMsg(pi)),SK(pi)),并將此簽名附在任務消息后面,通過區塊鏈應用客戶端一同發送給區塊鏈網絡.

圖2 工作流程執行時序圖

2)區塊鏈網絡接收到任務發布者pi的任務請求消息之后,先根據CA的公鑰PKCA檢查任務發布者pi的數字證書DC(pi)是否過期,然后再通過驗證函數Verify(SHA256(TaskMsg(pi)),PK(pi))對數字簽名進行驗證.如果驗證通過,就說明任務請求消息由任務發布者本人發出.最后對任務消息進行相同的哈希運算,將得到的結果和用任務發布者的公鑰PK(pi)解得的摘要進行對比,如果二者一致就說明接收到的消息是完整的、準確的,沒有被篡改.在任務消息通過驗證之后,區塊鏈網絡向任務發布者pi發送任務消息發布成功的通知,任務發布者pi向系統指定合約賬戶提交任務押金.隨后區塊鏈網絡廣播任務消息,工作者可以通過區塊鏈應用客戶端接收到任務發布者pi發布的任務消息.

3)在工作者對任務發布者pi進行信譽評估之后,決定是否接受此次任務請求,如果工作者wj接受此次任務請求,就可以通過區塊鏈應用客戶端發送經私鑰SK(wj)簽署過的反饋消息ReplyMsg(wj)給區塊鏈網絡.

4)區塊鏈網絡接收到工作者wj的反饋消息之后,同上述步驟類似,對接收到的反饋消息進行驗證,在反饋消息通過驗證之后,區塊鏈網絡向任務發布者pi返回反饋消息ReplyMsg(wj),任務發布者pi可以通過區塊鏈應用客戶端獲取工作者wj提交的反饋消息.

5)任務發布者pi對所有接受此次任務請求的工作者進行信譽評估,選擇信譽分最高的工作者作為此次任務的交易對象,將確認消息ConfirmMsg(pi)用私鑰SK(pi)簽署,發送給區塊鏈網絡.區塊鏈網絡在接收到任務發布者pi發送的確認消息之后,和之前的消息驗證規則一樣,對確認消息進行驗證.在確認消息通過驗證之后,區塊鏈網絡向工作者wf返回確認消息,工作者wf可以通過區塊鏈應用客戶端獲取任務發布者提交的確認消息.被任務發布者選中的工作者wf提交任務押金到系統指定合約賬戶.

6)工作者wf完成了此次任務之后,提交此次任務的結果消息TaskResultMsg(wf).工作者wf同時將此次任務的工作證明(以圖片或視頻的形式)發送給IPFS分布式文件存儲系統.任務發布者pi將支付消息PaymenyMsg(pi)發送給區塊鏈網絡.

1.6 PoR(proof-of-reputation)共識機制

共識機制是區塊鏈最重要的組件之一.共識機制確保了交易的正確性和一致性.然而采用傳統的工作量證明(PoW)共識機制在本文提出的應用背景中是不合適的,因為PoW共識機制需要消耗大量的計算資源,而本文的系統用戶所使用的終端設備是移動設備,不具備如此巨大的計算能力.為了解決這個問題,本文采用PoR共識機制,即基于信譽的共識機制.需要指出的是,處于交易狀態中的任務發布者和工作者不能參與到共識過程中來,只有處于非交易狀態的系統用戶才可以參與到共識過程中.處于非交易狀態的系統用戶可以根據信譽分去競爭成為礦工,信譽分越高,成為礦工的概率就越大.圖3是主要的共識流程.

圖3 PoR共識過程示意圖

PoR共識機制的步驟如下:

步驟1:礦工選舉.系統用戶根據信譽分競爭成為礦工,在所有參與競爭的系統用戶中,擁有最高信譽分的系統用戶被選舉為礦工.礦工負責收集交易記錄并把交易記錄打包進區塊.

步驟2:高信譽分用戶選舉.在選舉出礦工之后,將其余系統用戶按信譽分從高到低排序,信譽分排在前L%的用戶會被選舉成為高信譽分用戶.

步驟3:生成新區塊.當礦工收集到足夠多的交易記錄之后,將交易記錄打包生成一個新的區塊.

步驟4:向新區塊投票.當礦工收集到足夠多的交易記錄之后,把它們打包進區塊中并且廣播給區塊鏈網絡中的系統用戶.高信譽分用戶驗證區塊中的交易是否正確.在本文提出的工業區塊鏈網絡中,當以下條件同時成立時,一筆交易才會被驗證通過:

條件1:交易雙方的消息簽名正確;

條件2:任務發布者pi提交的支付消息中確認的已完成工作量ConfirmedTaskAmount和工作者wf提交的任務結果消息中已完成的工作量CompleteTaskAmount一致.

步驟5:區塊被添加到區塊鏈中.當一個區塊收到超過2/3的高信譽分用戶的投票之后,此區塊會被添加到區塊鏈中.礦工會收到一筆來自系統的虛擬貨幣獎勵,這筆獎勵可以用作任務押金.

2 仿真驗證與分析

2.1 仿真實驗設置

本文使用區塊鏈作為任務系統的底層框架,部署了版本1.4的Fabric區塊鏈網絡.相關應用程序的開發需要用到虛擬機,因此,需要安裝VMware虛擬機和Ubuntu系統,智能合約的開發在微軟公司的VisualStudioCode上編寫,Golang作為智能合約的開發語言.實驗環境設置如表2所示.

表2 實驗環境

2.2 實驗結果分析

圖4和圖5對本文提出的信譽評估機制和文獻[11]提出的信譽模型進行了比較.圖4和圖5分別顯示了誠實用戶和惡意用戶信譽值的變化.誠實用戶和惡意用戶的信譽值隨著交易次數的增加而變化.實驗參數設置為α1=0.6,α2=0.2,α3=0.2.

從圖4可以看出,誠實用戶的信譽值隨著交易次數的增加而不斷上升.無論是本文提出的信譽評估機制還是對照組RTRC(reputation-basedincentivegamemodelfortrustworthycrowdsourcingservice)機制,都有同樣的結果.然而,RTRC機制的上升趨勢要比本文提出的信譽評估機制更快.這是因為本文提出的信譽評估機制考慮的信任因素更加全面,可以更好地識別網絡中用戶的惡意行為,RTRC機制對于用戶是否有惡意行為的檢測指標比較單一,導致用戶的信譽值上升較快.

圖5比較了一個惡意用戶在2種信譽評估機制下的信譽值.從圖5可以看出,當用戶有惡意行為時,本文提出的信譽評估機制和RTRC機制的信譽分都有下降的趨勢,但是前者下降得更快,經過2到3次交易后,它很快就降到了可信的臨界線以下.而RTRC機制在經過25次交易之后,信譽值才降到信譽閾值以下.對比實驗顯示,本文設計的信譽評估機制對識別惡意用戶有更大的優勢.

圖4 誠實用戶信譽值變化 圖5 惡意用戶信譽值變化

根據實驗結果,如果用戶采取誠實可信的行為,此用戶的信譽分就會維持在一個比較高的狀態;如果用戶有惡意行為,此用戶的信譽分就會下降直到降低至信譽閾值以下,被系統淘汰.無論是任務發布者還是工作者,以此來激勵用戶在任務中選擇誠實可信的行為,發布可信的數據以維持信譽,進而獲得長期效益,同時促進任務的可信性.實驗結果證實本文的信譽機制能有效地激勵用戶選擇發布可信數據,也驗證了信譽機制對于促進任務可信是有效的,證明本文的任務機制是可信的.

本文使用tape測試工具(https://github.com/Hyperledger-TWGC/tape)對原型系統進行測試,tape是一個測試HyperledgerFabric性能的輕量級工具.本文在原型系統中部署了發布任務消息合約、提交任務結果合約和提交支付消息合約,并使用tape工具對智能合約的執行時間進行了測試,實驗次數分別為100,200和300次,測試結果如圖6所示.以執行次數100次為例,調用發布任務消息合約、提交任務結果合約和提交支付消息合約所耗費的時間分別是1.72,1.85和1.83s.圖7主要考慮以下指標: 1)區塊封裝的交易數量,表明原型系統的服務能力;2)區塊大小,表明存儲原型系統的賬本數據存儲資源占用情況.通過設置不同的交易發送周期來評估不同交易強度下的系統性能,從圖7可以看到,隨著交易發送周期從300ms增加到600ms,相應地,區塊封裝交易數量也隨之降低,區塊的大小也相應地減小.

圖6 合約執行時間消耗 圖7 區塊封裝的交易數量和區塊大小變化

表3對任務發布者和工作者的相應功能進行了測試.本文在區塊鏈網絡中部署了完成相應功能的智能合約,并使用tape測試工具對智能合約的功能進行測試,測試指標包括耗費時間和TPS(transactionpersecond,每秒交易數量,TPS=交易數量/交易總耗時).TPS是反映系統處理能力的重要性能指標,TPS越高,系統的處理能力越好.在測試中,對智能合約的調用和查詢分別執行1 000次.實驗結果根據四舍五入保留2位小數.實驗結果顯示,在1 000次交易請求的情況下,智能合約的執行時間耗時少且系統的每秒交易處理能力高,驗證了系統在處理大量交易請求時的良好性能.

表3 功能測試

3 結 論

為了提高工業數字網絡中數據的可信性,本文提出了一種基于區塊鏈和信譽機制的工業網絡可信任務機制.本文將事務的處理邏輯寫進智能合約,系統用戶通過調用智能合約自動完成相應的事務處理,將最終的任務數據寫入區塊鏈,實現任務過程的區塊鏈存證,以確保任務數據不被惡意篡改和偽造.為了激勵系統用戶遵守系統規則,提交可信的數據,一種具有激勵性質的信譽評估機制被提出,只有誠實的行為才能維持高信譽,而采取不誠實的行為會導致信譽降低,直到被系統淘汰,以此來激勵系統用戶做出誠實的行為,進而提升任務的可信性.實驗結果驗證了信譽機制對于激勵用戶選擇發布可信數據的行為是有效的,驗證了本文的任務機制是可信的.最后,本文基于HyperledgerFabric搭建了原型系統,在搭建的原型系統基礎上進行了大量實驗,根據實驗結果,驗證了系統的可用性.

猜你喜歡
發布者信譽工作者
以質量求發展 以信譽贏市場
基于單片機MCU的IPMI健康管理系統設計與實現
關愛工作者之歌
致敬科技工作者
我們
——致敬殯葬工作者
新加坡新法規引爭議
信譽如“金”
普法工作者的“生意經”
軟件眾包任務發布優先級計算方法
基于博弈論的社交網絡轉發控制機制
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合