丁慶洋,朱建明,張瑾,宋彪,3,許艷靜,賈傳昌,高政
?
基于雙層架構的溯源許可鏈共識機制
丁慶洋1,朱建明1,張瑾2,宋彪1,3,許艷靜1,賈傳昌1,高政1
(1. 中央財經大學信息學院,北京 100081; 2. 中央財經大學保險學院,北京 100081; 3. 內蒙古財經大學會計學院,內蒙古 呼和浩特,010000)
區(qū)塊鏈中的區(qū)塊按照時間歷史順序進行排列,同時通過數(shù)據加密技術以及共識機制使區(qū)塊鏈具有不可篡改性,這使產品溯源成為區(qū)塊鏈的重要應用場景。選擇產品信息追溯技術要考慮技術的可行性同時要考慮產品以及生產者的市場屬性,這使許可鏈代替公有鏈成為產品信息溯源的重要部署方式?,F(xiàn)有研究成果中對溯源許可鏈的研究多停留在機制設計和框架建構上,少有對適用于產品信息溯源的共識算法進行研究。在技術工程實踐過程中,聯(lián)盟鏈中多選用實用拜占庭容錯(PBFT,practical byzantine fault tolerance)作為溯源鏈的共識機制(如超級賬本項目Hyperledger),但隨著參與節(jié)點數(shù)量的增加,溯源鏈的運行效率明顯下降,延遲時間明顯提高,致使多數(shù)項目依然處于實驗階段。基于此,提出基于雙層架構的溯源許可鏈共識機制(DLPCM)。首先將參與者在垂直維度上化分為兩層,其次在不同層次上根據區(qū)塊鏈的不同部署方式采用不同的共識機制,最后對該共識機制下的溯源信息查詢機制進行介紹,為基于許可鏈的溯源系統(tǒng)的開發(fā)和設計提供了重要借鑒。
許可鏈;溯源;雙層架構;共識機制
區(qū)塊鏈最初作為“數(shù)字貨幣”?比特幣的底層支撐技術進入人們的視野,并以其良好的分布式存儲、點對點傳輸機制、數(shù)據可追溯性、數(shù)據防篡改性逐漸為人們所認可。在經歷作為數(shù)字加密貨幣底層支撐技術的區(qū)塊鏈1.0時代,以及以以太坊為代表的區(qū)塊鏈2.0時代,區(qū)塊鏈技術不斷成熟,其應用場景不斷擴展,實踐落地的項目也越來越多(如國內的百度區(qū)塊鏈、美圖鏈、阿里慈善溯源鏈等),區(qū)塊鏈已經迎來了區(qū)塊鏈3.0的時代。2018年5月20日,工業(yè)和信息化部發(fā)布了《2018中國區(qū)塊鏈產業(yè)白皮書》,對區(qū)塊鏈未來的發(fā)展做出了展望??梢灶A見,在未來一段時間內區(qū)塊鏈技術將取得長足進步,將會有更多的應用落地。
在諸多應用場景中,產品信息溯源已經成為一種重要的應用場景,國內外的應用實踐也逐步增多,如國外的超級賬本Hyperledger的鋸齒湖項目、國內的京東產品溯源項目,這些項目都取得一定的成果,其適用的產品也在逐漸擴展。但在實踐過程以及理論研究中依然存在諸多問題,如吞吐量、延遲時間等,阻礙著區(qū)塊鏈技術應用場景的進一步擴展。在諸多問題中,一個較為核心和底層的技術問題是溯源鏈的共識機制設計?,F(xiàn)階段理論研究中,關于區(qū)塊鏈用于產品溯源的研究大多為區(qū)塊鏈用于溯源的可行性、追溯機制的設計、產品信息溯源的模型框架建構以及區(qū)塊鏈技術應用于不同產品溯源的具體場景分析等。針對溯源鏈共識機制具體設計的研究較少。同時,在國內溯源實踐過程中,企業(yè)多以借鑒國外成熟的開源項目并加以利用為主,涉及原創(chuàng)性、基礎性的創(chuàng)新較少,因而對于溯源鏈共識算法的創(chuàng)新關注度不高,這就使基于區(qū)塊鏈技術的溯源鏈的共識機制研究存在較多空白。
同時,溯源尤其是產品生產信息的溯源,不僅是一個技術問題也是一個經濟問題,甚至是一個國家行政管理問題,存在諸多利益相關者。對于消費者而言,可溯源的產品信息有助于甄別假冒偽劣商品,提升消費效用,其對于產品可溯源系統(tǒng)的要求在于溯源信息的準確性、全面性和便捷性。對于國家行政機關而言,可溯源的產品信息有助于維護良好的市場氛圍,凈化市場環(huán)境,便于其行政管理工作的開展,其對于產品可溯源系統(tǒng)的要求在于溯源信息的不可偽造性和易于獲知性以及便于監(jiān)管性。對于企業(yè)而言,可追溯的產品信息有利于其提高產品附加值,提升產品競爭力,作為系統(tǒng)的投入者,企業(yè)也要考慮成本、技術可行性,最為重要的是企業(yè)商業(yè)數(shù)據的保密性。以區(qū)塊鏈技術作為底層支撐的溯源鏈具有較好的數(shù)據可追溯性、數(shù)據防篡改性以及分布式共享性,同時區(qū)塊鏈技術的不斷進步也使其實際應用性逐漸提高。但在實際應用過程中,也需要對區(qū)塊鏈的部署形式加以考慮。公有鏈雖然在加密“數(shù)字貨幣”中得到了廣泛應用,但其完全的去中心化、較低吞吐量以及延展性使其自主可控性較低,并不完全適用于溯源的業(yè)務場景。以聯(lián)盟鏈和私有鏈為具體部署形式的許可鏈具有區(qū)塊鏈數(shù)據的分布式共享性、數(shù)據歷史時序性以及數(shù)據不可篡改性,同時許可鏈中的存在類(準)中心節(jié)點,可以對參與者的權限進行控制,加之部署的智能合約可以較好地滿足相關利益方對追溯系統(tǒng)的要求,本文所論述的溯源鏈以許可鏈為底層構架,具體形式則為基于私有鏈的溯源鏈和基于聯(lián)盟鏈的溯源鏈。因而,本文所探討的基于雙層架構的溯源鏈的共識機制由部署于不同層次上的基于私有鏈的溯源鏈的共識算法和基于聯(lián)盟鏈的溯源鏈的共識算法組成。
基于雙層架構的溯源鏈共識機制設計相關的研究主要包括:對基于區(qū)塊鏈技術進行溯源的機制論證、對國內外共識算法的梳理、不同產品具體的溯源機制設計、基于公有鏈和私有鏈的雙鏈溯源機制設計等,具體如下。
1) 對基于區(qū)塊鏈技術進行溯源的機制論證
丁慶洋等[1]研究指出隨著我國電子商務的飛速發(fā)展,產生了一系列制約我國網絡零售市場長遠發(fā)展的難題,特別是B2C銷售中存在的信息不對稱、產品信息追溯和防偽問題等,更是難以依靠常規(guī)網絡零售市場治理手段予以徹底解決。鑒于區(qū)塊鏈技術能夠憑借分布式存儲架構、區(qū)塊鏈式連接、“瀑布效應”,利用密碼學、共識算法、智能合約等技術,在信息收集、流轉、共享等過程中解決信息追溯難題,彌補產品防偽漏洞,防止信息篡改,而區(qū)塊鏈上傳信息的真實性、可用性、完整性問題,也可借助物聯(lián)網技術加以解決,即能夠通過接入物聯(lián)網信息采集終端,確保信息客觀公正動態(tài)地傳輸?shù)诫娚唐脚_產品信息區(qū)塊鏈,實現(xiàn)對產品性狀等信息的實時跟蹤記錄,因此可利用區(qū)塊鏈技術實現(xiàn)對產品信息的追溯并防止篡改,進而結合物聯(lián)網技術解決產品防偽問題。Abeyratne等[2-3]基于Regattieri的研究展望了將區(qū)塊鏈技術應用于供應鏈管理的遠景,并分析了在供應鏈管理中可能會遇到的問題。文獻[4]討論了如何在其設計的Eximchain上使用智能合約來進行供應鏈管理。
2) 對國內外共識算法的梳理
袁勇等[5]系統(tǒng)性地梳理和討論了區(qū)塊鏈發(fā)展過程中的32種重要共識算法,介紹了傳統(tǒng)分布式一致性算法以及分布式共識領域的里程碑式的重要研究和結論,提出了區(qū)塊鏈共識算法的一種基礎模型和分類方法,并總結了現(xiàn)有共識算法的發(fā)展脈絡和若干性能指標。
3) 不同產品具體的溯源機制設計
Islam等[6]提出了一種基于區(qū)塊鏈的新型IC(集成電路)可追溯性方案。在該方案中,IC所有權轉移信息被記錄并存儲在區(qū)塊鏈中,并提出了嵌入式物理不可復制功能(PUF)來建立這種對應關系。區(qū)塊鏈確保了IC當前所有者的合法性,而PUF則防止IC偽造和篡改。他們提出的解決方案結合了硬件和軟件協(xié)議,讓供應鏈參與者在整個生命周期中對芯片進行認證、跟蹤、跟蹤、分析和配置。高峰等[7]提出了一種針對比特幣交易的溯源機制,能夠追蹤交易信息在網絡層的傳播路徑,從而將交易中的匿名比特幣地址和發(fā)起交易節(jié)點的IP地址相關聯(lián);設計了一種基于主動嗅探的鄰居節(jié)點識別方法,該溯源機制支持輕量級監(jiān)測,而且相比現(xiàn)有溯源技術具有更好的實用性。文中針對比特幣系統(tǒng)開發(fā)了溯源程序,從有效性、準確率、適用范圍等方面對其進行測試與分析評估。實驗結果表明,比特幣網絡中有69.9%的服務器節(jié)點適用于這種溯源機制,能夠獲得溯源精度(50%的召回率、31.25%的準確率)優(yōu)于現(xiàn)有的交易溯源方法,具有較強的實踐意義和使用價值。Biswas等[8]提出了一種基于區(qū)塊鏈的葡萄酒供應鏈可追溯系統(tǒng),其中每筆交易都被記錄為鏈中的一個區(qū)塊,并且對相關參與者可見。所提出的可追溯性系統(tǒng)在從葡萄到瓶子的整個過程中實現(xiàn)了透明度、問責制和安全性。
4) 基于公有鏈和私有鏈的雙鏈溯源機制設計
劉家稷等[9]利用區(qū)塊鏈分布式存儲、去信任化和不可篡改的特性設計了一個基于區(qū)塊鏈技術的防偽溯源系統(tǒng)(TSPPB,traceability system using public and private blockchain)。TSPPB使用公有鏈和私有鏈兩套區(qū)塊鏈,該溯源系統(tǒng)能夠確保獲得的溯源信息真實可靠、不可篡改,并解決傳統(tǒng)產品溯源系統(tǒng)存在的產品標簽復制、濫發(fā)和產品質量問題相關責任人及問題環(huán)節(jié)定位困難的問題。在確保溯源信息安全性并解決傳統(tǒng)溯源系統(tǒng)隱患的同時,TSPPB還能夠高效且保持低成本運行。但該系統(tǒng)設計之初并未考慮到監(jiān)管部門在整個溯源體系中的作用,也未對共識機制進行詳細論述。Feng等[10-11]構建了一個基于RFID技術與區(qū)塊鏈技術的溯源系統(tǒng)——Agri-food Supply Chain Traceability System,以防止溯源系統(tǒng)的信息被篡改并用于防止標簽復制,引入了BigchainDB的概念,以解決區(qū)塊鏈需要存儲現(xiàn)實世界中大量數(shù)據時可能存在的擴展性不足問題。沃爾頓鏈是一種結合了RFID技術與區(qū)塊鏈技術的溯源系統(tǒng),防止溯源系統(tǒng)的信息被篡改并通過RFID防止標簽復制。
通過梳理相關工作,可以發(fā)現(xiàn)基于區(qū)塊鏈實現(xiàn)溯源的相關研究已經取得豐碩的成果,其中基于雙構架的區(qū)塊鏈溯源也已有文獻涉及,但基于公有鏈和私有鏈的溯源機制,不僅在數(shù)據隱私可控和交易吞吐量方面難以到達要求,更重要的是其相關設計機制與實際情況存在巨大差異,未考慮實際應用場景的設計機制難以在實踐中得以大規(guī)模應用,同時針對基于私有鏈和聯(lián)盟鏈雙層架構的溯源機制研究并不多見,其中論述共識機制的文獻更是少見。
溯源鏈的功能和性質意味著其有諸多參與者,要求其有較高開放性,而現(xiàn)有以Hyperledger為代表的聯(lián)盟鏈并不能滿足較多參與者的高并發(fā)應用需求。因而本文提出雙層架構體系,在縱向將其劃分為主層和輔助層:主層用于溯源信息的共享和查詢并在主層部署聯(lián)盟鏈,輔助層用于收集存儲溯源信息并在輔助層部署私有鏈。將數(shù)據存儲量大、涉及產品具體生產銷售的敏感信息部署于私有鏈中,并通過散列指針的方式與主層聯(lián)結,主層則對數(shù)據的合規(guī)性進行審查并進行數(shù)據的共享,這種部署方式以產品溯源的具體業(yè)務場景為基礎,不僅有利于減輕主層的負載入,保護企業(yè)的隱私數(shù)據,同時滿足各方對溯源系統(tǒng)的要求。
溯源鏈涉及的利益相關者主要包括企業(yè)、消費者以及國家監(jiān)管機構。而企業(yè)根據其在產品的流通環(huán)節(jié)中位置又可以劃分為生產企業(yè)、物流企業(yè)、銷售企業(yè)。國家監(jiān)管機構根據其職能又可以劃分為工商行政管理機構、衛(wèi)生檢疫機構、稅務征收稽查機構、海關出入境管理機構、質量監(jiān)督管理機構等。消費者則是最終購買商品并具有產品信息溯源需求的消費人群。在雙層架構體系下,每一個企業(yè)和國家監(jiān)管機構都建立自身范圍內的私有鏈,不同的企業(yè)和國家行政管理部門私有鏈的具體數(shù)據內容不盡相同。生產企業(yè)主要存儲生產產品的原材料信息、生產加工環(huán)節(jié)信息、產品批號生產時間、相關國家部門的審批信息和鑒定信息。物流企業(yè)則主要存儲產品物流時間、物流存儲方式、物流批號、物流通道信息。國家監(jiān)管部門根據其履行法律職權的需要存儲不同的信息,主要為產品審批信息、抽查檢驗信息、衛(wèi)生檢疫信息、出入境審批信息等。這些私有鏈以及存儲信息構成了主層的數(shù)據基礎,各個私有鏈的數(shù)據通過散列指針與主層聯(lián)盟鏈相聯(lián)結。主層通過共識后的數(shù)據,以提供外部接口的方式為消費者進行溯源信息的查詢提供便利。在主層采用點對點組網機制,各個節(jié)點之間可以共享數(shù)據信息。在輔助層采用星形拓撲的組網機制,以參與主層共識的節(jié)點作為中心組網點。雙層架構體系如圖1所示。
基于雙層架構的溯源鏈整合了輔助層的私有鏈和主層的聯(lián)盟鏈,因而在不同層次中需要采用不同的共識機制。結合溯源業(yè)務實際,本文提出在主層聯(lián)盟鏈采用改進的實用拜占庭容錯(IPBFT,improved practical byzantine tolerance)共識機制,在輔助層私有鏈采用強領導式Raft(RSL,raft of strong leadership)共識機制。該共識機制主要分為3個階段:第1階段為用戶節(jié)點角色設置,第2階段為數(shù)據區(qū)塊構造,第3階段為審核共識階段以及數(shù)據上鏈更新。

圖1 雙層架構體系
溯源鏈基于許可鏈的數(shù)據結構形式,因而無論是基于聯(lián)盟鏈的溯源鏈還是基于私有鏈的溯源鏈都有類(準)中心節(jié)點。類(準)中心節(jié)點擁有記賬權,負責收集交易數(shù)據、建造數(shù)據區(qū)塊,同時對進入許可鏈中的參與者進行審核,對參與者的權限進行控制。具體到溯源鏈的主層中,類(準)中心節(jié)點一般是生產企業(yè)或具有一定信息技術基礎的大型銷售企業(yè),這些企業(yè)負責整體溯源鏈的規(guī)劃與建設,負責溯源鏈參與節(jié)點的審核并進行權限管理,向消費者提供溯源信息的查詢服務。在溯源鏈的輔助層中,類(準)中心節(jié)點一般為生產企業(yè)中的質監(jiān)部門或產品流通環(huán)節(jié)中其他企業(yè)的信息技術部門,這些部門負責私有鏈的運行與維護,并負責與聯(lián)盟鏈的信息傳輸。除類(準)中心節(jié)點外,還包括驗證節(jié)點。驗證節(jié)點參與共識,對區(qū)塊數(shù)據進行驗證。在主層中,驗證節(jié)點一般為國家執(zhí)法部門和流通環(huán)節(jié)中非類(準)中心節(jié)點的企業(yè),這些部門對職責范圍內的相關產品信息進行審核,并驗證數(shù)據區(qū)塊參與共識。在輔助層中,驗證節(jié)點為參與產品生產和銷售的企業(yè)中的其他部門,他們負責將產品信息發(fā)送至私有鏈的中心節(jié)點,并保存區(qū)塊鏈的數(shù)據備份。具體如表1所示。
溯源鏈中的類(準)中心節(jié)點負責建造區(qū)塊,其中產品生產、物流等各個環(huán)節(jié)的具體產品溯源信息存儲在輔助層的私有鏈中,而主層聯(lián)盟鏈中的數(shù)據只是私有鏈區(qū)塊的散列值。因而,大量數(shù)據存儲于輔助層,主層共識過程中的數(shù)據傳送量將大大降低,進而提高數(shù)據的吞吐量,降低延遲時間。
輔助層中的私有鏈是溯源機制的基礎,其數(shù)據區(qū)塊由區(qū)塊頭和區(qū)塊體兩部分組成。區(qū)塊頭中主要封裝當前區(qū)塊散列值、前置區(qū)塊頭散列值、產品生產或流通中涉及的部門散列值、版本號、Merkle根、時間戳,其中,當前區(qū)塊散列值是對經過驗證節(jié)點驗證之后的區(qū)塊利用Hash256算法計算等到的函數(shù)值,前置區(qū)塊頭散列值為父區(qū)塊的散列值,產品生產或流通中涉及的部門散列值是產品在具體生產或流通中涉及有關部門的散列值,版本號為整個區(qū)塊鏈系統(tǒng)的版本編號,Merkel根則是對區(qū)塊體中的數(shù)據進行Merkel計算后得到的,時間戳為經過驗證節(jié)點共同驗證后由類(準)中心節(jié)點設置。區(qū)塊體主要封裝產品生產或流通信息或銷售信息,不同企業(yè)由于其所處供應鏈條的環(huán)節(jié)不同,存儲的信息不盡相同,如生產企業(yè)數(shù)據區(qū)塊體主要包括的事項有:產品批號、生產時間、加工工藝、原材料信息、生產線編號、數(shù)字簽名等。圖2給出了生產企業(yè)私有鏈數(shù)據區(qū)塊結構的示例。
溯源鏈主層中的聯(lián)盟鏈主要實現(xiàn)數(shù)據在不同企業(yè)以及執(zhí)法部門中的共享,同時對外實現(xiàn)溯源信息的查詢。因而,在聯(lián)盟鏈區(qū)塊體中的數(shù)據并沒有必要存儲詳細信息,只要在數(shù)據區(qū)塊中存儲用于溯源的數(shù)據路徑以及相關企業(yè)私有鏈的區(qū)塊的散列值即可。其數(shù)據區(qū)塊由區(qū)塊頭和區(qū)塊體兩部分組成。區(qū)塊頭中主要封裝的數(shù)據信息與私有鏈中區(qū)塊頭中的數(shù)據類似,包括當前區(qū)塊散列值、前置區(qū)塊頭散列值、產品生產或流通中涉及的部門散列值、版本號、Merkle根、時間戳,區(qū)塊體中主要封裝的是不同企業(yè)私有鏈當前時間點上的區(qū)塊散列值、數(shù)字簽名。圖3為主層聯(lián)盟鏈的數(shù)據結構。

表1 溯源鏈中參與者角色設定
4.3.1 相關定義
為便于清晰闡釋共識算法的核心思想,本文將對共識機制涉及的主體以及客體進行定義,相關定義具體內容如下。

圖2 生產企業(yè)私有鏈數(shù)據區(qū)塊結構的示例

圖3 主層聯(lián)盟鏈的數(shù)據結構




4.3.2 共識算法
基于雙層架構的溯源鏈共識機制的核心思想為審核即驗證,線下對產品信息進行審核,線上即通過驗證。通過驗證則意味著共識完成。由于用于溯源的產品信息存儲在輔助層的企業(yè)私有鏈中,私有鏈的數(shù)據完整以及可靠性至關重要。以私有鏈的溯源信息為基礎,主層中的聯(lián)盟鏈負責將企業(yè)私有鏈的信息共享給其他企業(yè)和執(zhí)法部門。通過信息的共享實現(xiàn)數(shù)據存證,一旦發(fā)生產品質量問題,為企業(yè)厘清責任具有重要意義,這也是溯源鏈的重要功能之一?;诖?,本節(jié)首先介紹私有鏈的強領導式Raft共識算法,繼而介紹主層聯(lián)盟鏈采用改進的實用拜占庭容錯共識算法。
1) RSL算法
算法描述:RSL算法中類(準)中心節(jié)點具有控制權,通過將各個部門提交的產品溯源信息進行審核,并將信息向其他私有鏈的參與部門推送審核結果信息,其他部門進行復驗,復驗完成后數(shù)據上鏈。
算法1 類(準)中心節(jié)點進行數(shù)據審核
輸入 各部門提交的產品信息
輸出 審核結果
Algorithm1:Center node auditing data
Outport:Result of Auditing[]
then append(Result of Auditing[]) //生成合規(guī)信息集
end if
end for

end
算法2 企業(yè)中的相關部門進行復驗
輸入 類(準)中心節(jié)點審核信息
輸出 復驗結果
Algorithm2:Center node reauditing data
Import:Result of Auditing[]
Outport:Result of Reauditing []
check(Result of Auditing []) //查驗信息完整性
if checked Result of Auditing []
then append(Result of Reauditing []) //生成合規(guī)信息集
end if
end for
send Result of Auditing []to Center node
end
算法3 私有鏈中類(準)中心節(jié)點構造區(qū)塊并主層發(fā)送散列值
輸入 復驗結果
輸出 生成數(shù)據區(qū)塊以及發(fā)送散列值到主層聯(lián)盟鏈中
Algorithm3:Center node reauditing data
Import:Result of Reauditing []

Get Result of Reauditing [] //收集復驗結果
Block(Result of Reauditing []) //構造區(qū)塊

end
2) IPBFT算法
算法描述:主層中的類(準)中心節(jié)點將收集到的信息進行打包,并建立數(shù)據區(qū)塊,將數(shù)據區(qū)塊發(fā)送到每一個參與節(jié)點,每個節(jié)點對數(shù)據區(qū)塊進行驗證,所有節(jié)點驗證通過后將數(shù)據區(qū)塊聯(lián)結到聯(lián)盟鏈上。
算法1 主層節(jié)點對數(shù)據進行收集建造區(qū)塊
輸入 每一個節(jié)點的區(qū)塊散列值
輸出 數(shù)據區(qū)塊
Algorithm1:The central node of the main layer collects the data and builds the block
then send back false toE//如果私有鏈時間戳晚于當前時間則報錯
then send back false toE//如果任意一個被查驗項不合規(guī)則報錯
end if
end for
end
算法2 收集審核結果并建立聯(lián)結到聯(lián)盟鏈
輸入 收集審核結果
輸出 聯(lián)結到聯(lián)盟鏈上的新區(qū)塊
Algorithm2: Collect audit results and establish a link to the alliance chain
Import:Collect audit results
Outport:New blocks attached to the union chain
Get collect audit results ofE[] //收集非中心節(jié)點的驗證結果
Get collect audit results ofR[] //收集執(zhí)法部門的驗證結果


check audit results ofE//查驗非中心企業(yè)節(jié)點的驗證結果
check audit results ofR//查驗執(zhí)法部門的驗證結果
end for
end for
if result of check() = right
then generate block[] //若查驗結果都為正確,生成新區(qū)塊
end if
link block []to alliance chain{} //聯(lián)結區(qū)塊到主鏈
broadcast alliance chain{} //廣播主鏈最新進展
end
除通過信息的共享實現(xiàn)數(shù)據存證,為企業(yè)厘清責任外,給消費者提供便利的產品信息溯源也是溯源鏈的重要功能。在溯源鏈中,消費者向企業(yè)提出產品溯源的請求,主層中的聯(lián)盟鏈中心節(jié)點將對其請求進行判定,判定合法的請求,聯(lián)盟鏈中心節(jié)點將向溯源請求涉及的企業(yè)發(fā)送查閱私有鏈數(shù)據的請求,溯源信息涉及的企業(yè)將向中心節(jié)點返回具體信息,中心節(jié)點進一步將該信息發(fā)送到消費者。如果主層中的聯(lián)盟鏈中心節(jié)點判定消費者請求不合法,將返回拒絕請求的信息。其中,主層中心節(jié)點對消費者查詢合法性進行審核的依據一方面是消費者的購買記錄,另一方面是消費者請求的頻率,其目的在于防止外部攻擊者通過查詢接口進行“粉塵攻擊”,具體如圖4所示。
本文提出的基于雙層架構的溯源許可鏈的共識機制具有較強的安全性,其安全性主要表現(xiàn)如下。其一,驗證機制具有可信性。本文提出的共識機制其核心在于“審核即驗證”,是基于PBFT算法的改進機制。在實際運行過程中,數(shù)據只有通過相關實體部門的審核之后才可以通過共識,而通過共識之后的數(shù)據便存儲區(qū)塊中。其二,采用聯(lián)盟鏈和私有鏈可以確保區(qū)塊鏈運行環(huán)境的可信性。以聯(lián)盟鏈和私有鏈為具體部署形式的許可鏈建立在可信的合作關系上,進入許可鏈系統(tǒng)內部的參與者在現(xiàn)實環(huán)境中存在較強的依賴關系,其惡意動機在進入系統(tǒng)之前已經受到甄別。其三,系統(tǒng)運行過程中的分叉風險較低。共識機制中的時間戳判定規(guī)則使系統(tǒng)以聯(lián)盟鏈的運行進度為基準,因而附加層和主層之間不存在分叉風險。同時主層中的類中心節(jié)點可以對共識機制進行線下協(xié)調,進而協(xié)調整體的共識進度。其四,數(shù)據具有不可篡改性。私有鏈中的準中心節(jié)點的存在使數(shù)據存在可篡改的風險,但是通過散列映射將私有鏈的數(shù)據狀態(tài)與主層聯(lián)結,使私有鏈中心節(jié)點進行數(shù)據篡改的難度大大提升,除非重新達成共識,否則任何私有鏈節(jié)點進行的作惡行為都將被識別。

圖4 溯源信息查詢機制示意
本文共識算法是基于許可鏈,許可鏈包括私有鏈和聯(lián)盟鏈,是一種多中心化體系結構,而非完全的去中心化體系,雖然會在一定程度上降低效率,但是可以提高系統(tǒng)信任。而且許可鏈效率不低,Vukolic等[12]指出BFT類投票共識每秒可達到上萬筆交易。根據聯(lián)盟鏈Hyperledger Farbic白皮書,其所采用的 PBFT 共識能實現(xiàn)每秒約2 000筆交易[13]。同時,更為關鍵的是,溯源鏈在數(shù)據存儲和數(shù)據讀取過程中是分離的過程。具體而言,產品溯源信息上鏈關鍵問題在于數(shù)據存儲,在此過程中對數(shù)據狀態(tài)實時跟新的要求并不高,只要在產品轉移到消費者手中之前完成數(shù)據的共識和更新即可;產品溯源信息查詢則是在數(shù)據上鏈之后進行的信息讀取,此時不涉及產品溯源信息的共識,因而其消耗的系統(tǒng)算力并不高,整個系統(tǒng)的查詢速率跟網絡帶寬以及響應速度有關,與共識機制的速率并未有直接關系。
本文結合產品溯源業(yè)務場景的實際,提出了基于雙層架構的溯源鏈的共識機制。針對區(qū)塊鏈本身難以加載大量數(shù)據的技術瓶頸,本文采用雙層數(shù)據架構的數(shù)據體系,即主層和輔助層。將大量信息產品具體信息存儲在附加層的私有鏈上,并通過散列指針以及數(shù)字簽名與主層聯(lián)結。在主層部署聯(lián)盟鏈,并進行跨企業(yè)的共識,通過共識后的數(shù)據將實現(xiàn)跨企業(yè)的共享。同時通過散列指針的方式有效實現(xiàn)了數(shù)據的防篡改,也滿足了企業(yè)商業(yè)數(shù)據保護的需求。本文提出在輔助層的私有鏈和主層的聯(lián)盟鏈,分布采用RSL和IPFT的共識機制,并對共識算法進行了具體介紹,同時也給出了不同部署形式區(qū)塊鏈的區(qū)塊數(shù)據結構。最后,本文介紹了消費者實現(xiàn)產品溯源的具體路徑。本文的研究內容對基于區(qū)塊鏈建立溯源系統(tǒng)的相關研究進行了擴展,也為實際項目落地提供了參考和借鑒。
[1] 丁慶洋, 朱建明. 區(qū)塊鏈視角下的B2C電商平臺產品信息追溯和防偽模型[J]. 中國流通經濟, 2017(12): 41-49.
DING Q Y, ZHU J M. The product information traceability and security model of B2C e-platform from the perspective of blockchain[J]. China Business and Market , 2017(12): 41-49.
[2] ABEYRATNE, SAVEEN A, RADMEHR P, et al. Blockchain ready manufacturing supply chain using distributed ledger[J]. International Journal of Research in Engineering and Technology, 2016(9) 1-10,September
[3] REGATTIERI A, GAMBERI M, MANZINI. Traceability of food products: general framework and experimental evidence[J]. Journal of Food Engineering, 2007(81): 347-356.
[4] Eximchain: supply chain finance solutions on a secured public, permissioned blockchain hybrid[R]. 2018.
[5] 袁勇, 倪曉春, 曾帥, 等. 區(qū)塊鏈共識算法的發(fā)展現(xiàn)狀與展望[J]. 自動化學報, 2018, (9): 1-12.
YUAN NI X C, ZENG S, et al. Blockchain consensus algorithms: the state of the art and future trends[J]. Acta Automatica Sinica, 2018, (9): 1-12.
[6] ISLAM M N, PATII V C, KUNDU S. On IC traceability via blockchain[C]//2018 International Symposium on VLSI Design, Automation and Test (VLSI-DAT). 2018: 1-4.
[7] 高峰, 毛洪亮, 吳震, 等.輕量級比特幣交易溯源機制[J]. 計算機學報, 2018(5): 899-1004.
GAO F, MAO H L, WU Z, et al. Lightweight transaction tracing technology for bitcoin[J]. Chinese Journal of Computers, 2018(5): 899-1004.
[8] BISWAS K, MUTHUKKUMARASAMY V, TAN W L. Blockchain based wine supply chain traceability system[C]//Future Technologies Conference. 2017.
[9] 劉家稷, 楊挺, 汪文勇.使用雙區(qū)塊鏈的防偽溯源系統(tǒng)[J]. 信息安全學報, 2018, 3(3): 17-29.
LIU J, YANG T, WANG W Y. Traceability system using public and private blockchain[J]. Journal of Cyber Security. 2018, 3(3): 17-29.
[10] FENG T. An agri-food supply chain traceability system for China based on RFID & block chain technology[C]//IEEE International Conference on Service Systems and Service Management (ICSSSM). 2016.
[11] FENG T. A supply chain traceability system for food safety based on HACCP, blockchain & Internet of things[C]//IEEE International Conference on Service Systems and Service Management (ICSSSM). 2017.
[12] VUKOLI? M. The quest for scalable blockchain fabric: proof-of- work vs. BFT replication[C]//International Workshop on OpenProblems in Network Security. 2015: 112-125.
[13] ANDROULAK I, BARGER E, A BORTNIKOV V, et al. Hyperledgerabric: a distributed operating system for permissioned block- chains[C]//The Thirteenth EuroSys Conference (Euro Sys'18). 2018.
Traceability permissioned chain consensus mechanism based on double-layer architecture
DING Qingyang1, ZHU Jianming1, ZHANG Jin2, SONG Biao1,3, XU Yanjing1,JIA Chuanchang1, GAO Zheng1
1. School of Information, Central University of Finance and Economics, Beijing 100081, China 2. School of Insurance, Central University of Finance and Economics, Beijing 100081, China 3. Inner Mongolia University of Finance and Economics Accounting College, Hohhot 010000, China
The blocks in the blockchain are arranged in chronological and historical order, and the blockchain is incapable of modification through data encryption technology and consensus mechanism, which makes product traceability to be an important application scenario of blockchain. To choose product information traceability technology, not only the feasibility of the technology but also the market attributes of the product and the producer should be considered, which makes the permissioned chain replace the public chain as an important deployment method of product information traceability. In the existing research results, the research on the traceability license chain mainly focuses on mechanism design and framework construction, and the consensus algorithm applicable to product information traceability is rarely studied. In the process of technology of engineering practice, practical byzantine fault tolerance was chosen more in league chain as the consensus of traceability chain mechanism (such as Hyperledger), but with the increasing number of participating nodes of the traceability chain efficiency will be significantly reduced, and the delay time will be significantly improved, resulting in most of the project is still in the stage of experiment. Based on this, a traceability license chain consensus mechanism based on double-layer architecture (DLPCM) is proposed, and its security is analyzed. Participants are divided into two layers on the vertical dimension, and different consensus mechanisms are adopted at different levels according to different deployment modes of blockchain. Finally, the traceability information query mechanism under the consensus mechanism is introduced, an important reference for the development and design of traceability system based on license chain is provided.
permissioned chain, traceability, double-layer architecture, consensus mechanism
The National Key R&D Program of China (No. 2017YFB1400700), The National Natural Science Foundation of China (No.U1509214), Inner Mongolia Natural Science Foundation Project (No.2016BS0701), Inner Mongolia Data Science and Big Data Society Project (No.BDY18010)
TP311
A
10.11959/j.issn.2096?109x.2019011
丁慶洋(1991? ),男,河北南宮人,中央財經大學博士生,主要研究方向為區(qū)塊鏈應用、數(shù)字經濟。

朱建明(1965? ),男,山西太原人,中央財經大學教授、博士生導師,主要研究方向為信息安全、區(qū)塊鏈技術、大數(shù)據分析。
張瑾(1993? ),女,山東菏澤人,中央財經大學碩士生,主要研究方向為區(qū)塊鏈應用。

宋彪(1983? ),男,內蒙古興安盟人,中央財經大學博士(后)、內蒙古財經大學副教授,主要研究方向大數(shù)據、區(qū)塊鏈技術。
許艷靜(1983? ),女,河北石家莊人,中央財經大學博士生,主要研究方向為區(qū)塊鏈技術與應用。

賈傳昌(1978? ),男,黑龍江佳木斯人,中央財經大學博士生,主要研究方向為信息安全、區(qū)塊鏈應用。
高政(1993? ),男,山西太原人,中央財經大學碩士生,主要研究方向為金融科技。

2018?11?15;
2018?12?10
丁慶洋,dingqingyang66@163.com
國家重點研發(fā)計劃基金資助項目(No.2017YFB1400700);國家自然科學基金資助項目(No.U1509214);內蒙古自然科學基金資助項目(No.2016BS0701);內蒙古數(shù)據科學與大數(shù)據學會基金資助項目(No.BDY18010)
丁慶洋, 朱建明, 張瑾, 等. 基于雙層架構的溯源許可鏈共識機制[J]. 網絡與信息安全學報, 2019, 5(2): 1-12.
DING Q Y, ZHU J M, ZHANG Jin, et al. Traceability permissioned chain consensus mechanism based on double-layer architecture [J]. Chinese Journal of Network and Information Security, 2019, 5(2): 1-12.