999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于聯(lián)盟鏈的電力數(shù)據(jù)資產(chǎn)交易平臺(tái)

2021-04-30 06:14:36郭儀于雷張瀚文顏擁孫毅
關(guān)鍵詞:數(shù)據(jù)庫(kù)機(jī)制信息

郭儀,于雷*,張瀚文,顏擁,孫毅

1.中國(guó)科學(xué)院計(jì)算技術(shù)研究所,北京 100190

2.中國(guó)科學(xué)院大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,北京 100049

3.國(guó)網(wǎng)浙江省電力有限公司電力科學(xué)研究院,浙江 杭州 310014

引 言

黨的十九大提出了建設(shè)“數(shù)字中國(guó)”的重大戰(zhàn)略命題,隨著信息技術(shù)的進(jìn)步和物聯(lián)網(wǎng)領(lǐng)域的飛速發(fā)展,數(shù)據(jù)正在以前所未有的速度產(chǎn)生,數(shù)據(jù)的價(jià)值也越來(lái)越被公眾所認(rèn)可。國(guó)家電網(wǎng)規(guī)劃建設(shè)的樞紐型、平臺(tái)型、共享型的能源互聯(lián)網(wǎng)數(shù)據(jù)管理平臺(tái),將大數(shù)據(jù)以及大數(shù)據(jù)思維嵌入政府治理流程是大數(shù)據(jù)時(shí)代實(shí)現(xiàn)政府治理能力和治理體系現(xiàn)代化的重要意旨[1]。

電力大數(shù)據(jù)的價(jià)值主要體現(xiàn)在不同領(lǐng)域?qū)ζ涞拈_(kāi)發(fā)利用,因此實(shí)現(xiàn)電網(wǎng)大數(shù)據(jù)的安全有效共享非常必要,這樣其他領(lǐng)域的研究可以充分地發(fā)揮電力大數(shù)據(jù)的潛在價(jià)值。比如,對(duì)某些研究機(jī)構(gòu)而言,其理論研究成果需要建立在實(shí)際電力數(shù)據(jù)的基礎(chǔ)之上,但是傳統(tǒng)的電力大數(shù)據(jù)管理架構(gòu)有著嚴(yán)格的限制,因此在使用過(guò)程中需要花費(fèi)大量的時(shí)間來(lái)人工處理權(quán)限審查等問(wèn)題,嚴(yán)重影響了電力大數(shù)據(jù)的價(jià)值發(fā)現(xiàn)[2]。

區(qū)塊鏈最早起源于中本聰2008年提出的比特幣,是一種以密碼學(xué)算法為基礎(chǔ)的、去中心化的點(diǎn)對(duì)點(diǎn)分布式賬本技術(shù)[3],其首次解決了基于信任的中心化模型帶來(lái)的安全問(wèn)題,使得系統(tǒng)中互無(wú)信任關(guān)系的參與方通過(guò)相互協(xié)作,完成可信的數(shù)據(jù)傳遞與價(jià)值流轉(zhuǎn)。

聯(lián)盟鏈作為區(qū)塊鏈的一種,節(jié)點(diǎn)的加入需要經(jīng)過(guò)鏈上驗(yàn)證節(jié)點(diǎn)的嚴(yán)格審核,在一定程度上保障了生態(tài)的穩(wěn)定性、安全性,而且通過(guò)特殊的共識(shí)機(jī)制弱化了系統(tǒng)整體挖礦資源的消耗,強(qiáng)化了鏈上用戶的身份認(rèn)證標(biāo)準(zhǔn),同時(shí)兼?zhèn)鋮^(qū)塊鏈不易篡改、可溯源、公開(kāi)透明的特性,在解決能源互聯(lián)網(wǎng)領(lǐng)域存在的數(shù)據(jù)孤島、價(jià)值封閉問(wèn)題方面具有天然優(yōu)勢(shì),可促進(jìn)能源數(shù)據(jù)資源跨部門開(kāi)放共享、數(shù)據(jù)訪問(wèn)權(quán)保護(hù)、數(shù)據(jù)有償使用等。

目前國(guó)內(nèi)外在相關(guān)領(lǐng)域已經(jīng)有了一定的研究發(fā)展。文獻(xiàn)[4]提出了一種高性能的智能設(shè)備的區(qū)塊鏈管理平臺(tái),該平臺(tái)使用分布式網(wǎng)絡(luò)架構(gòu)、設(shè)備節(jié)點(diǎn)映射及共識(shí)算法等技術(shù)實(shí)現(xiàn)智能設(shè)備的分散自治。文獻(xiàn)[5]在智能電網(wǎng)場(chǎng)景下,對(duì)基于區(qū)塊鏈的點(diǎn)對(duì)點(diǎn)能源交易服務(wù)進(jìn)行研究,并使用中間人攻擊、重放攻擊與偽裝攻擊驗(yàn)證了該機(jī)制的安全性與可靠性。文獻(xiàn)[6]提出了基于區(qū)塊鏈和多重簽名的電能交易機(jī)制,保障了交易雙方的權(quán)益。文獻(xiàn)[7]基于以太坊平臺(tái)的區(qū)塊鏈技術(shù),建立了面向?qū)崟r(shí)交易請(qǐng)求與數(shù)據(jù)采集的層級(jí)化智能配售電交易平臺(tái)體系架構(gòu)。文獻(xiàn)[8]應(yīng)用區(qū)塊鏈技術(shù)的多中心化、可信任、可追溯等特性,使聯(lián)盟企業(yè)的數(shù)字資產(chǎn)交易系統(tǒng)相互連通,實(shí)現(xiàn)數(shù)字資產(chǎn)跨機(jī)構(gòu)安全流轉(zhuǎn)。文獻(xiàn)[9]提出基于區(qū)塊鏈的電力數(shù)據(jù)統(tǒng)一監(jiān)管與共享交易模型,設(shè)計(jì)基于摘要目錄樹集中式檢索的電力數(shù)據(jù)共享交易第三方平臺(tái),形成了區(qū)塊鏈下以“弱化第三方數(shù)據(jù)集中托管中心,強(qiáng)化點(diǎn)對(duì)點(diǎn)交易”為特點(diǎn)的數(shù)據(jù)共享交易機(jī)制。文獻(xiàn)[10]提出基于聯(lián)盟鏈的微電網(wǎng)身份認(rèn)證協(xié)議,將區(qū)塊鏈應(yīng)用于微電網(wǎng)的身份認(rèn)證,以解決微電網(wǎng)電力交易存在的身份認(rèn)證協(xié)議不安全、交易中心化、數(shù)據(jù)無(wú)法追蹤溯源、節(jié)點(diǎn)之間缺乏共識(shí)等問(wèn)題。文獻(xiàn)[11]利用聯(lián)盟區(qū)塊鏈的分布式存儲(chǔ)、智能合約、共識(shí)機(jī)制等技術(shù)解決泛在電力物聯(lián)網(wǎng)的信息安全、數(shù)據(jù)建模、網(wǎng)絡(luò)傳輸?shù)葐?wèn)題。文獻(xiàn)[12]從多種維度對(duì)區(qū)塊鏈在能源互聯(lián)網(wǎng)中的運(yùn)用進(jìn)行了總結(jié),并對(duì)區(qū)塊鏈在能源互聯(lián)網(wǎng)各種運(yùn)用場(chǎng)景中發(fā)揮的作用進(jìn)行了探討。

雖然目前針對(duì)電力數(shù)據(jù)管理的研究已經(jīng)在區(qū)塊鏈、身份認(rèn)證、溯源等方面有了一定的成果,但是綜合多種技術(shù)需求的實(shí)用平臺(tái)仍有待研究,由此,本文設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于聯(lián)盟鏈并結(jié)合身份認(rèn)證、鏈上鏈下雙數(shù)據(jù)庫(kù)同步存儲(chǔ)以及數(shù)據(jù)訪問(wèn)權(quán)追蹤的電力數(shù)據(jù)交易平臺(tái)方案。

1 區(qū)塊鏈相關(guān)概念及技術(shù)介紹

1.1 區(qū)塊鏈簡(jiǎn)介

2008年,中本聰首先在Bitcoin:A Peer-to-Peer Electronic Cash System[13]中提出比特幣的概念。而區(qū)塊鏈則是從比特幣系統(tǒng)中抽離出來(lái)的關(guān)鍵技術(shù)實(shí)現(xiàn)。從本質(zhì)上講,區(qū)塊鏈?zhǔn)且粋€(gè)安全、可信的基于密碼學(xué)的分布式數(shù)據(jù)庫(kù),記載所有交易記錄。區(qū)塊鏈基于密碼學(xué)而非基于信任的交易規(guī)則及共識(shí)方式,使得達(dá)成一致的各方可以直接進(jìn)行交易,而無(wú)需第三方中介的參與。

系統(tǒng)中的每項(xiàng)操作以“交易”的形式廣播到所有的參與者,按照系統(tǒng)統(tǒng)一規(guī)則將獲得共識(shí)的交易信息記錄到“塊”中,每個(gè)塊記載著前一個(gè)塊的摘要信息,從而構(gòu)成環(huán)環(huán)相扣的鏈?zhǔn)浇Y(jié)構(gòu),因此,一個(gè)塊的變化會(huì)使得其后續(xù)鏈的數(shù)據(jù)一致性失效,從而確保了鏈上信息的安全性。

圖1 區(qū)塊鏈鏈?zhǔn)浇Y(jié)構(gòu)Fig.1 Blockchain structure

鏈?zhǔn)浇Y(jié)構(gòu)以及多方共識(shí)機(jī)制的存在,使得區(qū)塊鏈具有其他技術(shù)所沒(méi)有的天然優(yōu)勢(shì)——公開(kāi)透明,高度安全。公開(kāi)透明源于其去信任化規(guī)則,網(wǎng)絡(luò)中節(jié)點(diǎn)通過(guò)數(shù)字簽名技術(shù)進(jìn)行驗(yàn)證,無(wú)需相互信任,只有遵守鏈上固定“合同”——智能合約,節(jié)點(diǎn)產(chǎn)生的數(shù)據(jù)才會(huì)被其他節(jié)點(diǎn)認(rèn)可;高度安全則源于其多中心化的特點(diǎn),整個(gè)區(qū)塊鏈網(wǎng)絡(luò)中存在多個(gè)中心化的硬件或管理機(jī)構(gòu),每個(gè)中心包括一個(gè)或多個(gè)接入節(jié)點(diǎn),區(qū)塊鏈數(shù)據(jù)由所有節(jié)點(diǎn)共同維護(hù),如有節(jié)點(diǎn)想篡改數(shù)據(jù),那么其必須擁有超過(guò)半數(shù)的算力(計(jì)算資源),這一設(shè)計(jì)極大地提高了區(qū)塊鏈的安全性。

區(qū)塊鏈發(fā)展初期,主要應(yīng)用于數(shù)字貨幣領(lǐng)域,代表應(yīng)用即為比特幣,實(shí)現(xiàn)了可編程貨幣,這被稱之為“區(qū)塊鏈1.0 時(shí)代”。隨著人們對(duì)區(qū)塊鏈認(rèn)識(shí)程度的不斷深入,區(qū)塊鏈開(kāi)始應(yīng)用至數(shù)字貨幣以外的諸多領(lǐng)域,如數(shù)字存證、數(shù)字版權(quán)等。2014年,支持圖靈完備“智能合約”(smart contract)的以太坊(Ethereum)誕生,業(yè)界由此進(jìn)入了“區(qū)塊鏈2.0”時(shí)代。

根據(jù)不同的應(yīng)用場(chǎng)景以及用戶需求,區(qū)塊鏈大致可以分為公有鏈(Public Blockchain)、私有鏈(Private Blockchain)以及聯(lián)盟鏈(Consortium Blockchain)三大類[8]。具體分類見(jiàn)表格1。

表1 區(qū)塊鏈的種類Table 1 Types of blockchain

1.2 以太坊

以太坊作為區(qū)塊鏈2.0 時(shí)代的代表,通過(guò)一套圖靈完備的腳本語(yǔ)言(Ethereum Virtual Machinecode,簡(jiǎn)稱EVM 語(yǔ)言)來(lái)允許用戶建立應(yīng)用。以太坊整體架構(gòu)分為三層:頂層應(yīng)用、核心層、底層服務(wù)。頂層應(yīng)用中包括 API 接口、智能合約和去中心化應(yīng)用(DApp)等。核心層包含區(qū)塊鏈、共識(shí)算法和以太坊虛擬機(jī)等核心元件,以區(qū)塊鏈技術(shù)為主題,輔以以太坊特有的共識(shí)算法,并且以 EVM(Ethereum Virtual Machine,以太坊虛擬機(jī))作為運(yùn)行智能合約的載體。底層服務(wù)包括P2P 網(wǎng)絡(luò)服務(wù)、LevelDB 數(shù)據(jù)庫(kù)、密碼學(xué)算法及分片(Sharding)優(yōu)化等基礎(chǔ)服務(wù)。

1.3 共識(shí)機(jī)制

共識(shí)機(jī)制誕生于分布式系統(tǒng)中,幾十年來(lái),該領(lǐng)域已經(jīng)成為一個(gè)很重要的研究方向,共識(shí)機(jī)制的存在,使得分布式節(jié)點(diǎn)集合中的共享數(shù)據(jù)或者共享狀態(tài)達(dá)到一致性,而這種一致性的需求,在于需要保證在同一個(gè)網(wǎng)絡(luò)中,數(shù)據(jù)庫(kù)系統(tǒng)中的信息能夠被保證不受故障節(jié)點(diǎn)影響,也就是說(shuō),即使一個(gè)或多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)失效,共識(shí)機(jī)制可以保證數(shù)據(jù)不會(huì)丟失。

共識(shí)機(jī)制是分布式系統(tǒng)核心。區(qū)塊鏈共識(shí)機(jī)制的目標(biāo)是促使所有誠(chéng)實(shí)節(jié)點(diǎn)保存一致的區(qū)塊鏈視圖,即同時(shí)滿足一致性和有效性。其中,一致性是指所有誠(chéng)實(shí)節(jié)點(diǎn)保存的區(qū)塊鏈前綴部分完全相同;而有效性是指由某誠(chéng)實(shí)節(jié)點(diǎn)發(fā)布的信息終將被其他所有誠(chéng)實(shí)節(jié)點(diǎn)記錄在自己的區(qū)塊中[14]。

2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

本文提出的基于聯(lián)盟鏈的電子數(shù)據(jù)資產(chǎn)交易平臺(tái)在實(shí)現(xiàn)主要業(yè)務(wù)功能的基礎(chǔ)上,提出了基于智能合約的身份管理隨機(jī)驗(yàn)證模型,采用更適合于聯(lián)盟鏈的POA 共識(shí)機(jī)制,設(shè)計(jì)并實(shí)現(xiàn)基于區(qū)塊鏈監(jiān)聽(tīng)賬戶的周期性同步機(jī)制,設(shè)計(jì)并實(shí)現(xiàn)基于B+樹的數(shù)據(jù)訪問(wèn)權(quán)追蹤機(jī)制。

2.1 系統(tǒng)整體架構(gòu)設(shè)計(jì)

系統(tǒng)架構(gòu)(見(jiàn)圖2)整體分為四層:業(yè)務(wù)層、服務(wù)層、接口層以及數(shù)據(jù)層。

圖2 系統(tǒng)架構(gòu)圖Fig.2 System architecture

業(yè)務(wù)層提供了登錄,注冊(cè),查詢(包括在售數(shù)據(jù)信息,已購(gòu)數(shù)據(jù)信息,訪問(wèn)權(quán)追蹤等),出售數(shù)據(jù),購(gòu)買數(shù)據(jù),轉(zhuǎn)讓數(shù)據(jù),創(chuàng)建賬戶等功能。

服務(wù)層我們使用python 語(yǔ)言,采用了基于Flask框架的后臺(tái)管理服務(wù),充分利用了Flask 擴(kuò)展性強(qiáng)的特性,合理地使用了數(shù)據(jù)庫(kù)插件、登錄插件、表單插件、管理員插件等功能,提高了開(kāi)發(fā)效率。

合約層基于solidity 智能合約編程語(yǔ)言進(jìn)行開(kāi)發(fā),除了基本的交易操作(出售、購(gòu)買、轉(zhuǎn)讓),還必須向外提供驅(qū)動(dòng)鏈上信息進(jìn)行周期性同步的接口,以及基于智能合約的身份認(rèn)證管理功能。

在數(shù)據(jù)層,我們采用了鏈上鏈下數(shù)據(jù)庫(kù)相結(jié)合的存儲(chǔ)方式。這一點(diǎn)的設(shè)計(jì)主要是因?yàn)閰^(qū)塊鏈存儲(chǔ)成本高昂,不適合于存儲(chǔ)大量文本信息,同時(shí)基于K-V 型數(shù)據(jù)庫(kù)的特性使得區(qū)塊鏈擅長(zhǎng)寫操作,但是基于非鍵值的讀取和范圍查詢效率低下。因此,我們只在區(qū)塊鏈上存儲(chǔ)數(shù)據(jù)庫(kù)中文本信息的hash 值以及必要的交易信息,保證其不被篡改,同時(shí)為了方便訪問(wèn)權(quán)過(guò)程的查詢,我們使用基于區(qū)塊鏈監(jiān)聽(tīng)賬戶的周期性同步機(jī)制將信息備份到鏈下MySql 數(shù)據(jù)庫(kù)中,保證數(shù)據(jù)的快速查詢。

2.2 主要業(yè)務(wù)功能

2.2.1 簡(jiǎn)介

在本文設(shè)計(jì)的系統(tǒng)平臺(tái)中(系統(tǒng)模式見(jiàn)圖3),電力數(shù)據(jù)本身并沒(méi)有發(fā)生實(shí)質(zhì)性的轉(zhuǎn)移,數(shù)據(jù)依舊保存在國(guó)家電網(wǎng)的系統(tǒng)中,不同的是,我們對(duì)電力數(shù)據(jù)進(jìn)行了訪問(wèn)權(quán)限控制約束,即聯(lián)盟鏈中的節(jié)點(diǎn)可以通過(guò)有償交易的方式從其他節(jié)點(diǎn)獲取電力數(shù)據(jù)的訪問(wèn)權(quán),擁有電力數(shù)據(jù)訪問(wèn)權(quán)限的節(jié)點(diǎn)(比如研究院所,高等學(xué)校,政府機(jī)構(gòu)等)在確認(rèn)權(quán)限合法之后,可以通過(guò)國(guó)家電網(wǎng)的指定接口訪問(wèn)對(duì)應(yīng)的電力數(shù)據(jù),方便后續(xù)研究使用。

圖3 系統(tǒng)模式圖Fig.3 System model

鏈下機(jī)構(gòu)或個(gè)人如果想加入到聯(lián)盟鏈中,需要在系統(tǒng)中提交詳細(xì)的驗(yàn)證信息,只有通過(guò)不低于2/3的節(jié)點(diǎn)驗(yàn)證時(shí),才可以成為鏈上節(jié)點(diǎn),進(jìn)行鏈內(nèi)電力數(shù)據(jù)訪問(wèn)權(quán)的交易。

系統(tǒng)平臺(tái)向用戶提供的主要業(yè)務(wù)包括:注冊(cè)/登陸系統(tǒng)平臺(tái)、創(chuàng)建聯(lián)盟鏈賬戶、電力數(shù)據(jù)交易、查詢電力數(shù)據(jù)訪問(wèn)權(quán)。業(yè)務(wù)流程見(jiàn)圖4。

圖4 業(yè)務(wù)流程圖Fig.4 System model

2.2.2 注冊(cè)

在注冊(cè)過(guò)程中,待注冊(cè)用戶需要提供詳細(xì)的機(jī)構(gòu)信息或者個(gè)人信息,作為后期身份認(rèn)證的重要依據(jù);即使注冊(cè)成功,用戶也無(wú)法進(jìn)行實(shí)際的交易操作,只能進(jìn)行基本的查詢功能,只有在創(chuàng)建鏈上賬戶并成功經(jīng)過(guò)鏈上身份認(rèn)證之后,才擁有售賣、購(gòu)買、轉(zhuǎn)讓電力數(shù)據(jù)訪問(wèn)權(quán)的權(quán)利。

2.2.3 創(chuàng)建鏈上賬戶

用戶在網(wǎng)站注冊(cè)成功之后,僅僅是擁有了進(jìn)入網(wǎng)站的權(quán)限,如果進(jìn)行交易操作,則需要?jiǎng)?chuàng)建鏈上賬戶,創(chuàng)建賬戶的過(guò)程會(huì)觸發(fā)身份認(rèn)證管理功能,即經(jīng)過(guò)驗(yàn)證節(jié)點(diǎn)驗(yàn)證確認(rèn)通過(guò),才可以進(jìn)行相關(guān)的交易操作。

2.2.4 交易(出售、購(gòu)買、轉(zhuǎn)讓)

在用戶成功創(chuàng)建鏈上賬戶并成功經(jīng)過(guò)身份認(rèn)證后,可以直接發(fā)起數(shù)據(jù)出售的請(qǐng)求,賣家可以根據(jù)數(shù)據(jù)訪問(wèn)期限、數(shù)據(jù)范圍來(lái)確定不同的價(jià)格。請(qǐng)求成功后,則等待買家進(jìn)行購(gòu)買;買家一旦購(gòu)買成功,將擁有對(duì)該數(shù)據(jù)附加條件(訪問(wèn)期限,訪問(wèn)范圍)的訪問(wèn)權(quán),并通過(guò)返回的秘鑰從網(wǎng)站專用接口訪問(wèn)賣方數(shù)據(jù)庫(kù),獲取數(shù)據(jù);買家在成功購(gòu)買數(shù)據(jù)之后,可以將數(shù)據(jù)的訪問(wèn)權(quán)轉(zhuǎn)贈(zèng)給其他用戶,一旦轉(zhuǎn)贈(zèng)成功,原買家不再擁有該訪問(wèn)權(quán),無(wú)法訪問(wèn)數(shù)據(jù)。

電力數(shù)據(jù)訪問(wèn)權(quán)交易信息以及屬性信息見(jiàn)表格2 和表格3。

表2 電力數(shù)據(jù)訪問(wèn)權(quán)交易信息Table 2 Transaction of electronic data access authority

表3 電力數(shù)據(jù)訪問(wèn)權(quán)屬性信息Table 3 Attribution of electronic data access authority

2.2.5 查詢

查詢過(guò)程中的關(guān)鍵部分在于數(shù)據(jù)訪問(wèn)權(quán)的追蹤查詢,對(duì)數(shù)據(jù)訪問(wèn)權(quán)的追蹤查詢有利于解決數(shù)據(jù)的濫用問(wèn)題,可以方便的查詢到數(shù)據(jù)訪問(wèn)權(quán)每一次的變更狀態(tài)。

2.3 關(guān)鍵技術(shù)設(shè)計(jì)與實(shí)現(xiàn)

本系統(tǒng)的關(guān)鍵技術(shù)主要涉及到四個(gè)方面:(1)基于智能合約的身份管理隨機(jī)驗(yàn)證模型;(2)適用于聯(lián)盟鏈的POA 共識(shí)機(jī)制;(3)基于區(qū)塊鏈監(jiān)聽(tīng)賬戶的周期性同步機(jī)制;(4)基于B+樹的數(shù)據(jù)訪問(wèn)權(quán)追蹤機(jī)制。

2.3.1 基于智能合約的身份管理隨機(jī)驗(yàn)證模型

在聯(lián)盟鏈中,節(jié)點(diǎn)的加入以及交易操作需要獲得身份許可,在這里我們借鑒了潘維等人的基于智能合約的身份管理及認(rèn)證模型[15],在該模型中,基于solidity 智能合約實(shí)現(xiàn)用戶多類型身份數(shù)據(jù)的發(fā)布、驗(yàn)證、認(rèn)證以及撤銷功能,達(dá)到管理用戶身份數(shù)據(jù)進(jìn)行身份認(rèn)證的目的。

在原模型中,用戶在注冊(cè)過(guò)程中會(huì)指定一個(gè)驗(yàn)證者節(jié)點(diǎn),進(jìn)行后續(xù)用戶身份信息的驗(yàn)證,但是指定單一節(jié)點(diǎn),有可能形成聯(lián)合作惡?jiǎn)栴},從而導(dǎo)致待注冊(cè)用戶輕松獲得身份許可,形成系統(tǒng)安全的高風(fēng)險(xiǎn)點(diǎn)。因此平臺(tái)在處理注冊(cè)操作的過(guò)程中,將使用隨機(jī)算法隨機(jī)選擇一組驗(yàn)證節(jié)點(diǎn)進(jìn)行驗(yàn)證,避免待注冊(cè)用戶與單一驗(yàn)證節(jié)點(diǎn)共同作惡現(xiàn)象的出現(xiàn)。驗(yàn)證是否通過(guò)由一組長(zhǎng)度等于驗(yàn)證節(jié)點(diǎn)列表長(zhǎng)度的狀態(tài)位來(lái)決策。

表4 Register 函數(shù)Table 4 Register function

在驗(yàn)證過(guò)程中,如果當(dāng)前驗(yàn)證節(jié)點(diǎn)驗(yàn)證通過(guò),則將其對(duì)應(yīng)的狀態(tài)位置為1,當(dāng)有超過(guò)1/2 的狀態(tài)位為1 的時(shí)候,說(shuō)明該用戶的認(rèn)證信息已驗(yàn)證通過(guò)。具體驗(yàn)證合約函數(shù)見(jiàn)表格5。

表5 Confirm 函數(shù)Table 5 Conf rm function

2.3.2 POA 共識(shí)機(jī)制

共識(shí)機(jī)制是區(qū)塊鏈內(nèi)分布式協(xié)作實(shí)現(xiàn)數(shù)據(jù)一致性的多方協(xié)議,用于協(xié)調(diào)多參與方達(dá)成共同接受的唯一結(jié)果,且保證此過(guò)程難以偽造作假,且可持續(xù)穩(wěn)定運(yùn)行。在區(qū)塊鏈系統(tǒng)中,共識(shí)機(jī)制旨在解決節(jié)點(diǎn)之間的信任問(wèn)題。在該系統(tǒng)中,基于以太坊平臺(tái),選擇了更適合于聯(lián)盟鏈的POA 共識(shí)機(jī)制。

POA 全稱Proof-of-Authority,由以太坊聯(lián)合創(chuàng)始人Gavin Wood 提出。在基于POA 的網(wǎng)絡(luò)中,交易和區(qū)塊由認(rèn)可的帳戶(稱為驗(yàn)證者“singer”)驗(yàn)證。驗(yàn)證程序運(yùn)行軟件,使他們可以將交易分批進(jìn)行。該過(guò)程是自動(dòng)化的,不需要驗(yàn)證者不斷監(jiān)視他們的計(jì)算機(jī)。相對(duì)于耗用大量電力進(jìn)行計(jì)算的POW 共識(shí)機(jī)制而言,POA 節(jié)省了大量的電力成本,占用更少的內(nèi)存資源,實(shí)現(xiàn)更高的性能。

在POA 共識(shí)機(jī)制中,個(gè)人可以獲得成為驗(yàn)證者的權(quán)利,因此會(huì)努力保持他們所獲得的共識(shí)參與權(quán)。同時(shí)在交易的過(guò)程中,會(huì)在身份上附加聲譽(yù),這種機(jī)制激勵(lì)驗(yàn)證者保持積極正當(dāng)?shù)慕灰祝幌M档妥约旱男抛u(yù)值。這被認(rèn)為是比POS(Proof-of-Stake權(quán)益證明)更強(qiáng)大的地方[16]。

2.3.3 基于區(qū)塊鏈監(jiān)聽(tīng)賬戶的周期性同步機(jī)制

區(qū)塊鏈?zhǔn)且环N分布式數(shù)據(jù)庫(kù),以太坊區(qū)塊鏈的數(shù)據(jù)庫(kù)是以K-V 型的LevelDB 為基礎(chǔ),如前所述,LevelDB 具有很高的隨機(jī)寫性能,但隨機(jī)讀性能一般,因此適用于查詢較少,而寫很多的場(chǎng)景,因此本文使用監(jiān)聽(tīng)賬戶將交易信息周期性備份到關(guān)系型數(shù)據(jù)庫(kù)(MySQL)中方便查詢。

(1)監(jiān)聽(tīng)賬戶

監(jiān)聽(tīng)賬戶是安排在區(qū)塊鏈上的一種特殊賬戶,其只能讀取需要備份的信息,而沒(méi)有寫入或者讀取其他信息的權(quán)限。

監(jiān)聽(tīng)賬戶的設(shè)置由智能合約完成,且只能由“創(chuàng)世”賬戶進(jìn)行創(chuàng)建。

當(dāng)備份機(jī)制進(jìn)行工作的時(shí)候,會(huì)首先通過(guò)合約接口向區(qū)塊鏈獲取監(jiān)聽(tīng)賬戶的地址,如果返回的地址為:0x0,則說(shuō)明不存在監(jiān)聽(tīng)賬戶。此時(shí),備份機(jī)制會(huì)跳轉(zhuǎn)到創(chuàng)建監(jiān)聽(tīng)賬戶的函數(shù)create_listen_account(),并通過(guò)personal.newAccount()函數(shù)創(chuàng)建新的監(jiān)聽(tīng)賬戶。

(2)信息同步

同步信息主要包括鏈上交易狀態(tài),具體信息見(jiàn)表格6。

表6 同步信息Table 6 Synchronize information

鏈上智能合約通過(guò)附加訪問(wèn)地址限制的同步接口sync()向外輸出待同步信息。

鏈下使用python 通過(guò)web3 接口獲取待同步信息,并同步更新至鏈下數(shù)據(jù)庫(kù)。

使用Linux 系統(tǒng)服務(wù)器命令crontab 周期執(zhí)行同步任務(wù)。

2.3.4 基于B+樹的數(shù)據(jù)訪問(wèn)權(quán)追蹤機(jī)制

(1)介紹

從技術(shù)角度上來(lái)說(shuō),目前的數(shù)據(jù)溯源應(yīng)用或者數(shù)據(jù)追蹤應(yīng)用的數(shù)據(jù)存儲(chǔ)在傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)如MySQL,SQLServer 中,這類中心化數(shù)據(jù)庫(kù)存在著多種由于單點(diǎn)依賴造成的數(shù)據(jù)安全問(wèn)題,如數(shù)據(jù)被污染,黑客攻擊等[17]。

而完全基于區(qū)塊鏈實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)并進(jìn)行信息追蹤的方案的執(zhí)行效率十分低下,前文介紹過(guò)區(qū)塊鏈本身基于K-V 型數(shù)據(jù)庫(kù),在數(shù)據(jù)的查詢搜索效率上,遠(yuǎn)不及傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)。

因此,我們借助前文提到的基于區(qū)塊鏈監(jiān)聽(tīng)賬戶的周期性同步機(jī)制,將鏈上的追蹤信息周期性的同步到鏈下關(guān)系型數(shù)據(jù)庫(kù)中。當(dāng)用戶在客戶端發(fā)起訪問(wèn)權(quán)追蹤請(qǐng)求時(shí),可以通過(guò)關(guān)系數(shù)據(jù)庫(kù)實(shí)現(xiàn)更快的查詢響應(yīng)速度。同時(shí)在不損失查詢效率的基礎(chǔ)之上,也通過(guò)區(qū)塊鏈的不可篡改性保證了數(shù)據(jù)的安全性。

(2)數(shù)據(jù)結(jié)構(gòu)

在數(shù)據(jù)訪問(wèn)權(quán)追蹤機(jī)制中,設(shè)計(jì)鏈上追蹤信息數(shù)據(jù)結(jié)構(gòu)見(jiàn)表格7,并將其同步到鏈下關(guān)系型數(shù)據(jù)庫(kù)中。

表7 數(shù)據(jù)結(jié)構(gòu)Table 7 Data structure

(3)追蹤機(jī)制

每一個(gè)訪問(wèn)追蹤機(jī)制函數(shù)的請(qǐng)求者,必須是數(shù)據(jù)的發(fā)布方,只有通過(guò)數(shù)據(jù)發(fā)布者地址驗(yàn)證才可以一步步進(jìn)行數(shù)據(jù)的追蹤。

因?yàn)橛行?shù)據(jù)hash 以及機(jī)構(gòu)地址分別都有著明顯的大小序關(guān)系,所以我們可以根據(jù)有效數(shù)據(jù)hash及來(lái)源機(jī)構(gòu)地址來(lái)維護(hù)一個(gè)B+樹結(jié)構(gòu)。

B+ 樹是一種樹型數(shù)據(jù)結(jié)構(gòu),通常用于數(shù)據(jù)庫(kù)和操作系統(tǒng)的文件系統(tǒng)索引方案中。B+ 樹的特點(diǎn)是能夠保持?jǐn)?shù)據(jù)穩(wěn)定有序,其插入與修改擁有較穩(wěn)定的對(duì)數(shù)時(shí)間復(fù)雜度。而未使用B+樹進(jìn)行維護(hù)的數(shù)據(jù),雖然插入數(shù)據(jù)的時(shí)間復(fù)雜度為O(1),但是查找的時(shí)間復(fù)雜度為O(N),所以整個(gè)平均下來(lái),使用了二維B+樹進(jìn)行維護(hù)的數(shù)據(jù)結(jié)構(gòu)在查詢以及插入操作上會(huì)花費(fèi)更少的時(shí)間[18]。

在MySql 數(shù)據(jù)庫(kù)中,我們可以對(duì)字段設(shè)置索引,從而使用B+樹結(jié)構(gòu)進(jìn)行數(shù)據(jù)的插入與查詢。

創(chuàng)建索引的命令如下:

CREATE INDEX track_index ON trackInfo(validHash(255), source(255));

數(shù)據(jù)訪問(wèn)權(quán)追蹤函數(shù)見(jiàn)表格8:

表8 TrackOwner 函數(shù)Table 8 TrackOwner function

3 測(cè)試與分析

3.1 測(cè)試環(huán)境

本系統(tǒng)部署在安裝了Linux 操作系統(tǒng)的虛擬機(jī)上,測(cè)試過(guò)程具體配置見(jiàn)表格9。

表9 測(cè)試環(huán)境Table 9 Test environment

3.2 功能測(cè)試

在上述實(shí)驗(yàn)測(cè)試環(huán)境下,我們對(duì)系統(tǒng)主要模塊進(jìn)行了黑盒測(cè)試,對(duì)于電力數(shù)據(jù),我們采用本地?cái)?shù)據(jù)文件進(jìn)行模擬,測(cè)試結(jié)果見(jiàn)表格10。

表10 測(cè)試結(jié)果Table 10 Test result

3.3 性能測(cè)試

3.3.1 基于B+樹的數(shù)據(jù)訪問(wèn)權(quán)追蹤機(jī)制性能測(cè)試

本文主要針對(duì)基于B+樹的數(shù)據(jù)訪問(wèn)權(quán)追蹤機(jī)制,在僅使用鏈上數(shù)據(jù)庫(kù),使用鏈下MySql 數(shù)據(jù)庫(kù)添加索引,使用鏈下MySql 數(shù)據(jù)庫(kù)不添加索引三種情況下的查詢效率做了對(duì)比測(cè)試分析。

對(duì)于插入操作,當(dāng)分別插入1000,2000,3000,4000,5000 條數(shù)據(jù)的時(shí)候,對(duì)應(yīng)的測(cè)試結(jié)果見(jiàn)表格11。

表11 插入測(cè)試Table 11 Insert test

對(duì)于查詢操作,我們?cè)诿拷M測(cè)試數(shù)據(jù)中分別隨機(jī)選擇了500 條數(shù)據(jù)進(jìn)行查詢,測(cè)試結(jié)果見(jiàn)表格12。

表12 查詢測(cè)試Table 12 Query test

通過(guò)測(cè)試數(shù)據(jù),可以發(fā)現(xiàn),無(wú)論是插入操作還是查詢操作,區(qū)塊鏈的執(zhí)行時(shí)間遠(yuǎn)高于MySql;對(duì)MySql 的插入操作而言,MySql 是否添加索引對(duì)插入操作執(zhí)行時(shí)間幾乎沒(méi)有影響,可以滿足電力數(shù)據(jù)的交易通量需求;就MySql 的查詢操作而言,隨著測(cè)試數(shù)據(jù)量的增加,無(wú)索引情況下的查詢時(shí)間成線性遞增,而有索引情況下的查詢時(shí)間幾乎保持常數(shù)。綜上,基于B+樹的數(shù)據(jù)訪問(wèn)權(quán)追蹤機(jī)制的綜合功能效益和性能效益明顯。

3.3.2 聯(lián)盟鏈與公有鏈交易性能測(cè)試

本文中提到的聯(lián)盟鏈基于以太坊進(jìn)行設(shè)計(jì),使用了POA 共識(shí)機(jī)制,該機(jī)制不像POW 共識(shí)機(jī)制那樣需要使用大量的算力來(lái)實(shí)現(xiàn)共識(shí),從而大大節(jié)約了電力資源。

同時(shí)POW 的計(jì)算過(guò)程有一定的難度約束,因此在理論上,使用了POW 的區(qū)塊鏈其共識(shí)過(guò)程以及出塊時(shí)間相對(duì)使用POA 的區(qū)塊鏈要慢,為了驗(yàn)證這一理論,我們?cè)?.1 節(jié)的測(cè)試環(huán)境中對(duì)基于POA 的以太坊聯(lián)盟鏈和基于POW 的以太坊公有鏈進(jìn)行了比較測(cè)試。

在測(cè)試過(guò)程中針對(duì)基于POA 的以太坊聯(lián)盟鏈,本文設(shè)計(jì)了五個(gè)節(jié)點(diǎn),三個(gè)節(jié)點(diǎn)為驗(yàn)證節(jié)點(diǎn);針對(duì)基于POW 的以太坊公有鏈,本文設(shè)計(jì)了五個(gè)節(jié)點(diǎn),挖礦初始困難度設(shè)置為默認(rèn)困難度0x80000。

測(cè)試任務(wù)是針對(duì)兩種區(qū)塊鏈,分別計(jì)算其執(zhí)行100,200,300……1900,2000 筆交易時(shí)所花費(fèi)的時(shí)間(單位:秒)。測(cè)試結(jié)果如圖5所示,在該圖中,可以看出,隨著交易數(shù)的提高,基于POA 的以太坊聯(lián)盟鏈所花費(fèi)的時(shí)間增長(zhǎng)速率相對(duì)穩(wěn)定,而基于POW的以太坊公有鏈增長(zhǎng)速率波動(dòng)較大不穩(wěn)定,而且兩者相比較可以發(fā)現(xiàn),在耗費(fèi)的時(shí)間上,基于POW 的以太坊公有鏈整體要比基于POA 的以太坊聯(lián)盟鏈高,因此該實(shí)驗(yàn)結(jié)果對(duì)本文提出的基于聯(lián)盟鏈的電力數(shù)據(jù)資產(chǎn)交易平臺(tái)提供了有效的支撐。

圖5 系統(tǒng)模式圖Fig.5 System model

4 總結(jié)

本文設(shè)計(jì)并實(shí)現(xiàn)了基于聯(lián)盟鏈的電力數(shù)據(jù)資產(chǎn)交易平臺(tái),允許不同的機(jī)構(gòu)的不同部門在身份認(rèn)證之后可以加入到該鏈中有償共享數(shù)據(jù),在應(yīng)用層面上,一定程度解決了電力部門的數(shù)據(jù)孤島問(wèn)題。

在完成基本功能的前提下,提出了基于智能合約的身份管理隨機(jī)驗(yàn)證模型;對(duì)比多種共識(shí)方案的優(yōu)缺點(diǎn),選擇了適合于聯(lián)盟鏈的POA 共識(shí)機(jī)制;設(shè)計(jì)并實(shí)現(xiàn)了基于區(qū)塊鏈監(jiān)聽(tīng)賬戶的周期性同步機(jī)制;設(shè)計(jì)并實(shí)現(xiàn)了基于B+樹的數(shù)據(jù)訪問(wèn)權(quán)追蹤機(jī)制。

我們基于以太坊,在Linux 平臺(tái)上對(duì)系統(tǒng)進(jìn)行了功能測(cè)試、數(shù)據(jù)訪問(wèn)權(quán)追蹤機(jī)制的性能測(cè)試以及聯(lián)盟鏈與公有鏈交易性能測(cè)試實(shí)驗(yàn),實(shí)驗(yàn)表明系統(tǒng)功能完備且運(yùn)行平穩(wěn),同時(shí)性能測(cè)試表明訪問(wèn)權(quán)追蹤查詢的綜合效率提升明顯,基于聯(lián)盟鏈的電力數(shù)據(jù)資產(chǎn)交易平臺(tái)有著更高的性能。

利益沖突聲明

所有作者聲明不存在利益沖突關(guān)系。

猜你喜歡
數(shù)據(jù)庫(kù)機(jī)制信息
自制力是一種很好的篩選機(jī)制
文苑(2018年21期)2018-11-09 01:23:06
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
破除舊機(jī)制要分步推進(jìn)
展會(huì)信息
注重機(jī)制的相互配合
打基礎(chǔ) 抓機(jī)制 顯成效
主站蜘蛛池模板: 欧美区一区二区三| 在线播放精品一区二区啪视频| 爱色欧美亚洲综合图区| 国产一区二区精品高清在线观看 | 97久久人人超碰国产精品| a级毛片视频免费观看| 国产伦片中文免费观看| 国产人前露出系列视频| 亚洲高清日韩heyzo| 97久久精品人人| 国产亚洲美日韩AV中文字幕无码成人 | 久久亚洲美女精品国产精品| 日韩午夜片| 99ri精品视频在线观看播放| 欧美a√在线| 91色爱欧美精品www| 91娇喘视频| 白浆视频在线观看| 久久久久中文字幕精品视频| 日韩小视频在线播放| 免费xxxxx在线观看网站| 99久久国产综合精品2023| 亚洲精品第1页| 国产主播在线观看| 澳门av无码| 国产原创自拍不卡第一页| 成人在线不卡视频| av一区二区三区在线观看| 日韩在线成年视频人网站观看| 精品一区二区三区无码视频无码| 久久久久久久久亚洲精品| 在线亚洲小视频| 国产网站黄| 亚欧乱色视频网站大全| 77777亚洲午夜久久多人| 久久视精品| 久久久噜噜噜| 亚洲第一成年网| 国产精品嫩草影院av| 欧美激情伊人| 国产精品国产主播在线观看| 亚洲 欧美 日韩综合一区| 精品国产香蕉伊思人在线| 青青草原国产免费av观看| 国产丝袜精品| 亚洲精品制服丝袜二区| 美女视频黄又黄又免费高清| 国产乱视频网站| 亚洲视频无码| yy6080理论大片一级久久| 四虎综合网| 亚洲第一极品精品无码| 91在线视频福利| 亚洲无码A视频在线| av大片在线无码免费| 成人91在线| 国产99视频精品免费视频7| 久久亚洲国产最新网站| 亚洲视频免| 热九九精品| AV不卡在线永久免费观看| 在线欧美一区| 欧美激情网址| 国产91麻豆视频| 国产无套粉嫩白浆| 亚洲第一成年人网站| 国产成人免费高清AⅤ| 日韩精品免费一线在线观看| 手机永久AV在线播放| 欧美在线网| av在线无码浏览| 久久无码av一区二区三区| 欧美在线一二区| 黄色污网站在线观看| 本亚洲精品网站| 国产一级毛片在线| 亚洲第一黄色网址| 国产在线视频二区| 亚洲无限乱码一二三四区| 尤物成AV人片在线观看| 91无码视频在线观看| 毛片视频网址|