基于以太坊智能合约模型分析能源产业能源交易问题

(整期优先)网络出版时间:2021-07-22
/ 2

基于以太坊智能合约模型分析能源产业能源交易问题

邢素洁


华北电力大学(保定)河北 保定 071000

摘要:现阶段,我国能源行业发展迅速,需要更多的电力资源进行支撑,但是电力资源交易方法却存在很多问题:交易速度慢,电力在交易中浪费严重等,这严重的制约了我国能源市场的发展。本文探究了以区块链为底层技术的以太坊智能合约模型在电力能源管理领域的应用。区块链技术具有去中心化,开放性,不可篡改,分布式存储等特点。本文利用go-ethereum的一个分支Quorum 建立联盟链,其中包括内部公司抽象为七个节点,再编写电力交易智能合约放入联盟链中,使其在系统中仿真运行。结果表明以太坊智能合约模型可以运用于能源交易问题,提出了建立区块链能源交易体系的概念,为我国能源行业交易问题的解决提供了新的思路。

关键字:区块链以太坊智能合约能源电力行业发展

一.引言

近年来,电网建设运行过程加快,电力企业为了深化"提高效率、保护环境"理念,积极参与到"资源节约、环境友好"电网建设中来。经过"十一五"的建设,我国电力实现了全国范围内的资源优化与合理布局,基本上满足了居民日常生活及企业生产的用电需求;电力供应业保持了平稳、有序、足量的供应状态。但是,就电力运行的流程上来说,电力浪费现象仍然存在,这与"资源节约型"的发展方向严重不符,影响了社会的和谐稳定发展。随着我国国民经济水平飞速发展,电力供应要求与日俱增,能源短缺的现状越来越严重。

区块链作为一项时代新兴技术,正在引导全球技术产业变革,致力于提高各行业生产率、降低成本、以及拓展新市场。当前能源产业正在飞速变革,电力企业面临新的挑战,区块链技术与能源行业的结合将会带来新一代的发展。本文探究了以区块链为底层技术的以太坊智能合约模型在电力能源管理领域的应用,区块链可以有效的改进电力能源行业生产技术问题,使得生产商、消费者和其他第三方服务商之间能够平等地利用这些技术手段进行贸易合作,从而实现自治性、市场化、智能化。

二.区块链技术介绍

区块链可以简单理解为去中心化的分布式账本,各个节点存储分布式数据,数据按时间顺序相连而成。它基于密码学原理,交易过程中交易双方不需要第三方中介的参与,通过密钥直接支付。目前主流的区块链平台包括比特币、以太坊(ethereum)和超级账本(hyper ledger fabric)等。

区块链模型的出现使传统的互联网格局发生了变化,其核心为去中心化,能够促进交易的高效运行。作为一种新时代数据库技术,区块链因其安全、透明等特质与当代能源互联网的发展理念相符,在未来电力行业发展中具有广泛的应用潜力。

区块链模型可简单分为五个层面:

(1)应用层:不仅局限于数字代币,还可提供面向不同平台不同行业的应用接口。

(2)激励层:不再仅限于获得电子代币,而是帮助企业、行业降低成本、提高效率,或者是通过智能合约获得数字资产。

(3)共识层:放弃了单纯耗能的POW(Proof of Work)机制,共识可以建立在科学计算、投票、股权等更加智能、高效的共识机制之上。

(4)网络层:不再需要所有的节点都分担全部区块链的存储任务,采用P2P(Peer-to-Peer)和中心拓扑相结合的网络架构,由数字签名、加密技术提供中心数据库中区块链数据的完备性和不可篡改性[1]。

(5)数据层:不仅局限于对数字代币交易账单的记录,可以记录智能合约执行过程中更复杂的数据信息。

该模型根据区域能源交易流程制定智能合约代码,使用 Ethereum 和 Hyperledger Fabric 建立网络节点,使用各个节点代替能源交易双方,余额和等电量的价值在各个节点转移,完成能源交易,并通过仿真实验验证该方法的可行性[2]。

三.基于以太坊智能合约模型的区域能源交易方法

3.1基于智能合约的区域能源交易模型

模拟一个区域,该区域具有太阳能发电网、风力发电等基础能源设施,区域内消费者在满足自身能源需求后,将多余电量和其他消费者在区块链上达成交易,实现电力能源区域内消纳,提高电力能源利用。

基于智能合约的区域能源交易执行分为如下几步:

1)区域用户注册区块链个人账户,得到一对公私钥,分别为账户地址和开启账户的密钥

2)参与者有权制定能源交易合约,设置交易具体内容、执行时间、智能合约触发条件,交易者分别使用签名密钥,确保生成合约有效性。

3)经过交易双方确认后,合约在区块链中进行传播并存储,交易节点在客户端接口处调用智能合约。当交易开始后,能源消费者发送请求,启动块链执行合约,经交易相关节点验证后达成一致,智能合约宣告完成。

3.2上机实验仿真模型

(1)本文将使用Quorum基于raft机制搭建联盟链,我们假设区域联盟链上有七个节点,分别为电力生产者和消费者抽象而来。

运行下面的命令来搭建全部7个节点:

git clone https://github.com/jpmorganchase/quorum-examples.git cd quorum-examples

QUORUM_CONSENSUS=raft docker-compose up -d

一般情况中,Quorum网络使用Tessera交易管理器以及Istanbul BTF共同搭建。本文设置QUORUM_CONSENSUS=raft为环境变量,以此启动7个节点的后台运行。

(2)以太坊为平台的智能合约模块可以让软件开发者使用熟悉的计算机语言来编制智能合约,并以代码文件的形式呈现。

智能合约的编写需要使用计算机语言,目前最常用的是solidity语言,编写智能合约的工具有很多种,本文使用的是以太坊官方推出的Remix。

Solidity语言中主要用到的命令有:

Mapping(address=>unit300)账户电量的余额

Function powering Trading 初始化合约

Balance=_power Quantity 自定义售电量

Price=_price Time=_time 定义交易价格及交易时间

Function buy()创建购买函数

If(balance[]<_value)检验是否有足够的剩余电量

(3)将编写好的智能合约放入已做好的联盟链网络中,智能合约部署到以太坊上的详细流程有:

1)编写好智能合约代码文件

2)经过solidity编译器,将代码文件编译成十六进制码

3)将编译好的十六进制码,以以太坊交易的形式发送到以太坊网络上

4)以太坊识别出是部署合约的交易,校验后,存储起来

5)待合约被链下请求调用时,以太坊智能合约虚拟机(EVM)将提前写好的智能合约代码编译成二进制码后加载运行。

四.讨论与分析以太网智能合约在能源上的应用

本文以区块链技术与能源交易为研究主体,建立基于联盟链的区域能源交易模型[3],并采用区块链独有的记账手段。并通过实验仿真验证其适合区域内能源产消者之间交易与模型的可行性。

参考文献

[1]王滢.浅谈区块链技术在传统会计行业的应用[J].财经界,2018(08):69-70.

[2]王德文,柳智权.基于智能合约的区域能源交易模型与实验测试[J/OL].电网 技术. https://doi.org/10.13335/j.1000-3673.pst.2018.1813

[3]龙洋洋,陈玉玲,辛阳,豆慧.基于联盟区块链的安全能源交易方案[J].计算机应用,2020,40(06):1668-1673.