国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于區(qū)塊鏈技術(shù)的學(xué)分銀行信息管理模型研究

2021-08-16 05:02:42黎富貴李敏莫秋榮
關(guān)鍵詞:智能合約學(xué)分銀行區(qū)塊鏈

黎富貴 李敏 莫秋榮

[摘 要]學(xué)分銀行是實現(xiàn)終身學(xué)習(xí)的關(guān)鍵環(huán)節(jié),文章提出基于區(qū)塊鏈技術(shù)的學(xué)分銀行信息管理模型(BCBM)。首先給出管理模型框架設(shè)計原理;其次提出一種聯(lián)盟式學(xué)分銀行區(qū)塊鏈系統(tǒng)共識算法——GPBFT算法,用有序組平衡多叉樹改進merkle樹—B_merkle樹,快速生成新的區(qū)塊,提升查詢認(rèn)證驗證效率;最后,設(shè)計權(quán)限合約、學(xué)習(xí)成果轉(zhuǎn)換標(biāo)準(zhǔn)合約、認(rèn)證標(biāo)準(zhǔn)合約等學(xué)分銀行智能合約,保證區(qū)塊鏈的自動運行和無篡改執(zhí)行。實驗分析表明,該管理模型使學(xué)分銀行的學(xué)習(xí)成果數(shù)據(jù)透明化、不被篡改,在網(wǎng)絡(luò)開銷和系統(tǒng)開銷等方面有著良好的表現(xiàn),為學(xué)分銀行信息管理提供新的技術(shù)思路和方法。

[關(guān)鍵詞]學(xué)分銀行;區(qū)塊鏈;共識算法;B_merkle樹;智能合約

[中圖分類號]TP311 [文獻標(biāo)識碼]A [文章編號]1008-7656(2021)02-0015-05

引言

隨著科技的不斷進步,信息技術(shù)深入社會的每個層面,社會各行業(yè)對人才的需求呈現(xiàn)多元化趨勢,傳統(tǒng)在校、線下單一的教育模式已經(jīng)難以滿足信息時代就業(yè)市場對創(chuàng)新人才的要求。學(xué)分銀行打破傳統(tǒng)的教育模式與管理方式,滿足現(xiàn)代學(xué)習(xí)者終身教育和個性化學(xué)習(xí)的需求。學(xué)分銀行的推行使學(xué)習(xí)者可以跨領(lǐng)域、跨專業(yè)、跨時空選擇學(xué)習(xí)內(nèi)容并進行存儲、轉(zhuǎn)換、兌換教育成果(學(xué)分),實現(xiàn)各類教育(培訓(xùn))機構(gòu)相互認(rèn)證,搭建起基于教育大數(shù)據(jù)的終身學(xué)習(xí)“立交橋”。這就需要一個集安全性、分布式、透明性于一體的成果記錄體系。

目前,一些學(xué)歷信用記錄體系存在數(shù)據(jù)不完整、缺乏簡單高效的驗證手段、學(xué)分銀行平臺體系之間(學(xué)習(xí)信息管理平臺)相互獨立、產(chǎn)生數(shù)據(jù)孤島等問題,導(dǎo)致管理者難以獲得完整的有效信息,很多學(xué)者對學(xué)分銀行如何管理教育成果作了一些研究,主要是通過建立標(biāo)準(zhǔn)體系和信息管理系統(tǒng)平臺進行管理、認(rèn)證和轉(zhuǎn)換,但難以保證學(xué)習(xí)成果的安全可靠,如采用大數(shù)據(jù)—云計算技術(shù)向?qū)W習(xí)者推薦學(xué)習(xí)相關(guān)服務(wù),尚未完全解決好學(xué)分銀行中云管理可靠性和安全性問題[1];通過引入SaaS 多租戶模式的中心化學(xué)分銀行系統(tǒng),在學(xué)分銀行系統(tǒng)中實現(xiàn)單一實例應(yīng)用多次,在后臺數(shù)據(jù)庫實現(xiàn)租戶間的數(shù)據(jù)共享和隔離[2];有的學(xué)者從學(xué)分銀行商業(yè)和技術(shù)需求的角度,提出了一個實用的分步指南,以識別系統(tǒng)中的服務(wù)[3]。

為了解決海量的學(xué)習(xí)成果數(shù)據(jù)壁壘問題,實現(xiàn)數(shù)據(jù)的安全性、完整性,本文設(shè)計了基于區(qū)塊鏈技術(shù)的學(xué)分銀行信息管理模型,實現(xiàn)學(xué)習(xí)過程記錄透明化、學(xué)習(xí)成果難以篡改、學(xué)習(xí)成果認(rèn)定和轉(zhuǎn)換高效可信的功能,提供需求分析和決策支持,由學(xué)分銀行教育機構(gòu)負(fù)責(zé)維護以太坊區(qū)塊的生成與校驗,實現(xiàn)賬戶間交易的去中心化執(zhí)行。

一、區(qū)塊鏈技術(shù)概述

區(qū)塊鏈技術(shù)是一種應(yīng)用于數(shù)字貨幣—比特幣的底層技術(shù)(分布式數(shù)據(jù)庫系統(tǒng)),具有去中心化、自治性、防篡改、不可偽造、可追溯等特點[4]。區(qū)塊鏈的數(shù)據(jù)結(jié)構(gòu)分為區(qū)塊內(nèi)和區(qū)塊間鏈?zhǔn)浇Y(jié)構(gòu)。區(qū)塊包括區(qū)塊頭和區(qū)塊體,頭部信息是元數(shù)據(jù),為區(qū)塊間提供關(guān)聯(lián)數(shù)據(jù),包含版本號、時間戳、前驅(qū)區(qū)塊地址、隨機數(shù)、哈希值、Merkle根值等信息內(nèi)容;區(qū)塊體包括區(qū)塊間交易的數(shù)量和交易記錄,交易的記錄由Merkle樹生成的哈希值(Merkle根值)記錄到區(qū)塊頭。獲得記賬權(quán)的礦工將當(dāng)前區(qū)塊鏈接到前一區(qū)塊,形成最新記賬權(quán)的礦工將當(dāng)前區(qū)塊鏈接到前一區(qū)塊,即為最新的區(qū)塊主鏈。區(qū)塊間依次相連,形成從創(chuàng)初區(qū)塊到當(dāng)前區(qū)塊的一條主鏈,就是記錄了區(qū)塊鏈數(shù)據(jù)的完整歷史數(shù)據(jù)。完整歷史數(shù)據(jù)可提供區(qū)塊鏈數(shù)據(jù)的溯源和歷史定位。根據(jù)節(jié)點的訪問權(quán)限開放程度(去中心化程度),區(qū)塊鏈分為私有鏈、聯(lián)盟鏈、公有鏈3種[5]。本文采用的是hyperledger fabric1.4聯(lián)盟鏈,依據(jù)一是學(xué)分銀行是由各教育機構(gòu)(高校)、政府部門、企業(yè)等共同參與管理,二是聯(lián)盟鏈支持和擴展PBFT等共識算法。

二、基于區(qū)塊鏈技術(shù)學(xué)分銀行管理模型設(shè)計

(一)區(qū)塊鏈模型框架設(shè)計

多數(shù)據(jù)源-區(qū)塊鏈學(xué)分銀行區(qū)塊鏈框架如圖1所示。

通常情況下,學(xué)習(xí)者是學(xué)分銀行成果的主要提供者,原始學(xué)習(xí)成果存儲到學(xué)分銀行節(jié)點數(shù)據(jù)庫中。教育(培訓(xùn)機構(gòu))、企業(yè)(用人單位)是學(xué)習(xí)成果的管理者、數(shù)據(jù)查詢方。為了保證原始成果可信、不可篡改,本文對學(xué)習(xí)者學(xué)習(xí)成果采用B_Merkle樹進行哈希算法運算,計算出摘要值并存放在B_Merkle樹根,在下文會詳細(xì)描述該算法。

聯(lián)盟節(jié)點中發(fā)起讀取學(xué)習(xí)成果存入學(xué)分銀行區(qū)塊的指令,聯(lián)盟的節(jié)點使用改進的PBFT進行驗證,經(jīng)過共識機制驗證學(xué)習(xí)成果合法性后,則根據(jù)認(rèn)證標(biāo)準(zhǔn)、兌換機制、轉(zhuǎn)換標(biāo)準(zhǔn)的智能合約條款完成學(xué)分轉(zhuǎn)換,并寫入?yún)^(qū)塊鏈中,副本保存到各節(jié)點的數(shù)據(jù)庫中。

(二)學(xué)分銀行節(jié)點管理

學(xué)分銀行節(jié)點是由驗證交易單 (Transaction) 和區(qū)塊驗證器(Validator)、 區(qū)塊生成器 (Blocker)組成,這三者之間通過共識算法協(xié)作運行(如圖2所示)。本文采用聯(lián)盟鏈的PBFT算法作為聯(lián)盟式學(xué)分銀行區(qū)塊鏈系統(tǒng)共識算法——GPBFT算法。

1.客戶端

聯(lián)盟式學(xué)分銀行區(qū)塊鏈系統(tǒng)是由多源無中心化節(jié)點組成的分布式網(wǎng)絡(luò)體系,客戶端是通過數(shù)字簽名和記錄區(qū)塊ID而生成交易單的組件,具有防篡改、防刪除、可溯源的特點??蛻舳酥饕?類人員:學(xué)習(xí)者、教育(培訓(xùn))機構(gòu)管理員、用人單位(企業(yè))。學(xué)習(xí)者注冊學(xué)習(xí),并授權(quán)節(jié)點管理的信息。節(jié)點管理員審核學(xué)習(xí)者的注冊信息、授權(quán)信息、授權(quán)其他節(jié)點提取數(shù)據(jù)等,保證平臺的服務(wù)。用人單位(企業(yè))主要查看學(xué)習(xí)者的相關(guān)信息(學(xué)習(xí)成果、學(xué)習(xí)過程、學(xué)分獲得情況等)。

2.基于學(xué)分銀行的PBFT共識算法

在學(xué)分銀行鏈(CB chain)中挖礦節(jié)點是區(qū)塊驗證器節(jié)點,有全節(jié)點和輕量級節(jié)點兩種。全節(jié)點用于保存用戶最新的、完整的數(shù)據(jù),輕量級節(jié)點僅保存部分信息。以用戶登錄的節(jié)點為全節(jié)點,其他節(jié)點為輕量級節(jié)點。驗證器為PBFT共識算法的副本節(jié)點,負(fù)責(zé)交易單和區(qū)塊消息的驗證,驗證流程:接收客戶端的交易單信息或區(qū)塊消息→校驗消息哈希簽名是否正確,信息是否符合規(guī)定(用戶授權(quán)范圍)→驗證“正確”,主節(jié)點驗證器生成預(yù)準(zhǔn)備信息→廣播各備份節(jié)點→PBFT共識算法三階段→各節(jié)點接收交易單并保存交易信息。

3.新區(qū)塊生成

在傳統(tǒng)的 PBFT 算法中, 比特幣區(qū)塊鏈每隔一定時間T通過“礦工挖礦”生成一個區(qū)塊。礦工挖礦過程的實質(zhì)是不斷生成隨機數(shù), 與區(qū)塊頭相關(guān)信息經(jīng)哈希算法運算后得到哈希值。若該哈希值大于一個設(shè)定的闕值, 則礦工挖礦不成功;若該哈希值小于一個設(shè)定的闕值, 則礦工挖礦成功, 生成一個區(qū)塊廣播至全網(wǎng), 同時可得到一筆報酬, 即獲得比特幣[6]。在聯(lián)盟式學(xué)分銀行區(qū)塊鏈系統(tǒng)中,區(qū)塊的生成需經(jīng)過驗證器集群校驗。鑒于區(qū)塊鏈部署的學(xué)分銀行在各地的培訓(xùn)機構(gòu)、教育行政機構(gòu)、學(xué)校和學(xué)習(xí)點(學(xué)習(xí)中心),其服務(wù)器和網(wǎng)絡(luò)均比較穩(wěn)定,主機的加入和退出需要一定的手續(xù),服務(wù)器管理規(guī)范,因此,本文采用新的區(qū)塊鏈生成方式。

(1)為了減少網(wǎng)絡(luò)帶寬占有率,節(jié)點的驗證器和打包器部署在節(jié)點的內(nèi)網(wǎng)中,減少不必要的網(wǎng)絡(luò)傳輸,提高交易單的驗證效率。

(2)考慮main_節(jié)點負(fù)責(zé)接收客戶端發(fā)來的信息,本文中main_節(jié)點不參與打包過程。區(qū)塊鏈BLOCKCHAIN_節(jié)點在T時間范圍內(nèi)驗證、接受學(xué)習(xí)、學(xué)分等信息交易單后,根據(jù)公式B=R%(N-1)來判斷是否由自己生成新的區(qū)塊。其中,B為當(dāng)前需要生成新區(qū)塊的節(jié)點,R為當(dāng)前區(qū)塊鏈的長度。當(dāng)區(qū)塊鏈BLOCKCHAIN_節(jié)點檢測到需要生成新的區(qū)塊時,則收集已檢驗且符合條件的交易單ID,并生成B_merkle樹,打包成區(qū)塊發(fā)給main_節(jié)點并加入?yún)^(qū)塊鏈尾。

4.平衡多叉樹改進merkl樹-B_merkle樹

大數(shù)據(jù)背景下的終身教育蘊含海量及繁雜數(shù)據(jù),使用傳統(tǒng)的merkle樹會增加文件分塊數(shù)量,子葉節(jié)點數(shù)量隨之增多,樹的深度(高度)呈線性增長,時間和空間消耗大,遍歷路徑增加,檢驗的時間隨之增長,造成運行效率低。因此,本文采用B_merkle樹[7],可以有效控制樹高度,提升訪問效率。

(1)建造B_merkle樹算法偽代碼

初始化B_merkle樹T根節(jié)點并創(chuàng)建根,設(shè)節(jié)點關(guān)鍵字個數(shù)最大為M;

插入文件分塊;

計算哈希函數(shù),插入key_K;

檢測比較Kn ,n≥2;

If T 有多個葉節(jié)點 then

檢測節(jié)點_Kn ;

If 節(jié)點_Kn含有>M個關(guān)鍵字 then

調(diào)用分裂函數(shù)

If 節(jié)點_Kn 含有

調(diào)用刪除節(jié)點函數(shù)

Else更新哈希值

End

(2)分裂函數(shù)

if 節(jié)點_Kn 含有≥M個關(guān)鍵字 then

節(jié)點_Kn分裂為兩個節(jié)點_Kn和節(jié)點_Kn+1;

節(jié)點_Kn和節(jié)點_Kn+1 各含有M/2個關(guān)鍵字;

End

(3)刪除節(jié)點函數(shù)

when 節(jié)點_Kn 含有

Delete 節(jié)點_Kn ;

合并關(guān)鍵字到兄弟節(jié)點或者父節(jié)點;

End

(三)學(xué)分銀行智能合約設(shè)計

學(xué)分銀行智能合約設(shè)計了權(quán)限合約、成果轉(zhuǎn)換標(biāo)準(zhǔn)合約、認(rèn)證標(biāo)準(zhǔn)合約,保證區(qū)塊鏈的自動運行和無篡改執(zhí)行。

1.權(quán)限合約

交易進入?yún)^(qū)塊時,節(jié)點調(diào)用配置信息檢測用戶執(zhí)行交易的權(quán)限范圍。如在合約中獲取用戶的權(quán)限,則將該筆交易打包進入?yún)^(qū)塊,添加到區(qū)塊鏈上;如無獲取用戶權(quán)限信息,則中止退出,調(diào)用流程算法偽代碼描述如下。

Check user_transaction key value;

If user.mesg? in key value list then

獲取準(zhǔn)入準(zhǔn)出權(quán)限;

添加到區(qū)塊鏈;

Else end

2.成果轉(zhuǎn)換機制合約

成果轉(zhuǎn)換標(biāo)準(zhǔn)合約由教育管理部門、聯(lián)盟教育(培訓(xùn))、發(fā)證機構(gòu)之間協(xié)商確定需要轉(zhuǎn)換的學(xué)習(xí)成果機制標(biāo)準(zhǔn)并代碼化,調(diào)用時自動執(zhí)行。學(xué)習(xí)者的學(xué)習(xí)成果被記錄存儲后,當(dāng)需要轉(zhuǎn)換為某一機構(gòu)的學(xué)分銀行學(xué)分或證書,則調(diào)用成果轉(zhuǎn)換標(biāo)準(zhǔn)合約進行轉(zhuǎn)換。條件符合,則進行轉(zhuǎn)換;條件不符合,中止轉(zhuǎn)換,返回失敗原因,算法偽代碼描述如下。

根據(jù)user_transaction? operation key value list;

根據(jù)user所需要的服務(wù);

Check成果標(biāo)準(zhǔn)轉(zhuǎn)換機制;

If 成果標(biāo)準(zhǔn)轉(zhuǎn)換機制存在 then

執(zhí)行user_學(xué)習(xí)成果轉(zhuǎn)換并打印輸出;

Else 返回失敗原因

End

3. 認(rèn)證機制合約

學(xué)習(xí)者的學(xué)習(xí)成果通過區(qū)塊鏈網(wǎng)絡(luò)各節(jié)點達成共識并記錄存儲后,將調(diào)用由教育管理部門、聯(lián)盟教育(培訓(xùn))、發(fā)證機構(gòu)等制定的認(rèn)證標(biāo)準(zhǔn)機制合約,執(zhí)行學(xué)分認(rèn)證指令操作。如學(xué)習(xí)者的學(xué)分認(rèn)證符合認(rèn)證標(biāo)準(zhǔn)機制合約,則執(zhí)行學(xué)分認(rèn)證操作命令;如不符合,則中止命令,返回失敗原因,算法偽代碼描述如下。

學(xué)習(xí)者發(fā)起認(rèn)證指令;

根據(jù)user_certification? operation key value list;

Check user所需認(rèn)證的內(nèi)容;

If 滿足認(rèn)證條件 then

執(zhí)行學(xué)分認(rèn)證操作

Else 返回失敗原因

End

三、實驗分析

本文從算力、存儲開銷、網(wǎng)絡(luò)吞吐量等方面進行驗證方案的有效性。實驗環(huán)境:采用MATLAB編程進行模擬;處理器Intel-i7四核3.20GHz;內(nèi)存DDR3 1600MHz 8GB;硬盤2T,操作系統(tǒng)為Windows7。

(一)系統(tǒng)開銷

本文對傳統(tǒng)基于merkle樹的PBFT 共識機制和改進后的基于B_merkle樹的共識機制的系統(tǒng)開銷進行實驗和分析,如圖3所示。選取節(jié)點數(shù)50,100,150,200,250,300,350,400,450,500,550,600進行仿真測試。從仿真實驗結(jié)果的曲線可以得到,傳統(tǒng)PBFT算法共識機制系統(tǒng)開銷隨著節(jié)點數(shù)量增加,系統(tǒng)開銷曲線斜率陡峭不斷增大;而本文提出B+_merkle的共識機制的系統(tǒng)開銷曲線較平緩,節(jié)點數(shù)的增加對于系統(tǒng)開銷影響非常小。這是因為傳統(tǒng) Merkle 樹的深度H為

,而B_merkle樹的深度H小于

,M≥2,所以在執(zhí)行查詢命令時縮減了訪問節(jié)點數(shù),交易完成時間短,從而降低系統(tǒng)的開銷。

(二)網(wǎng)絡(luò)開銷

本文分別對 PBFT算法和改進的GPBFT算法在節(jié)點容錯的場景下進行驗證分析。設(shè)節(jié)點總數(shù)為500個,選取出錯的節(jié)點數(shù)30、50、70、90、 110、130、150、170進行實驗。從實驗結(jié)果圖中顯示得到,隨著容錯節(jié)點數(shù)的增加,達成共識時間也不斷增加,網(wǎng)絡(luò)開銷隨著增大。改進的GPBFT算法中,各節(jié)點相對穩(wěn)定,無需進行大量的“挖礦”運算(算力很小),節(jié)點采用區(qū)塊驗證器和區(qū)塊生成器,僅在內(nèi)部局域網(wǎng)就可以完成,減少網(wǎng)絡(luò)傳輸時間和網(wǎng)絡(luò)帶寬資源的消耗,提高驗證和達成共識速度,因此,容錯節(jié)點增加時,曲線仍較平緩。

四、結(jié)語

目前,區(qū)塊鏈技術(shù)成為了學(xué)術(shù)界研究的熱點,本文提出在聯(lián)盟式學(xué)分銀行區(qū)塊鏈系統(tǒng)中采用PBFT共識機制,節(jié)點管理采用驗證交易單 、區(qū)塊驗證器、區(qū)塊生成器,并采用B_merkle樹遍歷提高訪問速度;通過采用權(quán)限合約、成果轉(zhuǎn)換機制合約、認(rèn)證機制合約等智能合約模式,使學(xué)分銀行系統(tǒng)實現(xiàn)去中心化、安全、透明。下一步,我們將區(qū)塊鏈與大數(shù)據(jù)、數(shù)字簽名技術(shù)相融合,運用到學(xué)分銀行信息管理中,確保學(xué)分銀行用戶的學(xué)習(xí)過程成果和隱私信息的安全。

[參考文獻]

[1]鄢小平.基于云架構(gòu)的學(xué)分銀行信息平臺設(shè)計研究[J].中國遠程教育,2014(5):66-71+96.

[2]毛佳偉. SaaS多租戶模式在學(xué)分銀行系統(tǒng)中的應(yīng)用研究[D].北京:北京工業(yè)大學(xué),2014.

[3]LIN Hui-ping, LI Wei-ping, WU Si. A Service in Education: SOA-Based Credit Bank System [J]. Computer Systems and Applications, 2009,18(6): 1-5.

[4]蔡維德,郁蓮,王榮,等.基于區(qū)塊鏈的應(yīng)用系統(tǒng)開發(fā)方法研究[J].軟件學(xué)報,2017(6):1474-1487.

[5]袁勇,王飛躍.區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀與展望[J].自動化學(xué)報,2016(4):481-494.

[6]雷長劍,林亞平,李晉國,等.志愿云環(huán)境下的拜占庭容錯研究[J].計算機工程,2016(5):1-7.

[7]李宏宏,康鳳舉.基于改進B樹的多層次仿真系統(tǒng)搜索算法[J].系統(tǒng)仿真學(xué)報,2017(2):332-336.

[作者簡介]黎富貴,廣西開放大學(xué)教務(wù)處副處長,碩士,研究方向:網(wǎng)絡(luò)協(xié)議、遠程教育;李敏,廣西開放大學(xué)教務(wù)處考務(wù)科科長,工程師,碩士,研究方向:成人教育;莫秋榮,廣西開放大學(xué)教務(wù)處綜合科科長,講師,碩士,研究方向:教育管理。

[責(zé)任編輯 韋書令]

猜你喜歡
智能合約學(xué)分銀行區(qū)塊鏈
區(qū)塊鏈技術(shù)在互聯(lián)網(wǎng)保險行業(yè)的應(yīng)用探討
雙證制嵌入學(xué)分銀行社會服務(wù)體系策略研究*
試析“學(xué)分銀行”在高等職業(yè)教育中的運用
亞太教育(2016年35期)2016-12-21 19:19:37
學(xué)分銀行—信息化時代學(xué)習(xí)體系變化的要求
區(qū)塊鏈技術(shù)的應(yīng)用價值分析
商情(2016年40期)2016-11-28 11:24:12
終身教育背景下學(xué)分銀行制度在成人教育中的應(yīng)用研究
“區(qū)塊鏈”的茍且、詩和遠方
基于區(qū)塊鏈技術(shù)的數(shù)字貨幣與傳統(tǒng)貨幣辨析
區(qū)塊鏈技術(shù)在會計中的應(yīng)用展望
會計之友(2016年17期)2016-11-02 16:05:15
智能合約與金融合約
商(2016年6期)2016-04-20 17:50:36
西平县| 沅江市| 四川省| 临湘市| 西城区| 仙桃市| 宜宾市| 辉南县| 东源县| 贵南县| 右玉县| 尤溪县| 武鸣县| 秭归县| 焦作市| 鹰潭市| 伊金霍洛旗| 安远县| 苏州市| 布尔津县| 扶余县| 和林格尔县| 平谷区| 江川县| 内江市| 左权县| 枝江市| 图木舒克市| 昆明市| 太湖县| 平武县| 巨鹿县| 峡江县| 富顺县| 松潘县| 滦平县| 集贤县| 耒阳市| 罗山县| 虎林市| 融水|