亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Hyperledger Fabric的電子商務(wù)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)

        2021-09-22 06:14:00劉霆李博何櫟
        電子技術(shù)與軟件工程 2021年15期
        關(guān)鍵詞:鏈碼區(qū)塊交易

        劉霆 李博 何櫟

        (河南工程學(xué)院 河南省鄭州市 451191)

        1 引言

        傳統(tǒng)電商平臺(tái)通常采用的是中心化記賬節(jié)點(diǎn),雖然便于管理,但平臺(tái)對(duì)交易有著最高的操作權(quán)限,這會(huì)衍生出一系列的信任問題。最為直觀的便是近日京東的“顯卡穿倉”事件,客戶的顯卡在不經(jīng)意間就不知所蹤[1]。這一事件充分揭示了中心化節(jié)點(diǎn)存在的信用問題,中心節(jié)點(diǎn)可以對(duì)客戶的數(shù)據(jù)隨意更改,這將導(dǎo)致極為嚴(yán)重的信任危機(jī)。

        區(qū)塊鏈?zhǔn)墙陙硌芯康臒狳c(diǎn),區(qū)塊鏈技術(shù)具有不可篡改、開放透明、機(jī)器自治等重要特征,以此解決交易過程中的信任和安全問題。從定義來看,區(qū)塊鏈?zhǔn)且环N按時(shí)間順序?qū)⒉粩喈a(chǎn)生的信息區(qū)塊以順序方式組合而成的一種可追溯的鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),是一種以密碼學(xué)方式保證數(shù)據(jù)不可篡改、不可偽造的分布式賬本[2]。區(qū)塊鏈?zhǔn)欠菍?duì)稱加密算法、共識(shí)機(jī)制、分布式存儲(chǔ)、點(diǎn)對(duì)點(diǎn)傳輸?shù)认嚓P(guān)技術(shù)通過新方式組合形成的創(chuàng)新應(yīng)用。為了提升交易數(shù)據(jù)的可靠性,區(qū)塊鏈將交易數(shù)據(jù)全部存儲(chǔ)在鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)上,這保證了交易數(shù)據(jù)的唯一性與可靠性,從最大限度上避免交易被篡改[3]。從長(zhǎng)遠(yuǎn)角度來看,區(qū)塊鏈技術(shù)有著廣闊的發(fā)展前景,不只是作為賬本,任何需要公正、防偽的場(chǎng)合都可以使用區(qū)塊鏈技術(shù)。

        雖然從長(zhǎng)遠(yuǎn)來看,區(qū)塊鏈在很多產(chǎn)業(yè)都有應(yīng)用潛力,但是目前區(qū)塊鏈與金融行業(yè)明顯最為契合。區(qū)塊鏈技術(shù)可以應(yīng)用在票據(jù)流轉(zhuǎn)、供應(yīng)鏈金融,再到證券發(fā)行與交易等領(lǐng)域[4]?,F(xiàn)在存在的大量繁瑣的手工操作也可以被智能合約所取代,減少交易延遲、欺詐、操作風(fēng)險(xiǎn)以及系統(tǒng)錯(cuò)誤導(dǎo)致的損失。區(qū)塊鏈技術(shù)不僅作為賬本具有其不可篡改、分布式的特性,還可以為商品溯源提供技術(shù)支持,為商品的質(zhì)量把關(guān),并在出現(xiàn)問題時(shí)提供完整的證據(jù)鏈條[5-7]。從下單到貨物的流轉(zhuǎn)再到資金的流動(dòng),區(qū)塊鏈技術(shù)可以打造一個(gè)完整的基于鏈的商業(yè)平臺(tái),從技術(shù)上保證平臺(tái)交易的真實(shí)性與安全性。

        網(wǎng)上購(gòu)物已成為商業(yè)的重要形式,但由于產(chǎn)品質(zhì)量不能保證和售后服務(wù)困難,消費(fèi)者對(duì)電商平臺(tái)的信心不足。出現(xiàn)這一現(xiàn)象的主要原因是消費(fèi)者的購(gòu)物交易的數(shù)據(jù)由電商平臺(tái)存儲(chǔ)和維護(hù),易出現(xiàn)篡改和否認(rèn)等情況。另外,電商平臺(tái)公布的交易數(shù)據(jù),比如銷量等,是消費(fèi)者購(gòu)物活動(dòng)的主要參考指標(biāo),而電商平臺(tái)公布的交易數(shù)據(jù)存在可信性不高的問題。本文通過將交易數(shù)據(jù)保存在區(qū)塊鏈中,實(shí)現(xiàn)了交易數(shù)據(jù)的無法篡改,從而獲得了高可信性,有助于購(gòu)物者參考交易數(shù)據(jù)進(jìn)行購(gòu)買活動(dòng),以及售后的維權(quán)。這種技術(shù)解決了電子商務(wù)的消費(fèi)者信任的痛點(diǎn)問題,將會(huì)促進(jìn)電子商務(wù)的持續(xù)高速健康發(fā)展。本文將區(qū)塊鏈技術(shù)引入網(wǎng)上購(gòu)物,能夠讓普通消費(fèi)者對(duì)沒有信任基礎(chǔ)的電子商務(wù)網(wǎng)站建立信任,低成本、高效率地解決網(wǎng)上購(gòu)物的信任問題。區(qū)塊鏈的不可篡改的特征,可保證存儲(chǔ)在系統(tǒng)中的交易數(shù)據(jù)完整可靠,避免數(shù)據(jù)在存儲(chǔ)、傳輸和展示環(huán)節(jié)被內(nèi)部管理人員和外部攻擊者篡改。因?yàn)橹饕捎昧顺墒斓木W(wǎng)站開發(fā)技術(shù),本文區(qū)塊鏈網(wǎng)站的解決方案能夠成功地應(yīng)用于各種不同的行業(yè)領(lǐng)域。

        2 技術(shù)框架與環(huán)境設(shè)置

        本文采用JSP開發(fā)電子商務(wù)網(wǎng)站,使用Tomcat提供Web服務(wù)。將基于Hyperledger Fabric的區(qū)塊鏈安裝部署在服務(wù)器上,同時(shí)安裝MySQL數(shù)據(jù)庫,服務(wù)器使用Ubuntu16.04操作系統(tǒng)。用戶通過JSP網(wǎng)頁訪問MySQL數(shù)據(jù)庫和Hyperledger Fabric區(qū)塊鏈。

        2.1 聯(lián)盟區(qū)塊鏈

        區(qū)塊鏈?zhǔn)侵匾男屡d技術(shù),擁有廣闊的應(yīng)用前景,受到了各方面的高度重視,現(xiàn)在主要有公有鏈、私有鏈和聯(lián)盟鏈等三種形式。公有鏈?zhǔn)撬腥硕伎梢栽L問的區(qū)塊鏈,私有鏈?zhǔn)侵挥袇^(qū)塊鏈所有者可以訪問,聯(lián)盟鏈則是只有符合條件的授權(quán)用戶才可以訪問[8]。在本文中只有在電子商務(wù)網(wǎng)站合法注冊(cè)的用戶才可以訪問區(qū)塊鏈,所以采用的是聯(lián)盟區(qū)塊鏈,目前開發(fā)聯(lián)盟鏈最常用的平臺(tái)是Hyperledger Fabric。

        2.2 Hyperledger Fabric

        Hyperledger Fabric為完成高可靠性與網(wǎng)絡(luò)的一致性,系統(tǒng)結(jié)構(gòu)比較復(fù)雜,所使用的節(jié)點(diǎn)數(shù)量比較多,主要采用Docker作為節(jié)點(diǎn)的安裝部署方式。Docker提供了一種虛擬化的環(huán)境,應(yīng)用軟件運(yùn)行在此環(huán)境中。本文采用本地(Native)模式安裝Hyperledger Fabric,使用的節(jié)點(diǎn)直接安裝在硬件上,所以軟件直接運(yùn)行在計(jì)算機(jī)實(shí)際的硬件上而不需要通過仿真或其他程序的干預(yù),這種方式方便可保證系統(tǒng)的運(yùn)行效率,并方便應(yīng)用軟件的開發(fā)。為了開發(fā)JSP網(wǎng)站程序進(jìn)行Hyperledger Fabric區(qū)塊鏈的操作,還在服務(wù)器上安裝了Fabric Java SKD,JSP程序?qū)崿F(xiàn)了對(duì)區(qū)塊鏈的數(shù)據(jù)新增、查詢等。

        安裝Hyperledger Fabric前要先安裝Go語言并設(shè)置環(huán)境變量GOROOT、GOPATH、GOBIN、PATH等。Hyperledger Fabric安裝在/opt/hyperledger下,主要的文件結(jié)構(gòu)如圖1所示。

        圖1:Hyperledger Fabric主要的文件結(jié)構(gòu)

        在fabricconfig文件夾下配置crypto-config.yaml文件,在order文件夾下配置configtx.yaml和orderer.yaml文件,在peer文件夾下配置core.yaml文件。然后運(yùn)行相關(guān)命令生成通道、組織、創(chuàng)始區(qū)塊、排序節(jié)點(diǎn)等。本文網(wǎng)站在服務(wù)器上運(yùn)行Orderer節(jié)點(diǎn)和Peer節(jié)點(diǎn),Peer節(jié)點(diǎn)即作為背書節(jié)點(diǎn),又作為執(zhí)行節(jié)點(diǎn)。

        Hyperledger Fabric對(duì)于區(qū)塊鏈的操作都通過鏈碼執(zhí)行,鏈碼程序被寫入GO語言的文件里,并放在指定的文件夾里。鏈碼文件放置的位置是~/go/src/MyChainCode,鏈碼程序使用GO語言編寫,鏈碼程序名稱是mycc6。

        交易信息的數(shù)據(jù)結(jié)構(gòu)如下所示。

        鏈碼中保存交易記錄的程序如下:

        在終端的/opt/hyperledger/fabricconfig目錄下執(zhí)行安裝與初始化命令:

        peer chaincode install -n mycc6 -v v1 -p MyChainCode

        peer chaincode instantiate -o orderer.example.com:7050 -C mychannel -n mycc -v v1 -c '{"Args":["init"]}' -P "OR ('Org1MSP.member', 'Org2MSP.member')"

        在編寫完鏈碼的程序后執(zhí)行鏈碼更新命令:

        peer chaincode upgrade -o orderer.example.com:7050 -C mychannel -n mycc6 -v v5 -c '{"Args":["init"]}'

        2.3 JSP、Tomcat服務(wù)器和MySQL數(shù)據(jù)庫

        JSP(Java Server Page)是廣泛采用的動(dòng)態(tài)網(wǎng)頁開發(fā)技術(shù),JSP部署于網(wǎng)絡(luò)服務(wù)器上,可以響應(yīng)客戶端發(fā)送的請(qǐng)求,并根據(jù)請(qǐng)求內(nèi)容動(dòng)態(tài)地生成HTML、XML或其他格式文檔的Web網(wǎng)頁,然后返回給請(qǐng)求者。JSP使用Tomcat作為Web容器,在服務(wù)器端口提供相應(yīng)的服務(wù)處理從客戶端發(fā)出的請(qǐng)求。Tomcat運(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能。Tomcat是一個(gè)小型的輕量級(jí)應(yīng)用服務(wù)器,普遍用于中小型系統(tǒng)和并發(fā)訪問量較低的場(chǎng)合,是開發(fā)和調(diào)試JSP程序的首選。MySQL是最流行的關(guān)系型數(shù)據(jù)庫,具有開源、跨平臺(tái)的特點(diǎn),在國(guó)內(nèi)外被廣泛地應(yīng)用。本文網(wǎng)站的用戶信息和商品的基本信息保存在數(shù)據(jù)庫中,需要在服務(wù)器上安裝MySQL數(shù)據(jù)庫。用戶在使用網(wǎng)站時(shí),JSP程序讀寫數(shù)據(jù)庫完成所需要的操作。

        3 網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)

        3.1 網(wǎng)站的設(shè)計(jì)

        3.1.1 系統(tǒng)方案

        本文的區(qū)塊鏈電子商務(wù)網(wǎng)站采用JSP與關(guān)系數(shù)據(jù)庫相結(jié)合的方式,實(shí)現(xiàn)基礎(chǔ)的B2C電子商務(wù)網(wǎng)站的功能。用戶通過網(wǎng)頁進(jìn)行登錄、查詢商品信息等操作。常規(guī)的數(shù)據(jù)如用戶名、密碼、商品信息等都保存在MySQL中,但將銷售數(shù)據(jù)的存儲(chǔ)從數(shù)據(jù)庫轉(zhuǎn)移到了區(qū)塊鏈。通過Web服務(wù),用戶能夠購(gòu)買商品,系統(tǒng)可以自動(dòng)顯示購(gòu)買量最大的商品。用戶的商品購(gòu)買記錄都保存在區(qū)塊鏈中,用于系統(tǒng)自動(dòng)統(tǒng)計(jì)銷量并顯示熱銷商品,也用于用戶查詢自己的購(gòu)買記錄。

        3.1.2 軟件流程

        本系統(tǒng)前端使用JSP網(wǎng)頁作為客戶的操作頁面,后端采用MySQL存儲(chǔ)用戶個(gè)人信息以及商品等信息,而最重要的交易信息則被存儲(chǔ)在區(qū)塊上。用戶登錄系統(tǒng)通過驗(yàn)證后查看商品信息和購(gòu)買商品,此時(shí)商品交易信息會(huì)傳至后臺(tái)區(qū)塊鏈上,由鏈進(jìn)行記錄,之后會(huì)將該交易的編號(hào)返回給用戶,此編號(hào)將是該交易的標(biāo)識(shí)信息。交易完成后,程序在區(qū)塊鏈上查詢同一商品的歷史交易記錄,計(jì)算出商品交易的總數(shù),并將其保存到MySQL數(shù)據(jù)庫,以供熱銷推薦。用戶可以查詢自己的交易記錄,返回所有訂單編號(hào)、交易時(shí)間、商品以及交易編號(hào)等信息。

        3.2 網(wǎng)站的實(shí)現(xiàn)

        本系統(tǒng)實(shí)現(xiàn)了用戶注冊(cè)和登錄等基礎(chǔ)功能,還可進(jìn)行查詢商品信息、購(gòu)買以及顯示用戶歷史訂單等操作,另外還實(shí)現(xiàn)了自動(dòng)將商品按采購(gòu)數(shù)量排序顯示。主頁界面如圖2所示。

        圖2:網(wǎng)站主頁界面

        3.2.1 注冊(cè)、登錄和修改密碼

        新用戶用自己的身份證號(hào)注冊(cè),并設(shè)置密碼。用戶的身份證號(hào)是用戶采購(gòu)商品記錄的憑證。用戶用自己的身份證號(hào)和密碼登錄系統(tǒng),并可以重新設(shè)置自己的登錄密碼。

        3.2.2 查詢商品的詳細(xì)信息、購(gòu)買商品

        用戶能夠從主頁直接選擇商品查看詳細(xì)信息,還可以查詢某品牌的所有商品,并查看其中某個(gè)商品的詳細(xì)信息。在商品詳細(xì)信息頁面,用戶可以購(gòu)買該商品。購(gòu)買成功后,網(wǎng)站顯示此項(xiàng)交易在Hyperledger Fabric中的交易編號(hào)。

        3.2.3 查詢歷史訂單記錄

        用戶登錄后可以查詢自己的歷史購(gòu)買記錄,系統(tǒng)將顯示交易的商品名稱、交易時(shí)間、交易編號(hào)等信息。

        4 網(wǎng)站的測(cè)試與分析

        本文網(wǎng)站可實(shí)現(xiàn)用戶正常采購(gòu)商品,且所有的銷售數(shù)據(jù)均保存在區(qū)塊鏈中。用戶可以在區(qū)塊鏈中保存和查詢自己的銷售數(shù)據(jù),系統(tǒng)將銷售數(shù)據(jù)從區(qū)塊鏈中查詢并匯總統(tǒng)計(jì)。系統(tǒng)的區(qū)塊鏈保存與查詢速度可滿足一般電子商務(wù)網(wǎng)站的業(yè)務(wù)需要,響應(yīng)迅速、結(jié)果準(zhǔn)確。本文采用實(shí)際部署測(cè)試的方法,首先將本作品部署在服務(wù)器上,然后對(duì)各個(gè)功能進(jìn)行實(shí)際測(cè)試,檢查結(jié)果的正確性和響應(yīng)所需的時(shí)間。

        4.1 啟動(dòng)Hyperledger Fabric區(qū)塊鏈

        進(jìn)入/opt/hyperledger/order目錄下啟動(dòng)orderer節(jié)點(diǎn),輸入命令:orderer start。

        進(jìn)入/opt/hyperledger/peer目錄下啟動(dòng)peer節(jié)點(diǎn),輸入命令:

        export set FABRIC_CFG_PATH=/opt/hyperledger/peer

        peer node start >> log_peer.log 2>&1 &

        4.2 購(gòu)買模塊

        執(zhí)行購(gòu)買動(dòng)作后交易信息被保存到區(qū)塊鏈mychannel中,并返回該交易編號(hào)。購(gòu)買結(jié)束后,程序查詢區(qū)塊鏈中此商品的歷史購(gòu)買數(shù)量,然后在數(shù)據(jù)庫中保存新的歷史購(gòu)買總數(shù),用于熱銷推薦。經(jīng)過多次購(gòu)買商品進(jìn)行測(cè)試,得到購(gòu)買商品所需時(shí)間為85ms,基本可以滿足電子商務(wù)網(wǎng)站的操作需要。購(gòu)買商品的返回結(jié)果如圖3所示。

        圖3:購(gòu)買商品后的返回結(jié)果

        4.3 訂單查詢模塊

        用戶可從區(qū)塊鏈mychannel中查找到用戶的歷史交易信息,通過多次查詢不同的用戶歷史訂單,得到用戶查詢歷史訂單的時(shí)間約為125ms,基本可以滿足電子商務(wù)網(wǎng)站的操作需要。查詢購(gòu)買商品歷史記錄的返回結(jié)果如圖4所示。

        圖4:查詢購(gòu)買商品歷史記錄的返回結(jié)果

        5 結(jié)語

        本文將區(qū)塊鏈技術(shù)應(yīng)用于電子商務(wù)網(wǎng)站,以區(qū)塊鏈存儲(chǔ)交易信息,依靠其透明和不可篡改的特性滿足了供求雙方對(duì)交易數(shù)據(jù)高真實(shí)性的需要,切中行業(yè)痛點(diǎn)。本文采用了常用的JSP技術(shù)開發(fā)網(wǎng)站,并用Fabric Java SDK訪問區(qū)塊鏈,所用技術(shù)易于學(xué)習(xí)和掌握,且效率較高。本文提供的方案適用于不同行業(yè)領(lǐng)域,特別是需要信息高度真實(shí)可信的應(yīng)用,例如股票證券的交易、產(chǎn)品的溯源、銀行貸款以及信用審查等方面。

        未來的研究將增加Orderer節(jié)點(diǎn)的數(shù)量,減少對(duì)單節(jié)點(diǎn)的依賴;應(yīng)用Kafka的多節(jié)點(diǎn)模式,實(shí)現(xiàn)網(wǎng)站的高并發(fā)吞吐;另外還將在區(qū)塊鏈中存儲(chǔ)和維護(hù)更多的信息,比如用戶信息、商品信息等,實(shí)現(xiàn)功能更加優(yōu)化的區(qū)塊鏈系統(tǒng)。

        猜你喜歡
        鏈碼區(qū)塊交易
        區(qū)塊鏈:一個(gè)改變未來的幽靈
        科學(xué)(2020年5期)2020-11-26 08:19:12
        區(qū)塊鏈:主要角色和衍生應(yīng)用
        科學(xué)(2020年6期)2020-02-06 08:59:56
        區(qū)塊鏈+媒體業(yè)的N種可能
        讀懂區(qū)塊鏈
        一種新壓縮頂點(diǎn)鏈碼
        交易流轉(zhuǎn)應(yīng)有新規(guī)
        大宗交易
        基于鏈碼特征的幾何圖形快速識(shí)別算法*
        《吃飯的交易》
        驚人的交易
        亚洲一区二区免费日韩| 色欲人妻综合网| 99精品视频69V精品视频| 亚洲中文字幕久久精品无码a| 美丽的熟妇中文字幕| 亚洲AV无码专区国产H小说| 精品中文字幕久久久人妻| 久久久国产精品| 国产成人无码一区二区在线观看| 国产精品白浆一区二区免费看| 国产高清不卡在线视频| 一区二区三区中文字幕p站| 熟妇人妻av中文字幕老熟妇| 久久久久亚洲AV无码专区喷| 精品女同一区二区三区亚洲| 久久久久av综合网成人| 大陆极品少妇内射aaaaa| 亚洲午夜久久久久中文字幕| 日本大片一区二区三区| 在线观看的网站| 日韩精品一区二区三区视频| 亚洲伊人免费综合网站| 99久久99久久久精品蜜桃| 最近免费mv在线观看动漫| 亚洲人妻无缓冲av不卡| 国产精品日本一区二区三区在线 | 少妇高潮av久久久久久| 国产suv精品一区二区| 在线观看av片永久免费| 日本一区二区三区视频免费在线| 又黄又硬又湿又刺激视频免费| 国产成人77亚洲精品www| 日本超骚少妇熟妇视频| 人妻熟妇乱又伦精品hd| 国产自国产在线观看免费观看| 久久AⅤ无码精品色午麻豆| 久久精品国产亚洲av四叶草| 亚洲精品一区二区国产精华液| 无码一区二区三区老色鬼| 国产激情一区二区三区在线蜜臀| 日本护士口爆吞精视频|