• 
    

    
    

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

      ?

      基于區(qū)塊鏈技術(shù)構(gòu)建高校可信數(shù)據(jù)服務(wù)應(yīng)用

      2023-12-13 01:15:54楊春節(jié)
      關(guān)鍵詞:背書數(shù)據(jù)服務(wù)哈希

      楊春節(jié)①

      (安徽農(nóng)業(yè)大學(xué) 信息化辦公室,安徽 合肥 230036)

      0 引言

      進(jìn)一步改進(jìn)區(qū)塊鏈的開發(fā)方式,采用接口技術(shù),提供簡單易用、語言無關(guān)性的區(qū)塊鏈服務(wù)接口,簡化傳統(tǒng)信息系統(tǒng)與區(qū)塊鏈集成,實(shí)現(xiàn)數(shù)據(jù)上鏈、驗(yàn)證、防篡改,可以推動(dòng)在高校信息化建設(shè)中普及區(qū)塊鏈技術(shù),加強(qiáng)數(shù)據(jù)監(jiān)管,建設(shè)可信數(shù)據(jù)。但當(dāng)前高??尚艛?shù)據(jù)建設(shè)步驟極其緩慢,應(yīng)用區(qū)塊鏈技術(shù)仍處于探索階段,主要原因歸結(jié)于:(1)可信數(shù)據(jù)服務(wù)建設(shè)需要投入大量研發(fā)成本,軟件廠商并未將區(qū)塊鏈技術(shù)納入到軟件設(shè)計(jì)范圍,主動(dòng)應(yīng)用區(qū)塊鏈技術(shù)的積極性不高;(2)高校在全局可信數(shù)據(jù)建設(shè)方面不完善,普遍未建設(shè)可信數(shù)據(jù)基礎(chǔ)設(shè)施及面向第三方信息系統(tǒng)的可信數(shù)據(jù)接入服務(wù);(3)有利于可信數(shù)據(jù)建設(shè)的區(qū)塊鏈技術(shù)應(yīng)用具有一定的技術(shù)門檻。信息系統(tǒng)開發(fā)及應(yīng)用中融合區(qū)塊鏈技術(shù)是提升數(shù)據(jù)安全的一條有效途徑,數(shù)據(jù)上鏈及鏈上數(shù)據(jù)校驗(yàn)可以加強(qiáng)信息系統(tǒng)數(shù)據(jù)的安全管理和監(jiān)測;高校傳統(tǒng)信息系統(tǒng)眾多,均以中心化數(shù)據(jù)庫模式部署,公司運(yùn)維人員對(duì)數(shù)據(jù)的管理權(quán)限過大,開發(fā)廠商在產(chǎn)品設(shè)計(jì)時(shí)過多地信賴中心化模式,而沒有考慮其中的各種風(fēng)險(xiǎn)。信息技術(shù)發(fā)展的同時(shí),網(wǎng)絡(luò)安全和數(shù)據(jù)安全面臨的情況也變得更加復(fù)雜,其中有黑客攻擊行為,也有刪庫跑路等工作人員行為,由此也帶來各種數(shù)據(jù)風(fēng)險(xiǎn)及中心化數(shù)據(jù)權(quán)威性等信任問題。圍繞這一問題,國內(nèi)外研究學(xué)者開展諸多研究,也取得很多創(chuàng)造性的成果,如在數(shù)據(jù)采集、存儲(chǔ)、應(yīng)用等過程中優(yōu)化加密算法[1]、應(yīng)用區(qū)塊鏈[2]和密碼技術(shù)[3]等來提高數(shù)據(jù)安全和可信。其中區(qū)塊鏈具有去中心化、數(shù)據(jù)透明可追蹤、不可篡改和偽造等特點(diǎn),已成為學(xué)術(shù)界和工業(yè)界的研究熱點(diǎn)。在相關(guān)研究中,區(qū)塊鏈關(guān)鍵技術(shù)、區(qū)塊鏈安全、智能合約、基于區(qū)塊鏈的信息系統(tǒng)開發(fā)等研究較多,但在高校信息化中為傳統(tǒng)信息系統(tǒng)提供區(qū)塊鏈支撐服務(wù),簡化傳統(tǒng)信息系統(tǒng)接入?yún)^(qū)塊鏈、加強(qiáng)數(shù)據(jù)安全可信的研究較少。蔡維德等[4]實(shí)現(xiàn)Java版的區(qū)塊鏈連接器—JBCC,給傳統(tǒng)信息系統(tǒng)引入?yún)^(qū)塊鏈技術(shù)提供可借鑒的方法,但這需要傳統(tǒng)軟件開發(fā)團(tuán)隊(duì)進(jìn)一步掌握區(qū)塊鏈技術(shù)。朱昱錦等[5]提出的“云計(jì)算讓傳統(tǒng)信息行業(yè)變得前所未有的便捷。利用云計(jì)算所提供的服務(wù),只需要簡單的開發(fā)工作,便可以完成需要大量研發(fā)和運(yùn)營時(shí)間成本的任務(wù)”。區(qū)塊鏈即服務(wù),簡化區(qū)塊鏈應(yīng)用是普及區(qū)塊鏈技術(shù)的一條有效途徑。本研究從高校信息化建設(shè)實(shí)際出發(fā),立足可普及性,側(cè)重應(yīng)用推廣,進(jìn)一步簡化區(qū)塊鏈的應(yīng)用門檻,傳統(tǒng)信息系統(tǒng)開發(fā)者可以以熟悉的接口技術(shù)使用區(qū)塊鏈加強(qiáng)原系統(tǒng)的數(shù)據(jù)安全,而無須了解區(qū)塊鏈的技術(shù)原理和實(shí)現(xiàn)過程,研究成果對(duì)促進(jìn)區(qū)塊鏈在高??尚艛?shù)據(jù)建設(shè)方面具有較好的促進(jìn)作用和推廣價(jià)值。

      1 關(guān)鍵技術(shù)

      1.1 區(qū)塊鏈

      區(qū)塊鏈把數(shù)據(jù)分成不同的區(qū)塊,每個(gè)區(qū)塊通過特定的信息鏈接到上一區(qū)塊的后面,前后順連,呈現(xiàn)一套完整的數(shù)據(jù)。每個(gè)區(qū)塊的塊頭包含前一個(gè)區(qū)塊的哈希值,該值是對(duì)前區(qū)塊的塊頭進(jìn)行哈希函數(shù)計(jì)算而得到。區(qū)塊之間都會(huì)由這樣的哈希值與先前的區(qū)塊環(huán)環(huán)相扣形成一個(gè)鏈條,存儲(chǔ)于其中的數(shù)據(jù)或信息,具有不可偽造、全程留痕、可以追溯、公開透明和集體維護(hù)等特征。區(qū)塊鏈接示意如圖1。

      圖1 區(qū)塊鏈接

      1.2 Fabric

      Fabric 比較適合構(gòu)建聯(lián)盟鏈,適用于行業(yè)、團(tuán)體間構(gòu)建可信數(shù)據(jù)應(yīng)用。它是超級(jí)賬本聯(lián)盟推出的核心區(qū)塊鏈框架,適合在復(fù)雜的企業(yè)內(nèi)和企業(yè)間搭建聯(lián)盟鏈。根據(jù)超級(jí)賬本聯(lián)盟的目標(biāo),F(xiàn)abric被建設(shè)為一個(gè)模塊化的、支持可插拔組件的基礎(chǔ)聯(lián)盟鏈框架。

      1.3 智能合約

      “智能合約”的概念產(chǎn)生于1995年,由密碼學(xué)家Szabo首次提出,是一種模塊化、可重用的自動(dòng)執(zhí)行腳本,可替代第三方信任平臺(tái)實(shí)現(xiàn)交易雙方直接進(jìn)行可信交易,這些交易可追溯且無法發(fā)生回滾[6]。智能合約按照實(shí)際業(yè)務(wù)邏輯定義相應(yīng)規(guī)則,調(diào)用智能合約將會(huì)按照合約定義的交易規(guī)則來實(shí)現(xiàn)鏈上的交易,訪問鏈上信息。

      1.4 API接口

      API應(yīng)用程序編程接口允許2個(gè)不相關(guān)的應(yīng)用程序相互通信[7]。它就像一座橋梁,從一個(gè)程序接收請(qǐng)求或消息,然后將其傳遞給另一個(gè)程序,翻譯消息并根據(jù)API的程序設(shè)計(jì)執(zhí)行協(xié)議。

      2 研究過程與結(jié)果

      本文提出的可信數(shù)據(jù)服務(wù)總體架構(gòu)如圖2所示,分為可信數(shù)據(jù)服務(wù)基礎(chǔ)平臺(tái)層、數(shù)據(jù)上鏈管理平臺(tái)及接口服務(wù)層、調(diào)用層。

      可信數(shù)據(jù)服務(wù)基礎(chǔ)平臺(tái)層負(fù)責(zé)數(shù)據(jù)存儲(chǔ)且具備真實(shí)可信、不可篡改等特性。數(shù)據(jù)上鏈管理平臺(tái)及接口服務(wù)層負(fù)責(zé)管理接入的信息系統(tǒng)及數(shù)據(jù)源,對(duì)數(shù)據(jù)上鏈、查詢等API接口進(jìn)行授權(quán)。調(diào)用層為已建設(shè)的中心化模式的信息系統(tǒng),相關(guān)信息系統(tǒng)在數(shù)據(jù)上鏈管理平臺(tái)中獲得授權(quán)后,可以調(diào)用接口服務(wù)層的API接口實(shí)現(xiàn)數(shù)據(jù)異步上鏈。API接口調(diào)用不影響信息系統(tǒng)原有功能,通過在原系統(tǒng)的數(shù)據(jù)新增、修改、刪除、查詢函數(shù)中增加對(duì)API接口的調(diào)用,實(shí)現(xiàn)數(shù)據(jù)上鏈、鏈上數(shù)據(jù)變動(dòng)歷史查詢、鏈上數(shù)據(jù)核驗(yàn)等。為區(qū)分不同的信息系統(tǒng)、不同的表及表記錄,這里約定鏈上數(shù)據(jù)的唯一標(biāo)識(shí)為由系統(tǒng)標(biāo)識(shí)+表名+表唯一標(biāo)識(shí)(表唯一標(biāo)識(shí)一般為表ID)構(gòu)成。系統(tǒng)標(biāo)識(shí)由接口管理員在授權(quán)接入時(shí)確定,表名由業(yè)務(wù)系統(tǒng)用戶根據(jù)上鏈業(yè)務(wù)需要自行添加。

      在這種架構(gòu)中,信息系統(tǒng)會(huì)通過API(數(shù)據(jù)上鏈管理平臺(tái)提供)間接與區(qū)塊鏈節(jié)點(diǎn)進(jìn)行互動(dòng),優(yōu)點(diǎn)在于簡化信息系統(tǒng)應(yīng)用區(qū)塊鏈技術(shù)、輕松實(shí)現(xiàn)數(shù)據(jù)鏈上存證與驗(yàn)證。

      2.1 可信數(shù)據(jù)服務(wù)基礎(chǔ)平臺(tái)

      在查閱文獻(xiàn)和技術(shù)文檔的基礎(chǔ)上,選擇Fabric作為區(qū)塊鏈基礎(chǔ)平臺(tái),部署區(qū)塊鏈平臺(tái)和區(qū)塊鏈瀏覽器,命名為“青禾鏈”,依賴區(qū)塊鏈鏈上數(shù)據(jù)不可篡改等特點(diǎn),將其作為可信數(shù)據(jù)服務(wù)的基礎(chǔ)支撐平臺(tái)。

      2.1.1 數(shù)據(jù)存儲(chǔ)方式

      從數(shù)據(jù)管理的角度,青禾鏈?zhǔn)且粋€(gè)分布式數(shù)據(jù)記錄系統(tǒng),數(shù)據(jù)均存儲(chǔ)在區(qū)塊內(nèi)并以區(qū)塊的粒度進(jìn)行管理,不可篡改。在區(qū)塊鏈系統(tǒng)中,一個(gè)區(qū)塊前后分別連接父區(qū)塊和子區(qū)塊,各個(gè)區(qū)塊包含區(qū)塊頭和區(qū)塊體。區(qū)塊頭包含當(dāng)前區(qū)塊的全部數(shù)據(jù),以及用于確保其完整性和驗(yàn)證共識(shí)的關(guān)鍵信息,區(qū)塊頭有6個(gè)字段組成。按照功能又可分成3部分:第1部分父區(qū)塊的Hash值,用于將該區(qū)塊與區(qū)塊鏈中前一區(qū)塊相連;第2部分是難度、時(shí)間戳和隨機(jī)數(shù),與節(jié)點(diǎn)記賬權(quán)有關(guān);第3部分是Merkle根數(shù)據(jù),與區(qū)塊體中交易數(shù)據(jù)有關(guān)。區(qū)塊本身的哈希值(區(qū)塊主標(biāo)識(shí))是通過SHA256算法[8]對(duì)區(qū)塊頭進(jìn)行二次哈希計(jì)算得到的32位字節(jié)哈希值。區(qū)塊體中存放被納入在該區(qū)塊中的交易信息,可以是一筆交易,也可以是多筆交易。為在區(qū)塊頭中記錄區(qū)塊體中的交易數(shù)據(jù),同時(shí)為防篡改,區(qū)塊鏈中用Merkle樹[9]來組織數(shù)據(jù)。圖3中,以交易1、交易2、交易3、交易4,4筆交易構(gòu)成一個(gè)區(qū)塊體,先計(jì)算4筆交易的哈希值,然后將哈希值放置相應(yīng)的葉子節(jié)點(diǎn)。這些葉子節(jié)點(diǎn)是Hash1、Hash2、Hash3和Hash4,然后再將相鄰的葉子節(jié)點(diǎn)哈希值串接起來再次哈希計(jì)算,形成父節(jié)點(diǎn)Hash12、Hash34(如果交易數(shù)量是奇數(shù),則前面兩兩計(jì)算哈希值,最后一個(gè)單獨(dú)計(jì)算哈希值),最終得到Merkle樹的根哈希值Hash1234,并存儲(chǔ)至區(qū)塊頭,作為交易數(shù)據(jù)的指紋。Merkle樹逐層記錄哈希值的特點(diǎn)使得它具有對(duì)數(shù)據(jù)修改敏感的特征,可以快速地比較大量數(shù)理、快速定位數(shù)據(jù)塊的修改、零知識(shí)證明[10]。

      在區(qū)塊鏈技術(shù)中,每個(gè)區(qū)塊都包含前一個(gè)區(qū)塊的哈希值,這個(gè)哈希值指向前一個(gè)區(qū)塊中所有記錄的數(shù)字指紋,整個(gè)區(qū)塊鏈就形成一個(gè)不可逆的系統(tǒng),區(qū)塊之間緊密相連,任何一處數(shù)據(jù)的修改都會(huì)導(dǎo)致這個(gè)區(qū)塊之后所有區(qū)塊哈希值發(fā)生變化,這個(gè)過程就會(huì)被其他節(jié)點(diǎn)檢測到并排除掉,并將其視為無效數(shù)據(jù)。這種強(qiáng)大的防篡改特性對(duì)可信數(shù)據(jù)存儲(chǔ)具有重要意義。

      2.1.2 數(shù)據(jù)存儲(chǔ)過程

      青禾鏈由1個(gè)排序節(jié)點(diǎn)、3個(gè)組織節(jié)點(diǎn)組成,創(chuàng)建1個(gè)通道,運(yùn)用GO語言[11]開發(fā)鏈碼。區(qū)塊鏈網(wǎng)絡(luò)不直接面向用戶和信息系統(tǒng)提供服務(wù),僅面向數(shù)據(jù)上鏈管理平臺(tái)提供服務(wù)。數(shù)據(jù)上鏈管理平臺(tái)代理各信息系統(tǒng)負(fù)責(zé)在區(qū)塊鏈平臺(tái)提交交易,實(shí)現(xiàn)存證、驗(yàn)證等。具體流程如圖4所示。

      圖4 數(shù)據(jù)存儲(chǔ)流程及原理

      (1)客戶端業(yè)務(wù)請(qǐng)求??蛻舳嗽L問各信息系統(tǒng),與各信息系統(tǒng)交互完成數(shù)據(jù)請(qǐng)求和發(fā)送。為加強(qiáng)對(duì)重要環(huán)節(jié)、關(guān)鍵數(shù)據(jù)的監(jiān)管,各信息系統(tǒng)在完成業(yè)務(wù)處理后,通過數(shù)據(jù)上鏈服務(wù)平臺(tái)提供的授權(quán)和API,接口向該平臺(tái)提交數(shù)據(jù)上鏈、查詢的請(qǐng)求和相關(guān)數(shù)據(jù),服務(wù)平臺(tái)代理完成與區(qū)塊鏈的交互。

      (2)應(yīng)用程序(數(shù)據(jù)上鏈服務(wù)平臺(tái))構(gòu)造交易提案。應(yīng)用程序(數(shù)據(jù)上鏈服務(wù)平臺(tái))獲取區(qū)塊鏈網(wǎng)絡(luò)的授權(quán),利用SDK(Software Development Kit)與區(qū)塊鏈網(wǎng)絡(luò)交互,在收到信息系統(tǒng)提交的請(qǐng)求后,構(gòu)造交易提案,該提案是一個(gè)調(diào)用智能合約功能函數(shù)的請(qǐng)求。應(yīng)用程序把交易提案發(fā)送給組織1和組織2等,背書策略要求所有交易都要2個(gè)節(jié)點(diǎn)背書,因此請(qǐng)求要到經(jīng)過組織1和組織2或者其組織至少2個(gè)節(jié)點(diǎn)背書,交易提案中包含帶有確定輸入?yún)?shù)的調(diào)用鏈碼方法的請(qǐng)求,該請(qǐng)求的作用是讀取或者更新賬本。

      (3)區(qū)塊鏈網(wǎng)絡(luò)中背書節(jié)點(diǎn)(Endorser)驗(yàn)證簽名并模擬執(zhí)行交易。組織1和組織2中等背書節(jié)點(diǎn)Endorser Peer,收到交易提案后,驗(yàn)證簽名并確定提交者是否有權(quán)執(zhí)行操作。背書節(jié)點(diǎn)將交易提案的參數(shù)作為輸入、執(zhí)行交易,生成包含執(zhí)行返回值、讀操作集合和寫操作集合的交易結(jié)果,此時(shí)不會(huì)更新賬本,這些值的集合、背書節(jié)點(diǎn)的簽名和背書結(jié)果作為提案的結(jié)果返回給應(yīng)用程序(數(shù)據(jù)上鏈服務(wù)平臺(tái))SDK,SDK解析這些信息,判斷是否應(yīng)用于后續(xù)的交易。

      (4)應(yīng)用程序(數(shù)據(jù)上鏈服務(wù)平臺(tái))把交易發(fā)送到共識(shí)服務(wù)節(jié)點(diǎn)(Orderers)[12]。應(yīng)用程序(數(shù)據(jù)上鏈服務(wù)平臺(tái))驗(yàn)證背書節(jié)點(diǎn)的簽名,并比較這些提案響應(yīng),以確定其是否相同,當(dāng)收到足夠數(shù)量相同的“提案響應(yīng)”后才會(huì)執(zhí)行下一步。應(yīng)用程序先確定響應(yīng)信息是否滿足指定的背書策略;若滿足,將交易提交給排序節(jié)點(diǎn)(Orderers),對(duì)于查詢請(qǐng)求,應(yīng)用程序只查看響應(yīng)結(jié)果,通常不會(huì)將交易提交給排序節(jié)點(diǎn)。

      (5)區(qū)塊鏈網(wǎng)絡(luò)排序服務(wù)進(jìn)行排序并將交易封裝成區(qū)塊。交易發(fā)送給排序服務(wù)(Order節(jié)點(diǎn)),交易包括讀/寫集,背書節(jié)點(diǎn)簽名和Channel ID[13]。排序服務(wù)從所有的channel中接收交易,利用排序算法(kafka等)按時(shí)間和通道進(jìn)行排序,并將每個(gè)channel中的交易打包成區(qū)塊。

      (6)區(qū)塊鏈網(wǎng)絡(luò)驗(yàn)證和提交交易。排序節(jié)點(diǎn)(Order)將交易區(qū)塊發(fā)送給channel 上所有的peer 節(jié)點(diǎn)(包括commit peer,endorsing peer等),peer節(jié)點(diǎn)對(duì)區(qū)塊內(nèi)的交易進(jìn)行驗(yàn)證:確保滿足背書策略;確保自交易執(zhí)行生成讀集以來,沒有對(duì)讀集變量的賬本狀態(tài)進(jìn)行更改。驗(yàn)證完之后對(duì)區(qū)塊中的交易進(jìn)行標(biāo)記為有效或無效。

      (7)區(qū)塊鏈賬本更新。Peer節(jié)點(diǎn)將區(qū)塊添加到區(qū)塊鏈上;Peer節(jié)點(diǎn)將每個(gè)有效交易寫入各自的賬本中以及世界狀態(tài);系統(tǒng)會(huì)發(fā)出一個(gè)事件,通知應(yīng)用程序(數(shù)據(jù)上鏈服務(wù)平臺(tái))本次交易(調(diào)用)已被不可更改地附加到區(qū)塊鏈上,同時(shí)還會(huì)通知交易驗(yàn)證結(jié)果是有效還是無效。

      2.1.3 鏈上數(shù)據(jù)瀏覽

      部署“青禾鏈”瀏覽器用于區(qū)塊鏈中網(wǎng)絡(luò)、區(qū)塊、交易等信息的瀏覽。

      網(wǎng)址:https://educhain.ahau.edu.cn/explorer。在區(qū)塊列表中可以查看塊編碼、通道名稱、交易數(shù)量、數(shù)據(jù)哈希、塊哈希、上塊哈希等信息,也可以根據(jù)塊哈希和交易哈希查詢區(qū)塊;在交易列表中可以查看交易的創(chuàng)建者、通道名稱、交易ID、類型、鏈碼、時(shí)間等信息,也可以根據(jù)塊哈希和交易哈希查詢交易。同時(shí),通過交易ID上的鏈接可以查看交易的詳情(包含鏈上數(shù)據(jù))。

      2.1.4 特性分析

      如果惡意篡改[14]區(qū)塊鏈上某個(gè)區(qū)塊的信息,首先需要暴力破解被攻擊區(qū)塊的哈希值,由于區(qū)塊鏈后續(xù)的每個(gè)區(qū)塊都保留有前一個(gè)區(qū)塊的哈希值,必須要連同破解被攻擊區(qū)塊后續(xù)已經(jīng)生成的所有區(qū)塊和正在生成的區(qū)塊Hash值,這顯然并不現(xiàn)實(shí)。這種特性為構(gòu)建可信數(shù)據(jù)服務(wù)基礎(chǔ)平臺(tái)提供有力支撐。

      2.2 數(shù)據(jù)上鏈服務(wù)平臺(tái)及接口服務(wù)層

      采用JAVA 開發(fā)數(shù)據(jù)上鏈服務(wù)平臺(tái),平臺(tái)包含接入系統(tǒng)的管理及上鏈數(shù)據(jù)管理等相關(guān)功能。同時(shí),采用SDK與區(qū)塊鏈進(jìn)行交互,進(jìn)一步包裝實(shí)現(xiàn)語言無關(guān)性的API接口,面向調(diào)用層的各個(gè)信息系統(tǒng)提供接口服務(wù)。主要功能包含控制臺(tái)、系統(tǒng)接入、表管理、鏈上數(shù)據(jù)、操作日志和系統(tǒng)管理等功能模塊。API接口包含數(shù)據(jù)上鏈、數(shù)據(jù)校驗(yàn)、數(shù)據(jù)查詢、數(shù)據(jù)溯源等接口。數(shù)據(jù)上鏈接服務(wù)平臺(tái)總體功能如圖5所示。

      圖5 數(shù)據(jù)上鏈服務(wù)平臺(tái)主要功能

      功能模塊介紹??刂婆_(tái):主要顯示鏈上數(shù)據(jù)、交易量、校驗(yàn)量、最近交易、鏈上數(shù)據(jù)分布等統(tǒng)計(jì)數(shù)據(jù);系統(tǒng)接入:管理可使用接口的系統(tǒng),在進(jìn)行授權(quán)操作時(shí)生成AppId 和AppSecret 參數(shù),用于接口調(diào)用時(shí)的驗(yàn)證;表管理:設(shè)置上鏈數(shù)據(jù)的表名稱,該表名稱是組成前文鏈上數(shù)據(jù)的唯一標(biāo)識(shí)的關(guān)鍵信息;鏈上數(shù)據(jù):可以查看成功上鏈的數(shù)據(jù)(私有數(shù)據(jù)允許自有加密算法加密);操作日志和系統(tǒng)管理:系統(tǒng)用戶、角色、操作日志等查看和管理。

      API接口介紹。數(shù)據(jù)上鏈接口(接口地址:/api/v1/uplink/data/upload):數(shù)據(jù)上鏈?zhǔn)侵笇I(yè)務(wù)系統(tǒng)中有價(jià)值或有審計(jì)需求的數(shù)據(jù)進(jìn)行上鏈,利用區(qū)塊鏈的特性保障數(shù)據(jù)不被篡改且能溯源。在接口設(shè)計(jì)中,數(shù)據(jù)上鏈接口變量包含recordid、data、data_hash、memo 等,調(diào)用接口保存數(shù)據(jù)至區(qū)塊鏈時(shí),如果保存成功后返回交易ID(開啟debug 模式,數(shù)據(jù)不上鏈,不形成交易,接口中返回的交易ID值使用????表示;關(guān)閉debug 時(shí),將返回?cái)?shù)據(jù)上鏈后的交易ID 用作數(shù)據(jù)上鏈前的開發(fā)調(diào)試);鏈上數(shù)據(jù)查詢接口(/api/v1/uplink/data/cc):數(shù)據(jù)查詢是指第三方信息系統(tǒng)根據(jù)record_id,調(diào)用接口定位、獲取鏈上數(shù)據(jù);數(shù)據(jù)溯源接口(/api/v1/uplink/data/cc/history):返回指定的record_id所有的歷史變更記錄數(shù)據(jù);業(yè)務(wù)數(shù)據(jù)校驗(yàn)接口(/api/v1/uplink/data/cc/check):根據(jù)交易數(shù)據(jù)Hash校驗(yàn)該值與鏈上數(shù)據(jù)Hash值是否一致(0-不同,1-相同)。

      2.3 高校業(yè)務(wù)系統(tǒng)的可信數(shù)據(jù)服務(wù)實(shí)踐

      為對(duì)接口進(jìn)行驗(yàn)證,筆者在工作中開展門戶網(wǎng)站征求意見公正派獎(jiǎng)活動(dòng),在傳統(tǒng)投票系統(tǒng)的基礎(chǔ)上,采用上述API輕松集成區(qū)塊鏈技術(shù),實(shí)現(xiàn)數(shù)據(jù)上鏈,確保派獎(jiǎng)活動(dòng)公正、可信,實(shí)踐過程如圖6所示。

      圖6 在業(yè)務(wù)系統(tǒng)中引入可信數(shù)據(jù)服務(wù)實(shí)踐步驟

      2.3.1 投票系統(tǒng)改造

      程序開發(fā)人員使用熟悉的編程語言(本文以JAVA為例)創(chuàng)建線程類,使用HTTP的POST方法,調(diào)用數(shù)據(jù)上鏈接口,在保存投票結(jié)果時(shí),新開線程實(shí)現(xiàn)數(shù)據(jù)上鏈,對(duì)原系統(tǒng)的改造和影響極小,可信數(shù)據(jù)服務(wù)接口的易用性、語言無關(guān)性得到驗(yàn)證。投票程序的新增函數(shù)中僅需增加4行代碼,示例如下:

      public String saveOrUpdate(){

      ……

      QuestionanswerToChainThread questionanswerToChainThread = new QuestionanswerToChainThread();questionanswerToChainThread.setCatalogbh(catalogbh);questionanswerToChainThread.setAnsweruser(questionanswerArrayList.get(0).getAnsweruser());questionanswerToChainThread.start();

      上鏈數(shù)據(jù)內(nèi)容如下:

      record_id:系統(tǒng)標(biāo)識(shí)+表名+唯一標(biāo)識(shí)

      data:用戶ID+投票內(nèi)容

      data_hash:取“用戶ID+投票內(nèi)容”的MD5值

      memo:This is userid′s chaindata。

      2.3.2 投票系統(tǒng)應(yīng)用

      在完成投票系統(tǒng)的改造后,在學(xué)校門戶網(wǎng)站設(shè)計(jì)征求意見投票工作中進(jìn)行應(yīng)用。(1)首先發(fā)布通知,約定派獎(jiǎng)規(guī)則。有效時(shí)間段內(nèi)實(shí)名制參與調(diào)查,調(diào)查數(shù)據(jù)上鏈生成交易ID,末位數(shù)字為2或0,按時(shí)間順序取符合上述條件的前50名派送獎(jiǎng)品;(2)調(diào)查階段。用戶參與調(diào)查,業(yè)務(wù)系統(tǒng)保存數(shù)據(jù)時(shí)調(diào)用可信數(shù)據(jù)服務(wù)平臺(tái)的數(shù)據(jù)上鏈接口,實(shí)現(xiàn)數(shù)據(jù)異步上鏈,生成交易ID。師生參與調(diào)查后可以查看鏈上ID,如圖7所示。

      圖7 數(shù)據(jù)上鏈后的交易ID

      2.3.3 惡意篡改數(shù)據(jù)

      為檢測數(shù)據(jù)惡意篡改后的感知,通過數(shù)據(jù)庫管理工具Navicat 連接數(shù)據(jù)庫、修改影響鏈上Hash 值的用戶ID或者投票內(nèi)容,在投票填寫內(nèi)容中增加“惡意”二字,此時(shí)發(fā)現(xiàn)鏈上ID處顯示內(nèi)容為“鏈上數(shù)據(jù)不一致”,如圖8所示。

      圖8 數(shù)據(jù)篡改后的感知

      3 討論

      通過相關(guān)工作,初步構(gòu)建基于區(qū)塊鏈技術(shù)的高校可信數(shù)據(jù)服務(wù),進(jìn)行小規(guī)模的實(shí)踐。高校信息系統(tǒng)眾多,加強(qiáng)關(guān)鍵數(shù)據(jù)安全監(jiān)管非常必要,面向信息系統(tǒng)提供可信數(shù)據(jù)服務(wù)具有可行性??尚艛?shù)據(jù)服務(wù)是全局?jǐn)?shù)據(jù)安全監(jiān)管的可行路徑,但需要穩(wěn)定、可靠,筆者將在后續(xù)研究中進(jìn)一步擴(kuò)大信息系統(tǒng)接入數(shù)量,探索高并發(fā)場景下的數(shù)據(jù)上鏈性能問題,不斷提高可信數(shù)據(jù)服務(wù)的質(zhì)量和效率。

      猜你喜歡
      背書數(shù)據(jù)服務(wù)哈希
      地理空間大數(shù)據(jù)服務(wù)自然資源調(diào)查監(jiān)測的方向分析
      背書是寫作的基本功
      快樂語文(2021年34期)2022-01-18 06:04:04
      背書
      如何運(yùn)用稅收大數(shù)據(jù)服務(wù)供給側(cè)結(jié)構(gòu)性改革
      中國商論(2016年34期)2017-01-15 14:24:18
      基于頻繁子圖挖掘的數(shù)據(jù)服務(wù)Mashup推薦
      背書
      基于OpenCV與均值哈希算法的人臉相似識(shí)別系統(tǒng)
      基于維度分解的哈希多維快速流分類算法
      背書連續(xù)性若干問題探析
      一種基于數(shù)據(jù)服務(wù)超鏈進(jìn)行情景數(shù)據(jù)集成的方法*
      皋兰县| 河南省| 上林县| 定南县| 千阳县| 宜州市| 株洲县| 山丹县| 沐川县| 特克斯县| 江川县| 五莲县| 从江县| 新建县| 林口县| 永寿县| 邵东县| 汝州市| 乃东县| 叙永县| 阜平县| 曲周县| 东明县| 双辽市| 罗城| 抚顺县| 扬州市| 高雄县| 江达县| 通河县| 民和| 堆龙德庆县| 江都市| 神木县| 永兴县| 宁蒗| 鄂托克旗| 抚州市| 金阳县| 富宁县| 什邡市|