鄭忠斌 劉皓若 王霞
摘 要:針對(duì)工業(yè)塑料制品信息追溯問題,提出一種基于區(qū)塊鏈的追溯系統(tǒng)。首先引入可拓學(xué)原理中的轉(zhuǎn)換橋方法解決低層區(qū)塊鏈數(shù)據(jù)采集的表示異構(gòu)問題;其次采用改進(jìn)的拜占庭算法建立共識(shí),以此保證區(qū)塊鏈節(jié)點(diǎn)的一致性;最后以C語言和以太坊geth區(qū)塊鏈作為基礎(chǔ),對(duì)該區(qū)塊鏈追溯系統(tǒng)進(jìn)行開發(fā),并給出部分信息追溯展示和區(qū)塊鏈數(shù)據(jù)防偽驗(yàn)證界面。本研究的創(chuàng)新在于從宏觀角度實(shí)現(xiàn)了工業(yè)塑料制品信息追溯,并引入防篡改的區(qū)塊鏈技術(shù),從而為工業(yè)塑料制品質(zhì)量安全提供了新的借鑒途徑和方式。
關(guān)鍵詞:可拓轉(zhuǎn)換;產(chǎn)品追溯;工業(yè)互聯(lián)網(wǎng);標(biāo)識(shí)異構(gòu);區(qū)塊鏈
中圖分類號(hào):TQ067?????? 文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1001-5922(2022)01-0145-05
Research on product lifecycle information traceability
based on industrial internet
ZHENG Zhongbin,LIU Haoruo,WANG Xia
(Industrial Internet Innovation Center(Shanghai)Co.,Ltd.,Shanghai 201306,China)
Abstract:
Aiming at the traceability issue of industrial plastic product information,this paper proposes a blockchain-based industrial plastic product tracing system.Firstly,the conversion bridge method in extenics is introduced to solve the problem of heterogeneous representation of stratum blockchain data acquisition.Secondly,the improved Byzantine algorithm is used to build consensus to ensure the consistency of blockchain nodes.Finally,based on C language and Ethereum geth,the blockchain tracing system is developed with interface showing part of the information tracing and blockchain data anti-counterfeiting verification.The innovation of this research lies in the realization of information traceability of industrial plastic products from the perspective of macro supervision,and the introduction of tamper proof from blockchain technology provides a new reference for the quality and safety of industrial plastic products.
Key words:
extension transformation;product traceability;industrial internet;heterogeneous identification;blockchain
隨著工業(yè)塑料制品的增多,如何加強(qiáng)對(duì)這些有機(jī)塑料產(chǎn)品的追溯,減少工業(yè)塑料產(chǎn)品的污染,是當(dāng)前制造產(chǎn)商思考的重點(diǎn)。但目前在工業(yè)塑料制品方面,產(chǎn)品可追溯主要存在以下幾個(gè)問題:一是傳統(tǒng)的工業(yè)塑料制品追溯依賴于權(quán)威機(jī)構(gòu)對(duì)數(shù)據(jù)進(jìn)行統(tǒng)一管理,且不同供應(yīng)節(jié)點(diǎn)上的追溯數(shù)據(jù)由企業(yè)自行管理。這種局面就造成兩個(gè)問題:首先企業(yè)可以自行篡改追溯數(shù)據(jù),其次是不同工業(yè)塑料制品節(jié)點(diǎn)上的企業(yè)在追溯數(shù)據(jù)共享方面存在很大制約;二是工業(yè)塑料制品的標(biāo)識(shí)體系種類繁多,“一物多標(biāo)識(shí)”或“一標(biāo)識(shí)多物”的現(xiàn)象頻發(fā),而識(shí)別方式往往比較單一,這就造成不同標(biāo)識(shí)之間存在異構(gòu)的問題。為解決以上問題,有學(xué)者提出借助區(qū)塊鏈技術(shù)在分布式、去中心化、不可篡改和可追溯的特點(diǎn),提出基于區(qū)塊鏈的信息追溯系統(tǒng),并將該系統(tǒng)應(yīng)用到農(nóng)產(chǎn)品追溯中[1];針對(duì)提出區(qū)塊鏈的管理策略[2];對(duì)產(chǎn)品標(biāo)識(shí)異構(gòu)問題,提出可拓學(xué)的轉(zhuǎn)換思路[3]。本研究則提出一種基于區(qū)塊鏈的工業(yè)塑料制品全生命周期信息追溯系統(tǒng),并重點(diǎn)解決區(qū)塊鏈技術(shù)應(yīng)用和標(biāo)識(shí)異構(gòu)問題。
1 基于區(qū)塊鏈的信息追溯整體設(shè)計(jì)
本研究提出的工業(yè)塑料制品信息追溯系統(tǒng)是以傳統(tǒng)的鏈?zhǔn)阶匪莘绞綖橹?,并結(jié)合分布式處理技術(shù)、區(qū)塊鏈技術(shù)進(jìn)行全生命周期的信息追溯,整體方案如圖1所示。
具體是將工業(yè)塑料制品制造、銷售、物流、售后和回收等環(huán)節(jié)信息全部錄入到數(shù)據(jù)庫(kù)當(dāng)中,然后通過將采集溯源信息的哈希值分布式存儲(chǔ)在區(qū)塊鏈中;這些信息在存儲(chǔ)后,會(huì)形成一個(gè)時(shí)間戳,使得工業(yè)塑料制品在都有一個(gè)時(shí)間標(biāo)記,且不可篡改。各環(huán)節(jié)參與者都有對(duì)應(yīng)的區(qū)塊鏈節(jié)點(diǎn),如想查詢某工業(yè)塑料制品的信息,則可以通過持有的私鑰進(jìn)行查詢和產(chǎn)品的真實(shí)性驗(yàn)證。
作業(yè)層主要負(fù)責(zé)通過標(biāo)簽完成基礎(chǔ)產(chǎn)品信息采集,并解決標(biāo)識(shí)異構(gòu)問題;數(shù)據(jù)層采用分布式存儲(chǔ)方式,將工業(yè)塑料制品的相關(guān)信息存儲(chǔ)在Merkle樹中,并通過加密算法計(jì)算哈希值寫入?yún)^(qū)塊鏈中,以此形成時(shí)間戳;網(wǎng)絡(luò)層主要實(shí)現(xiàn)通信,共識(shí)層主要是通過共識(shí)機(jī)制讓整個(gè)工業(yè)塑料制品制造、使用等環(huán)節(jié)的成員作為節(jié)點(diǎn)加入?yún)^(qū)塊鏈。
2 標(biāo)識(shí)異構(gòu)轉(zhuǎn)換與物聯(lián)碼生成
2.1 基于可拓元的標(biāo)識(shí)異構(gòu)轉(zhuǎn)換
2.1.1 可拓元轉(zhuǎn)換原理
在實(shí)際應(yīng)用場(chǎng)景中,異構(gòu)問題隨處可見,如塑料零部件制品通常則包含國(guó)家物聯(lián)網(wǎng)標(biāo)識(shí)體系(Ecode)
和Handle 標(biāo)識(shí)體系。在這兩種標(biāo)識(shí)體系下,就形成了異構(gòu)標(biāo)識(shí)體系。同時(shí)識(shí)別系統(tǒng)則采用的是EPC二維碼識(shí)別管理,這種識(shí)別系統(tǒng)無法對(duì)上述兩種標(biāo)識(shí)體系進(jìn)行識(shí)別。因此,就需要對(duì)這兩種標(biāo)識(shí)體系進(jìn)行可拓轉(zhuǎn)換。
定義 1:假設(shè)P表示因?yàn)槎喾N表示體系共存所產(chǎn)生的異構(gòu)識(shí)別問題,n維基元G1、G2表示在Ecode 標(biāo)識(shí)體系、Handle 標(biāo)識(shí)體系下產(chǎn)品標(biāo)識(shí)的目標(biāo)物元,L則為在特定情況下的識(shí)別解析機(jī)制條件。在上述的塑料零部件制品標(biāo)識(shí)體系中,用c11、c21來表示標(biāo)簽的表現(xiàn)形式;用c12、c22來表示Ecode 標(biāo)識(shí)體系和Handle 標(biāo)識(shí)體系兩種標(biāo)識(shí)體系;用c13、c23表示標(biāo)識(shí);用c14、c24表示工業(yè)塑料產(chǎn)品。用上述的基元作為屬性參數(shù),結(jié)合可拓學(xué)的原理,可以得到:
G1=標(biāo)簽,表現(xiàn)形式v11標(biāo)識(shí)體系v12標(biāo)識(shí)v13工業(yè)產(chǎn)品v14(1)
G2=標(biāo)簽,表現(xiàn)形式v21標(biāo)識(shí)體系v22標(biāo)識(shí)v23工業(yè)產(chǎn)品v24(2)
式(1)和式(2)中,v11、v21表示為二維碼;v12、v13表示Ecode 標(biāo)識(shí)體系與代碼;v22、v23表示Handle 標(biāo)識(shí)體系與代碼;v14、v24表示工業(yè)塑料產(chǎn)品名稱。
由于L表示單一識(shí)別機(jī)制,則有:
L=識(shí)別,解析方式vL1對(duì)象vL2工具vLn〗
(3)
式(3)中,vL1、vL2、vL3分別表示Ecode 解析方式、物聯(lián)碼、物聯(lián)碼識(shí)讀器。
假設(shè)在特定的L識(shí)別條件下,G1、G2如不能同時(shí)實(shí)現(xiàn),那么則認(rèn)為:
P=(G1∧G2)↑L(4)
式(4)表示異構(gòu)的基元形式化模型,其中符號(hào)“↑”表示對(duì)立關(guān)系;符號(hào)“↓”表示共存關(guān)系;∧表示可拓與運(yùn)算。
2.1.2 轉(zhuǎn)換橋求解對(duì)立問題
定義 2:對(duì)P=(G1∧G2)↑L,如存在變換T=(TG1,TG2,TL)使得(TG1G1^TG2G2)↓TLL,那么T表示為P的解變換,從而使得G1、G2能夠共存。變化的對(duì)象稱作為轉(zhuǎn)換橋,用
B(G1,G2)=Z×J(5)
式(5)中,Z表示轉(zhuǎn)折部;J表示轉(zhuǎn)換通道。
根據(jù)上述的可拓轉(zhuǎn)換,則有
TG1=G′1=標(biāo)簽,表現(xiàn)形式v11標(biāo)識(shí)體系v′12標(biāo)識(shí)v′13工業(yè)產(chǎn)品v14〗(6)
TG2=G′2=標(biāo)簽,表現(xiàn)形式v21標(biāo)識(shí)體系v′22標(biāo)識(shí)v′23工業(yè)產(chǎn)品v24〗(7)
若變換后滿足P=(G1∧G′2)↓L,那么說明轉(zhuǎn)換后其表示體系滿足共存。
2.2 基于 QR Code 物聯(lián)碼標(biāo)簽設(shè)計(jì)
2.2.1 物聯(lián)碼結(jié)構(gòu)設(shè)計(jì)
物聯(lián)碼標(biāo)簽構(gòu)建的好壞,直接關(guān)系到能夠被識(shí)別系統(tǒng)識(shí)別和實(shí)時(shí)獲取。本文結(jié)合Denso 公司提出的 QR Code快速響應(yīng)碼作為識(shí)別物聯(lián)碼結(jié)構(gòu)設(shè)計(jì)方法,該響應(yīng)碼具有信息存儲(chǔ)量大、糾錯(cuò)和容錯(cuò)能力強(qiáng)、成本低、防偽功能強(qiáng)等特點(diǎn);其具體結(jié)構(gòu)如圖2所示。
2.2.2 物聯(lián)碼編譯設(shè)計(jì)
在完成物聯(lián)碼的設(shè)計(jì)后,需要按照一定的規(guī)則和標(biāo)準(zhǔn)對(duì)標(biāo)識(shí)代碼進(jìn)行處理,從而生成物聯(lián)碼標(biāo)簽,此過程就為物聯(lián)碼的編譯過程。在本研究中,首先確定標(biāo)識(shí)字符的數(shù)據(jù)類型,然后對(duì)數(shù)據(jù)流進(jìn)行分析,并選擇糾錯(cuò)的等級(jí)、版本信息;最后通過編碼生成物聯(lián)網(wǎng)圖案。
3 共識(shí)算法設(shè)計(jì)
要實(shí)現(xiàn)圖1共識(shí)層需構(gòu)建共識(shí)算法,以保證節(jié)點(diǎn)一致性。對(duì)分布式節(jié)點(diǎn)的一致性問題,人們提出拜占庭算法對(duì)區(qū)塊鏈管理進(jìn)行優(yōu)化;但拜占庭算法忽視一個(gè)問題,那就是在區(qū)塊鏈中節(jié)點(diǎn)是動(dòng)態(tài)變化的。為解決該問題,提出兩點(diǎn)策略:一是考慮到共識(shí)節(jié)點(diǎn)是誠(chéng)實(shí)的,因此不需要采用傳統(tǒng)拜占庭算法的三階段廣播來達(dá)成節(jié)點(diǎn)共識(shí),而只需要采用二階段廣播的方式。這樣的目的是減少傳統(tǒng)的通信開銷;二是當(dāng)有新的節(jié)點(diǎn)加入/退出的時(shí)候,通過投票確定主節(jié)點(diǎn),從而降低視圖切換所觸發(fā)的頻率。然后打包其他的交易記錄,并向其他節(jié)點(diǎn)廣播。其具體流程如圖3所示。
另外,在分布式節(jié)點(diǎn)中需要每個(gè)節(jié)點(diǎn)都達(dá)成一致,那么每個(gè)節(jié)點(diǎn)的狀態(tài)需保持一致,同時(shí)原始區(qū)也需要保持一致。假設(shè)在信息追溯區(qū)塊鏈中,區(qū)塊鏈高度用H表示,區(qū)塊的Merkle樹和上個(gè)區(qū)塊的Hash值。因此,基于以上的分析,結(jié)合經(jīng)典的拜占庭算法步驟,將改進(jìn)共識(shí)算法的步驟設(shè)計(jì)為:
(1)客戶端發(fā)起交易請(qǐng)求,請(qǐng)求為M;
(2)推舉主節(jié)點(diǎn)和對(duì)應(yīng)視圖,如有新節(jié)點(diǎn)加入,則對(duì)P、V重新編號(hào);但不立即視圖切換,直到主節(jié)點(diǎn)出錯(cuò);
(3)主節(jié)點(diǎn)進(jìn)行打包交易,并向備份節(jié)點(diǎn)廣播<Prepare,P,V,d>;
(4)備份節(jié)點(diǎn)驗(yàn)證收到的廣播消息,并阿星主節(jié)點(diǎn)發(fā)送確認(rèn)信息;
(5)主節(jié)點(diǎn)將交易打包成區(qū)塊,并將該打包的區(qū)塊全部轉(zhuǎn)發(fā)給所有的網(wǎng)絡(luò)備份節(jié)點(diǎn),轉(zhuǎn)發(fā)格式為<Block,M,V,P>,如收到兩個(gè)以上的沖突相應(yīng),或者沒有收到,則轉(zhuǎn)到步驟(7);
(6)備份節(jié)點(diǎn)驗(yàn)證區(qū)塊,如驗(yàn)證沒通過,則跳轉(zhuǎn)步驟(8);
(7)通過改進(jìn)拜占庭算法進(jìn)行共識(shí)操作;
(8)主節(jié)點(diǎn)若故障,則觸發(fā)視圖變更協(xié)議,并跳轉(zhuǎn)到步驟(2);
(9)節(jié)點(diǎn)發(fā)送反饋,此輪共識(shí)結(jié)束。
4 系統(tǒng)實(shí)現(xiàn)與測(cè)試
4.1 開發(fā)環(huán)境搭建
該系統(tǒng)開發(fā)主要涉及兩方面:頁面展示系統(tǒng)的開發(fā)。本文結(jié)合當(dāng)前的開發(fā)語言,采用Java語言對(duì)系統(tǒng)頁面進(jìn)行開發(fā)。而在開發(fā)中,包含PC端和Android界面開發(fā);在區(qū)塊鏈部分,采用以太坊作為區(qū)塊鏈的底層開發(fā)技術(shù)。首先下載以太坊 geth安裝程序,設(shè)置環(huán)境參數(shù),創(chuàng)建genesis.json 文件,然后在初始化后進(jìn)入控制臺(tái)實(shí)現(xiàn)節(jié)點(diǎn)的添加。
硬件方面采用Intel(R)Core(TM)i5-7200u cpu,64位Linux操作系統(tǒng),16 GBweb服務(wù)器,同時(shí)使用6臺(tái)虛擬作為后臺(tái)運(yùn)行區(qū)塊鏈。
4.2 部分功能展示
物聯(lián)碼生成、識(shí)別與信息展示如圖7所示。
通過圖7的結(jié)果看出,再輸入工業(yè)塑料制品基本信息后,生成統(tǒng)一的標(biāo)識(shí),并通過轉(zhuǎn)換橋轉(zhuǎn)換為物聯(lián)碼標(biāo)簽給客戶??蛻糁苯油ㄟ^掃描對(duì)標(biāo)識(shí)進(jìn)行識(shí)別,并查詢相關(guān)信息。
4.3 數(shù)據(jù)真實(shí)性驗(yàn)證
為驗(yàn)證區(qū)塊鏈在防偽方面的效果,點(diǎn)擊生成指紋數(shù)據(jù),進(jìn)而區(qū)塊鏈對(duì)工業(yè)塑料制品信息進(jìn)行哈希計(jì)算,得到新的數(shù)據(jù)指紋。將該數(shù)據(jù)指紋地址輸入到查詢框,可得到工業(yè)產(chǎn)品信息的原始數(shù)據(jù)指紋;最后將兩個(gè)指紋數(shù)據(jù)進(jìn)行比對(duì),就可以辨別真?zhèn)巍?/p>
5 結(jié)語
研究看出,要實(shí)現(xiàn)統(tǒng)一的工業(yè)產(chǎn)品信息追溯,需要從以下幾個(gè)方面入手:第一是結(jié)合海量數(shù)據(jù)的結(jié)構(gòu)搭建;第二是解決標(biāo)識(shí)異構(gòu)問題;第三是解決區(qū)塊鏈共識(shí)問題;第四是需要解決頁面開發(fā)問題。上述4個(gè)步驟都是實(shí)現(xiàn)工業(yè)產(chǎn)品全生命周期信息追溯的關(guān)鍵;但以上研究只是從宏觀監(jiān)管的角度進(jìn)行初步設(shè)計(jì),在許多細(xì)節(jié)處理方面,還有待進(jìn)一步深挖。
【參考文獻(xiàn)】
[1]楊信廷,王明亭,徐大明,等.基于區(qū)塊鏈的農(nóng)產(chǎn)品追溯系統(tǒng)信息存儲(chǔ)模型與查詢方法[J].農(nóng)業(yè)工程學(xué)報(bào),2019,35(22):323-330.
[2] 汪允敏,李揮,王菡,等.區(qū)塊鏈在工業(yè)互聯(lián)網(wǎng)標(biāo)識(shí)數(shù)據(jù)管理策略研究[J].計(jì)算機(jī)工程與應(yīng)用,2020,56(7):1-7.
[3] 劉怡君.基于工業(yè)互聯(lián)網(wǎng)的工業(yè)產(chǎn)品全生命周期信息追溯系統(tǒng)研究[D].烏魯木齊:新疆大學(xué),2019.
[4] 趙倩.基于PBFT算法的區(qū)塊鏈用戶隱私數(shù)據(jù)保護(hù)與查找問題研究[J].甘肅科技縱橫,2020,49(6):4-7.
[5] 陸歌皓,謝莉紅,李析禹.區(qū)塊鏈共識(shí)算法對(duì)比研究[J].計(jì)算機(jī)科學(xué),2020,47(S1):332-339.
[6] 韓嗣誠(chéng),朱曉榮,張秀賢.優(yōu)化可擴(kuò)展的拜占庭容錯(cuò)共識(shí)算法[J].物聯(lián)網(wǎng)學(xué)報(bào),2020,4(2):18-25.
[7] 楊麗,付文玉,張建華,等.基于物元可拓法研究生培養(yǎng)質(zhì)量的綜合評(píng)價(jià)[J].中國(guó)衛(wèi)生事業(yè)管理,2020,37(5):385-387.
[8] 盧銘君.基于Android與JAVA的音樂管理系統(tǒng)研究與設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2020,16(13):93-94.
[9] 宋海雨.基于可拓學(xué)的大學(xué)生網(wǎng)絡(luò)游戲成癮防治效果評(píng)價(jià)研究[J].重慶工商大學(xué)學(xué)報(bào)(自然科學(xué)版),2020,37(1):78-84.
[10] 鄭晉翡.基于改進(jìn)屬性重要度和可拓學(xué)的向海生態(tài)診斷模型研究[D].長(zhǎng)春:長(zhǎng)春工程學(xué)院,2020.