中國(guó)物品編碼中心 賈建華 從慶 王天昀
區(qū)塊鏈跨鏈協(xié)作平臺(tái)遵循可擴(kuò)展、通用和安全的設(shè)計(jì)理念,通過(guò)采用兩階段事務(wù)模型實(shí)現(xiàn)了跨鏈?zhǔn)聞?wù)中的原子性、一致性和可靠性,確保了跨鏈交易的安全性和可信度,為實(shí)現(xiàn)不同鏈上的資產(chǎn)轉(zhuǎn)移和交互提供了可行性和可靠性保證。
隨著全球經(jīng)濟(jì)的快速發(fā)展,物流運(yùn)輸行業(yè)日益重要。傳統(tǒng)的物流信息系統(tǒng)存在諸多問(wèn)題,如信息不透明、不真實(shí)、不及時(shí)等,這些問(wèn)題不僅影響了物流運(yùn)輸?shù)男?,還可能導(dǎo)致各種糾紛和風(fēng)險(xiǎn)。區(qū)塊鏈技術(shù)的出現(xiàn)為解決這些問(wèn)題提供了新的思路。探究異構(gòu)區(qū)塊鏈跨鏈技術(shù)在物流運(yùn)輸領(lǐng)域的應(yīng)用研究,可為物流行業(yè)的數(shù)字化、標(biāo)準(zhǔn)化發(fā)展提供支持。
本研究采用了JD Chain 和梧桐鏈區(qū)塊鏈底層平臺(tái)。
JD Chain 專注于為企業(yè)提供高性能、高可用性、高安全性的區(qū)塊鏈底層平臺(tái),適用于各種行業(yè)和場(chǎng)景,包括供應(yīng)鏈金融、數(shù)字版權(quán)保護(hù)、電子簽章、公益事業(yè)等。
梧桐鏈?zhǔn)腔陂_放標(biāo)準(zhǔn)自主研發(fā)、簡(jiǎn)單易用、高度可靠的企業(yè)級(jí)區(qū)塊鏈基礎(chǔ)設(shè)施,可應(yīng)用于食品溯源、證據(jù)保全、知識(shí)產(chǎn)權(quán)保護(hù)、政企公示、互聯(lián)網(wǎng)金融等多種業(yè)務(wù)場(chǎng)景。
項(xiàng)目研究小組對(duì)當(dāng)前的跨鏈技術(shù)現(xiàn)狀進(jìn)行研究,并結(jié)合跨境物流的實(shí)際業(yè)務(wù)需求,設(shè)計(jì)滿足跨境物流參與方對(duì)去中心化的鏈之間實(shí)現(xiàn)跨鏈協(xié)同的需求。
區(qū)塊鏈跨鏈應(yīng)用問(wèn)題主要包括:跨鏈平臺(tái)不支持梧桐鏈、合約語(yǔ)言不兼容、區(qū)塊鏈節(jié)點(diǎn)網(wǎng)絡(luò)環(huán)境限制等。為解決這些問(wèn)題,研究小組采取措施:
1.基于現(xiàn)有開源平臺(tái)的組件讓跨鏈路由具備接入Hyperledger Fabric 和FISCO BCOS 的能力。同時(shí)根據(jù)梧桐鏈的架構(gòu)和調(diào)用方式,采用統(tǒng)一的編碼方式隱藏輸入?yún)?shù)的JSON字段格式,并將字段內(nèi)容交由應(yīng)用端解碼后處理。
2.對(duì)代理合約和橋接合約逐個(gè)函數(shù)進(jìn)行邏輯調(diào)試和測(cè)試,同時(shí)按照梧桐鏈自定義合約語(yǔ)法(wLang 語(yǔ)言)進(jìn)行適配和升級(jí)。
3.確保多個(gè)路由器部署在同一臺(tái)服務(wù)器上并使用相同CA 證書,同時(shí)開放相應(yīng)的端口以便路由(Router)與相應(yīng)的區(qū)塊鏈進(jìn)行連接。
基于現(xiàn)有開源區(qū)塊鏈跨鏈協(xié)作平臺(tái),本研究實(shí)現(xiàn)了JD Chain 和梧桐鏈之間的多維跨鏈交互,打破了不同區(qū)塊鏈網(wǎng)絡(luò)的壁壘,實(shí)現(xiàn)了資產(chǎn)轉(zhuǎn)移、智能合約執(zhí)行和數(shù)據(jù)共享等功能:
1.支持不同區(qū)塊鏈之間的互操作性,包括資產(chǎn)轉(zhuǎn)移、智能合約執(zhí)行和數(shù)據(jù)共享等。
2.提供跨鏈路由(Router)和跨鏈適配器(Stub)等組件,以實(shí)現(xiàn)不同區(qū)塊鏈之間的連接和互通。
3.可視化展示跨鏈交易的過(guò)程和結(jié)果,方便用戶進(jìn)行管理和操作。
4.支持賬戶管理、路由管理、資源管理、交易管理、事務(wù)管理和其他管理等功能,方便用戶進(jìn)行區(qū)塊鏈資源的監(jiān)控和管理。
異構(gòu)區(qū)塊鏈技術(shù)應(yīng)用在中歐運(yùn)輸網(wǎng)絡(luò)上進(jìn)行了示范應(yīng)用,發(fā)貨單位通過(guò)異構(gòu)區(qū)塊鏈跨鏈平臺(tái)即可查詢貨品的動(dòng)態(tài)事件與航運(yùn)軌跡數(shù)據(jù)。
在跨鏈應(yīng)用的主要業(yè)務(wù)流程中,京東物流將數(shù)據(jù)(提單號(hào)和箱號(hào))錄入自有系統(tǒng)后,數(shù)據(jù)將通過(guò)跨鏈平臺(tái)接口同步至京東鏈和梧桐鏈;中遠(yuǎn)海運(yùn)可通過(guò)梧桐鏈獲取京東生成的物流數(shù)據(jù),并上傳航運(yùn)事件和軌跡數(shù)據(jù)至自有平臺(tái),這些數(shù)據(jù)也通過(guò)跨鏈平臺(tái)接口同步至京東鏈和梧桐鏈,如圖1所示。
圖1 跨鏈應(yīng)用業(yè)務(wù)流程圖
京東物流和中遠(yuǎn)海運(yùn)應(yīng)用通過(guò)跨鏈SDK 分別向兩條鏈上提交數(shù)據(jù),從而實(shí)現(xiàn)數(shù)據(jù)跨鏈同步,如圖2所示(見下頁(yè))。
圖2 跨鏈應(yīng)用系統(tǒng)交互圖
異構(gòu)區(qū)塊鏈跨鏈應(yīng)用包含三大關(guān)鍵模塊,分別是物流追蹤任務(wù)管理模塊、物流追蹤追溯模塊和跨鏈管理模塊。模塊之間相互協(xié)作,使區(qū)塊鏈技術(shù)在物流追蹤和管理中發(fā)揮極大的作用。
在物流追蹤任務(wù)管理模塊中,京東供應(yīng)鏈管理業(yè)務(wù)人員完成訂艙后,將需要進(jìn)行動(dòng)態(tài)跟蹤的提單號(hào)和箱號(hào)通過(guò)京東區(qū)塊鏈跨鏈技術(shù)發(fā)送給船公司系統(tǒng)。船公司根據(jù)提單號(hào)和箱號(hào)獲取船舶的航運(yùn)時(shí)間和行駛軌跡,并使用跨鏈技術(shù)同步給京東物流航運(yùn)物流追蹤系統(tǒng)。
物流追蹤追溯模塊則是在提單號(hào)和箱號(hào)發(fā)送到船公司后,輸入箱號(hào)可對(duì)其動(dòng)態(tài)事件進(jìn)行跟蹤和查詢,方便業(yè)務(wù)人員和貨主實(shí)時(shí)了解貨物的具體位置和運(yùn)輸狀態(tài)。
跨鏈管理模塊主要包含可視化展示、賬戶管理、路由管理、資源管理、交易管理、事務(wù)管理和其他管理等功能。在賬戶管理中,用戶可通過(guò)該模塊查看當(dāng)前UA賬戶信息,并進(jìn)行鏈賬戶的管理;在路由管理中,可查看當(dāng)前跨鏈路由的Peer 路由信息;在資源管理中,可對(duì)跨鏈資源進(jìn)行查看、部署、調(diào)用等操作;在交易管理中,可查看所有跨鏈資源的每一筆交易詳情,也可進(jìn)行跨鏈資源調(diào)用;在事務(wù)管理中,可查看所有跨鏈?zhǔn)聞?wù)詳情,并可在頁(yè)面開啟、執(zhí)行或結(jié)束事務(wù);在其他功能中,可快速提交Issue、修改賬號(hào)密碼、賬號(hào)登出網(wǎng)頁(yè)等。
更新事件
函數(shù)名稱:updateEvent
調(diào)用參數(shù)
參數(shù)1:箱號(hào);
參數(shù)2:事件
示例
sendTransaction payment.fabric-mychannel.jdcc updateEvent CSNU4019751
[{"event_code":"STSP","event_location":"CNWHG","event_time":"2022-12-20 03:26:00","event_timezone":" + 8"}, {"event_code": "GITM", "event_location":"CNWHG", "event_time": "2022-12-21 03: 26: 00","event_timezone": " + 8"}, {"event_code": "LOBD","event_location":"CNWHG","event_time":"2022-12-22 03:26:00","event_timezone":"+8"}]
追加軌跡
函數(shù)名稱:appendTrack
調(diào)用參數(shù)
參數(shù)1:箱號(hào);
參數(shù)2:軌跡
示例
sendTransaction payment.fabric-mychannel.jdcc appendTrack CSNU4019751 {"lat": "4.261233", "lon": "105.056667", "sog": "11.0", "cog": "28.0", "postime":"2022-06-24 00:00:00"}
任務(wù)提交
請(qǐng)求方式:HTTP
請(qǐng)求地址:/create
{"message_id": "", "data": [{ "container_no": "",//箱號(hào)"bill_no":""//提單號(hào)}]}
響應(yīng)結(jié)果:
{"code":0,"message":"success","data":null,"traceId":null,"ext":null}
航運(yùn)信息查詢
請(qǐng)求方式:HTTP
請(qǐng)求地址:/query/{containerNo}
請(qǐng)求參數(shù):containerNo 箱號(hào)
響應(yīng)結(jié)果:
{ "code": 1, "message": "success", "data":"{"bl-No": "COSU6349756695", "containerNo": "CSNU4019754""e"traceId":null,"ext":{}}
訂單數(shù)據(jù)結(jié)構(gòu)
{"blNo":"提單號(hào)","containerNo":"箱號(hào)","events":"事件","tracks":"軌跡"}
軌跡數(shù)據(jù)結(jié)構(gòu)
{"cog":"航跡向","lat":"緯度","lon":"經(jīng)度","sog":"速度","postime":"軌跡時(shí)間點(diǎn)"}
事件數(shù)據(jù)結(jié)構(gòu)
{"event_code":"事件編碼","event_location":"事件地點(diǎn)","event_time":"事件發(fā)生時(shí)間","event_timezone":"事件時(shí)區(qū)"}
區(qū)塊鏈跨鏈協(xié)作平臺(tái)遵循可擴(kuò)展、通用和安全的設(shè)計(jì)理念,通過(guò)采用兩階段事務(wù)模型實(shí)現(xiàn)了跨鏈?zhǔn)聞?wù)中的原子性、一致性和可靠性,確保了跨鏈交易的安全性和可信度,為實(shí)現(xiàn)不同鏈上的資產(chǎn)轉(zhuǎn)移和交互提供了可行性和可靠性保證。
未來(lái),隨著技術(shù)日趨成熟和規(guī)范,異構(gòu)區(qū)塊鏈跨鏈技術(shù)有可能演變?yōu)橹慰鐕?guó)供應(yīng)鏈應(yīng)用的網(wǎng)絡(luò)基礎(chǔ)設(shè)施,保證國(guó)際跨鏈交易的安全性、可擴(kuò)展性和可靠性,打破區(qū)塊鏈數(shù)據(jù)孤島,實(shí)現(xiàn)同構(gòu)鏈及異構(gòu)鏈之間的可信互通,助力國(guó)際企業(yè)之間可信協(xié)作,促進(jìn)產(chǎn)業(yè)生態(tài)可信融合。