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

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

2021-04-07 08:09:12郭儀于雷張瀚文顏擁孫毅
關(guān)鍵詞:數(shù)據(jù)庫機制信息

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

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

2.中國科學(xué)院大學(xué)計算機科學(xué)與技術(shù)學(xué)院,北京 100049 3.國網(wǎng)浙江省電力有限公司電力科學(xué)研究院,浙江 杭州 310014

引 言

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

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

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

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

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

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

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

1.1 區(qū)塊鏈簡介

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

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

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

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

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

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

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

1.2 以太坊

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

1.3 共識機制

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

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

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

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

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

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

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

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

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

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

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

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

2.2.1 簡介

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

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

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

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

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

2.2.2 注冊

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

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

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

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

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

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

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

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

2.2.5 查詢

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

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

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

2.3.1 基于智能合約的身份管理隨機驗證模型

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

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

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

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

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

2.3.2 POA 共識機制

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

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

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

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

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

(1)監(jiān)聽賬戶

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

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

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

(2)信息同步

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

表6 同步信息Table 6 Synchronize information

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

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

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

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

(1)介紹

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

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

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

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

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

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

(3)追蹤機制

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

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

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

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

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

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

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

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

3 測試與分析

3.1 測試環(huán)境

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

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

3.2 功能測試

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

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

3.3 性能測試

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

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

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

表11 插入測試Table 11 Insert test

對于查詢操作,我們在每組測試數(shù)據(jù)中分別隨機選擇了500 條數(shù)據(jù)進(jìn)行查詢,測試結(jié)果見表格12。

表12 查詢測試Table 12 Query test

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

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

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

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

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

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

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

4 總結(jié)

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

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

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

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

猜你喜歡
數(shù)據(jù)庫機制信息
自制力是一種很好的篩選機制
文苑(2018年21期)2018-11-09 01:23:06
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
破除舊機制要分步推進(jìn)
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
注重機制的相互配合
打基礎(chǔ) 抓機制 顯成效
中國火炬(2014年4期)2014-07-24 14:22:19
主站蜘蛛池模板: 永久免费精品视频| 国产精品大白天新婚身材| 国产一区二区网站| 国产精品视频免费网站| 精品人妻一区二区三区蜜桃AⅤ| 久久国产乱子| 色天堂无毒不卡| 伊人天堂网| 亚洲视屏在线观看| 欧美日韩午夜| 国产女人在线| 日韩av在线直播| 免费看久久精品99| 日本欧美在线观看| 欧美在线视频不卡第一页| 亚洲国模精品一区| 亚洲Av综合日韩精品久久久| 国产精品网拍在线| 国产成人永久免费视频| av一区二区三区在线观看| 亚洲嫩模喷白浆| 亚洲男人天堂久久| 97免费在线观看视频| 99偷拍视频精品一区二区| 亚洲精品日产AⅤ| 中文字幕久久精品波多野结| 波多野结衣一区二区三区88| 欧美日韩国产精品综合| 欧美a在线视频| 99热这里只有免费国产精品| 亚洲国产成人精品青青草原| 欧美成人手机在线视频| 日本一本在线视频| 亚洲AV永久无码精品古装片| 久久99精品久久久久纯品| 日韩不卡高清视频| 欧美无遮挡国产欧美另类| 在线观看国产黄色| 亚洲日韩欧美在线观看| 久久久波多野结衣av一区二区| 久久永久免费人妻精品| 69av免费视频| 亚洲三级影院| 好吊色妇女免费视频免费| 成人精品区| 欧美在线国产| 亚洲一欧洲中文字幕在线| 无码日韩精品91超碰| 国产在线观看91精品| 日韩视频福利| 69免费在线视频| 99久久精品国产自免费| 97视频在线精品国自产拍| 国产精品第一区| 亚洲婷婷丁香| 无码乱人伦一区二区亚洲一| 激情无码字幕综合| 人妻免费无码不卡视频| 久久综合丝袜日本网| 色香蕉影院| 亚洲天堂视频在线播放| 精品福利网| 91热爆在线| 在线免费不卡视频| 国产人人射| 亚洲成人黄色在线观看| www.亚洲一区| 亚洲欧洲自拍拍偷午夜色| www欧美在线观看| 久久精品国产免费观看频道| 欧美午夜小视频| 亚洲VA中文字幕| 一级毛片免费观看不卡视频| 99久视频| 她的性爱视频| 国产亚洲欧美另类一区二区| 亚洲第一黄色网址| 在线观看免费黄色网址| 91外围女在线观看| 亚洲日本中文字幕乱码中文| 久久黄色影院| YW尤物AV无码国产在线观看|