陳俊華,張 夏,上官鵬飛
(重慶郵電大學(xué) 自動(dòng)化學(xué)院 工業(yè)物聯(lián)網(wǎng)與網(wǎng)絡(luò)化控制教育部重點(diǎn)實(shí)驗(yàn)室,重慶 400065)
近年來(lái),假冒偽劣電子產(chǎn)品、電子產(chǎn)品翻新再銷售、電子產(chǎn)品供應(yīng)鏈信息封閉等問(wèn)題,威脅著消費(fèi)者對(duì)電子產(chǎn)品質(zhì)量的信任,建立可靠有效的電子產(chǎn)品信息追溯體系需求強(qiáng)烈。
隨著區(qū)塊鏈全新的分散化架構(gòu)和分布式賬本技術(shù)的快速發(fā)展[1,2],基于區(qū)塊鏈的可追溯系統(tǒng)由于其分散化和防篡改的特點(diǎn),為傳統(tǒng)追溯系統(tǒng)的缺點(diǎn)提供了解決方案。馮田基于HACCP[3]、區(qū)塊鏈和物聯(lián)網(wǎng)技術(shù)提出一種食品供應(yīng)鏈追溯系統(tǒng)[4],又基于區(qū)塊鏈和RFID[5]提出了一種農(nóng)產(chǎn)品供應(yīng)鏈追溯系統(tǒng)[6]。于合龍等以琿春水稻為研究對(duì)象,實(shí)現(xiàn)了水稻信息的可追溯[7]。上述方案將區(qū)塊鏈應(yīng)用于供應(yīng)鏈追溯中,實(shí)現(xiàn)了對(duì)食品和農(nóng)產(chǎn)品的有效追溯,但以上方案中的所有供應(yīng)鏈可追溯數(shù)據(jù)都被存放于區(qū)塊鏈上,隨著時(shí)間的推移,不斷增長(zhǎng)的可追溯數(shù)據(jù)會(huì)逐漸占據(jù)整個(gè)區(qū)塊鏈中節(jié)點(diǎn)的數(shù)據(jù)庫(kù)容量,導(dǎo)致數(shù)據(jù)爆炸,系統(tǒng)性能下降。徐希偉等[8]提出了一種鏈上與鏈下數(shù)據(jù)分離方案,成功解決了鏈上數(shù)據(jù)量劇增問(wèn)題,但消費(fèi)者無(wú)法對(duì)鏈下的產(chǎn)品信息進(jìn)行可靠追溯。針對(duì)上述問(wèn)題,本文將區(qū)塊鏈和ORS相結(jié)合對(duì)電子產(chǎn)品進(jìn)行追溯,采用鏈上和鏈下聯(lián)合管理模型,緩解了數(shù)據(jù)量爆炸問(wèn)題,同時(shí)保證了電子產(chǎn)品在供應(yīng)鏈過(guò)程中所有信息防篡改,可追溯。
區(qū)塊鏈技術(shù)起源于比特幣,2008年由化名為“中本聰”的學(xué)者提出。區(qū)塊鏈本質(zhì)為分布式數(shù)據(jù)庫(kù),具有分散化、防篡改、可追溯的特性。分散化:整個(gè)區(qū)塊鏈網(wǎng)絡(luò)無(wú)中心組織,即使一個(gè)節(jié)點(diǎn)崩潰,整個(gè)系統(tǒng)仍然可以正常運(yùn)行,具有很強(qiáng)的健壯性。防篡改:每個(gè)區(qū)塊鏈節(jié)點(diǎn)包含有所有交易的完整副本,一個(gè)節(jié)點(diǎn)篡改數(shù)據(jù)庫(kù)不會(huì)影響其它節(jié)點(diǎn)的數(shù)據(jù),除非同時(shí)控制整個(gè)系統(tǒng)51%以上的節(jié)點(diǎn),在多節(jié)點(diǎn)情況下,系統(tǒng)是非常安全的??勺匪荩簠^(qū)塊鏈由一串區(qū)塊所構(gòu)成,每一個(gè)區(qū)塊包含一個(gè)時(shí)間段中所產(chǎn)生的所有交易以及上一個(gè)區(qū)塊的哈希值,通過(guò)哈希值與上一個(gè)區(qū)塊進(jìn)行鏈接,實(shí)現(xiàn)對(duì)數(shù)據(jù)的追溯。
電子產(chǎn)品標(biāo)識(shí)在信息追溯中占有至關(guān)重要的位置,只有對(duì)電子產(chǎn)品進(jìn)行唯一標(biāo)識(shí),才能對(duì)電子產(chǎn)品信息實(shí)現(xiàn)有效的追溯。目前主流的對(duì)象標(biāo)識(shí)體系包括國(guó)外的EPC、Handle、OID等,以及我國(guó)自主制定的Ecode。OID標(biāo)識(shí)體系為分層、樹形的結(jié)構(gòu),各個(gè)國(guó)家自主管理自己的根節(jié)點(diǎn),且有良好的擴(kuò)展性及安全性,實(shí)際操作更為靈活。
OID解析系統(tǒng)主要對(duì)電子產(chǎn)品標(biāo)識(shí)符提供標(biāo)識(shí)解析并獲取其對(duì)應(yīng)信息的過(guò)程。OID解析系統(tǒng)包括通用OID解析過(guò)程和特定-應(yīng)用解析過(guò)程兩部分。通用OID解析過(guò)程是使用OID檢索存儲(chǔ)其相關(guān)聯(lián)對(duì)象信息的服務(wù)器地址的過(guò)程,特定-應(yīng)用解析過(guò)程是從所檢索到的服務(wù)器獲取存儲(chǔ)該OID相關(guān)聯(lián)對(duì)象的詳細(xì)信息的過(guò)程。
本文提出基于區(qū)塊鏈和ORS的電子產(chǎn)品追溯系統(tǒng)主要由溯源企業(yè)、消費(fèi)者、政府監(jiān)管機(jī)構(gòu)和區(qū)塊管理員組成。溯源企業(yè)負(fù)責(zé)記錄電子產(chǎn)品可追溯信息,政府管理機(jī)構(gòu)負(fù)責(zé)供應(yīng)鏈參與者的密鑰分配與身份認(rèn)證以及產(chǎn)品質(zhì)量檢測(cè)與防偽追蹤,區(qū)塊管理員負(fù)責(zé)智能合約管理、區(qū)塊鏈管理和權(quán)限管理,消費(fèi)者可通過(guò)該系統(tǒng)查詢所購(gòu)產(chǎn)品的基本信息。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
溯源企業(yè)主要包括溯源信息記錄模塊、企業(yè)信息數(shù)據(jù)庫(kù)和區(qū)塊鏈模塊。其中溯源信息記錄模塊旨在獲取電子產(chǎn)品生產(chǎn)、流通、銷售過(guò)程中產(chǎn)生的所有可追溯信息,同時(shí),通過(guò)自動(dòng)和手動(dòng)方式,將供應(yīng)鏈中電子產(chǎn)品的可追溯信息進(jìn)行處理、傳輸并存儲(chǔ);企業(yè)信息數(shù)據(jù)庫(kù)用于保存和管理來(lái)自溯源信息記錄模塊中獲取的所有可追溯信息;區(qū)塊鏈模塊主要提供數(shù)據(jù)交互的功能,包括記錄溯源信息到區(qū)塊鏈上以及獲取鏈上的溯源區(qū)塊信息。
圖1 系統(tǒng)總體結(jié)構(gòu)
政府監(jiān)管機(jī)構(gòu)主要包括密鑰與認(rèn)證模塊和質(zhì)量檢測(cè)與防偽追溯模塊。密鑰與認(rèn)證模塊用于保證系統(tǒng)安全性、機(jī)密性和有效性,其采用了非對(duì)稱加密、數(shù)字簽名、公鑰基礎(chǔ)設(shè)施(public key infrastructure,PKI)等密碼學(xué)技術(shù)構(gòu)成密鑰與認(rèn)證體系,成功認(rèn)證身份后的供應(yīng)鏈參與者,可獲得權(quán)威部門頒發(fā)的密鑰對(duì)。質(zhì)量檢測(cè)與防偽追溯模塊有兩個(gè)功能:質(zhì)量檢測(cè),隨機(jī)檢查實(shí)際產(chǎn)品各項(xiàng)指標(biāo)是否符合相關(guān)標(biāo)準(zhǔn)規(guī)定;防偽追溯,檢查溯源區(qū)塊信息,是否被篡改,運(yùn)輸過(guò)程是否合規(guī),企業(yè)注冊(cè)信息是否完善等,并將電子產(chǎn)品監(jiān)管過(guò)程中產(chǎn)生的溯源信息記錄到區(qū)塊鏈。
區(qū)塊管理員負(fù)責(zé)節(jié)點(diǎn)管理包括智能合約模塊、區(qū)塊鏈管理模塊和權(quán)限管理模塊。其中智能合約模塊是基于區(qū)塊鏈的追溯系統(tǒng)的核心。智能合約是部署在區(qū)塊鏈上并自動(dòng)運(yùn)行的程序[9],用戶通過(guò)調(diào)用智能合約完成區(qū)塊鏈數(shù)據(jù)交互。區(qū)塊鏈管理模塊主要對(duì)用戶發(fā)送的區(qū)塊信息的有效性進(jìn)行驗(yàn)證,防止區(qū)塊鏈上記錄非法或無(wú)效信息;權(quán)限管理模塊對(duì)用戶訪問(wèn)權(quán)限進(jìn)行管理,為隱私數(shù)據(jù)提供訪問(wèn)限制,防止隱私信息泄露。
另外,該系統(tǒng)為消費(fèi)者提供兩個(gè)查詢功能模塊:溯源區(qū)塊查詢模塊,用于查詢位于鏈上的溯源區(qū)塊信息;ORS查詢模塊,可查詢鏈下的電子產(chǎn)品可追溯信息。
本文提出鏈上和鏈下聯(lián)合管理模型的主要特點(diǎn)是將電子產(chǎn)品生產(chǎn)、流通、銷售和監(jiān)管過(guò)程中產(chǎn)生的大部分可追溯信息通過(guò)防篡改處理后保存在區(qū)塊鏈之外,如企業(yè)標(biāo)識(shí)管理服務(wù)器。對(duì)于供應(yīng)鏈中關(guān)鍵可追溯信息需要通過(guò)智能合約記錄到區(qū)塊鏈上。聯(lián)合管理模型解決了鏈上數(shù)據(jù)爆炸問(wèn)題,并且保證了鏈下數(shù)據(jù)的真實(shí)性,實(shí)現(xiàn)整個(gè)系統(tǒng)中數(shù)據(jù)防篡改。鏈上和鏈下聯(lián)合管理模型如圖2所示,該管理模型的具體實(shí)現(xiàn)機(jī)制如下所述。
圖2 鏈上和鏈下聯(lián)合管理模型
2.2.1 鏈下模型
鏈下模型主要包含標(biāo)識(shí)編碼和解析兩個(gè)過(guò)程。本文引入OID標(biāo)識(shí)體系[10],并采用國(guó)家標(biāo)準(zhǔn)GB/T 17969.1和GB/T 26231-2017相關(guān)規(guī)定[11]對(duì)追溯中的每一個(gè)電子產(chǎn)品及其相關(guān)對(duì)象進(jìn)行唯一標(biāo)識(shí)編碼,將OID對(duì)象在供應(yīng)鏈過(guò)程中的信息以及生成的數(shù)字摘要[12]存儲(chǔ)于各溯源企業(yè)的標(biāo)識(shí)管理服務(wù)器,通過(guò)ORS獲取OID對(duì)象信息,管理鏈下的大容量追溯數(shù)據(jù)。
(1)標(biāo)識(shí)編碼
鏈下模型涉及的標(biāo)識(shí)編碼可分為兩部分:①電子產(chǎn)品標(biāo)識(shí)編碼,生產(chǎn)企業(yè)的標(biāo)識(shí)管理服務(wù)器負(fù)責(zé)對(duì)電子產(chǎn)品進(jìn)行統(tǒng)一標(biāo)識(shí)編碼,并在該服務(wù)器中存儲(chǔ)OID對(duì)象相關(guān)信息,如質(zhì)量檢測(cè)數(shù)據(jù)、質(zhì)檢報(bào)告、生產(chǎn)操作日志等大容量追溯數(shù)據(jù);②電子產(chǎn)品相關(guān)對(duì)象標(biāo)識(shí)編碼,該環(huán)節(jié)由溯源企業(yè)各自的標(biāo)識(shí)管理服器對(duì)企業(yè)的生產(chǎn)許可證、營(yíng)業(yè)執(zhí)照、原產(chǎn)地認(rèn)證資格證等進(jìn)行標(biāo)識(shí)編碼,并存儲(chǔ)相關(guān)信息。
(2)標(biāo)識(shí)解析
各溯源企業(yè)的標(biāo)識(shí)管理服務(wù)器中存儲(chǔ)著電子產(chǎn)品生產(chǎn)、流通、監(jiān)管和銷售過(guò)程中的大量可追溯信息,通過(guò)標(biāo)識(shí)解析系統(tǒng)可獲取相關(guān)信息,標(biāo)識(shí)解析過(guò)程如圖3所示。
圖3 標(biāo)識(shí)解析過(guò)程
步驟1 消費(fèi)者向公共標(biāo)識(shí)服務(wù)平臺(tái)發(fā)送產(chǎn)品標(biāo)識(shí)碼,請(qǐng)求對(duì)該OID進(jìn)行標(biāo)識(shí)解析。
步驟2 公共標(biāo)識(shí)服務(wù)平臺(tái)收到標(biāo)識(shí)解析請(qǐng)求后,將該請(qǐng)求轉(zhuǎn)發(fā)至公共標(biāo)識(shí)管理系統(tǒng)。
步驟3 公共標(biāo)識(shí)管理系統(tǒng)通過(guò)標(biāo)識(shí)解析服務(wù)器對(duì)該OID進(jìn)行解析,并獲得該OID所關(guān)聯(lián)產(chǎn)品的溯源企業(yè)標(biāo)識(shí)管理服務(wù)器地址。
步驟4 標(biāo)識(shí)解析服務(wù)器將解析獲取的溯源企業(yè)標(biāo)識(shí)管理服務(wù)器的IP地址發(fā)送給公共標(biāo)識(shí)管理系統(tǒng)。
步驟5 公共標(biāo)識(shí)系統(tǒng)將獲取的IP地址返回給公共服務(wù)器。
步驟6 公共服務(wù)器通過(guò)IP地址訪問(wèn)溯源企業(yè)標(biāo)識(shí)管理服務(wù)器。
步驟7 溯源企業(yè)標(biāo)識(shí)管理服務(wù)器將該產(chǎn)品標(biāo)識(shí)碼所對(duì)應(yīng)產(chǎn)品的可追溯信息返回給公共服務(wù)器,完成解析過(guò)程。消費(fèi)者可獲得電子產(chǎn)品追溯過(guò)程中詳細(xì)的溯源信息,同時(shí)可通過(guò)鏈上溯源信息中的數(shù)字摘要驗(yàn)證溯源信息是否可信。
此鏈下模型設(shè)計(jì),不僅解決了鏈上數(shù)據(jù)爆炸問(wèn)題,而且有助于提高產(chǎn)品編碼的標(biāo)準(zhǔn)化程度,擴(kuò)展了該系統(tǒng)的追溯范圍。
2.2.2 鏈上模型
鏈上模型包括溯源信息表和溯源區(qū)塊管理兩部分。溯源信息表由溯源區(qū)塊和信息表構(gòu)成,溯源區(qū)塊管理主要通過(guò)智能合約對(duì)區(qū)塊鏈上的電子產(chǎn)品數(shù)據(jù)進(jìn)行管理,一方面將關(guān)鍵溯源信息記錄到溯源區(qū)塊中,另一方面獲取溯源區(qū)塊中電子產(chǎn)品的溯源信息。
(1)溯源信息表
溯源區(qū)塊與信息表構(gòu)成如圖4所示,每個(gè)溯源區(qū)塊由區(qū)塊頭和區(qū)塊頭以外的內(nèi)容組成。區(qū)塊頭包含父區(qū)塊Hash、區(qū)塊生成者的公鑰、該區(qū)塊中交易的Merkle樹根的哈希值和生成區(qū)塊的時(shí)間戳。區(qū)塊頭以外的內(nèi)容包括溯源信息個(gè)數(shù)和溯源信息。溯源信息個(gè)數(shù)即該區(qū)塊中包含的交易數(shù),每次生成的區(qū)塊含有多條交易。溯源信息為每條交易內(nèi)容,如圖4中溯源信息記錄。該溯源信息由產(chǎn)品標(biāo)識(shí)碼(object identifier,OID)、數(shù)字摘要、追溯信息、時(shí)間戳、公鑰和數(shù)字簽名構(gòu)成。產(chǎn)品標(biāo)識(shí)碼作為產(chǎn)品的唯一識(shí)別碼,采用OID標(biāo)識(shí)體系對(duì)其進(jìn)行標(biāo)識(shí)編碼。數(shù)字摘要為存儲(chǔ)于鏈下的大容量追溯信息通過(guò)哈希運(yùn)算后生成的哈希值,常見的哈希算法有SHA1[13]、SHA2[13]、MD5[14]等,本文選用SHA-256[13]哈希算法,其可靠性和安全性滿足系統(tǒng)需求。將鏈下追溯信息的數(shù)字摘要記錄到區(qū)塊鏈上,可驗(yàn)證鏈下大容量追溯信息是否被篡改。追溯信息為電子產(chǎn)品生產(chǎn)、流通、銷售和監(jiān)管過(guò)程中的關(guān)鍵信息。時(shí)間戳表示交易單生成的時(shí)間,公鑰為交易單生成者的公鑰。數(shù)字簽名是交易單生成者對(duì)交易信息的簽名,其具有不可抵賴性和防篡改性。一個(gè)個(gè)溯源區(qū)塊組成了一條區(qū)塊鏈,供應(yīng)鏈參與者可調(diào)用智能合約根據(jù)唯一標(biāo)識(shí)的產(chǎn)品標(biāo)識(shí)碼以及參與者訪問(wèn)權(quán)限,獲取相應(yīng)電子產(chǎn)品溯源信息表中的可訪問(wèn)信息。整個(gè)溯源信息表中包含了關(guān)于該電子產(chǎn)品的所有可追溯信息,即電子產(chǎn)品生產(chǎn)、流通、銷售和監(jiān)管過(guò)程的關(guān)鍵可追溯信息以及溯源企業(yè)注冊(cè)信息。
圖4 溯源信息
(2)溯源區(qū)塊管理
在追溯過(guò)程中,各溯源企業(yè)和監(jiān)管部門首先需要進(jìn)行密鑰與認(rèn)證操作以及權(quán)限分配操作,操作完成后通過(guò)調(diào)用智能合約向區(qū)塊鏈中添加追溯信息,鏈上數(shù)據(jù)流如圖5所示。鏈上數(shù)據(jù)交互主要分為5個(gè)環(huán)節(jié),各環(huán)節(jié)詳細(xì)設(shè)計(jì)如下:
圖5 鏈上數(shù)據(jù)流
生產(chǎn)環(huán)節(jié):主要角色是溯源企業(yè)中的生產(chǎn)企業(yè),主要負(fù)責(zé):①獲取并處理制造企業(yè)生產(chǎn)過(guò)程執(zhí)行系統(tǒng)(manufacturing execution system,MES)[15]中的結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù),②使用OID對(duì)每一個(gè)電子產(chǎn)品進(jìn)行唯一標(biāo)識(shí),并生成產(chǎn)品二維碼方便供應(yīng)鏈過(guò)程中各個(gè)供應(yīng)鏈參與者使用。MES系統(tǒng)中存儲(chǔ)著電子產(chǎn)品生產(chǎn)執(zhí)行過(guò)程中的所有相關(guān)記錄,該記錄可以分為兩類,即結(jié)構(gòu)化數(shù)據(jù)與非結(jié)構(gòu)化數(shù)據(jù)。結(jié)構(gòu)化數(shù)據(jù)即一般數(shù)值和簡(jiǎn)化性文字?jǐn)?shù)據(jù),包括產(chǎn)品標(biāo)識(shí)碼、產(chǎn)品批號(hào)、數(shù)字摘要、生產(chǎn)日期、生產(chǎn)地址、生產(chǎn)企業(yè)等數(shù)據(jù)。非結(jié)構(gòu)化數(shù)據(jù)指的是生產(chǎn)過(guò)程中產(chǎn)生的圖片、視頻和大容量文本數(shù)據(jù),如質(zhì)檢報(bào)告、采購(gòu)清單、操作日志等。生產(chǎn)企業(yè)在該環(huán)節(jié)將結(jié)構(gòu)化數(shù)據(jù)作為關(guān)鍵溯源信息添加到溯源信息表,存儲(chǔ)于溯源區(qū)塊,對(duì)于非結(jié)構(gòu)化數(shù)據(jù),這些數(shù)據(jù)本身的數(shù)據(jù)量較大,不適合在存儲(chǔ)于區(qū)塊鏈中,生產(chǎn)企業(yè)通過(guò)離線方式存儲(chǔ)于企業(yè)標(biāo)識(shí)管理數(shù)據(jù)庫(kù)、信息管理數(shù)據(jù)庫(kù)和信息緩存數(shù)據(jù)庫(kù)中。
流通環(huán)節(jié):主要角色是物流公司,通過(guò)掃描產(chǎn)品二維碼可獲取產(chǎn)品標(biāo)識(shí)碼,并依靠成熟的GPS定位技術(shù)獲取精確的位置信息。溯源企業(yè)中的物流公司主要負(fù)責(zé)添加電子產(chǎn)品的物流信息,包括運(yùn)輸公司信息、產(chǎn)品位置信息、產(chǎn)品運(yùn)輸方式、產(chǎn)品狀態(tài)信息。該追溯系統(tǒng)中電子產(chǎn)品狀態(tài)定義為“運(yùn)輸中、運(yùn)達(dá)、待售、已售、返廠和刪除”6種狀態(tài),物流公司需根據(jù)實(shí)際運(yùn)輸情況記錄產(chǎn)品狀態(tài)。
銷售環(huán)節(jié):主要角色是經(jīng)銷商和零售商,主要職責(zé)為修改并記錄產(chǎn)品狀態(tài),增加產(chǎn)品銷售時(shí)間和銷售價(jià)格數(shù)據(jù),保證信息追溯的完整性。
監(jiān)管環(huán)節(jié):主要角色是政府監(jiān)管機(jī)構(gòu),其中質(zhì)量檢測(cè)機(jī)構(gòu)負(fù)責(zé)產(chǎn)品質(zhì)量的隨機(jī)檢查,質(zhì)量技術(shù)監(jiān)督局負(fù)責(zé)檢測(cè)電子產(chǎn)品在流通過(guò)程中是否出現(xiàn)數(shù)據(jù)篡改,流通過(guò)程是否符合規(guī)范。如果出現(xiàn)質(zhì)量問(wèn)題,則將當(dāng)前產(chǎn)品狀態(tài)修改并記錄為返廠狀態(tài),對(duì)該問(wèn)題產(chǎn)品進(jìn)行召回。如果出現(xiàn)數(shù)據(jù)篡改、流通過(guò)程違規(guī)等問(wèn)題,則可將當(dāng)前產(chǎn)品狀態(tài)修改并記錄為刪除狀態(tài),然后進(jìn)一步對(duì)產(chǎn)品進(jìn)行處理。
追溯環(huán)節(jié):主要角色是消費(fèi)者,掃描二維碼可獲取產(chǎn)品標(biāo)識(shí)碼,通過(guò)標(biāo)識(shí)解析系統(tǒng)可獲取電子產(chǎn)品相關(guān)的所有溯源信息,通過(guò)區(qū)塊鏈系統(tǒng)可獲取位于區(qū)塊鏈中不可篡改的電子產(chǎn)品生產(chǎn)、物流、銷售和監(jiān)管信息。同時(shí),通過(guò)對(duì)比鏈上和鏈下數(shù)字摘要異同,根據(jù)鏈上數(shù)據(jù)的不可篡改性,可分析鏈下數(shù)據(jù)是否發(fā)生過(guò)篡改行為,獲取可信的鏈下數(shù)據(jù)。
本節(jié)中,通過(guò)具體應(yīng)用場(chǎng)景驗(yàn)證本追溯系統(tǒng)的有效性。
2019年6月6日,“千元iPhone組裝機(jī)”事件被媒體曝出,某社交電商平臺(tái)發(fā)布的正品蘋果手機(jī)被官方鑒定為假貨。這些蘋果手機(jī)的原材料收購(gòu)于深圳的二手市場(chǎng),通過(guò)對(duì)一些損壞的二手蘋果手機(jī)更換主板、零件,再將外殼加工打磨,表面上就能跟正品手機(jī)十分相似。諸如此類的假手機(jī)事件還有很多,這種事件不僅損壞了正品品牌的名譽(yù),還給消費(fèi)者帶來(lái)了麻煩。由此,通過(guò)基于區(qū)塊鏈和ORS的電子產(chǎn)品追溯系統(tǒng)可以為假冒偽劣電子產(chǎn)品提供解決方案。
首先,本系統(tǒng)中溯源企業(yè)通過(guò)國(guó)家物聯(lián)網(wǎng)標(biāo)識(shí)管理服務(wù)平臺(tái)注冊(cè)電子產(chǎn)品OID標(biāo)識(shí)碼并存儲(chǔ)電子產(chǎn)品詳盡的可追溯信息以及將詳盡數(shù)據(jù)通過(guò)哈希運(yùn)算后得到的數(shù)字摘要。然后,通過(guò)區(qū)塊鏈系統(tǒng)添加電子產(chǎn)品簡(jiǎn)要可追溯信息以及詳盡數(shù)據(jù)生成的數(shù)字摘要到區(qū)塊鏈中。最后,消費(fèi)者可通過(guò)掃描電子產(chǎn)品的二維碼查看電子產(chǎn)品的生產(chǎn)信息、物流信息、銷售信息和監(jiān)管信息。
若查詢到區(qū)塊鏈上存在電子產(chǎn)品已出售信息以及多條生產(chǎn)信息,則可判定所購(gòu)電子產(chǎn)品為翻新機(jī);若查詢到區(qū)塊鏈上的數(shù)字摘要和ORS中的獲取數(shù)字摘要不同,則可判定所購(gòu)電子產(chǎn)品中存在信息篡改行為。
目前,區(qū)塊鏈分為公有鏈、私有鏈和聯(lián)盟鏈。其中,聯(lián)盟鏈具有部分去中心化,面向企業(yè)開發(fā)的特點(diǎn),本文中的信息追溯系統(tǒng)主要入鏈對(duì)象為溯源企業(yè)、政府監(jiān)管機(jī)構(gòu)和消費(fèi)者,因此選用聯(lián)盟鏈方式。對(duì)于平臺(tái)選擇,當(dāng)前Bitcoin(比特幣)、Ethereum(以太坊)以及Hyperledger(超級(jí)賬本)是三大主流區(qū)塊鏈技術(shù)平臺(tái)。Hyperledger平臺(tái)代表最新區(qū)塊鏈技術(shù),其具有良好的擴(kuò)展性,同時(shí)允許調(diào)用智能合約。本文選用Hyperledger下的Fabric(面向企業(yè)管理)區(qū)塊鏈平臺(tái),用于構(gòu)建信息追溯系統(tǒng)。
本追溯系統(tǒng)采用Hyperledger Fabric v1.2平臺(tái)來(lái)設(shè)置區(qū)塊鏈,部署5Peer+1Orderer的架構(gòu),在Ubuntu 16.04環(huán)境下進(jìn)行部署虛擬機(jī),5Peer節(jié)點(diǎn)用于模擬生產(chǎn)企業(yè)、物流公司、經(jīng)銷商/零售商、監(jiān)管部門和消費(fèi)者,1Orderer節(jié)點(diǎn)為排序節(jié)點(diǎn)。使用Golang編寫鏈碼,鏈碼主要實(shí)現(xiàn)以下功能:商家注冊(cè)、添加產(chǎn)品生產(chǎn)信息、添加產(chǎn)品物流信息、添加產(chǎn)品分銷信息、添加產(chǎn)品零售信息、添加產(chǎn)品監(jiān)管信息、商家信息查詢和產(chǎn)品信息查詢等。該系統(tǒng)采用C/S架構(gòu),使用Qt Creator開發(fā)應(yīng)用程序,提供人機(jī)交互功能,同時(shí),使用官方支持語(yǔ)言Node.js編寫程序調(diào)用鏈碼,執(zhí)行相關(guān)操作。
本文的區(qū)塊鏈網(wǎng)絡(luò)由6臺(tái)虛擬機(jī)構(gòu)建,服務(wù)器IP地址分別為192.168.242.220,192.168.242.221,192.168.242.222,192.168.242.223,192.168.242.224和192.168.242.214。詳細(xì)的測(cè)試環(huán)境見表1和表2。
表1 軟件環(huán)境
表2 硬件環(huán)境
系統(tǒng)響應(yīng)時(shí)間即系統(tǒng)時(shí)延是系統(tǒng)性能的重要指標(biāo)之一。系統(tǒng)主要功能分為鏈上數(shù)據(jù)入鏈與鏈下數(shù)據(jù)管理,鏈下數(shù)據(jù)由各角色主體分布式自主處理,不對(duì)追溯系統(tǒng)響應(yīng)時(shí)間產(chǎn)生影響,追溯信息上鏈速度是影響系統(tǒng)響應(yīng)時(shí)間的關(guān)鍵。實(shí)驗(yàn)結(jié)果表明,系統(tǒng)響應(yīng)時(shí)間受鏈上數(shù)據(jù)量的影響,圖6為鏈上數(shù)據(jù)量與系統(tǒng)響應(yīng)時(shí)間的關(guān)系圖,鏈上數(shù)據(jù)量從1 G增加到8 G時(shí),系統(tǒng)響應(yīng)時(shí)間從250 ms增加到500 ms,由此表明當(dāng)鏈上數(shù)據(jù)量暴增時(shí),數(shù)據(jù)量對(duì)系統(tǒng)性能影響較大。
圖6 系統(tǒng)響應(yīng)時(shí)間與鏈上數(shù)據(jù)量關(guān)系
本文通過(guò)對(duì)某電子產(chǎn)品制造企業(yè)調(diào)研得知,一條中等規(guī)模生產(chǎn)線每分鐘約產(chǎn)生2 MB生產(chǎn)操作日志數(shù)據(jù),如果每6 min完成某電子產(chǎn)品的生產(chǎn),則需要追溯的生產(chǎn)數(shù)據(jù)為12 MB。普通區(qū)塊鏈系統(tǒng)將所有追溯數(shù)據(jù)都記錄在鏈上,而本系統(tǒng)采用鏈上和鏈下聯(lián)合管理模型,鏈上信息只記錄關(guān)鍵追溯信息與詳細(xì)數(shù)據(jù)的數(shù)字摘要。普通區(qū)塊鏈系統(tǒng)和本系統(tǒng)鏈上數(shù)據(jù)量隨時(shí)間變化如圖7所示。
圖7 普通區(qū)塊鏈系統(tǒng)和本系統(tǒng)鏈上數(shù)據(jù)量對(duì)比
圖7中,隨著時(shí)間增長(zhǎng),普通區(qū)塊鏈系統(tǒng)中鏈上記錄的生產(chǎn)信息數(shù)據(jù)量劇增,同時(shí)鏈上需要記錄電子產(chǎn)品流通、銷售和監(jiān)管過(guò)程中的所有追溯數(shù)據(jù),導(dǎo)致單個(gè)區(qū)塊鏈節(jié)點(diǎn)數(shù)據(jù)爆炸。本系統(tǒng)采用鏈上和鏈下聯(lián)合管理模型,鏈上記錄的生產(chǎn)信息只占有1 K左右的內(nèi)存。該數(shù)據(jù)量主要由區(qū)塊頭和溯源信息產(chǎn)生,其中區(qū)塊頭包含32字節(jié)的父區(qū)塊Hash、294字節(jié)的區(qū)塊生成者的公鑰、32字節(jié)的Merkle樹根的哈希值和4字節(jié)的生成區(qū)塊的時(shí)間戳;溯源信息包含4字節(jié)的產(chǎn)品標(biāo)識(shí)碼、32字節(jié)的數(shù)字摘要、200字節(jié)左右的生產(chǎn)追溯信息、4字節(jié)的交易單生成的時(shí)間、294字節(jié)的交易單生成者的公鑰和128字節(jié)的數(shù)字簽名。由于電子產(chǎn)品在流通、銷售和監(jiān)管過(guò)程中區(qū)塊頭、產(chǎn)品標(biāo)識(shí)碼、數(shù)字摘要、時(shí)間戳和數(shù)字簽名占用內(nèi)存相同,由此類推每次在鏈上記錄信息所占用的內(nèi)存均為1 K左右,有效解決了數(shù)據(jù)爆炸問(wèn)題,保證了系統(tǒng)的可靠性和可行性。
將本文設(shè)計(jì)的電子產(chǎn)品追溯系統(tǒng)與當(dāng)前主流追溯系統(tǒng)進(jìn)行定性比較,結(jié)果見表3。
表3 本系統(tǒng)與主流追溯系統(tǒng)定性比較
國(guó)家食品(產(chǎn)品)安全追溯平臺(tái)和國(guó)家物聯(lián)網(wǎng)標(biāo)識(shí)管理服務(wù)平臺(tái)具有信息追溯能力,但是防篡改能力弱,數(shù)據(jù)在傳輸和存儲(chǔ)過(guò)程存在被修改的可能性,而本系統(tǒng)具有很強(qiáng)的防篡改能力,保證數(shù)據(jù)真實(shí)可信。普通區(qū)塊鏈系統(tǒng)防篡改能力強(qiáng),但是區(qū)塊鏈上數(shù)據(jù)量大,本系統(tǒng)解決了區(qū)塊鏈上的數(shù)據(jù)爆炸問(wèn)題,具有更高的可靠性。通過(guò)對(duì)比可以看出本系統(tǒng)相比國(guó)家食品(產(chǎn)品)安全追溯平臺(tái)、國(guó)家物聯(lián)網(wǎng)標(biāo)識(shí)管理服務(wù)平臺(tái)和普通區(qū)塊鏈系統(tǒng),表現(xiàn)出了更優(yōu)越的性能。
本文針對(duì)電子產(chǎn)品生產(chǎn)和供應(yīng)鏈過(guò)程信息封閉、易篡改和不安全等問(wèn)題,提出了基于區(qū)塊鏈和ORS的電子產(chǎn)品追溯系統(tǒng)。該系統(tǒng)采用了鏈上和鏈下聯(lián)合管理模型,將關(guān)鍵可追溯簡(jiǎn)要信息與詳細(xì)數(shù)據(jù)的數(shù)字摘要記錄在區(qū)塊鏈上,保證信息真實(shí)可信,將大容量追溯信息通過(guò)防篡改處理后存儲(chǔ)于區(qū)塊鏈下的各企業(yè)標(biāo)識(shí)管理服務(wù)器中,成功地減少了單個(gè)區(qū)塊鏈節(jié)點(diǎn)的數(shù)據(jù)量,解決了數(shù)據(jù)爆炸問(wèn)題。然后,本文給出了本系統(tǒng)在電子產(chǎn)品供應(yīng)鏈中的實(shí)際應(yīng)用場(chǎng)景,并通過(guò)實(shí)際測(cè)試驗(yàn)證了本系統(tǒng)的可行性與有效性。最后,通過(guò)與目前主流追溯系統(tǒng)進(jìn)行定性比較,本文提出的系統(tǒng)不僅可以滿足追溯系統(tǒng)的基本要求,而且在以下方面表現(xiàn)出優(yōu)越的性能:①防篡改能力;②分散化程度;③鏈上數(shù)據(jù)量,保證了系統(tǒng)高效可靠,滿足實(shí)際需求。