亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于區(qū)塊鏈的分布式能源交易物理-信息仿真平臺(tái)

        2022-06-09 07:27:34陳子杰沈翔宇陳思捷沈澤宇
        電力系統(tǒng)自動(dòng)化 2022年10期
        關(guān)鍵詞:物理信息

        陳子杰,沈翔宇,陳思捷,嚴(yán) 正,平 健,沈澤宇

        (電力傳輸與功率變換控制教育部重點(diǎn)實(shí)驗(yàn)室(上海交通大學(xué)),上海市 200240)

        0 引言

        近年來(lái),隨著能源市場(chǎng)化改革的不斷推進(jìn),分布式能源與傳統(tǒng)集中供能融合的方案正成為新的供能模式而受到廣泛關(guān)注[1]。分布式能源具有數(shù)量多、分布散等特點(diǎn),在分布式能源交易中引入?yún)^(qū)塊鏈技術(shù)[2],可確保交易的公開(kāi)透明、可追溯、不可篡改,以及合約自動(dòng)執(zhí)行[3-5]。

        目前,已有研究基于區(qū)塊鏈開(kāi)發(fā)平臺(tái)部署了能源區(qū)塊鏈應(yīng)用。文獻(xiàn)[6-16]在微電網(wǎng)內(nèi)部雙向拍賣(mài)、光伏交易、電能多邊交易等場(chǎng)景中引入?yún)^(qū)塊鏈智能合約技術(shù)。然而,上述研究中的上鏈數(shù)據(jù)或基于用戶自主申報(bào),或由第三方網(wǎng)站模擬生成,并未考慮區(qū)塊鏈節(jié)點(diǎn)如何與分布式能源智能設(shè)備進(jìn)行數(shù)據(jù)交互,并且缺乏軟硬件結(jié)合的完整能源區(qū)塊鏈解決方案。

        同時(shí),能源區(qū)塊鏈的效率問(wèn)題一直受到學(xué)術(shù)界的廣泛關(guān)注。文獻(xiàn)[17]評(píng)估了能源互聯(lián)網(wǎng)區(qū)塊鏈平臺(tái)的交易所需時(shí)間與驗(yàn)證全部交易所需時(shí)間。文獻(xiàn)[18]評(píng)估了節(jié)點(diǎn)數(shù)量與交易手續(xù)費(fèi)對(duì)私有鏈網(wǎng)絡(luò)吞吐率的影響。文獻(xiàn)[19]在實(shí)驗(yàn)室測(cè)試環(huán)境下測(cè)試了基于區(qū)塊鏈實(shí)現(xiàn)的可再生能源消納憑證交易系統(tǒng)的性能。文獻(xiàn)[20]對(duì)比了權(quán)益授權(quán)證明共識(shí)機(jī)制與其他機(jī)制下的微電網(wǎng)群平均交易延遲時(shí)間。然而,上述研究忽略了區(qū)塊鏈層與硬件層間的數(shù)據(jù)交互時(shí)延及物理設(shè)備間的通信時(shí)延等影響因素。

        為此,本文構(gòu)建了基于區(qū)塊鏈的分布式能源交易仿真平臺(tái)。該平臺(tái)形成了一種軟硬件結(jié)合的完整區(qū)塊鏈架構(gòu),可以模擬園區(qū)規(guī)模下分布式能源產(chǎn)消者的運(yùn)行狀態(tài),并且可為能源區(qū)塊鏈應(yīng)用面臨的鏈上、鏈下數(shù)據(jù)轉(zhuǎn)化難題提供可行的解決方案。

        1 仿真平臺(tái)架構(gòu)

        基于區(qū)塊鏈的分布式能源交易仿真平臺(tái)的實(shí)物圖如圖1 所示。仿真平臺(tái)自下而上包含硬件層、控制層、網(wǎng)絡(luò)層和區(qū)塊鏈層4 層架構(gòu),如圖2 所示。其中,硬件層中內(nèi)嵌單片機(jī)的物理模型作為實(shí)際發(fā)用電方主體,工控機(jī)作為控制終端;控制層為仿真平臺(tái)的核心,實(shí)現(xiàn)硬件層到區(qū)塊鏈層的數(shù)據(jù)交互;網(wǎng)絡(luò)層實(shí)現(xiàn)各控制終端間的通信;區(qū)塊鏈層負(fù)責(zé)撮合已提交的電能交易請(qǐng)求,記錄各筆交易。控制層向區(qū)塊鏈層提交交易報(bào)單,區(qū)塊鏈層向控制層反饋成交信息;控制層軟件與硬件層單片機(jī)間傳輸數(shù)字信號(hào),使設(shè)備發(fā)用電狀態(tài)與電能交易成交情況相聯(lián)系。

        圖1 分布式能源交易仿真平臺(tái)實(shí)物圖Fig.1 Physical map of simulation platform for distributed energy trading

        圖2 分布式能源交易仿真平臺(tái)整體架構(gòu)Fig.2 Overall architecture of simulation platform for distributed energy trading

        硬件層嵌入單片機(jī)以采集物理設(shè)備的發(fā)用電狀態(tài)并傳輸控制信號(hào);限于實(shí)驗(yàn)條件,本文中的物理設(shè)備以物理模型及傳感器等來(lái)模擬,但此種信號(hào)的傳輸方式適用于目前大多數(shù)實(shí)際物理設(shè)備,具備一定的通過(guò)性。同時(shí),工控機(jī)作為硬件層的控制終端,與個(gè)人計(jì)算機(jī)相比,具有成本低廉、易安裝拆卸、電源強(qiáng)度可靠等優(yōu)點(diǎn),能夠適應(yīng)實(shí)際工程項(xiàng)目的需要。以太坊開(kāi)源平臺(tái)封裝的通信機(jī)制已被眾多去中心化應(yīng)用(decentralized application,DApp)驗(yàn)證是可靠的,無(wú)須做額外改動(dòng);網(wǎng)絡(luò)層基于此通信機(jī)制,最終通過(guò)網(wǎng)線(或無(wú)線網(wǎng)卡)連接方式形成點(diǎn)對(duì)點(diǎn)通信的局域網(wǎng)架構(gòu)。

        控制層主體通過(guò)Python 程序?qū)崿F(xiàn);Python 兼容眾多平臺(tái),可支持靈活豐富的以太坊、單片機(jī)交互;相較于其他編程語(yǔ)言,通過(guò)Python 將物理-信息交互接口封裝成類(lèi)庫(kù),能夠極大地提升開(kāi)發(fā)效率。

        1.1 硬件層

        硬件層共包含8 個(gè)模塊,分別為光伏電池模塊、風(fēng)力發(fā)電機(jī)模塊、儲(chǔ)能電池模塊、工廠模塊、樓宇模塊、充電樁模塊與輸電線模塊等。每個(gè)模塊均包含1 個(gè)物理模型、1 個(gè)控制終端與1 個(gè)顯示屏。其中,物理模型代表實(shí)際分布式能源交易市場(chǎng)中的發(fā)用電主體,配備有外部控制接口,支持控制終端的智能管理;顯示屏實(shí)時(shí)展示該主體的運(yùn)行狀態(tài)與成交信息。

        1.1.1 光伏電池模塊

        光伏電池模塊由1 塊光伏電池板、3 個(gè)光敏傳感器、2 個(gè)舵機(jī)以及1 個(gè)可旋轉(zhuǎn)的支架組成。光伏電池模塊通過(guò)光敏傳感器實(shí)時(shí)讀取當(dāng)前3 個(gè)維度的光照強(qiáng)度,將其轉(zhuǎn)化為電壓信號(hào)傳送給單片機(jī)。

        單片機(jī)根據(jù)傳感器返回的電壓信息,通過(guò)串口設(shè)備向舵機(jī)發(fā)送指令,控制舵機(jī)轉(zhuǎn)動(dòng)。當(dāng)左右兩側(cè)傳感器的數(shù)值超過(guò)設(shè)置的閾值時(shí),單片機(jī)向串口發(fā)送水平轉(zhuǎn)動(dòng)的指令;當(dāng)上側(cè)傳感器的數(shù)值超過(guò)設(shè)置的閾值時(shí),單片機(jī)向串口發(fā)送垂直轉(zhuǎn)動(dòng)的指令;當(dāng)3 個(gè)傳感器的數(shù)值均小于相應(yīng)的閾值時(shí),轉(zhuǎn)動(dòng)停止。通過(guò)上述控制方式,光伏電池板能夠近360°地追溯光源;此特性能夠提高發(fā)電效率,較好地模擬當(dāng)前光伏電池板的運(yùn)行情況。

        1.1.2 風(fēng)力發(fā)電機(jī)模塊

        風(fēng)力發(fā)電機(jī)模塊由1 個(gè)等比例縮小的風(fēng)力發(fā)電機(jī)模型與1 個(gè)振動(dòng)傳感器組成。當(dāng)風(fēng)力發(fā)電機(jī)模型受到外部風(fēng)力時(shí),傳感器就會(huì)感受到空氣振動(dòng),并向電機(jī)控制芯片發(fā)送高電平信號(hào),驅(qū)動(dòng)電機(jī)帶動(dòng)葉片轉(zhuǎn)動(dòng)固定的時(shí)長(zhǎng)。此時(shí),風(fēng)力發(fā)電機(jī)模型進(jìn)入發(fā)電狀態(tài)。

        1.1.3 儲(chǔ)能電池模塊

        儲(chǔ)能電池模塊由1 個(gè)電池基座和3 個(gè)燈環(huán)組成;燈環(huán)自下而上分別對(duì)應(yīng)0%~25%、25%~50%、50%~75% 和75%~100% 的電池電量區(qū)間。當(dāng)前,電池電量可以從亮起燈環(huán)的數(shù)量確定。儲(chǔ)能電池作為一種廣泛使用的儲(chǔ)能裝置,能夠避免分布式電源發(fā)電量過(guò)剩導(dǎo)致的電能浪費(fèi)以及用電方需求過(guò)大導(dǎo)致的供不應(yīng)求,從而有利于電網(wǎng)的穩(wěn)定運(yùn)行。

        1.1.4 工廠模塊

        工廠模塊由1 個(gè)工廠外殼模型、1 個(gè)控制旋鈕、8 條傳送帶組成??梢酝ㄟ^(guò)調(diào)節(jié)控制旋鈕控制工作的傳送帶數(shù)量。同時(shí)工作傳送帶的數(shù)量越多,工廠的用電量也就越大。

        1.1.5 樓宇模塊

        樓宇模塊由1 個(gè)辦公樓模型和2 位發(fā)光二極管(light-emitting diode,LED)組成;LED 自下而上分別對(duì)應(yīng)1 檔、2 檔、3 檔的光照用電需求。

        1.1.6 充電樁模塊

        充電樁模塊由2 個(gè)充電樁基座與1 個(gè)電動(dòng)汽車(chē)模型組成。電動(dòng)汽車(chē)有剩余電量時(shí),繞軌道行駛;電動(dòng)汽車(chē)電量耗盡時(shí),停于充電樁前等待充電。充電樁基座配置電量顯示屏,實(shí)時(shí)展示電動(dòng)汽車(chē)充電時(shí)的荷電狀態(tài)(state of charge,SOC)狀態(tài);SOC 狀態(tài)分 為0%~20%、20%~40%、40%~60%、60%~80%、80%~100%五檔。

        1.1.7 輸電線路模塊

        輸電線路模塊由若干條互相連接、閃爍方向可控的LED 燈帶組成,能夠更直觀地反映仿真平臺(tái)中電能的流向。每當(dāng)有電力交易達(dá)成時(shí),成交雙方之間的燈帶將以跑馬燈形式閃爍,代表發(fā)電方正向用電方傳輸電能。

        1.1.8 工控機(jī)

        各市場(chǎng)主體模塊均配備1 臺(tái)工控機(jī),型號(hào)及運(yùn)行參數(shù)見(jiàn)附錄A。工控機(jī)作為硬件層物理模型的智能管理者和控制層的執(zhí)行載體,與物理模型內(nèi)嵌單片機(jī)通用串行總線(universal serial bus,USB)連接。工控機(jī)具備內(nèi)存容量充足、小巧輕便以及多系統(tǒng)兼容性好等優(yōu)點(diǎn),符合分布式能源交易仿真平臺(tái)對(duì)于處理器的要求。

        1.1.9 顯示屏

        各市場(chǎng)主體模塊均配備1 塊顯示屏,可顯示15 行信息,每行25 個(gè)字符。顯示屏實(shí)時(shí)展示對(duì)應(yīng)模塊的工作狀態(tài)信息、市場(chǎng)交易信息,以及對(duì)應(yīng)節(jié)點(diǎn)的區(qū)塊鏈信息;各項(xiàng)信息均隨交易進(jìn)程變化。例如,某一時(shí)刻儲(chǔ)能電池模塊顯示屏展示的主要信息如表1所示。

        表1 顯示屏展示信息Table 1 Information displayed on screen

        1.2 控制層

        控制層是仿真平臺(tái)整體架構(gòu)的核心,可實(shí)現(xiàn)硬件層到區(qū)塊鏈層的數(shù)據(jù)交互。不同市場(chǎng)主體的控制層不盡相同,但均包含4 個(gè)基本控制模塊,并且各基本控制模塊間呈并列運(yùn)行狀態(tài)。4 個(gè)基本控制模塊的功能詳述如下:

        1)自由報(bào)價(jià)模塊。自由報(bào)價(jià)模塊負(fù)責(zé)讀取硬件層物理模型的運(yùn)行狀態(tài),并根據(jù)工作狀態(tài)向區(qū)塊鏈層提供電能交易請(qǐng)求。

        2)“挖礦”模塊。“挖礦”模塊根據(jù)區(qū)塊鏈上的請(qǐng)求隊(duì)列狀態(tài),決定節(jié)點(diǎn)是否應(yīng)打包、生成區(qū)塊。

        3)區(qū)塊鏈信息展示模塊。區(qū)塊鏈信息展示模塊負(fù)責(zé)實(shí)時(shí)更新區(qū)塊鏈的運(yùn)行狀態(tài),并將其展示在硬件層的顯示屏上。

        4)市場(chǎng)交易信息展示模塊。市場(chǎng)交易信息展示模塊負(fù)責(zé)讀取、展示存儲(chǔ)于區(qū)塊鏈層的市場(chǎng)成交信息,并相應(yīng)控制硬件層的物理模型,并改變運(yùn)行狀態(tài)。

        控制層的物理載體為工控機(jī),其與硬件層、區(qū)塊鏈層交互采用Python 實(shí)現(xiàn)。

        1.3 網(wǎng)絡(luò)層

        網(wǎng)絡(luò)層在物理上主要由1 臺(tái)路由器和網(wǎng)線(或無(wú)線網(wǎng)卡)實(shí)現(xiàn)。8 臺(tái)工控機(jī)在同一局域網(wǎng)內(nèi)通過(guò)有線或無(wú)線方式連接至同一路由器,享有唯一、固定的局域網(wǎng)互聯(lián)網(wǎng)協(xié)議(Internet protocol,IP)地址。在仿真平臺(tái)運(yùn)行前,各工控機(jī)間通過(guò)文件傳輸協(xié)議(file transfer protocol,FTP)向其余所有工控機(jī)傳輸包含自身局域網(wǎng)IP 地址以及區(qū)塊鏈節(jié)點(diǎn)標(biāo)識(shí)號(hào)的文件數(shù)據(jù),并等待區(qū)塊鏈節(jié)點(diǎn)啟動(dòng)并互聯(lián)。

        1.4 區(qū)塊鏈層

        區(qū)塊鏈層基于以太坊(Ethereum,ETH)開(kāi)源平臺(tái)的私有鏈架構(gòu),以適應(yīng)仿真平臺(tái)高速的數(shù)據(jù)傳輸與交易處理需求。

        Geth 是基于Go 語(yǔ)言的以太坊官方客戶端軟件,其提供了一個(gè)交互式命令控制臺(tái),能夠新建、互聯(lián)、控制區(qū)塊鏈節(jié)點(diǎn)并監(jiān)視其運(yùn)行狀態(tài)。以太坊智能合約基于Solidity 語(yǔ)言開(kāi)發(fā),并通過(guò)在線編輯器Remix 編譯。

        仿真平臺(tái)采用了一種基于掛牌交易的去中心化能源交易所區(qū)塊鏈架構(gòu)[21],并部署了對(duì)應(yīng)的智能合約。智能合約包含限價(jià)交易、市價(jià)交易、撤單、最優(yōu)報(bào)價(jià)查詢(xún)、轉(zhuǎn)賬、發(fā)用電量反饋等調(diào)用接口。

        能源交易場(chǎng)景涉及法幣與鏈上代幣的兌換。采用的雙幣制方案如下:

        1)以太坊私有鏈以太幣。在以太坊權(quán)威證明(proof of authority,PoA)的共識(shí)機(jī)制下,節(jié)點(diǎn)生成區(qū)塊將不再獲得以太幣獎(jiǎng)勵(lì),因此,以太幣在區(qū)塊創(chuàng)建伊始分配,并用于合約發(fā)布與提交交易請(qǐng)求。

        2)合約賬戶余額。設(shè)計(jì)智能合約為賬戶增加1 個(gè)新的余額屬性,法幣與代幣的兌換比例為1∶100。用戶在現(xiàn)實(shí)中向管理中心轉(zhuǎn)賬X元;管理中心為區(qū)塊鏈中賬戶調(diào)用發(fā)幣合約函數(shù),并在該用戶的余額中增加100X代幣。合約賬戶余額可用于電量交易、支付保證金等。

        2 基于Arduino 和Python 的硬件控制

        基于區(qū)塊鏈的分布式能源交易仿真平臺(tái)的硬件層主體為內(nèi)嵌Arduino 單片機(jī)的物理模型,具備可交互特性,具體表現(xiàn)為:1)物理模型的電量交易需求隨外部環(huán)境變化而變化;2)物理模型根據(jù)達(dá)成的能源交易實(shí)時(shí)改變運(yùn)行狀態(tài)。硬件層的相關(guān)控制通過(guò)Arduino 及Python 實(shí) 現(xiàn)。

        2.1 內(nèi)嵌Arduino 板的物理模型實(shí)現(xiàn)

        Arduino 是一款開(kāi)源電子原型平臺(tái),包含硬件(Arduino 電路板)和軟件(Arduino IDE)兩大組件[22]。內(nèi)嵌Arduino 電路板示意圖及參數(shù)見(jiàn)附錄B和附錄C。

        Arduino 電路板通過(guò)多樣化的傳感器感知環(huán)境,并通過(guò)燈光、電動(dòng)機(jī)等其他的控制設(shè)備反饋。將Arduino IDE 編寫(xiě)的程序編譯成二進(jìn)制文件,并燒錄進(jìn)Arduino 電路板的微控制器中,以實(shí)現(xiàn)對(duì)Arduino電路板的自動(dòng)控制。Arduino IDE 程序中儲(chǔ)能電池模塊的循環(huán)控制代碼見(jiàn)附錄D。

        2.2 物理模型控制的外部接口實(shí)現(xiàn)

        Arduino IDE 程序讀取USB 接口傳輸?shù)臄?shù)字信號(hào),改變或反饋物理的運(yùn)行狀態(tài)。用Python 編寫(xiě)可簡(jiǎn)化信號(hào)傳輸指令模塊,形成面向區(qū)塊鏈開(kāi)發(fā)者的外部接口。該P(yáng)ython 庫(kù)包含command 與st_utill 這2 個(gè)模塊。其中,command 模塊定義了對(duì)應(yīng)不同物理模型的類(lèi)與控制方式,st_utill 模塊定義了USB 接口的選取與數(shù)據(jù)傳輸格式。表2 展示了command 模塊中部分類(lèi)的定義與控制方式。

        表2 command 模塊中部分類(lèi)的定義與控制方式Table 2 Definition and control mode of some classes in command module

        以?xún)?chǔ)能電池為例,通過(guò)Python 庫(kù)外部接口控制物理模型運(yùn)行狀態(tài)的步驟如下:1)導(dǎo)入command與st_utill 模塊;2)將USB 接口實(shí)例化;3)將儲(chǔ)能電池模塊實(shí)例化;4)向USB 實(shí)例化對(duì)象傳輸對(duì)應(yīng)儲(chǔ)能電池實(shí)例化對(duì)象中控制函數(shù)的數(shù)字信號(hào),如USBInstance.send(BatteryInstance.get())。

        3 基于以太坊的私有鏈構(gòu)建與交互

        仿真平臺(tái)的區(qū)塊鏈層采用以太坊私有鏈架構(gòu)。首先,需要初始化區(qū)塊鏈創(chuàng)世區(qū)塊配置;然后,新建區(qū)塊鏈節(jié)點(diǎn),并部署分布式能源交易智能合約。實(shí)際運(yùn)行時(shí),僅需啟動(dòng)預(yù)先設(shè)置的區(qū)塊鏈節(jié)點(diǎn),即可調(diào)用智能合約中的函數(shù),參與分布式能源市場(chǎng)交易。

        3.1 區(qū)塊鏈創(chuàng)世區(qū)塊配置及節(jié)點(diǎn)建立

        創(chuàng)世區(qū)塊是區(qū)塊鏈的第1 個(gè)區(qū)塊,是該區(qū)塊鏈中所有區(qū)塊的共同祖先。創(chuàng)世區(qū)塊擁有唯一的哈希標(biāo)識(shí),規(guī)定該區(qū)塊鏈的運(yùn)行法則。以太坊私有鏈的創(chuàng)世區(qū)塊參數(shù)設(shè)置如表3 所示。

        表3 以太坊私有鏈的創(chuàng)世區(qū)塊參數(shù)設(shè)置Table 3 Settings of the creation block of the Ethereum private chain

        需要說(shuō)明的是,在以太坊的PoA 共識(shí)機(jī)制下,節(jié)點(diǎn)不會(huì)獲得生成區(qū)塊獎(jiǎng)勵(lì),但打包區(qū)塊可成功獲得區(qū)塊中包含所有交易的手續(xù)費(fèi)(gas);此機(jī)制保留了gas 以區(qū)分交易的優(yōu)先級(jí)。

        為滿足合約發(fā)布和提出交易請(qǐng)求,需要將創(chuàng)世區(qū)塊配置生成json 文件,并在同一目錄下使用geth init 命令新建區(qū)塊鏈節(jié)點(diǎn),然后,在geth 控制臺(tái)中為每個(gè)節(jié)點(diǎn)建立具有一定初始以太幣的賬戶,用于合約發(fā)布與提出交易請(qǐng)求。

        3.2 區(qū)塊鏈節(jié)點(diǎn)互聯(lián)

        每個(gè)區(qū)塊鏈節(jié)點(diǎn)初始啟動(dòng)時(shí)處于孤立狀態(tài),需要向任一已知節(jié)點(diǎn)發(fā)送連接請(qǐng)求,以加入該私有鏈網(wǎng)絡(luò)。不同工控機(jī)中的區(qū)塊鏈節(jié)點(diǎn)相互連接,需要滿足以下條件[23]:1)創(chuàng)世區(qū)塊配置(json 文件)相同;2)處于同一個(gè)局域網(wǎng)內(nèi);3)網(wǎng)絡(luò)ID 標(biāo)識(shí)(chainID)相同。

        在滿足以上條件的前提下,需使用admin.nodeInfo 命令查詢(xún)自身節(jié)點(diǎn)enode 標(biāo)識(shí)與局域網(wǎng)地址,并通過(guò)FTP 連接向其他工控機(jī)傳輸包含上述信息的文件;區(qū)塊鏈節(jié)點(diǎn)間通過(guò)包含節(jié)點(diǎn)enode 標(biāo)識(shí)、節(jié)點(diǎn)IP 地址、geth 控制臺(tái)通信端口號(hào)3 個(gè)要素的admin.addPeer 命令實(shí)現(xiàn)相互連接。

        命令返回狀態(tài)為T(mén)rue,表示相互連接成功。隨后,以擁有最高區(qū)塊的節(jié)點(diǎn)為基準(zhǔn),各節(jié)點(diǎn)間開(kāi)始區(qū)塊同步,直至所有節(jié)點(diǎn)的區(qū)塊高度相同。

        3.3 智能合約部署和調(diào)用

        分布式能源交易仿真平臺(tái)采用了一種點(diǎn)對(duì)點(diǎn)(peer to peer,P2P)的交易機(jī)制[21]。該交易機(jī)制中,一次完整的交易周期包含交易階段與結(jié)算階段。上一交易周期的結(jié)算階段與下一交易周期的交易階段同時(shí)進(jìn)行。其中,交易階段包括P2P 交易階段;結(jié)算階段包括交割階段、綠證流轉(zhuǎn)階段。

        對(duì)應(yīng)上述交易機(jī)制,分布式能源交易的智能合約設(shè)計(jì)方案如下:交易階段包含獲取通證、限價(jià)交易、撤單、市價(jià)交易、預(yù)付費(fèi)等接口;結(jié)算階段包含發(fā)電量反饋、用電量反饋、轉(zhuǎn)賬等接口。

        首先,通過(guò)在線編輯器Remix 編譯智能合約,獲取對(duì)應(yīng)的二進(jìn)制編碼文件與應(yīng)用程序二進(jìn)制接口(application binary interface,ABI),并在任一區(qū)塊鏈節(jié)點(diǎn)上提交部署合約請(qǐng)求。其中,ABI 接口定義了該智能合約可調(diào)用函數(shù)的名稱(chēng)、輸入輸出數(shù)據(jù)格式、gas 消耗量等參數(shù)。然后,該請(qǐng)求被礦工挖出并記錄于鏈上后,自動(dòng)向請(qǐng)求發(fā)起者返回包含該智能合約的地址與區(qū)塊哈希值。處于同步狀態(tài)的節(jié)點(diǎn)將實(shí)時(shí)更新區(qū)塊高度,獲取成功部署的智能合約信息。

        仿真平臺(tái)用戶可利用Python 的Web3 庫(kù)調(diào)用智能合約,以發(fā)起交易請(qǐng)求及確認(rèn)電量交割。具體操作為:1)檢驗(yàn)節(jié)點(diǎn)互聯(lián)狀態(tài);2)檢驗(yàn)狀態(tài)為同步后,調(diào)用進(jìn)程間通信(inter-process communication,IPC)文件;3)解鎖賬戶,并核對(duì)地址,核對(duì)有效則繼續(xù),無(wú)效則重新解鎖;4)定義智能合約的ABI 接口;5)定義智能合約的部署地址;6)通過(guò)ABI 接口與部署地址兩要素創(chuàng)建智能合約的Contract 實(shí)例;7)利用Web3 庫(kù)Contract 類(lèi)下function 函數(shù)調(diào)用智能合約。

        3.4 區(qū)塊鏈層相關(guān)的Python 控制程序?qū)崿F(xiàn)

        在控制層,仿真平臺(tái)通過(guò)Python 控制程序的報(bào)價(jià)模塊、區(qū)塊鏈展示模塊、市場(chǎng)信息展示模塊與區(qū)塊鏈層交互。本節(jié)以工廠為例闡述模塊邏輯,偽代碼見(jiàn)附錄E。

        報(bào)價(jià)模塊負(fù)責(zé)根據(jù)硬件工作狀態(tài)發(fā)起交易請(qǐng)求。工廠的用電量與運(yùn)行紐帶數(shù)成正比,可自由調(diào)節(jié)。因此,報(bào)價(jià)模塊設(shè)定如下:在交易階段伊始(每一交易周期為600 s),自動(dòng)讀取工廠的運(yùn)行紐帶數(shù),以此為依據(jù)預(yù)計(jì)本周期內(nèi)工廠的用電量;然后,根據(jù)設(shè)定的交易策略,提交合適的限價(jià)訂單。

        區(qū)塊鏈信息展示模塊實(shí)時(shí)讀取當(dāng)前區(qū)塊鏈運(yùn)行狀態(tài),并展示在相應(yīng)模塊的顯示屏上。該模塊監(jiān)視區(qū)塊鏈系統(tǒng)狀態(tài),不涉及具體業(yè)務(wù)邏輯,使得節(jié)點(diǎn)宕機(jī)、節(jié)點(diǎn)異步、請(qǐng)求阻塞等異常情況能被及時(shí)發(fā)現(xiàn);同時(shí),該模塊能夠展現(xiàn)各節(jié)點(diǎn)輪流擔(dān)任區(qū)塊的生成者,印證區(qū)塊鏈系統(tǒng)多方主導(dǎo)、社區(qū)共治的價(jià)值。

        市場(chǎng)交易信息展示模塊實(shí)時(shí)讀取當(dāng)前交易市場(chǎng)成交信息、待出清信息,并展示在相應(yīng)模塊的顯示屏上。該模塊為市場(chǎng)成員設(shè)定交易策略提供參考,保障市場(chǎng)成員的數(shù)據(jù)共享與信息同步,并為成交雙方提供成交信息所在區(qū)塊高度與交易哈希,作為不可篡改的交易憑證。

        4 展示模式與測(cè)試用例

        4.1 展示模式

        基于區(qū)塊鏈的分布式能源交易仿真平臺(tái)采用P2P 交易機(jī)制。一個(gè)交易周期設(shè)定為10 min,前8 min 為交易階段,后2 min 為W111ii 結(jié)算階段。在交易階段,各模塊可采取的P2P 交易行為包括:

        1)提交限價(jià)報(bào)單。買(mǎi)(賣(mài))方指定成交價(jià)格及成交電量,等待賣(mài)(買(mǎi))方提交市價(jià)報(bào)單成交。

        2)提交市價(jià)報(bào)單。買(mǎi)(賣(mài))方指定數(shù)量,但不設(shè)定價(jià)格,立即與當(dāng)前市場(chǎng)最優(yōu)賣(mài)(買(mǎi))方限價(jià)報(bào)單成交。

        3)撤單。買(mǎi)(賣(mài))方放棄購(gòu)買(mǎi)(出售)電量,清除自身限價(jià)報(bào)單信息。

        在交易階段開(kāi)始時(shí),各用電方模塊首先根據(jù)自身運(yùn)行狀態(tài),提交限價(jià)報(bào)單;在交易階段內(nèi),發(fā)電方模塊受外部條件觸發(fā),自動(dòng)提交市價(jià)報(bào)單,匹配最優(yōu)的限價(jià)報(bào)單。交易成功匹配后,買(mǎi)方即刻向賣(mài)方傳輸電量。輸電線實(shí)時(shí)更新電量傳輸情況,顯示屏實(shí)時(shí)更新市場(chǎng)成交情況。結(jié)算階段中,買(mǎi)賣(mài)雙方自動(dòng)根據(jù)交易階段實(shí)際交割電量結(jié)算電費(fèi)。

        4.2 測(cè)試用例

        采用18:00—18:10 時(shí)段內(nèi)的一輪分布式能源交易情況進(jìn)行驗(yàn)證。各時(shí)刻限價(jià)報(bào)單參數(shù)如表4所示。

        表4 買(mǎi)方限價(jià)報(bào)單參數(shù)Table 4 Parameters of price limited orders of buyers

        18:00,各買(mǎi)方模塊根據(jù)18:00—18:10 內(nèi)的購(gòu)買(mǎi)需求,提交限價(jià)報(bào)單,參數(shù)如表4 所示。該筆請(qǐng)求的區(qū)塊鏈信息如下:區(qū)塊高度為267;區(qū)塊生成者為0xCf4C3CE492deCB3D17850Fc1ccB 和dD3B9F22 3755B(光伏);區(qū)塊哈希為0x3954c761ef0d9f8b572 fee19686e7165 和 b316f3979e844b6b3a47d2b37a44 1789。

        18:02,光伏電池、風(fēng)力發(fā)電機(jī)分別受外部觸發(fā),提交報(bào)量為10 kW·h 和8 kW·h 的市價(jià)報(bào)單,并自動(dòng)匹配最優(yōu)的限價(jià)報(bào)單。該筆請(qǐng)求的區(qū)塊鏈信息如下:區(qū)塊高度為325;區(qū)塊生成者為0xDff884f75c1 dC49040f2EF57e5F100C1427B02CF(儲(chǔ)能電池);區(qū)塊哈希為0x00060f2ad289c39be2c9ac24b72374 affe77e38507a432b955e7cbb9abfbd7d1。

        18:05,由于長(zhǎng)時(shí)間沒(méi)有交易匹配,辦公樓選擇將剩余7 kW·h 用電需求撤單;充電樁選擇將報(bào)價(jià)提高至70 代幣/(kW·h)。該筆請(qǐng)求的區(qū)塊鏈信息如下:區(qū)塊高度為414;區(qū)塊生成者為0xe17cf648b9e1 cb23033f3bdf3dc4a81bae617eca(充電樁);區(qū)塊哈希為0x6141e9ab7b81d5ff31bb96842a6c00c75f62e6796 2cb43712e76e0f9b03db42e。

        18:07,光伏電池、風(fēng)力發(fā)電機(jī)再次受外部觸發(fā),分別提交報(bào)量為20 kW·h、10 kW·h 的市價(jià)交易報(bào)單,并自動(dòng)匹配最優(yōu)的限價(jià)交易報(bào)單。該筆請(qǐng)求的區(qū)塊鏈信息如下:區(qū)塊高度為470;區(qū)塊生成者為0xCf4C3CE492deCB3D17850Fc1ccBdD3B9F22375 5B(光伏);區(qū)塊哈希為0x7aeb523dac0df264de54af3 b9bd28f11665d39f3f82ea5a97f4144e18342f980。

        18:08,交易階段結(jié)束,自動(dòng)進(jìn)入結(jié)算階段電費(fèi)。該交易周期內(nèi)的市場(chǎng)成交結(jié)果如表5 所示。

        表5 分布式能源市場(chǎng)成交結(jié)果Table 5 Transaction results of distributed energy market

        展示用例運(yùn)行結(jié)果表明:

        1)基于區(qū)塊鏈的分布式能源交易仿真平臺(tái)能夠快速反饋發(fā)用電模塊的運(yùn)行狀態(tài),并在交易階段內(nèi)根據(jù)模塊需求向以太坊私有鏈提交合適的交易報(bào)單;

        2)區(qū)塊鏈作為一種去中心化技術(shù),能夠在沒(méi)有權(quán)威機(jī)構(gòu)的場(chǎng)景下,維持各節(jié)點(diǎn)的交易記錄一致,實(shí)現(xiàn)分布式能源交易的自組織、自運(yùn)行;

        3)基于區(qū)塊鏈的分布式能源交易仿真平臺(tái)將區(qū)塊鏈層的數(shù)據(jù)流、信息流在硬件層上以可視化形式直觀展現(xiàn),驗(yàn)證了區(qū)塊鏈的數(shù)據(jù)共享、社區(qū)共治、記錄溯源等價(jià)值。

        4.3 區(qū)塊鏈特點(diǎn)

        仿真平臺(tái)以可交互、用戶友好的方式,能夠從分散式主體的角度展現(xiàn)區(qū)塊鏈在分布式能源交易場(chǎng)景下的應(yīng)用價(jià)值:

        1)數(shù)據(jù)共享與同步。仿真平臺(tái)中各市場(chǎng)主體模塊均能夠獲取市場(chǎng)中的最優(yōu)報(bào)單信息,并通過(guò)配備的顯示屏實(shí)時(shí)展示。附錄F 圖F1 為展示用例中18:02 時(shí)各主體顯示屏展示的最優(yōu)報(bào)單信息,驗(yàn)證了區(qū)塊鏈能夠解決發(fā)用電雙方信息不對(duì)等的問(wèn)題,打破分布式能源市場(chǎng)內(nèi)各主體間的信息壁壘。

        2)社區(qū)共治。仿真平臺(tái)中各市場(chǎng)主體模塊輪流充當(dāng)規(guī)則執(zhí)行者,負(fù)責(zé)打包固定時(shí)段內(nèi)的交易結(jié)果,除規(guī)則執(zhí)行者外的其他市場(chǎng)主體模塊可以驗(yàn)證交易結(jié)果的正確性;各時(shí)段的規(guī)則執(zhí)行者在顯示屏上實(shí)時(shí)展示。由附錄F 圖F2 可以看出,不同時(shí)刻辦公樓模塊顯示屏展示的規(guī)則執(zhí)行者不同,驗(yàn)證了區(qū)塊鏈能夠賦予各市場(chǎng)主體平等的執(zhí)行權(quán)與監(jiān)督權(quán),解決了一定規(guī)模下分布式能源交易缺乏上層統(tǒng)一機(jī)構(gòu)管理調(diào)度的難題。

        3)記錄溯源。被確認(rèn)上鏈的交易記錄具有可追溯特性。顯示屏實(shí)時(shí)展示對(duì)應(yīng)市場(chǎng)主體上一交易周期的成交記錄;各市場(chǎng)主體模塊均能夠通過(guò)交易被打包的區(qū)塊高度追溯歷史交易。附錄F 圖F3 為展示用例中18:02 時(shí)辦公樓模塊顯示屏展示的上一周期成交信息,驗(yàn)證了區(qū)塊鏈的可追溯特性能夠?qū)崿F(xiàn)數(shù)據(jù)的快速檢索,便于交易雙方的數(shù)據(jù)統(tǒng)計(jì)與清算。

        4.4 性能測(cè)試

        在該仿真平臺(tái)架構(gòu)下,市場(chǎng)主體(區(qū)塊鏈節(jié)點(diǎn))提交交易請(qǐng)求需要經(jīng)過(guò)以下階段:物理電力數(shù)據(jù)采集、物理電力數(shù)據(jù)讀取、物理電力數(shù)據(jù)上鏈、鏈上數(shù)據(jù)處理、處理結(jié)果響應(yīng)、結(jié)果反饋至物理設(shè)備。其中,目前多數(shù)研究搭建的單一區(qū)塊鏈信息平臺(tái)僅實(shí)現(xiàn)了鏈上數(shù)據(jù)處理與處理結(jié)果響應(yīng)階段,尚未考慮物理電力數(shù)據(jù)采集、物理電力數(shù)據(jù)讀取、物理電力數(shù)據(jù)上鏈、結(jié)果反饋至物理設(shè)備等階段的數(shù)據(jù)交互時(shí)延,即本文“物理-信息”的體現(xiàn)。

        運(yùn)行效率是分布式能源實(shí)時(shí)交易場(chǎng)景需要考慮的關(guān)鍵因素,具體表現(xiàn)為請(qǐng)求確認(rèn)時(shí)間與軟硬件數(shù)據(jù)交互時(shí)間。請(qǐng)求確認(rèn)時(shí)間表示從區(qū)塊鏈節(jié)點(diǎn)發(fā)起請(qǐng)求到該請(qǐng)求被打包為區(qū)塊上鏈,并受到全部節(jié)點(diǎn)認(rèn)可的時(shí)延,即鏈上數(shù)據(jù)處理與處理結(jié)果響應(yīng)階段的時(shí)延;軟硬件數(shù)據(jù)交互時(shí)間表示控制層接收硬件層狀態(tài)改變信號(hào)或硬件層接收控制層控制信號(hào)的時(shí)延,即物理電力數(shù)據(jù)采集、物理電力數(shù)據(jù)讀取、物理電力數(shù)據(jù)上鏈、結(jié)果反饋至物理設(shè)備等階段的時(shí)延。

        本文在以太坊平臺(tái)的PoA 共識(shí)機(jī)制下,設(shè)定出塊間隔為2 s,測(cè)試100 次請(qǐng)求確認(rèn)時(shí)間、軟硬件數(shù)據(jù)交互時(shí)間,以及期間內(nèi)計(jì)算、存儲(chǔ)資源消耗量,測(cè)試結(jié)果與平均值如圖3 所示。

        圖3 以太坊PoA 共識(shí)機(jī)制下的性能測(cè)試結(jié)果Fig.3 Performance testing results of Ethereum PoA consensus mechanism

        由圖3 可知,軟硬件交互時(shí)間短于請(qǐng)求確認(rèn)時(shí)間,但仍處于同一數(shù)量級(jí)(毫秒)下,不可被忽略;100 次測(cè)試期間內(nèi),計(jì)算資源消耗量維持在10%~15%區(qū)間內(nèi),存儲(chǔ)資源消耗量基本與請(qǐng)求發(fā)起總數(shù)成線性關(guān)系??傊?在上述技術(shù)架構(gòu)下,秒時(shí)間級(jí)別的請(qǐng)求確認(rèn)時(shí)間與軟硬件數(shù)據(jù)交互時(shí)間、較低的資源消耗量能夠基本滿足一定規(guī)模下分布式能源實(shí)時(shí)交易的應(yīng)用需求;但在更大的場(chǎng)景規(guī)模下仍存在去中心化、可擴(kuò)展性、安全性的三角矛盾,能源區(qū)塊鏈技術(shù)架構(gòu)仍需進(jìn)一步優(yōu)化。

        需要說(shuō)明的是,本文提出的基于區(qū)塊鏈的分布式能源交易物理-信息仿真平臺(tái)采用以太坊的私有架構(gòu),但其中應(yīng)用的軟硬件數(shù)據(jù)交互接口及交易流程可拓展至聯(lián)盟鏈、公有鏈;公有鏈、聯(lián)盟鏈、私有鏈之間的區(qū)別在于準(zhǔn)入機(jī)制不同,并不影響節(jié)點(diǎn)部署后數(shù)據(jù)交互接口的實(shí)現(xiàn)。

        5 結(jié)語(yǔ)

        當(dāng)前,能源區(qū)塊鏈應(yīng)用的研究尚未涉及區(qū)塊鏈與智能設(shè)備的數(shù)據(jù)交互方式,并缺少實(shí)際工程環(huán)境下的區(qū)塊鏈系統(tǒng)性能測(cè)試模擬。為此,提出了基于區(qū)塊鏈的分布式能源交易物理-信息仿真平臺(tái)。模擬測(cè)試結(jié)果表明,綜合考慮軟硬件各方面影響因素,以太坊的PoA 共識(shí)機(jī)制架構(gòu)已基本滿足一定規(guī)模下分布式能源實(shí)時(shí)交易的性能要求。

        受限于實(shí)驗(yàn)條件,本文設(shè)計(jì)的物理-信息仿真平臺(tái)僅模擬了8 個(gè)區(qū)塊鏈節(jié)點(diǎn)/能源主體。未來(lái)的研究方向包括:通過(guò)軟件仿真模擬物理設(shè)備與區(qū)塊鏈的通信,評(píng)估大規(guī)模能源區(qū)塊鏈應(yīng)用的表現(xiàn);通過(guò)網(wǎng)絡(luò)拓?fù)鋬?yōu)化、區(qū)塊鏈分區(qū)等方式優(yōu)化區(qū)塊鏈網(wǎng)絡(luò)架構(gòu)。

        猜你喜歡
        物理信息
        只因是物理
        井岡教育(2022年2期)2022-10-14 03:11:44
        如何打造高效物理復(fù)習(xí)課——以“壓強(qiáng)”復(fù)習(xí)課為例
        處處留心皆物理
        我心中的物理
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        三腳插頭上的物理知識(shí)
        我不是教物理的
        中學(xué)生(2015年2期)2015-03-01 03:43:33
        展會(huì)信息
        信息
        健康信息
        祝您健康(1987年3期)1987-12-30 09:52:32
        亚洲第一免费播放区| 护士人妻hd中文字幕| 极品美女扒开粉嫩小泬| 精品一区二区三区影片| 青青草在线免费观看视频 | 国产va免费精品观看精品| 亚洲国产综合精品 在线 一区| 国产亚洲欧美日韩国产片| 日本人妻高清免费v片| 大又大又粗又硬又爽少妇毛片| 国产专区国产av| 成人精品国产亚洲欧洲| 美国黄色av一区二区| 欧美人与动性xxxxx杂性| 中国猛少妇色xxxxx| 国产日韩欧美视频成人| 国产美女高潮流白浆视频| 亚州性无码不卡免费视频| 曰本女人与公拘交酡免费视频 | 国产丝袜美腿精品91在线看| 亚洲综合久久精品无码色欲| 狠狠躁天天躁无码中文字幕图| 韩国女主播一区二区三区在线观看 | 水蜜桃精品一二三| 亚洲AV无码资源在线观看| 最近中文字幕一区二区三区| 人妻夜夜爽天天爽三区丁香花 | 少妇特殊按摩高潮不断| 视频在线国产一区二区| 欧美精品人人做人人爱视频| 99热成人精品国产免| 久久精品亚洲热综合一本色婷婷| 超碰97人人射妻| 少妇高潮喷水正在播放| 99久久免费精品色老| 亚洲偷自拍国综合第一页| 人妻丰满熟妇av无码片| 国产成年无码久久久免费| 亚洲不卡av一区二区三区四区 | 国产精品久久婷婷六月| 色窝窝无码一区二区三区|