(吉林建筑科技學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院,吉林 長(zhǎng)春 130114)
區(qū)塊鏈起源于中本聰?shù)谋忍貛牛鋵?shí)是比特幣應(yīng)用的底層技術(shù)之一,隨著其不斷發(fā)展,人們總結(jié)其本質(zhì)上是一個(gè)無(wú)中心化的數(shù)據(jù)庫(kù),即通過(guò)無(wú)中心化和無(wú)中介的方式集體去維護(hù)一個(gè)可靠數(shù)據(jù)庫(kù)的技術(shù)方案。隨著區(qū)塊鏈技術(shù)的日益完善,使它的應(yīng)用價(jià)值在不同行業(yè)逐漸顯現(xiàn)出來(lái),同時(shí)受到了各個(gè)國(guó)家政府的高度關(guān)注。例如美國(guó)、澳大利亞、英國(guó)、加拿大等政府推出扶持區(qū)塊鏈技術(shù)的若干政策主張,比較有代表性的麻省理工學(xué)院的實(shí)驗(yàn)室應(yīng)用區(qū)塊鏈技術(shù)研發(fā)了學(xué)習(xí)證書平臺(tái),世界開源Linux 基金會(huì)聯(lián)合30家企業(yè)建立Hyperledger項(xiàng)目。我國(guó)也相繼發(fā)布《區(qū)塊鏈信息服務(wù)管理規(guī)定》,中央集體學(xué)習(xí)時(shí)也多次強(qiáng)調(diào),“把區(qū)塊鏈作為核心技術(shù)自主創(chuàng)新的重要突破口”“加快推動(dòng)區(qū)塊鏈技術(shù)和產(chǎn)業(yè)創(chuàng)新發(fā)展”[1]。在我國(guó)“區(qū)塊鏈”已開始走進(jìn)各行各業(yè),成為社會(huì)關(guān)注的大眾焦點(diǎn)。同時(shí)大們也開始發(fā)掘區(qū)塊鏈的價(jià)值,并把它和教育行業(yè)緊密結(jié)合起來(lái)?;诿艽a學(xué)技術(shù)原理的區(qū)塊鏈通過(guò)時(shí)間戳、哈希函數(shù)等具體技術(shù)可以打擊學(xué)術(shù)造假,能夠保證學(xué)歷證書和文憑的真實(shí)性。
近年來(lái)媒體報(bào)道的學(xué)歷造假事件層出不窮,如論文造假,偽造應(yīng)屆畢業(yè)生身份參加高考,被學(xué)校開除或者考試不過(guò)的學(xué)生采取辦理假學(xué)歷的手段等等。傳統(tǒng)的人力資源證書檢測(cè)機(jī)構(gòu)檢測(cè)證書真?zhèn)蔚姆椒?,就是通過(guò)學(xué)信網(wǎng)上的學(xué)生證書編號(hào)及相關(guān)信息來(lái)查詢。另外,從技術(shù)方面來(lái)講,大量分散的數(shù)據(jù)增加了學(xué)信網(wǎng)的設(shè)備成本,同時(shí)學(xué)信網(wǎng)中心處理的發(fā)布、更新、備份及恢復(fù)等業(yè)務(wù)量巨增[3]。
由于區(qū)塊鏈技術(shù)具有去中心化、不可篡改性、開放性和獨(dú)立性等特點(diǎn),基于此技術(shù)建立的學(xué)信系統(tǒng)即學(xué)歷證書防偽檢驗(yàn),可以保證教育學(xué)歷證書的真實(shí),可以在特定的環(huán)節(jié)上規(guī)避學(xué)歷造假,讓?shí)徫桓?jìng)爭(zhēng)更加公平[4]。(1)去中心化。寫入?yún)^(qū)塊鏈的數(shù)據(jù)是以相同結(jié)構(gòu)體的鏈?zhǔn)酱鎯?chǔ)形式存在的,數(shù)據(jù)存儲(chǔ)采用分布式的方式,不需要其他管理機(jī)構(gòu)代替管理,也不需要具體的數(shù)據(jù)存儲(chǔ)或服務(wù)中心,各個(gè)節(jié)點(diǎn)進(jìn)行信息的自我驗(yàn)證、傳遞和管理。沒(méi)有中心是區(qū)塊鏈技術(shù)最突出最本質(zhì)的特征。(2)開放性。區(qū)塊鏈底層技術(shù)是開源的,任何人都可以據(jù)此開發(fā)相關(guān)應(yīng)用;區(qū)塊鏈中的數(shù)據(jù)只加密交易雙方認(rèn)為必要的重要數(shù)據(jù),其余信息都是可以公開的,每個(gè)人可以通過(guò)查詢接口查詢區(qū)塊鏈中的數(shù)據(jù),從技術(shù)和應(yīng)用兩個(gè)方面來(lái)講基于區(qū)塊鏈的系統(tǒng)都是透明的。(3)獨(dú)立性?;趨f(xié)商一致的規(guī)范和協(xié)議(類似比特幣采用的哈希算法等各種數(shù)學(xué)算法),整個(gè)區(qū)塊鏈系統(tǒng)不依賴其他第三方,所有節(jié)點(diǎn)能夠在系統(tǒng)內(nèi)自動(dòng)安全地驗(yàn)證、交換數(shù)據(jù),不需要任何人為的干預(yù)。(4)不可篡改性。要想惡意篡改數(shù)據(jù),必須要掌握系統(tǒng)全部節(jié)點(diǎn)的50%以上,其龐大的代價(jià)遠(yuǎn)遠(yuǎn)超過(guò)篡改的目的,這也是使其相對(duì)安全的主要原因,避免了主觀人為的對(duì)數(shù)據(jù)的修改。(5)匿名性。各區(qū)塊節(jié)點(diǎn)身份的相關(guān)信息如果排除法律法規(guī)要求外不需要公開或?qū)嵜?yàn)證,區(qū)塊鏈可以進(jìn)行匿名的信息傳遞。
(1)使用何種共識(shí)機(jī)制(consensus process):目前公有鏈采用的共識(shí)算法以POW居多,也就常聽說(shuō)的挖礦,這并不是一個(gè)特別滿意的方案,后來(lái)又有了POS(權(quán)益性證明)的方案,以及改進(jìn)版的DPOS方案,而POS&DPOS還并沒(méi)有經(jīng)歷工業(yè)化的考驗(yàn),尚待驗(yàn)證[5]。
(2)基礎(chǔ)賬本和賬戶模型是如何設(shè)計(jì)的:目前有兩種模型:①以比特幣為代表的UTXO賬戶模型,同時(shí)也是基礎(chǔ)賬本的基礎(chǔ)模型。②以以太坊為代表的Balance賬戶模型,balance的變化取決于合約狀態(tài)的變遷以及數(shù)據(jù)寫入。
(3)代幣分發(fā)的經(jīng)濟(jì)模型是如何設(shè)計(jì)的:比特幣是最簡(jiǎn)單的出塊獎(jiǎng)勵(lì)線性遞減的設(shè)計(jì)。這里主要涉及的問(wèn)題是如何將代幣公平的分發(fā)的問(wèn)題。
首先,使用區(qū)塊鏈和強(qiáng)加密的方式,定義一個(gè)區(qū)塊結(jié)構(gòu)體,具體的區(qū)塊應(yīng)包括塊頭和塊身兩部分內(nèi)容,塊頭主要包括父區(qū)塊哈希值,子區(qū)塊哈希值,時(shí)間戳等信息。塊身信息為數(shù)字文件,主要包含證書基本信息的姓名、專業(yè)、學(xué)號(hào)、證書號(hào),照片等內(nèi)容;其次,在加密算法中,使用秘藥對(duì)中的私鑰加密證書數(shù)據(jù),再對(duì)證書進(jìn)行簽名操作;然后按照某種規(guī)則創(chuàng)建一個(gè)哈希值,加密整個(gè)證書數(shù)據(jù),一旦數(shù)據(jù)信息被改動(dòng),就可通過(guò)哈希值進(jìn)行判斷;最后,再次使用加密算法中秘藥對(duì)中的私鑰將創(chuàng)建的新記錄記錄在比特幣區(qū)塊鏈上,該記錄可以證明對(duì)應(yīng)學(xué)歷證書的頒發(fā)時(shí)間和被頒發(fā)人。
(1)底層由區(qū)塊鏈技術(shù)支撐構(gòu)建的應(yīng)用平臺(tái)的研究與選擇。在最開始寫區(qū)塊鏈應(yīng)用程序的時(shí)候,要拷貝一份比特幣的原始代碼,然后去修改底層代碼,包括網(wǎng)絡(luò)協(xié)議,共識(shí)機(jī)制和加密算法等等。這種方法不僅費(fèi)時(shí)費(fèi)力,還要求使用者要精通比特幣技術(shù),后來(lái)人們?cè)囍庋b底層代碼,出現(xiàn)了區(qū)塊鏈2.0時(shí)代的代表技術(shù)以太坊平臺(tái),它是一個(gè)封裝了比特幣底層技術(shù),無(wú)中心化的應(yīng)用平臺(tái),區(qū)塊鏈應(yīng)用開發(fā)者可以免去研究比特幣底層代碼的苦惱,直接基于以太坊平臺(tái)進(jìn)行相關(guān)開發(fā),使得開發(fā)者只要專注于應(yīng)用本身即可,這樣大大降低了應(yīng)用區(qū)塊鏈的難度。
(2)在以太坊平臺(tái)上,如何實(shí)現(xiàn)學(xué)信系統(tǒng)的設(shè)計(jì)。編寫智能合約,在本地搭建的以太坊私有鏈節(jié)點(diǎn)上部署我們的智能合約(智能合約作為運(yùn)行在以太坊虛擬機(jī)(Ethereum Virtual Machine,EVM)中的應(yīng)用,智能合約就是程序,具體在接受外部的交易請(qǐng)求和事件時(shí),自動(dòng)執(zhí)行預(yù)先定義好的規(guī)則和程序,還可以進(jìn)一步生成新的交易和事件,然后調(diào)用其它智能合約。智能合約的執(zhí)行結(jié)果會(huì)對(duì)學(xué)信系統(tǒng)上的數(shù)據(jù)進(jìn)行更新操作。更新的數(shù)據(jù)經(jīng)過(guò)以太坊網(wǎng)絡(luò)中的共識(shí)算法并確認(rèn)后就無(wú)法被偽造和篡改)。還要設(shè)計(jì)與學(xué)信系統(tǒng)交互的前端界面,通過(guò)以太坊提供的Web3.js庫(kù)的JavaScript API接口調(diào)用部署在區(qū)塊鏈上智能合約的相應(yīng)方法,實(shí)現(xiàn)整個(gè)學(xué)信系統(tǒng)的流程[6-7]。主要技術(shù)路線圖詳見(jiàn)圖1。
(3)系統(tǒng)具體設(shè)計(jì)過(guò)程包括兩部分。教育機(jī)構(gòu)管理者界面:包括部署智能合約、認(rèn)證個(gè)人學(xué)習(xí)者、認(rèn)證個(gè)人學(xué)習(xí)記錄和結(jié)果、查看學(xué)習(xí)記錄和結(jié)果等。學(xué)習(xí)者界面:包括登錄注冊(cè)、添加學(xué)習(xí)記錄和結(jié)果、查看學(xué)習(xí)記錄和結(jié)果。
區(qū)塊鏈技術(shù)是一種新的架構(gòu)思想或者是一種新的設(shè)計(jì)方案,它所用到的密碼學(xué),數(shù)據(jù)結(jié)構(gòu)學(xué)、協(xié)議等理論基礎(chǔ)已經(jīng)非常扎實(shí)。全國(guó)乃至全球所有教育機(jī)構(gòu),都可以利用分布式記錄與存儲(chǔ)的區(qū)塊鏈技術(shù)特征,將其機(jī)構(gòu)的學(xué)歷證書上,還可以包括學(xué)習(xí)行為和學(xué)習(xí)結(jié)果記錄。利用區(qū)塊鏈防篡改、可驗(yàn)證的及無(wú)中心化的特征,將學(xué)歷證書信息存放在基于區(qū)塊鏈技術(shù)構(gòu)建的數(shù)據(jù)庫(kù)中,能夠更有效的保證學(xué)歷的真實(shí)性,同時(shí)也節(jié)省了制作證書及頒發(fā)證書的人力成本和時(shí)間成本,用區(qū)塊鏈技術(shù)解決學(xué)歷文憑和證書造假是區(qū)塊鏈在教育領(lǐng)域應(yīng)用的更佳方案。