• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于區(qū)塊鏈的電子數(shù)據(jù)存證的設(shè)計(jì)與實(shí)現(xiàn)

      2019-01-08 03:26:16
      中興通訊技術(shù) 2018年6期
      關(guān)鍵詞:分片哈希分布式

      陳鼎潔/CHEN Dingjie2

      孫國梓/SUN Guozi1

      (1.南京郵電大學(xué),江蘇南京210023;2.復(fù)旦大學(xué),上海 200433)

      區(qū)塊鏈作為一項(xiàng)新興科技,運(yùn)用了分布式存儲(chǔ)、共識(shí)機(jī)制、點(diǎn)到點(diǎn)(P2P)網(wǎng)絡(luò)、加密算法等技術(shù),它實(shí)質(zhì)上是提供拜占庭容錯(cuò)以保證一致性的去中心化分布式數(shù)據(jù)庫。與傳統(tǒng)的數(shù)據(jù)庫將讀寫數(shù)據(jù)庫的權(quán)限完全交付給某個(gè)公司或管理員的中心化方式不同,區(qū)塊鏈以去中心化和去信任的方式允許全球范圍內(nèi)任何有能力的節(jié)點(diǎn)成為區(qū)塊鏈網(wǎng)絡(luò)的成員之一,享受與其他所有節(jié)點(diǎn)同等的讀寫操作權(quán)利,集體維護(hù)區(qū)塊鏈的運(yùn)行。最終,區(qū)塊鏈系統(tǒng)中的所有節(jié)點(diǎn)通過共識(shí)機(jī)制同步彼此的數(shù)據(jù)信息,以保證在區(qū)塊鏈網(wǎng)絡(luò)中所有數(shù)據(jù)的一致性和可靠性。

      電子數(shù)據(jù)是現(xiàn)代高科技的產(chǎn)物,它需要我們對它進(jìn)行存儲(chǔ)并且防篡改。電子數(shù)據(jù)具有易創(chuàng)建、易存儲(chǔ)、易傳輸和高利用率等特點(diǎn),是可靠、有證明力度的電子數(shù)據(jù)證據(jù)。數(shù)據(jù)存證首先要對數(shù)據(jù)按類型進(jìn)行很好的存儲(chǔ)保存,并且還要對數(shù)據(jù)的可信性、完整性有很好的保障,并且還要方便對數(shù)據(jù)進(jìn)行存儲(chǔ)、共享、驗(yàn)證、分享等操作。區(qū)塊鏈技術(shù)可以保障完善的安全加密性和用戶驗(yàn)證。

      目前電子存證還有幾個(gè)問題需要解決:(1)存證過程中自動(dòng)化程度不高;(2)存證過程中電子數(shù)據(jù)存證風(fēng)險(xiǎn)較大;(3)第三方機(jī)構(gòu)法律處理流程繁瑣;(4)電子數(shù)據(jù)安全缺失;(5)雙方信任缺失。

      在文章中,我們提出了一個(gè)安全的、可擴(kuò)展的電子數(shù)據(jù)存證系統(tǒng),該系統(tǒng)采用數(shù)據(jù)與用戶對應(yīng)映射關(guān)系查找來確保對電子數(shù)據(jù)池的高效訪問控制。我們設(shè)計(jì)了一個(gè)基于區(qū)塊鏈的數(shù)據(jù)存證方案,允許數(shù)據(jù)用戶/所有者在身份驗(yàn)證后,從電子存儲(chǔ)庫訪問電子數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)主要進(jìn)行分片冗余算法和分布式存儲(chǔ)保證數(shù)據(jù)安全性,并且系統(tǒng)引入用戶積分機(jī)制,保證系統(tǒng)負(fù)載均衡。驗(yàn)證和后續(xù)服務(wù)封閉在系統(tǒng)內(nèi)部,寫入?yún)^(qū)塊并成為區(qū)塊鏈的一部分。

      1 區(qū)塊鏈研究的相關(guān)工作

      1.1 區(qū)塊鏈主要應(yīng)用方向現(xiàn)狀

      XIA Q在他們的研究中簡要地解決了醫(yī)療數(shù)據(jù)共享系統(tǒng)中的訪問控制管理問題,主要設(shè)計(jì)了一個(gè)基于區(qū)塊鏈的數(shù)據(jù)共享方案[1],允許數(shù)據(jù)用戶/所有者在身份驗(yàn)證和加密密鑰驗(yàn)證后,從共享存儲(chǔ)庫訪問電子病歷。SIFAH E B等人也提出了基于區(qū)塊鏈的共享醫(yī)療數(shù)據(jù)方案,重點(diǎn)在于提供數(shù)據(jù)訪問控制、出處和審計(jì)的同時(shí)[2],在云服務(wù)提供商之間共享醫(yī)療數(shù)據(jù)。SHAE Z提出了一個(gè)用于臨床試驗(yàn)和精密醫(yī)學(xué)的區(qū)塊鏈平臺(tái)架構(gòu),并討論了各種設(shè)計(jì)方面問題,并對技術(shù)要求和挑戰(zhàn)提供了一些見解[3]。

      VO H T等人研究了一個(gè)基于區(qū)塊鏈的即付即用的汽車保險(xiǎn)應(yīng)用,系統(tǒng)透明地保存記錄并根據(jù)運(yùn)行時(shí)間條件執(zhí)行智能合同,確保所有與用戶有關(guān)的數(shù)據(jù)都被透明地記錄下來[4]。XU R等人提出了一種基于區(qū)塊鏈的網(wǎng)絡(luò)媒體數(shù)字版權(quán)管理方案,該方案可以利用區(qū)塊鏈的這些功能來實(shí)現(xiàn)網(wǎng)絡(luò)媒體的有效生產(chǎn)管理、版權(quán)管理、交易管理和用戶行為管理[5]。

      針對區(qū)塊鏈訪問控制的研究也有很多,例如:ZYSKIND G等人提出當(dāng)使用第三方移動(dòng)服務(wù)時(shí),需要解決隱私保護(hù)問題。與現(xiàn)有應(yīng)用程序不同,平臺(tái)只允許用戶根據(jù)存儲(chǔ)在區(qū)塊鏈中的訪問控制策略[6]更改使用權(quán)限。HARDJONO T更詳細(xì)地描述了基于區(qū)塊鏈的訪問控制管理的系統(tǒng),該系統(tǒng)為試圖執(zhí)行交易的實(shí)體提供匿名操作但可以進(jìn)行身份驗(yàn)證,與前面系統(tǒng)相比,在用戶匿名實(shí)體方面做出了更全面的考慮[7]。

      在安全、云存儲(chǔ)等方面,業(yè)界也有進(jìn)一步的考慮:LIANG X等人提出了一種使用區(qū)塊鏈技術(shù)的分散且可信的云數(shù)據(jù)起源架構(gòu)。基于區(qū)塊鏈的數(shù)據(jù)來源可以提供防篡改記錄,實(shí)現(xiàn)云中數(shù)據(jù)的透明度,增強(qiáng)源始數(shù)據(jù)的隱私性和可用性[8]。TRAN A B等人提出了一個(gè)基于瀏覽器的工具,用于用戶注冊的管理和部署,并調(diào)用區(qū)塊鏈上的智能合約[9]。

      1.2 區(qū)塊鏈存證方向現(xiàn)狀

      李兆森等人在基于區(qū)塊鏈的電子數(shù)據(jù)存證應(yīng)用研究中,從電子數(shù)據(jù)存儲(chǔ)應(yīng)用場景出發(fā),研究如何將業(yè)務(wù)與區(qū)塊鏈技術(shù)相結(jié)合,提出一種優(yōu)化當(dāng)前數(shù)據(jù)存儲(chǔ)的方法,以此高效地為用戶服務(wù)[10]。李小良等人在網(wǎng)絡(luò)犯罪中電子證據(jù)的收集及保全分析中探討網(wǎng)絡(luò)犯罪中電子證據(jù)的收集含義,分析電子證據(jù)收集在網(wǎng)絡(luò)犯罪中的特殊性,提出收集和保存電子證據(jù)的方法[11]。徐蕾等人在基于區(qū)塊鏈的云取證系統(tǒng)中,采用區(qū)塊鏈的分布式數(shù)據(jù)庫特點(diǎn)——首尾相連的鏈?zhǔn)浇Y(jié)構(gòu)技術(shù),設(shè)計(jì)了一中去中心化、可驗(yàn)證、不可篡改的系統(tǒng)[12]。鄧秀珍等人提出網(wǎng)貸平臺(tái)電子數(shù)據(jù)保存的欠缺與對策,提出電子數(shù)據(jù)保存形式不規(guī)范、存證平臺(tái)的中立性問題不明確、電子數(shù)據(jù)保存的具體數(shù)據(jù)技術(shù)不明確、存證方面的內(nèi)容審核、存證服務(wù)的收費(fèi),以及存證服務(wù)的失效等一系列的問題[13]。

      電子數(shù)據(jù)的形式比較混亂,不能有效地統(tǒng)一數(shù)據(jù)格式,使數(shù)據(jù)存儲(chǔ)的過程更加繁瑣。電子數(shù)據(jù)存儲(chǔ)中存在很大的數(shù)據(jù)安全隱患,中心化的存儲(chǔ)方式可能會(huì)造成數(shù)據(jù)被篡改和遺失等風(fēng)險(xiǎn),使得整個(gè)系統(tǒng)不完全可信。其次,電子數(shù)據(jù)在獲得驗(yàn)證結(jié)果的等待時(shí)間較長,獲得結(jié)果滯緩,使用戶無法及時(shí)有效獲得結(jié)果,不能及時(shí)給出相應(yīng)信息,系統(tǒng)效率低下。我們致力于解決電子數(shù)據(jù)在目前遇到的各種問題,并研究了基于區(qū)塊鏈技術(shù)來解決電子數(shù)據(jù)存證問題的現(xiàn)狀。

      2 區(qū)塊鏈存證的架構(gòu)設(shè)計(jì)及技術(shù)原理

      本系統(tǒng)的設(shè)計(jì)采用瀏覽器/服務(wù)器(B/S)體系結(jié)構(gòu),分為4層,從上至下依次為:應(yīng)用層、邏輯層、智能合約層和區(qū)塊鏈層,如圖1所示。

      (1)應(yīng)用層:主要包含圖1中的前端用戶界面(UI)、展示層和業(yè)務(wù)層。前端UI主要負(fù)責(zé)為用戶訪問系統(tǒng)提供可視化的Web界面。當(dāng)獲取用戶提交的請求后,將用戶請求信息發(fā)送給邏輯層進(jìn)行核心計(jì)算;等待后臺(tái)數(shù)據(jù)處理完畢后,再將用戶信息通過Web界面直觀地反饋給用戶。用戶既可以是需要保全數(shù)據(jù)的客戶,也可以是需要下載數(shù)據(jù)進(jìn)行公證的第三方機(jī)構(gòu)。

      (2)邏輯層:系統(tǒng)核心功能的實(shí)現(xiàn)層。根據(jù)應(yīng)用層為用戶提供的六大功能界面,邏輯層需要分別給出對應(yīng)模塊的實(shí)現(xiàn)方法。其中,基于傳輸控制協(xié)議(TCP)的Socket多線程并發(fā)模塊是整個(gè)邏輯層能夠順利運(yùn)行的框架基礎(chǔ),系統(tǒng)利用該模塊實(shí)現(xiàn)多節(jié)點(diǎn)之間數(shù)據(jù)的可靠傳輸。進(jìn)一步地,運(yùn)用里所碼的編碼解碼方式對電子數(shù)據(jù)進(jìn)行分片處理,引入用戶節(jié)點(diǎn)性能測試模塊,對節(jié)點(diǎn)性能進(jìn)行排序,用于數(shù)據(jù)的上傳和下載功能模塊;引入Hash比對模塊檢測文件數(shù)據(jù)是否保存完整;引入用戶積分模塊,保障系統(tǒng)的負(fù)載均衡;引入用戶注冊、登錄功能記錄用戶信息,方便對用戶進(jìn)行管理。

      (3)智能合約層:部署在以太坊上,并與系統(tǒng)進(jìn)行交互。智能合約層主要負(fù)責(zé)將邏輯層的數(shù)據(jù)處理結(jié)果(如電子數(shù)據(jù)及其分片的指紋信息、用戶節(jié)點(diǎn)的積分信息等)錨定到區(qū)塊鏈層的存儲(chǔ)區(qū)內(nèi)。系統(tǒng)智能合約主要由若干的結(jié)構(gòu)體組成(如文件、紀(jì)錄、用戶等),并以此結(jié)構(gòu)方式存儲(chǔ)電子數(shù)據(jù)的關(guān)鍵信息。該方法顯著地提高了系統(tǒng)查詢電子數(shù)據(jù)的效率,增強(qiáng)了系統(tǒng)的運(yùn)行速率。

      (4)區(qū)塊鏈層:系統(tǒng)的去中心化數(shù)據(jù)庫,存儲(chǔ)系統(tǒng)交互產(chǎn)生的數(shù)據(jù)信息。其中,網(wǎng)絡(luò)層承擔(dān)信息通信,產(chǎn)生新區(qū)塊,維護(hù)區(qū)塊鏈網(wǎng)絡(luò)穩(wěn)定運(yùn)行;數(shù)據(jù)層保存著整個(gè)系統(tǒng)所有上傳下載的關(guān)鍵信息。

      圖1 系統(tǒng)功能架構(gòu)圖

      借助區(qū)塊鏈的新興技術(shù),把電子數(shù)據(jù)記錄分布式存儲(chǔ)在區(qū)塊鏈上,并結(jié)合Reed-solomon碼、時(shí)間戳、哈希算法、模糊層次分析法、理想優(yōu)基點(diǎn)、客戶關(guān)系管理(RFM)積分模型和智能合約等技術(shù),我們設(shè)計(jì)并搭建了基于區(qū)塊鏈的分布式存儲(chǔ)系統(tǒng)。系統(tǒng)主要對數(shù)據(jù)進(jìn)行冗余分片,根據(jù)用戶需求,將數(shù)據(jù)分成n個(gè)信息片和m個(gè)冗余片,再將數(shù)據(jù)分片進(jìn)行分布式存儲(chǔ)。對系統(tǒng)存儲(chǔ)主機(jī)信息進(jìn)行采集,結(jié)合模糊層次分析法和理想優(yōu)基點(diǎn),計(jì)算出系統(tǒng)存儲(chǔ)主機(jī)的網(wǎng)絡(luò)綜合性能評(píng)分,保證系統(tǒng)數(shù)據(jù)存儲(chǔ)的負(fù)載均衡。并根據(jù)智能合約去中心化的特點(diǎn),使用哈希算法進(jìn)行數(shù)據(jù)的完整性驗(yàn)證,使用共識(shí)算法保障計(jì)算節(jié)點(diǎn)間數(shù)據(jù)的一致性。我們設(shè)計(jì)了一種去中心化的、可驗(yàn)證的分布式存儲(chǔ)系統(tǒng)?;谠撓到y(tǒng)提供的功能,用戶可以是雙邊或多邊,等公檢法第三方機(jī)構(gòu)共同參與下,自動(dòng)實(shí)現(xiàn)電子數(shù)據(jù)存證的事務(wù)處理和存證機(jī)制等。

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

      區(qū)塊鏈?zhǔn)撬泄?jié)點(diǎn)共享的交易數(shù)據(jù)庫,這些節(jié)點(diǎn)基于交易協(xié)議參與到網(wǎng)絡(luò)中來。區(qū)塊鏈包含每一個(gè)曾在系統(tǒng)中執(zhí)行過的交易,根據(jù)這些交易信息,人們可以找到任何時(shí)候、任一個(gè)地址的信息。如果把區(qū)塊鏈作為一個(gè)狀態(tài)機(jī),則每次交易就是試圖改變一次狀態(tài),而每次共識(shí)生成的區(qū)塊,就是參與者對于區(qū)塊中交易導(dǎo)致狀態(tài)改變的結(jié)果進(jìn)行確認(rèn)的結(jié)果。

      在實(shí)現(xiàn)上,首先假設(shè)存在一個(gè)分布式的數(shù)據(jù)記錄賬本,這個(gè)賬本只允許添加,不允許刪除。賬本底層的基本結(jié)構(gòu)是一個(gè)線性的鏈表,這也是其名字“區(qū)塊鏈”的來源。鏈表由一個(gè)個(gè)“區(qū)塊”串聯(lián)組成,后繼區(qū)塊記錄前導(dǎo)區(qū)塊的哈希值。新的數(shù)據(jù)要加入,必須放到一個(gè)新的區(qū)塊中,而這個(gè)塊(以及塊里的交易)是否合法,可以通過計(jì)算哈希值的方式快速檢驗(yàn)出來。任意維護(hù)節(jié)點(diǎn)都可以提議一個(gè)新的合法區(qū)塊,然而必須經(jīng)過一定的共識(shí)機(jī)制來對最終選擇的區(qū)塊達(dá)成一致。

      2.2 智能合約

      智能合約是以太坊中最為重要的一個(gè)概念,即以計(jì)算機(jī)程序的方式來締結(jié)和運(yùn)行各種合約。在20世紀(jì)90年代,SZABO N等人就提出過類似的概念[14],但一直因?yàn)槿狈煽繄?zhí)行智能合約的環(huán)境,而被當(dāng)作一種設(shè)計(jì)理論。區(qū)塊鏈技術(shù)的出現(xiàn),恰好補(bǔ)充了缺陷。

      文章中,我們在智能合約的編寫過程中,定義了文件、紀(jì)錄、成員和用戶4個(gè)結(jié)構(gòu)體變量,分別存儲(chǔ)電子數(shù)據(jù)文件的關(guān)鍵信息、電子數(shù)據(jù)文件分片的關(guān)鍵信息、用戶資料和電子數(shù)據(jù)文件的所有關(guān)系。基于上述4個(gè)變量,我們依次編寫了電子數(shù)據(jù)信息的上傳、電子數(shù)據(jù)信息的查詢、電子數(shù)據(jù)的授權(quán)、用戶信息的更新和用戶信息的查詢。考慮到以太坊數(shù)據(jù)寫入的速度較慢,容易影響用戶體驗(yàn),因此采用異步請求方式(sendAsync)執(zhí)行事務(wù),以此來加快電子數(shù)據(jù)的查詢傳輸速率。

      2.3 密碼學(xué)

      哈希函數(shù)是密碼學(xué)的一個(gè)重要分支,它是一種將任意長度的輸入變換為固定長度的輸出且不可逆的單向密碼體制。哈希函數(shù)主要運(yùn)用于數(shù)字簽名和消息完整性驗(yàn)證。

      本文中我們采用哈希算法,主要的過程為:發(fā)送方采用單向哈希函數(shù)對消息進(jìn)行計(jì)算,得到摘要并發(fā)送消息和摘要。接收方將接收到的消息,按同樣方式進(jìn)行哈希函數(shù)計(jì)算,并將新得出的結(jié)果與發(fā)送方的原摘要結(jié)果進(jìn)行比對。如結(jié)果一致,說明消息完整。在本系統(tǒng)中,摘要信息的不可變,保證了需要存證信息的完整性和真實(shí)性。將需要存證的電子數(shù)據(jù)放在區(qū)塊鏈中,避免數(shù)據(jù)被惡意篡改。

      2.4 Reed-solomon碼

      Reed-Solomon碼是一種定義在域上的線性編碼方法,該編碼方法將k個(gè)源數(shù)據(jù)變換生成l個(gè)編碼數(shù)據(jù)。與前向糾錯(cuò)碼(FEC)編碼思想一致,我們采用Reed-Solomon碼來實(shí)現(xiàn)數(shù)據(jù)包層的FEC編碼變換[15]。

      當(dāng)用戶上傳電子數(shù)據(jù)時(shí),系統(tǒng)首先會(huì)對電子數(shù)據(jù)進(jìn)行分片處理。分片工作主要依賴?yán)锼a的編碼實(shí)現(xiàn)。用戶需要提供2個(gè)重要參數(shù):信息分片數(shù)目和冗余分片數(shù)目。系統(tǒng)根據(jù)上述2個(gè)參數(shù)和待上傳文件的大小,調(diào)整出恰當(dāng)?shù)木幋a緩沖區(qū)大小,完成對文件的分片處理。

      2.5 多目標(biāo)節(jié)點(diǎn)決策模型

      作為一個(gè)電子數(shù)據(jù)存證系統(tǒng),本系統(tǒng)依賴于多個(gè)用戶節(jié)點(diǎn)共同完成電子數(shù)據(jù)的存證保管工作,這一過程涉及到對多用戶節(jié)點(diǎn)的選擇。文章中,我們設(shè)計(jì)了如何挑選出系統(tǒng)當(dāng)前性能最優(yōu)的若干節(jié)點(diǎn)并協(xié)同完成分布式的存儲(chǔ)工作。圖2展示了用戶節(jié)點(diǎn)性能評(píng)估的主要設(shè)計(jì)過程。

      對比以太坊依靠各節(jié)點(diǎn)的計(jì)算力使之持續(xù)運(yùn)轉(zhuǎn),本系統(tǒng)主要依靠各節(jié)點(diǎn)的存儲(chǔ)算力。因此,決定對用戶節(jié)點(diǎn)的性能評(píng)估從網(wǎng)絡(luò)性能和存儲(chǔ)水平2方面展開。其中,網(wǎng)絡(luò)性能的高低影響電子數(shù)據(jù)分片的傳輸速度,存儲(chǔ)水平的高低影響電子數(shù)據(jù)分片的存儲(chǔ)可靠性。網(wǎng)絡(luò)性能的參數(shù)比重通過模糊層次分析法(FAHP)計(jì)算出。然后通過雙基點(diǎn)法(TOPSIS)計(jì)算各優(yōu)基點(diǎn)與理想/反理想優(yōu)基點(diǎn)的歐氏距離,得出綜合距離并進(jìn)行節(jié)點(diǎn)順序排名。

      圖2 用戶節(jié)點(diǎn)性能評(píng)估框架

      3 區(qū)塊鏈存證的系統(tǒng)工作步驟

      我們制定了數(shù)據(jù)共享機(jī)制,以確保數(shù)據(jù)的安全性和出處。存證系統(tǒng)的詳細(xì)流程如圖3所示,主要分為6個(gè)步驟。

      (1)用戶登錄本系統(tǒng)后,該用戶節(jié)點(diǎn)首先向系統(tǒng)各節(jié)點(diǎn)廣播本節(jié)點(diǎn)性能文件,系統(tǒng)合約成員類獲取用戶信息,并通過用戶節(jié)點(diǎn)獲取到其他用戶節(jié)點(diǎn)的性能信息,為后面的數(shù)據(jù)分片存儲(chǔ)獲取性能主機(jī)的值。

      (2)用戶上傳需要存證的文件,將文件的關(guān)鍵信息寫入到合約文件類中去,以此建立用戶和數(shù)據(jù)的對應(yīng)映射關(guān)系。

      (3)系統(tǒng)利用冗余分片算法對上傳的電子數(shù)據(jù)進(jìn)行分片,然后根據(jù)前面獲取的節(jié)點(diǎn)性能信息選取若干最優(yōu)性能的節(jié)點(diǎn),用于存儲(chǔ)系統(tǒng)的分片數(shù)據(jù)。

      (4)系統(tǒng)根據(jù)性能評(píng)分排序選中的節(jié)點(diǎn),對不同的節(jié)點(diǎn)進(jìn)行數(shù)據(jù)分發(fā),并將分發(fā)的信息返回給智能合約,包括數(shù)據(jù)分片存儲(chǔ)的IP地址、分片存儲(chǔ)的絕對路徑和數(shù)據(jù)分片的哈希值等。

      (5)當(dāng)用戶需要對電子數(shù)據(jù)進(jìn)行下載或查詢訪問操作時(shí),系統(tǒng)根據(jù)用戶請求、用戶授權(quán)請求,將用戶信息與需要訪問的數(shù)據(jù)建立對應(yīng)的映射關(guān)系,然后用戶便可以進(jìn)行操作。

      (6)系統(tǒng)從合約中讀取到電子數(shù)據(jù)的相關(guān)存儲(chǔ)信息,通過存儲(chǔ)信息獲得電子數(shù)據(jù)存儲(chǔ)的位置,并下載電子數(shù)據(jù)分片,還原數(shù)據(jù)并比對文件哈希值,以驗(yàn)證電子數(shù)據(jù)的完整性。

      基于區(qū)塊鏈智能合約的存證系統(tǒng)的主要任務(wù)是對電子證據(jù)進(jìn)行上傳、保全、查詢、比對和下載。本系統(tǒng)基于去中心化設(shè)計(jì),不再需要系統(tǒng)管理人員,轉(zhuǎn)而使用智能合約進(jìn)行數(shù)據(jù)交互。系統(tǒng)主要功能有4個(gè)特性:安全性、完整性、機(jī)密性和可授權(quán)性。

      (1)系統(tǒng)的安全性。使用基于Reed-Solomon的編碼方式進(jìn)行分布式存儲(chǔ),在節(jié)點(diǎn)主機(jī)被攻擊、磁盤損壞等分片被丟失的情況下仍然可以還原文件,同時(shí)分布式還可以降低中心化服務(wù)器被內(nèi)部篡改的風(fēng)險(xiǎn)。

      (2)系統(tǒng)的完整性。使用哈希算法SHA-256對文件進(jìn)行完整性校驗(yàn),并把校驗(yàn)存儲(chǔ)于區(qū)塊鏈智能合約中。

      (3)系統(tǒng)的機(jī)密性。去中心化分布式存儲(chǔ),可以保證任一單一存儲(chǔ)節(jié)點(diǎn)無法得到完整文件信息,更不可能還原信息,這可防止存儲(chǔ)主機(jī)被黑或者內(nèi)部人員泄露信息。

      (4)系統(tǒng)的可授權(quán)性。用戶上傳保存的文件除了由用戶自己訪問之外,還可以由被用戶授權(quán)的第三方來訪問。

      系統(tǒng)主要的六大模塊功能,將在以下的小節(jié)中詳細(xì)介紹。

      3.1 系統(tǒng)數(shù)據(jù)保全功能

      系統(tǒng)先根據(jù)用戶分片需求計(jì)算出本次保全用戶所需花費(fèi)的積分,然后獲取區(qū)塊鏈中用戶對應(yīng)積分值進(jìn)行積分?jǐn)?shù)值更新。當(dāng)用戶積分值c大于上傳操作花費(fèi)m時(shí),系統(tǒng)才提供上傳功能。若是積分值c小于m時(shí),系統(tǒng)會(huì)提醒用戶積分不足,無法進(jìn)行上傳操作,如圖4所示。

      3.2 系統(tǒng)上傳功能

      用戶首先在本系統(tǒng)注冊,提交完注冊信息后就擁有注冊用戶初試積分,同時(shí)用戶所在主機(jī)會(huì)在對系統(tǒng)內(nèi)的主機(jī)發(fā)送請求,提出電子數(shù)據(jù)上傳操作,并獲取到系統(tǒng)其他主機(jī)的性能,計(jì)算出系統(tǒng)所有主機(jī)性能評(píng)分情況。然后系統(tǒng)會(huì)根據(jù)用戶設(shè)定的電子數(shù)據(jù)分片數(shù)目,將數(shù)據(jù)進(jìn)行分片并將其進(jìn)行存儲(chǔ)分發(fā),同時(shí)將文件分片信息寫入到區(qū)塊鏈中,并更新用戶在區(qū)塊鏈上對應(yīng)的積分?jǐn)?shù)值,具體如圖5所示。

      3.3 系統(tǒng)數(shù)據(jù)查詢功能

      在本系統(tǒng)中,用戶可以即時(shí)查詢獲取文件的電子數(shù)據(jù)。根據(jù)電子數(shù)據(jù)用戶隱私需求,電子數(shù)據(jù)僅該用戶自己可見(在默認(rèn)情況)。當(dāng)用戶需要查看其他用戶的電子數(shù)據(jù)時(shí),先給出需要查看文件的序號(hào),系統(tǒng)根據(jù)文件序號(hào)查詢區(qū)塊鏈上文件序號(hào)對應(yīng)用戶的用戶名。當(dāng)文件屬于查看用戶的用戶名時(shí),則可以查看用戶數(shù)據(jù);如果文件不屬于該用戶名類,則文件不能被查看,具體如圖6所示。

      圖4 系統(tǒng)保全流程圖

      3.4 系統(tǒng)數(shù)據(jù)下載功能

      圖5 系統(tǒng)上傳流程圖

      當(dāng)用戶下載文件時(shí),系統(tǒng)先判斷用戶是否擁有該文件的訪問權(quán)限,如果擁有權(quán)限,系統(tǒng)從區(qū)塊鏈合約中讀取該文件的分片信息,根據(jù)分片信息獲取分片存儲(chǔ)主機(jī)地址和路徑,然后下載數(shù)據(jù)分片并重新組合數(shù)據(jù)。這與上一步的電子數(shù)據(jù)查詢功能類似,用戶下載的數(shù)據(jù)文件必須獲得相應(yīng)的授權(quán),以此保證用戶的隱私安全,具體如圖7所示。

      3.5 系統(tǒng)數(shù)據(jù)比對功能

      系統(tǒng)在獲得數(shù)據(jù)分片后,對分片進(jìn)行哈希計(jì)算,得到每個(gè)分片的哈希值后,與之前原數(shù)據(jù)存儲(chǔ)在智能合約中的哈希值進(jìn)行比對、驗(yàn)證。如果哈希值相同,則系統(tǒng)返回?cái)?shù)據(jù)未被改動(dòng);反之,則提醒用戶數(shù)據(jù)已經(jīng)被篡改。另外,考慮到分布式存儲(chǔ)的容錯(cuò)性,如果出現(xiàn)部分分片丟失,只要丟失的分片數(shù)量小于系統(tǒng)數(shù)據(jù)冗余分片數(shù)量,系統(tǒng)仍然能夠還原數(shù)據(jù)源文件,具體如圖8所示。

      圖6 系統(tǒng)查詢流程圖

      圖7 系統(tǒng)下載流程圖

      3.6 系統(tǒng)數(shù)據(jù)授權(quán)功能

      考慮到系統(tǒng)的功能需求,我們要對用戶的個(gè)人隱私進(jìn)行保護(hù),所以系統(tǒng)默認(rèn)用戶的電子數(shù)據(jù)是用戶個(gè)人所擁有,他人在沒授權(quán)情況下無法查看。用戶可以授權(quán)給他人,被授權(quán)用戶可以查看被授權(quán)的文件和電子數(shù)據(jù)。授權(quán)主要將授權(quán)用戶的公鑰輸入系統(tǒng)與待授權(quán)文件建立映射關(guān)系,并寫入?yún)^(qū)塊鏈,則完成授權(quán),具體如圖9所示。

      4 系統(tǒng)功能測試與評(píng)估

      我們提出的區(qū)塊鏈存證系統(tǒng)擁有以下功能。

      (1)系統(tǒng)為存儲(chǔ)應(yīng)用程序中的所有數(shù)據(jù)訪問提供實(shí)時(shí)審核。我們使用電子數(shù)據(jù)文件作為數(shù)據(jù)單元,對數(shù)據(jù)對象的所有操作進(jìn)行審計(jì),并使用區(qū)塊鏈進(jìn)行記錄。通過這種方式,可以收集和監(jiān)測控制所有電子數(shù)據(jù)訪問情況。

      (2)系統(tǒng)為文件安全紀(jì)錄保存提供防篡改時(shí)間戳。對于每條電子數(shù)據(jù),我們都會(huì)將數(shù)據(jù)上傳到區(qū)塊鏈網(wǎng)絡(luò),我們創(chuàng)建了不可改變的文件數(shù)據(jù)指紋,并且通過驗(yàn)證區(qū)塊鏈數(shù)據(jù)對比來檢測對系統(tǒng)數(shù)據(jù)的任何更改。

      (3)系統(tǒng)為用戶數(shù)據(jù)提供隱私保護(hù)。用戶訪問記錄在區(qū)塊鏈網(wǎng)絡(luò)中是匿名的。數(shù)據(jù)源是無法查詢到用戶賬戶。匿名保存體現(xiàn)在2個(gè)方面:一方面,由于用戶ID被散列隨機(jī),所以用戶身份不會(huì)和源數(shù)據(jù)連接到一起;另一方面,也實(shí)現(xiàn)了每個(gè)用戶之間的不可連接性,尤其是對于被授權(quán)數(shù)據(jù)的上傳用戶保護(hù)。

      文章中,我們對基于區(qū)塊鏈的電子數(shù)據(jù)存證系統(tǒng)進(jìn)行功能測試,分析該系統(tǒng)功能的可用性、界面的合理性和數(shù)據(jù)交互的正確性等。

      圖8 系統(tǒng)比對流程圖

      圖9 系統(tǒng)授權(quán)流程圖

      為了驗(yàn)證該系統(tǒng)可使用性和擴(kuò)展性,實(shí)驗(yàn)?zāi)M了系統(tǒng)在局域網(wǎng)下的數(shù)據(jù)分布式存證。測試環(huán)境為:在局域網(wǎng)內(nèi),部署了4臺(tái)linux服務(wù)器,同時(shí)運(yùn)行服務(wù)端程序,與客戶端進(jìn)行數(shù)據(jù)同步交互。

      針對以上系統(tǒng)實(shí)驗(yàn),我們進(jìn)行了壓力測試。在驗(yàn)證時(shí),我們設(shè)置相同的區(qū)塊生成時(shí)間,然后分別選取不同的時(shí)段進(jìn)行數(shù)據(jù)驗(yàn)證。我們共選取了50組不同大小的電子數(shù)據(jù)文件(文件大小從23 kB到3 900 kB不等),并依次將文件按照系統(tǒng)提供功能進(jìn)行驗(yàn)證,然后記錄并對比系統(tǒng)完成一次流程的時(shí)長,另外操作的數(shù)據(jù)類型也不同,以此獲得更多數(shù)據(jù)的評(píng)估時(shí)間。另外,我們專注于為每個(gè)起源數(shù)據(jù)請求區(qū)塊鏈存證的效率。通過計(jì)算可得出:每次運(yùn)行操作1條記錄,平均每條數(shù)據(jù)大小為1 054.7 kB,平均耗費(fèi)時(shí)間為4~7 s。對于每次不同數(shù)據(jù)的操作,都會(huì)記錄不同文件操作的所花費(fèi)的平均時(shí)間,并最后計(jì)算獲得結(jié)果如表1。

      表1 實(shí)驗(yàn)結(jié)果評(píng)估表

      表1顯示:系統(tǒng)對數(shù)據(jù)檢索的速率一般,數(shù)據(jù)驗(yàn)證對比結(jié)果正確率達(dá)到百分百,也就是說系統(tǒng)可以完整地對數(shù)據(jù)進(jìn)行存證。

      5 結(jié)束語

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

      (1)提出了一種將電子數(shù)據(jù)存證與區(qū)塊鏈技術(shù)相結(jié)合的系統(tǒng),電子數(shù)據(jù)的存證用于對各類數(shù)據(jù)的存儲(chǔ)和驗(yàn)證,區(qū)塊鏈技術(shù)用于對獲取到的電子數(shù)據(jù)進(jìn)行固定保存。

      (2)應(yīng)用了電子數(shù)據(jù)的分布式存儲(chǔ)方式,對數(shù)據(jù)進(jìn)行冗余分片,保證了數(shù)據(jù)的存儲(chǔ)安全性。并在系統(tǒng)中引入積分制度,按照用戶上傳存證和提供存儲(chǔ)方式進(jìn)行積分的數(shù)據(jù)變化,維持系統(tǒng)的負(fù)載均衡,保證了系統(tǒng)的安全性和穩(wěn)定性。

      借助區(qū)塊鏈這一全新技術(shù),我們將電子數(shù)據(jù)的“數(shù)字指紋”存儲(chǔ)在區(qū)塊鏈上,并利用智能合約、分布式存儲(chǔ)、容錯(cuò)編碼、多屬性決策等技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了基于區(qū)塊鏈的電子數(shù)據(jù)存證系統(tǒng)。系統(tǒng)基于區(qū)塊鏈的去中心化和不可篡改的屬性,保證了電子數(shù)據(jù)的真實(shí)性、完整性和唯一性。此外,本系統(tǒng)針對用戶還制訂了積分制度,以保證系統(tǒng)能吸引更多用戶,繼而提高本存證系統(tǒng)的可靠性。

      我們還開發(fā)了一個(gè)簡易的基于區(qū)塊鏈的電子數(shù)據(jù)存證系統(tǒng),該系統(tǒng)主要是在局域網(wǎng)內(nèi)進(jìn)行主機(jī)分布式存儲(chǔ),未來還需要進(jìn)一步優(yōu)化,實(shí)現(xiàn)可以廣域網(wǎng)內(nèi)進(jìn)行分布式存儲(chǔ)。另外,我們認(rèn)為區(qū)塊鏈所使用的共識(shí)機(jī)制是PoW,此機(jī)制時(shí)間周期較長,資源需求過高,可以進(jìn)行優(yōu)化。我們所提的系統(tǒng)客戶端與服務(wù)器端通信過程中,采用的是明文通信方式,存在安全隱患,后面可以使用對稱加密來完善安全性。

      致謝

      本文的工作得到了南京郵電大學(xué)李華康老師的指導(dǎo)和幫助,雷鵬同學(xué)承擔(dān)了部分試驗(yàn)工作,謹(jǐn)致謝意!

      猜你喜歡
      分片哈希分布式
      上下分片與詞的時(shí)空佈局
      詞學(xué)(2022年1期)2022-10-27 08:06:12
      分片光滑邊值問題的再生核方法
      CDN存量MP4視頻播放優(yōu)化方法
      基于模糊二分查找的幀分片算法設(shè)計(jì)與實(shí)現(xiàn)
      分布式光伏熱錢洶涌
      能源(2017年10期)2017-12-20 05:54:07
      分布式光伏:爆發(fā)還是徘徊
      能源(2017年5期)2017-07-06 09:25:54
      基于OpenCV與均值哈希算法的人臉相似識(shí)別系統(tǒng)
      基于DDS的分布式三維協(xié)同仿真研究
      基于維度分解的哈希多維快速流分類算法
      西門子 分布式I/O Simatic ET 200AL
      桃江县| 阿坝县| 辛集市| 新疆| 金华市| 龙游县| 鄢陵县| 滦平县| 句容市| 利津县| 潼南县| 绥江县| 黄龙县| 澳门| 湘阴县| 舞钢市| 大埔区| 延川县| 石泉县| 额敏县| 吴堡县| 清水县| 峨眉山市| 小金县| 广平县| 基隆市| 垣曲县| 嘉黎县| 德庆县| 清新县| 安乡县| 洛南县| 济宁市| 禹城市| 营山县| 北票市| 南部县| 巧家县| 府谷县| 乌审旗| 云阳县|