国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于區(qū)塊鏈的儀器租賃模型

2022-02-18 13:53于金剛袁軼皓毛立爽姬鵬翔
關(guān)鍵詞:背書賬本儀器

于金剛,袁軼皓,李 姝,毛立爽,姬鵬翔

1(中國科學(xué)院大學(xué),北京 100049) 2(中國科學(xué)院 沈陽計(jì)算技術(shù)研究所,沈陽 110168) 3(沈陽理工大學(xué),沈陽 110159)

1 引 言

租賃行業(yè)在近十年成長迅速,融資租賃市場規(guī)模不斷擴(kuò)大,租賃平臺數(shù)量也呈上升趨勢,交易規(guī)模至 2020 年約達(dá) 9.8 萬億元[1].從租賃品的種類來看,從之前的相機(jī)、電腦、自行車等日常物品,到如今逐漸興起的大型設(shè)備、科研儀器等高價(jià)值的物品都在市場占有一席之地.而從租賃形式來看,之前多是平臺擁有租賃物的所屬權(quán),用戶向平臺租賃獲取物品使用權(quán).但同時(shí)用戶間的物品租賃也逐漸興起,第三方平臺負(fù)責(zé)作為中介的角色撮合承租方和出租方.

由于傳統(tǒng)商業(yè)模式或現(xiàn)有技術(shù)手段的限制,租賃行業(yè)仍存在部分難以解決的問題,如用戶信用信息不對稱、租賃糾紛解決難、交易信息不透明等問題.而區(qū)塊鏈技術(shù)具有去中心化(或多中心化)、可追溯、不可篡改等特點(diǎn)[2].如果以區(qū)塊鏈技術(shù)手段為基礎(chǔ),結(jié)合現(xiàn)有的業(yè)務(wù)邏輯,可以用去中心化的方式解決上述租賃過程中存在的痛點(diǎn).

區(qū)塊鏈的概念源自中本聰提出的數(shù)字貨幣——比特幣[3],它不依賴單一的第三方中心節(jié)點(diǎn),而是將信息的存儲,驗(yàn)證和交流通過參與其中的多分布式節(jié)點(diǎn)來實(shí)現(xiàn).其中涉及到多領(lǐng)域技術(shù),例如點(diǎn)對點(diǎn)傳輸、分布式數(shù)據(jù)存儲、加密算法、共識機(jī)制等[4].

隨著區(qū)塊鏈技術(shù)的發(fā)展,現(xiàn)在區(qū)塊鏈行業(yè)已經(jīng)步入3.0時(shí)代,應(yīng)用場景也從最早的數(shù)字貨幣,擴(kuò)展到例如商品溯源、數(shù)字政務(wù)、資產(chǎn)結(jié)算等行業(yè).技術(shù)上也逐漸支持圖靈完備的編程語言來運(yùn)行更加復(fù)雜的邏輯[5].例如以太坊(ETH)支持編寫智能合約,上傳后運(yùn)行在以太坊網(wǎng)絡(luò)中的以太坊虛擬機(jī)(EVM)上,當(dāng)合約中的觸發(fā)條件滿足之后會自動執(zhí)行完成指定事件[6].

本文提出一種基于區(qū)塊鏈的儀器租賃模型設(shè)計(jì),將聯(lián)盟鏈的機(jī)制加入租賃平臺.主要思路是,首先將出租方和承租方節(jié)點(diǎn)映射在搭建好的區(qū)塊鏈網(wǎng)絡(luò);之后建立通道讓不同節(jié)點(diǎn)之間完成通信;然后用戶通過調(diào)用不同的智能合約完成儀器的租賃流程;最后保證產(chǎn)生的交易能在區(qū)塊鏈上達(dá)成共識,形成區(qū)塊.這樣可以讓租賃過程中產(chǎn)生的數(shù)據(jù)可追溯,不被篡改,解決租賃過程可能產(chǎn)生的信用信息不對稱、租賃糾紛取證難等問題.并且在第四部分實(shí)現(xiàn)了該模型,采用超級賬本(Hyperledger Fabric)框架構(gòu)建區(qū)塊鏈網(wǎng)絡(luò),實(shí)現(xiàn)租賃模型的智能合約,并且實(shí)際運(yùn)行對系統(tǒng)性能進(jìn)行評估.

2 相關(guān)工作

2.1 現(xiàn)有儀器租賃

現(xiàn)有的儀器租賃平臺的業(yè)務(wù)流程主要如圖1所示,需要第三方平臺加上中心化的數(shù)據(jù)庫來參與租賃流程的進(jìn)行,因此從發(fā)起租賃請求到歸還儀器整個過程無法做到完全的監(jiān)控,就可能出現(xiàn)以下幾個問題:

圖1 中心化的租賃平臺交易流程Fig.1 Centralized platform transaction process

1)儀器屬性可信度低,在傳統(tǒng)的租賃平臺中,承租方無法知曉儀器的真實(shí)屬性,僅能通過型號等基礎(chǔ)信息判斷可信度.

2)儀器租賃歷史不全,無法準(zhǔn)確查詢儀器的租賃歷史,致使承租方很難通過平臺找到合適的儀器.

3)難以達(dá)成多邊信任,對于承租方作惡成本低,無法及時(shí)解決儀器故障,對于出租方無法獲得租賃儀器的使用數(shù)據(jù),當(dāng)糾紛發(fā)生時(shí)無法確認(rèn)責(zé)任歸屬.

2.2 超級賬本

Hyperledger Fabric是IBM提供的一個開源的區(qū)塊鏈平臺[7],開發(fā)者可以利用該平臺完成自己的系統(tǒng)設(shè)計(jì).它具有完整的身份和權(quán)限管理,主要是以聯(lián)盟鏈的形式在節(jié)點(diǎn)之間搭建通道,達(dá)成共識,而且能夠進(jìn)行模塊化擴(kuò)展.其中關(guān)鍵的組件包括:

1)節(jié)點(diǎn):節(jié)點(diǎn)主要分為記賬節(jié)點(diǎn)和背書節(jié)點(diǎn).其中記賬節(jié)點(diǎn)負(fù)責(zé)保存整個區(qū)塊鏈的賬本信息,記錄歷史狀態(tài).而背書節(jié)點(diǎn)此外還會對交易進(jìn)行檢查并背書,來計(jì)算交易執(zhí)行結(jié)果,之后將結(jié)果發(fā)送給排序服務(wù).

2)成員服務(wù)提供者(MSP):在區(qū)塊鏈網(wǎng)絡(luò)提供節(jié)點(diǎn)權(quán)限驗(yàn)證與鏈上用戶管理功能[8].完成身份驗(yàn)證,并頒發(fā)證書給網(wǎng)絡(luò)中的參與者.

3)SDK:提供多種語言的接口,完成應(yīng)用和區(qū)塊鏈網(wǎng)絡(luò)的交互.目前應(yīng)用支持區(qū)塊鏈網(wǎng)絡(luò)結(jié)構(gòu)的修改,交易發(fā)起,鏈上信息查詢,配置更新等操作.

4)通道&鏈碼:由于超級賬本采用的是與公鏈不同的聯(lián)盟鏈?zhǔn)郊軜?gòu),通道是不同節(jié)點(diǎn)之間建立通信的途徑,而且相同通道內(nèi)的節(jié)點(diǎn)僅維護(hù)單一賬本.這樣能使不同通道擁有獨(dú)立的數(shù)據(jù)權(quán)限管理,隔離其他通道節(jié)點(diǎn),防止賬本數(shù)據(jù)泄露,同時(shí)也能提高共識效率.而超級賬本同其他數(shù)字貨幣最大的區(qū)別是支持多語言的鏈碼,讓更復(fù)雜的業(yè)務(wù)邏輯實(shí)現(xiàn)得到可能.其中主要分為系統(tǒng)鏈碼和用戶鏈碼.前者是Fabric的系統(tǒng)處理邏輯,主要完成節(jié)點(diǎn)和通道配置,為交易背書等工作.而用戶鏈碼是由開發(fā)者實(shí)現(xiàn),鏈上用戶以調(diào)用鏈碼的形式與區(qū)塊鏈進(jìn)行交互,目前用戶鏈碼需要在安裝之后以鏈碼容器的形式在鏈上運(yùn)行.

5)排序服務(wù):交易經(jīng)過背書節(jié)點(diǎn)認(rèn)證后會通過排序節(jié)點(diǎn)來完成區(qū)塊的打包,新區(qū)塊會使用Gossip廣播協(xié)議發(fā)送到相同通道中的節(jié)點(diǎn).交易打包結(jié)果會根據(jù)共識機(jī)制[9]的不同有所變化.除了Solo和Raft模式被Fabric官方所支持,同時(shí)也支持自定義的共識機(jī)制.

2.3 區(qū)塊鏈在相關(guān)行業(yè)的研究

對于能源交易方面祁兵,夏琰等提出基于區(qū)塊鏈激勵機(jī)制的光伏交易機(jī)制設(shè)計(jì)[12],設(shè)計(jì)了光伏交易系統(tǒng)中的交易流程、共識算法、隱私保障機(jī)制以及用戶的智能合約.并提出信譽(yù)值體系確保交易網(wǎng)絡(luò)中各節(jié)點(diǎn)的正向有效合作.

Zhao G,Liu S等也提及到區(qū)塊鏈在農(nóng)產(chǎn)品溯源上的使用[13],做到可以從原料產(chǎn)地到最終商品上架出售給消費(fèi)者的全過程監(jiān)管和溯源.

對于物聯(lián)網(wǎng)和區(qū)塊鏈的結(jié)合,文獻(xiàn)[14]提出讓區(qū)塊鏈系統(tǒng)與物聯(lián)網(wǎng)設(shè)備結(jié)合來實(shí)現(xiàn)設(shè)備訪問權(quán)限的配置和管理.同時(shí)于金剛,張弘等人也提出基于區(qū)塊鏈的物聯(lián)網(wǎng)數(shù)據(jù)共享模型[15],設(shè)置智能網(wǎng)關(guān)將物聯(lián)網(wǎng)設(shè)備產(chǎn)生的監(jiān)測指標(biāo)上傳到區(qū)塊鏈網(wǎng)絡(luò)中實(shí)現(xiàn)共享.

可以看到目前區(qū)塊鏈技術(shù)在相關(guān)行業(yè)的研究多數(shù)是在區(qū)塊鏈上保存數(shù)據(jù)記錄,而對于將物聯(lián)網(wǎng)設(shè)備連接到區(qū)塊鏈中的研究不多,更多的是以數(shù)據(jù)存儲和權(quán)限轉(zhuǎn)移為目的[16],以去中心化的數(shù)據(jù)庫的形式使用.

鑒于當(dāng)前儀器租賃平臺的問題,本文設(shè)計(jì)了結(jié)合區(qū)塊鏈的儀器租賃模型,來實(shí)現(xiàn)基于多中心化信用的交互.不僅將交易數(shù)據(jù)保存在由承租方和出租方構(gòu)成的聯(lián)盟鏈網(wǎng)絡(luò)上,而且在租賃過程中將儀器也連接到網(wǎng)絡(luò)中,從而實(shí)現(xiàn)物理設(shè)備的上鏈,發(fā)送使用數(shù)據(jù).保證整個租賃過程可監(jiān)控,可溯源,以解決上訴提到的問題.

3 儀器租賃模型與智能合約設(shè)計(jì)

3.1 模型架構(gòu)設(shè)計(jì)

可將基于區(qū)塊鏈的儀器租賃體系架構(gòu)分為應(yīng)用層、接口層、服務(wù)層、賬本層和數(shù)據(jù)采集層.

應(yīng)用層向出租方和承租方提供交互界面,讓雙方可以通過該層完成包括注冊登錄,查詢鏈上數(shù)據(jù),完成儀器租賃以及儀器數(shù)據(jù)上傳等功能.

接口層選擇 HTTP協(xié)議作為網(wǎng)絡(luò)傳輸協(xié)議,通過調(diào)用智能合約中不同的API與區(qū)塊鏈進(jìn)行交互,將租賃雙方在應(yīng)用層發(fā)出的交易請求轉(zhuǎn)發(fā)到服務(wù)層中.

服務(wù)層包含基礎(chǔ)模塊和業(yè)務(wù)模塊兩部分,用于處理接口層發(fā)來的不同類型的交易提案.其中基礎(chǔ)模塊負(fù)責(zé)對賬本層中的節(jié)點(diǎn),通道,排序服務(wù)等進(jìn)行管理.而業(yè)務(wù)模塊安裝了與儀器租賃相關(guān)的智能合約,負(fù)責(zé)處理租賃流程.

賬本層以聯(lián)盟鏈的形式呈現(xiàn),出租方和承租方間會構(gòu)建通道進(jìn)行數(shù)據(jù)交換,而租賃雙方都包含記賬節(jié)點(diǎn)和背書節(jié)點(diǎn).通過排序服務(wù)打包的區(qū)塊,會記錄在節(jié)點(diǎn)的分布式賬本中,使其變得不可篡改以及可追溯.

數(shù)據(jù)采集層負(fù)責(zé)租賃過程中設(shè)備傳感器數(shù)據(jù)的上傳,主要以交易的形式通過網(wǎng)關(guān)發(fā)送到區(qū)塊鏈網(wǎng)絡(luò),實(shí)現(xiàn)出租方對儀器狀態(tài)的監(jiān)控,以及租賃過程中的糾紛定責(zé).

3.2 儀器租賃模型網(wǎng)絡(luò)結(jié)構(gòu)

儀器租賃模型的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,運(yùn)行過程參與實(shí)體包括應(yīng)用程序、承租方和出租方的節(jié)點(diǎn)、排序服務(wù).

圖2 儀器租賃模型網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Network structure of device leasing model

承租方或出租方作為網(wǎng)絡(luò)中的一個組織,每個組織都擁有多個節(jié)點(diǎn).這些節(jié)點(diǎn)都被視為記賬節(jié)點(diǎn),負(fù)責(zé)驗(yàn)證交易的有效性并將交易同步到賬本中.同時(shí)他們還可以擔(dān)任負(fù)責(zé)和排序服務(wù)節(jié)點(diǎn)通信的主節(jié)點(diǎn)、和其余組織進(jìn)行通信的錨節(jié)點(diǎn)、運(yùn)行智能合約來對客戶端提出的租賃交易請求進(jìn)行簽名背書,并反饋結(jié)果給客戶端的背書節(jié)點(diǎn)的角色.而通道上的排序服務(wù)負(fù)責(zé)接收已經(jīng)背書簽名過的交易,將其排序并生成區(qū)塊,之后通過Gossip協(xié)議分發(fā)給記賬節(jié)點(diǎn).

每個組織上都設(shè)置有成員服務(wù)提供者(MSP)組件,MSP包含簽名和驗(yàn)證算法,以及一組符合X.509規(guī)范的證書,主要負(fù)責(zé)向加入組織的節(jié)點(diǎn)提供數(shù)字證書.同時(shí)還負(fù)責(zé)配置組織、通道角色,以及檢查智能合約的安裝與實(shí)例化過程.節(jié)點(diǎn)需要在通道中進(jìn)行數(shù)據(jù)交換時(shí),也需要驗(yàn)證節(jié)點(diǎn)的簽名,證書的有效性.

承租方和出租方的節(jié)點(diǎn)與排序服務(wù)通過構(gòu)建通道,在其中安裝智能合約,維護(hù)相互獨(dú)立的賬本,保證賬本信息僅通道內(nèi)部成員可以訪問,對外完全隔離.承租方可以通過應(yīng)用程序查看所有出租方節(jié)點(diǎn),并且申請租賃交易.當(dāng)有新承租方或出租方節(jié)點(diǎn)需要加入時(shí),需要MSP服務(wù)為其頒發(fā)證書,讓它在區(qū)塊鏈網(wǎng)絡(luò)中注冊后才能開始租賃服務(wù).

此外對于租賃過程中儀器上傳的數(shù)據(jù),我們設(shè)置有隱私保護(hù)策略來實(shí)現(xiàn)數(shù)據(jù)集私有化,定義通道成員的數(shù)據(jù)訪問權(quán)限,保證只有儀器歸屬方能查看.在上訴的交易的背書階段會首先將儀器上傳的數(shù)據(jù)存入緩存區(qū),之后依據(jù)隱私保護(hù)策略,將私有數(shù)據(jù)發(fā)送到儀器歸屬方的數(shù)據(jù)庫.在返回的背書結(jié)果僅包含私有數(shù)據(jù)的鍵值哈希及內(nèi)容的哈希.最終對于未授權(quán)節(jié)點(diǎn)僅能看到賬本中私有數(shù)據(jù)的哈希,而儀器歸屬方除此之外還能在私有數(shù)據(jù)庫中查詢真實(shí)數(shù)據(jù).

當(dāng)未授權(quán)方需要驗(yàn)證私有數(shù)據(jù)時(shí)可以將保存在本地的哈希值與儀器歸屬方的私有數(shù)據(jù)庫中私有數(shù)據(jù)的哈希值來驗(yàn)證數(shù)據(jù)一致性.

3.3 儀器租賃模型業(yè)務(wù)流程

與傳統(tǒng)租賃相比本文涉及到與區(qū)塊鏈網(wǎng)絡(luò)的交互,需要在節(jié)點(diǎn)間達(dá)成共識的前提下,完成租賃流程.業(yè)務(wù)流程具體如下:

1)承租方在應(yīng)用程序中找到需要租賃的儀器,發(fā)起租賃請求,扣除押金.

2)區(qū)塊鏈網(wǎng)絡(luò)通過調(diào)用智能合約生成交易,并檢查租賃的合法性,如果為合法請求,出租方可以在應(yīng)用中查詢到訂單.之后出租方檢查儀器狀態(tài),確認(rèn)訂單,發(fā)送儀器.

3)承租方確認(rèn)接收到儀器,更新訂單狀態(tài)后開始使用,使用過程中儀器會連接到區(qū)塊鏈網(wǎng)絡(luò)中對應(yīng)出租方的節(jié)點(diǎn)上,然后通過網(wǎng)關(guān)調(diào)用數(shù)據(jù)上傳的智能合約將使用過程中產(chǎn)生的數(shù)據(jù)進(jìn)行上傳.

4)承租方在租期結(jié)束之前將儀器返還,在出租方檢查完儀器狀態(tài)之后,確認(rèn)收貨,此時(shí)調(diào)用結(jié)算合約扣除租金后將押金退還,并對承租方進(jìn)行評價(jià).

5)承租方接收到剩余押金后,也對出租方做出評價(jià).自此完成一次正常的儀器租賃流程.

3.4 儀器租賃模型交互過程

圖3是承租方發(fā)起租賃請求過程與區(qū)塊鏈網(wǎng)絡(luò)交互的時(shí)序圖,主要包括發(fā)起交易,執(zhí)行合約,驗(yàn)證交易,形成共識的過程.以下為具體介紹.

1)應(yīng)用程序發(fā)起交易.承租方發(fā)起租賃請求,應(yīng)用程序根據(jù)預(yù)設(shè)的背書策略發(fā)送交易提案給背書節(jié)點(diǎn).

2)背書節(jié)點(diǎn)執(zhí)行交易.背書節(jié)點(diǎn)首先根據(jù)MSP驗(yàn)證交易簽名并確定提案的操作權(quán)限.背書節(jié)點(diǎn)接收交易提案后,在當(dāng)前賬本狀態(tài)基礎(chǔ)上形成交易結(jié)果,輸出讀/寫集合和反饋值.但此時(shí)賬本還未全局更新.這些值的集合會聯(lián)合背書節(jié)點(diǎn)的簽名以及背書聲明形成“提案反饋”返回應(yīng)用層,應(yīng)用層再對返回的交易結(jié)果進(jìn)行解析.

3)應(yīng)用響應(yīng)背書結(jié)果.應(yīng)用程序會比對背書節(jié)點(diǎn)發(fā)送的交易結(jié)果來決定是否達(dá)成共識,以及指定的背書策略的執(zhí)行情況.達(dá)成共識后,排序服務(wù)會接受應(yīng)用中包含通道ID,讀/寫集合和背書節(jié)點(diǎn)簽名的“交易信息”.

4)排序交易打包區(qū)塊.排序服務(wù)對交易細(xì)節(jié)透明,只負(fù)責(zé)根據(jù)特定的共識機(jī)制將網(wǎng)絡(luò)中所有通道的交易打包,創(chuàng)建最新的交易區(qū)塊.

圖3 交互過程時(shí)序圖Fig.3 Sequence diagram of interaction process

5)記賬節(jié)點(diǎn)接收交易區(qū)塊.通道中的所有節(jié)點(diǎn)會通過Gossip廣播接收打包后的區(qū)塊.

6)記賬節(jié)點(diǎn)交易驗(yàn)證.記賬節(jié)點(diǎn)首先確保背書策略被正確執(zhí)行,并且確認(rèn)讀/寫集合的有效性.之后會對區(qū)塊中的交易的有效性進(jìn)行標(biāo)注.最終區(qū)塊會被記賬節(jié)點(diǎn)追加到通道的鏈上.將有效交易寫入集合并提交到數(shù)據(jù)庫.

7)交易結(jié)果通知.交易執(zhí)行結(jié)果會被返回給應(yīng)用層.其中包括交易執(zhí)行情況,以及記錄時(shí)間哈希和交易內(nèi)容的哈希,經(jīng)由統(tǒng)一處理后返回給承租方.

3.5 儀器租賃模型智能合約設(shè)計(jì)

智能合約主要存在于服務(wù)層的業(yè)務(wù)模塊中,負(fù)責(zé)實(shí)現(xiàn)租賃的業(yè)務(wù)流程.本文是基于Fabric搭建的租賃平臺,因此實(shí)現(xiàn)形式為使用Go語言來編寫對應(yīng)智能合約.然后在客戶端調(diào)用SDK,發(fā)起并轉(zhuǎn)發(fā)請求到服務(wù)層中的對應(yīng)合約來處理交易.具體實(shí)現(xiàn)內(nèi)容如下:

3.5.1 出租方&承租方的注冊

出租方儀器在被租賃之前需要在鏈上進(jìn)行注冊并完成節(jié)點(diǎn)添加.而承租方也需要注冊后再完成租賃.注冊合約需要例如用戶名,密鑰,組織歸屬,聯(lián)系方式等賬戶基本信息.此外在賬戶中還需要添加錢包地址.在發(fā)起租賃時(shí),承租方會向出租方錢包地址轉(zhuǎn)賬繳納押金.在儀器歸還階段,出租方將儀器押金返還承租方,從而保證交易的安全性.最終注冊的賬戶是用戶在區(qū)塊鏈網(wǎng)絡(luò)中的唯一標(biāo)識.

3.5.2 儀器的注冊

出租方在完成角色注冊之后,需要進(jìn)行儀器注冊確認(rèn)其資產(chǎn)歸屬.儀器的注冊合約目的是與出租方綁定,將實(shí)物資產(chǎn)上鏈.其中包含,基本儀器屬性(種類,型號,生產(chǎn)廠家等),儀器歸屬方,以及出租方網(wǎng)關(guān).其中網(wǎng)關(guān)負(fù)責(zé)與區(qū)塊鏈網(wǎng)絡(luò)的正常交互,完成后續(xù)租賃流程中儀器數(shù)據(jù)的上傳和狀態(tài)的監(jiān)控.

3.5.3 儀器租賃

本文將正常租賃流程分為五個階段:訂單生成-儀器運(yùn)輸-儀器使用-儀器歸還-訂單結(jié)束.承租方通過調(diào)用租賃合約來發(fā)起租賃,合約中包含儀器ID,承租方ID,租賃時(shí)間,租金,押金,租期等屬性.之后進(jìn)行合法性檢查,包括承租方存在性、儀器可用性、賬戶余額等.如果交易狀態(tài)合法,會生成訂單并發(fā)送至區(qū)塊鏈,此時(shí)該訂單處于生成階段.需要出租方在確認(rèn)訂單后,檢查儀器狀態(tài)后發(fā)貨,同時(shí)調(diào)用租賃合約修改訂單狀態(tài).之后承租方確認(rèn)收到儀器,訂單狀態(tài)修改為使用中,開始儀器使用.

3.5.4 儀器數(shù)據(jù)上傳

在儀器使用過程中,儀器傳感器會通過網(wǎng)關(guān)連接到賬本層中出租方節(jié)點(diǎn),然后調(diào)用智能合約將采集的數(shù)據(jù)上傳到區(qū)塊鏈網(wǎng)絡(luò),以備之后的查詢和校驗(yàn).消息格式包含消息UID,上傳時(shí)間,IP地址,通道ID以及載荷數(shù)據(jù).具體的上傳流程如圖4所示.

圖4 儀器數(shù)據(jù)上傳流程Fig.4 Device data upload process

3.5.5 儀器歸還結(jié)算

在在租期結(jié)束后,需要將儀器歸還,并更新訂單狀態(tài).在出租方收到儀器并且檢查儀器狀態(tài)后,本次交易正常結(jié)束.結(jié)算合約會根據(jù)承租方的租賃時(shí)長和信用度決定租金.出租方會在承租方x在完成租賃后,在1-5分之間評價(jià)其信用度,然后進(jìn)行加權(quán)計(jì)算.承租方信用度計(jì)算具體為公式(1)所示:

(1)

其中Rx為當(dāng)前信用度,而N代表租賃次數(shù),Cx,i代表單次租賃評分,其中Cx,i∈{1,2,3,4,5},在加權(quán)之后計(jì)算均值,作為信用度.計(jì)算租金時(shí)對信用度高的承租方有優(yōu)惠,以鼓勵系統(tǒng)中的正向行為.本文設(shè)定當(dāng)承租方綜合評分大于4.0時(shí),每提高信用度0.1,對應(yīng)優(yōu)惠1%租金.所以最后計(jì)算租金Fx,n的公式為:

(2)

其中f為每日租金,days為儀器租賃的時(shí)長.而押金會在扣除租金后返還.

3.5.6 出租方信用度計(jì)算

在完成租賃后,承租方也需要評價(jià)出租方.當(dāng)存在同類型的儀器時(shí),系統(tǒng)會根據(jù)出租方的信用度進(jìn)行排序.本文基于文獻(xiàn)[17],假定承租方的信用度與評價(jià)的準(zhǔn)確性成正比,通過區(qū)別信用度不同的承租方來根據(jù)評分計(jì)算出租方的總信用度.具體如公式(3),公式(4)所示:

(3)

(4)

其中出租方l的信用度為Rl,n+1,n為收到的評價(jià)次數(shù).θ是大于1的常量,Φ(R)可以使信用度變化更加平滑,其中σ是加速因子,當(dāng)σ越大,Φ(R)曲線越平滑.D是評分上限,本文設(shè)置為5.而Rx是承租方x現(xiàn)在的信用度,信用度為Rx的用戶x對此次租賃的評價(jià)是Wn+1,其中Wn+1∈{1,2,3,4,5}.表示承租方可以在1-5分的區(qū)間選擇租賃滿意度.

3.5.7 信息查詢

租賃過程中訂單和儀器等信息可以被出租方和承租方查詢,以查詢訂單為例,首先在應(yīng)用層根據(jù)訂單ID和用戶信息構(gòu)建查詢請求,然后調(diào)用查詢合約發(fā)送提案給賬本層獲取查詢結(jié)果.查詢結(jié)果包括訂單生成時(shí)間,儀器ID,租賃時(shí)長,押金,租金等信息.由于查詢合約不涉及賬本狀態(tài)的改變,因此可以直接返回查詢結(jié)果而無需達(dá)成共識.

4 實(shí)驗(yàn)與分析

4.1 模型實(shí)現(xiàn)

本文在單機(jī)實(shí)現(xiàn)了該模型,并且驗(yàn)證隱私數(shù)據(jù)保護(hù)策略,之后測試評價(jià)機(jī)制的有效性,最后進(jìn)行性能測試.其中應(yīng)用層上采用了Vue.js搭建平臺界面,接口層采用axios框架將請求發(fā)送至服務(wù)層,在服務(wù)層采用Golang編寫相關(guān)智能合約[18],最后在賬本層使用Docker部署出租方和承租方的節(jié)點(diǎn)共4個為交易完成背書,在節(jié)點(diǎn)上安裝鏈碼以模擬完成租賃流程.此外由于排序節(jié)點(diǎn)采用Raft共識機(jī)制[19],所以共部署5個排序節(jié)點(diǎn)為背書后的交易排序并形成區(qū)塊.數(shù)據(jù)庫方面為出租方和承租方都部署相應(yīng)CouchDB.在數(shù)據(jù)采集層通過HTTP請求發(fā)送數(shù)據(jù)連接到共享賬本層.

4.2 用戶數(shù)據(jù)私密性測試

在為保證只有出租方擁有儀器上傳數(shù)據(jù)的使用權(quán),智能合約中包含上傳數(shù)據(jù)的隱私策略.本文以命令行輸入的形式模擬用戶發(fā)起的租賃請求.非私密數(shù)據(jù)與私密數(shù)據(jù)的查詢結(jié)果如圖5所示.對于非私密數(shù)據(jù)以儀器信息查詢?yōu)槔?,首先出租方?chuàng)建儀器,之后分別在出租方和承租方節(jié)點(diǎn)上查詢該儀器.結(jié)果顯示租賃雙方均能查詢到該儀器信息.

圖5 數(shù)據(jù)查詢測試結(jié)果Fig.5 Data query test results

但是對于私密數(shù)據(jù)而言,即本文的儀器上傳數(shù)據(jù).首先出租方對數(shù)據(jù)進(jìn)行上傳,再分別在兩個組織的節(jié)點(diǎn)中查詢.如圖5所示承租方查詢時(shí)會返回?zé)o數(shù)據(jù)訪問權(quán)限錯誤,而出租方節(jié)點(diǎn)可以完成信息的查詢.由此可以證明儀器上傳數(shù)據(jù)的隱私性.

4.3 出租方信用度測試

初始設(shè)置出租方信用度為0,圖6展示了出租方接受不同評分對其信用度的影響.可以看到隨著訂單數(shù)增加其增長速率減緩,但整體信用度依舊保持增長.圖6(a)是不同正態(tài)分布下承租方評分影響信用度的結(jié)果.其中評分服從N(4,0.5)分布時(shí)信用度最高,服從 N(3,0.5)時(shí)次之,而服從 N(2,0.5)時(shí)出租方信用度最低.可以確定承租方評分與出租方的租賃服務(wù)質(zhì)量呈正相關(guān).承租方較高的評分.會激勵出租方提升服務(wù)質(zhì)量,保證租賃流程順利完成.圖6(b)為常量分別設(shè)為100,200,500時(shí)出租方信用度的變化曲線.當(dāng)θ越小的時(shí)候,信用度上升的幅度越大,說明受之前評價(jià)的影響更小,因此需要合理設(shè)置θ來確定懲罰力度,否則容易降低出租方積極性.

圖6 出租方信用度變化曲線Fig.6 Change curve of lessor′s credit

圖6(c)為承租方本身的不同信用度分布對出租方評分的影響結(jié)果.可以看到如果承租方信用度在[2,3]均勻分布時(shí)信用度上升速度最慢且最終信用度最低,而在在[4,5]均勻分布時(shí)能夠更快的獲得高信用度.因?yàn)樵谛庞枚葹閇4,5]的時(shí)候有更多高信用度的承租方為訂單進(jìn)行評價(jià).

由此得出該方法能夠有效的計(jì)算出租方信用度,且可以調(diào)整參數(shù)以改變評分變化速度和歷史評價(jià)對信用度的影響.同時(shí)為防止惡評,控制低信用度的承租方對出租方的影響,最終能夠激勵承租方提升信用度,形成良好循環(huán).

4.4 性能測試

在性能方面,本文采用Hyperleager Caliper框架進(jìn)行測試,測試模型在總交易數(shù)為2000時(shí),完成承租方注冊,查詢以及承租方的屬性更新功能的系統(tǒng)吞吐量和平均時(shí)延.測試結(jié)果如圖7所示,其中橫坐標(biāo)為每秒發(fā)起的交易數(shù)量(TPS),縱坐標(biāo)分別為服務(wù)吞吐量和平均時(shí)延.實(shí)驗(yàn)結(jié)果如下:

圖 7(a)中可看出注冊類和更新類操作的性能,由于會受到排序服務(wù)中共識機(jī)制處理速度的影響而存在瓶頸,在速度達(dá)到100tps之后區(qū)塊鏈的吞吐量趨于平穩(wěn).而查詢功能的吞吐量會隨著發(fā)送速率的增加不斷上升,并且與發(fā)送速率持平.因此在租賃模型中交易處理速度未達(dá)到峰值之前,區(qū)塊鏈的吞吐量可以通過不斷提高交易發(fā)送速率來提升.

圖7 性能測試結(jié)果Fig.7 Performance test results

圖 7(b)中可看出查詢功能一直保持低時(shí)延,但注冊與更新承租方的時(shí)延會隨著發(fā)送速率的增加而逐漸增大.這是因?yàn)椴樵兣c更新功能涉及更新賬本共識狀態(tài),其中需要賬本層節(jié)點(diǎn)為交易背書后模擬執(zhí)行交易最終返回背書結(jié)果,同時(shí)排序服務(wù)也需打包交易形成新區(qū)塊并同步到賬本.所以時(shí)延會逐漸增減并且大于查詢功能.因此可以通過增加事務(wù)中包含的交易數(shù)來降低區(qū)塊鏈達(dá)成共識的時(shí)間,從而降低時(shí)延.

實(shí)驗(yàn)表明本文搭建的儀器租賃模型可以在保證一定時(shí)延和較高吞吐量的情況下完成交易流程,實(shí)現(xiàn)去中心化的儀器租賃.同時(shí)保證設(shè)備數(shù)據(jù)的私密和交易數(shù)據(jù)的共享.并設(shè)置有效的激勵措施來保證系統(tǒng)的良性循環(huán)并且后期可以通過網(wǎng)絡(luò)架構(gòu)的改進(jìn)來提高系統(tǒng)性能,實(shí)現(xiàn)多出租方及承租方租賃服務(wù)的有效連接和儀器租賃流程的透明管理.

5 總 結(jié)

本文不同于中心化的租賃系統(tǒng),提出了基于區(qū)塊鏈的儀器租賃系統(tǒng).首先分析中心化的租賃系統(tǒng)的交易流程和缺點(diǎn),然后對目前區(qū)塊鏈在行業(yè)中的研究進(jìn)行簡述.在第三節(jié)介紹了本模型的網(wǎng)絡(luò)結(jié)構(gòu)、業(yè)務(wù)流程、交互過程以及智能合約設(shè)計(jì).模型實(shí)現(xiàn)了儀器租賃的全部流程都可以在區(qū)塊鏈上監(jiān)控,用戶發(fā)起租賃請求之后,儀器會通過網(wǎng)關(guān)上傳使用數(shù)據(jù)到區(qū)塊鏈中,并以私密數(shù)據(jù)的形式保存.

最后基于超級賬本實(shí)現(xiàn)租賃平臺模型,驗(yàn)證了該平臺的可行性和安全性,首先驗(yàn)證隱私保護(hù)策略和激勵策略的有效性.證明承租方和出租方雙方都有動力維持高信用度,促成系統(tǒng)的良性循環(huán).然后測試系統(tǒng)性能,驗(yàn)證該模型能確保在一定系統(tǒng)吞吐量的情況下,實(shí)現(xiàn)交易數(shù)據(jù)的不可篡改性和可溯源性.以達(dá)到當(dāng)雙方發(fā)生糾紛時(shí)確保能通過訪問區(qū)塊鏈上的賬本信息實(shí)現(xiàn)快速定責(zé)的目的.

猜你喜歡
背書賬本儀器
《現(xiàn)代儀器與醫(yī)療》約稿函
《現(xiàn)代儀器與醫(yī)療》2022年征訂回執(zhí)
《現(xiàn)代儀器與醫(yī)療》約稿函
《現(xiàn)代儀器與醫(yī)療》2022年征訂回執(zhí)
嘟嘟熊家的百貨商店(二十九)
數(shù)說:重慶70年“賬本”展示
月亮的賬本
丟失的紅色賬本
淺談背書涂銷制度
背書連續(xù)性若干問題探析
东安县| 游戏| 舒城县| 米林县| 许昌市| 浑源县| 平舆县| 元谋县| 遵化市| 克东县| 德保县| 德昌县| 天门市| 舞钢市| 胶南市| 武宁县| 黑河市| 奎屯市| 嘉义县| 象州县| 北票市| 嘉峪关市| 德保县| 阜阳市| 宁陕县| 诸暨市| 天镇县| 长沙县| 九龙城区| 清新县| 克拉玛依市| 平凉市| 玉龙| 德清县| 洪江市| 雷山县| 囊谦县| 日土县| 蕲春县| 武义县| 阜康市|