• 
    

    
    

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

      基于區(qū)塊鏈的科學(xué)數(shù)據(jù)匯交存證模型研究與實(shí)現(xiàn)

      2023-11-28 10:08:28徐墨庚姜曉軼童心符昱王漪
      關(guān)鍵詞:哈希合約數(shù)據(jù)中心

      徐墨庚,姜曉軼,童心,符昱,王漪

      (1.自然資源部海洋信息技術(shù)創(chuàng)新中心,天津 300171;2.國(guó)家海洋科學(xué)數(shù)據(jù)中心,天津 300171;3.國(guó)家海洋信息中心,天津 300171)

      近年來(lái),我國(guó)科技計(jì)劃項(xiàng)目數(shù)量迅速增長(zhǎng),產(chǎn)生了大量高價(jià)值的科技創(chuàng)新成果和科學(xué)研究數(shù)據(jù),這些科學(xué)數(shù)據(jù)是國(guó)家科技創(chuàng)新和發(fā)展的基礎(chǔ)性戰(zhàn)略資源,更是大數(shù)據(jù)時(shí)代最基本、最活躍的科技資源[1]。及時(shí)匯交、管理和共享這些數(shù)據(jù)資源,既是國(guó)家科技投入的直接體現(xiàn),也是促進(jìn)科學(xué)數(shù)據(jù)更好地收集保存、共享和利用的重要途徑[2]??茖W(xué)數(shù)據(jù)匯交作為科學(xué)數(shù)據(jù)獲取的重要渠道,其基礎(chǔ)性和重要性尤為突出。為此,國(guó)務(wù)院辦公廳、科技部、財(cái)政部等相繼發(fā)布有關(guān)數(shù)據(jù)匯交工作的指導(dǎo)性文件。2018 年,國(guó)務(wù)院辦公廳發(fā)布《科學(xué)數(shù)據(jù)管理辦法》,明確提出“政府預(yù)算資金資助的各級(jí)科技計(jì)劃(專(zhuān)項(xiàng)、基金等)項(xiàng)目產(chǎn)出的科學(xué)數(shù)據(jù)進(jìn)行匯交”,強(qiáng)制性要求項(xiàng)目產(chǎn)生的科學(xué)數(shù)據(jù)匯交至相關(guān)國(guó)家科學(xué)數(shù)據(jù)中心,從而有效促進(jìn)項(xiàng)目產(chǎn)出科學(xué)數(shù)據(jù)的整合、存儲(chǔ)、管理和積累,推進(jìn)科學(xué)數(shù)據(jù)資源向社會(huì)開(kāi)放共享,最大程度地發(fā)揮科學(xué)數(shù)據(jù)的價(jià)值。

      目前,我國(guó)已經(jīng)建成了包括國(guó)家海洋科學(xué)數(shù)據(jù)中心在內(nèi)的20 個(gè)國(guó)家科學(xué)數(shù)據(jù)中心,這些數(shù)據(jù)中心相繼開(kāi)展科技計(jì)劃項(xiàng)目匯交工作并依托其共享服務(wù)平臺(tái)建立了在線(xiàn)項(xiàng)目數(shù)據(jù)匯交系統(tǒng),該系統(tǒng)大部分采用“中心化”管理模式?!爸行幕蹦J酱嬖谥T多問(wèn)題:一方面,服務(wù)器容易遭受黑客惡意攻擊;另一方面,平臺(tái)內(nèi)部管理者擁有高數(shù)據(jù)操作權(quán)限,可能違規(guī)修改、刪除數(shù)據(jù)。這些內(nèi)外部攻擊使得數(shù)據(jù)存在易篡改風(fēng)險(xiǎn),既無(wú)法保證匯交過(guò)程的透明可信,也無(wú)法保證匯交數(shù)據(jù)在發(fā)布共享時(shí)與原數(shù)據(jù)的一致性和完整性,而且一旦發(fā)生數(shù)據(jù)篡改難以追責(zé)定責(zé),由此會(huì)給數(shù)據(jù)中心和項(xiàng)目組帶來(lái)信任危機(jī)。信任問(wèn)題不僅影響數(shù)據(jù)中心的公信力,也間接導(dǎo)致項(xiàng)目組不愿意匯交數(shù)據(jù)或者不愿意匯交全部數(shù)據(jù),甚至引發(fā)數(shù)據(jù)權(quán)屬爭(zhēng)議,阻礙科技計(jì)劃項(xiàng)目科學(xué)數(shù)據(jù)的生命周期進(jìn)程,使之無(wú)法發(fā)揮最大價(jià)值。項(xiàng)目產(chǎn)生的科學(xué)數(shù)據(jù)凝聚了項(xiàng)目負(fù)責(zé)人和團(tuán)隊(duì)的智慧與付出,如何使項(xiàng)目組毫無(wú)保留地將研究成果匯交至數(shù)據(jù)中心,打破信任壁壘,保障匯交各方責(zé)任權(quán)利成為數(shù)據(jù)匯交領(lǐng)域面臨的關(guān)鍵問(wèn)題。

      區(qū)塊鏈技術(shù)為數(shù)據(jù)匯交信任問(wèn)題提供了解決方案。本文利用區(qū)塊鏈分布式去中心化、多方共識(shí)、不可篡改、全程留痕等特性,構(gòu)建了覆蓋科技計(jì)劃項(xiàng)目數(shù)據(jù)匯交全流程的區(qū)塊鏈匯交存證模型,通過(guò)將匯交過(guò)程中的關(guān)鍵文件上鏈來(lái)保證文件的不可篡改性,實(shí)現(xiàn)匯交全流程留痕;賦予匯交形成的數(shù)據(jù)集唯一的Hash 值并上鏈,為開(kāi)放共享數(shù)據(jù)的一致性和完整性驗(yàn)證提供了可信、可追溯、可證明的保障;建立了基于區(qū)塊鏈的海洋科學(xué)數(shù)據(jù)匯交存證系統(tǒng),以期為其他科學(xué)數(shù)據(jù)匯交工作提供借鑒和參考。

      1 國(guó)內(nèi)外研究現(xiàn)狀

      區(qū)塊鏈技術(shù)首次出現(xiàn)在中本聰發(fā)表的《比特幣:一種點(diǎn)對(duì)點(diǎn)式的電子現(xiàn)金系統(tǒng)》[3]一文中,自此掀起了全球范圍內(nèi)的電子貨幣及區(qū)塊鏈熱潮,進(jìn)入了區(qū)塊鏈1.0比特幣時(shí)代;以太坊智能合約的出現(xiàn)使區(qū)塊鏈進(jìn)入了2.0 智能合約時(shí)代;如今區(qū)塊鏈已經(jīng)發(fā)展到了3.0 時(shí)代[4],即區(qū)塊鏈治理時(shí)代。在3.0 時(shí)代中,智能合約[5]擴(kuò)展了區(qū)塊鏈的應(yīng)用場(chǎng)景,由金融領(lǐng)域延伸到醫(yī)療、物聯(lián)網(wǎng)、政務(wù)等領(lǐng)域。同時(shí),聯(lián)盟鏈生態(tài)也全面爆發(fā),逐漸成為當(dāng)下研究熱點(diǎn)并得到產(chǎn)學(xué)界的廣泛關(guān)注。目前比較流行的聯(lián)盟鏈平臺(tái)有國(guó)外的超級(jí)賬本(Hyperledger)和國(guó)內(nèi)的長(zhǎng)安鏈、Fisco Bcos、國(guó)信公鏈、星火鏈網(wǎng)等。聯(lián)盟鏈由多個(gè)中心控制,具有交易速度快、數(shù)據(jù)隱私安全、高兼容性和擴(kuò)展性、可監(jiān)管等特點(diǎn),相比公有鏈和私有鏈,聯(lián)盟鏈支持更多的應(yīng)用需求和場(chǎng)景。目前,美國(guó)、日本、英國(guó)等相繼開(kāi)展了多領(lǐng)域、多場(chǎng)景的應(yīng)用研究。隨著我國(guó)將區(qū)塊鏈技術(shù)作為核心技術(shù)自主創(chuàng)新的重要突破口,各地相關(guān)政策陸續(xù)頒布,大規(guī)模區(qū)塊鏈應(yīng)用相繼落地。

      國(guó)內(nèi)外聯(lián)盟鏈涉及科學(xué)數(shù)據(jù)應(yīng)用方面的研究主要圍繞數(shù)據(jù)安全、數(shù)據(jù)確權(quán)和數(shù)據(jù)共享等開(kāi)展。數(shù)據(jù)安全方面,Zikratov 等首次具體使用區(qū)塊鏈來(lái)實(shí)現(xiàn)數(shù)據(jù)完整性[6]。魏銀珍等采用區(qū)塊鏈技術(shù)安全地捕獲和驗(yàn)證了數(shù)據(jù)產(chǎn)生、存儲(chǔ)、流通,以提高科學(xué)數(shù)據(jù)的質(zhì)量,防止數(shù)據(jù)篡改[7]。數(shù)據(jù)產(chǎn)權(quán)方面,王瑞丹等提出區(qū)塊鏈、安全多方計(jì)算等新技術(shù)的應(yīng)用有助于促進(jìn)科學(xué)數(shù)據(jù)共享流通過(guò)程中的可追溯、可監(jiān)控,從而減少了知識(shí)產(chǎn)權(quán)可能遭遇侵害的風(fēng)險(xiǎn)[8]。范亞慧等提出將區(qū)塊鏈技術(shù)應(yīng)用到科學(xué)數(shù)據(jù)產(chǎn)權(quán)保護(hù)領(lǐng)域,以維護(hù)科研人員的合法權(quán)益[9]。數(shù)據(jù)共享方面,王顯斌剖析了區(qū)塊鏈應(yīng)用于科學(xué)數(shù)據(jù)共享的優(yōu)勢(shì)和適用性,提出了將區(qū)塊鏈元素融合科學(xué)數(shù)據(jù)共享的新模式[10]。張連翀等提出構(gòu)建依托區(qū)塊鏈和云計(jì)算等技術(shù)的行業(yè)數(shù)據(jù)中心和科學(xué)數(shù)據(jù)中心協(xié)同技術(shù)保障條件,有利于形成良性運(yùn)行的數(shù)據(jù)生態(tài)系統(tǒng)[11]??茖W(xué)數(shù)據(jù)匯交方面的區(qū)塊鏈研究還處在理論探索階段。陶毅等建議在匯交系統(tǒng)的技術(shù)支撐方面,可嘗試引入?yún)^(qū)塊鏈技術(shù),憑借其不可篡改、可追溯的特點(diǎn),強(qiáng)化科學(xué)數(shù)據(jù)保護(hù)能力,提升科研人員共享科研數(shù)據(jù)的意愿[12]。楊雅萍等提出區(qū)塊鏈溯源管理模型可應(yīng)用到數(shù)據(jù)匯交工作中,以達(dá)到保證數(shù)據(jù)的真實(shí)性和可靠性的目的[13]。張思思等提出人類(lèi)遺傳資源組學(xué)原始數(shù)據(jù)歸檔庫(kù)(Genome Sequence Archive-Human,GSA-Human)系統(tǒng)可借鑒區(qū)塊鏈、云計(jì)算、流計(jì)算等數(shù)據(jù)安全管理的特性和理念,建立人類(lèi)遺傳數(shù)據(jù)共享和使用的新模式[14]。

      2 區(qū)塊鏈技術(shù)原理

      區(qū)塊鏈?zhǔn)潜忍貛疟澈蟮闹匾夹g(shù),采用P2P網(wǎng)絡(luò)架構(gòu)進(jìn)行價(jià)值交換,實(shí)現(xiàn)去中心化的網(wǎng)絡(luò)環(huán)境而無(wú)須集中的第三方[15-16]。區(qū)塊鏈?zhǔn)褂梅植际劫~本實(shí)現(xiàn)系統(tǒng)去中心化,分布式賬本是以有序形式包含交易列表的數(shù)據(jù)結(jié)構(gòu),能夠存儲(chǔ)大量數(shù)據(jù),并記錄所有區(qū)塊鏈節(jié)點(diǎn)之間發(fā)生的交易,以便回溯任何交易活動(dòng)。與憑借可信第三方來(lái)存儲(chǔ)交易記錄的傳統(tǒng)數(shù)據(jù)庫(kù)不同,區(qū)塊鏈工作在分布式集合的節(jié)點(diǎn)上,每個(gè)單獨(dú)的節(jié)點(diǎn)都有網(wǎng)絡(luò)中正在執(zhí)行的交易信息。區(qū)塊鏈網(wǎng)絡(luò)中每完成一個(gè)交易,存儲(chǔ)在分布式賬本上的交易信息就被復(fù)制到所有區(qū)塊鏈節(jié)點(diǎn)上。本質(zhì)上,區(qū)塊鏈網(wǎng)絡(luò)由一組名為礦工的節(jié)點(diǎn)負(fù)責(zé)在無(wú)信任分布式環(huán)境中通過(guò)共識(shí)機(jī)制維護(hù)所有交易的可信記錄。

      2.1 哈希算法

      哈希算法(HASH),即哈希函數(shù),設(shè)計(jì)了一組復(fù)雜的數(shù)據(jù)運(yùn)算和計(jì)算規(guī)則,它們將隨機(jī)長(zhǎng)度的輸入消息轉(zhuǎn)換為固定長(zhǎng)度的摘要。哈希函數(shù)的以下特性使得它的輸出具有唯一性。

      (1)從散列值通過(guò)逆向工程重構(gòu)原始消息幾乎是不可能的。

      (2)輸入的一個(gè)位變化可以改變哈希中一半以上的位,從而產(chǎn)生完全不同的輸出。

      (3)算法有能力將任何冗長(zhǎng)的輸入壓縮到固定大小的輸出。

      (4)為兩個(gè)不同的輸入消息查找相同的散列在計(jì)算機(jī)上不可行。

      2.2 實(shí)用拜占庭容錯(cuò)共識(shí)算法

      共識(shí)機(jī)制是區(qū)塊鏈系統(tǒng)在不可信的環(huán)境中達(dá)成一致的重要協(xié)議,其中,實(shí)用拜占庭容錯(cuò)(Practical Byzantine Fault Tolerance,PBFT) 共識(shí)算法在聯(lián)盟鏈中得到了廣泛應(yīng)用。PBFT 算法考慮了區(qū)塊鏈網(wǎng)絡(luò)中的拜占庭將軍問(wèn)題[17]。拜占庭容錯(cuò)假設(shè)節(jié)點(diǎn)可能出現(xiàn)網(wǎng)絡(luò)故障、停機(jī)和其他非人為行為,不斷地尋找網(wǎng)絡(luò)中漏洞的節(jié)點(diǎn)和故障惡意節(jié)點(diǎn)并將其排除在外[18]。因此,PBFT 算法的目標(biāo)是在節(jié)點(diǎn)失效的情況下,減少這些惡意節(jié)點(diǎn)的影響,并試圖通過(guò)重復(fù)投票在網(wǎng)絡(luò)上實(shí)現(xiàn)全局一致。Lamport等在假設(shè)誤差的情況下考察了達(dá)成這一協(xié)議的概率,證明PBFT共識(shí)算法只有在至少三分之二的網(wǎng)絡(luò)節(jié)點(diǎn)是誠(chéng)實(shí)的情況下才能抵抗拜占庭錯(cuò)誤。因此,假設(shè)n代表整個(gè)共識(shí)節(jié)點(diǎn)數(shù)量,f代表所有拜占庭節(jié)點(diǎn)數(shù)量,那么當(dāng)n≥3f+ 1 時(shí),就能達(dá)成共識(shí)。PBFT協(xié)議流程(圖1)如下:

      圖1 PBFT共識(shí)算法流程

      (1)共識(shí)節(jié)點(diǎn)依次擔(dān)任主節(jié)點(diǎn),主節(jié)點(diǎn)負(fù)責(zé)創(chuàng)建一個(gè)新的候選塊。

      (2)主節(jié)點(diǎn)將候選塊廣播給其他共識(shí)節(jié)點(diǎn)。

      (3)每個(gè)接收到塊的節(jié)點(diǎn)都會(huì)驗(yàn)證該記錄,并廣播一個(gè)準(zhǔn)備消息。

      (4)在收到足夠數(shù)量的準(zhǔn)備消息(消息總數(shù)超過(guò)整個(gè)節(jié)點(diǎn)的三分之二)后,計(jì)算每個(gè)消息的確認(rèn)消息,并將其廣播給所有節(jié)點(diǎn)。

      (5)如果收到的確認(rèn)消息數(shù)量超過(guò)總數(shù)的三分之二,則節(jié)點(diǎn)對(duì)提議的塊達(dá)成一致。

      2.3 智能合約

      智能合約由尼科薩伯于上個(gè)世紀(jì)末提出,其思想是將法律條文寫(xiě)成可執(zhí)行代碼,是根據(jù)協(xié)定自動(dòng)化執(zhí)行代碼的計(jì)算機(jī)協(xié)議。但由于早期計(jì)算條件并未成熟,應(yīng)用場(chǎng)景相對(duì)狹窄,因此智能合約技術(shù)一直沒(méi)能實(shí)現(xiàn)。直到區(qū)塊鏈技術(shù)的出現(xiàn)才重新定義了智能合約,區(qū)塊鏈借助智能合約的可編程特點(diǎn)實(shí)現(xiàn)復(fù)雜的邏輯功能,智能合約借助區(qū)塊鏈的去中心化特點(diǎn)得以真正實(shí)現(xiàn)其價(jià)值功能。因此區(qū)塊鏈成了智能合約應(yīng)用最有效且最廣泛的場(chǎng)景。

      本質(zhì)上,智能合約是一段運(yùn)行在區(qū)塊鏈上的代碼,由區(qū)塊鏈的礦工節(jié)點(diǎn)執(zhí)行,在觸發(fā)條件發(fā)生時(shí)將自動(dòng)執(zhí)行并被全網(wǎng)節(jié)點(diǎn)共識(shí)。智能合約部署后被編譯為二進(jìn)制代碼,并存儲(chǔ)在區(qū)塊鏈的特定地址上,一旦部署到鏈上,任何人都無(wú)法不留痕跡地修改智能合約。智能合約的另一個(gè)關(guān)鍵優(yōu)勢(shì)是,它可以在沒(méi)有人工干預(yù)的情況下運(yùn)行,被觸發(fā)后可以在每個(gè)節(jié)點(diǎn)上獨(dú)立自動(dòng)執(zhí)行一個(gè)函數(shù)。假設(shè)區(qū)塊鏈的基本共識(shí)算法是安全的,則智能合約可以被認(rèn)為是一個(gè)由可信的全局機(jī)器執(zhí)行的程序,它將忠實(shí)地執(zhí)行每條指令。智能合約執(zhí)行機(jī)制如圖2所示。

      圖2 智能合約原型

      3 基于區(qū)塊鏈的科學(xué)數(shù)據(jù)匯交存證模型

      3.1 科技計(jì)劃項(xiàng)目數(shù)據(jù)匯交業(yè)務(wù)流程

      《科技計(jì)劃項(xiàng)目科學(xué)數(shù)據(jù)匯交工作方案(試行)》對(duì)科技計(jì)劃項(xiàng)目數(shù)據(jù)匯交流程進(jìn)行了明確規(guī)定??萍加?jì)劃項(xiàng)目數(shù)據(jù)匯交流程分為匯交方案編制、實(shí)體數(shù)據(jù)匯交和數(shù)據(jù)匯交驗(yàn)收三個(gè)階段(圖3)。在數(shù)據(jù)匯交方案編制階段,由項(xiàng)目組按照任務(wù)書(shū)和項(xiàng)目實(shí)際執(zhí)行情況編制《項(xiàng)目基本信息表》《科學(xué)數(shù)據(jù)匯交方案》和元數(shù)據(jù)表,提交到相應(yīng)的國(guó)家科學(xué)數(shù)據(jù)中心進(jìn)行專(zhuān)家審核,通過(guò)后進(jìn)入實(shí)體數(shù)據(jù)匯交階段,項(xiàng)目組依據(jù)《科學(xué)數(shù)據(jù)匯交方案》準(zhǔn)備科學(xué)數(shù)據(jù)實(shí)體,編制說(shuō)明文檔,連同軟件工具一起提交至數(shù)據(jù)中心進(jìn)行審核,專(zhuān)家對(duì)提交的實(shí)體文件的完整性、規(guī)范性、一致性和數(shù)據(jù)質(zhì)量進(jìn)行審核。審核通過(guò)后進(jìn)入?yún)R交驗(yàn)收階段,數(shù)據(jù)中心依據(jù)實(shí)際匯交內(nèi)容和數(shù)據(jù)量開(kāi)具數(shù)據(jù)匯交驗(yàn)收證明。

      圖3 科技計(jì)劃項(xiàng)目數(shù)據(jù)匯交業(yè)務(wù)流程

      3.2 匯交存證模型設(shè)計(jì)

      基于聯(lián)盟鏈的優(yōu)勢(shì),本文提出一種結(jié)合聯(lián)盟鏈、智能合約、密碼學(xué)技術(shù)的數(shù)據(jù)匯交存證模型,該模型的主體是由數(shù)據(jù)中心節(jié)點(diǎn)和分中心節(jié)點(diǎn)構(gòu)成的多主體聯(lián)盟鏈(圖4)。其中,數(shù)據(jù)中心作為聯(lián)盟鏈的主節(jié)點(diǎn),負(fù)責(zé)聯(lián)盟鏈的運(yùn)行和維護(hù)工作,包括節(jié)點(diǎn)的準(zhǔn)入退出與認(rèn)證、執(zhí)行共識(shí)算法、設(shè)計(jì)與部署智能合約、區(qū)塊鏈運(yùn)行監(jiān)管等,在業(yè)務(wù)上負(fù)責(zé)科技計(jì)劃項(xiàng)目的數(shù)據(jù)匯交與管理的總體工作。分節(jié)點(diǎn)是數(shù)據(jù)中心的共建單位,如科研院所、高校和企業(yè),主要協(xié)助主節(jié)點(diǎn)管理運(yùn)行聯(lián)盟鏈,在業(yè)務(wù)功能方面,參與數(shù)據(jù)匯交的收集、整合和處理工作??萍加?jì)劃項(xiàng)目數(shù)據(jù)匯交存證模型以網(wǎng)絡(luò)結(jié)構(gòu)為基礎(chǔ)進(jìn)行數(shù)據(jù)的存證過(guò)程,需要實(shí)現(xiàn)數(shù)據(jù)上鏈、數(shù)據(jù)一致性驗(yàn)證、匯交流程歷史追溯等功能,其中數(shù)據(jù)上鏈?zhǔn)菍?shù)據(jù)實(shí)體存儲(chǔ)到本地?cái)?shù)據(jù)庫(kù),數(shù)據(jù)摘要與詳細(xì)信息存儲(chǔ)到區(qū)塊鏈的過(guò)程;數(shù)據(jù)一致性驗(yàn)證需要對(duì)本地?cái)?shù)據(jù)庫(kù)存儲(chǔ)的數(shù)據(jù)與區(qū)塊鏈上的數(shù)字摘要進(jìn)行對(duì)比驗(yàn)證;匯交流程歷史追溯包括匯交關(guān)鍵文件歷史版本的追溯。模型從業(yè)務(wù)流程設(shè)計(jì)、底層數(shù)據(jù)結(jié)構(gòu)、智能合約和安全防護(hù)機(jī)制四個(gè)方面描述,包括匯交存證流程設(shè)計(jì)、數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)、智能合約設(shè)計(jì)和安全機(jī)制四個(gè)主要模塊。

      圖4 基于區(qū)塊鏈的科技計(jì)劃項(xiàng)目數(shù)據(jù)匯交存證模型

      3.3 匯交存證流程設(shè)計(jì)

      匯交存證模型在傳統(tǒng)的匯交系統(tǒng)基礎(chǔ)上引入?yún)^(qū)塊鏈技術(shù),具體匯交存證流程如圖5所示。

      圖5 基于區(qū)塊鏈的科技計(jì)劃項(xiàng)目數(shù)據(jù)匯交流程

      (1)用戶(hù)上傳科技計(jì)劃項(xiàng)目數(shù)據(jù)匯交所需的關(guān)鍵文件/數(shù)據(jù)集,其中關(guān)鍵文件是指項(xiàng)目組提交的《項(xiàng)目基本信息表》和《項(xiàng)目匯交方案》及審核工作組反饋的《審核意見(jiàn)表》和《驗(yàn)收證明》,數(shù)據(jù)集是指項(xiàng)目所產(chǎn)生的科學(xué)數(shù)據(jù)集。

      (2)生成存證內(nèi)容摘要。使用哈希算法將隨機(jī)長(zhǎng)度的輸入消息轉(zhuǎn)換為固定長(zhǎng)度的摘要輸出,首先對(duì)消息進(jìn)行補(bǔ)位處理,使得最終長(zhǎng)度是512的倍數(shù),之后以512 為單位將消息分塊為M( 1) ,M( 2 ),…,M(N),最終分解成N個(gè)消息模塊,然后按照映射方式進(jìn)行N次迭代,得到H(N),即256 位消息摘要。哈希算法通過(guò)計(jì)算數(shù)據(jù)內(nèi)容摘要,得到一個(gè)固定長(zhǎng)度的字符串,相同的數(shù)據(jù)經(jīng)過(guò)相同的哈希計(jì)算能得到相同的摘要,所以可以在只存儲(chǔ)摘要的情況下,驗(yàn)證原始數(shù)據(jù)的完整性。同時(shí),在沒(méi)有找到碰撞的情況下,哈希計(jì)算是一個(gè)不可逆的過(guò)程,公開(kāi)和存儲(chǔ)摘要并不會(huì)泄露原始數(shù)據(jù)的內(nèi)容。

      (3)對(duì)摘要進(jìn)行數(shù)字簽名。使用用戶(hù)私鑰sk對(duì)哈希計(jì)算后的摘要進(jìn)行加密計(jì)算得到數(shù)字簽名DS,作為簽名者對(duì)存證數(shù)據(jù)內(nèi)容確認(rèn)的憑證,簽名私鑰由簽名者自己保管,只有自己才能進(jìn)行加密。

      (4)打包區(qū)塊并上鏈。簽名后的存證信息以發(fā)布交易的形式發(fā)送給聯(lián)盟鏈網(wǎng)絡(luò)的每個(gè)節(jié)點(diǎn),礦工接收到之后,通過(guò)用戶(hù)之前提供的公鑰對(duì)交易進(jìn)行簽名確認(rèn),將所有數(shù)據(jù)打包進(jìn)區(qū)塊,完成數(shù)據(jù)上鏈存證。

      3.4 數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)

      考慮到區(qū)塊鏈區(qū)塊大小限制及數(shù)據(jù)量大的特點(diǎn),如果數(shù)據(jù)實(shí)體上鏈,會(huì)導(dǎo)致區(qū)塊鏈運(yùn)行載荷過(guò)大,無(wú)法保證系統(tǒng)的效率。因此,模型將數(shù)據(jù)實(shí)體存儲(chǔ)在本地?cái)?shù)據(jù)庫(kù),使用SHA256 算法將輸入的數(shù)據(jù)實(shí)體映射為256 位的固定長(zhǎng)度輸出,并生成交易信息,以?xún)蓚€(gè)交易為一組,分別計(jì)算出哈希值再合成新的哈希值,以此類(lèi)推,最終計(jì)算出唯一哈希值,存儲(chǔ)到區(qū)塊鏈中。這種方式一方面以較低的時(shí)間和計(jì)算成本將不同類(lèi)型和大小的數(shù)據(jù)轉(zhuǎn)化為256 位的摘要,大大減小了鏈上所占空間;另一方面在降低系統(tǒng)網(wǎng)絡(luò)負(fù)荷的同時(shí),也能使系統(tǒng)更加安全和高效。區(qū)塊鏈可以維護(hù)不可篡改的和不斷增長(zhǎng)的數(shù)據(jù)塊,這些數(shù)據(jù)塊通過(guò)密碼技術(shù)進(jìn)行了關(guān)聯(lián)和驗(yàn)證。圖6 給出了鏈上區(qū)塊的數(shù)據(jù)結(jié)構(gòu),區(qū)塊包括區(qū)塊頭和區(qū)塊體兩部分,區(qū)塊頭存儲(chǔ)著區(qū)塊的頭信息,包括上一個(gè)區(qū)塊的哈希值、當(dāng)前區(qū)塊的哈希值、時(shí)間戳和默克爾樹(shù)(Merkle Tree)的根(Merkle Root)等信息。區(qū)塊體是一棵存儲(chǔ)交易記錄的默克爾樹(shù),默克爾樹(shù)的葉子節(jié)點(diǎn)存儲(chǔ)的是交易,交易存儲(chǔ)的是數(shù)據(jù)摘要和數(shù)據(jù)信息,并附上了簽名和時(shí)間戳,而非葉子節(jié)點(diǎn)存儲(chǔ)的是其子節(jié)點(diǎn)的散列值,直到在樹(shù)的頂部只構(gòu)建一個(gè)根節(jié)點(diǎn),即Merkle Root。整個(gè)交易記錄的散列值構(gòu)成了區(qū)塊的主要組成部分,數(shù)據(jù)的任何變化都會(huì)改變它的散列值,從而可以發(fā)現(xiàn)數(shù)據(jù)被篡改,由此保證了數(shù)據(jù)的可驗(yàn)證性。

      圖6 區(qū)塊存儲(chǔ)結(jié)構(gòu)

      3.5 智能合約設(shè)計(jì)

      基于提出的匯交存證模型,本節(jié)給出了匯交存證過(guò)程中的三個(gè)智能合約結(jié)構(gòu)和作用,包括匯交流程管理合約(Handover Contract,HC)、數(shù)據(jù)存證合約(Store Contract,SC)和數(shù)據(jù)校驗(yàn)合約(Verify Contract,VC)。

      匯交流程管理合約作為聯(lián)盟鏈中的全局合約,由存證方事前約定,存儲(chǔ)存證的生成條件包括合法的用戶(hù)地址、匯交終止時(shí)間及匯交詳細(xì)內(nèi)容信息,合約用于控制匯交的流程并管理匯交數(shù)據(jù)存證的生成,匯交的時(shí)間節(jié)點(diǎn)由智能合約控制,保證每個(gè)階段的操作都按合約執(zhí)行,沒(méi)有人為干預(yù),以此來(lái)保障數(shù)據(jù)匯交流程的規(guī)范性。

      HC偽代碼如下所示。

      算法1:

      數(shù)據(jù)存證合約由數(shù)據(jù)存證管理合約生成,實(shí)現(xiàn)匯交流程中文件、數(shù)據(jù)集和驗(yàn)收證明三種文件的上鏈,存儲(chǔ)內(nèi)容包含存證id,type,Hash 值和簽名等字段,每次存證均需生成一個(gè)合約。

      SC偽代碼如下所示。

      算法2:

      數(shù)據(jù)校驗(yàn)合約用于驗(yàn)證鏈上鏈下數(shù)據(jù)的一致性,輸入文件驗(yàn)證的請(qǐng)求,獲取待核驗(yàn)數(shù)據(jù)的鏈上地址,查詢(xún)出鏈上存儲(chǔ)的信息。比對(duì)存證系統(tǒng)中的數(shù)據(jù)和鏈上獲取得到數(shù)據(jù)是否一致,并輸出文件驗(yàn)證結(jié)果。

      VC偽代碼如下所示。

      算法3:

      3.6 安全機(jī)制

      區(qū)塊鏈網(wǎng)絡(luò)中數(shù)據(jù)篡改可能發(fā)生在數(shù)據(jù)傳輸以及賬本存儲(chǔ)兩個(gè)階段。在數(shù)據(jù)傳輸過(guò)程中數(shù)據(jù)包由數(shù)據(jù)明文+數(shù)字簽名形式組成,節(jié)點(diǎn)接收到數(shù)據(jù)包后可根據(jù)數(shù)字簽名對(duì)數(shù)據(jù)明文進(jìn)行驗(yàn)證,以達(dá)到防篡改功能。

      在傳統(tǒng)系統(tǒng)中,數(shù)據(jù)庫(kù)攻擊/泄露是攻擊者主要的攻擊方式,攻擊者通過(guò)修改數(shù)據(jù)庫(kù)數(shù)據(jù)達(dá)到攻擊目的。在本系統(tǒng)中,需要保證區(qū)塊鏈賬本存儲(chǔ)數(shù)據(jù)完整性及真實(shí)性,惡意節(jié)點(diǎn)會(huì)通過(guò)修改本地賬本數(shù)據(jù)進(jìn)行數(shù)據(jù)篡改,本系統(tǒng)采用PBFT共識(shí)機(jī)制,假如節(jié)點(diǎn)總數(shù)為n,故障節(jié)點(diǎn)數(shù)為f,當(dāng)n>3f時(shí)才能達(dá)成拜占庭協(xié)定,即算法在失效節(jié)點(diǎn)數(shù)量f

      4 匯交存證系統(tǒng)設(shè)計(jì)

      4.1 架構(gòu)設(shè)計(jì)

      基于區(qū)塊鏈的科學(xué)數(shù)據(jù)匯交存證系統(tǒng)架構(gòu)如圖7 所示,聯(lián)盟鏈作為底層基礎(chǔ)設(shè)施,通過(guò)接口層及智能合約與現(xiàn)有科學(xué)數(shù)據(jù)中心匯交業(yè)務(wù)系統(tǒng)進(jìn)行連接,為用戶(hù)層提供業(yè)務(wù)服務(wù)。

      圖7 基于區(qū)塊鏈的科學(xué)數(shù)據(jù)匯交存證系統(tǒng)架構(gòu)

      (1)用戶(hù)層

      用戶(hù)層主要涉及四類(lèi)用戶(hù)角色:科技計(jì)劃項(xiàng)目數(shù)據(jù)匯交組、審核專(zhuān)家、普通用戶(hù)和系統(tǒng)管理員角色,用戶(hù)角色定義如下。

      科技計(jì)劃項(xiàng)目數(shù)據(jù)匯交組是匯交業(yè)務(wù)的關(guān)鍵主體,進(jìn)行材料撰寫(xiě)、上傳、修改和數(shù)據(jù)上傳等操作,可以通過(guò)查看鏈上匯交流程關(guān)鍵文件存證信息追溯匯交全流程,通過(guò)對(duì)比鏈上數(shù)據(jù)集Hash值驗(yàn)證數(shù)據(jù)的完整性和一致性。

      審核專(zhuān)家負(fù)責(zé)根據(jù)數(shù)據(jù)中心的工作分配進(jìn)行材料和數(shù)據(jù)盲審,并將審核結(jié)果上鏈。

      普通用戶(hù)是科學(xué)數(shù)據(jù)的申請(qǐng)者和使用者,通過(guò)對(duì)比鏈上數(shù)據(jù)集Hash 值驗(yàn)證共享得到的數(shù)據(jù)的完整性和一致性。

      系統(tǒng)管理員對(duì)匯交全過(guò)程進(jìn)行流程控制,負(fù)責(zé)數(shù)據(jù)的上鏈操作、區(qū)塊鏈系統(tǒng)的運(yùn)行、管理和維護(hù)。

      (2)應(yīng)用層

      匯交存證系統(tǒng)融合了存證系統(tǒng)和原有的匯交平臺(tái),包括用戶(hù)界面及特定的匯交業(yè)務(wù)功能,也包括與底層區(qū)塊鏈基礎(chǔ)平臺(tái)相關(guān)的數(shù)據(jù)上鏈、查詢(xún)、驗(yàn)證等功能。業(yè)務(wù)系統(tǒng)通過(guò)觸發(fā)接口層的智能合約調(diào)用,與區(qū)塊鏈基礎(chǔ)平臺(tái)交互。

      (3)區(qū)塊鏈層

      區(qū)塊鏈基礎(chǔ)平臺(tái)是該架構(gòu)的核心組件,由多個(gè)節(jié)點(diǎn)的P2P 網(wǎng)絡(luò)組成,提供共識(shí)機(jī)制、分布式存儲(chǔ)、智能合約、加密體系、節(jié)點(diǎn)管理、運(yùn)維監(jiān)控等網(wǎng)絡(luò)管理服務(wù)。區(qū)塊鏈服務(wù)層中,基于共識(shí)機(jī)制,各節(jié)點(diǎn)按照嚴(yán)格的PBFT 算法規(guī)則更新區(qū)塊信息,以區(qū)塊為單位按時(shí)間順序?qū)R交信息及數(shù)據(jù)資源以交易的形式進(jìn)行鏈?zhǔn)酱鎯?chǔ),每條交易都包含時(shí)間戳、交易內(nèi)容和數(shù)字簽名,支持實(shí)時(shí)驗(yàn)證與追溯,從而達(dá)成信息共享、多方?jīng)Q策一致,保證了數(shù)據(jù)的可信性和節(jié)點(diǎn)的一致性。區(qū)塊鏈服務(wù)層可以將區(qū)塊鏈服務(wù)封裝成一系列數(shù)據(jù)接口,接收到調(diào)用命令后,平臺(tái)將采用虛擬化技術(shù)啟動(dòng)、運(yùn)行合約代碼,響應(yīng)數(shù)據(jù)上鏈和區(qū)塊記錄查詢(xún)功能。

      4.2 系統(tǒng)功能設(shè)計(jì)

      匯交存證平臺(tái)鏈接系統(tǒng)各模塊與底層區(qū)塊鏈網(wǎng)絡(luò)及數(shù)據(jù)庫(kù),存證服務(wù)是功能核心,包括數(shù)據(jù)上鏈、數(shù)據(jù)查詢(xún)、數(shù)據(jù)驗(yàn)證的實(shí)現(xiàn),該功能需要對(duì)接FISCO BCOS區(qū)塊鏈網(wǎng)絡(luò)及節(jié)點(diǎn),利用智能合約服務(wù)實(shí)現(xiàn)數(shù)據(jù)數(shù)字摘要存證、分布式存儲(chǔ)以及查詢(xún)與驗(yàn)證。

      (1)數(shù)據(jù)上鏈

      數(shù)據(jù)上鏈功能是用戶(hù)將匯交流程產(chǎn)生的信息存儲(chǔ)至區(qū)塊鏈網(wǎng)絡(luò),具體流程如圖8 所示。用戶(hù)在登錄系統(tǒng)后,上傳待存證的匯交數(shù)據(jù)、文件與項(xiàng)目信息,系統(tǒng)調(diào)用SHA256 算法計(jì)算數(shù)據(jù)數(shù)字摘要,之后對(duì)摘要進(jìn)行簽名,調(diào)用區(qū)塊鏈的交易處理接口,進(jìn)行存證合約的調(diào)用,實(shí)現(xiàn)存證數(shù)據(jù)哈希上鏈。最后,將鏈上信息和合約地址返回給用戶(hù)。

      圖8 數(shù)據(jù)上鏈流程圖

      (2)數(shù)據(jù)驗(yàn)證

      數(shù)據(jù)一致性驗(yàn)證用于在上傳匯交數(shù)據(jù)后,提供該數(shù)據(jù)的存證信息,同時(shí)證明該數(shù)據(jù)的真實(shí)性和完整性。一致性驗(yàn)證流程如圖9 所示,用戶(hù)登錄系統(tǒng)后選擇要進(jìn)行一致性驗(yàn)證的數(shù)據(jù),獲取其上鏈地址,根據(jù)合約地址調(diào)用查詢(xún)交易發(fā)送接口,查詢(xún)出鏈上存儲(chǔ)的上鏈信息,對(duì)比本地?cái)?shù)據(jù)庫(kù)中的數(shù)據(jù)摘要與鏈上獲取到的數(shù)據(jù)摘要是否一致,如一致,即驗(yàn)證通過(guò),否則,則表明本地?cái)?shù)據(jù)被篡改,驗(yàn)證失敗。

      圖9 數(shù)據(jù)驗(yàn)證流程圖

      5 應(yīng)用實(shí)例

      基于區(qū)塊鏈的海洋科學(xué)數(shù)據(jù)匯交平臺(tái)已在國(guó)家海洋科學(xué)數(shù)據(jù)中心部署并對(duì)外服務(wù)。平臺(tái)采用微服務(wù)架構(gòu)、模塊化技術(shù)封裝研發(fā),可獨(dú)立或作為集成插件運(yùn)行。如圖10 所示,基于該平臺(tái),海洋科學(xué)數(shù)據(jù)中心已部署4 個(gè)節(jié)點(diǎn),完成15 個(gè)科技計(jì)劃項(xiàng)目236 個(gè)數(shù)據(jù)集的上鏈,通過(guò)驗(yàn)證31 次,每個(gè)完成匯交的項(xiàng)目都有唯一的鏈上驗(yàn)收證明Hash 值,可以用來(lái)驗(yàn)證驗(yàn)收證明的合法性,若驗(yàn)證不一致,則證明驗(yàn)收證明信息被篡改或該項(xiàng)目并沒(méi)有完成驗(yàn)收。

      圖10 基于區(qū)塊鏈的海洋科學(xué)數(shù)據(jù)匯交平臺(tái)頁(yè)面

      科技計(jì)劃項(xiàng)目的每個(gè)數(shù)據(jù)集都有唯一的鏈上Hash值,圖11為數(shù)據(jù)集的鏈上存證詳情信息,該交易記錄了項(xiàng)目的基本信息、數(shù)據(jù)集的Hash 值和交易時(shí)間。交易一旦上鏈就不會(huì)發(fā)生改變,項(xiàng)目的基本信息確定了該數(shù)據(jù)集的生產(chǎn)者,避免了權(quán)屬爭(zhēng)議問(wèn)題;數(shù)據(jù)集的Hash 值用來(lái)驗(yàn)證本地?cái)?shù)據(jù)集是否被篡改,時(shí)間戳則記錄了該數(shù)據(jù)集的上鏈時(shí)間。

      圖11 鏈上存證信息詳情

      6 總結(jié)與展望

      隨著科技計(jì)劃項(xiàng)目數(shù)據(jù)匯交工作的不斷推進(jìn),相關(guān)科技成果和科學(xué)數(shù)據(jù)的服務(wù)管理愈發(fā)重要。本文利用區(qū)塊鏈技術(shù),設(shè)計(jì)了一個(gè)適用于海洋科學(xué)數(shù)據(jù)的匯交存證模型,基于Fisco bcos 框架研發(fā)了區(qū)塊鏈匯交存證服務(wù)平臺(tái),實(shí)現(xiàn)了涉??萍加?jì)劃項(xiàng)目匯交數(shù)據(jù)上鏈、數(shù)據(jù)一致性校驗(yàn)及匯交流程追溯等功能,不僅有效地解決了項(xiàng)目組與數(shù)據(jù)中心之間的信任問(wèn)題,而且加強(qiáng)了傳統(tǒng)匯交平臺(tái)的安全性,為科學(xué)數(shù)據(jù)的開(kāi)放共享服務(wù)提供了更加可信的數(shù)據(jù),為解決科技計(jì)劃項(xiàng)目數(shù)據(jù)匯交過(guò)程中的數(shù)據(jù)確權(quán)、版本管理、可信共享和溯源驗(yàn)證等問(wèn)題提供了區(qū)塊鏈服務(wù)新模式。

      本文構(gòu)建的海洋科學(xué)數(shù)據(jù)匯交存證平臺(tái)是區(qū)塊鏈技術(shù)應(yīng)用于科學(xué)數(shù)據(jù)的初步探索,科學(xué)數(shù)據(jù)開(kāi)放共享是數(shù)據(jù)匯交的最終目的和結(jié)果,目前數(shù)據(jù)孤島的存在嚴(yán)重制約海洋信息化發(fā)展及“智慧海洋”工程建設(shè),后續(xù)將繼續(xù)開(kāi)展海洋數(shù)據(jù)安全可信共享服務(wù)研究。隨著數(shù)據(jù)成為五大生產(chǎn)要素之一,必須要解決數(shù)據(jù)自身的確權(quán)、流通、隱私保護(hù)問(wèn)題,區(qū)塊鏈技術(shù)作為多主體協(xié)同治理的技術(shù)突破路徑,適于解決數(shù)據(jù)共享與流通、數(shù)據(jù)交易中的互信、隱私數(shù)據(jù)保護(hù)、產(chǎn)權(quán)確認(rèn)等問(wèn)題,因此,區(qū)塊鏈相關(guān)技術(shù)背景下的多主體海洋數(shù)據(jù)共享、數(shù)據(jù)交易將是后續(xù)的研究重點(diǎn)。

      猜你喜歡
      哈希合約數(shù)據(jù)中心
      酒泉云計(jì)算大數(shù)據(jù)中心
      民航綠色云數(shù)據(jù)中心PUE控制
      基于OpenCV與均值哈希算法的人臉相似識(shí)別系統(tǒng)
      基于維度分解的哈希多維快速流分類(lèi)算法
      基于云計(jì)算的交通運(yùn)輸數(shù)據(jù)中心實(shí)現(xiàn)與應(yīng)用
      基于同態(tài)哈希函數(shù)的云數(shù)據(jù)完整性驗(yàn)證算法
      Overlay Network技術(shù)在云計(jì)算數(shù)據(jù)中心中的應(yīng)用
      河南科技(2014年11期)2014-02-27 14:16:49
      一種基于Bigram二級(jí)哈希的中文索引結(jié)構(gòu)
      合約必守,誰(shuí)能例外!——對(duì)“情勢(shì)變更”制度不可寄于過(guò)高期望
      南京市| 卓资县| 襄樊市| 宁阳县| 益阳市| 漳浦县| 成武县| 伊宁市| 读书| 乌恰县| 泸州市| 安徽省| 邹平县| 齐河县| 醴陵市| 清远市| 开原市| 南江县| 保靖县| 方山县| 乐至县| 体育| 天水市| 铜山县| 平江县| 华安县| 慈利县| 论坛| 普格县| 安达市| 无为县| 高尔夫| 偏关县| 垫江县| 谢通门县| 蒙阴县| 花垣县| 富阳市| 塘沽区| 衡山县| 台南市|