孫華林 盛昀瑤 王瑩
摘要:該文介紹了區(qū)塊鏈概念、分類(lèi)及Fabric框架技術(shù),分析了非學(xué)歷在線(xiàn)教育之現(xiàn)狀及面臨的問(wèn)題,給出了基于Fabric構(gòu)建非學(xué)歷在線(xiàn)教育學(xué)習(xí)成果認(rèn)證系統(tǒng)的設(shè)計(jì)和原型實(shí)現(xiàn)過(guò)程,對(duì)構(gòu)建終身學(xué)習(xí)型社會(huì)具有一定的理論指導(dǎo)意義和實(shí)際應(yīng)用價(jià)值。
關(guān)鍵詞:區(qū)塊鏈;在線(xiàn)教育;成果認(rèn)證
中圖分類(lèi)號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)35-0232-03
近兩年,被金融市場(chǎng)“比特幣”概念帶火的區(qū)塊鏈技術(shù)因具有“可追溯、防篡改、去中心化[1]”等特點(diǎn),受到各國(guó)政府及企業(yè)的高度關(guān)注,其在金融、政務(wù)、物流、審計(jì)等領(lǐng)域的應(yīng)用越來(lái)越廣泛。區(qū)塊鏈可排除被中心化代理控制的風(fēng)險(xiǎn),其發(fā)展及應(yīng)用在不久的將來(lái)可能會(huì)顛覆各行業(yè)傳統(tǒng)的運(yùn)行模式。教育界也開(kāi)始考慮應(yīng)用區(qū)塊鏈構(gòu)建教育信息化基礎(chǔ)設(shè)施,解決教育問(wèn)題,提供創(chuàng)新服務(wù)[2]。國(guó)外,2015年秋季麻省理工學(xué)院的媒體實(shí)驗(yàn)室采用區(qū)塊鏈研發(fā)了學(xué)習(xí)證書(shū)平臺(tái)在區(qū)塊鏈上共享學(xué)歷證書(shū)信息。國(guó)內(nèi),沈忠華認(rèn)為區(qū)塊鏈的“去中心化、可追溯”可解決教育評(píng)估過(guò)程中易受教育機(jī)構(gòu)行政部門(mén)約束(如評(píng)估材料造假)等難題。上述研究一定程度上解決了傳統(tǒng)學(xué)歷教育中存在的一些問(wèn)題。研究者一直關(guān)注區(qū)塊鏈在各行業(yè)包括傳統(tǒng)的以“學(xué)校為中心”的學(xué)歷教育的應(yīng)用研究。但在教育領(lǐng)域,隨著以慕課為代表的全球開(kāi)放教育資源運(yùn)動(dòng)的持續(xù)深入發(fā)展,人類(lèi)學(xué)習(xí)呈現(xiàn)出模式數(shù)字化、內(nèi)容多樣化、機(jī)會(huì)民主化、場(chǎng)所分散化的日益多元的去中心化特征,研究者對(duì)這種去中心化的在線(xiàn)教育領(lǐng)域的研究不多,尤其是在線(xiàn)教育如何構(gòu)建“可信”的“學(xué)習(xí)過(guò)程檔案及學(xué)習(xí)成果認(rèn)證”的研究方面。本文將基于Fabric區(qū)塊鏈框架,解決“去中心化、缺少政府信用支撐”的在線(xiàn)教育在構(gòu)建終身教育體系時(shí)面臨提供“學(xué)習(xí)者真實(shí)學(xué)習(xí)軌跡與過(guò)程記錄、學(xué)習(xí)成果認(rèn)證”等一系列問(wèn)題,對(duì)構(gòu)建終身學(xué)習(xí)型社會(huì)具有重要的理論指導(dǎo)意義和實(shí)際應(yīng)用價(jià)值[2]。
1 區(qū)塊鏈及其開(kāi)發(fā)框架
1.1區(qū)塊鏈概念及分類(lèi)
區(qū)塊鏈技術(shù)是基于塊鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)來(lái)驗(yàn)證與存儲(chǔ)數(shù)據(jù)、采用分布式節(jié)點(diǎn)共識(shí)算法來(lái)生成和更新數(shù)據(jù)、利用密碼學(xué)原理保證數(shù)據(jù)訪(fǎng)問(wèn)安全、采用智能合約編寫(xiě)腳本來(lái)操縱數(shù)據(jù)的一種全新的分布式基礎(chǔ)架構(gòu)和計(jì)算范式,它具有“可追溯、防篡改、去中心化”的特征[3]。
根據(jù)應(yīng)用場(chǎng)景不同,區(qū)塊鏈一般可以分為公有鏈、聯(lián)盟鏈和私有鏈3種類(lèi)型。公有鏈顧名思義,就是鏈上的每一個(gè)節(jié)點(diǎn)都是“公共的、開(kāi)放的”,網(wǎng)絡(luò)上的任何組織或用戶(hù)都可以訪(fǎng)問(wèn)這個(gè)節(jié)點(diǎn);私有鏈和公有鏈之“開(kāi)放節(jié)點(diǎn)”特征恰恰相反,其鏈上的節(jié)點(diǎn)僅僅向有權(quán)限的用戶(hù)開(kāi)放,其他沒(méi)有權(quán)限的用戶(hù)不能查看或操作私有鏈上的節(jié)點(diǎn)中的數(shù)據(jù);聯(lián)盟鏈?zhǔn)墙橛诠墟満退接墟溨g的一種“去中心化”被弱化的區(qū)塊鏈類(lèi)型,一般是由利益攸關(guān)方組成的聯(lián)盟發(fā)起和創(chuàng)建,聯(lián)盟鏈中的每一個(gè)節(jié)點(diǎn)都代表某個(gè)組織,這些組織都是通過(guò)充分的授權(quán)才能進(jìn)入聯(lián)盟鏈,成為其中的一分子[4-5]。
1.2區(qū)塊鏈主流開(kāi)發(fā)框架介紹
1.2.1比特幣Bitcoin
比特幣是區(qū)塊鏈技術(shù)的第一個(gè)應(yīng)用場(chǎng)景,也讓區(qū)塊鏈技術(shù)從此名聲大噪,對(duì)區(qū)塊鏈技術(shù)崛起有著舉重若輕的作用,這里不再詳述。
1.2.2以太坊Ethereum架構(gòu)
這是區(qū)塊鏈2.0的典型應(yīng)用代表,是一種面向所有公眾的公有鏈。其采用五層架構(gòu),從上到下分別為數(shù)據(jù)層、網(wǎng)絡(luò)層、共識(shí)層、激勵(lì)層和智能合約層。數(shù)據(jù)層是基礎(chǔ)層,主要負(fù)責(zé)數(shù)據(jù)存儲(chǔ)及數(shù)據(jù)安全,采用leveldb實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ),基于哈希函數(shù)和非對(duì)稱(chēng)加密保證交易安全;網(wǎng)絡(luò)層采用點(diǎn)對(duì)點(diǎn)技術(shù)實(shí)現(xiàn)鏈中節(jié)點(diǎn)的互聯(lián);智能合約層為開(kāi)發(fā)者提供可編程特性,其實(shí)現(xiàn)了區(qū)塊鏈的數(shù)據(jù)透明、不可篡改及永久運(yùn)行的三個(gè)特性。以太坊中智能合約運(yùn)行環(huán)境是以太坊虛擬機(jī)(EVM),運(yùn)行在EVM中的Code被沙箱封裝起來(lái)只能有限制的調(diào)用。目前基于以太坊的合約項(xiàng)目已達(dá)到數(shù)百個(gè),比較有名的有Augur、TheDAO、Digix、FirstBlood等。
1.2.3 Corda架構(gòu)
Corda是由R3CEV推出的一款分布式賬本平臺(tái),主要是為金融機(jī)構(gòu)特別是銀行打造的一個(gè)系統(tǒng)。從區(qū)塊鏈的嚴(yán)格意義上來(lái)講Corda并不是真正意義上的區(qū)塊鏈,它是一個(gè)“受區(qū)塊鏈啟發(fā)的”技術(shù)平臺(tái)。Corda采用UTXO模型、網(wǎng)絡(luò)是基于P2P的分布式網(wǎng)絡(luò),沒(méi)有廣播,只是基于點(diǎn)對(duì)點(diǎn)的消息交流方式,網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)都執(zhí)行稱(chēng)為CorDapps的應(yīng)用程序的JVM run-time environment。
1.2.4螞蟻區(qū)塊鏈Baas
螞蟻區(qū)塊鏈BaaS的全稱(chēng)即Blockchain as a Service,也就是大家熟悉的阿里云區(qū)塊鏈服務(wù)。因基于云平臺(tái)開(kāi)放區(qū)塊鏈技術(shù),架構(gòu)平臺(tái)具有高性能、高可靠和高容錯(cuò)性,在隱私保護(hù)方面也做得很好。螞蟻區(qū)塊鏈BaaS主要的應(yīng)用場(chǎng)景是企業(yè)級(jí)聯(lián)盟鏈,采用三層技術(shù)架構(gòu)(分別為底層BaaS Core、中間層BaaS Plus和頂層BaaS Marketplace),主要有聯(lián)盟鏈管理、身份認(rèn)證、自動(dòng)化部署、區(qū)塊鏈服務(wù)、業(yè)務(wù)配置等五個(gè)核心功能。
1.2.5 Fabric架構(gòu)
Fabric是由IBM和DAH主導(dǎo)開(kāi)發(fā)的一個(gè)區(qū)塊鏈框架,是超級(jí)帳本的項(xiàng)目成員之一。它是一種“松耦合”架構(gòu),架構(gòu)中的共識(shí)機(jī)制、身份驗(yàn)證等模塊采用組件化設(shè)計(jì)思想,允許開(kāi)發(fā)人員根據(jù)應(yīng)用需求選擇相應(yīng)的模塊來(lái)實(shí)現(xiàn)功能。Fabric是一種采用了Docker容器技術(shù)的分布式智能合約平臺(tái),允許開(kāi)發(fā)者將編寫(xiě)的智能合約代碼放在容器中運(yùn)行,因此開(kāi)發(fā)人員在智能合約編碼階段可以使用Java、Python、C#等所有開(kāi)發(fā)語(yǔ)言來(lái)實(shí)現(xiàn)。
2 非學(xué)歷在線(xiàn)教育之現(xiàn)狀及困境
2.1現(xiàn)狀
在傳統(tǒng)的學(xué)歷教育及非學(xué)歷技術(shù)培訓(xùn)市場(chǎng),信息化教學(xué)正在顛覆人們受教育的方式。各種依托網(wǎng)絡(luò)的在線(xiàn)資源如面向“公眾”的MOOC課程及面向“小眾”的SPOC課程如雨后春筍般涌現(xiàn)出來(lái),傳統(tǒng)的線(xiàn)下教學(xué)如以學(xué)校、各類(lèi)培訓(xùn)機(jī)構(gòu)為中心的“中心化”教育模式逐步向網(wǎng)絡(luò)在線(xiàn)模式轉(zhuǎn)變[2]。這種轉(zhuǎn)變?yōu)閷W(xué)習(xí)者帶來(lái)了教育選擇多樣化、培訓(xùn)內(nèi)容多樣化、受教育機(jī)會(huì)均等化、降低學(xué)習(xí)者學(xué)習(xí)成本等好處,學(xué)習(xí)者可以因地制宜、根據(jù)自己的時(shí)間、特點(diǎn)選擇線(xiàn)上教育資源。近兩年出現(xiàn)了諸如中國(guó)大學(xué)慕課網(wǎng)、職教云等一系列在線(xiàn)資源平臺(tái),為廣大學(xué)習(xí)者提供了幾千門(mén)在線(xiàn)優(yōu)質(zhì)課程,有力地推動(dòng)了教育的機(jī)會(huì)均衡發(fā)展。
2.2面臨的問(wèn)題
網(wǎng)絡(luò)在線(xiàn)開(kāi)放教育雖然為學(xué)員提供了大量的優(yōu)質(zhì)課程,有力地推動(dòng)了新時(shí)期的新的學(xué)習(xí)方式變革,也存在著“信任危機(jī)”問(wèn)題。傳統(tǒng)的線(xiàn)下學(xué)歷教育因有政府的信譽(yù)支撐,學(xué)歷教育過(guò)程中的“過(guò)程材料、學(xué)習(xí)成績(jī)”及發(fā)放的學(xué)歷證書(shū)不會(huì)產(chǎn)生“信任危機(jī)”,而缺少“政府信譽(yù)支撐”的網(wǎng)絡(luò)在線(xiàn)開(kāi)放教育面臨提供“學(xué)習(xí)者真實(shí)學(xué)習(xí)軌跡與過(guò)程記錄、學(xué)習(xí)成果認(rèn)證”等一系列信任問(wèn)題,基于區(qū)塊鏈技術(shù)構(gòu)建“可信的學(xué)習(xí)過(guò)程檔案”勢(shì)在必行。
3 Fabric框架技術(shù)在非學(xué)歷在線(xiàn)教育中的運(yùn)用
3.1 Fabric及其架構(gòu)
3.1.1 Fabric框架技術(shù)
Hyperledger是由Linux基金會(huì)主導(dǎo)的區(qū)塊鏈開(kāi)源項(xiàng)目,項(xiàng)目包含了面向多個(gè)領(lǐng)域的區(qū)塊鏈開(kāi)源框架,其中Fabric是這些開(kāi)源框架中最著名的一個(gè)。根據(jù)區(qū)塊鏈的分類(lèi)性質(zhì),F(xiàn)abric框架是一種適合構(gòu)建跨多個(gè)組織的去中心化應(yīng)用的企業(yè)級(jí)解決方案,可以歸類(lèi)為聯(lián)盟鏈,這種聯(lián)盟鏈和以太坊等公有鏈在設(shè)計(jì)上有區(qū)別,那就是引入了身份驗(yàn)證、權(quán)限控制及數(shù)據(jù)隱私保護(hù)機(jī)制,以適應(yīng)企業(yè)級(jí)應(yīng)用的限制性要求[6]。
Fabric分布式賬本采用不可篡改的區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)保存信息,可以將學(xué)習(xí)者的各個(gè)學(xué)習(xí)環(huán)節(jié)記錄到區(qū)塊鏈中,保證了溯源信息的透明與可信。
3.1.2 Fabric架構(gòu)
Fabric是聯(lián)盟鏈,其架構(gòu)核心為Identity,Ledger及Transac-tions,Smart Contact幾個(gè)部分[7]。Identity即身份管理戚員管理,只有有權(quán)限的org組織才被允許加入?yún)^(qū)塊鏈網(wǎng)絡(luò);Smart Con-tract即智能合約,體現(xiàn)為一段業(yè)務(wù)邏輯代碼一鏈碼;Fabric不僅提供了方便的、可以根據(jù)不同需求來(lái)設(shè)置共識(shí)協(xié)議的方法,還提供API方便應(yīng)用開(kāi)發(fā),服務(wù)端ChainCode開(kāi)發(fā)可采用Go、Java或者Node.js,客戶(hù)端應(yīng)用可以使用Java SDK。Fabric整體架構(gòu)如下圖1所示。
3.2基于Fabric的非學(xué)歷在線(xiàn)教育學(xué)習(xí)成果認(rèn)證系統(tǒng)設(shè)計(jì)
如圖2所示,非學(xué)歷在線(xiàn)教育學(xué)習(xí)成果認(rèn)證系統(tǒng)分為Fab-ric區(qū)塊鏈網(wǎng)絡(luò)平臺(tái)、Application應(yīng)用組件及智能合約部分。區(qū)塊鏈網(wǎng)絡(luò)平臺(tái)設(shè)計(jì)了CA、Endors及Order三個(gè)節(jié)點(diǎn)和一個(gè)DataStore服務(wù)。CA節(jié)點(diǎn)負(fù)責(zé)證書(shū)管理,如果某組織org1中的p節(jié)點(diǎn)沒(méi)有加入channel通道中,那么Order在下發(fā)區(qū)塊的時(shí)候,就不會(huì)向org1組織中的節(jié)點(diǎn)分發(fā)這個(gè)區(qū)塊;DataStore服務(wù)可以實(shí)現(xiàn)對(duì)分布式賬本的各種操作,Application應(yīng)用組件部分基于Fabric-Node.js-SDK采用gRPC遠(yuǎn)程過(guò)程調(diào)用訪(fǎng)問(wèn)區(qū)塊鏈平臺(tái)進(jìn)行各種數(shù)據(jù)操作,智能合約部分采用編碼實(shí)現(xiàn)和外界數(shù)據(jù)交換接口功能。
3.3系統(tǒng)最小原型的實(shí)現(xiàn)
3.3.1系統(tǒng)需求
基于Fabric的非學(xué)歷在線(xiàn)教育學(xué)習(xí)成果認(rèn)證系統(tǒng)功能需求分析將主要分為賬戶(hù)管理、學(xué)習(xí)管理、區(qū)塊鏈管理及加密傳輸管理4個(gè)模塊。
賬戶(hù)管理主要實(shí)現(xiàn)組織機(jī)構(gòu)用戶(hù)注冊(cè)功能。學(xué)習(xí)者在網(wǎng)上學(xué)習(xí)前系統(tǒng)首先采用非對(duì)稱(chēng)秘鑰進(jìn)行區(qū)塊鏈節(jié)點(diǎn)的合法性檢驗(yàn),驗(yàn)證通過(guò)的節(jié)點(diǎn)才有被允許加入?yún)^(qū)塊鏈網(wǎng)絡(luò)的權(quán)限。學(xué)習(xí)管理模塊對(duì)學(xué)習(xí)的資源、學(xué)員信息、培訓(xùn)機(jī)構(gòu)、學(xué)習(xí)過(guò)程記錄等進(jìn)行統(tǒng)一管理。區(qū)塊鏈管理模塊是整個(gè)系統(tǒng)的核心,系統(tǒng)中學(xué)員的學(xué)習(xí)過(guò)程、成績(jī)等資料將被記錄到節(jié)點(diǎn)區(qū)塊中,這一過(guò)程具體采用的是監(jiān)聽(tīng)機(jī)制,即當(dāng)監(jiān)聽(tīng)到系統(tǒng)中有學(xué)員學(xué)習(xí)成果信息后,成果信息將被記錄在最近的節(jié)點(diǎn)中,然后這個(gè)節(jié)點(diǎn)通過(guò)區(qū)塊鏈廣播的方式向整個(gè)鏈發(fā)送自己記錄的區(qū)塊數(shù)據(jù)。
3.3.2基本數(shù)據(jù)存儲(chǔ)(CouchDB)
系統(tǒng)有培訓(xùn)機(jī)構(gòu)信息、學(xué)員信息、課程信息、講師信息、學(xué)員學(xué)習(xí)過(guò)程記錄5個(gè)基本數(shù)據(jù)表。
培訓(xùn)機(jī)構(gòu)信息包括機(jī)構(gòu)名稱(chēng)、地址、用于標(biāo)識(shí)機(jī)構(gòu)唯一身份的ID、公鑰publicKey、私鑰privateKey及標(biāo)識(shí)學(xué)員身份的stu-dentID;學(xué)員信息包括學(xué)員姓名、性別、身份證號(hào)和標(biāo)識(shí)學(xué)員唯一身份的studentID;課程信息主要包括課程ID、開(kāi)課時(shí)間、結(jié)束時(shí)間、學(xué)時(shí)、課程簡(jiǎn)介、開(kāi)課講師ID;學(xué)員學(xué)習(xí)過(guò)程記錄信息包括主鍵ID、開(kāi)始學(xué)習(xí)時(shí)間、結(jié)束學(xué)習(xí)時(shí)間、學(xué)員標(biāo)識(shí)studentID、學(xué)員狀態(tài)、培訓(xùn)機(jī)構(gòu)ID、機(jī)構(gòu)簽名信息、學(xué)習(xí)課程ID、是否完成學(xué)習(xí)、獲得成果信息列表等信息。
3.3.3系統(tǒng)簡(jiǎn)單實(shí)現(xiàn)過(guò)程
編寫(xiě)并部署智能合約函數(shù),調(diào)用這個(gè)函數(shù)將培訓(xùn)機(jī)構(gòu)信息、課程信息、講師信息寫(xiě)入到分布式賬本中,并生成區(qū)塊記錄。學(xué)員注冊(cè)后可以選擇某個(gè)培訓(xùn)機(jī)構(gòu)中的課程資源進(jìn)行學(xué)習(xí),此時(shí)需要在學(xué)習(xí)過(guò)程記錄中寫(xiě)入學(xué)習(xí)操作記錄。當(dāng)學(xué)員完成學(xué)習(xí)并有成績(jī)等學(xué)習(xí)成果產(chǎn)生時(shí),系統(tǒng)將會(huì)調(diào)用預(yù)先編譯并部署完成的智能合約自動(dòng)更新該學(xué)員的狀態(tài)信息,并在分布式賬本中記錄相關(guān)操作然后生成區(qū)塊。
4 結(jié)束語(yǔ)
本文采用Fabric框架構(gòu)建了非學(xué)歷在線(xiàn)教育學(xué)習(xí)成果認(rèn)證系統(tǒng)原型,通過(guò)在“鏈”上發(fā)布與記錄學(xué)習(xí)者的學(xué)習(xí)軌跡、過(guò)程記錄及學(xué)習(xí)成果,保證了鏈上的數(shù)據(jù)不可篡改、偽造和公開(kāi)透明,為學(xué)習(xí)者提供了可信的終身學(xué)習(xí)檔案和學(xué)習(xí)成果認(rèn)定,對(duì)構(gòu)建終身學(xué)習(xí)型社會(huì)具有一定的理論指導(dǎo)意義和實(shí)際應(yīng)用價(jià)值。
參考文獻(xiàn):
[1]樊文強(qiáng).MOOC學(xué)習(xí)成果認(rèn)證及對(duì)高等教育變革路徑的影響[J].現(xiàn)代遠(yuǎn)程教育研究,2015(3):53-64.
[2]孫華林,盛昀瑤,蘇寶莉.區(qū)塊鏈+在線(xiàn)教育的現(xiàn)狀分析與研究[J].湖南郵電職業(yè)技術(shù)學(xué)院學(xué)報(bào),2019(6):16-18.
[3]李中振,高超越,劉敏,等.基于區(qū)塊鏈技術(shù)的學(xué)籍管理系統(tǒng)[J].四川大學(xué)學(xué)報(bào):自然科學(xué)版,2019(5):450-456.
[4]周利平,張景韶,蘇理華.基于區(qū)塊鏈技術(shù)的學(xué)分銀行學(xué)習(xí)成果認(rèn)證體系結(jié)構(gòu)變更[J].湖北函授大學(xué)學(xué)報(bào),2018,31(16):34-37.
[5]張偉遠(yuǎn),張璇.推進(jìn)終身學(xué)習(xí)和建立學(xué)分認(rèn)證制度的最新發(fā)展與實(shí)踐探索[J].終身教育研究,2017(2):11-16.
[6]葉柯.區(qū)塊鏈在學(xué)分銀行平臺(tái)中的應(yīng)用研究——基于Ethe-reum區(qū)塊鏈的學(xué)分銀行系統(tǒng)的研究與實(shí)踐[J].寧波廣播電視大學(xué)學(xué)報(bào),2018(12):113-118.
[7]熊維祥.基于區(qū)塊鏈技術(shù)的學(xué)分認(rèn)證系統(tǒng)研究[D].北京:北京郵電大學(xué),2018.
【通聯(lián)編輯:謝媛媛】
收稿日期:2019-10-19
基金項(xiàng)目:2018年度CCF職業(yè)教育發(fā)展委員會(huì)職業(yè)教育科研課題“區(qū)塊鏈視域下在線(xiàn)開(kāi)放教育與傳統(tǒng)教育學(xué)分互認(rèn)體系構(gòu)建研究”(項(xiàng)目編號(hào):CCFV2018010);2018年度江蘇高校哲學(xué)社會(huì)科學(xué)研究基金項(xiàng)目“區(qū)塊鏈新技術(shù)視域下在線(xiàn)開(kāi)放課程之學(xué)分鏈生態(tài)體系構(gòu)建研究”(項(xiàng)目編號(hào):2018SJA1845)
作者簡(jiǎn)介:孫華林(1977-),男,江蘇徐州人,常州機(jī)電職業(yè)技術(shù)學(xué)院副教授,碩士,研究方向?yàn)榻逃虒W(xué)信息化、云計(jì)算及大數(shù)據(jù)、區(qū)塊鏈。