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

?

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

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

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

在文章中,我們提出了一個安全的、可擴(kuò)展的電子數(shù)據(jù)存證系統(tǒng),該系統(tǒng)采用數(shù)據(jù)與用戶對應(yīng)映射關(guān)系查找來確保對電子數(shù)據(jù)池的高效訪問控制。我們設(shè)計了一個基于區(qū)塊鏈的數(shù)據(jù)存證方案,允許數(shù)據(jù)用戶/所有者在身份驗證后,從電子存儲庫訪問電子數(shù)據(jù)。數(shù)據(jù)存儲主要進(jìn)行分片冗余算法和分布式存儲保證數(shù)據(jù)安全性,并且系統(tǒng)引入用戶積分機(jī)制,保證系統(tǒng)負(fù)載均衡。驗證和后續(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è)計了一個基于區(qū)塊鏈的數(shù)據(jù)共享方案[1],允許數(shù)據(jù)用戶/所有者在身份驗證和加密密鑰驗證后,從共享存儲庫訪問電子病歷。SIFAH E B等人也提出了基于區(qū)塊鏈的共享醫(yī)療數(shù)據(jù)方案,重點在于提供數(shù)據(jù)訪問控制、出處和審計的同時[2],在云服務(wù)提供商之間共享醫(yī)療數(shù)據(jù)。SHAE Z提出了一個用于臨床試驗和精密醫(yī)學(xué)的區(qū)塊鏈平臺架構(gòu),并討論了各種設(shè)計方面問題,并對技術(shù)要求和挑戰(zhàn)提供了一些見解[3]。

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

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

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

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

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

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

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

本系統(tǒng)的設(shè)計采用瀏覽器/服務(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)行核心計算;等待后臺數(shù)據(jù)處理完畢后,再將用戶信息通過Web界面直觀地反饋給用戶。用戶既可以是需要保全數(shù)據(jù)的客戶,也可以是需要下載數(shù)據(jù)進(jìn)行公證的第三方機(jī)構(gòu)。

(2)邏輯層:系統(tǒng)核心功能的實現(xiàn)層。根據(jù)應(yīng)用層為用戶提供的六大功能界面,邏輯層需要分別給出對應(yīng)模塊的實現(xiàn)方法。其中,基于傳輸控制協(xié)議(TCP)的Socket多線程并發(fā)模塊是整個邏輯層能夠順利運(yùn)行的框架基礎(chǔ),系統(tǒng)利用該模塊實現(xiàn)多節(jié)點之間數(shù)據(jù)的可靠傳輸。進(jìn)一步地,運(yùn)用里所碼的編碼解碼方式對電子數(shù)據(jù)進(jìn)行分片處理,引入用戶節(jié)點性能測試模塊,對節(jié)點性能進(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é)點的積分信息等)錨定到區(qū)塊鏈層的存儲區(qū)內(nèi)。系統(tǒng)智能合約主要由若干的結(jié)構(gòu)體組成(如文件、紀(jì)錄、用戶等),并以此結(jié)構(gòu)方式存儲電子數(shù)據(jù)的關(guān)鍵信息。該方法顯著地提高了系統(tǒng)查詢電子數(shù)據(jù)的效率,增強(qiáng)了系統(tǒng)的運(yùn)行速率。

(4)區(qū)塊鏈層:系統(tǒng)的去中心化數(shù)據(jù)庫,存儲系統(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ù)層保存著整個系統(tǒng)所有上傳下載的關(guān)鍵信息。

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

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

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

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

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

2.2 智能合約

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

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

2.3 密碼學(xué)

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

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

2.4 Reed-solomon碼

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

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

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

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

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

圖2 用戶節(jié)點性能評估框架

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

當(dāng)用戶下載文件時,系統(tǒng)先判斷用戶是否擁有該文件的訪問權(quán)限,如果擁有權(quán)限,系統(tǒng)從區(qū)塊鏈合約中讀取該文件的分片信息,根據(jù)分片信息獲取分片存儲主機(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)行哈希計算,得到每個分片的哈希值后,與之前原數(shù)據(jù)存儲在智能合約中的哈希值進(jìn)行比對、驗證。如果哈希值相同,則系統(tǒng)返回數(shù)據(jù)未被改動;反之,則提醒用戶數(shù)據(jù)已經(jīng)被篡改。另外,考慮到分布式存儲的容錯性,如果出現(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)的功能需求,我們要對用戶的個人隱私進(jìn)行保護(hù),所以系統(tǒng)默認(rèn)用戶的電子數(shù)據(jù)是用戶個人所擁有,他人在沒授權(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)功能測試與評估

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

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

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

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

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

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

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

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

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

表1 實驗結(jié)果評估表

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

5 結(jié)束語

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

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

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

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

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

致謝

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

猜你喜歡
分片哈希分布式
上下分片與詞的時空佈局
詞學(xué)(2022年1期)2022-10-27 08:06:12
分片光滑邊值問題的再生核方法
CDN存量MP4視頻播放優(yōu)化方法
基于模糊二分查找的幀分片算法設(shè)計與實現(xiàn)
分布式光伏熱錢洶涌
能源(2017年10期)2017-12-20 05:54:07
分布式光伏:爆發(fā)還是徘徊
能源(2017年5期)2017-07-06 09:25:54
基于OpenCV與均值哈希算法的人臉相似識別系統(tǒng)
基于DDS的分布式三維協(xié)同仿真研究
基于維度分解的哈希多維快速流分類算法
西門子 分布式I/O Simatic ET 200AL
千阳县| 新邵县| 定结县| 甘洛县| 神农架林区| 万源市| 凤城市| 峨边| 浦城县| 宾川县| 塘沽区| 灵璧县| 安化县| 沙洋县| 中江县| 鄄城县| 潜江市| 巴南区| 阿克陶县| 家居| 萨嘎县| 伊川县| 连城县| 南川市| 沁水县| 洪湖市| 蛟河市| 岑溪市| 桐乡市| 开江县| 额敏县| 永康市| 铜梁县| 隆子县| 平罗县| 普陀区| 莒南县| 大余县| 如东县| 文化| 台南县|