關(guān)鍵詞:開放聯(lián)盟鏈;二手交易;鏈碼;Hyperledger Fabric;區(qū)塊鏈應(yīng)用
中圖分類號:TP319 文獻標識碼:A
文章編號:1009-3044(2024)36-0053-03"開放科學(xué)(資源服務(wù)) 標識碼(OSID) :
0 引言
隨著移動互聯(lián)網(wǎng)的迅速發(fā)展,越來越多的人選擇在網(wǎng)上進行購物和交易,二手交易平臺因此得到了迅速發(fā)展。人們逐漸意識到二手物品的價值,數(shù)據(jù)顯示,2023年二手電商交易規(guī)模達5 486.5億元,同比增長14.25%;用戶規(guī)模為5.8億人,同比增長25.26%[1]。目前二手交易平臺存在信任缺失、數(shù)據(jù)安全隱患、交易糾紛等問題。區(qū)塊鏈技術(shù)是一種可溯源、交易合約強制執(zhí)行、安全可信的分布式存儲技術(shù)。與傳統(tǒng)二手交易平臺相比,區(qū)塊鏈使用可溯源的機制提升用戶體驗,使用分布式存儲保障交易雙方數(shù)據(jù)安全,通過引入監(jiān)管和調(diào)節(jié)機構(gòu)促進多方認證,利用三方博弈提高市場公平性,使用點對點的交易模式降低中心化平臺的干擾和交易成本。對于貴重的二手商品,使用區(qū)塊鏈技術(shù)構(gòu)建的可信任二手交易平臺將成為未來二手交易的新模式。
1 國內(nèi)外研究現(xiàn)狀
近年來,國內(nèi)對于二手交易平臺以微信小程序和互聯(lián)網(wǎng)等為主。張柱等[2]提出使用Java語言開發(fā)基于微信小程序的校園二手交易平臺,李元博等[3]提出使用Eclipse平臺設(shè)計基于B/S架構(gòu)的校園二手商品交易系統(tǒng)并采用人臉識別技術(shù)實現(xiàn)了系統(tǒng)登錄,莊彥等[4]提出一個基于校園網(wǎng)的二手交易平臺。
在區(qū)塊鏈應(yīng)用的探索方面,杜惠英等[5]提出使用區(qū)塊鏈搭建大宗商品的交易平臺,張東鋼[6]提出一個用區(qū)塊鏈優(yōu)化公共資源交易的新模式,劉華懿[7]提出將區(qū)塊鏈技術(shù)加入二手房的交易監(jiān)管服務(wù)系統(tǒng),郭儀等[8]提出用區(qū)塊鏈技術(shù)把電力數(shù)據(jù)設(shè)計為一種資產(chǎn)并實現(xiàn)對這種資產(chǎn)的交易,牛曉林等[9]提出將音樂的出版權(quán)作為一種數(shù)據(jù)存儲在鏈上,有效地實現(xiàn)和維護了對音樂產(chǎn)權(quán)以及產(chǎn)權(quán)人的保護,李向陽等[10]提出一個基于區(qū)塊鏈的知識產(chǎn)權(quán)交易平臺,劉明瑋等[11]提出一個基于聯(lián)盟鏈的數(shù)據(jù)驅(qū)動型財務(wù)共享平臺。
基于上述研究分析,在現(xiàn)有二手交易服務(wù)方面,并未有使用區(qū)塊鏈技術(shù)作為實際應(yīng)用落地的研究。區(qū)塊鏈技術(shù)作為第三代互聯(lián)網(wǎng)的重要支柱,正逐漸應(yīng)用于各個領(lǐng)域。使用區(qū)塊鏈對現(xiàn)有二手交易服務(wù)體系進行升級,加入監(jiān)管節(jié)點和調(diào)節(jié)節(jié)點預(yù)防詐騙,控制物品價格,促進數(shù)據(jù)流通,提高買方交易信心,使二手交易行業(yè)更加透明并合規(guī)合法。
2 基于區(qū)塊鏈的二手交易服務(wù)平臺的系統(tǒng)架構(gòu)和功能
2.1 系統(tǒng)邏輯架構(gòu)
基于開放聯(lián)盟鏈的二手交易服務(wù)平臺由運營商、政府監(jiān)管機構(gòu)、社會組織共同構(gòu)成區(qū)塊鏈的模式。根據(jù)二手交易服務(wù)平臺的需求和區(qū)塊鏈網(wǎng)絡(luò)模式設(shè)計的邏輯架構(gòu)如圖1所示。
平臺主要分為網(wǎng)絡(luò)層、鏈碼層、存儲層、應(yīng)用層。首先在Linux 服務(wù)器中搭建區(qū)塊鏈網(wǎng)絡(luò),通過Hy? perledger Fabric平臺提供的區(qū)塊鏈搭建工具來生成證書和密鑰,完成區(qū)塊鏈網(wǎng)絡(luò)文件配置,在網(wǎng)絡(luò)中創(chuàng)建并啟動各組織節(jié)點,創(chuàng)建節(jié)點間的交流通道和創(chuàng)世區(qū)塊,將節(jié)點加入通道,將鏈碼載入節(jié)點。
網(wǎng)絡(luò)層負責系統(tǒng)中節(jié)點的通信、組織結(jié)構(gòu)、通道管理以及共識機制。這一層的作用是連接節(jié)點、完成交易傳輸和區(qū)塊廣播、實現(xiàn)共識機制、通過非對稱加密算法完成數(shù)據(jù)加密。網(wǎng)絡(luò)層組成部分及每部分作用如下所示:
1) MSP(組織和成員資格服務(wù)提供者):MSP是組織和成員資格服務(wù)提供者,全稱Membership Service Provider,負責驗證和管理區(qū)塊鏈網(wǎng)絡(luò)中成員的身份。它使用數(shù)字證書對網(wǎng)絡(luò)中的每個實體進行身份標識,從而確定每個節(jié)點或用戶的權(quán)限和身份。區(qū)塊鏈網(wǎng)絡(luò)通過MSP對成員的權(quán)限進行控制,確保具有有效身份的成員能夠訪問資源和參與共識。MSP還會通過證書和簽名機制保障交易隱私,確保交易由經(jīng)過授權(quán)的成員發(fā)起。
2) Channels(通道) :Channels(通道) 是區(qū)塊鏈網(wǎng)絡(luò)中的邏輯隔離區(qū),使不同的成員或組織在一個通道內(nèi)共享數(shù)據(jù)。每個通道擁有一個獨立賬本,一個通道的交易和數(shù)據(jù)對其他通道是不可見的,因此保證了數(shù)據(jù)隔離和隱私。只有在一個通道內(nèi)的成員組織可以訪問和參與交易,這使得多方組織在同一網(wǎng)絡(luò)中共享區(qū)塊鏈數(shù)據(jù)資源但保持數(shù)據(jù)獨立。
3) Orderer Nodes(排序節(jié)點) :Orderer Nodes(排序節(jié)點) 是網(wǎng)絡(luò)的節(jié)點之一,它負責接受來自客戶端的交易請求,將請求經(jīng)過排序來保證區(qū)塊鏈的總順序一致性。它通過共識算法來保證區(qū)塊生成的順序和網(wǎng)絡(luò)的一致性,確保對等節(jié)點擁有一致的數(shù)據(jù)記錄,最后生成區(qū)塊并發(fā)送給對等節(jié)點。
4) Peer Nodes(對等節(jié)點) :Peer Nodes(對等節(jié)點) 是網(wǎng)絡(luò)的節(jié)點之一,它負責在區(qū)塊鏈網(wǎng)絡(luò)中傳輸數(shù)據(jù)、執(zhí)行鏈碼、存儲交易賬本。Peer節(jié)點在網(wǎng)絡(luò)層中的作用是參與共識流程和記錄交易信息,由負責運營和監(jiān)管的組織持有。所有Peer節(jié)點都有執(zhí)行鏈碼、對Orderer節(jié)點發(fā)出的區(qū)塊信息做驗證的能力,但并不是所有的Peer節(jié)點都會安裝鏈碼,安裝并運行了鏈碼的稱為Endorsing Peer(背書節(jié)點) 。
5) Endorsing Peer(背書節(jié)點) :Endorsing Peer(背書節(jié)點) 是網(wǎng)絡(luò)的節(jié)點之一,它需要承擔額外的職責,如驗證交易的合法性。通常會接收交易提案,執(zhí)行鏈碼,然后根據(jù)背書策略對結(jié)果進行背書,即記錄交易執(zhí)行過程中讀取的和發(fā)生變化的狀態(tài)信息。這些節(jié)點在交易被排序和寫入賬本之前提供初步驗證。
6) Anchor Nodes(錨節(jié)點) :Anchor Nodes(錨節(jié)點) 是網(wǎng)絡(luò)的節(jié)點之一,它負責在網(wǎng)絡(luò)中建立跨組織通信。它是各組織在網(wǎng)絡(luò)中的連接點,通常每個組織都會將一個Peer節(jié)點設(shè)置為Anchor節(jié)點。
7) CA Nodes(證書授權(quán)節(jié)點) :CA Nodes(證書授權(quán)節(jié)點) 是網(wǎng)絡(luò)的節(jié)點之一,全稱Certificate Authority,它是數(shù)字證書頒發(fā)機構(gòu),負責組織內(nèi)部成員的注冊和加入等工作。為該組織的區(qū)塊鏈用戶生成和頒發(fā)數(shù)字證書,其作用是防止未授權(quán)的用戶或失效節(jié)點繼續(xù)訪問網(wǎng)絡(luò)。
8) Cli Nodes(客戶端節(jié)點) :Cli Nodes(客戶端節(jié)點) 扮演了代表最終用戶的實體,可以同時與Peer和Orderer通信,創(chuàng)建并調(diào)用交易。客戶端節(jié)點的作用是為用戶提供一個工具,用于與網(wǎng)絡(luò)進行交互。
鏈碼層是系統(tǒng)的業(yè)務(wù)邏輯層,負責處理鏈碼的部署。這一層的作用是定義和執(zhí)行區(qū)塊鏈中的業(yè)務(wù)邏輯、交易規(guī)則、背書策略、資產(chǎn)操作,需要實現(xiàn)平臺功能與頁面設(shè)計,搭建對應(yīng)用層的服務(wù)接口。鏈碼層使用Go語言完成,在Docker容器中運行實現(xiàn),確保其隔離性和安全性。
存儲層分為區(qū)塊鏈存儲和MySQL數(shù)據(jù)庫存儲。在這樣的混合架構(gòu)中,區(qū)塊鏈存儲負責存儲用戶的交易數(shù)據(jù)、區(qū)塊數(shù)據(jù)、關(guān)鍵事件日志、所有權(quán)證書,其作用是確保交易透明可信、可追溯、不可更改。MySQL 數(shù)據(jù)庫負責存儲用戶數(shù)據(jù)、商品信息、訂單和庫存等,其作用是存儲需要高頻更新、快速響應(yīng)的數(shù)據(jù),以減輕區(qū)塊鏈網(wǎng)絡(luò)的運行壓力和減少運營商的運行成本。
應(yīng)用層的作用是為用戶提供直觀的界面,包括用戶的登錄、查詢、交易、捐贈等界面。應(yīng)用層使用Ja? vaScript框架實現(xiàn)網(wǎng)頁的交互模式,使用Vue完成頁面的渲染,用戶通過瀏覽器訪問前端Web頁面,完成與各類去中心化應(yīng)用的交互。
交易信息在區(qū)塊鏈網(wǎng)絡(luò)中的共識流程如圖2所示。
在系統(tǒng)的區(qū)塊鏈網(wǎng)絡(luò)中,一條交易信息請求從客戶端到區(qū)塊鏈存儲需要經(jīng)歷多個階段:
1) 首先,客戶端向區(qū)塊鏈網(wǎng)絡(luò)提交交易請求,生成交易提案到背書節(jié)點。
2) 多個背書節(jié)點收到交易提案后須執(zhí)行相應(yīng)的鏈碼,各自驗證交易,得到結(jié)果并簽名后向客戶端發(fā)送信息。
3) 客戶端接收到一定數(shù)量的經(jīng)過簽名的背書結(jié)果后,將交易信息和背書結(jié)果打包成交易提案發(fā)送到排序節(jié)點。
4) 排序節(jié)點收到交易提案后驗證讀寫集,通過排序服務(wù)對其進行排序,最后將排序后的交易打包成區(qū)塊并廣播給所有對等節(jié)點。
5) 對等節(jié)點收到區(qū)塊后需要驗證這個區(qū)塊的簽名、區(qū)塊里面交易信息的合法性、有效性和狀態(tài)、排序節(jié)點的可信度。驗證通過后將更新賬本;如驗證失敗,則不會更新賬本并將交易記錄到日志。
這個過程稱為區(qū)塊鏈節(jié)點達成共識。達成共識后,對等節(jié)點會通過應(yīng)用程序?qū)酉蛴脩舭l(fā)送交易成功的通知。
2.2 系統(tǒng)模式設(shè)計
關(guān)于系統(tǒng)模式的節(jié)點設(shè)計,系統(tǒng)在區(qū)塊鏈運營商節(jié)點外加入政府監(jiān)管機構(gòu)節(jié)點與社會組織節(jié)點,使得平臺運營商的盈利所得公開透明且無法更改。運營商的得利由需要上鏈服務(wù)的用戶提供,社會組織節(jié)點可以保障消費者的權(quán)益,社會組織的得利由需要維權(quán)的消費者提供,政府監(jiān)管機構(gòu)的節(jié)點由運營商提供,通過政府補貼來維護節(jié)點的運行。由區(qū)塊鏈運營商持有排序節(jié)點和部分對等節(jié)點來監(jiān)控和管理區(qū)塊鏈網(wǎng)絡(luò)的運行狀態(tài),由政府監(jiān)管機構(gòu)持有部分對等節(jié)點來實時監(jiān)控區(qū)塊鏈網(wǎng)絡(luò)的交易和數(shù)據(jù)以確保平臺合法合規(guī),由社會保障消費者權(quán)益組織持有部分對等節(jié)點來監(jiān)督審計消費者交易數(shù)據(jù)以確保消費者權(quán)益,提供信息證明。系統(tǒng)平臺模式如圖3所示。
系統(tǒng)由三種核心節(jié)點組成:淘寶持有排序節(jié)點和對等節(jié)點運行網(wǎng)絡(luò),負責為用戶提供服務(wù),同時可以接受市場監(jiān)管局監(jiān)督,改進消費者協(xié)會提出的建議;市場監(jiān)管局持有對等節(jié)點,可以在需要時驗證交易賬本,防止交易欺詐,增強平臺公信力,通過與消費者協(xié)會和淘寶的協(xié)商制定市場規(guī)則;消費者協(xié)會持有對等節(jié)點,負責通過交易賬本為消費者提供售后保障,向市場監(jiān)管局反饋問題,協(xié)助監(jiān)管工作。通過引入市場監(jiān)管局和消費者協(xié)會完成三方博弈,形成信息閉環(huán),體現(xiàn)開放聯(lián)盟鏈多方協(xié)作、信息透明、數(shù)據(jù)安全的理念。
運營商或個人用戶如需加入?yún)^(qū)塊鏈網(wǎng)絡(luò),需提交申請。經(jīng)過2/3的節(jié)點進行電子簽名認證后,即可成為鏈上新的節(jié)點。新運營商會參與區(qū)塊鏈網(wǎng)絡(luò)的運行和維護,新用戶會獲得區(qū)塊鏈網(wǎng)絡(luò)的服務(wù)。
3 測試與分析
3.1 測試環(huán)境
系統(tǒng)在Linux 服務(wù)器上部署,采用Hyperledger Fabric 開發(fā)平臺。測試環(huán)境及版本如表1 所示,Docker節(jié)點的部署及個數(shù)如表2所示。
3.2 功能測試
在上述實驗測試環(huán)境下,對系統(tǒng)的功能進行測試,測試的功能及結(jié)果如表3所示。
系統(tǒng)已基本實現(xiàn)核心功能并通過測試,具備完整的交易流程、實時數(shù)據(jù)同步和溯源功能。在開放聯(lián)盟鏈節(jié)點部署個數(shù)偏少的情況下,測試未能涵蓋性能、安全性等方面的內(nèi)容。在后續(xù)的實驗研究中,將采用經(jīng)過改進的算法來測試更多部署節(jié)點的系統(tǒng)運行狀況。
系統(tǒng)的用戶與管理員登錄如圖4所示。
系統(tǒng)的物品添加頁面如圖5所示。
系統(tǒng)的物品銷售與捐贈頁面如圖6所示。
系統(tǒng)的區(qū)塊鏈網(wǎng)頁前端頁面如圖7所示。
4 總結(jié)
本文設(shè)計并實現(xiàn)了一個基于開放聯(lián)盟鏈的二手交易服務(wù)系統(tǒng),使用三方博弈的模式和區(qū)塊鏈技術(shù)對二手交易服務(wù)體系進行升級,對二手交易的方式和區(qū)塊鏈技術(shù)的普及與應(yīng)用作出了積極貢獻。系統(tǒng)允許社會組織和政府管理部門在經(jīng)過允許后加入開放聯(lián)盟鏈共享區(qū)塊鏈數(shù)據(jù)。在應(yīng)用層面上,保障了消費者權(quán)益和隱私,提高了消費者對二手物品信息的信任度;在監(jiān)管層面上,解決了政府對區(qū)塊鏈應(yīng)用的監(jiān)管問題,提高了市場監(jiān)管部門對運營商的管理能力;在服務(wù)層面上,實現(xiàn)了對運營商服務(wù)能力的升級。本文使用了Solo共識機制,在Linux服務(wù)器上成功完成了系統(tǒng)測試實驗。未來會在大量增加節(jié)點數(shù)量的環(huán)境下使用更優(yōu)化的算法提升網(wǎng)絡(luò)對交易信息的處理速度,通過構(gòu)建區(qū)域性循環(huán)經(jīng)濟示范點并與智慧城市系統(tǒng)相結(jié)合,形成管理聯(lián)盟的新模式,逐步向周邊輻射推廣,最終實現(xiàn)綠色、可持續(xù)發(fā)展的二手商品流通。