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

        ?

        基于區(qū)塊鏈的去中心化物品共享交易服務(wù)系統(tǒng)

        2019-08-01 01:48:57范吉立何蒲李曉華聶鐵錚于戈
        計(jì)算機(jī)應(yīng)用 2019年5期

        范吉立 何蒲 李曉華 聶鐵錚 于戈

        摘 要:隨著共享經(jīng)濟(jì)的發(fā)展,對(duì)于高可信的分布式交易管理具有迫切的需求, 然而,傳統(tǒng)的中心化信息系統(tǒng)難以滿(mǎn)足。區(qū)塊鏈技術(shù)提供了一種共享賬本機(jī)制,為構(gòu)建可信的分布式交易管理奠定了基礎(chǔ)。以支持智能合約的區(qū)塊鏈2.0平臺(tái)——以太坊平臺(tái)作為基礎(chǔ)框架,深入研究基于區(qū)塊鏈技術(shù)的去中心化共享物品交易服務(wù)系統(tǒng)的運(yùn)行機(jī)制與實(shí)現(xiàn)技術(shù)。設(shè)計(jì)了基于以太坊的去中心化物品共享交易服務(wù)系統(tǒng)框架,提出了基于智能合約機(jī)制的交易管理處理流程,詳細(xì)描述了包括用戶(hù)接口在內(nèi)的系統(tǒng)實(shí)現(xiàn)技術(shù),并對(duì)該系統(tǒng)在交易處理上的性能進(jìn)行了實(shí)驗(yàn)測(cè)試。實(shí)驗(yàn)結(jié)果表明,基于以太坊的交易服務(wù)系統(tǒng)在保證交易數(shù)據(jù)可信性的基礎(chǔ)上,平均交易處理速度為每秒21.7條,有索引查詢(xún)速度為每秒117.6條,具有較高的運(yùn)行效率。

        關(guān)鍵詞:區(qū)塊鏈;交易管理;以太坊;智能合約;分布式數(shù)據(jù)庫(kù)

        中圖分類(lèi)號(hào):TP315

        文獻(xiàn)標(biāo)志碼:A

        Abstract: With the development of sharing economy, there is an urgent need for highly trusted distributed transaction management; however, traditional centralized information systems are difficult to meet it. Blockchain technology provides a shared ledger mechanism, which laid foundation for building credible distributed transaction management service. As blockchain 2.0 platform supporting smart contract, Ethereum platform was used as the basic framework to deeply study the operation mechanism and implementation technology of the decentralized shared goods transaction service system based on blockchain technology. Decentralized item sharing transaction service system framework based on Ethereum was designed, and a transaction management process based on intelligent contract mechanism was proposed. The system implementation technology including user interface was described in detail, and the performance of the system in transaction processing was tested. The experimental results indicate that the Ethereumbased transaction management system can ensure the creditability of the data and has a high operational efficiency, with average transaction processing speed of 21.7 items/s, and indexed average query speed of 117.6items/s.

        With the development of sharing economy, there is an urgent need for highly trusted distributed transaction management. However, the traditional centralized information systems are unable to satisfy the requirement of creditability. The Blockchain technology provides a mechanism of sharing ledger, which laid foundation for building the credible distributed transaction management service. With blockchain 2.0 platformEthereum which supports smart contract, as the basic framework, the operating mechanism and implementation techniques of blockchainbased decentralized item sharing and transaction service system were throughly studied, the architecture of the system was designed, the processing workflow for transaction management was proposed based on smart contract, the implementation techniques of the system including Webbased user interface were detailedly described, and the performance experiments to evaluate the proposed system were conducted. The experimental results indicate that the Ethereumbased transaction management system can ensure the creditability of the data while has high operational efficiency, with average transaction processing speed of 21.7 items/s, and indexed average query speed of 117.6items/s.

        英文關(guān)鍵詞Key words: blockchain; transaction management; Ethereum; smart contract; distributed database

        0 引言

        共享經(jīng)濟(jì)模式能夠極大地促進(jìn)社會(huì)的進(jìn)步與資源的有效利用,因此,基于互聯(lián)網(wǎng)+的共享經(jīng)濟(jì)應(yīng)用迅速發(fā)展;然而,支撐共享經(jīng)濟(jì)應(yīng)用的服務(wù)系統(tǒng)往往需要一個(gè)由第三方創(chuàng)建的、以信息技術(shù)為基礎(chǔ)的系統(tǒng)平臺(tái)。傳統(tǒng)的共享平臺(tái)都依賴(lài)于集中式的數(shù)據(jù)存儲(chǔ)服務(wù),不僅存在數(shù)據(jù)整體泄露的風(fēng)險(xiǎn)和信息不對(duì)稱(chēng)的弊端,因安全性等問(wèn)題導(dǎo)致數(shù)據(jù)被隨意篡改的情況時(shí)有發(fā)生,數(shù)據(jù)管理方的可信性也經(jīng)常飽受質(zhì)疑,可見(jiàn)大量應(yīng)用面臨著嚴(yán)峻的安全性和可信性問(wèn)題。

        區(qū)塊鏈技術(shù)也被稱(chēng)之為分布式賬本,在過(guò)去的數(shù)年時(shí)間里獲得了巨大的發(fā)展和廣泛的關(guān)注,當(dāng)前正迎來(lái)高速發(fā)展期。這首先要?dú)w功于應(yīng)用區(qū)塊鏈技術(shù)的比特幣的成功,正是比特幣系統(tǒng)[1]具有的去中心化、多分布節(jié)點(diǎn)、公平等特點(diǎn)使其成為熱門(mén)的數(shù)字貨幣系統(tǒng),其底層的區(qū)塊鏈技術(shù)得到人們的關(guān)注。區(qū)塊鏈本質(zhì)上是一種由一群彼此互不信任的節(jié)點(diǎn)共同維護(hù)的一個(gè)公共賬本,并且記錄只能以追加的方式添加到系統(tǒng)之中[2],記錄一旦被確認(rèn)就不能刪除、不能篡改。區(qū)塊鏈具有分布式、去中心化、開(kāi)放、匿名、不可篡改、高度冗余等特點(diǎn),而參與系統(tǒng)的節(jié)點(diǎn)可以不必信任彼此。因此,區(qū)塊鏈技術(shù)不僅實(shí)現(xiàn)了數(shù)據(jù)的分布式可靠共享,更提供了不依賴(lài)單一服務(wù)方的可信數(shù)據(jù)管理機(jī)制,能夠有效地保障系統(tǒng)信息的不可篡改性和可靠性。

        本文主要基于使用區(qū)塊鏈和智能合約技術(shù)的以太坊平臺(tái),研究去中心化的物品共享交易服務(wù)系統(tǒng)的運(yùn)行機(jī)制與實(shí)現(xiàn)技術(shù),提供高可靠和高可信的記賬服務(wù)。基于區(qū)塊鏈技術(shù)的以太坊在項(xiàng)目開(kāi)發(fā)上具有特殊的優(yōu)勢(shì),包括不需要中心化存儲(chǔ)機(jī)構(gòu),具有圖靈完備語(yǔ)言用以搭建智能合約應(yīng)用。其中,業(yè)務(wù)賬本數(shù)據(jù)都存儲(chǔ)在以太坊網(wǎng)絡(luò)上,不存在集中式的服務(wù)器,避免了用戶(hù)數(shù)據(jù)被隨意篡改的風(fēng)險(xiǎn),構(gòu)建了不可信服務(wù)環(huán)境下的可信數(shù)據(jù)存儲(chǔ)。對(duì)于物品共享租借服務(wù),物品的所有者可通過(guò)智能合約在以太坊網(wǎng)絡(luò)上進(jìn)行共享物品注冊(cè),租借者也通過(guò)以太坊網(wǎng)絡(luò)進(jìn)行租借,避開(kāi)了不可信的第三方服務(wù),所有交易數(shù)據(jù)均存儲(chǔ)于以太坊網(wǎng)絡(luò)上,可通過(guò)授權(quán)進(jìn)行有效驗(yàn)證。

        本文的主要貢獻(xiàn)如下:

        1)提出了一種基于區(qū)塊鏈技術(shù)的分布式交易系統(tǒng)的體系結(jié)構(gòu),通過(guò)結(jié)合智能合約實(shí)現(xiàn)自動(dòng)的交易生成與處理;

        2)設(shè)計(jì)了基于以太坊的物品共享交易服務(wù)系統(tǒng)的業(yè)務(wù)處理流程,將智能合約技術(shù)與實(shí)際應(yīng)用相結(jié)合;

        3)基于不同數(shù)據(jù)集的實(shí)驗(yàn)對(duì)系統(tǒng)進(jìn)行測(cè)試,結(jié)果表明該系統(tǒng)具有較高的執(zhí)行效率和實(shí)用性。

        1 相關(guān)工作

        1.1 共享經(jīng)濟(jì)

        共享經(jīng)濟(jì)從狹義上講是指以獲得一定報(bào)酬為主要目的,基于陌生人且存在物品使用權(quán)暫時(shí)轉(zhuǎn)移的一種商業(yè)模式。這里存在三大主體:物品或服務(wù)需求方、提供方和共享平臺(tái)。

        共享經(jīng)濟(jì)已經(jīng)成為社會(huì)服務(wù)行業(yè)內(nèi)最重要的一股力量,涉及住宿、交通、教育、生活、旅游等各個(gè)方面,尤其Uber和Airbnb作為全球共享經(jīng)濟(jì)產(chǎn)業(yè)內(nèi)的龍頭,有效利用資源的情況下更促進(jìn)了經(jīng)濟(jì)的發(fā)展;但是,它們都有一個(gè)不可忽視的安全隱患——集中式共享經(jīng)濟(jì)平臺(tái)。所有參與方都需要進(jìn)行注冊(cè),用戶(hù)信息由它們信任的第三方服務(wù)機(jī)構(gòu)保存。這種集中式的數(shù)據(jù)管理模式,需要數(shù)據(jù)存儲(chǔ)方具有極高的安全性和可信性以保證數(shù)據(jù)不會(huì)被篡改和隨意使用,然而,可以證明即使是最嚴(yán)格的管理制度,這種可信性也是不可靠的,用戶(hù)數(shù)據(jù)依然有被篡改的風(fēng)險(xiǎn)。區(qū)塊鏈技術(shù)的去中心化特性,恰恰能夠消除對(duì)第三方機(jī)構(gòu)的依賴(lài),實(shí)現(xiàn)對(duì)等的直接交易,實(shí)現(xiàn)真正的共享經(jīng)濟(jì)[3]。

        1.2 區(qū)塊鏈技術(shù)

        區(qū)塊鏈技術(shù)自2015年以來(lái)發(fā)展迅猛,雖然還沒(méi)有一個(gè)統(tǒng)一的定義,但是在行業(yè)里卻也基本達(dá)成了共識(shí),即區(qū)塊鏈技術(shù)是一種去中心化、去信任化的分布式數(shù)據(jù)庫(kù)技術(shù)方案。該數(shù)據(jù)庫(kù)由參與系統(tǒng)的節(jié)點(diǎn)共同維護(hù),并且系統(tǒng)只能查詢(xún)和追加,不能修改和刪除,具有去中心化、安全、透明、不可篡改等特性[4]。全球最大的數(shù)字貨幣平臺(tái)——比特幣就采用了區(qū)塊鏈技術(shù)構(gòu)建。

        1.3 以太坊技術(shù)

        以太坊[5-6]——下一代智能合約與分布式應(yīng)用平臺(tái)——是比特幣的一個(gè)擴(kuò)展,在2013 — 2014年,由Vitalik Buterin受比特幣發(fā)展的啟發(fā)而提出,旨在為去中心化應(yīng)用實(shí)現(xiàn)一個(gè)在區(qū)塊鏈之上的圖靈完備的計(jì)算平臺(tái)。作為具有智能合約功能的開(kāi)源公共區(qū)塊鏈平臺(tái),它是一種非常新穎的技術(shù),在區(qū)塊鏈技術(shù)基礎(chǔ)上引入以太坊虛擬機(jī)(Ethereum Virtual Machine,EVM),允許開(kāi)發(fā)人員利用智能合約在其上創(chuàng)建基于任意數(shù)量的不受各方信任的網(wǎng)絡(luò)節(jié)點(diǎn)的分布式應(yīng)用。

        智能合約是一段由事件驅(qū)動(dòng)的、具有狀態(tài)的、運(yùn)行在一個(gè)復(fù)制的、分享的賬本之上的、且能夠保管賬本上資產(chǎn)的程序[7],是區(qū)塊鏈上去中心化、可信共享的程序代碼[8],也是以太坊中的法律。在以太坊中,所有的交易都按照合約定義的操作有條不紊地執(zhí)行,改變著區(qū)塊鏈的狀態(tài)。一旦部署在區(qū)塊鏈上,就不能再進(jìn)行修改,也實(shí)現(xiàn)了可再現(xiàn)性,多次執(zhí)行能得到相同的結(jié)果。區(qū)塊鏈上的智能合約具有原子性,即要么成功執(zhí)行,要么所有狀態(tài)變化都撤銷(xiāo),這避免了合約被部分執(zhí)行的情況。

        1.4 以太坊應(yīng)用

        近年來(lái),學(xué)者和研究人員對(duì)區(qū)塊鏈技術(shù)進(jìn)行了大量的研究、探討,特別是自以太坊誕生以來(lái),各種基于區(qū)塊鏈技術(shù)的應(yīng)用程序如雨后春筍般涌現(xiàn): DIGIX與COINIFY合作創(chuàng)建的基于以太坊平臺(tái)的加密資產(chǎn)交易平臺(tái),將比特幣的功能與實(shí)物資產(chǎn)如黃金結(jié)合在一起,在以太坊網(wǎng)絡(luò)上以代幣的形式購(gòu)買(mǎi)黃金[9];Dodson等設(shè)計(jì)的去中心化眾籌平臺(tái)WeiFund[10],提供了多個(gè)基于以太坊平臺(tái)的眾籌智能合約模板,用戶(hù)可以利用這些模板實(shí)現(xiàn)自己的眾籌項(xiàng)目;Vogelsteller[11]提出的Whisper,是去中心化應(yīng)用(Decentralized Application,DApp)之間相互通信的一種通信協(xié)議,實(shí)現(xiàn)了分布式通信;Davis等設(shè)計(jì)的MetaMask[12],以瀏覽器(目前支持Chrome)擴(kuò)展的形式,讓用戶(hù)可以通過(guò)瀏覽器與以太坊進(jìn)行交互,在瀏覽器中運(yùn)行以太坊應(yīng)用,而不必運(yùn)行完整的以太坊節(jié)點(diǎn);Nagy等提出的Swarm[13],是以太坊的一個(gè)功能擴(kuò)展,使得以太坊支持分布式文件存儲(chǔ),其主要目標(biāo)是提供一個(gè)分散的、冗余的以太坊公共記錄存儲(chǔ)。目前已經(jīng)有1300多個(gè)基于以太坊智能合約開(kāi)發(fā)的DApp發(fā)布在Ethercasts[14]上,然而這些DApp主要圍繞虛擬貨幣兌換、代幣眾籌、虛擬游戲等應(yīng)用場(chǎng)景,比如最受歡迎的火熱游戲項(xiàng)目CryptoKitties,缺少與線下實(shí)體相結(jié)合的應(yīng)用場(chǎng)景。

        2 基于區(qū)塊鏈的交易系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

        本文主要研究基于以太坊技術(shù)的共享交易系統(tǒng)的業(yè)務(wù)處理機(jī)制和實(shí)現(xiàn)技術(shù)。為此,本文首先設(shè)計(jì)了物品共享交易系統(tǒng)ShareApp的體系結(jié)構(gòu),如圖1所示。ShareApp系統(tǒng)的體系結(jié)構(gòu)主要由三個(gè)部分組成:基于以太坊網(wǎng)絡(luò)的數(shù)據(jù)層、基于智能合約和Web3[15]的中間件層和提供用戶(hù)操作接口的應(yīng)用層。

        2.1 數(shù)據(jù)層

        共享交易系統(tǒng)的數(shù)據(jù)層采用由區(qū)塊鏈系統(tǒng)構(gòu)建的分布式P2P數(shù)據(jù)存儲(chǔ)環(huán)境。本系統(tǒng)基于開(kāi)源區(qū)塊鏈系統(tǒng)以太坊進(jìn)行搭建,使用以太坊客戶(hù)端構(gòu)建一個(gè)去中心化的網(wǎng)絡(luò),用以支持智能合約交互操作和信息的存儲(chǔ)。以太坊網(wǎng)絡(luò)是一個(gè)公共的區(qū)塊鏈平臺(tái),并通過(guò)專(zhuān)用加密貨幣以太幣來(lái)提供去中心化的記賬機(jī)制并執(zhí)行點(diǎn)對(duì)點(diǎn)合約?;谝蕴幌到y(tǒng)具有很高的可擴(kuò)展性,很容易就能夠擴(kuò)展到大規(guī)模節(jié)點(diǎn)運(yùn)行。在系統(tǒng)使用中,由應(yīng)用層產(chǎn)生的交易將被廣播到以太坊網(wǎng)絡(luò)中,并由以太坊節(jié)點(diǎn)負(fù)責(zé)挖礦和記錄交易信息。以太坊中的節(jié)點(diǎn)基于工作量證明(Proof of Work, PoW)的共識(shí)過(guò)程,競(jìng)爭(zhēng)解決一個(gè)難度可動(dòng)態(tài)調(diào)整的數(shù)學(xué)問(wèn)題以獲得記賬權(quán),將自上一個(gè)區(qū)塊之后的交易打包記入新區(qū)塊,其他節(jié)點(diǎn)對(duì)其驗(yàn)證,共同維護(hù)交易數(shù)據(jù)的真實(shí)性,保障數(shù)據(jù)不可被篡改。

        2.2 中間件層

        系統(tǒng)的中間件層主要由智能合約和Web3組成。與傳統(tǒng)的基于Web服務(wù)的HTTP API中間件不同,智能合約是一個(gè)部署在以太坊網(wǎng)絡(luò)上的協(xié)議,規(guī)定了用戶(hù)能夠執(zhí)行的操作以及操作規(guī)范,用戶(hù)的操作全都按照合約內(nèi)容進(jìn)行,合約一旦部署就不可修改。本文選擇使用Solidity[16]編寫(xiě)的智能合約,從而實(shí)現(xiàn)物品租借業(yè)務(wù)的處理流程定義。本系統(tǒng)采用Web3實(shí)現(xiàn)上層應(yīng)用與以太坊區(qū)塊鏈和智能合約間的溝通與連接。

        2.3 應(yīng)用層

        在應(yīng)用層,系統(tǒng)將通過(guò)Web界面為用戶(hù)提供可視化操作接口,使用戶(hù)能夠與智能合約進(jìn)行交互。系統(tǒng)的應(yīng)用層可以看作是一個(gè)分布式應(yīng)用,可以部署在分布式的內(nèi)容分發(fā)網(wǎng)絡(luò)(Content Delivery Network,CDN)上,來(lái)提供用戶(hù)訪問(wèn)。本系統(tǒng)的功能在應(yīng)用層上的開(kāi)發(fā)將主要基于JavaScript進(jìn)行實(shí)現(xiàn)。

        3 物品共享交易系統(tǒng)的業(yè)務(wù)功能與算法設(shè)計(jì)

        基于所提出的基于區(qū)塊鏈的交易系統(tǒng)體系結(jié)構(gòu),本文進(jìn)一步設(shè)計(jì)了物品共享交易服務(wù)應(yīng)用系統(tǒng),其目的在于使用智能合約技術(shù)實(shí)現(xiàn)物品租借交易的可信記賬平臺(tái)。

        3.1 系統(tǒng)需求分析

        物品共享交易服務(wù)系統(tǒng)為用戶(hù)創(chuàng)建了兩種身份:物品所有者和租借者。

        作為物品所有者時(shí),用戶(hù)可以在基于Web的用戶(hù)接口上填寫(xiě)物品相關(guān)信息,然后把信息發(fā)送到以太坊網(wǎng)絡(luò),形成智能合約交易。一旦以太坊的挖礦節(jié)點(diǎn)將交易寫(xiě)入?yún)^(qū)塊,則表明合約交易創(chuàng)建成功。作為租借者身份時(shí),用戶(hù)可以搜索要租借的共享物品,并在對(duì)象顯示列表上找到想租借的物品,利用Web提供的接口直接提交租借交易。

        本系統(tǒng)的應(yīng)用層將基于Truffle[17]進(jìn)行開(kāi)發(fā),Truffle是以太坊中最受歡迎的框架,可以實(shí)現(xiàn)從智能合約編譯、部署到發(fā)布的整個(gè)流程。同時(shí)為了提高用戶(hù)體驗(yàn),采用的是Bootstrap前端框架開(kāi)發(fā)用戶(hù)頁(yè)面。

        基于區(qū)塊鏈的物品共享交易服務(wù)支持的主要用戶(hù)操作如下。

        1)共享物品創(chuàng)建:共享物品創(chuàng)建功能就是向系統(tǒng)注冊(cè)新的提供共享的物品。共享物品的相關(guān)信息結(jié)構(gòu)如表1所示。

        2)共享物品查詢(xún):提供按物品ID號(hào)或物品名稱(chēng)查詢(xún)物品功能,并在查詢(xún)后顯示物品的相關(guān)信息。

        3)物品租借:物品租借是系統(tǒng)實(shí)現(xiàn)共享物品租借交易的主要手段,也是智能合約程序處理的主體業(yè)務(wù)。用戶(hù)需要提供租借者地址,發(fā)起物品租借請(qǐng)求后需要對(duì)物品狀態(tài)和租借人資金情況進(jìn)行驗(yàn)證,以保證租借流程的安全性,并確定租借結(jié)果。其中租借者的信息結(jié)構(gòu)如表2所示。

        4)物品歸還:用戶(hù)通過(guò)調(diào)用物品歸還接口實(shí)現(xiàn)交易中的物品歸還功能。

        3.3.3 智能合約安全性分析

        1)業(yè)務(wù)流程安全性。

        業(yè)務(wù)流程設(shè)計(jì)中,充分考慮到物品共享系統(tǒng)各個(gè)流程環(huán)節(jié)的邏輯安全性,針對(duì)重要操作作了條件判斷和權(quán)限限制。例如,上一節(jié)所述物品租借流程發(fā)起時(shí),需同時(shí)滿(mǎn)足物品未被租借、押金大于租金、發(fā)起者不為創(chuàng)建者三個(gè)條件。同樣,歸還物品過(guò)程設(shè)計(jì)中,物品租借狀態(tài)必須正確,歸還流程發(fā)起者必須為租借者才能啟動(dòng)流程。以上嚴(yán)格的檢驗(yàn)條件保證了租借流程的邏輯正確性和執(zhí)行的安全性。

        2)編程語(yǔ)言安全性。

        本文所使用的以太坊平臺(tái)開(kāi)發(fā)語(yǔ)言Solidity,對(duì)變量和操作符越界缺乏相應(yīng)的安全限制,容易導(dǎo)致合約產(chǎn)生一些安全漏洞[18]。本文后續(xù)的代碼版本更新中,引入SafeMath[19]庫(kù),做到對(duì)數(shù)學(xué)運(yùn)算進(jìn)行安全檢查,防止因uint256數(shù)值類(lèi)型變量溢出導(dǎo)致的漏洞攻擊。

        3)平臺(tái)安全性。

        以太坊系統(tǒng)是應(yīng)用最廣泛的智能合約平臺(tái),得到社區(qū)大量開(kāi)發(fā)者的支持,因此具備快速問(wèn)題反饋和版本更新迭代的基礎(chǔ),能夠保障平臺(tái)層面的安全問(wèn)題得到及時(shí)解決。智能合約方面,一旦部署便不可修改的特性,使得智能合約一旦實(shí)現(xiàn)了預(yù)期的功能,便能得到預(yù)期的運(yùn)行結(jié)果,具有可再現(xiàn)性,因?yàn)檫@是以共識(shí)協(xié)議為基礎(chǔ)的。但如果智能合約包含錯(cuò)誤,則沒(méi)有直接的修補(bǔ)方法,程序員必須在實(shí)現(xiàn)智能合約時(shí)設(shè)計(jì)終止合約的方法[20],或者事件發(fā)生后采用硬分叉的對(duì)策,但這與以太坊“代碼即是法律”的原則相悖。同時(shí),這種解決方案也不會(huì)得到整個(gè)以太坊社區(qū)的同意,部分礦工會(huì)拒絕分叉,形成另一條區(qū)塊鏈。智能合約的安全性需要以太坊在后續(xù)的版本中提出合理的解決方案。

        3.4 智能合約功能模塊設(shè)計(jì)

        3.4.1 物品創(chuàng)建

        物品的創(chuàng)建操作指用戶(hù)向以太坊系統(tǒng)提交一個(gè)記賬交易,其交易的信息為共享物品的相關(guān)信息。為此,智能合約將按照記賬的處理邏輯處理物品創(chuàng)建交易。以太坊中,為了防止代碼的指數(shù)型爆炸和無(wú)限循環(huán),每筆交易需要對(duì)執(zhí)行代碼所引發(fā)的計(jì)算步驟作出限制,引入交易費(fèi)用Gas[4],并通過(guò)GasPrice與以太幣兌換。因此創(chuàng)建新的共享物品時(shí),創(chuàng)建者賬戶(hù)里面要有一定的以太幣余額,否則將會(huì)創(chuàng)建失敗。

        3.4.2 物品查詢(xún)

        本系統(tǒng)提供了按物品編號(hào)和物品名字兩種查詢(xún)功能。為了提高對(duì)于物品的查詢(xún)效率,我們將物品的信息使用外部數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ),并使用倒排索引對(duì)用戶(hù)創(chuàng)建的物品進(jìn)行索引。

        倒排索引將物品名稱(chēng)與物品編號(hào)集合進(jìn)行映射,通過(guò)名稱(chēng)能夠快速定位到物品編號(hào),從而進(jìn)一步查詢(xún)物品的詳細(xì)信息。索引結(jié)構(gòu)如圖5所示。

        4 實(shí)驗(yàn)結(jié)果

        4.1 實(shí)驗(yàn)設(shè)置

        本系統(tǒng)基于以太坊網(wǎng)絡(luò)進(jìn)行搭建,實(shí)驗(yàn)測(cè)試中操作系統(tǒng)采用Ubuntu14.04,智能合約基于Solidity編寫(xiě)。測(cè)試的硬件環(huán)境為16臺(tái)以太坊go語(yǔ)言客戶(hù)端(Goethereum,Geth)節(jié)點(diǎn),每臺(tái)主機(jī)為8核3.0GHz CPU,8GB內(nèi)存。Geth節(jié)點(diǎn)之間相互同步和驗(yàn)證區(qū)塊信息,組成一個(gè)以太坊私有鏈網(wǎng)絡(luò)。

        實(shí)驗(yàn)測(cè)試中數(shù)據(jù)采用人工生成數(shù)據(jù),編寫(xiě)腳本語(yǔ)言通過(guò)系統(tǒng)用戶(hù)接口提交到系統(tǒng)中。

        實(shí)驗(yàn)針對(duì)上述物品交易共享服務(wù)系統(tǒng),對(duì)物品登記創(chuàng)建、物品租借、物品查詢(xún)?nèi)齻€(gè)功能的實(shí)際效率進(jìn)行測(cè)試。其中,物品創(chuàng)建、物品租借的過(guò)程對(duì)區(qū)塊鏈上數(shù)據(jù)有更改,均產(chǎn)生交易,需要以太坊節(jié)點(diǎn)挖礦來(lái)對(duì)交易進(jìn)行打包,從而將數(shù)據(jù)變化寫(xiě)入?yún)^(qū)塊,而物品查詢(xún)無(wú)需修改數(shù)據(jù),只產(chǎn)生調(diào)用消息,無(wú)交易,因而無(wú)需挖礦。同時(shí),實(shí)驗(yàn)也對(duì)比了有索引查詢(xún)和無(wú)索引查詢(xún)的效率,效果明顯。

        4.2 實(shí)驗(yàn)結(jié)果

        實(shí)驗(yàn)一 不同節(jié)點(diǎn)數(shù)量下創(chuàng)建物品交易處理效率。

        本實(shí)驗(yàn)主要測(cè)試物品共享交易系統(tǒng)在不同以太坊節(jié)點(diǎn)數(shù)量下,對(duì)于智能合約創(chuàng)建物品信息交易的打包處理效率。測(cè)試中以100條交易為基準(zhǔn),測(cè)試節(jié)點(diǎn)數(shù)量從2~16臺(tái)的情況下處理交易所花費(fèi)的時(shí)間,每個(gè)測(cè)試點(diǎn)取三次結(jié)果得到平均值,結(jié)果如圖7所示。從圖中可以看出,交易處理效率與以太坊網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)量有一定關(guān)系。當(dāng)節(jié)點(diǎn)從2臺(tái)增加到4臺(tái)時(shí),處理效率有明顯提升。隨著節(jié)點(diǎn)數(shù)量增加,處理時(shí)間隨之縮短,但效率提升速度減緩,可見(jiàn)節(jié)點(diǎn)間網(wǎng)絡(luò)通信對(duì)交易處理效率也有一定影響。

        5 結(jié)語(yǔ)

        本文所開(kāi)發(fā)的ShareApp是基于以太坊設(shè)計(jì)的一個(gè)去中心化共享交易服務(wù)系統(tǒng),利用區(qū)塊鏈技術(shù)的特性,實(shí)現(xiàn)了用戶(hù)信息隱藏、無(wú)中心節(jié)點(diǎn)、抗攻擊、零宕機(jī)、交易無(wú)法修改等特性,解決了物品租借環(huán)節(jié)中的低信任關(guān)系,保證了系統(tǒng)可靠性。該系統(tǒng)實(shí)現(xiàn)了基于區(qū)塊鏈的可信分布式交易管理,具有重要的實(shí)際應(yīng)用價(jià)值。目前,本平臺(tái)還處于開(kāi)發(fā)與完善階段,接下來(lái)的工作還將繼續(xù)完善智能合約功能,并進(jìn)一步探索如何實(shí)現(xiàn)區(qū)塊鏈與數(shù)據(jù)庫(kù)管理系統(tǒng)結(jié)合方式,實(shí)現(xiàn)大規(guī)模交易數(shù)據(jù)的區(qū)塊鏈存儲(chǔ)管理。

        參考文獻(xiàn) (References)

        [1] SATOSHI N. Bitcoin: a peertopeer electronic cash system[EB/OL]. [2018-03-10]. https://bitcoin.org/bitcoin.pdf.

        [2] DINH T T A, LIU R, ZHANG M, et al. Untangling blockchain: a data processing view of blockchain systems[J]. IEEE Transactions on Knowledge and Data Engineering, 2018, 30(7): 1366-1385.

        [3] 邵奇峰, 金澈清, 張召, 等. 區(qū)塊鏈技術(shù):架構(gòu)及進(jìn)展[J]. 計(jì)算機(jī)學(xué)報(bào), 2017, 41(5): 969-988.(SHAO Q F, JIN C Q, ZHANG Z, et al. Blockchain: architecture and research progress[J]. Chinese Journal of Computers, 2017, 41(5): 969-988.)

        [4] 何蒲, 于戈, 張巖峰, 等. 區(qū)塊鏈技術(shù)與應(yīng)用前瞻綜述[J]. 計(jì)算機(jī)科學(xué), 2016, 44(4): 1-7,15. (HE P, YU G, ZHANG Y F, et al. Survey on blockchain technology and its application prospects[J]. Computer Science, 2016, 44(4): 1-7,15.)

        [5] JAMES R. A nextgeneration smart contract and decentralized application platform[EB/OL]. [2018-03-10]. https://cryptorating.eu/whitepapers/Ethereum/Ethereum_white_paper.pdf.

        [6] WOOD G. Ethereum: a secure decentralised generalised transaction ledger[EB/OL].[2018-03-10]. http://gavwood.com/paper.pdf.

        [7] BROWN R G. A simple model for smart contracts[EB/OL]. [2018-03-12]. https://gendal.me/2015/02/10/asimplemodelforsmartcontracts/.

        [8] 袁勇, 王飛躍. 區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀與展望[J]. 自動(dòng)化學(xué)報(bào), 2016, 42(4): 481-494. (YUAN Y, WANG F Y. Blockchain: the state of the art and future trends[J]. Acta Automatica Sinica, 2016, 42(4): 481-494.)

        [9] IAN A. Digix and Coinify marry Bitcoin and Ethereum for goldbased digital assets[EB/OL]. [2018-03-10]. http://www.ibtimes.co.uk/digixcoinifymarrybitcoinethereumgoldbaseddigitalassets1525790.

        [10] WeiFund: a decentralized crowdfunding platform[EB/OL]. [2018-03-10]. http://weifund.readthedocs.io/en/latest/.

        [11] VOGELSTELLER F. Whisper[EB/OL]. [2018-03-11]. https://github.com/ethereum/wiki/wiki/Whisper.

        [12] Metamask. Brings Ethereum to your browser[EB/OL]. [2018-03-11]. https://metamask.io/.

        [13] Swarm. Serverless hosting incentivized peertopeer storage and content distribution[EB/OL]. [2018-03-10]. http://swarmgateways.net/bzz:/theswarm.eth/.

        [14] Ethercasts. State of the DApps[EB/OL].[2018-03-11]. https://dapps.ethercasts.com/.

        [15] Ethereum. Web3.jsEthereum JavaScript API[EB/OL]. [2018-12-15]. https://web3js.readthedocs.io/en/1.0/.

        [16] Ethereum. Solidity[EB/OL]. [2018-12-15]. http://solidity.readthedocs.io/en/latest/.

        [17] Truffle Suite. Truffle overview[EB/OL]. [2018-12-15]. https://truffleframework.com/docs/truffle/overview.

        [18] ATZEI N, BARTOLETTI M, CIMOLI T. A survey of attacks on Ethereum smart contracts (SoK)[C]// POST 2017: Proceedings of the 2017 International Conference on Principles of Security and Trust. Berlin: Springer, 2017: 164-186.

        [19] OpenZeppelin. Library SafeMath[EB/OL]. [2019-01-03]. https://openzeppelin.org/api/docs/math_SafeMath.html.

        [20] MARINO B, JUELS A. Setting standards for altering and undoing smart contracts[C]// RuleML 2016: Proceedings of the 2016 International Symposium on Rules and Rule Markup Languages for the Semantic Web. Berlin: Springer, 2016: 151-166.

        成人影片麻豆国产影片免费观看| 免费国产调教视频在线观看| 亚洲精品在线观看自拍| 国产一区二区三区仙踪林| 999国内精品永久免费观看| 四虎影永久在线观看精品 | 上海熟女av黑人在线播放| 成人性生交大片免费看96| 色丁香色婷婷| 精品视频一区二区杨幂| 精品粉嫩av一区二区三区| 内射少妇36p亚洲区| 无码一区二区三区AV免费换脸| 亚洲国产成人精品久久成人| 午夜一区二区三区观看| 精品日产卡一卡二卡国色天香| 精品国产群3p在线观看| 午夜精品人妻中字字幕| 欧美精品色婷婷五月综合| 天堂8中文在线最新版在线| 美女超薄透明丝袜美腿| 国产护士一区二区三区| 黑人巨茎大战俄罗斯美女| 亚洲av无码专区亚洲av桃| 国产在线精品亚洲视频在线| 自拍偷自拍亚洲精品第按摩| 人人爽久久涩噜噜噜av| 亚洲 无码 制服 丝袜 自拍| 日本黄网色三级三级三级| 曰韩无码无遮挡a级毛片| 久久久久无码精品亚洲日韩| 韩国美女主播国产三级| 国产精品亚洲第一区二区三区| 久久久天堂国产精品女人| 中文字幕天天躁日日躁狠狠 | 一区二区三区蜜桃在线视频| 亚洲国产综合久久天堂| 久久夜色精品国产| 久久与欧美视频| 久久精品国产亚洲av久按摩| 午夜福利啪啪片|