張寶明 魏程益
摘 要: 傳統(tǒng)電子商務存在假貨、刷單、物流、隱私保護等痛點,這些痛點與信任缺失有關。區(qū)塊鏈作為一種分布式賬本,具有去中心化、透明,很難篡改的特點;將其引入電子商務,能創(chuàng)造信任,解決痛點。為此,分析了區(qū)塊鏈+電子商務虛擬實驗系統(tǒng)的功能組成、拓撲結構,提出了開發(fā)維護的方法及建設中需要注意的問題,實現(xiàn)了區(qū)塊鏈在電子商務中的應用。這為今后電子商務及其仿真實驗的建設提供了新思路和新方法。
關鍵詞: 區(qū)塊鏈; 電子商務; 信任機制; 鏈上代碼; 智能合約
中圖分類號:TP311 文獻標志碼:A 文章編號:1006-8228(2018)11-41-04
Abstract: Traditional e-commerce has some pain points such as fake goods, false transaction, logistics and privacy protection. These pain points are related to the lack of trust. As a distributed ledger, blockchain has the characteristics of decentralization, transparency and difficult tampering, and can create trust and solve the pain point by introducing it into e-commerce. Therefore, the functional composition and topology of the blockchain + e-commerce virtual experiment system are analyzed, the methods of development and maintenance and the problems to be paid attention to in the construction are put forward, and the application of blockchain in electronic commerce is realized. This provides new ideas and new methods for the construction of electronic commerce and its simulation experiment in the future.
Key words: blockchain; electronic commerce; trust mechanism; chain code; smart contract
0 引言
區(qū)塊鏈是分布式賬本,能存儲不同的交易、支付與轉賬信息等。由于采用了分布式存儲、簽名加密、區(qū)塊鏈接等技術,因而區(qū)塊鏈具有去中心化、透明,很難篡改等特點。這不僅可以用來解決交易過程中的重復支付和雙花問題,還能在更高的維度上解決交易中的信任缺失問題,從而達到降低交易成本、提高交易效率的目的。因此,利用區(qū)塊鏈技術來改造傳統(tǒng)的應用系統(tǒng)成為了許多人的共識[1-2]。
基于人才培養(yǎng)和創(chuàng)新實驗教學模式的需要,在已有《國家級應用經(jīng)濟虛擬仿真實驗》建設成果的基礎上,對區(qū)塊鏈+電子商務虛擬實驗系統(tǒng)進行了分析。本文內容和實現(xiàn),可為今后電子商務及其仿真實驗的建設,提供新思路和新方法。
1 系統(tǒng)建設的必要性
在傳統(tǒng)的電子商務中,由于對相關主體缺少必要的信用制約和限制,致使假貨、刷單、退換貨和隱私保護等問題一直存在。借助區(qū)塊鏈,利用區(qū)塊鏈去中心化的特點,將交易信息和信用信息完整的記錄到區(qū)塊鏈中,使區(qū)塊鏈變成一臺創(chuàng)造信任的機器,可以有效地解決這個問題[3]。
具體來說,首先,針對假貨問題,可以將電子商務供應鏈上所有環(huán)節(jié)的商品信息,如照片、視頻、地理位置和時間等數(shù)據(jù)上傳到區(qū)塊鏈,這樣商家就無法作假和修改,客戶也無需懷疑或質疑。在交易過程中,若再將客戶的瀏覽、購買、評價等行為,也上傳到區(qū)塊鏈,這樣可控制刷單行為。其次,針對退換貨問題及其給物流所帶來的“牛鞭效應”壓力,可以將物流、庫存數(shù)據(jù)上傳到區(qū)塊鏈,供商家和物流企業(yè)隨時查詢、追蹤和調度,這樣就能減輕物流壓力,提高工作效率,減少運營成本。再次,針對隱私保護問題,可利用區(qū)塊鏈的匿名性,將不需要公布的客戶信息進行匿名化處理,這樣也能提升用戶體驗,減少垃圾廣告和殺生、殺熟的威脅。
總之,區(qū)塊鏈+電子商務,不僅可以在假貨刷單、退貨換貨、追蹤貨物、隱私保護、成本控制等方面更為有效,更為自動化,而且可以在客戶體驗、信任水平上更為友好,更為可信。
2 系統(tǒng)的功能組成
整個區(qū)塊鏈+電子商務系統(tǒng)的功能如圖1所示(這里以IBM公司的Hyperledger fabric區(qū)塊鏈服務為基礎)[1,4-6]。
2.1 電子商務功能
電子商務過程中涉及商家、客戶、物流、第三方支付等相關角色,因而區(qū)塊鏈+電子商務系統(tǒng)的基本功能就應包括注冊服務、授權管理、商品管理、訂單管理、支付管理、物流管理和信任管理等內容。在這些功能中,嵌入?yún)^(qū)塊鏈功能,適時利用區(qū)塊鏈來記錄交易信息和信用信息,不僅可以提高系統(tǒng)的安全性和可信性,而且還能達到隱私保護和商品信息溯源的目的。
2.2 區(qū)塊鏈功能
區(qū)塊鏈功能主要包括角色管理、區(qū)塊鏈管理、鏈上代碼管理這三個主要功能[7-9]。
⑴ 角色管理。負責管理用戶標識、隱私、以及網(wǎng)絡的保密性和可審計性。
⑵ 區(qū)塊鏈管理。負責將交易(Transaction)規(guī)約為合約流程,每個合約流程可以通過調用若干個不同的合約服務,結合非對稱加密/解密和信息摘要等技術,實現(xiàn)去中心化的可信的分布式賬本功能。具體包括三部分。一是記賬功能,即將相關的交易信息,如商品信息、訂單信息、支付信息、物流信息、評價信息等,以“一物一碼”或“一批次一碼”的形式打包,包裝成交易合約,以明文或者密文的方式廣播到區(qū)塊鏈系統(tǒng)中,寫入?yún)^(qū)塊鏈,固化在區(qū)塊鏈的賬本中。這樣,就能構建一個去中心化、防篡改、可追溯的大數(shù)據(jù)存儲系統(tǒng)。二是查賬功能,主要包括交易主體的身份查詢、產品溯源與交易情況的跟蹤、評價信息的查詢等。三是規(guī)則管理。又稱政策管理,即依照現(xiàn)有的法律、行政法規(guī),制定并發(fā)布包括用戶管理、業(yè)務品種、鏈上資產管理、智能合約、賬本記錄、架構管理、開發(fā)管理、運營管理、信息安全、風險管理、從業(yè)資格等相關的規(guī)則、規(guī)章,以便對區(qū)塊鏈平臺及其活動進行監(jiān)管。
⑷ 鏈上代碼管理。鏈上代碼(chaincode)又稱智能合約(smart contract),其任務主要是負責實現(xiàn)對鏈上代碼的全生命周期的管理。
2.3 相關服務
分為三種類型的服務,分別為成員服務、區(qū)塊鏈服務、鏈上代碼服務。
⑴ 成員服務。在無權限的區(qū)塊鏈中,參與者不需要授權就可進行交易;而在Hyperledger Fabric許可鏈系統(tǒng)中,參與者需要預先注冊,獲得一個身份憑據(jù)才能進入?yún)^(qū)塊鏈系統(tǒng),并通過交易證書管理者(TCA)進一步獲得假名憑據(jù)(即交易證書),才能進行交易、保存、歸類和審計。
⑵ 區(qū)塊鏈服務。區(qū)塊鏈服務通過使用基于HTTP2的P2P協(xié)議來管理分布式賬簿,核心功能包括安全控制、共識服務、鏈上服務及其管理、治理服務等。
安全控制主要是進行隱私保護和權限控制。對于公有鏈,由于參與交易的各方未受到安全約束,出于安全考慮,往往需要一個與交易無關的第三方來對交易進行驗證,為此需要將交易信息和交易者的身份信息隔離開來,以匿名的方式來保護交易者的隱私。而對于像Fabric這樣的許可鏈,由于各參與方預先受到安全控制,因而防范網(wǎng)絡攻擊的需求沒有那么高,在共識機制上只需要在技術層面上確保一致和完備,對交易的驗證可直接由交易相關方自己進行,其他無關方不可能看到交易內容[10]。
共識服務是區(qū)塊鏈建立信任的基石。不同類型的區(qū)塊鏈出于不同的考慮會在部署中可以使用和配置不同的共識算法或其組合算法,如PBFT,Raft,PoW,PoS等。共識的內容包括賬本的規(guī)范化、交易執(zhí)行結果的確定性、交易的非雙花性和交易的順序完備性。
鏈上服務主要包括合約流程服務、合約服務、公共技術服務等,對其管理需要在遵循區(qū)塊鏈治理體制和治理流程規(guī)則的前提下,完成諸如合約流程(或服務)的建立、版本升級、排隊、執(zhí)行、掛起和退出等的管理。
治理服務的目的,是為了讓區(qū)塊鏈能平穩(wěn)安全的運行,并保證不同角色的參與者都能積極參與和維護區(qū)塊鏈的生產、管理和治理?;痉椒ㄊ峭ㄟ^激勵、懲罰、征稅等手段,必要時還可以訴諸于現(xiàn)實世界中的法律手段。
⑶ 鏈上代碼服務。主要包括鏈上代碼的編寫、合規(guī)性檢查,鏈上代碼的安裝、配發(fā)、執(zhí)行、執(zhí)行結果查詢,智能合約模板的定制、智能合約的一致性檢查等等[11-12]。
3 系統(tǒng)的拓撲結構
與傳統(tǒng)的電子商務系統(tǒng)相比,區(qū)塊鏈+電子商務系統(tǒng)的拓撲結構,分為前端和后端。其中,前端是電子商務系統(tǒng)與用戶交互的界面,由瀏覽器及相關頁面來實現(xiàn),涉及HTML、Javascript和CSS等相關語言;后端是描述商務處理過程、商務業(yè)務規(guī)則和區(qū)塊鏈服務內容的功能部件,由MCBV(Model-Control-Blockchain-
View)框架部件來實現(xiàn),分為三個部分:一是代理服務,負責接收前端的請求,并進行路由解析;二是電子商務服務,負責商務處理;三是區(qū)塊鏈服務,負責區(qū)塊鏈管理、鏈上代碼管理,如圖2所示。
3.1 電子商務服務系統(tǒng)
后端的電子商務服務系統(tǒng),開發(fā)工具主要為:Eclipse、Spring MVC、Spring、Hibernate。其中,Eclipse是一個可視化的Java開發(fā)平臺,而Spring MVC、Spring、Hibernate是三個框架軟件,對應電子商務應用的三個功能層次,即頁面表示層、業(yè)務邏輯層和數(shù)據(jù)訪問層。
3.2 區(qū)塊鏈服務系統(tǒng)
區(qū)塊鏈服務軟件采用Hyperledger Fabric。它是一種開源的許可鏈系統(tǒng),采用了松耦合的設計,不僅能將共識機制、身份驗證等組件模塊化,還能將智能合約放在docker容器中運行;此外,它還采用了成員服務、多驗證節(jié)點(validating peer)和非驗證節(jié)點等安全機制,來實現(xiàn)Client客戶機、Peer節(jié)點機、Orderer排序器、Channel通道等相關功能。
4 系統(tǒng)的開發(fā)和運行
在系統(tǒng)開發(fā)和運行過程中,需要相關人員對合約流程、合約服務、合約代碼、技術與規(guī)則等相關客體進行開發(fā)和維護。
首先,需要架構人員、業(yè)務人員和法律人員參與完成交易合約及其規(guī)約的制定,并設計出完整的合約流程、合約服務及其規(guī)格說明書;然后,交由技術人員開發(fā)相應的合約代碼。在此過程中,還需其他人員參與提煉出一些通用的服務,如法律條款檢查服務、通用技術服務等。
其次,在開發(fā)過程中,需要開發(fā)人員利用已有的通用服務軟件和不同的語言,來開發(fā)合約服務邏輯,以保證合約服務語義層面的一致性和合約的分布性。
再次,在測試過程中,需要每一個參與主體,特別是驗證節(jié)點,參與到區(qū)塊鏈平臺的測試和維護中,完成諸如運行節(jié)點服務的容器化集群、動態(tài)擴展能力的提供、多語言多VM實現(xiàn)節(jié)點的安裝、多節(jié)點并行運行、并行驗證等相關任務。
就開發(fā)過程而言,具體到本系統(tǒng),主要包括:構建網(wǎng)絡、安裝VirtualBox虛擬機、安裝Docker容器、部署Hyperledger fabric環(huán)境、啟動Hyperledger fabric區(qū)塊鏈服務、開發(fā)應用程序。
整個Hyperledger fabric區(qū)塊鏈服務系統(tǒng)的啟動過程示例如下:
⑴ 產生證書密鑰和四個artifacts部件
../bin/cryptogen generate --config=./crypto-config.yaml
../bin/configtxgen -profile TwoOrgsOrdererGenesis -outputBlock
./channel-artifacts/genesis.block
export CHANNEL_NAME=mychannel &&
../bin/configtxgen -profile
TwoOrgsChannel -outputCreateChannelTx
./channel-artifacts/channel.tx -channelID $CHANNEL_NAME
../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate
./channel-artifacts/Org1MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org1MSP
../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate
./channel-artifacts/Org2MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org2MSP
⑵ 啟動Docker容器與網(wǎng)絡服務
CHANNEL_NAME=mychannel TIMEOUT=10000
DELAY=3 LANG=golang docker-compose -f
docker-compose-cli.yaml up -d
⑶ 建立并加入通道
docker exec -it cli bash
peer channel join -b mychannel.block
⑷ 更新通道
peer channel update -o orderer.example.com:7050 -c
$CHANNEL_NAME -f ./channel-artifacts/
Org2MSPanchors.tx --tls --cafile /opt/gopath/src/github
.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
5 系統(tǒng)建設中需要注意的問題
由于區(qū)塊鏈技術本身尚不成熟,相關的規(guī)則、標準和應用還處于開發(fā)和測試過程中,因而在區(qū)塊鏈+電子商務系統(tǒng)的建設過程中,難免會碰到一些障礙。
首先,可選的區(qū)塊鏈軟件不多,缺乏統(tǒng)一標準。目前區(qū)塊鏈軟件屈指可數(shù),開源的很少,常見的有:以太坊聯(lián)盟的Ethereum、微軟的Bletchley,IBM的Hyperledger Fabric,CoinprismRChain的Openchain、深圳前海微眾銀行的BCOS等。這些軟件大部功能還不完善,產品兼容性和互通性也較差,在標準化語言、數(shù)據(jù)交換、客戶身份識別、通信機制、信任實現(xiàn)等方面還缺乏共識,很難完全融入電子商務體系。其次,低效率高能耗。區(qū)塊鏈的去中心化特征,意味著所有節(jié)點都需要參與計算和存儲,這需花費很多時間,非常耗費電力與算力。因而在電子商務系統(tǒng)中引入?yún)^(qū)塊鏈,會降低交易處理的效率,提高維護的成本。再次,存在安全與監(jiān)管問題。
因此,在區(qū)塊鏈+電子商務系統(tǒng)建設的過程中,只能遵循循序漸進的原則,先易后難,先開發(fā)后完善,并權衡安全性、易開發(fā)性、網(wǎng)絡算力等因素,統(tǒng)籌進行。
6 結束語
建立在區(qū)塊鏈基礎上的電子商務,即區(qū)塊鏈+電子商務,不僅能夠創(chuàng)造更多的客戶信任,而且還能提升客戶體驗和成本控制的優(yōu)勢。為此,文中重點對其功能組成、拓撲結構、開發(fā)和維護方法等內容進行了分析,最終實現(xiàn)了區(qū)塊鏈在電子商務中的應用。所有這些,不僅為今后電子商務及其仿真實驗的建設提供了新思路和新方法,而且為今后國家制造業(yè)和服務業(yè)的轉型升級帶來了新抓手。高校,尤其是筆者所在的國家級應用經(jīng)濟虛擬實驗室,理應在這方面走在前列。不過,基于區(qū)塊鏈技術及其應用的不成熟,今后還需繼續(xù)跟蹤與研究。
參考文獻(References):
[1] Hyperledger fabric. A Blockchain Platform for the Enterprise[EB/OL],http://hyperledger-fabric.readthedocs.io,2017-03-07
[2] 庹小忠.區(qū)塊鏈在身份認證中的應用[J].科技經(jīng)濟導刊,2017.2(3):26-27
[3] 朱興雄,何清素,郭善琪.區(qū)塊鏈技術在供應鏈金融中的應用[J].中國流通經(jīng)濟,2018.32(3):111-119
[4] 浦東平,樊重俊,梁賀君.基于區(qū)塊鏈視角的電商系統(tǒng)體系構建及應用[J].中國流通經(jīng)濟,2018.32(3):44-51
[5] 張衍斌.區(qū)塊鏈引領電子商務新變革[J].當代經(jīng)濟管理,2017.39(10):14-22
[6] 韓秋明,王革.區(qū)塊鏈技術國外研究述評[J].科技進步與對策,2018.35(2):154-160
[7] 蔡維德,郁蓮,王榮登.基于區(qū)塊鏈的應用系統(tǒng)開發(fā)方法研究[J].軟件學報,2017.28(6):1474-1487
[8] 涂奔,張李義,陳晶.一種基于私有區(qū)塊鏈的信息保護預測模型研究[J].情報理論與實踐,2017.31(10):106-111
[9] MIT Media Lab. A W3C Workshop on Distributed Ledgers on the Web[EB/OL]. https://www.w3.org/2016/04/blockchain-workshop/,2016-06-29
[10] 劉海英.“大數(shù)據(jù)+區(qū)塊鏈”共享經(jīng)濟發(fā)展研究[J].技術經(jīng)濟與管理研究,2018.1:91-95
[11] 胡凱,白曉敏,高靈超等.智能合約的形式化驗證方法[J].信息安全研究,2016.2(12):1080-1089
[12] 郁蓮,鄧恩艷.區(qū)塊鏈技術[J].中國計算機學會通訊,2017.13(5):10-15