陳忠賢 李秦偉


摘要??? 本文針對(duì)供應(yīng)鏈電商系統(tǒng),應(yīng)用區(qū)塊鏈技術(shù),設(shè)計(jì)了針對(duì)供應(yīng)鏈的區(qū)塊鏈雙鏈結(jié)構(gòu)。該方案根據(jù)實(shí)際交易中常常發(fā)生的交易不能即時(shí)完成的問題,將區(qū)塊鏈分為記賬鏈和項(xiàng)目鏈,記賬鏈為常規(guī)區(qū)塊鏈結(jié)構(gòu)用于記錄交易,項(xiàng)目鏈作為側(cè)鏈,用于提高查詢效率;為此在雙鏈結(jié)構(gòu)的基礎(chǔ)上提出正序溯源和逆序溯源的方法。
【關(guān)鍵詞】區(qū)塊鏈 供應(yīng)鏈 鏈結(jié)構(gòu) 多鏈 溯源
1 引言
隨著經(jīng)濟(jì)全球化的發(fā)展,企業(yè)必須根據(jù)市場(chǎng)的需求,不斷的提升企業(yè)自身能力的同時(shí)也要加強(qiáng)企業(yè)與企業(yè)之間的合作。供應(yīng)鏈?zhǔn)且粋€(gè)將供應(yīng)商、生產(chǎn)商、分銷商、零售商以及用戶連成一個(gè)整體功能性網(wǎng)鏈結(jié)構(gòu)。供應(yīng)鏈管理是指通過整合供應(yīng)商、生產(chǎn)商、分銷商、零售商等供應(yīng)鏈上的核心企業(yè),通過信息共享和共同計(jì)劃使整體物流效率得到提高。企業(yè)在供應(yīng)鏈上,各企業(yè)獨(dú)立核算,企業(yè)間的資金流、信息流、實(shí)物流相互交錯(cuò)運(yùn)行,因而導(dǎo)致各企業(yè)協(xié)同難度極高。供應(yīng)鏈的不透明性,信息不對(duì)稱導(dǎo)致企業(yè)無法實(shí)時(shí)掌控貨物的流通,從而導(dǎo)致信息做假和被篡改的風(fēng)險(xiǎn)。
區(qū)塊鏈?zhǔn)怯砂灰仔畔⒌膮^(qū)塊從后向前有序鏈接起來的數(shù)據(jù)結(jié)構(gòu)。區(qū)塊鏈通過運(yùn)用數(shù)據(jù)加密、時(shí)間戳、分布式共識(shí)和激勵(lì)機(jī)制等方式,系統(tǒng)中的節(jié)點(diǎn)能在分布式系統(tǒng)中實(shí)現(xiàn)去信任的點(diǎn)對(duì)點(diǎn)交易,從而解決中心化系統(tǒng)存在的高信任、低效率及數(shù)據(jù)存儲(chǔ)不安全等問題,被認(rèn)為是繼移動(dòng)互聯(lián)網(wǎng)后的第五代互聯(lián)網(wǎng)顛覆性技術(shù)。IBM提出將區(qū)塊鏈技術(shù)與物聯(lián)網(wǎng)應(yīng)用相結(jié)合,形成“去中心化的自治物聯(lián)網(wǎng)”。在供應(yīng)鏈、司法、信息認(rèn)證等領(lǐng)域應(yīng)用區(qū)塊鏈技術(shù)改善現(xiàn)存行業(yè)問題。利用區(qū)塊鏈的去中心化、可追溯性、不可篡改等特點(diǎn)解決針對(duì)供應(yīng)鏈的電商系統(tǒng)中各個(gè)公司獨(dú)立核算問題、企業(yè)銀行信用問題等。
目前針對(duì)供應(yīng)鏈的電商交易,許多并非一手交錢一手交貨,需要經(jīng)過許多中間環(huán)節(jié),先發(fā)起的交易,可能會(huì)在晚于后發(fā)起的交易后完成。在實(shí)際商務(wù)運(yùn)行中,很多交易不能即時(shí)完成,而是經(jīng)過多個(gè)步驟:支付定金;貸款;賣出貨物后付部分款項(xiàng)等,參與交易的各個(gè)企業(yè)是獨(dú)立核算的法人。而且每個(gè)參與交易的參與者更關(guān)心自己的交易情況和自己參與的交易情況。但是原比特幣的即時(shí)交易的方式不適合上述所描述的電商交易過程。故根據(jù)區(qū)塊鏈技術(shù)在針對(duì)供應(yīng)鏈的電商行業(yè)中的應(yīng)用,并結(jié)合層層代理這樣一個(gè)模式的特點(diǎn)以及供應(yīng)鏈中企業(yè)的相互交錯(cuò)介紹和設(shè)計(jì)了一個(gè)針對(duì)供應(yīng)鏈的區(qū)塊鏈結(jié)構(gòu)。
2 區(qū)塊鏈的結(jié)構(gòu)設(shè)計(jì)
本文所設(shè)計(jì)的多鏈結(jié)構(gòu)與傳統(tǒng)區(qū)塊鏈結(jié)構(gòu)不同,主要針對(duì)以信用為基礎(chǔ)的銷售,信用銷售導(dǎo)致交易不能即時(shí)完成,需要經(jīng)過許多的中間環(huán)節(jié),因此設(shè)計(jì)鏈結(jié)構(gòu)為主從多鏈結(jié)構(gòu),主從多鏈結(jié)構(gòu)包括一條主鏈和一條側(cè)鏈,主鏈又稱記賬鏈,主鏈的構(gòu)造與比特幣區(qū)塊鏈類似,按照時(shí)間順序有序連接。我們稱這樣的交易集合為一個(gè)項(xiàng)目,即由首筆交易引發(fā)的復(fù)雜并相互關(guān)聯(lián)的后續(xù)交易的集合。我們把這個(gè)項(xiàng)目記錄到側(cè)鏈——項(xiàng)目鏈中,我們采用復(fù)式記賬法實(shí)時(shí)更新交易的狀態(tài),如:賣出多少商品;向商家或者銀行還款等,并把更新的狀態(tài)作為一筆子交易更新到區(qū)塊鏈結(jié)構(gòu)的記賬鏈中,待這個(gè)項(xiàng)目里的所有有關(guān)交易均達(dá)到錢貨兩訖,便將這個(gè)項(xiàng)目結(jié)簽。圖1是設(shè)計(jì)的雙鏈結(jié)構(gòu)。
2.1 記賬鏈區(qū)塊設(shè)計(jì)
與常規(guī)區(qū)塊結(jié)構(gòu)相同,只是與比特幣所記錄的交易不同,本文所設(shè)計(jì)的區(qū)塊記錄的交易是通過復(fù)式記賬法所記錄的交易狀態(tài),也就是一筆交易達(dá)到錢貨兩清時(shí)所經(jīng)過的步驟,如:支付多少定金;向銀行貸款;支付部分款項(xiàng)等,子交易不分項(xiàng)目,只按時(shí)間出塊,以默克爾樹形式記錄,不可篡改。
2.2 項(xiàng)目鏈區(qū)塊
項(xiàng)目鏈區(qū)塊將一個(gè)由起始交易引發(fā)的所有交易放在一個(gè)區(qū)塊中,一個(gè)項(xiàng)目的第一筆交易作為交易1記錄到區(qū)塊中,而由此引發(fā)的相關(guān)交易依次鏈接到交易1之后。每個(gè)交易步驟是交易發(fā)起方和接受交易方的簽字來確認(rèn)的。交易間關(guān)系是一個(gè)樹型結(jié)構(gòu),但不是默克爾樹。可以理解為項(xiàng)目鏈?zhǔn)怯涃~鏈的側(cè)鏈,但與通常的側(cè)鏈概念不同。兩個(gè)鏈通過“交易1”錨定。我們將與交易相關(guān)的子交易鏈接在一起,由于記賬鏈已經(jīng)記錄了子交易,因此在項(xiàng)目鏈中,我們只需記錄子交易所在的區(qū)塊頭以及子交易ID。如圖2所示為項(xiàng)目鏈的數(shù)據(jù)結(jié)構(gòu)。
一次交易整體完成后,進(jìn)行復(fù)核與結(jié)簽,在接受簽字時(shí)在子交易集合上附加本支交易結(jié)束符,表示本支交易已經(jīng)沒有后續(xù)子交易。當(dāng)項(xiàng)目的參與者均完成所有交易后,結(jié)簽字,固定該帳頁(塊)。即對(duì)帳頁歸檔,固定。結(jié)簽后的塊的內(nèi)容不能修改、追加。查閱交易完成情況時(shí),只需要查詢項(xiàng)目鏈,即可查到交易是否完成,不用查閱交易鏈中塊體的細(xì)節(jié)。
3 交易溯源查詢
傳統(tǒng)單鏈區(qū)塊鏈結(jié)構(gòu)包括所有的賬目、合約和交易,因此可以驗(yàn)證交易的正確性,但是一個(gè)交易并非即時(shí)完成,包括多個(gè)狀態(tài)子交易,且每個(gè)交易之間互相關(guān)聯(lián),因此要查詢一個(gè)交易或者是項(xiàng)目的進(jìn)展?fàn)顩r只能通過硬遍歷的方式從最后一個(gè)區(qū)塊依次向前查詢,區(qū)塊鏈按區(qū)塊以文件形式存儲(chǔ)在硬盤上,如此查詢效率較低。如上文所述,本文雙鏈的方案在區(qū)塊鏈上構(gòu)成了完整且方便查詢的鏈條,可以根據(jù)該雙鏈結(jié)構(gòu)對(duì)某一筆交易或者某一項(xiàng)目進(jìn)行溯源查詢。
3.1 正序溯源
正序溯源以項(xiàng)目為出發(fā)點(diǎn),按正常業(yè)務(wù)流程,根據(jù)起始交易編號(hào)在項(xiàng)目鏈中從后向前進(jìn)行遍歷,直至查找到與起始交易編號(hào)相匹配的相關(guān)交易的位置,由于項(xiàng)目鏈與記賬鏈通過起始交易進(jìn)行錨定,因此在查詢過程中,只需查詢項(xiàng)目鏈區(qū)塊頭即可。然后通過跨鏈查詢,最終獲取整個(gè)項(xiàng)目的交易詳細(xì)數(shù)據(jù)。正序溯源業(yè)務(wù)流程描述如圖3所示。
3.2 逆序溯源
供應(yīng)鏈中,貨物的流向通常是供應(yīng)鏈源頭直至供應(yīng)鏈末端,也就最終用戶,這一過程中,包括多次且復(fù)雜的物權(quán)轉(zhuǎn)移。逆序溯源主要是貨物溯源,由于物權(quán)轉(zhuǎn)移的記錄都以交易的形式存儲(chǔ)在記賬鏈中,通過貨物溯源可以查詢到當(dāng)前貨在哪,逆序溯源以有關(guān)貨物的子交易ID為關(guān)鍵字,追溯子交易所屬的交易ID,根據(jù)交易ID又可以查詢到上一相關(guān)交易ID,以此類推,從而追溯到貨物的當(dāng)前位置。該流程實(shí)際上是一個(gè)不斷查找前序交易的過程。逆序溯源業(yè)務(wù)流程描述如圖4所示。
4 結(jié)論
本文根據(jù)區(qū)塊鏈的優(yōu)勢(shì)以及結(jié)合相關(guān)技術(shù),設(shè)計(jì)了針對(duì)供應(yīng)鏈的雙鏈結(jié)構(gòu)。該方案根據(jù)實(shí)際交易中常常發(fā)生的交易不能即時(shí)完成將區(qū)塊鏈分為記賬鏈和項(xiàng)目鏈,并提出正序溯源和逆序溯源的方法。不僅可以隨時(shí)查詢交易、項(xiàng)目的進(jìn)展,而且可以通過貨物追溯查詢到貨物的位置。
參考文獻(xiàn)
[1]馬士華,林勇,陳志祥.供應(yīng)鏈管理[M].北京:機(jī)械工業(yè)出版社.2000.
[2]《精通比特幣》.
[3]袁勇,王飛躍.區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀與展望[J].自動(dòng)化學(xué)報(bào),2016,42(4):481-494.[3]Andreas M.Antonopoulos.
[4]SWAN M.Blockchain:blueprint for a new economy[M].“OReilly Media, Inc.”,2015: 212-235.、
[5]CROSBY M,PATTANAYAK P,VERMA S,etal. Blockchain tech-nology: beyond bitcoin [J]. Applied Innovation, 2016, 2: 6-10.