• 
    

    
    

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

      ?

      一套基于區(qū)塊鏈的可信學(xué)歷學(xué)位認(rèn)證系統(tǒng)

      2020-09-26 09:32華芳丁毅孫伽寧李潔沈薇
      網(wǎng)絡(luò)空間安全 2020年9期
      關(guān)鍵詞:智能合約區(qū)塊鏈

      華芳 丁毅 孫伽寧 李潔 沈薇

      摘 ? 要:學(xué)歷學(xué)位是衡量學(xué)生知識水平和社會認(rèn)可度的重要證明,而現(xiàn)有學(xué)歷學(xué)位數(shù)據(jù)管理系統(tǒng)存在中心化、易篡改及難以追溯等問題,導(dǎo)致出現(xiàn)造假現(xiàn)象。區(qū)塊鏈數(shù)據(jù)具有不可篡改、可存證、可追溯的特點(diǎn),將區(qū)塊鏈應(yīng)用于學(xué)歷學(xué)位管理系統(tǒng),可對學(xué)歷學(xué)位獲得過程進(jìn)行溯源。文章基于區(qū)塊鏈和智能合約技術(shù),設(shè)計(jì)了一套可信的學(xué)歷學(xué)位認(rèn)證系統(tǒng),從效率和可信度平衡、訪問控制安全等角度展開設(shè)計(jì)工作,并詳細(xì)介紹系統(tǒng)的運(yùn)轉(zhuǎn)流程,為學(xué)歷學(xué)位認(rèn)證可信溯源的發(fā)展提供參考。

      關(guān)鍵詞:學(xué)歷學(xué)位溯源;區(qū)塊鏈;協(xié)同存儲;智能合約

      中圖分類號: TP311 ? ? ? ? ?文獻(xiàn)標(biāo)識碼:A

      Abstract: Education and degree is an important certification to measure students' knowledge level and social recognition, while the current data management system of education and degree has problems. The problems are centralization management, easy to tamper with and difficult to trace, which lead to the phenomenon of fraud. Data on blockchain has the characteristics of non-tampering, credible storage and traceability. The application of blockchain in education and degree management system can trace the process of obtaining education and degree certification. In order to provide a reference for the development of credibility traceability of education and degree certification, the paper designs a trusted education and degree certification system based on the technology of blockchain and smart contract, considering the balance between efficiency and credibility, access control security measures etc., and introduces the operation process of the system in detail.

      Key words: education and degree traceability; blockchain; collaborative storage; smart contract

      1 引言

      學(xué)歷學(xué)位證書是社會衡量學(xué)生能力的重要標(biāo)準(zhǔn)之一,對于個(gè)人的求職與深造都會產(chǎn)生重要影響。目前,只有學(xué)信網(wǎng)、學(xué)位與研究生教育發(fā)展中心以及國(境)外學(xué)位認(rèn)證系統(tǒng),能提供國內(nèi)外學(xué)歷學(xué)位證書認(rèn)證。但是目前學(xué)位學(xué)歷管理系統(tǒng)普遍采用集中化的數(shù)據(jù)管理,存在單點(diǎn)故障以及數(shù)據(jù)被篡改的風(fēng)險(xiǎn),且難以實(shí)現(xiàn)學(xué)歷學(xué)位獲得過程的溯源[1]。因此需要進(jìn)一步研究學(xué)歷學(xué)位證明管理方式,加強(qiáng)過程溯源、加大造假難度,從而減少學(xué)歷學(xué)位造假現(xiàn)象。

      區(qū)塊鏈具有去中心、可追溯存證、不易篡改等特點(diǎn),近幾年在金融交易以及物流溯源方面已經(jīng)發(fā)揮了重要作用,區(qū)塊鏈與教育的結(jié)合也在逐步展開。2018年,教育部在兩會中提出《關(guān)于探索運(yùn)用區(qū)塊鏈技術(shù)進(jìn)行學(xué)位證書認(rèn)證的建議》,明確表示將密切關(guān)注區(qū)塊鏈技術(shù),積極探索其在學(xué)生管理中的應(yīng)用[2]。同年發(fā)布的《教育信息化2.0行動(dòng)計(jì)劃》[3]中也指出要積極探索基于區(qū)塊鏈技術(shù)的學(xué)習(xí)效果記錄、轉(zhuǎn)移、交換、認(rèn)證等有效方式。工業(yè)和信息化部在《中國區(qū)塊鏈技術(shù)和應(yīng)用發(fā)展白皮書》也提出了建立基于區(qū)塊鏈的教育存證平臺的構(gòu)想[4]。

      將區(qū)塊鏈與學(xué)歷學(xué)位溯源結(jié)合,可以防止數(shù)據(jù)被惡意篡改,學(xué)歷學(xué)位判定規(guī)則執(zhí)行公開透明,能有效減少數(shù)據(jù)造假的風(fēng)險(xiǎn)。但是依然存在一些問題:區(qū)塊鏈上數(shù)據(jù)處理速度較慢、處理成本高,學(xué)歷學(xué)位溯源又涉及到大量的學(xué)生數(shù)據(jù),區(qū)塊鏈與學(xué)位溯源結(jié)合后系統(tǒng)業(yè)務(wù)執(zhí)行效率不高;學(xué)歷學(xué)位溯源系統(tǒng)具有不同的用戶角色、不同的操作內(nèi)容,如果不對用戶權(quán)限加以可信管理,易產(chǎn)生不正確的修改或誤操作,且缺乏追責(zé)監(jiān)管機(jī)制;智能合約可以用于控制學(xué)位認(rèn)證規(guī)則,但規(guī)則在實(shí)際中是變化的,不同屆的學(xué)生可能需要制定不同的學(xué)歷學(xué)位判定規(guī)則,每次都重新編寫智能合約程序,會為管理員帶來許多冗余工作。

      針對以上區(qū)塊鏈與學(xué)歷學(xué)位溯源認(rèn)證結(jié)合后存在的問題,本文在基于區(qū)塊鏈的學(xué)歷學(xué)位溯源認(rèn)證系統(tǒng)中,設(shè)計(jì)并實(shí)現(xiàn)了數(shù)據(jù)協(xié)同存儲、智能合約用戶訪問控制、學(xué)位判定智能合約模板三部分功能,促進(jìn)區(qū)塊鏈學(xué)歷學(xué)位溯源系統(tǒng)安全、高效運(yùn)行。

      2 相關(guān)工作

      2.1 傳統(tǒng)學(xué)歷學(xué)位認(rèn)證發(fā)展現(xiàn)狀

      為了提供學(xué)生學(xué)歷學(xué)位證書有效性證明,2002年學(xué)信網(wǎng)上線。隨后,推出了“學(xué)信二維碼”,學(xué)生可將該二維碼嵌入求職簡歷中。2018年,教育部學(xué)位中心也開始提供學(xué)位認(rèn)證服務(wù),還可通過國外學(xué)位認(rèn)證系統(tǒng)查詢國外證書的有效性[5]。

      以上認(rèn)證都是通過權(quán)威機(jī)構(gòu)的背書,這在一定程度上增加了學(xué)位證書的偽造難度,但是這種中心化的數(shù)據(jù)管理方式依然存在數(shù)據(jù)篡改風(fēng)險(xiǎn)。具體表現(xiàn)為:

      (1)傳統(tǒng)學(xué)位認(rèn)證數(shù)據(jù)存儲在中心化的數(shù)據(jù)庫中,數(shù)據(jù)可以被高權(quán)限的管理員修改,甚至訪問日志也可能被改動(dòng),存在學(xué)歷學(xué)位數(shù)據(jù)的不真實(shí)以及不可追溯的風(fēng)險(xiǎn)。

      (2)傳統(tǒng)學(xué)歷學(xué)位的認(rèn)證通常采用半人工審核的方式,認(rèn)證規(guī)則可以被人為修改,審核人員具有較大權(quán)力,執(zhí)行結(jié)果可能存在質(zhì)疑。

      (3)傳統(tǒng)學(xué)歷學(xué)位認(rèn)證通常只有少數(shù)權(quán)威機(jī)構(gòu)參與,其他角色如學(xué)校、教師、學(xué)生的參與度不足,缺乏公開透明的高效約束機(jī)制,且認(rèn)證往往只是注重結(jié)果,認(rèn)證過程追溯功能受限。

      2.2 基于區(qū)塊鏈的教育認(rèn)證研究現(xiàn)狀

      近幾年,眾多學(xué)者積極探索區(qū)塊鏈在各領(lǐng)域的應(yīng)用,“區(qū)塊鏈+教育”就是其中之一,目前已有眾多區(qū)塊鏈加教育認(rèn)證項(xiàng)目落地。2015年Bitproof公司與霍伯頓學(xué)校聯(lián)合,將區(qū)塊鏈與教育存證結(jié)合,使用區(qū)塊鏈記錄學(xué)生學(xué)習(xí)成果。隨后索尼公司、麻省理工學(xué)院[6]也展開了區(qū)塊鏈在教育存證中的研究。2017年,歐盟委員會在發(fā)布的《區(qū)塊鏈在教育行業(yè)(Blockchain in Education)》報(bào)告中指出區(qū)塊鏈與教育結(jié)合中的數(shù)字認(rèn)證、信用認(rèn)可、學(xué)分轉(zhuǎn)換和支付交易方面還需進(jìn)一步研究[7]。英國開放大學(xué)知識媒體學(xué)院與英國電信也創(chuàng)建了一個(gè)名為“OpenBlockchain”的基于以太坊的區(qū)塊鏈教育平臺,利用區(qū)塊鏈智能合約對開放大學(xué)的課程證書進(jìn)行記錄,同時(shí)還會提供證書關(guān)聯(lián)信息,如接收方、頒發(fā)方、頒發(fā)標(biāo)準(zhǔn)以及頒發(fā)依據(jù)等。

      部分學(xué)者也在進(jìn)行“區(qū)塊鏈+教育”的可行運(yùn)作模式的探索。Sharples(2016)[8]提出利用區(qū)塊鏈建立一個(gè)研究成果、創(chuàng)意以及聲譽(yù)的記錄系統(tǒng),實(shí)現(xiàn)可信存證。吳莎莎(2018)[9]分析了將數(shù)字徽章認(rèn)證理念與內(nèi)容嵌入?yún)^(qū)塊鏈平臺可行性,并提出了基于區(qū)塊鏈技術(shù)的在線學(xué)習(xí)憑證頒布系統(tǒng)的架構(gòu)及應(yīng)用方式。李中振(2019)[10]指出區(qū)塊鏈技術(shù)去中心、不可篡改的特點(diǎn)可以有效保障學(xué)籍信息的安全和真實(shí),作者還基于Fabric框架開發(fā)了一個(gè)學(xué)籍管理系統(tǒng)原型。Jirgensons (2018)[11]指出在線學(xué)習(xí)頒發(fā)的數(shù)字證書可以激勵(lì)學(xué)生學(xué)習(xí),且證書分享方便,但是存在證書失效的風(fēng)險(xiǎn),因此提出將區(qū)塊鏈作為在線認(rèn)證證書記錄、存儲以及管理的底層技術(shù),實(shí)現(xiàn)在線學(xué)習(xí)證書的可信認(rèn)證。

      我國近幾年采用信息化手段實(shí)現(xiàn)學(xué)歷學(xué)位信息管理,一定程度上增加了學(xué)位造假的難度。但是,由于傳統(tǒng)系統(tǒng)采用中心化的管理方式,數(shù)據(jù)依然存在篡改風(fēng)險(xiǎn)。近幾年區(qū)塊鏈技術(shù)在物流溯源、金融交易等領(lǐng)域被廣泛應(yīng)用,但是區(qū)塊鏈與學(xué)位認(rèn)證結(jié)合的技術(shù)方案還在探索中,本文提出一套區(qū)塊鏈學(xué)歷學(xué)位溯源認(rèn)證技術(shù)方案,力圖在性能和效率之間尋找平衡,高效利用智能合約特征,為可信學(xué)歷學(xué)位的認(rèn)證發(fā)展提供支持。

      3 區(qū)塊鏈及相關(guān)技術(shù)

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

      區(qū)塊鏈?zhǔn)且环N新興的技術(shù),具有分布式、不可篡改、公開透明、可追溯的特點(diǎn)[12]。智能合約是傳統(tǒng)紙質(zhì)合約的數(shù)字化版本,智能合約與區(qū)塊鏈的結(jié)合,使其具備合約公開和不可篡改的特性。主流的區(qū)塊鏈平臺有以太坊(Ethereum)、Hyperledger Fabric以及EOS(Enterprise Operation System)[13]。目前,區(qū)塊鏈平臺普遍存在數(shù)據(jù)處理速度慢、存儲成本高的問題,除了通過修改共識算法提高存儲的效率,還可以結(jié)合分布式存儲系統(tǒng)[14],如區(qū)塊鏈數(shù)據(jù)庫BigchainDB[15]、分布式文件系統(tǒng)IPFS[16]、Swarm[17]等協(xié)同存儲,在高可信與高效率之間尋找平衡。

      區(qū)塊鏈技術(shù)在學(xué)位認(rèn)證應(yīng)用中發(fā)揮的作用主要體現(xiàn)在三個(gè)方面。

      (1)利用區(qū)塊鏈技術(shù)存儲學(xué)歷學(xué)位認(rèn)證數(shù)據(jù),可保證數(shù)據(jù)不易篡改,完成學(xué)歷學(xué)位認(rèn)證的全流程追溯。

      (2)區(qū)塊鏈智能合約可以將學(xué)歷學(xué)位認(rèn)證規(guī)則公開透明,并自動(dòng)執(zhí)行,具有較強(qiáng)的可信度。

      (3)區(qū)塊鏈基礎(chǔ)上的學(xué)歷學(xué)位認(rèn)證系統(tǒng)可加強(qiáng)多角色或多單位的參與度,形成一套可信公開約束機(jī)制,有效推動(dòng)可信認(rèn)證模式的發(fā)展。

      3.2 訪問控制技術(shù)

      訪問控制是指在鑒別用戶的身份后,通過某種方式顯示的許可或限制用戶對數(shù)據(jù)的訪問、對功能的操作,防止違法用戶進(jìn)入或合法用戶錯(cuò)誤操作帶來破壞。目前有基于角色(Role-Based Access Control,RBAC)、屬性(Attribute-Based Access Control,ABAC)等訪問控制模型[17]。

      RBAC模型滿足最小特權(quán)、職責(zé)分離以及數(shù)據(jù)抽象的原則,同時(shí)具有易管理、易建模的特點(diǎn)。目前,以RBAC為基礎(chǔ)的訪問控制模型在各企業(yè)權(quán)限管理系統(tǒng)中廣泛應(yīng)用。由于區(qū)塊鏈上數(shù)據(jù)不可篡改,區(qū)塊鏈智能合約一旦部署便不可篡改、全網(wǎng)節(jié)點(diǎn)共同執(zhí)行、執(zhí)行過程公開透明,因此區(qū)塊鏈可作為訪問控制模型的維護(hù)者,解決以往訪問控制部署在中心化服務(wù)器易被篡改的問題[18]。已有學(xué)者提出將訪問控制模型與區(qū)塊鏈智能合約結(jié)合,用于物聯(lián)網(wǎng)設(shè)備[19]以及系統(tǒng)[20]的訪問管理。

      4 學(xué)歷學(xué)位可信溯源機(jī)制

      本文針對當(dāng)前學(xué)歷學(xué)位驗(yàn)證的可信性挑戰(zhàn),設(shè)計(jì)并實(shí)現(xiàn)了一套基于區(qū)塊鏈的學(xué)歷學(xué)位溯源系統(tǒng),并提出了數(shù)據(jù)協(xié)同存儲機(jī)制、智能合約用戶訪問控制機(jī)制以及學(xué)位判定智能合約模板機(jī)制,以提高學(xué)歷學(xué)位溯源系統(tǒng)的數(shù)據(jù)處理效率和信息可信度,方便管理員對學(xué)歷學(xué)位系統(tǒng)進(jìn)行維護(hù)。

      4.1 系統(tǒng)架構(gòu)

      基于區(qū)塊鏈的學(xué)歷學(xué)位溯源系統(tǒng)架構(gòu)如圖1所示,該系統(tǒng)可分為四個(gè)模塊:前端頁面展示、后端業(yè)務(wù)邏輯、合約規(guī)則及可信存儲。

      (1)頁面展示面向用戶,可供學(xué)生、教務(wù)管理人員以及用人單位等更新或查詢學(xué)生學(xué)歷學(xué)位相關(guān)數(shù)據(jù)。

      (2)業(yè)務(wù)邏輯模塊支持對前端收集到的數(shù)據(jù)進(jìn)行增加、更新等操作,同時(shí)包含對區(qū)塊鏈以及鏈下分布式存儲系統(tǒng)接口的調(diào)用。

      (3)合約規(guī)則即區(qū)塊鏈智能合約中的程序,用于執(zhí)行關(guān)鍵業(yè)務(wù)邏輯,包括用戶訪問控制、學(xué)歷學(xué)位授予和學(xué)年合格性判定等。

      (4)可信存儲由區(qū)塊鏈以及鏈下分布式存儲系統(tǒng)組成。區(qū)塊鏈用于存儲學(xué)生屬性數(shù)據(jù)、智能合約判定所需數(shù)據(jù)以及智能合約判定結(jié)果。鏈下分布式系統(tǒng)則存儲除智能合約規(guī)則以外全部數(shù)據(jù),包括關(guān)鍵信息和非關(guān)鍵信息。關(guān)鍵信息包括關(guān)鍵屬性數(shù)據(jù),比如學(xué)生身份數(shù)據(jù)。智能合約判定所需數(shù)據(jù)為判定規(guī)則所需數(shù)據(jù),智能合約生成結(jié)果則包括學(xué)生是否畢業(yè)等判定結(jié)果。其他非關(guān)鍵信息包括平時(shí)成績各得分項(xiàng)、平時(shí)作業(yè)等。這些信息都可以支撐學(xué)歷學(xué)位獲取的全過程溯源。

      在該系統(tǒng)中,合約規(guī)則以及可信存儲中的三個(gè)模塊:數(shù)據(jù)協(xié)同存儲、智能合約用戶訪問控制、學(xué)歷學(xué)位判定智能合約模板是實(shí)現(xiàn)學(xué)生學(xué)歷學(xué)位獲得過程數(shù)據(jù)溯源的重要組成部分。

      4.2 數(shù)據(jù)協(xié)同存儲機(jī)制

      實(shí)現(xiàn)學(xué)歷學(xué)位的溯源,需要存儲用戶的關(guān)鍵信息和大量學(xué)歷學(xué)位獲得的過程數(shù)據(jù),如期末考試成績、獲獎(jiǎng)數(shù)據(jù)、平時(shí)作業(yè)等。將這些數(shù)據(jù)都上傳至區(qū)塊鏈較為耗時(shí)且高成本,同時(shí)區(qū)塊鏈上不易存儲學(xué)生一寸照、學(xué)位證書掃描件等非結(jié)構(gòu)化數(shù)據(jù)。

      為了高效存儲學(xué)生學(xué)歷學(xué)位獲得過程中產(chǎn)生的數(shù)據(jù),實(shí)現(xiàn)學(xué)歷學(xué)位過程溯源,本文將區(qū)塊鏈與分布式存儲系統(tǒng)結(jié)合,實(shí)現(xiàn)了數(shù)據(jù)的鏈上鏈下協(xié)同存儲。首先,對數(shù)據(jù)進(jìn)行分類,隨后對這些數(shù)據(jù)進(jìn)行分區(qū)存儲。鏈下存儲會存儲除智能合約以外的全部數(shù)據(jù),關(guān)鍵數(shù)據(jù)會同時(shí)存儲在區(qū)塊鏈中。為了保證數(shù)據(jù)可信,需要驗(yàn)證鏈上鏈下關(guān)鍵數(shù)據(jù)的一致性。

      (1)數(shù)據(jù)存儲分類設(shè)計(jì)

      首先,對數(shù)據(jù)進(jìn)行分類,分為關(guān)鍵數(shù)據(jù)與非關(guān)鍵數(shù)據(jù)。其中學(xué)生關(guān)鍵數(shù)據(jù)包括學(xué)生屬性數(shù)據(jù)、智能合約判定所需數(shù)據(jù)以及智能合約判定結(jié)果。學(xué)生關(guān)鍵屬性數(shù)據(jù)為學(xué)生身份數(shù)據(jù)。智能合約判定所需數(shù)據(jù)為判定規(guī)則所需數(shù)據(jù)。智能合約生成結(jié)果則包括學(xué)生是否畢業(yè)等判定結(jié)果。其他非關(guān)鍵數(shù)據(jù)包括平時(shí)成績、平時(shí)作業(yè)等。這些數(shù)據(jù)都可以支撐學(xué)歷學(xué)位獲取的全過程溯源。其中,關(guān)鍵數(shù)據(jù)的重要性高于非關(guān)鍵數(shù)據(jù),而非關(guān)鍵數(shù)據(jù)通常數(shù)據(jù)量更大,對存儲的效率和存儲量要求更高。

      區(qū)塊鏈存儲的數(shù)據(jù)可信度更高,但是存儲效率低、成本高,而鏈下分布式存儲系統(tǒng)則具有比區(qū)塊鏈更高效的數(shù)據(jù)存儲能力,其中區(qū)塊鏈數(shù)據(jù)庫兼具區(qū)塊鏈和數(shù)據(jù)庫的優(yōu)勢,但通常存儲的是結(jié)構(gòu)化數(shù)據(jù)(本文主要針對BigchainDB這類區(qū)塊鏈數(shù)據(jù)庫開展工作),分布式文件存儲系統(tǒng)沒有共識機(jī)制,但可支持非結(jié)構(gòu)化數(shù)據(jù)的存儲。

      基于以上學(xué)生學(xué)歷學(xué)位數(shù)據(jù)的特點(diǎn)以及區(qū)塊鏈與鏈下分布式存儲系統(tǒng)的存儲特征,本文對數(shù)據(jù)進(jìn)行分類存儲,鏈上鏈下數(shù)據(jù)協(xié)同存儲策略示意圖如圖2所示。

      鏈下分布式存儲系統(tǒng)則保存除智能合約以外的所有數(shù)據(jù),包括關(guān)鍵數(shù)據(jù)和非關(guān)鍵數(shù)據(jù)。進(jìn)一步將所有結(jié)構(gòu)化數(shù)據(jù)存儲在區(qū)塊鏈數(shù)據(jù)庫中,而將非結(jié)構(gòu)化數(shù)據(jù)存儲在分布式文件存儲系統(tǒng)中。一旦數(shù)據(jù)上傳分布式文件系統(tǒng)后會被哈希運(yùn)算并得到HASH值,該結(jié)果是由文件內(nèi)容生成,可以檢索到文件。數(shù)據(jù)若經(jīng)過任何修改得到的HASH值都會變化。隨后,該值會被加密后作為結(jié)構(gòu)化數(shù)據(jù)存儲在區(qū)塊鏈數(shù)據(jù)庫中。

      同時(shí),區(qū)塊鏈用于存儲智能合約,以及關(guān)鍵數(shù)據(jù),主要是指學(xué)生屬性數(shù)據(jù)、智能合約判定所需數(shù)據(jù)以及智能合約判定結(jié)果。當(dāng)然,與這些數(shù)據(jù)相關(guān)的非結(jié)構(gòu)化數(shù)據(jù)存儲在分布式文件系統(tǒng)中,并將數(shù)據(jù)哈希計(jì)算后得到的HASH進(jìn)行加密,進(jìn)而上傳至區(qū)塊鏈。其中區(qū)塊鏈數(shù)據(jù)庫使用的是BigchainDB,分布式文件系統(tǒng)采用的是IPFS。

      以上構(gòu)建的區(qū)塊鏈與鏈下存儲系統(tǒng)相結(jié)合的存儲方式,根據(jù)數(shù)據(jù)重要程度的不同,將數(shù)據(jù)存儲在不同的存儲空間。在可信度及效率之間尋求平衡,同時(shí)可以支持非結(jié)構(gòu)化數(shù)據(jù)的存儲。

      (2)數(shù)據(jù)同步機(jī)制設(shè)計(jì)

      鏈下分布式存儲系統(tǒng)如區(qū)塊鏈數(shù)據(jù)庫以及分布式文件系統(tǒng),查詢效率更高,從中查詢數(shù)據(jù)有利于提升整個(gè)系統(tǒng)的性能,本文設(shè)計(jì)其保存除智能合約代碼外的全部數(shù)據(jù)。但由于鏈下存儲系統(tǒng)的可信度不如區(qū)塊鏈,關(guān)鍵信息還需要存儲在區(qū)塊鏈。因此為了保證鏈上鏈下關(guān)鍵數(shù)據(jù)的一致性,本文設(shè)計(jì)了如圖3所示的數(shù)據(jù)同步機(jī)制。

      學(xué)歷學(xué)位信息溯源通常查詢鏈下系統(tǒng)來保證查詢效率,但對于學(xué)生關(guān)鍵信息,比如是否獲得學(xué)歷學(xué)位證書這一結(jié)果會從區(qū)塊鏈智能合約重新判定或查詢,可增強(qiáng)查詢結(jié)果的可信度。

      同步機(jī)制需要將區(qū)塊鏈智能合約中判定生成的關(guān)鍵數(shù)據(jù)同步至區(qū)塊鏈數(shù)據(jù)庫中,另外還可將區(qū)塊鏈與區(qū)塊鏈數(shù)據(jù)庫中的關(guān)鍵數(shù)據(jù)進(jìn)行核對,保持?jǐn)?shù)據(jù)一致。因此,本文設(shè)計(jì)了包含觸發(fā)同步以及定時(shí)同步的數(shù)據(jù)同步中間件,對區(qū)塊鏈與區(qū)塊鏈數(shù)據(jù)庫之間的數(shù)據(jù)進(jìn)行驗(yàn)證、同步。

      該中間件的功能模塊,如圖3所示。包含監(jiān)聽、數(shù)據(jù)庫操作、計(jì)時(shí)、對比以及報(bào)警五個(gè)功能模塊。其中監(jiān)聽模塊用于監(jiān)聽區(qū)塊鏈上數(shù)據(jù)的變化;數(shù)據(jù)庫操作模塊用于查詢區(qū)塊鏈與區(qū)塊鏈數(shù)據(jù)庫上的數(shù)據(jù);計(jì)時(shí)模塊用于在規(guī)定時(shí)間觸發(fā)同步機(jī)制開始定時(shí)同步功能;對比模塊則用于將區(qū)塊鏈與區(qū)塊鏈數(shù)據(jù)庫上查詢到的數(shù)據(jù)進(jìn)行對比;報(bào)警模塊則用于區(qū)塊鏈與區(qū)塊鏈數(shù)據(jù)庫數(shù)據(jù)不一致時(shí)向相關(guān)人員報(bào)警。

      本文使用以太坊區(qū)塊鏈平臺,而區(qū)塊鏈數(shù)據(jù)庫則是BigchainDB。

      本文同步機(jī)制監(jiān)聽模塊的實(shí)現(xiàn)依賴于智能合約的監(jiān)聽功能。下面舉例描述以太坊智能合約監(jiān)聽功能實(shí)現(xiàn)方式。以太坊智能合約可定義用于監(jiān)聽合約方法是否被執(zhí)行的事件(event),當(dāng)智能合約方法被執(zhí)行,定義在該方法中的事件會被觸發(fā)(emit),系統(tǒng)就能監(jiān)聽到數(shù)據(jù)的變化。比如可以監(jiān)聽如算法1的判斷學(xué)生是否畢業(yè)的JudgeGraduate方法。定義一個(gè)名為MonitJudgeGraduate的事件,入?yún)閷W(xué)生ID和學(xué)生是否畢業(yè)graduateState,該事件被JudgeGraduate方法觸發(fā)。

      算法1:監(jiān)聽畢業(yè)判定

      輸入:學(xué)生ID,總學(xué)分CC,四級成績CET,畢業(yè)論文成績CP

      輸出:學(xué)生是否畢業(yè)graduateState

      1:function ? JudgeGraduate(ID,CC,CET,CP)

      2: if(CC,CET,CP satisfy the graduation requirements) ?then

      3: graduateState=”graduate”

      4: else

      5: graduateState=”ungraduate”

      6:emit MonitJudgeGraduate(ID, ? graduateState)

      7:end function

      區(qū)塊鏈支持對學(xué)生任意數(shù)據(jù)的附加更新。在區(qū)塊鏈數(shù)據(jù)庫中,本文將一般不會改變的關(guān)鍵數(shù)據(jù)如學(xué)生標(biāo)識信息:姓名、出生年月、性別、學(xué)號、學(xué)校等信息標(biāo)注為資產(chǎn)數(shù)據(jù),將四級成績、是否畢業(yè)等會變化的信息設(shè)置為關(guān)鍵元數(shù)據(jù),元數(shù)據(jù)可以進(jìn)行更新,本文將學(xué)生學(xué)歷學(xué)位溯源數(shù)據(jù)在區(qū)塊鏈數(shù)據(jù)庫中存儲為關(guān)鍵元數(shù)據(jù)與非關(guān)鍵元數(shù)據(jù)。為了保證用戶在區(qū)塊鏈數(shù)據(jù)庫查詢到的關(guān)鍵數(shù)據(jù)是可信的,可以通過區(qū)塊鏈或者智能合約運(yùn)行對關(guān)鍵元數(shù)據(jù)核對,進(jìn)而更新,加強(qiáng)數(shù)據(jù)的可信性。

      為了實(shí)現(xiàn)區(qū)塊鏈與區(qū)塊鏈數(shù)據(jù)庫系統(tǒng)的同步,本文設(shè)計(jì)了觸發(fā)同步與定時(shí)同步兩種同步方式。

      功能1:觸發(fā)式同步

      觸發(fā)同步功能用于監(jiān)聽區(qū)塊鏈智能合約判定后產(chǎn)生的數(shù)據(jù)。例如,當(dāng)區(qū)塊鏈上執(zhí)行是否畢業(yè)的判定,中間件就會利用觸發(fā)同步功能進(jìn)行數(shù)據(jù)同步。

      下文以學(xué)生是否畢業(yè)這一數(shù)據(jù)的同步過程為例,對該實(shí)時(shí)同步機(jī)制的運(yùn)行方式進(jìn)行描述。中間件的模塊調(diào)用關(guān)系,如圖4所示。

      當(dāng)區(qū)塊鏈智能合約執(zhí)行判定學(xué)生是否畢業(yè)的函數(shù)時(shí),會觸發(fā)畢業(yè)判定事件,此時(shí)系統(tǒng)上中間件的監(jiān)聽模塊會監(jiān)聽到數(shù)據(jù)的變化,如圖4中①所示。隨后通知數(shù)據(jù)操作模塊,如圖4中②所示。數(shù)據(jù)操作模塊會調(diào)用區(qū)塊鏈數(shù)據(jù)庫模塊中的數(shù)據(jù)查詢函數(shù),根據(jù)該學(xué)生ID查詢學(xué)生在區(qū)塊鏈數(shù)據(jù)庫中對應(yīng)的關(guān)鍵元數(shù)據(jù),如圖4中③所示。隨后,對比模塊會對區(qū)塊鏈與區(qū)塊鏈數(shù)據(jù)庫上是否畢業(yè)這一數(shù)據(jù)進(jìn)行對比,如圖4中④所示。若數(shù)據(jù)一致,則不進(jìn)行操作;不一致則更新區(qū)塊鏈數(shù)據(jù)庫中數(shù)據(jù),如圖4中⑤所示。進(jìn)而將結(jié)果也存儲到區(qū)塊鏈,如圖4中⑥所示。

      功能2:定時(shí)同步

      定時(shí)同步功能可以在規(guī)定的時(shí)間對系統(tǒng)中智能合約計(jì)算相關(guān)的學(xué)生關(guān)鍵元數(shù)據(jù)進(jìn)行同步。該定時(shí)同步時(shí)間間隔T可以根據(jù)系統(tǒng)對數(shù)據(jù)一致性的要求、系統(tǒng)的數(shù)據(jù)處理能力以及數(shù)據(jù)量的大小等因素進(jìn)行設(shè)定,例如可以設(shè)置T為1天、2天、1周等。定時(shí)同步,中間件的模塊調(diào)用關(guān)系,如圖5所示。

      當(dāng)間隔時(shí)間為T1時(shí),計(jì)時(shí)模塊每隔T1就會發(fā)起數(shù)據(jù)同步操作,如圖5中①所示。此時(shí)數(shù)據(jù)操作模塊會分別調(diào)用區(qū)塊鏈數(shù)據(jù)查詢模塊和區(qū)塊鏈數(shù)據(jù)庫數(shù)據(jù)查詢模塊,根據(jù)學(xué)生ID對區(qū)塊鏈與區(qū)塊鏈數(shù)據(jù)庫上的學(xué)生數(shù)據(jù)進(jìn)行遍歷,如圖5中②所示。數(shù)據(jù)獲得后,會進(jìn)入對比模塊,如圖5中③所示。對比模塊會根據(jù)學(xué)生ID對學(xué)生在區(qū)塊鏈與區(qū)塊鏈數(shù)據(jù)庫上的關(guān)鍵數(shù)據(jù)進(jìn)行對比。數(shù)據(jù)一致則不進(jìn)行操作,數(shù)據(jù)不一致且區(qū)塊鏈上數(shù)據(jù)更新時(shí)間更晚時(shí)則調(diào)用區(qū)塊鏈數(shù)據(jù)庫上的數(shù)據(jù)更新模塊,將區(qū)塊鏈中查詢到的數(shù)據(jù)同步至區(qū)塊鏈數(shù)據(jù)庫,如圖5中④所示。若雙方數(shù)據(jù)不一致,且區(qū)塊鏈數(shù)據(jù)庫中數(shù)據(jù)更新時(shí)間更晚,則說明可能存在數(shù)據(jù)被惡意篡改的情況,需要調(diào)用報(bào)警模塊,通知相關(guān)人員數(shù)據(jù)存在異常,如圖5中⑤所示。

      以上描述的鏈上鏈下數(shù)據(jù)存儲模式,包含對數(shù)據(jù)的分類存儲的設(shè)計(jì)、數(shù)據(jù)協(xié)同機(jī)制的設(shè)計(jì),該模式有效解決了學(xué)歷學(xué)位溯源系統(tǒng)的數(shù)據(jù)安全與數(shù)據(jù)處理效率之間的矛盾,有利于加快基于區(qū)塊鏈的學(xué)歷學(xué)位信息溯源系統(tǒng)在實(shí)際中落地應(yīng)用。

      4.3 智能合約用戶訪問控制

      通過對用戶賦予不同的角色,不同角色又賦予不同的權(quán)限,來完成數(shù)據(jù)和功能訪問控制,可以減少數(shù)據(jù)違法操作與誤操作,保證學(xué)生學(xué)歷學(xué)位溯源數(shù)據(jù)的可信。

      實(shí)際中,學(xué)校各崗位的設(shè)置比較固定,但是各崗位上的人員變動(dòng)較大,因此該模式適合基于角色的訪問控制模型(RBAC)。

      模型中角色將用戶與權(quán)限分離,可以減少人員職位變動(dòng)時(shí),權(quán)限數(shù)據(jù)做過多調(diào)整。另外,本文將區(qū)塊鏈智能合約與RBAC模型結(jié)合,改變以往訪問控制中心化的管理方式。本文實(shí)現(xiàn)的訪問控制機(jī)制在實(shí)現(xiàn)自動(dòng)執(zhí)行、不可篡改的同時(shí),還可以記錄在什么時(shí)間、什么人員,進(jìn)行了什么數(shù)據(jù)變更操作,方便追責(zé)。

      本文在區(qū)塊鏈智能合約中實(shí)現(xiàn)了該權(quán)限管理模型。首先,在智能合約中建立了可以存儲用戶、角色以及權(quán)限信息的結(jié)構(gòu)體,并增加用戶、角色以及權(quán)限相關(guān)信息的新增、修改、查詢以及禁用等功能。其中,用戶相關(guān)操作包含用戶新增、修改、禁用、查詢以及用戶角色修改五個(gè)功能。角色相關(guān)操作包含角色新增、修改、查詢、禁用以及角色權(quán)限修改五個(gè)功能。權(quán)限相關(guān)操作包含權(quán)限新增、修改、查詢以及權(quán)限禁用四個(gè)功能。

      如圖6所示,為該區(qū)塊鏈學(xué)歷學(xué)位溯源系統(tǒng)訪問控制中的用戶、角色以及權(quán)限的關(guān)系。可見該系統(tǒng)主要包含五類角色:管理員、教師、學(xué)生、用人單位以及第三方監(jiān)管單位。為了更加簡單的表達(dá)使用方法,特將角色權(quán)限簡化,各個(gè)角色的權(quán)限表達(dá)為:管理員具有配置用戶角色的權(quán)限;教師具有上傳學(xué)生成績和相關(guān)信息的權(quán)限;學(xué)生具有查詢和確認(rèn)數(shù)據(jù)的權(quán)限;用人單位和第三方監(jiān)管具有查詢數(shù)據(jù)的權(quán)限。

      4.4 學(xué)歷學(xué)位判定智能合約模板

      該基于區(qū)塊鏈的學(xué)歷學(xué)位溯源系統(tǒng)采用數(shù)據(jù)與邏輯分離的設(shè)計(jì)模式,區(qū)塊鏈上的數(shù)據(jù)與智能合約定義的邏輯代碼也遵守該原則。

      高校在學(xué)生入學(xué)時(shí)會與學(xué)生簽訂畢業(yè)協(xié)議,學(xué)生滿足畢業(yè)協(xié)議才能畢業(yè)。將畢業(yè)協(xié)議轉(zhuǎn)化為區(qū)塊鏈智能合約代碼,能保證學(xué)位授予規(guī)則自動(dòng)執(zhí)行,執(zhí)行過程的不可篡改、執(zhí)行結(jié)果的可信。

      高校每一屆學(xué)生的畢業(yè)協(xié)議都具有一定的共性,但也會根據(jù)課程和教育改革等實(shí)際情況進(jìn)行調(diào)整。高校管理人員進(jìn)行學(xué)歷學(xué)位授予智能合約或其他判定合約的開發(fā)需要一定編程基礎(chǔ),且智能合約一次部署不能中途更新,對代碼具有較高的要求。因此構(gòu)建通用的學(xué)歷學(xué)位溯源智能合約規(guī)則模塊,通過規(guī)則模塊組合,方便快速的構(gòu)建特定智能合約,有利于系統(tǒng)在實(shí)際中應(yīng)用。

      [10] 李中振,高超越,劉敏,代成琴,范軼. 基于區(qū)塊鏈技術(shù)的學(xué)籍管理系統(tǒng)[J]. 四川大學(xué)學(xué)報(bào)(自然科學(xué)版), 2019, 56(03): 450-456.

      [11] Jirgensons M, Kapenieks J. Blockchain and the future of digital learning credential assessment and management[J]. Journal of Teacher Education for Sustainability, 2018, 20(1): 145-156.

      [12] 袁勇, 王飛躍. 區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀與展望[J]. 自動(dòng)化學(xué)報(bào),2016,42(4).

      [13] 邵奇峰, 金澈清, 張召等. 區(qū)塊鏈技術(shù):架構(gòu)及進(jìn)展[J]. 計(jì)算機(jī)學(xué)報(bào), 2018, 425(05): 3-22.

      [14] Salah K, Rehman M H U, Nizamuddin N, et al. Blockchain for AI: Review and open research challenges[J]. IEEE Access, 2019, 7: 10127-10149.

      [15] McConaghy T, Marques R, Müller A, et al. BigchainDB: A Scalable Blockchain Database[J]. white paper, BigchainDB, 2016.

      [16] Benet J. IPFS - Content Addressed, Versioned, P2P File System (DRAFT 3)[J]. Eprint Arxiv, 2014.

      [17] 以太坊團(tuán)隊(duì). Storage and communication infrastructure for a sovereign digital society [EB/OL]. https://swarm-guide.readthedocs.io/en/latest/introduction.html, 2019/2020-05-27.

      [18] 王于丁, 楊家海, 徐聰, et al. 云計(jì)算訪問控制技術(shù)研究綜述[J]. 軟件學(xué)報(bào), 2015, 26(05): 1129-1150.

      [19] 劉敖迪, 杜學(xué)繪, 王娜, et al. 基于區(qū)塊鏈的大數(shù)據(jù)訪問控制機(jī)制[J]. 軟件學(xué)報(bào), 2019, 30(09): 2636-2654.

      [20] 史錦山,李茹. 物聯(lián)網(wǎng)下的區(qū)塊鏈訪問控制綜述[J]. 軟件學(xué)報(bào), 2019, 30(06): 1632-1648.

      [21] Ding Y, Jin J, Zhang J, et al. SC-RBAC: A Smart Contract based RBAC Model for DApps[C]//International Conference on Human Centered Computing. Springer, Cham, 2019: 75-85.

      猜你喜歡
      智能合約區(qū)塊鏈
      農(nóng)產(chǎn)品供應(yīng)鏈金融信用體系框架設(shè)計(jì)
      基于區(qū)塊鏈技術(shù)的去中心化數(shù)字出版平臺研究
      區(qū)塊鏈技術(shù)在互聯(lián)網(wǎng)保險(xiǎn)行業(yè)的應(yīng)用探討
      智能合約的特點(diǎn)及其在債券市場的應(yīng)用
      保險(xiǎn)企業(yè)的區(qū)塊鏈技術(shù)應(yīng)用方向選擇研究
      區(qū)塊鏈技術(shù)在金融領(lǐng)域的應(yīng)用與前景研究
      區(qū)塊鏈技術(shù)的應(yīng)用價(jià)值分析
      “區(qū)塊鏈”的茍且、詩和遠(yuǎn)方
      基于區(qū)塊鏈技術(shù)的數(shù)字貨幣與傳統(tǒng)貨幣辨析
      區(qū)塊鏈技術(shù)在會計(jì)中的應(yīng)用展望
      加查县| 澄迈县| 图木舒克市| 梁平县| 商河县| 福海县| 如东县| 罗平县| 鸡东县| 彭山县| 荃湾区| 长泰县| 奉节县| 旬邑县| 库尔勒市| 修水县| 色达县| 紫阳县| 杂多县| 高清| 文安县| 南汇区| 桑植县| 玛曲县| 塔城市| 西藏| 体育| 略阳县| 镇雄县| 宁南县| 铜梁县| 潞西市| 安龙县| 都江堰市| 社会| 沽源县| 宿松县| 孟连| 礼泉县| 吴桥县| 雅江县|