黃 寧,谷茂春,王敬紅
(甘肅開(kāi)放大學(xué),甘肅 蘭州 730030)
我國(guó)在2016 年將發(fā)展區(qū)塊鏈作為核心技術(shù)自主創(chuàng)新的主要切入點(diǎn),并將其寫(xiě)入《“十三五”國(guó)家信息化規(guī)劃》,用以解決當(dāng)前傳統(tǒng)領(lǐng)域面臨的許多難點(diǎn)問(wèn)題[1]。 近幾年,自發(fā)生新型冠狀病毒肺炎(COVID-19)以來(lái),國(guó)內(nèi)外一直不斷反復(fù)暴發(fā),其傳播的途徑多樣,為此農(nóng)產(chǎn)品溯源系統(tǒng)成為查找食品源頭的重要手段,保障了食品安全,提高了廣大消費(fèi)者的信任[2]。 農(nóng)產(chǎn)品追溯系統(tǒng)可以記錄食品源頭、運(yùn)輸及存儲(chǔ)等詳細(xì)信息,如果出現(xiàn)食品安全問(wèn)題,為避免產(chǎn)品繼續(xù)在市場(chǎng)流通而發(fā)生食品安全事件,可以通過(guò)溯源系統(tǒng)及時(shí)查到并召回問(wèn)題產(chǎn)品[3]。
區(qū)塊鏈?zhǔn)且环N鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),主要用于存儲(chǔ)和驗(yàn)證數(shù)據(jù),如果數(shù)據(jù)發(fā)生變化,可以用分布式節(jié)點(diǎn)共識(shí)算法完成。 由于數(shù)據(jù)訪(fǎng)問(wèn)和傳輸對(duì)安全和隱私性具有一定的要求,這一點(diǎn)可以借助密碼學(xué)方式來(lái)予以保證。至于數(shù)據(jù)編程和操作,可以用智能合約解決,后者是由自動(dòng)化腳本代碼構(gòu)成的。 所有的交易信息都在網(wǎng)上,公開(kāi)透明。 區(qū)塊鏈?zhǔn)且环N分布式賬本技術(shù)加上分布式共識(shí)機(jī)制和加密安全措施,是比特幣和像以太網(wǎng)這樣的平臺(tái)等加密貨幣的基礎(chǔ)。 它提供的方法可以傳輸和記錄數(shù)據(jù),這種方法是透明的,具有安全性特征,并可以追溯。 該技術(shù)能夠使組織透明、民主、分散、高效并且安全可靠。 在未來(lái)5 到10 年間,許多行業(yè)將因?yàn)閰^(qū)塊鏈技術(shù)的應(yīng)用而被顛覆。
區(qū)塊鏈系統(tǒng)具有很多特點(diǎn),比如高度自治、去中心化、不可篡改等,作為共享數(shù)據(jù)庫(kù),可以用于存儲(chǔ)信息和數(shù)據(jù),存儲(chǔ)的內(nèi)容不僅是公開(kāi)透明的,而且全程留痕,沒(méi)有被偽造的可能。 正是憑借這些優(yōu)勢(shì),區(qū)塊鏈技術(shù)可以讓使用者充分信任,其建立起來(lái)的合作機(jī)制是完全可靠的,因此在未來(lái)必將得到廣泛應(yīng)用。
加密算法大致可以分成兩種,分別在不同場(chǎng)景使用。 一種是對(duì)稱(chēng)加密,要想解密必須獲知雙方密鑰,加密和解密使用的密鑰是同一個(gè);另一種是非對(duì)稱(chēng)加密算法,即加密和解密時(shí)使用不同的密鑰,一種是公開(kāi)密鑰,簡(jiǎn)稱(chēng)公鑰,另一種是私有密鑰,簡(jiǎn)稱(chēng)私鑰,公鑰和私鑰成對(duì)出現(xiàn)。 當(dāng)網(wǎng)絡(luò)中的數(shù)據(jù)使用公鑰加密,解密時(shí)就必須使用相對(duì)應(yīng)的私鑰才能解密,相反,網(wǎng)絡(luò)中的數(shù)據(jù)使用私鑰加密,就必須使用相對(duì)應(yīng)的公鑰才能解密。使用此方法進(jìn)行加密的信息數(shù)據(jù)可以在網(wǎng)絡(luò)中安全傳輸,不易被竊取或者篡改,保證了數(shù)據(jù)的安全性。 非對(duì)稱(chēng)加密算法用于比特幣系統(tǒng)中,公鑰與私鑰成對(duì)出現(xiàn),公鑰用于解密。
傳統(tǒng)的數(shù)據(jù)庫(kù)信息系統(tǒng)都存在一個(gè)中央處理器,數(shù)據(jù)的刪除及篡改只需中央管理員稍作操作即可實(shí)現(xiàn)。 但是在區(qū)塊鏈技術(shù)中,信息數(shù)據(jù)在數(shù)據(jù)庫(kù)中的存儲(chǔ)方式為分布式,具有無(wú)中心化,篡改和刪除數(shù)據(jù)是很難操作的。 因?yàn)樗惴ǖ奶厥庑?網(wǎng)絡(luò)中參與節(jié)點(diǎn)可以識(shí)別網(wǎng)絡(luò)中所有的非法操作,并把非法操作剔除,因此,區(qū)塊鏈中的交易參與者不信任網(wǎng)絡(luò)中的任何人和數(shù)據(jù)信息,而是通過(guò)增加新的參與者,使得整個(gè)網(wǎng)絡(luò)中的數(shù)據(jù)安全、可信,所有數(shù)據(jù)做到公開(kāi)透明,使網(wǎng)絡(luò)安全性不斷提高。
1991 年,哈勃和斯托內(nèi)爾塔提出了在記錄文件的時(shí)候,可以采用時(shí)間戳技術(shù),通過(guò)數(shù)字化記錄方式方便地查看創(chuàng)建文件的時(shí)間,在生成時(shí)間戳之后,文件順序就無(wú)法更改,從而確保數(shù)據(jù)修改前后的安全性。
當(dāng)文件發(fā)送時(shí),加載時(shí)間和指向前一篇文章的鏈接,用該文件包含簽名信息的認(rèn)證指針指向下一個(gè)數(shù)據(jù)串。 當(dāng)一份文件需要進(jìn)行認(rèn)證,時(shí)間戳系統(tǒng)會(huì)指向3 條信息簽名,分別是文件內(nèi)容、當(dāng)前時(shí)間以及前一篇文件認(rèn)證的哈希指針。 如此,在認(rèn)證每份文件的時(shí)候,都需要保證前一份文件是完整的,認(rèn)證點(diǎn)之前的文件的完整性均能得到保證。 如果所有的文件信息被系統(tǒng)中的用戶(hù)記錄下來(lái),那么整個(gè)文件系統(tǒng)的真實(shí)性就得到了保障,數(shù)據(jù)不易被篡改,按照一定的時(shí)間先后順序保存下來(lái),再把所有的數(shù)據(jù)信息記錄在數(shù)據(jù)庫(kù)賬本中。
共識(shí)機(jī)制是一種認(rèn)定手段,也用于防篡改,主要通過(guò)所有記賬節(jié)點(diǎn)達(dá)成的共識(shí)去確保每項(xiàng)記錄都是有效的。 區(qū)塊鏈在發(fā)展過(guò)程中出現(xiàn)了許多種共識(shí)機(jī)制,可以應(yīng)用到不同的場(chǎng)景。 目前區(qū)塊鏈技術(shù)的共識(shí)機(jī)制主要以以下4 種為主:(1)工作量證明機(jī)制(Proof of Work,PoW)。 通過(guò)一定的算法計(jì)算得出一個(gè)隨機(jī)數(shù),計(jì)算成果并獲得本次交易區(qū)塊的記賬權(quán),要把這些數(shù)據(jù)信息存儲(chǔ)下來(lái),先要向全網(wǎng)進(jìn)行廣播。 因?yàn)橘~本記錄需要一個(gè)評(píng)價(jià)標(biāo)準(zhǔn),在每個(gè)賬本分頁(yè)添加1 個(gè)隨機(jī)元素來(lái)調(diào)整記賬難度,保證一定時(shí)間內(nèi)僅有1 人獲得合法記賬權(quán)。 PoW 共識(shí)機(jī)制在運(yùn)行中必須遵守兩條原則:一是把最長(zhǎng)鏈條作為正確鏈條;二是激勵(lì)原則,如果發(fā)現(xiàn)了合格區(qū)塊按照一定的規(guī)則進(jìn)行獎(jiǎng)勵(lì)收益。 而比特幣所采用的SHA256 哈希算法,需要進(jìn)行2 次SHA256 運(yùn)算得到最終結(jié)果,因此在網(wǎng)絡(luò)中算力越大的節(jié)點(diǎn),挖礦獲得記賬權(quán)和比特幣的概率越大,對(duì)區(qū)塊鏈安全維護(hù)的權(quán)重越大。 (2)股權(quán)證明機(jī)制(Proof of Stake,PoS)。 通過(guò)公鏈中的共識(shí)算法替換原有的PoW共識(shí)算法,PoS 共識(shí)算法試圖采取不同的機(jī)制取代挖礦技術(shù)概念。 但PoS 機(jī)制一般和PoW 結(jié)合使用,通過(guò)PoS 來(lái)控制PoW 工作量證明的難度。 (3)股份授權(quán)證明機(jī)制(Delegated Proof of Stake,DPoS)。 采用保護(hù)加密貨幣算法按照民主決策的方法使得中心化受到控制。通過(guò)減少對(duì)確認(rèn)數(shù)量的要求及各個(gè)節(jié)點(diǎn)之間的記賬與認(rèn)證,提高共識(shí)驗(yàn)證的效率。 與PoW 和PoS 共識(shí)機(jī)制相比較,DPoS 允許一個(gè)區(qū)塊中可以包含更多的交易。 (4)Pool 驗(yàn)證池。 為了提高共識(shí)驗(yàn)證的工作效率,在原始分布式技術(shù)基礎(chǔ)上加入數(shù)據(jù)驗(yàn)證機(jī)制,可以大幅度縮短驗(yàn)證時(shí)間,具有較高的安全性,在工作時(shí)也不需要依賴(lài)代幣,Pool 驗(yàn)證池是使用比較廣泛的一種共識(shí)機(jī)制。
目前關(guān)于物聯(lián)網(wǎng)的定義有很多版本,但是最常見(jiàn)的版本通常都認(rèn)為這是一組通過(guò)互聯(lián)網(wǎng)連接的各種事物,包括人、物體、計(jì)算機(jī)、電話(huà)、建筑物、動(dòng)物等。 物聯(lián)網(wǎng)這一術(shù)語(yǔ)是自嵌入式系統(tǒng)能夠連接到互聯(lián)網(wǎng)以后才開(kāi)始使用的,其范圍也在不斷擴(kuò)大,從電腦、移動(dòng)電話(huà),到智能手表、恒溫器和冰箱,甚至包括整條生產(chǎn)線(xiàn)。
在農(nóng)產(chǎn)品溯源中,物聯(lián)網(wǎng)的作用至關(guān)重要。 借助物聯(lián)網(wǎng)設(shè)備可以對(duì)資產(chǎn)進(jìn)行跟蹤,且這類(lèi)設(shè)備有很多型號(hào),可以根據(jù)實(shí)際需要做出選擇。 傳感器可以用于測(cè)量溫度,GPS 則用于跟蹤位置,還有WiFi,SigFox 和Sub1Ghz 等。 在運(yùn)輸公司、農(nóng)場(chǎng)、零售網(wǎng)點(diǎn)等場(chǎng)景中都需要使用到這些設(shè)備,可以被應(yīng)用到整個(gè)食品鏈的各個(gè)環(huán)節(jié)。 在整個(gè)鏈條中,運(yùn)輸環(huán)節(jié)接受的挑戰(zhàn)最大,很多食品只有在特定環(huán)境中運(yùn)輸才不容易變質(zhì),要確保食品保鮮且不遭受污染,就必須控制好溫度。
現(xiàn)在,消費(fèi)者越來(lái)越要求產(chǎn)品的透明度,即了解產(chǎn)品是如何制造的、在哪里制造的。 歐盟要求提供企業(yè)供應(yīng)鏈上的諸多信息,如果某些企業(yè)或國(guó)家不遵守就會(huì)受到巨額罰款。 一些國(guó)家的消費(fèi)者已開(kāi)始追溯食品是在哪里生產(chǎn)的,在到達(dá)餐桌之前在批發(fā)商、零售商那里經(jīng)過(guò)了多少手。
消費(fèi)者購(gòu)買(mǎi)的產(chǎn)品,某一部門(mén)或者某一個(gè)平臺(tái)能否得到一份貨物的最新物流信息,且能夠保證數(shù)據(jù)信息的絕對(duì)安全,現(xiàn)在可以利用物聯(lián)網(wǎng)和區(qū)塊鏈技術(shù)采集這些信息(產(chǎn)品狀態(tài)更新、信用證審批等)。 大量的實(shí)踐數(shù)據(jù)顯示,使用區(qū)塊鏈+物聯(lián)網(wǎng)技術(shù)建設(shè)的農(nóng)產(chǎn)品溯源系統(tǒng),在一定程度上可以降低運(yùn)輸成本,保障農(nóng)產(chǎn)品質(zhì)量,提高工作效率[4]。
有很多人和機(jī)構(gòu)參與到現(xiàn)代食品鏈中,所要遵循的流程并不一定與現(xiàn)實(shí)中的流程相符,更加簡(jiǎn)單[5]。要達(dá)成的目標(biāo)是了解食品鏈中存在的實(shí)際問(wèn)題,以及區(qū)塊鏈和物聯(lián)網(wǎng)如何解決這些問(wèn)題。
如圖1 所示為區(qū)塊鏈標(biāo)準(zhǔn)的區(qū)塊鏈Hyperledger Fabric 架構(gòu)。 區(qū)塊鏈架構(gòu)主要包括3 個(gè)層次:前端應(yīng)用、中間、Hyperledger Fabric 和物聯(lián)網(wǎng)平臺(tái)。 開(kāi)發(fā)前端應(yīng)用由UI 框架、語(yǔ)言規(guī)范、生成工具和Package Manager 組成。
圖1 區(qū)塊鏈架構(gòu)
前端應(yīng)用這一層需要輸入數(shù)據(jù),輸入的內(nèi)容可以是數(shù)據(jù)包,也可以自定義應(yīng)用。 可以與物聯(lián)網(wǎng)設(shè)備進(jìn)行交互,在實(shí)際應(yīng)用中收集前端數(shù)據(jù),在區(qū)塊鏈中注冊(cè)賬號(hào)。
使用物聯(lián)網(wǎng)設(shè)備解決資產(chǎn)跟蹤,利用電子資產(chǎn)跟蹤器,可用于收集溫度和環(huán)境數(shù)據(jù),識(shí)別GPS 定位。 物聯(lián)網(wǎng)平臺(tái)架構(gòu)包括消息隊(duì)列遙測(cè)傳輸、Node-RED 和IBM Cloud 重要的組件[6]。
重要組件在食品鏈運(yùn)轉(zhuǎn)中發(fā)揮的作用包括:
(1)借助Node-RED 控制面板儀表盤(pán),可以選取一個(gè)資產(chǎn)跟蹤器,對(duì)數(shù)據(jù)、位置、設(shè)備狀態(tài)等信息進(jìn)行檢查。
(2)資產(chǎn)跟蹤器可以在移動(dòng)網(wǎng)絡(luò)上激活或更新。
(3)借助Node-RED 儀表盤(pán)可以及時(shí)地獲取地理位置信息,從而完成跟蹤任務(wù)。
(4)資產(chǎn)跟蹤器設(shè)備查詢(xún)溫度數(shù)據(jù),然后查詢(xún)位置或速度數(shù)據(jù)。
(5)Node-Red 可以獲取位置、溫度和速度相關(guān)數(shù)據(jù),并記錄在Hyperledger Fabric 中。
(6) 借助Node-Red 儀表盤(pán)可以獲取記錄在Hyperledger 中的各類(lèi)信息,包括時(shí)間、交易歷史、地理位置信息等。
在區(qū)塊鏈網(wǎng)絡(luò)中,API/SDK 是連接的集成層,開(kāi)發(fā)這一層需要用到Node.js,主要用于調(diào)用智能合約。
Hyperledger composer 是解決方案中的最后一層,作為一種簡(jiǎn)單方法,可以用于創(chuàng)建區(qū)塊鏈網(wǎng)絡(luò),集成全棧工作方案。 如果級(jí)別較高,包括如下組件:(1)執(zhí)行runtime。 (2)JavaScript SDK。 (3)命令行接口(CLI)。(4)REST 服務(wù)器。 (5)環(huán)回連接器。 (6)Playground 網(wǎng)絡(luò)用戶(hù)界面。 (7)Yeoman 代碼生成器。 (8)VS Code和Atom 編輯器插件。
基于區(qū)塊鏈的農(nóng)產(chǎn)品追溯系統(tǒng)架構(gòu)具有多個(gè)層次,包括應(yīng)用層、共識(shí)層、數(shù)據(jù)層等[4],如圖2 所示。 在農(nóng)產(chǎn)品種植環(huán)節(jié),可以使用智能檢測(cè)器進(jìn)行檢測(cè),例如傳感器和控制器等設(shè)備,記錄種植基地的環(huán)境,如氣溫、濕度、農(nóng)藥濃度等相關(guān)數(shù)據(jù),并上鏈備案。
圖2 基于區(qū)塊鏈的農(nóng)產(chǎn)品追溯系統(tǒng)架構(gòu)
在食品加工環(huán)節(jié),把相關(guān)企業(yè)以及加工環(huán)境等信息上鏈備案。 在運(yùn)輸流通環(huán)節(jié),將物流公司相關(guān)注冊(cè)信息記錄上鏈,同時(shí)將倉(cāng)儲(chǔ)的環(huán)境、運(yùn)輸車(chē)輛環(huán)境,如溫度、濕度情況,進(jìn)行記錄并存入?yún)^(qū)塊。 監(jiān)管部門(mén)通過(guò)區(qū)塊鏈信息平臺(tái)進(jìn)行監(jiān)管,保證農(nóng)產(chǎn)品食品質(zhì)量。 消費(fèi)者只需要掃碼就可以從平臺(tái)上獲取相關(guān)信息,這些信息可用于辨別農(nóng)產(chǎn)品真?zhèn)巍?/p>
在供應(yīng)鏈層各個(gè)環(huán)節(jié)的信息系統(tǒng)及其產(chǎn)生的數(shù)據(jù)是追溯的核心數(shù)據(jù)來(lái)源,構(gòu)成了基礎(chǔ)數(shù)據(jù)[7]。 在網(wǎng)絡(luò)層,數(shù)據(jù)被存儲(chǔ)在不同節(jié)點(diǎn)當(dāng)中,其存儲(chǔ)依據(jù)主要是節(jié)點(diǎn)權(quán)限、身份驗(yàn)證以及P2P 網(wǎng)絡(luò)協(xié)議。 數(shù)據(jù)傳輸在公鏈層進(jìn)行,上鏈后,數(shù)據(jù)不能被篡改。 共識(shí)層在對(duì)數(shù)據(jù)進(jìn)行管理時(shí)采用的是權(quán)益證明算法,權(quán)益證明在共識(shí)算法中就是資源證明,節(jié)點(diǎn)權(quán)益的高低與其擁有資源的多少有關(guān),權(quán)益越高,擁有資源越多,并且具有記賬權(quán)。 一般來(lái)說(shuō),在農(nóng)產(chǎn)品追溯系統(tǒng)中,政府部門(mén)擁有最高權(quán)限,其主要職能是審核供應(yīng)鏈中參與的主體[8]。 合約層總結(jié)歸納農(nóng)產(chǎn)品的相關(guān)技術(shù)標(biāo)準(zhǔn)及為保障質(zhì)量安全制定的相關(guān)法律法規(guī),最后形成智能合約,通過(guò)制定一定的條件和響應(yīng)規(guī)則,加入供應(yīng)鏈流程中,實(shí)現(xiàn)監(jiān)管職能,從而提高監(jiān)管效率。 應(yīng)用層主要是已建成的追溯系統(tǒng)門(mén)戶(hù)網(wǎng)站,為政府、組織、商家、企業(yè)及消費(fèi)者等提供信息服務(wù)[9]。 農(nóng)產(chǎn)品生產(chǎn)過(guò)程中會(huì)產(chǎn)生各類(lèi)參與者的數(shù)據(jù)信息,這些數(shù)據(jù)信息在整個(gè)過(guò)程中不斷增加,并采用區(qū)塊鏈技術(shù)進(jìn)行存儲(chǔ),可以確保數(shù)據(jù)和信息對(duì)相關(guān)參與者和利益者都是透明的[10]。
區(qū)塊鏈?zhǔn)且粋€(gè)非常安全、不受任何人控制、數(shù)據(jù)信息不可篡改、網(wǎng)絡(luò)中所有節(jié)點(diǎn)皆可訪(fǎng)問(wèn)、去中心化、可追溯、可信任的平臺(tái)和數(shù)據(jù)庫(kù)。 區(qū)塊鏈+農(nóng)產(chǎn)品,就目前的農(nóng)產(chǎn)品安全問(wèn)題,區(qū)塊鏈技術(shù)借助互聯(lián)網(wǎng)身份標(biāo)識(shí)技術(shù),生產(chǎn)商可將原料產(chǎn)出、加工、儲(chǔ)存等信息記錄于區(qū)塊鏈上,消費(fèi)者購(gòu)買(mǎi)時(shí)可在區(qū)塊鏈上溯源、查詢(xún),實(shí)現(xiàn)從種植、加工到消費(fèi)的整個(gè)流程全透明。 用區(qū)塊鏈技術(shù)建立的網(wǎng)絡(luò)結(jié)構(gòu),人人都可參與其中,并成為無(wú)數(shù)節(jié)點(diǎn)之一進(jìn)行追溯、交易、認(rèn)證等,方便快捷、公開(kāi)透明、成本低,無(wú)法篡改、取締和偽造記錄。
無(wú)線(xiàn)互聯(lián)科技2022年20期