陳 齊,王正國,李文鋒,曹菁菁
(武漢理工大學(xué) 物流工程學(xué)院,湖北 武漢 430063)
個人信息泄露在網(wǎng)絡(luò)購物中頻繁發(fā)生,網(wǎng)絡(luò)購物平臺和商家有著很大的責(zé)任,在一次完整的網(wǎng)絡(luò)購物中,電商能夠經(jīng)過很多途徑搜集消費(fèi)者的個人注冊信息、訂單信息、支付信息和物流信息。對于這種情況,大多數(shù)研究側(cè)重利用法律保護(hù)個人信息,極少有通過構(gòu)建新型網(wǎng)絡(luò)購物平臺來從根本上解決個人信息泄露。
區(qū)塊鏈技術(shù)具有去中心化、去信任、集體維護(hù)、可靠數(shù)據(jù)庫這4個特性,可以把區(qū)塊鏈理解為是一種完整的、不可篡改的、多方參與和監(jiān)督的記錄方式[1]。同時,區(qū)塊鏈集成了分布式數(shù)據(jù)存儲、點(diǎn)對點(diǎn)傳輸、共識機(jī)制、加密算法等技術(shù),通過分布式存儲使得數(shù)據(jù)公開透明,利用時間戳技術(shù)使得數(shù)據(jù)可溯源和可驗(yàn)證,利用非對稱加密技術(shù)使得數(shù)據(jù)安全可信,在惡意算力不足51% 時,無法篡改和偽造數(shù)據(jù)[2],能有效解決傳統(tǒng)網(wǎng)絡(luò)購物平臺遇到的很多問題。
新型網(wǎng)絡(luò)購物實(shí)驗(yàn)平臺的開發(fā),從顧客到商家以及整個相關(guān)環(huán)節(jié)都是受益者,大大提高了網(wǎng)絡(luò)購物的安全性與效率,能協(xié)調(diào)現(xiàn)代物流信息化發(fā)展與安全保障的關(guān)系,提升產(chǎn)品在物流配送環(huán)節(jié)的效率,降低成本,促進(jìn)電商物流模式創(chuàng)新。
區(qū)塊鏈技術(shù)是利用塊鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)來驗(yàn)證與存儲數(shù)據(jù)、利用分布式節(jié)點(diǎn)共識算法來生成和更新數(shù)據(jù)、利用密碼學(xué)的方式保證數(shù)據(jù)傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數(shù)據(jù)的一種全新的分布式基礎(chǔ)架構(gòu)與計算范式。區(qū)塊鏈技術(shù)是以比特幣為代表的數(shù)字加密貨幣體系的核心支撐技術(shù),是包含交易信息的區(qū)塊按照時間順序連接起來的數(shù)據(jù)結(jié)構(gòu)[3]。區(qū)塊頭和區(qū)塊主體共同組成一個區(qū)塊,區(qū)塊主體擔(dān)任記錄前一段時間內(nèi)的一切信息的角色,而區(qū)塊頭實(shí)現(xiàn)區(qū)塊鏈的大部分功能。只有區(qū)塊頭被用于計算,區(qū)塊頭哈希值能夠唯一、明確地標(biāo)識一個區(qū)塊,而且任何節(jié)點(diǎn)想要獨(dú)立地獲得該區(qū)塊哈希值則需對區(qū)塊頭進(jìn)行哈希計算。區(qū)塊結(jié)構(gòu)如圖1所示。在比特幣系統(tǒng)中,單個區(qū)塊的生成過程主要分為3步,即交易過程、認(rèn)證過程和挖礦記賬過程,以A與B的比特幣交易為例,比特幣交易流程如圖2所示。
圖1 區(qū)塊結(jié)構(gòu)
圖2 比特幣交易流程
核心技術(shù)組件包含區(qū)塊鏈技術(shù)所依靠的基礎(chǔ)組件、協(xié)定和算法,進(jìn)一步細(xì)分為通訊、存儲、安全機(jī)制、共識機(jī)制4層結(jié)構(gòu)。
(1)通訊:區(qū)塊鏈一般利用P2P技術(shù)來組織各個網(wǎng)絡(luò)節(jié)點(diǎn),每個節(jié)點(diǎn)經(jīng)由播實(shí)現(xiàn)路由、新節(jié)點(diǎn)識別和數(shù)據(jù)傳播等功能。P2P是一種對等網(wǎng)絡(luò),這種對等表現(xiàn)在客戶端也可以同時是服務(wù)器。在區(qū)塊鏈當(dāng)中,使用P2P的對等網(wǎng)絡(luò)將數(shù)據(jù)進(jìn)行全網(wǎng)的廣播,讓一切的節(jié)點(diǎn)都加入數(shù)據(jù)的驗(yàn)證。對等網(wǎng)絡(luò)如圖3所示。
圖3 對等網(wǎng)絡(luò)
(2)存儲:區(qū)塊鏈數(shù)據(jù)在運(yùn)行期以塊鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)存儲在內(nèi)存中,終究會長期化存儲到數(shù)據(jù)庫中。在區(qū)塊鏈中生成的所有記錄通過Merkle樹的哈希過程生成唯一的Merkle根,存儲在區(qū)塊鏈頭部[4]。
(3)安全機(jī)制:區(qū)塊鏈系統(tǒng)的數(shù)據(jù)加密及隱私保護(hù)通過公鑰與私鑰密碼學(xué)原理進(jìn)行。
(4)共識機(jī)制:是區(qū)塊鏈系統(tǒng)中各個節(jié)點(diǎn)達(dá)成一致的策略和方法,根據(jù)系統(tǒng)類型及應(yīng)用場景選擇工作量證明機(jī)制。在區(qū)塊鏈當(dāng)中,區(qū)塊的生成需要一定的工作量和成本。一個區(qū)塊的產(chǎn)生不是輕易的,發(fā)送大批沒有意義的區(qū)塊到網(wǎng)絡(luò)上必須付出很多的工作量。這一點(diǎn)保障了產(chǎn)生的區(qū)塊參與到了正確的區(qū)塊鏈上,其他人假如要產(chǎn)生自己的區(qū)塊鏈來替代正確的區(qū)塊鏈,那么產(chǎn)生的耗費(fèi)遠(yuǎn)遠(yuǎn)大于產(chǎn)生區(qū)塊鏈得到的益處[5]。
(1)研發(fā)階段:必須具有和區(qū)塊鏈技術(shù)配套的開發(fā)測試工具和環(huán)境。
(2)生產(chǎn)階段:必須構(gòu)建對應(yīng)的運(yùn)營維護(hù)體系和運(yùn)營管理功能。
(3)部署層面:區(qū)塊鏈系統(tǒng)可以部署在單個服務(wù)器上,如PC、智能手機(jī)等,以單個服務(wù)器作為區(qū)塊鏈網(wǎng)絡(luò)中的一個節(jié)點(diǎn)加入。也可部署在多個服務(wù)器上,以服務(wù)器集群為單位作為區(qū)塊鏈網(wǎng)絡(luò)中的一個節(jié)點(diǎn)加入。
新型網(wǎng)絡(luò)購物實(shí)驗(yàn)平臺的功能分為4個子模塊。平臺模塊結(jié)構(gòu)如圖4所示。
圖4 平臺模塊結(jié)構(gòu)
采用區(qū)塊鏈中私有鏈的形式,根據(jù)場景需求設(shè)計了以下6個節(jié)點(diǎn)。在這里要說明,所有加入平臺的節(jié)點(diǎn)均為誠實(shí)節(jié)點(diǎn)。節(jié)點(diǎn)可以為PC機(jī)或移動終端。①監(jiān)管節(jié)點(diǎn):相關(guān)部門對交易過程進(jìn)行監(jiān)管,保障交易過程的合法有效運(yùn)行。②用戶節(jié)點(diǎn):服務(wù)于所有顧客,提供區(qū)塊鏈相關(guān)服務(wù)。③商家節(jié)點(diǎn):服務(wù)于所有商家,提供區(qū)塊鏈相關(guān)服務(wù)。④物流節(jié)點(diǎn):對應(yīng)于快遞公司的所有收件員、網(wǎng)點(diǎn)、中轉(zhuǎn)站、派件員等。⑤銀行節(jié)點(diǎn):提供相關(guān)支付業(yè)務(wù)。⑥可信節(jié)點(diǎn):可信服務(wù)器會審核所有節(jié)點(diǎn)身份,通過后將相應(yīng)的節(jié)點(diǎn)加入系統(tǒng),加入節(jié)點(diǎn)的登記信息會寫入?yún)^(qū)塊鏈進(jìn)行備案。平臺區(qū)塊鏈系統(tǒng)如圖5所示。
圖5 平臺區(qū)塊鏈系統(tǒng)
3.2.1 注冊子系統(tǒng)
以張三注冊新型網(wǎng)購實(shí)驗(yàn)平臺為例進(jìn)行說明,注冊子系統(tǒng)工作流程如圖6所示。張三在注冊個人信息時,系統(tǒng)使用公鑰對張三的信息進(jìn)行加密,對加密后的信息進(jìn)行哈希運(yùn)算生成哈希值。哈希值再經(jīng)過兩兩哈希計算,即為張三個人信息的Merkle樹根。通過工作量證明機(jī)制驗(yàn)證后,節(jié)點(diǎn)會接受該區(qū)塊,當(dāng)前區(qū)塊鏈中增加該區(qū)塊來更新區(qū)塊鏈,使得更新后的區(qū)塊鏈中包含最新一整套數(shù)據(jù)。更新了個人信息區(qū)塊的區(qū)塊鏈如圖7所示。
圖6 注冊子系統(tǒng)工作流程圖
圖7 更新了個人信息區(qū)塊的區(qū)塊鏈
圖8 顧客交易子系統(tǒng)工作流程圖
3.2.2 交易子系統(tǒng)
張三成功注冊后,打算在A商家購買一件私密商品。顧客交易子系統(tǒng)工作流程如圖8所示。系統(tǒng)對加密后的交易信息進(jìn)行哈希運(yùn)算生成哈希值。交易信息的哈希值再經(jīng)過兩兩哈希計算,即為交易信息的Merkle樹根。通過工作量證明機(jī)制驗(yàn)證后,節(jié)點(diǎn)會接受該區(qū)塊,當(dāng)前區(qū)塊鏈中增加該區(qū)塊來更新區(qū)塊鏈,使得更新后的區(qū)塊鏈中包含最新一整套數(shù)據(jù)。
3.2.3 支付子系統(tǒng)
A商家與張三達(dá)成交易后,張三需要向A商家支付。顧客支付子系統(tǒng)工作流程如圖9所示。系統(tǒng)對加密后的支付信息進(jìn)行哈希運(yùn)算生成哈希值。支付信息的哈希值再經(jīng)過兩兩哈希計算,即為支付信息的Merkle樹根。通過工作量證明機(jī)制驗(yàn)證后,節(jié)點(diǎn)會接受該區(qū)塊,當(dāng)前區(qū)塊鏈中增加該區(qū)塊來更新區(qū)塊鏈,使得更新后的區(qū)塊鏈中包含最新的一整套數(shù)據(jù)。
圖9 顧客支付子系統(tǒng)工作流程圖
3.2.4 物流子系統(tǒng)
張三與A商家達(dá)成交易,支付對應(yīng)費(fèi)用后,A商家通過物流公司向張三發(fā)貨,最終張三收到自己的私人商品。商品物流子系統(tǒng)工作流程如圖10所示。
圖10 商品物流子系統(tǒng)工作流程圖
(1)商家節(jié)點(diǎn)使用A商家的私鑰對包裹信息進(jìn)行加密,發(fā)送給物流節(jié)點(diǎn)。商家節(jié)點(diǎn)將加密后的包裹信息經(jīng)過哈希運(yùn)算等生成區(qū)塊,向全網(wǎng)廣播,各節(jié)點(diǎn)驗(yàn)證通過后寫入?yún)^(qū)塊鏈。
(2)收件員對應(yīng)的物流節(jié)點(diǎn)收到實(shí)際包裹后,計算包裹信息的哈希值并與全網(wǎng)廣播的區(qū)塊哈希值進(jìn)行比對,若比對成功則接收包裹,否則拒收該包裹。
(3)節(jié)點(diǎn)按照包裹的物理空間傳送路徑以及自身和對應(yīng)的下一個物流節(jié)點(diǎn)的節(jié)點(diǎn)信息生成包裹狀態(tài)信息,使用張三的公鑰進(jìn)行加密后經(jīng)過哈希運(yùn)算生成區(qū)塊,向全網(wǎng)廣播,各節(jié)點(diǎn)驗(yàn)證通過寫入?yún)^(qū)塊鏈。
(4)張三收到實(shí)際包裹后,用戶節(jié)點(diǎn)計算包裹信息的哈希值并與全網(wǎng)廣播的區(qū)塊哈希值進(jìn)行比對,若比對成功,則接收包裹,否則拒收包裹。
(5)用戶節(jié)點(diǎn)使用張三的私鑰對包裹簽收信息進(jìn)行加密后經(jīng)過哈希運(yùn)算等生成區(qū)塊,向全網(wǎng)廣播,各節(jié)點(diǎn)驗(yàn)證通過更新區(qū)塊鏈。最終,將通過驗(yàn)證的各區(qū)塊依次寫入?yún)^(qū)塊鏈,更新后的區(qū)塊鏈如圖11所示。
圖11 更新后的區(qū)塊鏈
Merkle tree具有檢錯功能,任何一個節(jié)點(diǎn)的不一致都會導(dǎo)致最終樹根結(jié)果不一致,如圖12所示。
圖12 Merkle tree檢錯機(jī)制示意圖
區(qū)塊鏈中數(shù)據(jù)的安全性體現(xiàn)在兩個方面[6-7],一是區(qū)塊鏈技術(shù)本身的安全性,二是有效防止惡意攻擊的安全性。
(1)在區(qū)塊鏈技術(shù)層面:①每一個區(qū)塊和哈希值都是一一對應(yīng)的,每個哈希值都是由區(qū)塊頭計算得到的。因?yàn)閰^(qū)塊頭中包含了當(dāng)前區(qū)塊體的哈希值和上一個區(qū)塊的哈希值,所以如果當(dāng)前區(qū)塊內(nèi)容改變或者上一個區(qū)塊哈希值改變,就一定會引起當(dāng)前區(qū)塊哈希值的改變。正是因?yàn)檫@樣的聯(lián)動機(jī)制,區(qū)塊鏈才保證了自身的安全性,數(shù)據(jù)一旦寫入,就無法被篡改。②采用了非對稱加密技術(shù),所有的數(shù)據(jù)存儲和記錄都有數(shù)字簽名作為憑據(jù),非對稱加密保證了一系列過程的可靠性。③在區(qū)塊生成過程中,由一個地址到另一個地址的數(shù)據(jù)轉(zhuǎn)移都會進(jìn)行身份驗(yàn)證,即哈希值的驗(yàn)證和私鑰公鑰的驗(yàn)證。④去中心化的分布式設(shè)計,網(wǎng)絡(luò)中有許多個節(jié)點(diǎn),同步所有節(jié)點(diǎn)的數(shù)據(jù),使得數(shù)據(jù)全部公開或者部分公開,而且數(shù)據(jù)多副本存在,不存在數(shù)據(jù)丟失的風(fēng)險。⑤在數(shù)據(jù)傳輸過程中,數(shù)據(jù)通常采用HTTP+SSL進(jìn)行處理,從而保證數(shù)據(jù)在網(wǎng)絡(luò)傳輸中防篡改且加密處理。
圖13 最長鏈機(jī)制
(2)在防止惡意攻擊層面:利用比特幣的區(qū)塊鏈作為安全存儲介質(zhì),這是因?yàn)楸忍貛啪W(wǎng)絡(luò)擁有最強(qiáng)的算力,也意味著網(wǎng)絡(luò)具有更高的安全性[8-9]。比特幣網(wǎng)絡(luò)中,節(jié)點(diǎn)僅認(rèn)可最長的鏈,不在最長的鏈中的區(qū)塊被稱為孤塊,其包含的交易數(shù)據(jù)是不被網(wǎng)絡(luò)接受和確認(rèn)的。因此,最長鏈等效于最多的工作量證明,也意味著最高的安全性。所以,假設(shè)有人員想要惡意攻擊并篡改己經(jīng)存儲于第N個區(qū)塊中的檔案歷史,需要做到的是創(chuàng)建一個區(qū)塊鏈分支,并寄希望于其他節(jié)點(diǎn)會認(rèn)可該分支。即通過建立現(xiàn)有區(qū)塊鏈的部分拷貝并在某一區(qū)塊后分叉,再添加上自己的區(qū)塊,來重新改寫區(qū)塊鏈歷史數(shù)據(jù)。最長鏈機(jī)制如圖13所示。此種方式可理解為與比特幣網(wǎng)絡(luò)中的其他節(jié)點(diǎn)(挖礦服務(wù)器)進(jìn)行軍備競賽,即試圖將第N個區(qū)塊及其后面被挖出的區(qū)塊孤立。為達(dá)到篡改區(qū)塊鏈數(shù)據(jù)的目標(biāo),攻擊者必須擁有足夠數(shù)量的算力[10]。
筆者結(jié)合區(qū)塊鏈的技術(shù)原理,通過組建區(qū)塊鏈技術(shù)構(gòu)架,搭建了新型網(wǎng)絡(luò)購物實(shí)驗(yàn)平臺,按其功能分為4個模塊:在顧客注冊模塊將加密的個人信息寫入?yún)^(qū)塊鏈,防止個人信息泄露并易于管理。在顧客交易模塊將加密的交易數(shù)據(jù)寫入?yún)^(qū)塊鏈,保障了交易的私密進(jìn)行與不可篡改。在支付模塊將支付記錄存儲在區(qū)塊鏈,使得支付實(shí)時透明,便于監(jiān)管。在物流模塊,將包裹信息、包裹狀態(tài)信息、包裹簽收信息存儲在區(qū)塊鏈,實(shí)現(xiàn)了物流信息的真實(shí)性與物流狀態(tài)的可追溯性,有助于解決快遞丟包、掉包問題。最后,結(jié)合Merkle tree檢測機(jī)制和區(qū)塊鏈技術(shù)的最長鏈機(jī)制,說明了新型網(wǎng)絡(luò)購物實(shí)驗(yàn)平臺中數(shù)據(jù)的完整性和安全性。隨著區(qū)塊鏈技術(shù)的不斷發(fā)展,其在電子商務(wù)和物流等領(lǐng)域?qū)l(fā)揮更大的作用。
參考文獻(xiàn):
[1] 沈鑫,裴慶祺,劉雪峰.區(qū)塊鏈技術(shù)綜述[J].網(wǎng)絡(luò)與信息安全學(xué)報,2016,2(11):15-16.
[2] 洪濤.區(qū)塊鏈在我國農(nóng)產(chǎn)品電商領(lǐng)域的應(yīng)用研究[J].中國市場,2016,3(39):65-68.
[3] 歐陽旭,朱向前,葉倫,等.區(qū)塊鏈技術(shù)在大用戶直購電中的應(yīng)用初探[J].中國電機(jī)工程學(xué)報,2017,37(13):3737-3745.
[4] 楊德昌,趙肖余,徐梓瀟,等.區(qū)塊鏈在能源互聯(lián)網(wǎng)中應(yīng)用現(xiàn)狀分析和前景展望[J].中國電機(jī)工程學(xué)報,2017,37(13):3664-3671.
[5] 李董,魏進(jìn)武.區(qū)塊鏈技術(shù)原理、應(yīng)用領(lǐng)域及挑戰(zhàn)[J].電信科學(xué),2016,32(12):20-25.
[6] LEE B, LEE J H. Blockchain-based secure firmware update for embedded devices in an internet of things environment[J]. Journal of Supercomputing,2017,73(3):1-16.
[7] JESSE Y H,DEOKYOON K,SUJIN C,et al.Where is current research on blockchain technology-a systematic review[J]. Journal Citation Reports,2016,346(6):562-570.
[8] 王安平,范金剛,郭艷來.區(qū)塊鏈在能源互聯(lián)網(wǎng)中的應(yīng)用[J].電力信息與通信技術(shù),2016,1(9):1-6.
[9] 孫佳音.比特幣的性質(zhì)、定價與監(jiān)管研究[D].上海:上海交通大學(xué),2014.
[10] 何蒲,于戈,張巖峰,等.區(qū)塊鏈技術(shù)與應(yīng)用前瞻綜述[J].計算機(jī)科學(xué),2017,44(4):1-7.