?

農產品溯源區塊鏈的源頭數據驗證機制研究

2024-03-19 11:47趙龍海趙金輝
關鍵詞:信譽賦權共識

趙龍海,趙金輝,鄒 惠

(1.河北地質大學信息工程學院,石家莊 050031;2.河北地質大學網絡信息安全實驗室,石家莊 050031)

0 引言

近年來,區塊鏈技術[1-2]憑借其去中心化、數據不可篡改、信息可追溯和賬本式存儲等特點,在物流信息管理、食品安全信息溯源等領域得到廣泛應用。區塊鏈存儲數據具有的高度可信賴性是以所存儲數據的有效性為前提的,否則即使區塊鏈可保證數據無法篡改也沒有意義[3],因此迫切需要一個溯源系統源頭數據驗證機制來保證上鏈前數據的有效性。就農產品溯源系統而言,上鏈前數據有效性的問題,一方面來自物聯網信息采集設備的數據存在格式不一致、錯誤、篡改的情況,另一方面來自客戶反饋評價的數據存在虛假、惡意評價的情況。

目前關于區塊鏈源頭數據的驗證機制已經有些探討。謝細全等[4]提出從共識機制、數據加密、智能合約、信用激勵等技術措施和法律法規、政府管理等制度方面保證聯盟區塊鏈源頭數據的真實性。王鵬飛[5]提出一種類似國際標準化方式來建立信譽環境生態,首先聯合政府部門,以法律法規和行業標準做抓手,再配合Token獎勵機制——獎勵提供真實信息、處罰提供錯誤信息,保證源頭數據的真實性。以上研究僅對源頭數據驗證方式進行了理論構想,而沒有詳細的機制設計與實驗研究,遠達不到實際應用的水平。Jonathan等[6]提出可信賴預處理機制,利用零知識證明和可信賴執行環境處理傳感器數據,解決了基于區塊鏈的物聯網系統中傳感器數據的完整性問題,局限性在于僅涉及物聯網中傳感器數據的矯正,并沒有全面的源頭數據驗證機制。Wang等[7]提出了多維原產地證書數據追溯框架,該框架結合政府權威建立懲罰機制來過濾上區塊鏈前的虛假數據,由政府簽發和審核出口產品的原產地證書,在一定程度上保證了源頭數據的真實性。陳沛然[8]設計了鏈上鏈下數據協同模型,并通過構建新的區塊結構提出了新型數據加密方案,在鏈上鏈下數據協同一致的同時實現用戶數據的隱私安全。以上2類研究的局限性在于缺少銷售環節數據的驗證研究。

在現有研究基礎的基礎上,提出針對農產品溯源系統的區塊鏈源頭驗證機制,將算法以智能合約的形式自動處理節點上傳的數據。對于來自溯源系統傳感器的數據,采用多維數據交叉驗證算法(multidimensional information cross-verification,MICV)和多源數據匹配計算算法(multisource data matching calculation,MDMC)過濾錯誤與虛假數據,保證有效性;對于來自交易的客戶評價數據,設計基于云模型[9]與復雜動態賦權的客戶評價評估算法剔除虛假數據并給出客觀評價數據[10]。根據以上的驗證結果給出節點的信譽評分,設計了基于信譽的共識機制(credit-proof of stake,CPOS),惡意行為越多的節點越難得到記賬權,解決了POS共識機制[11]的不公平記賬問題,并在一定程度上遏制節點的作弊行為,較為全面地解決溯源系統不同環節的源頭數據真實性問題。

1 研究基礎

1.1 區塊鏈

區塊鏈是指使用密碼學技術在點對點網絡中構建價值傳輸網絡的分布式數據庫技術,每個區塊串聯成鏈后作為賬本記錄分布式系統中的全部數據。其主要關鍵技術[12]有對等網絡、分布式賬本、非對稱加密算法、智能合約、共識機制[13]等新型應用范式。

區塊鏈具有的去中心化、防篡改、可加密、可追溯的特征可完美匹配農產品溯源鏈的性能需求[14]。對等網絡(P2P)中每個節點都是服務器,任意節點間可進行數據傳輸,實現農產品供應鏈數據管理的去中心化,弱化核心企業主導權,增加參與主體間數據交互,解決數據孤島問題;分布式賬本是系統中多個節點通過共識機制來共同維護的一種賬本,可使農產品供應鏈各節點共治、共享交易數據,防止供應鏈某環節數據的篡改和壟斷,提高各環節數據安全性,實現供應鏈各參與主體的自我管理與相互監督,進一步去中心化,降低管理成本;非對稱加密技術是擁有公私2套密鑰的高性能加密算法,可大大提高農產品供應鏈數據流通的安全性;時間戳技術是一種可驗證并唯一的時間標識數據,數據區塊以此為依據排序成鏈,極大提高數據篡改難度,天然契合供應鏈的數據溯源要求,可實現精準追責,防止商家無所顧忌提供劣質商品,實現農產品供應鏈良好的運行環境。

智能合約[15]最早由密碼學家Nick Szabo提出,是一種使用編程語言編寫并自動運行的計算機程序,由參與主體編寫簽署后部署于區塊鏈網絡中。智能合約作為區塊鏈去中心化的關鍵技術,可使合約在無第三方監督的情況下被動執行,并且確保執行的有效性和不可逆性,相對于傳統合約,使用便捷、維護成本低、擴展性強,顯著提高了基于區塊鏈項目的運行效率。在所提源頭數據驗證機制中,針對農產品供應鏈中不同環節多源異構數據,將相應的數據驗證算法編寫為智能合約部署在區塊鏈中,通過智能合約自動對上傳數據進行格式矯正、正確數據估算、有效性判斷、數據庫存儲,其中有效性判斷作為CPOS共識機制的信譽評分依據,抑制節點提供虛假數據,達到保證源頭數據真實性的效果。

共識機制是一種分布式系統中各節點達成共識的算法,用于解決去中心化組織一致性問題,是實現分布式賬本的關鍵技術。在基于區塊鏈的農產品供應鏈中,共識機制可消除參與主體之間信譽危機和信息壁壘,促進公平有效的長期合作。典型共識機制[16]有PBFT、POW、POS等。PBFT拜占庭容錯算法通過多階段共識實現系統的高容錯率,特點是通信復雜度高、共識效率低,適用于小型區塊鏈系統;POW 工作量證明機制使各節點通過高強度算例競爭記賬權,該機制易于達成共識,防篡改性強,但計算資源浪費嚴重且效率低下;POS權益證明機制依據各節點所持幣的數量和幣齡計算權益、分配記賬權,解決POW 資源浪費嚴重的問題,但存在權益分配不均、不公平競爭的問題??紤]到研究采用聯盟鏈設計農產品溯源系統,在去中心化程度高、可擴展性強的POS共識機制基礎上提出了一種基于信譽評分的CPOS共識機制,既解決了POS的不公平競爭問題,又抑制了各節點數據造假的惡意行為。

1.2 云模型

1995年,李德毅針對隸屬函數提出“隸屬云”[17]的思想,設計了數據模型和數字特征表示形式。目前,云模型已廣泛應用于人工智能、趨勢預測、數據挖掘、安全分析等領域。云模型使用期望、熵和超熵3個數據特征描述定性概念。其中,期望Ex表示云滴在論域分布的期望值,是最能體現定性概念的點;熵En是定性概念的模糊度度量,反映云滴的離散程度與云的寬度;超熵He是熵的熵,反映熵的不確定性與云的厚度。

云模型是處理定性概念與定量描述的不確定性轉換模型,反映了知識表達中模糊性與隨機性之間的關聯性。利用這一特性,提出的基于云模型和復雜動態賦權算法評估方法將大量的定量的評價數據轉化為多個定性的概念來表示,再利用云模型相關理論[18]對這些定性概念進行表示和處理并給出合格的評價數據,解決了現有評價方法的主觀隨意、缺乏客觀性等問題。

2 源頭數據驗證機制架構設計

2.1 基于區塊鏈的農產品溯源模型設計

選用聯盟區塊鏈,針對農產品供應鏈[19]中數據多源異構且十分復雜,用戶節點在數據上傳時存在弄虛作假導致區塊鏈上鏈前的源頭數據不真實的問題,設計了具有源頭數據驗證機制的農產品溯源模型,如圖1所示。農產品供應鏈包含多個環節,各個環節需上傳大量各個類型數據,隨著業務量的增加必然導致區塊鏈系統存儲和運行性能下降的問題。對此,采用“鏈上+云數據庫”[20]的數據存儲模式,首先將數量巨大的詳細業務數據存儲至云數據庫,再通過哈希算法獲取詳細業務數據的哈希值并上傳區塊鏈系統中,大大降低系統的存儲壓力,保證運行效率與維護成本。溯源模型分為供應鏈系統和區塊鏈系統。

圖1 農產品溯源模型

供應鏈[21]由生產、加工、倉儲、物流和銷售等環節組成。生產環節參與主體主要是合作社和農場,節點需上傳農產品種植數據和產品信息;加工環節參與主體一般為食品廠,節點需上傳產品類型、加工流程、生產時間等數據;倉儲環節需記錄并上傳倉儲庫信息,如庫房位置、存儲時間等數據;物流環節參與主體主要是物流公司,需上傳農產品的運輸路線、運輸方式等信息;銷售環節參與主體是眾多分銷商,上傳的數據包括銷售時間、銷售地點和客戶反饋評價等。隨著科技的發展,供應鏈的物聯網數據逐漸由傳感器、無線電自動識別器等電子設備采集,因此設計的生產環節、加工環節、倉儲環節、物流環節全部假定為電子設備采集數據。

區塊鏈系統[22]的架構分為數據層、網絡層、共識層、合約層和應用層。數據層的核心包含哈希算法、非對稱加密、鏈式結構、Merkle樹和鏈下數據庫,設計在數據層采用“鏈上+云數據庫”的數據存儲模式。溯源數據經智能合約處理后上傳數據層,數據層先將完整的農產品溯源數據進行哈希計算,得到長度固定的數據摘要信息后再上鏈存儲,并把詳細的農產品溯源數據存儲到云數據庫中,節省大量農產品溯源數據上鏈存儲的空間,提升溯源數據存儲訪問的速度。共識層建立基于信譽的CPOS共識機制,依據各節點的信譽評分分配記賬權,對農產品供應鏈中各環節的溯源數據在完成哈希計算后得到溯源數據的摘要信息,針對溯源數據的有效性達成共識。合約層封裝了建立的食品供應鏈上各節點執行的合約腳本代碼,包括多維數據交叉驗證算法(MICV)、多源數據匹配計算算法(MDMC)以及基于云模型與復雜動態賦權的客戶評價評估算法,在達到觸發條件時自動對上傳數據進行加工處理。應用層提供農產品供應鏈各環節的企業、消費者、政府監管部門相應功能的客戶端。

2.2 源頭數據驗證機制模型設計

源頭數據驗證機制模型包括數據驗證算法和共識機制,分別構建在區塊鏈系統的合約層和共識層。合約層設計多維數據交叉驗證算法(MICV)、多源數據匹配計算算法(MDMC)以及基于云模型與復雜動態賦權的客戶評價評估算法,以智能合約的形式部署于區塊鏈溯源系統,實施對來自供應鏈系統的數據的驗證工作。共識層設計基于信譽的CPOS共識機制,根據合約層數據驗證的結果計算各節點的信譽評分,以此確定記賬權益。

數據驗證部分:供應鏈各節點將數據上傳后,達到預置觸發條件就啟動智能合約。智能合約中預先編譯的多維信息交叉驗證(MICV)與多源數據匹配計算(MDMC)算法處理來自生產、加工、倉儲、物流環節由物聯網設備收集的機器數據,基于云模型與復雜動態賦權的客戶評價評估算法處理銷售環節的客戶評價數據,并給出各節點是否作弊的驗證結果,作為基于信譽的POS共識機制的重要參數。后續智能合約使用哈希算法獲取已驗證數據的哈希數據摘要,采用非對稱加密技術中的私鑰對數據摘要進行加密簽名,并將加密后的摘要數據和完整數據上傳云數據庫;云數據庫將使用公鑰解密的數據摘要與同樣使用哈希算法獲取完整數據的哈希數據摘要進行比對,若比對結果一致,則證明數據在傳輸過程中沒有被篡改,可存入云數據庫,否則淘汰該數據。完整數據的簡要信息和哈希數據摘要存入區塊鏈系統,并通過哈希值實現與云數據庫的交互。

數據共識部分:對由上一階段得出的溯源信息的哈希值進行全網共識,對各節點引入信譽評分機制,根據智能合約處理數據得出各節點是否作弊的驗證結果,對其信譽評分進行獎懲,給積極并且上傳有效數據的節點給予信譽值的獎勵,對發生惡意行為的節點進行信譽值的懲罰,并根據節點的信譽值對節點競爭記賬權時尋找隨機數的難度進行動態的管理,節點的信譽值越低,在競爭記賬權時尋找隨機數的難度越大,從而提高各節點參與共識的公平性和穩定性,抑制節點上傳無效數據,從共識機制角度保障數據有效性。

3 源頭數據驗證機制算法設計

數據驗證算法包括多維信息交叉驗證(MICV)、多源數據匹配計算(MDMC)和基于云模型與復雜動態賦權的客戶評價評估算法。

3.1 多維信息交叉驗證(M ICV)和多源數據匹配計算(MDMC)

3.1.1 基本流程

使用MICV和MDMC分別評價多源數據的一致性,根據一致性程度過濾出有效數據。首先使用MICV解析多源數據來驗證數據一致性,如果數據完全達到一致性,就直接上傳區塊鏈存儲,否則使用MDMC計算一致性程度。當數據一致性程度大于設定閾值時上傳區塊鏈存儲,流程如圖2所示。

圖2 MICV和MDMC流程圖

3.1.2 詳細算法

定義P={p1…pi…pn}表示n個數據提供節點集,pi表示第i個數據提供節點;S={s1…si…sn}表示來自多個數據提供節點的數據集,si表示pi提供的數據;A={a1…aj…am}表示唯一編碼為j的事務集,aj表示j號事務。為此定義表示數據提供節點pi提供的j號事務的數據。以驗證數據提供節點pi提供的j號事務數據為例,MICV計算數據一致性原理為:

Bij根據saji與其余n-1位數據提供節點提供的j號事務數據sajo≠i是否一致返回true或false,如果返回true,那么表示數據滿足絕對一致性,數據上傳區塊鏈存儲,否則該數據再由MDMC計算一致性程度。MDMC原理為:

具體流程如下。

算法1:MICV和MDMC

3.2 云模型與復雜動態賦權的客戶評價評估算法

云模型與復雜動態賦權算法是針對客戶評價數據設計的,該算法能夠剔除惡意評價數據和虛假評價數據,并標記提供異常數據的節點,降低源頭數據作假的可能性,同時計算相應的客觀評價數據。

3.2.1 基本流程

圖3 標尺云

鑒別合格客戶評價數據時,首先選用最能體現定性概念的期望值Ex進行比較,3類聚類數據中期望值Ex與標尺云的期望值Ex最相近的即為合格客戶評價數據;如果3個期望值相等,無法鑒別時,就比較熵En,選En差值最小的數據為合格數據;若還是無法鑒別,則比較超熵He。鑒別出合格數據和作弊高分數據、低分惡意數據,提供異常數據的節點在此輪作業中標記為惡意節點。

二階段算法采用主成分分析法進行復雜動態賦權。若異常數據過多,只剩少量正常數據,則主成分分析法便會將商家標準評價作為主要成分,如果想作弊成功就必須在客戶評價數據和商家標準數據2個維度作弊,從而加大了作弊成本。在商家標準評價數據集中隨機選取與合格客戶評價數據同等數量的商家標準評價數據,使用主成分分析法對以上2類數據進行線性組合以形成綜合指標,對方差從大到小依次定義為第一、第二、第三、第四主成分,確定指標在各主成分線性組合中的系數,接著利用主成分的方差貢獻率確定綜合得分模型系數,再將指標權重歸一化確定權重分配,最終計算出客觀的綜合客戶評價數據,AX={a1…ai…ap}。流程如圖4所示。

圖4 客戶評價評估算法

3.2.2 標尺云修正

由圖3可知,一般情況下初步得到的標尺云云滴的離散度較大,其實質是同款農產品、不同商家的標準評價差距較大,因此設計采用貝葉斯反饋法對標尺云的進行修正。首先根據云滴的聚集程度判斷標尺云是否需要修正,判斷過程如下。

標尺云云滴服從N(Ex,En2+He2)的正態分布,根據中心極限定理得出,當時定性概念的確定程度可達到1-α。其中,zα/2為標準正態分布的雙側百分位點。計算出的云滴點的均值XL和的云滴點的均值XH,再進行如下判斷:

貝葉斯反饋修正過程如下:由云模型的數學模型可知某一定性概念隸屬云的期望Ex:N(c0,)。以云滴X作為后驗的樣本集合,依據貝葉斯后驗概率公式可得:

由此可推出修正的數字特征為(詳細推導過程見文獻[23]):

實踐中可令c0=Ex,σ0=En,利用修正的數字特征重新生成云圖,經修正可使En和He進一步減小,從而增加云滴的聚集程度,得到滿足要求的標尺云圖。

具體流程如下。

算法2:基于云模型與復雜動態賦權的客戶評價評估算法

3.3 基于信譽的CPOS共識機制

基于信譽的權益證明機制CPOS的創新思想在于承接源頭數據驗證算法對網絡節點建立信譽模型,將信譽值作為權益的重要組成部分。為清晰展示新機制原理,內部協議采用Peercoin協議,在實際應用中可采用更先進的Algorand、Tendermint、LaKSA協議。

3.3.1 基本原理

CPOS共識過程中,節點權益由幣齡與信譽值組成:

式中:λ為幣齡在權益值中的權重,取0.4;ω為信譽值在權益值中的權重,取0.6。每個節點需根據自身對應的難度進行哈希計算來獲得記賬權。節點權益越大,需解決的難題難度越低,獲得記賬權的概率就越大。挖礦成功后廣播給全網節點進行驗證,驗證成功后,該節點打包交易數據生成區塊連接至主鏈,該節點幣齡清空。信譽值在上傳數據時根據信譽模型進行相應調整。CPOS原理流程如圖5所示。

圖5 CPOS原理流程圖

3.3.2 信譽模型

設P={p1,p2,…,pn}為各用戶節點集合,節點pn的信譽值Credit(pn)評定規則如下:節點的初始信譽值設為100,最低值MIN設為50,最高值MAX設為300。在溯源數據上傳作業中,若節點pn上傳的數據被數據驗證算法判定為不合格,則節點pn在本輪作業中標記為失信節點,并按照信譽懲罰規則扣除其信譽值。當信譽值低于最低值時,取消該節點在農產品溯源系統中的認證資格。信譽懲罰規則為:

式中:φ為懲罰力度,可按照系統管理的嚴格程度靈活設定,設置為2。

當節點pn的數據驗證結果為合格時,增加信譽值作為獎勵。獎勵規則為:

式中:φ為獎勵力度,設置為1。

4 仿真分析

實驗數據來自WS-DREAM(http://www.wsdream.net)數據網站和模擬數據。

4.1 云模型與復雜動態賦權的客戶評價評估算法部分

選取某類農產品x的客戶評價數據和商家標準評價數據100條,經過前期數據處理后,合理的標準評價數據值域為x:0.5~0.75。實驗數據中,超出標準評價值域分布的作弊評價數據、惡意評價數據和臨近標準值域的數據統稱為無效評價數據,其所占比例稱為無效評價率,以輸出數據AX={a1…ai…ap}的無效評價率為指標測試算法的有效性。

圖6 云模型與復雜動態賦權算法效果圖

圖7為云模型與復雜動態賦權算法的無效評價率為40%時重復100次實驗的效果波動情況??煽闯?,輸出樣本的無效評價率一般在10%以下,效果明顯,算法穩定性良好。

圖7 算法穩定性效果圖

4.2 M ICV和MDMC算法部分

設定共有50個數據提供節點P={p1…pi…p50},所以閥值最大值為50,設定100項事務,每個數據提供節點就每條事務提供1條數據,每個節點共提供100條數據。圖8展示了6個數據提供節點p1、p2、p3、p4、p5、p6的數據合格情況,其中設定p1、p2存在大量虛假數據。從實驗結果可知,當閾值β為0時,每個節點的100條數據全部上傳,隨著閾值β增加,p1、p2數據合格數先是急劇下降,曲線為凹型,說明p1、p2存在大量不合格數據;p3-p6數據合格數先是緩慢下降,說明所提供數據大部分正常,最后快速下降,說明數據采集中存在系統誤差。當閾值最大值即要求全部節點數據相同時,6條曲線趨于一點,即極少數事務的數據全部相同,符合算法理論。實驗表明通過設定合理的閾值β,MICV和MDMC算法可有效去除物聯網數據采集過程中的虛假與錯誤數據,保證源頭數據的有效性。

圖8 MICV和MDMC算法效果圖

選定事務A、B、C、D,以事務數據提供者的數量為變量,范圍為20~200個,每個數據提供者就每項事務提供1條數據,每項事務的不合格數據保持在50%左右,每項事務經過MICV和MDMC算法處理后檢驗數據合格率,如圖9所示。實驗結果表明,當數據提供者數量較少時,存在偶然性,算法效果很差,隨著數據提供者數量增加,交叉匹配的基數越大,算法效果逐漸理想。

圖9 MICV和MDMC算法性能測試圖

4.3 CPOS共識算法部分

為測試共識算法性能,設置仿真節點1、2、3、4、5,初始幣齡值統一為0,共進行500輪共識作業。節點1與節點2的初始信譽值分別設為60、70,作為低信譽樣例節點,整個作業過程中上傳數據全部為合格數據;節點3的初始信譽值設為100,上傳數據中含有25%的不合格數據;節點4的初始信譽值設為100,上傳數據全部為合格數據;節點5模擬多次上傳不合格數據,初始信譽值設為40,低于最低信譽值,無參與共識資格。

圖10為500輪共識中各節點的記賬次數。節點1記賬次數為98,節點2記賬次數為129。節點4初始信譽值最高,取得最高記賬次數156。節點3初始信譽值與節點4相同,但由于上傳數據中有25%的不合格數據,受到相應處罰,僅得到147記賬次數,低于節點4。節點5信譽值低于閾值,無共識資格,記賬次數為0。

圖10 節點記賬統計圖

圖11為各節點的信譽值變化情況。節點4的初始信譽值最高,信譽值上升最快,峰值最高。節點3由于上傳數據中有25%的不合格數據,因此信譽值出現下降情況,總體低于無違規行為的節點4。節點1與節點2的信譽值逐漸上升,但上升速度與幅度明顯低于節點4。節點5信譽值無變化。

圖11 節點信譽值增長變化圖

實驗結果表明,在POS機制基礎上結合數據驗證算法設計的基于信譽的CPOS共識機制可有效地控制節點記賬權的競爭,避免原有機制的幣齡過高產生的壟斷現象,同時促進節點上傳合格數據,抑制作弊行為,保證源頭數據的有效性。

5 結論

針對目前基于區塊鏈的農產品溯源系統缺少源頭數據有效性驗證的問題,從基于區塊鏈的農產品溯源系統架構入手,對包含多個環節數據產生與收集的供應鏈系統及提供數據存儲與溯源功能的區塊鏈系統進行建模分析,在合約層設計并以智能合約形式部署了基于云模型與復雜動態賦權的客戶評價評估算法,解決了客戶反饋評價的數據虛假、惡意評價的問題,MICV和MDMC解決了采集中存在物聯網信息采集設備的數據存在格式不一致、錯誤、篡改的問題;在共識層設計了基于信譽評分的CPOS共識機制,既解決了POS的不公平競爭問題,又抑制了各節點數據造假的惡意行為,提高了源頭數據的真實性;在數據層采用“鏈上+云數據庫”的數據存儲模式,節省大量農產品溯源數據上鏈存儲的空間,提升溯源數據存儲訪問的速度。最后,對提出的基于云模型與復雜動態賦權的客戶評價評估算法、MICV算法、MDMC算法及CPOS共識機制進行仿真設計及分析驗證,結果表明該算法可有效減少數據采集過程中的虛假無效數據。

猜你喜歡
信譽賦權共識
以質量求發展 以信譽贏市場
基于單片機MCU的IPMI健康管理系統設計與實現
論鄉村治理的有效賦權——以A縣扶貧項目為例
共識 共進 共情 共學:讓“溝通之花”綻放
企業數據賦權保護的反思與求解
論思想共識凝聚的文化向度
信譽如“金”
商量出共識
試論新媒體賦權
基于改進AHP熵博弈賦權的輸變電工程評價
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合