亚洲女同精品中文字幕-亚洲女同japan-亚洲女人网-亚洲女人天堂a在线播放-极品小帅哥连坏挨cao记-极品销魂一区二区三区

學(xué)術(shù)咨詢(xún)

讓期刊論文更省時(shí)、省事、省心

基于云平臺(tái)的區(qū)塊鏈組網(wǎng)方案及數(shù)據(jù)共享存儲(chǔ)機(jī)制

時(shí)間:2019年10月28日 分類(lèi):電子論文 次數(shù):

摘要:為解決在區(qū)塊鏈上進(jìn)行數(shù)據(jù)存儲(chǔ)和共享過(guò)程中面臨的交易確認(rèn)效率低以及存儲(chǔ)空間利用率低的問(wèn)題,本文提出一種基于云平臺(tái)部署的區(qū)塊鏈組網(wǎng)方案以及與其適配的數(shù)據(jù)共享存儲(chǔ)方案。首先,通過(guò)對(duì)傳統(tǒng)的全連接區(qū)塊鏈組網(wǎng)進(jìn)行分解和重構(gòu),形成一種基于子網(wǎng)的非全

  摘要:為解決在區(qū)塊鏈上進(jìn)行數(shù)據(jù)存儲(chǔ)和共享過(guò)程中面臨的交易確認(rèn)效率低以及存儲(chǔ)空間利用率低的問(wèn)題,本文提出一種基于云平臺(tái)部署的區(qū)塊鏈組網(wǎng)方案以及與其適配的數(shù)據(jù)共享存儲(chǔ)方案。首先,通過(guò)對(duì)傳統(tǒng)的全連接區(qū)塊鏈組網(wǎng)進(jìn)行分解和重構(gòu),形成一種基于子網(wǎng)的非全連接組網(wǎng)方案,將交易確認(rèn)的范圍限定在有限的節(jié)點(diǎn)之內(nèi)。

  其次,通過(guò)將數(shù)據(jù)依次劃分為事務(wù)數(shù)據(jù)-敏感狀態(tài)數(shù)據(jù)-非敏感狀態(tài)數(shù)據(jù)3個(gè)層次進(jìn)行管理,節(jié)點(diǎn)只保存與狀態(tài)轉(zhuǎn)移相關(guān)的事務(wù)數(shù)據(jù)以保障不可篡改性,狀態(tài)數(shù)據(jù)則在云平臺(tái)上實(shí)現(xiàn)不同程度的共享存儲(chǔ),最大限度優(yōu)化了存儲(chǔ)空間。實(shí)驗(yàn)結(jié)果表明,該方案可為區(qū)塊鏈中可信數(shù)據(jù)的存儲(chǔ)和共享提供新的思路。

  關(guān)鍵詞:云計(jì)算;區(qū)塊鏈;數(shù)據(jù)共享

自動(dòng)化學(xué)報(bào)

  0引言

  近年來(lái),區(qū)塊鏈成為了社會(huì)的熱點(diǎn)話(huà)題,它通過(guò)將點(diǎn)對(duì)點(diǎn)傳輸、分布式數(shù)據(jù)存儲(chǔ)、共識(shí)機(jī)制、加密算法等技術(shù)進(jìn)行集成,具有不可篡改、可追溯、去中心化等特性,這些特性使得區(qū)塊鏈非常適合用于對(duì)可信數(shù)據(jù)進(jìn)行存儲(chǔ)和共享。

  目前關(guān)于區(qū)塊鏈數(shù)據(jù)存儲(chǔ)和共享機(jī)制的相關(guān)研究,主要面臨2個(gè)問(wèn)題:1)交易確認(rèn)效率問(wèn)題。由于區(qū)塊鏈每次狀態(tài)的更新都需要得到全網(wǎng)多數(shù)節(jié)點(diǎn)的確認(rèn),形成共識(shí),并向各節(jié)點(diǎn)廣播實(shí)現(xiàn)賬本的全網(wǎng)同步,因此網(wǎng)絡(luò)中參與的節(jié)點(diǎn)越多則交易確認(rèn)的速度越慢。2)存儲(chǔ)空間利用率問(wèn)題。由于區(qū)塊鏈具有不可篡改不可刪除的特性,因此存儲(chǔ)在區(qū)塊鏈上的數(shù)據(jù)只會(huì)隨時(shí)間不斷增長(zhǎng),長(zhǎng)期下來(lái)對(duì)存儲(chǔ)空間的開(kāi)銷(xiāo)極大。

  通過(guò)引入云計(jì)算的相關(guān)理念,可以在一定程度上改善上述問(wèn)題。區(qū)塊鏈與云計(jì)算結(jié)合,稱(chēng)為區(qū)塊鏈即服務(wù)(BlockchainasaService,BaaS)[1],它可以有效降低區(qū)塊鏈部署成本,用云計(jì)算快速搭建區(qū)塊鏈服務(wù)。2015年11月,微軟在Azure[2]云平臺(tái)里面提供BaaS服務(wù),并于2016年8月正式對(duì)外開(kāi)放。開(kāi)發(fā)者可以在上面以最簡(jiǎn)便、高效的方式創(chuàng)建區(qū)塊鏈環(huán)境。

  IBM[3]也在2016年2月宣布推出區(qū)塊鏈服務(wù)平臺(tái),幫助開(kāi)發(fā)人員在IBM云上創(chuàng)建、部署、運(yùn)行和監(jiān)控區(qū)塊鏈應(yīng)用程序。國(guó)內(nèi)的阿里云[4]、騰訊云[5]等也相繼提供了BaaS服務(wù)。本文提出一種基于云平臺(tái)部署的區(qū)塊鏈組網(wǎng)方案以及與其適配的數(shù)據(jù)共享存儲(chǔ)方案,其主要有3個(gè)方面特點(diǎn):1)引入了非全連接組網(wǎng)的思路,將交易確認(rèn)的范圍限定在有限的節(jié)點(diǎn)之內(nèi)。2)根據(jù)敏感程度對(duì)數(shù)據(jù)進(jìn)行分層存儲(chǔ),在保留不可篡改性的前提下,提高了存儲(chǔ)空間利用率。3)針對(duì)云計(jì)算環(huán)境下的部署進(jìn)行設(shè)計(jì),使得用戶(hù)可以通過(guò)云平臺(tái)快速地搭建區(qū)塊鏈服務(wù),降低部署成本。

  1相關(guān)工作

  關(guān)于區(qū)塊鏈數(shù)據(jù)的存儲(chǔ)和共享機(jī)制,國(guó)內(nèi)外有很多相關(guān)的研究,這些研究探討了在不同應(yīng)用場(chǎng)景下如何在區(qū)塊鏈上存儲(chǔ)可信數(shù)據(jù),一方面充分利用區(qū)塊鏈不可篡改的特性保證數(shù)據(jù)的安全性,另一方面還需要在保證隱私的前提下將存儲(chǔ)在鏈上的數(shù)據(jù)共享給具備訪問(wèn)權(quán)限的用戶(hù)。文獻(xiàn)[6]研究了醫(yī)療數(shù)據(jù)的共享模型,采用改進(jìn)的DPOS機(jī)制實(shí)現(xiàn)節(jié)點(diǎn)之間的共識(shí),通過(guò)自定義的一套層級(jí)存儲(chǔ)結(jié)構(gòu),最后將所有數(shù)據(jù)Merkle根錨定到比特幣區(qū)塊鏈,實(shí)現(xiàn)真正的不可篡改和不可抵賴(lài)。

  文獻(xiàn)[7]研究基于聯(lián)盟區(qū)塊鏈實(shí)現(xiàn)智能電網(wǎng)數(shù)據(jù)的存儲(chǔ)和共享,文中以數(shù)據(jù)采集基站作為區(qū)塊鏈的節(jié)點(diǎn),對(duì)無(wú)線傳感網(wǎng)絡(luò)的數(shù)據(jù)進(jìn)行采集、審計(jì)和存儲(chǔ),進(jìn)而在網(wǎng)絡(luò)節(jié)點(diǎn)中進(jìn)行共享。數(shù)據(jù)的“記賬權(quán)”需要在預(yù)選的節(jié)點(diǎn)之間通過(guò)POW機(jī)制進(jìn)行競(jìng)爭(zhēng)獲取。文獻(xiàn)[8]研究了人文社科數(shù)據(jù)共享模型,使用HyperledgerFabric區(qū)塊鏈框架作為聯(lián)盟鏈的基礎(chǔ),并對(duì)區(qū)塊的數(shù)據(jù)存儲(chǔ)方式進(jìn)行了改進(jìn),用關(guān)系型數(shù)據(jù)庫(kù)的存儲(chǔ)方式替代傳統(tǒng)超級(jí)賬本的鍵值對(duì)數(shù)據(jù)存儲(chǔ)方式,以提升鏈上數(shù)據(jù)的查詢(xún)處理能力,提高人文社科數(shù)據(jù)共享平臺(tái)的溯源追蹤效率。

  文獻(xiàn)[9]設(shè)計(jì)了BBDS系統(tǒng),為儲(chǔ)存在云平臺(tái)中的共享醫(yī)療數(shù)據(jù)提供數(shù)據(jù)來(lái)源、審計(jì)和控制,主要解決了在無(wú)信任環(huán)境中醫(yī)療數(shù)據(jù)的共享問(wèn)題。該設(shè)計(jì)采用智能合約和訪問(wèn)控制機(jī)制來(lái)有效地跟蹤數(shù)據(jù)的行為,并在檢測(cè)到對(duì)數(shù)據(jù)的權(quán)限的違反時(shí)撤銷(xiāo)對(duì)違規(guī)實(shí)體的訪問(wèn)。文獻(xiàn)[10]建立了一個(gè)基于HACCP(危害分析和關(guān)鍵控制點(diǎn))、區(qū)塊鏈和物聯(lián)網(wǎng)的實(shí)時(shí)食品追蹤食品供應(yīng)鏈可追溯系統(tǒng),為所有供應(yīng)鏈成員提供開(kāi)放性的信息平臺(tái)。

  供應(yīng)鏈中的數(shù)據(jù)通過(guò)BigchainDB進(jìn)行存儲(chǔ),BigchainDB[11]是由TrentMcConaghy等人提出的一種高可擴(kuò)容性的區(qū)塊鏈數(shù)據(jù)存儲(chǔ)架構(gòu),它繼承了分布式數(shù)據(jù)庫(kù)的特征:吞吐量和容量可根據(jù)節(jié)點(diǎn)數(shù)量線性擴(kuò)展,提供全功能NoSQL查詢(xún)語(yǔ)言,具備較高的查詢(xún)效率和完善的權(quán)限控制機(jī)制。

  文獻(xiàn)[12]提出了一種基于云計(jì)算的物流區(qū)塊鏈模型,通過(guò)結(jié)合區(qū)塊鏈共識(shí)機(jī)制及Hadoop分布式存儲(chǔ)技術(shù),設(shè)計(jì)了CloudPBFT算法,其相比經(jīng)典PBFT算法在吞吐量以及網(wǎng)絡(luò)延遲時(shí)間方面均有所提升。上述的相關(guān)工作均在不同程度上改善了交易確認(rèn)效率和存儲(chǔ)空間利用率的問(wèn)題,但也存在一定的局限性。從4個(gè)角度將本文方案與上述幾種研究成果進(jìn)行對(duì)比評(píng)估。

  本文方案在交易確認(rèn)效率和存儲(chǔ)空間利用率上占優(yōu)的原因在于:1)采用了非全連接的組網(wǎng)方案,狀態(tài)的更新不需要得到全網(wǎng)多數(shù)節(jié)點(diǎn)的確認(rèn)即可達(dá)成共識(shí),從而減少了網(wǎng)絡(luò)請(qǐng)求量。2)采用了基于云平臺(tái)的數(shù)據(jù)分級(jí)存儲(chǔ)的機(jī)制,一方面節(jié)點(diǎn)只需要保留少量能夠保障不可篡改性的事務(wù)數(shù)據(jù),另一方面將可共享的狀態(tài)數(shù)據(jù)做進(jìn)一步的壓縮存儲(chǔ),達(dá)到了更高的空間利用率。

  2基于云計(jì)算的區(qū)塊鏈組網(wǎng)設(shè)計(jì)

  2.1當(dāng)前主流的區(qū)塊鏈組網(wǎng)方案

  在主流的區(qū)塊鏈架構(gòu)里,設(shè)計(jì)者們都追求模型的泛化能力(generalizationability),試圖在一個(gè)軟件層面的框架里,提出一種通用的方法,來(lái)解決分布式網(wǎng)絡(luò)的節(jié)點(diǎn)間的公共狀態(tài)的同步和更新問(wèn)題,而這種方法通常稱(chēng)為共識(shí)算法。當(dāng)前主流的共識(shí)算法包括以數(shù)字貨幣為代表應(yīng)用的公有鏈中使用的POW[13]、POS[14]和DPOS[15]算法,以及聯(lián)盟鏈中使用的PBFT[16]、RAFT[17]、Paxos[18]算法等。

  共識(shí)算法的研究通常偏向理論化,其假設(shè)任意節(jié)點(diǎn)間完全連通且也有必要連通,另外,其假設(shè)節(jié)點(diǎn)間的信息交互是完全隨機(jī)的。全連接模型中,每次狀態(tài)的更新都需要得到所有成員的確認(rèn)。在通常的客戶(hù)端-服務(wù)器模型中,如果某個(gè)節(jié)點(diǎn)需要更新N個(gè)狀態(tài),其只需向服務(wù)器發(fā)送N次網(wǎng)絡(luò)請(qǐng)求即可;但在全連接網(wǎng)絡(luò)中,相應(yīng)的節(jié)點(diǎn)每更新一個(gè)狀態(tài),其均需向其他所有節(jié)點(diǎn)廣播一次網(wǎng)絡(luò)請(qǐng)求,總共的網(wǎng)絡(luò)請(qǐng)求量為N×(M-1),其中,M為分布式網(wǎng)絡(luò)的節(jié)點(diǎn)總數(shù)。

  當(dāng)節(jié)點(diǎn)總數(shù)增加時(shí),交易確認(rèn)的效率不可避免地受到影響。基于這個(gè)考慮,本文將研究現(xiàn)實(shí)世界中不同實(shí)體間真實(shí)的連接關(guān)系,嘗試建立一個(gè)新的結(jié)構(gòu)化模型,在網(wǎng)絡(luò)拓?fù)鋵用鎸?shí)現(xiàn)共識(shí)算法。

  2.2一種非全連接的區(qū)塊鏈組網(wǎng)思路

  2.2.1結(jié)構(gòu)化模型

  所有的算法模型都是模擬自然界或人類(lèi)社會(huì)的行為的,而不論自然界還是人類(lèi)社會(huì)的個(gè)體之間,很少有一個(gè)個(gè)體會(huì)和其他所有個(gè)體都有交互作用,即全連接模型是幾乎不存在的。通常的情況是,每個(gè)個(gè)體只與若干個(gè)個(gè)體有較為緊密的接觸,也就是說(shuō),實(shí)際的模型是一個(gè)由若干個(gè)稀疏圖組成的集合。

  在實(shí)際的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,圖與圖之間是沒(méi)有任何聯(lián)系的,它們之間沒(méi)有數(shù)據(jù)交互。因此,在不同圖之間沒(méi)有必要存儲(chǔ)其他圖的內(nèi)部數(shù)據(jù),這是在網(wǎng)絡(luò)結(jié)構(gòu)層面實(shí)現(xiàn)共識(shí)的第一個(gè)步驟。在每一個(gè)圖的內(nèi)部,節(jié)點(diǎn)間的數(shù)據(jù)交互關(guān)系可以歸結(jié)為2種基本模型,分別為單一的主從關(guān)系和互為主從關(guān)系。其中箭頭所指向的節(jié)點(diǎn)稱(chēng)為“父節(jié)點(diǎn)”,箭頭發(fā)出的節(jié)點(diǎn)稱(chēng)為“子節(jié)點(diǎn)”。在單一主從關(guān)系模型中,每一次對(duì)賬本的“寫(xiě)”請(qǐng)求只從父節(jié)點(diǎn)發(fā)出,子節(jié)點(diǎn)只負(fù)責(zé)對(duì)父節(jié)點(diǎn)的請(qǐng)求進(jìn)行校驗(yàn)。

  當(dāng)然,最終能否對(duì)賬本進(jìn)行合法的寫(xiě)操作,由父子節(jié)點(diǎn)共同決定。供應(yīng)鏈?zhǔn)堑湫偷囊詥我恢鲝年P(guān)系為主的結(jié)構(gòu),數(shù)據(jù)基本上是單向流動(dòng)的,比如交易只能由供應(yīng)商發(fā)起,由客戶(hù)進(jìn)行確認(rèn)。在互為主從關(guān)系模型中,每個(gè)節(jié)點(diǎn)都可以隨機(jī)發(fā)起寫(xiě)請(qǐng)求,不存在明顯的隸屬關(guān)系。微信這類(lèi)即時(shí)通信工具屬于典型的互為主從關(guān)系模型,通信雙方都可以隨時(shí)對(duì)賬本(聊天記錄)進(jìn)行“追加寫(xiě)”操作。

  嚴(yán)格來(lái)講,互為主從關(guān)系模型也可以分解為2個(gè)獨(dú)立的單一主從關(guān)系模型。是否有必要再進(jìn)一步細(xì)分,可以根據(jù)網(wǎng)絡(luò)的規(guī)模和節(jié)點(diǎn)間交易的相關(guān)程度來(lái)決定。一般來(lái)說(shuō),網(wǎng)絡(luò)規(guī)模越大、交易的相關(guān)程度越低,越需要細(xì)分。

  在人類(lèi)社會(huì)的經(jīng)濟(jì)活動(dòng)中,單一主從關(guān)系模型是主流,即生產(chǎn)關(guān)系是比較穩(wěn)固的,改變的頻率較小。隨著節(jié)點(diǎn)數(shù)的增多,以互為主從關(guān)系模型為基本組件的結(jié)構(gòu),在實(shí)際事務(wù)中將會(huì)越來(lái)越少。當(dāng)遇到一個(gè)實(shí)際問(wèn)題時(shí),需要分析節(jié)點(diǎn)間的邏輯關(guān)系,確定具體的實(shí)施方案。基本的實(shí)施方案主要有2種:1)混合使用2種基本模型進(jìn)行建模;2)將事務(wù)全部分解成單一主從關(guān)系進(jìn)行最終的合成建模。本文的研究將以后一種方案為主。

  2.2.2模型的分解和重構(gòu)

  根據(jù)上節(jié)的分析,本文將基于單一主從關(guān)系模型對(duì)現(xiàn)實(shí)的經(jīng)濟(jì)活動(dòng)進(jìn)行分解,形成一系列較小的結(jié)構(gòu),并按照一定的順序?qū)⑦@些結(jié)構(gòu)重新組合,從而達(dá)到將網(wǎng)絡(luò)結(jié)構(gòu)清晰化、交易流程有序化的目的。本文的最終目標(biāo)是將整個(gè)網(wǎng)絡(luò)的數(shù)據(jù)流進(jìn)行分類(lèi)處理,而數(shù)據(jù)流動(dòng)的方向是通過(guò)“邊”來(lái)表示的,即需要將原來(lái)網(wǎng)絡(luò)(簡(jiǎn)稱(chēng)“原圖”)中的“單向邊”進(jìn)行重新整理。

  因此,基于原圖進(jìn)行重構(gòu)的新圖必須囊括原圖的所有邊(每條雙向邊需拆分成2條單向邊)。首先將原圖的長(zhǎng)路徑截短,并將所有指向同一個(gè)節(jié)點(diǎn)的邊歸為同一類(lèi),從而形成一個(gè)個(gè)基本的單層結(jié)構(gòu),可將其稱(chēng)為“原子樹(shù)”,寓意為不再細(xì)分的樹(shù)。

  一種可行的做法是,依次掃描原圖,找出所有父節(jié)點(diǎn)(即存在若干箭頭指向的節(jié)點(diǎn)),并以各個(gè)父節(jié)點(diǎn)為基礎(chǔ)對(duì)原圖進(jìn)行劃分。然后依次找出每個(gè)父節(jié)點(diǎn)的子節(jié)點(diǎn),并最終形成若干棵原子樹(shù)。其中節(jié)點(diǎn)1、2、3是原子樹(shù)的父節(jié)點(diǎn),各棵子樹(shù)間通過(guò)“信使節(jié)點(diǎn)”連通,即節(jié)點(diǎn)2和3。顯然地,能成為信使節(jié)點(diǎn)的節(jié)點(diǎn)必須同時(shí)鄰接至少一條“入邊”和“出邊”。

  2.2.3組網(wǎng)方案設(shè)計(jì)

  每一棵原子樹(shù)中的每一個(gè)節(jié)點(diǎn)都在共同維護(hù)著樹(shù)內(nèi)的數(shù)據(jù)流,這些數(shù)據(jù)流有比較大的關(guān)聯(lián)性,因此,可將原子樹(shù)內(nèi)的交互數(shù)據(jù)全部寫(xiě)在同一個(gè)分布式賬本里,原子樹(shù)內(nèi)的節(jié)點(diǎn)共同組成了一個(gè)區(qū)塊鏈網(wǎng)絡(luò),本文將其稱(chēng)為子網(wǎng)。每個(gè)子網(wǎng)需包含如下幾個(gè)基本角色:1)授權(quán)認(rèn)證節(jié)點(diǎn)。即CA,主要采用數(shù)字證書(shū)機(jī)制對(duì)網(wǎng)絡(luò)中成員身份進(jìn)行管理。2)普通節(jié)點(diǎn)。發(fā)起交易或?qū)灰走M(jìn)行簽名背書(shū)。

  3)排序節(jié)點(diǎn)。對(duì)收到的合法交易在網(wǎng)絡(luò)中進(jìn)行全局排序,并打包成區(qū)塊。4)全節(jié)點(diǎn)。對(duì)區(qū)塊進(jìn)行合法性驗(yàn)證并維護(hù)整個(gè)賬本。另外,經(jīng)過(guò)授權(quán)的外部節(jié)點(diǎn)或客戶(hù)端可以獲得對(duì)賬本的部分或全部數(shù)據(jù)的訪問(wèn)權(quán)。由上文可以看出,每新建一個(gè)子網(wǎng),都需要為其分配全節(jié)點(diǎn)和排序節(jié)點(diǎn),而由于在云計(jì)算環(huán)境下,可以非常靈活地分配虛擬機(jī)資源并通過(guò)腳本實(shí)現(xiàn)自動(dòng)化部署,因此該組網(wǎng)方案在云計(jì)算環(huán)境下可以達(dá)到最高的運(yùn)作效率。但需要說(shuō)明的是,在非云計(jì)算環(huán)境下,組網(wǎng)方案依然是可行的。

  其中較粗的箭頭表示不同的模塊之間的信息交互,較細(xì)的箭頭指示的是模塊內(nèi)的信息傳遞過(guò)程。實(shí)線表示該交互過(guò)程是主要的,虛線表示該交互過(guò)程處于次要地位。

  3基于云計(jì)算的區(qū)塊鏈數(shù)據(jù)存儲(chǔ)機(jī)制

  3.1數(shù)據(jù)存儲(chǔ)架構(gòu)設(shè)計(jì)

  本文中數(shù)據(jù)存儲(chǔ)架構(gòu)的思路來(lái)源于HyperledgerFabric[19]項(xiàng)目,這是由IBM牽頭發(fā)起的一個(gè)代表性的聯(lián)盟鏈項(xiàng)目。在Fabric中,賬本是一系列有序的、不可篡改的狀態(tài)轉(zhuǎn)移記錄日志。狀態(tài)轉(zhuǎn)移是鏈碼(chaincode)執(zhí)行(交易)的結(jié)果,每個(gè)交易都是通過(guò)增刪改操作提交一系列鍵值對(duì)到賬本[20]。一系列有序的交易被打包成塊,這樣就將賬本串聯(lián)成了區(qū)塊鏈。同時(shí),一個(gè)狀態(tài)數(shù)據(jù)庫(kù)維護(hù)賬本當(dāng)前的狀態(tài),因此也被叫做世界狀態(tài)。賬本狀態(tài)數(shù)據(jù)庫(kù)實(shí)際上存儲(chǔ)的是所有曾經(jīng)在交易中出現(xiàn)的鍵值對(duì)的最新值。

  調(diào)用鏈碼執(zhí)行交易可以改變狀態(tài)數(shù)據(jù),為了高效地執(zhí)行鏈碼調(diào)用,所有數(shù)據(jù)的最新值都被存放在狀態(tài)數(shù)據(jù)庫(kù)中。就邏輯上來(lái)說(shuō),狀態(tài)數(shù)據(jù)庫(kù)僅僅是有序交易日志的快照,因此在任何時(shí)候都可以根據(jù)交易日志重新生成。本文基于這種思想,結(jié)合云計(jì)算的特性進(jìn)行了一定的拓展,形成了一種基于云計(jì)算的區(qū)塊鏈數(shù)據(jù)存儲(chǔ)機(jī)制。該機(jī)制將需要存儲(chǔ)的數(shù)據(jù)拆分為事務(wù)數(shù)據(jù)和狀態(tài)數(shù)據(jù)這2個(gè)部分。

  事務(wù)數(shù)據(jù)即包含與狀態(tài)轉(zhuǎn)移相關(guān)的關(guān)鍵內(nèi)容,目的是為了保障整個(gè)網(wǎng)絡(luò)的保序性和不可篡改性,通過(guò)區(qū)塊鏈結(jié)構(gòu)進(jìn)行存儲(chǔ),一個(gè)區(qū)塊中應(yīng)包含如下字段:1)交易詳情。指示在相關(guān)節(jié)點(diǎn)間實(shí)際發(fā)生的業(yè)務(wù)。2)交易的生成者標(biāo)識(shí)。指示該交易是由哪個(gè)節(jié)點(diǎn)生成的,即生成者的完整簽名。3)交易的驗(yàn)證者標(biāo)識(shí)。交易的接收方確認(rèn)交易詳情和其生成者標(biāo)識(shí)是合法的,對(duì)交易進(jìn)行最終的簽名。4)前一區(qū)塊的唯一標(biāo)識(shí)。指示當(dāng)前區(qū)塊數(shù)據(jù)是追加在哪一個(gè)區(qū)塊后面的,該標(biāo)識(shí)通常是前一區(qū)塊序列化后的哈希值。

  5)區(qū)塊號(hào)。指示當(dāng)前區(qū)塊是全局的第幾個(gè)區(qū)塊。6)當(dāng)前區(qū)塊的唯一標(biāo)識(shí)。當(dāng)前區(qū)塊序列化后的哈希值。7)區(qū)塊類(lèi)型。指示當(dāng)前區(qū)塊的種類(lèi),比如普通區(qū)塊或者創(chuàng)世區(qū)塊。狀態(tài)數(shù)據(jù)與上文提到的世界狀態(tài)概念相似,為整個(gè)子網(wǎng)的全局狀態(tài)。Fabric中提供了LevelDB或CouchDB這2種方案供選擇,然而這2種數(shù)據(jù)庫(kù)能支持的查詢(xún)方式較少,不能很好地滿(mǎn)足商業(yè)級(jí)應(yīng)用復(fù)雜的查詢(xún)需求。

  事實(shí)上,可以認(rèn)為只要能通過(guò)事務(wù)數(shù)據(jù)來(lái)保障賬本的不可篡改,狀態(tài)數(shù)據(jù)完全可以通過(guò)其他性能更好的數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)。考慮到實(shí)際應(yīng)用中,用戶(hù)對(duì)于數(shù)據(jù)的加密級(jí)別會(huì)有不同的要求,因此狀態(tài)數(shù)據(jù)中又可以分為僅限子網(wǎng)內(nèi)部成員可見(jiàn)的敏感數(shù)據(jù),以及可以與外界共享的非敏感數(shù)據(jù)。

  節(jié)點(diǎn)A和節(jié)點(diǎn)B組成了子網(wǎng)1,節(jié)點(diǎn)B和節(jié)點(diǎn)C組成了子網(wǎng)2。其中節(jié)點(diǎn)B同時(shí)存儲(chǔ)了2個(gè)子網(wǎng)的事務(wù)數(shù)據(jù)。2個(gè)子網(wǎng)分別配備有全節(jié)點(diǎn)集群,用于存儲(chǔ)子網(wǎng)中的敏感數(shù)據(jù),這部分?jǐn)?shù)據(jù)由子網(wǎng)內(nèi)的節(jié)點(diǎn)共享,而對(duì)于各個(gè)子網(wǎng)的非敏感數(shù)據(jù),可以在全網(wǎng)數(shù)據(jù)共享服務(wù)器集群存儲(chǔ)。本文方案中的狀態(tài)數(shù)據(jù)均通過(guò)部署在云服務(wù)器上的HBase數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)。

  Hbase[21]是一種分布式、面向列的開(kāi)源數(shù)據(jù)庫(kù)。該技術(shù)來(lái)源于Chang所撰寫(xiě)的BigTable[22]論文,是一種面向海量非結(jié)構(gòu)化數(shù)據(jù)的高性能存儲(chǔ)方案。HBase支持基于Snappy[23]算法的壓縮存儲(chǔ)功能,可以最大程度節(jié)省存儲(chǔ)空間。同時(shí),由于節(jié)點(diǎn)擁有與狀態(tài)變更記錄直接相關(guān)的事務(wù)數(shù)據(jù)的所有權(quán),因此依然能夠有效地防止?fàn)顟B(tài)數(shù)據(jù)被篡改的情況。

  3.2典型流程分析

  3.2.1子網(wǎng)組建流程

  步驟1所有類(lèi)型的節(jié)點(diǎn)加入網(wǎng)絡(luò)前,都需向CA申請(qǐng)相應(yīng)的證書(shū)。步驟2當(dāng)一個(gè)節(jié)點(diǎn)想創(chuàng)建一個(gè)子網(wǎng)時(shí),其先從CA處獲取相應(yīng)成員的證書(shū)、IP、權(quán)限等,并根據(jù)IP向其他節(jié)點(diǎn)發(fā)起組網(wǎng)請(qǐng)求。步驟3組網(wǎng)規(guī)則(比如全部節(jié)點(diǎn)同意)通過(guò)后,由發(fā)起初始請(qǐng)求的節(jié)點(diǎn)生成經(jīng)過(guò)簽名的創(chuàng)世區(qū)塊,并為子網(wǎng)分配排序節(jié)點(diǎn)和全節(jié)點(diǎn)。

  3.2.2數(shù)據(jù)存儲(chǔ)流程

  步驟1子網(wǎng)內(nèi)的任意節(jié)點(diǎn)生成一條交易/記錄的前提是已經(jīng)向CA申請(qǐng)了相應(yīng)的證書(shū)以證明其身份。步驟2子網(wǎng)內(nèi)的節(jié)點(diǎn)發(fā)起的交易,根據(jù)該交易涉及的子網(wǎng)內(nèi)的成員的數(shù)量,需要相應(yīng)的節(jié)點(diǎn)對(duì)該交易都進(jìn)行簽名。比如,節(jié)點(diǎn)A發(fā)起涉及A、B、C的交易,那么該交易必須含有A、B、C的全部簽名才是合法的,此時(shí)不能離線交易,如果該交易僅僅涉及A自身,該交易可離線進(jìn)行。

  步驟3收集所有的簽名后,節(jié)點(diǎn)A將帶有序號(hào)(指示當(dāng)前是全局的第幾個(gè)交易)的該交易發(fā)往排序節(jié)點(diǎn),排序節(jié)點(diǎn)通過(guò)共識(shí)/容錯(cuò)算法,返回接受或者拒絕的響應(yīng)。步驟4如果排序節(jié)點(diǎn)接受該交易,那么將該交易進(jìn)行簽名并與交易內(nèi)容的哈希一起廣播至所有節(jié)點(diǎn),此時(shí)相當(dāng)于所有節(jié)點(diǎn)同步新增一條事務(wù)數(shù)據(jù)。步驟5與上一步驟同時(shí),排序服務(wù)器會(huì)將交易分為敏感數(shù)據(jù)與非敏感數(shù)據(jù)2種類(lèi)型,敏感數(shù)據(jù)提交至子網(wǎng)的全節(jié)點(diǎn)服務(wù)器存儲(chǔ),非敏感數(shù)據(jù)提交至全網(wǎng)數(shù)據(jù)共享服務(wù)器存儲(chǔ)。

  3.2.3數(shù)據(jù)查詢(xún)流程

  步驟1節(jié)點(diǎn)通過(guò)客戶(hù)端發(fā)起查詢(xún)請(qǐng)求,節(jié)點(diǎn)所屬的節(jié)點(diǎn)首先驗(yàn)證客戶(hù)端的身份和權(quán)限。步驟2如驗(yàn)證通過(guò),分別向全網(wǎng)數(shù)據(jù)共享服務(wù)器和子網(wǎng)全節(jié)點(diǎn)服務(wù)器發(fā)起查詢(xún)。步驟3步驟2中的2類(lèi)服務(wù)分別返回請(qǐng)求的敏感及非敏感數(shù)據(jù)字段信息,節(jié)點(diǎn)服務(wù)器將其組合后,取哈希值與自身存儲(chǔ)的事務(wù)數(shù)據(jù)進(jìn)行校驗(yàn)。步驟4節(jié)點(diǎn)將數(shù)據(jù)返回給客戶(hù)端。

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

  4.1實(shí)驗(yàn)數(shù)據(jù)

  本文所提出的非全連接組網(wǎng)方案為模擬人類(lèi)社會(huì)行為所設(shè)計(jì),因此在使用現(xiàn)實(shí)存在的數(shù)據(jù)模型進(jìn)行實(shí)驗(yàn)時(shí)可以達(dá)到最佳的效果。供應(yīng)鏈?zhǔn)菂^(qū)塊鏈技術(shù)當(dāng)前較為熱門(mén)的應(yīng)用場(chǎng)景,同時(shí)也是一種典型的以單一主從關(guān)系為主的結(jié)構(gòu)。在供應(yīng)鏈上,數(shù)據(jù)基本上是單向流動(dòng)的,交易由供應(yīng)商發(fā)貨,由客戶(hù)進(jìn)行確認(rèn)。

  筆者所在機(jī)構(gòu)在本文基金項(xiàng)目資助下在廣州市多個(gè)肉菜批發(fā)市場(chǎng)及農(nóng)貿(mào)菜市場(chǎng)對(duì)基于區(qū)塊鏈的農(nóng)產(chǎn)品溯源模式進(jìn)行了一系列的探索,形成了一套包括至少3個(gè)層級(jí),100個(gè)節(jié)點(diǎn)的供應(yīng)鏈基礎(chǔ)數(shù)據(jù)模型,代表了從上游供應(yīng)商-運(yùn)輸方-批發(fā)商-零售商的相互關(guān)系。

  供應(yīng)鏈基礎(chǔ)數(shù)據(jù)模型中,每個(gè)上游節(jié)點(diǎn)可以看做是一個(gè)子網(wǎng)的父節(jié)點(diǎn),其下游即為子節(jié)點(diǎn),同時(shí)下游本身如果與更下游進(jìn)行交易,則其自身又可以成為父節(jié)點(diǎn)。通過(guò)非全連接模型,就可以將一條龐大的供應(yīng)鏈拆分成一個(gè)個(gè)子網(wǎng),下文中將基于該模型進(jìn)行測(cè)試和分析。

  上文提到的農(nóng)產(chǎn)品供應(yīng)鏈溯源應(yīng)用中,數(shù)據(jù)主要存儲(chǔ)在以下5個(gè)表中:1)Product。當(dāng)前節(jié)點(diǎn)的主營(yíng)產(chǎn)品信息,包括產(chǎn)品名稱(chēng)、產(chǎn)地、價(jià)格等,這部分?jǐn)?shù)據(jù)加密存儲(chǔ)在子網(wǎng)全節(jié)點(diǎn)服務(wù)器中。2)Customer。當(dāng)前節(jié)點(diǎn)的客戶(hù)信息,包括客戶(hù)名稱(chēng)、聯(lián)系電話(huà)、身份證號(hào)、營(yíng)業(yè)許可等,這部分?jǐn)?shù)據(jù)加密存儲(chǔ)在子網(wǎng)全節(jié)點(diǎn)服務(wù)器中。3)Supplier。當(dāng)前節(jié)點(diǎn)的供應(yīng)商信息,包括供應(yīng)商名稱(chēng)、聯(lián)系電話(huà)、營(yíng)業(yè)許可、經(jīng)營(yíng)范圍、地址等,這部分?jǐn)?shù)據(jù)加密存儲(chǔ)在子網(wǎng)全節(jié)點(diǎn)服務(wù)器中。

  4)Purchase。當(dāng)前節(jié)點(diǎn)的進(jìn)貨記錄,包括進(jìn)貨單號(hào)、交易日期、進(jìn)貨明細(xì)(包含商品、批次、數(shù)量、價(jià)格等)、供貨商、總價(jià)、運(yùn)輸物流單等。其中日期、商品、數(shù)量等在不暴露節(jié)點(diǎn)身份的前提下并非敏感數(shù)據(jù),因此可以存儲(chǔ)在全網(wǎng)數(shù)據(jù)共享服務(wù)器中,其余信息加密存儲(chǔ)在子網(wǎng)全節(jié)點(diǎn)服務(wù)器。5)Sale。當(dāng)前節(jié)點(diǎn)的銷(xiāo)售記錄,包括銷(xiāo)售單號(hào)、交易日期、銷(xiāo)售明細(xì)(包含商品、批次、數(shù)量、價(jià)格等)、客戶(hù)、總價(jià)、運(yùn)輸物流單等。其中日期、商品、數(shù)量等在不暴露節(jié)點(diǎn)身份的前提下并非敏感數(shù)據(jù),因此可以存儲(chǔ)在全網(wǎng)數(shù)據(jù)共享服務(wù)器中,其余信息加密存儲(chǔ)在子網(wǎng)全節(jié)點(diǎn)服務(wù)器。

  4.2實(shí)驗(yàn)環(huán)境

  本文全部應(yīng)用均基于云平臺(tái)進(jìn)行部署,根據(jù)子網(wǎng)的組建情況動(dòng)態(tài)分配排序服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器。

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

  為了驗(yàn)證本文所提出方案的可行性,下面分別對(duì)比了使用全連接組網(wǎng)方案以及本文的非全連接組網(wǎng)方案在不同節(jié)點(diǎn)數(shù)量情況下的吞吐量,以及使用經(jīng)典的區(qū)塊鏈數(shù)據(jù)存儲(chǔ)方案以及本文提出的3級(jí)數(shù)據(jù)共享存儲(chǔ)方案的存儲(chǔ)空間效率情況。

  4.3.1吞吐量對(duì)比

  將供應(yīng)鏈基礎(chǔ)數(shù)據(jù)模型中的100個(gè)節(jié)點(diǎn)進(jìn)行拆分,分別測(cè)試不同節(jié)點(diǎn)數(shù)量使用全連接組網(wǎng)方案以及非全連接組網(wǎng)方案的吞吐量情況。全連接組網(wǎng)方案在節(jié)點(diǎn)數(shù)較少的情況下吞吐量較高,但是隨著節(jié)點(diǎn)數(shù)增加吞吐量會(huì)大幅下降,其原因在于,全連接模型中,相應(yīng)的節(jié)點(diǎn)每更新一個(gè)狀態(tài),均需向其他所有節(jié)點(diǎn)廣播一次網(wǎng)絡(luò)請(qǐng)求,總共的網(wǎng)絡(luò)請(qǐng)求量為N×(M-1),其中,M為分布式網(wǎng)絡(luò)的節(jié)點(diǎn)總數(shù),因此節(jié)點(diǎn)數(shù)量越多,交易確認(rèn)的時(shí)間越長(zhǎng),吞吐量也就越低。

  而非全連接組網(wǎng)方案由于將一個(gè)大的全連接網(wǎng)絡(luò)拆分成了不同的子網(wǎng),并且交易只需要得到相關(guān)方的確認(rèn)而非所有節(jié)點(diǎn)的確認(rèn),因此在節(jié)點(diǎn)數(shù)增多時(shí),其吞吐量的下降趨勢(shì)并不明顯。在100個(gè)節(jié)點(diǎn)的情況下,非全連接組網(wǎng)吞吐量達(dá)到了全連接組網(wǎng)的8.8倍。

  5結(jié)束語(yǔ)

  本文針對(duì)在云計(jì)算環(huán)境下的部署區(qū)塊鏈的方案進(jìn)行了一定的優(yōu)化,提出一種新的區(qū)塊鏈組網(wǎng)機(jī)制,提高了網(wǎng)絡(luò)的整體吞吐量;同時(shí)通過(guò)引入基于云計(jì)算的數(shù)據(jù)共享存儲(chǔ),最大限度優(yōu)化了存儲(chǔ)空間。后續(xù)將在本文理論基礎(chǔ)上繼續(xù)深入研究,方向包括:不同數(shù)據(jù)共享模型應(yīng)用在區(qū)塊鏈數(shù)據(jù)存儲(chǔ)時(shí)的存儲(chǔ)空間、查詢(xún)延時(shí)、吞吐量的對(duì)比;各種意外狀況下(節(jié)點(diǎn)離線、惡意節(jié)點(diǎn)攻擊、分叉等)該模型的抗風(fēng)險(xiǎn)能力等。

  參考文獻(xiàn):

  [1]SAMANIEGOM,DETERSR.BlockchainasaServiceforIoT[C]

  [2]Microsoft.AzureBlockchainSolutionArchitecture[EB/OL].[2019-07-15].

  [3]IBM.TheIBMBlockchainPlatform[EB/OL].[2019-07-15].

  [4]阿里巴巴.阿里云區(qū)塊鏈服務(wù)[EB/OL].[2019-07-15].

  [5]騰訊.騰訊云區(qū)塊鏈服務(wù)[EB/OL].[2019-07-15].

  [6]薛騰飛,傅群超,王樅,等.基于區(qū)塊鏈的醫(yī)療數(shù)據(jù)共享模型研究[J].自動(dòng)化學(xué)報(bào),2017,43(9):1555-1562.

  [7]吳振銓?zhuān)河钶x,康嘉文,等.基于聯(lián)盟區(qū)塊鏈的智能電網(wǎng)數(shù)據(jù)安全存儲(chǔ)與共享系統(tǒng)[J].計(jì)算機(jī)應(yīng)用,2017,37(10):2742-2747.

  [8]谷俊,許鑫.人文社科數(shù)據(jù)共享模型的設(shè)計(jì)與實(shí)現(xiàn)———以聯(lián)盟鏈技術(shù)為例[J].情報(bào)學(xué)報(bào),2019,38(4):354-367.

  區(qū)塊鏈組網(wǎng)方案投稿刊物:自動(dòng)化學(xué)報(bào)(月刊)創(chuàng)刊于1963年,是由中國(guó)自動(dòng)化學(xué)會(huì)、中國(guó)科學(xué)院自動(dòng)化研究所共同主辦的高級(jí)學(xué)術(shù)期刊。刊載自動(dòng)化科學(xué)與技術(shù)領(lǐng)域的高水平理論性和應(yīng)用性的科研成果。

主站蜘蛛池模板: 高清不卡伦理电影在线观看 | 久久亚洲国产成人影院 | 蜜芽TV影院在线视频 | 国产成人ae在线观看网站站 | 最新精品国产 | 国产电影一区二区三区 | 极品网红液液酱粉嫩福利照子凌酱 | 色男人综合 | 国产精品人妻无码99999 | 久久99久久成人免费播放 | 99国内偷揿国产精品人妻 | 2020年国产理论 | 国产高清超清在线播放 | 免费观看高清黄页网址大全 | 色鲁97精品国产亚洲AV高 | 欧美人与动牲交A精品 | 好爽胸大好深好多水 | 日本国产黄色片 | 精品亚洲午夜久久久久 | 久久国语露脸精品国产 | 三级成年网站在线观看 | 欧美香蕉大胸在线视频观看 | 国产激情文学 | 亚洲视频91 | 久久青青草视频在线观 | 2019午夜75福利不卡片在线 | 97视频免费在线观看 | 秋霞电影在线观看午夜伦 | 久久操热在线视频精品 | 成人亚洲视频在线观看 | 80岁色老头69av | 啊…嗯啊好深男男小黄文 | 年轻的的小婊孑2中文字幕 你是淫荡的我的女王 | 亚州AV人片一区二区三区99久 | 国产a级黄色毛片 | 色欲AV精品人妻一区二区麻豆 | 国产精品久久久久久久久久影院 | 久久久久影视 | 日本xxx在线观看免费播放 | 亚洲AV蜜桃永久无码精品无码网 | 成人在线视频网站 |