基于区块链的改进智能合约电力交易模型

2022-02-12 09:31施泉生黄晓辉胡伟郝一旭张小彪
电力工程技术 2022年1期
关键词:合约区块交易

施泉生, 黄晓辉, 胡伟, 郝一旭, 张小彪

(上海电力大学经济与管理学院,上海 200090)

0 引言

当前电力市场交易模式具有维护成本高、数据被篡改风险大和用户隐私安全性低等缺点[1—4]。随着电力市场交易主体越来越多,交易数据越来越庞大,电力交易安全性以及交易效率难以得到保证。区块链凭借其去中心化和高安全性等特点被广泛应用于各行业。进行电力交易时,将区块链技术和智能合约相结合并加以改进,可使电力交易过程更加安全高效,降低第三方管理机构的运行和维护成本,进一步激发电力市场活跃性。

文献[5—6]将区块链技术与电力交易相结合,构建电力交易框架并在区块链中存储和验证电力交易信息。文献[7—8]研究如何在区块链中对电力交易进行认证、执行和结算。但上述文献仅在电力交易中引入区块链技术并加以应用,未考虑购电方影响,买方无法选择合适的购电对象;文献[9]通过区块链技术提高电力交易效率;文献[10]提出基于区块链技术的点对点架构电力交易模式,直接通过区块链钱包进行交易;文献[11]提出基于区块链的微电网电力交易博弈模型,达到降低交易费用、提高交易速度的目标。但上述文献仅通过区块链技术提高电力交易效率,未考虑交易过程中可能存在第三方恶意攻击的安全问题。文献[12]利用区块链技术的去中心化和可追溯性,解决工业物联网中的电力交易信任问题,但未考虑交易过程中繁琐交易和验证机制导致交易效率降低的问题;文献[13—14]研究区块链技术的高安全性特点并将其应用到电力交易中,提高了电力交易的安全性。但上述文献均基于区块链的高安全性特点进行研究,未对电力交易行为进行有序合理的设计,降低了交易效率。

综上所述,现有研究提出将可靠性系数引入基于区块链的智能合约电力交易模型中,其最重要的目的是进一步提高电力交易效率,减少交易时间,极大程度保证交易过程的安全,为电力交易提供便捷高效、安全可行的交易平台[15]。因此,文中基于区块链技术和智能合约的特点,对将可靠性系数引入智能合约的合理性、优势进行分析,并对交易过程进行风险评估,构建高效安全的电力交易模型,为解决传统电力交易机制存在的效率低、安全性低等问题提供了解决思路。同时,在一定程度上维护电力市场交易秩序,分担电力市场交易压力,为制定电力市场交易模式提供新思路。

1 基于区块链的电力交易

1.1 区块链技术

区块链技术利用块链式数据结构进行数据验证与存储,采用密码学方法保证数据传输和访问的安全,利用自动化脚本代码组成的智能合约进行数据编程和操作[16—17]。

区块链的每个区块由区块头和区块主体组成。各个区块主体在时间维度上形成了区块链,行间链路则表示区块主体之间的互联,而在时间维度上形成的块网络,增强了信息的可追踪性和安全可靠性[18—20]。

基于区块链的电力交易模式具有去中心化的特点,采用时间戳和算法加密等技术,在区块链上部署智能合约[21],如图1所示。因此,该模式可以为电力交易的参与者提供安全、可靠、透明、开放的解决方案[22]。

图1 区块链交易平台的基本特点Fig.1 Basic features of the blockchain transaction platform

与传统的集中式电力交易模式相比,基于区块链的电力交易模式极大降低了系统运行和维护成本,同时结合智能合约特点,可进一步提高电力交易和系统运行效率。

1.2 电力交易场景

传统电力交易模型主要采用中心化交易模式,信息和交易记录等数据存储在特定的第三方管理机构,并且由第三方管理机构主导整个交易并维护交易信任。区块链技术对于电力交易并非不可或缺,在电力交易主体数量不庞大的情况下,传统电力交易模型能够较好地进行电力交易,如图2所示。随着交易用户和交易量的不断增加,交易过程中的数据信息量也越来越庞大,交易环境越来越复杂。这将导致第三方管理机构的运行和维护成本越来越高,若管理机构出现故障或遭受攻击,易导致交易信息缺失或被篡改,最终造成巨大损失[23]。因此,在电力交易模式中引入区块链技术尤为重要。

图2 传统电力交易模型Fig.2 Traditional electricity transaction model

区块链采用总账分散式的记账方式,以链式结构记录各个交易参与方的互动信息,并以区块方式妥善保存交易信息[24],很好地解决了上述问题。为了解决电力交易过程中运行和维护成本高的问题,确保电力交易的安全性和高效性,在区块链中部署智能合约,针对电力交易场景构建改进智能合约电力交易模型,如图3所示。

由图2、图3可知,改进智能合约电力交易模型的交易业务相对传统电力交易模型的交易业务有一定变化。传统电力交易模型采用中心化交易模式,其中交易决策和构建、维护交易信任由第三方管理机构实现。电力交易双方的交易请求通过第三方管理机构的处理决策后,由第三方管理机构将请求发送至交易平台,同时对交易双方的信任问题采用支付违约金或列入黑名单等方式进行约束。因此传统电力交易模型无法实现点对点交互且需要花费一定的成本管理和维护第三方管理机构。同时由于交易信息、数据等都保存在第三方管理机构中,数据的安全性无法得到充分保障。而改进智能合约电力交易模型采用去中心化交易模式,剔除了第三方管理机构,利用分布式账本存储交易信息和数据,所存储的信息和数据由全网节点共同维护。当数据遭到攻击时,需要全网节点达成共识才能对数据进行更改,保证了系统的安全性。该模型还采用智能合约形式实现点对点联系,交易双方可通过智能合约与交易平台直接达成交易请求。同时,由于区块链不可篡改和全网广播的特性,交易双方的信任问题也能得到有效解决。

改进智能合约电力交易模型和传统电力交易模型相比,主要发生的变化有以下3个方面:

(1) 采用去中心化交易模式,不需要第三方管理机构管理维护交易数据和交易信任,节省了不必要的成本,保证了系统的安全性和高效性;

(2) 在市场交易主体各交易环节部署智能合约,简化了交易流程,实现了点对点交易,保证了交易安全和履约;

(3) 各发电企业之间建立了区块链网络,实现发电量等关键信息实时互联以及资源合理配置。

1.3 电力交易过程中被攻击的风险评估

基于区块链的电力交易过程中,由于区块链上的交易信息公开透明,区块链上的所有用户均能看到基于区块链的信息数据,包括智能合约等,导致包括安全漏洞在内的所有漏洞均可见,并且无法迅速修复[25]。区块链上参与算力竞争的节点中,可能出现恶意攻击节点与诚实节点进行算力竞争[26]。若攻击节点想要成功篡改数据,则攻击节点需要比诚实节点更快地制造出替代性攻击链,使得攻击链被成功认证。假设在电力交易过程中,有攻击节点试图篡改交易数据,此时攻击链和诚实链之间存在z个区块差距,则攻击节点制造攻击链用于消除z个区块差距的概率为:

(1)

式中:p,q分别为诚实节点、攻击节点制造下一个区块的概率。

攻击节点在制造一条攻击链时,其链条增长符合泊松分布,则攻击链条增长的期望值为:

(2)

因此,攻击链制造出的x个区块成功取代诚实链的概率Pξ可以表示为攻击链增长密度与剩余区块差距被消除概率的乘积。

(3)

由式(3)可知,Pξ受z的影响。z越大时,Pξ越小。只有交易完成时区块链才出块,因此,交易时间越短,则区块链出块速度越快。诚实节点制造诚实链的速度越快,即z越大,则Pξ越小。可见,通过减少交易时间可以降低交易过程中被攻击的风险。

2 改进智能合约电力交易模型

2.1 智能合约电力交易流程

在传统智能合约电力交易模型中,参与交易的主体在区块链上进行注册并登陆后,根据自身的需求进行电力交易。交易双方对交易的合约意见达成一致后,系统会对交易的内容以及交易记录等信息进行验证。区块链上的所有授权节点均需要花费一定的时间审查和验证新生成的交易记录[27]。只有当所有的验证均通过之后,才会进入到资金交易阶段。而在资金交易过程中,节点的钱包地址以及余额会被冻结,直至当前交易完全结束,此时买家无法进行下一笔交易。

传统智能合约电力交易模型比传统电力交易模型更加安全、高效,但在授权节点进行验证以及资金交易阶段的钱包冻结过程中,均需要花费一定的时间,且无法同时进行多次交易,一定程度上降低了传统智能合约交易模型的交易效率。

为了解决传统智能合约电力交易模型效率低下的问题,文中提出基于区块链的改进智能合约电力交易模型。模型引入可靠性系数R(Nk,Mi,k),其中,Nk为用户k的交易次数,Mi,k为用户k第i次交易的交易量。改进智能合约电力交易模型的执行步骤如下:

(1) 用户注册登录。用户注册并登陆后从系统获得公钥PK和私钥SK,系统返回一组地址h=ARIPEMD(ASHA(PK))用于存放信息以及进行钱包服务。其中,ARIPEMD(·)与ASHA(·)为加密算法。

(2) 交易申报。用户在区块链上发布消息并进行交易申报,区块链将消息进行全网广播。

(3) 创建智能合约。满足交易条件的用户双方根据自己的需求量、价格等进行合约商定。当合约商定后,创建并部署在区块链上。此时创建的智能合约中包含交易信息、合约状态、合约值等信息。

(4) 交易验证。当合约商定完成后系统根据用户的交易记录,包括交易次数以及交易总量,进行可靠性系数R(Nk,Mi,k)的验证。若R(Nk,Mi,k)有效,则系统自动进行安全验证,并且授权节点无须验证;若R(Nk,Mi,k)无效,则需要用户重新输入私钥,授权节点也需要重新进行安全验证。进入安全验证环节之后,若私钥安全验证不通过,则立即终止交易;若私钥安全验证通过,则进入步骤(5)。

(5) 签订合约。当所有验证通过之后,交易双方正式签订合约、进行资金交易,并在区块链上运行。

(6) 交易结果上链保存。当交易双方正式签订合约之后,系统将交易内容、交易结果上链保存在区块链上,同时进行全网广播。

改进智能合约电力交易模型的执行流程如图4所示。

图4 改进智能合约电力交易执行流程Fig.4 Execution process of improved smart contract electricity transaction

综上,在文中所提改进智能合约电力交易模型中,参与交易的用户首次在区块链上注册并登陆成功后,系统将自动记录参与主体的全部授权信息。在交易过程中,系统对可靠性系数的判别通过后,自动调用用户的授权信息进行交易验证,不需要逐步进行授权验证,减少了交易时间。同时,授权信息还将通过钱包地址映射关系联系信任机构(如受信任的银行),不需要冻结节点钱包,可直接进行资金交易,满足部分买家同时进行多笔交易的需求。因此,文中所提模型与传统智能合约电力交易模型相比,交易时间更短,支持快速、频繁的电力交易,具有更高的效率。

2.2 目标函数

区块链在网络中的传播过程为具备记账权限的节点对其他区块进行广播并生成新的区块,各个节点不断校验内容并完成转发[28]。区块链广播模型如图5所示。

图5 区块链广播模型Fig.5 Blockchain broadcast model

文中所提模型的目标为交易总时长Tsum最短。在整个网络中,初始交易过程完成交易的时间T为:

T=tMi,k(1+r)

(4)

式中:t为进行交易所花费时间的比例参数;r为交易所处网络对交易时间造成影响的时间比例参数。

在改进智能合约电力交易模型中引进可靠性系数,此时最短交易验证时间Tr1为:

Tr1=TcminR(Nk,Mi,k)

(5)

式中:Tc为交易验证时间。

(6)

式中:Tr2为记账节点S向周边节点传播区块所需要的时间;n为网络节点数目;V为区块容量;W为网络带宽。

S通过节点验证后,区块进行二次转发。此时进行节点验证所需要的时间Tr3为:

Tr3=gV

(7)

式中:g为节点进行验证所花费时间的比例参数。

综上,从交易完成到S向网络中的周边节点传播一个区块所花费的最短时间Tr为:

Tr=T+Tr1+Tr2+Tr3

(8)

则最短交易总时长minTsum为:

minTsum=minTr+Tn+1

(9)

式中:Tn+1为S向网络周边n+1个节点传送单独区块所花费的时间。

2.3 约束条件

2.3.1 交易量和交易次数约束

在改进智能合约电力交易模型中,用户在注册并登陆之后,系统自动给用户k分配的最大交易次数为N,最大交易量为M,则满足:

Nk≤N

(10)

(11)

2.3.2 算力概率约束

在整个网络中,攻击节点与诚实节点进行算力竞争,争夺对S的控制权。因此,想要保证不受攻击节点影响,诚实节点H制造区块的算力概率P(H)应大于攻击节点A制造区块的算力概率P(A),即满足:

(12)

3 算例分析

文中在配置为2.3 GHz CPU、16.0 GB 运行内存、64位操作系统的计算机上,采用Matlab R2018a调用Python程序模拟区块链验证和记账节点传播过程。采用随机函数生成电能交易数据,且约定交易次数均在允许范围内。

3.1 不同电力交易模型的交易效率分析

仿真中,设定网络带宽为100 MB/s,区块大小为1 MB,拟额定交易总电量为10 000 kW·h。为体现2种不同智能合约电力交易模型下的交易时间以及节点数量对交易时间的影响,设置交易场景如下:

场景一。设定网络节点个数为1 000,分别对传统智能合约电力交易模型和改进智能合约电力交易模型进行20次模拟交易。交易时间对比结果如图6所示。

图6 2种电力交易模型的交易时间对比Fig.6 Transaction time comparison of two electricity transaction models

场景二。设定网络节点个数从300以300为步长递增至9 000,对传统智能合约电力交易模型进行交易模拟,传统智能合约电力交易模型下节点数量与交易时间的关系如图7所示。

图7 传统智能合约电力交易模型下节点数量与交易时间的关系Fig.7 The relationship between the number of nodesand transaction time under the traditional smart contract electricity transaction model

场景三。设定网络节点个数从300以300为步长递增至9 000,对改进智能合约电力交易模型进行交易模拟,改进智能合约电力交易模型下节点数量与交易时间的关系如图8所示。

图8 改进智能合约电力交易模型下节点数量与交易时间的关系Fig.8 The relationship between the number of nodesand transaction time under the improved smart contract electricity transaction model

由仿真结果可以得到以下结论:

(1) 由图6可知,在固定网络节点数量下,改进智能合约电力交易模型相较传统智能合约电力交易模型,完成交易所花费的时间普遍更少。这是因为改进智能合约电力交易模型引入了可靠性系数,极大减少了交易验证时间,从而提高了交易效率。而在第4,9,12,16,19次交易时,2种模型的交易时间一致。这是因为当交易总电量达到系统拟定的额定交易总电量时,需要重新进行交易验证,此时2种模型花费的交易时间一致。

(2) 由图7、图8可知,随着网络节点数量的增加,曲线整体趋势上升,说明当交易网络中的节点数量增加时,交易时间随之增加,即交易效率下降。而改进智能合约电力交易模型相较传统智能合约电力交易模型的平均交易时间更短,交易效率更高。

在传统比特币电力交易模型中,设定每完成一笔交易所需要的验证时间为60 min。在参与交易的1 000个网络节点中,分别通过比特币、传统智能合约、改进智能合约电力交易模型完成交易。设定每小时的交易次数为1~10。在Matlab中进行仿真分析,3种交易模型完成1~10次交易的验证时间变化情况如图9所示。

图9 3种电力交易模型验证时间比较Fig.9 Verification time comparison of three electricity transaction models

由图9可知,传统智能合约电力交易模型的交易验证时间比比特币电力交易模型的交易验证时间少很多,而改进智能合约电力交易模型的交易验证时间比传统智能合约电力交易模型的交易验证时间更少。且随着交易次数的增加,3种交易模式所需要的交易验证时间差越来越大。因此,基于区块链的改进智能合约电力交易模型交易效率更高,在交易主体数量庞大且交易数据复杂的市场中能够更好地进行交易。

3.2 改进智能合约电力交易模型安全性分析

假设在交易过程中有第三方恶意用户对交易进行攻击。通过Matlab仿真分析Pξ与z,q之间的关系,其中,Pξ反映了攻击链攻击成功的概率。仿真结果如图10所示。

图10 Pξ与z,q的关系Fig.10 The relationship between Pξ and z,q

由图10可知,当z相同时,Pξ随着q的增大而上升。当q固定不变,如q=0.3,此时若z=1,则Pξ为62.775%,而若z=20,则Pξ为0.248%。说明Pξ随着z的增大而迅速下降。当q=0.5时,Pξ则为100%。当q≥0.5时,Pξ均为100%,即Pξ与z的取值无关。因此,要保证不被攻击节点攻击,需要对网络中攻击节点和诚实节点的算力概率进行约束。

在改进智能合约电力交易模型中,引入可靠性系数极大提高了交易验证效率,从而加快了诚实节点产生区块的速率。假设q=0.4,通过Matlab仿真分析传统智能合约和改进智能合约电力交易模型的Pξ,如图11所示。

图11 2种电力交易模型的Pξ对比Fig.11 Pξ comparison of two electricity transaction models

由图11可知,在相同环境下,改进智能合约电力交易模型由于引入了可靠性系数,交易验证时间减少,从而使区块链出块速度增加,即区块链中诚实节点制造诚实链的速度提升且大于攻击节点制造攻击链的速度,进而扩大了攻击链与诚实链之间的区块差距,降低了Pξ,缩减了攻击链进行攻击的空间,进一步提升了交易过程的安全性。

3.3 改进智能合约电力交易模型智能合约执行情况分析

假设一电力交易市场网络拥有4 000个节点,约定:(1) 若买方一年内购买电量高于签订合同电量的110%,则交易结算电量是买方签订合同电量的110%,超过部分的电量另外按照所规定超过部分的单价乘以超过电量进行结算;(2) 若买方一年内购买的电量低于签订合同电量的90%,则交易结算即为买方实际购电量,其中10%的差额电量按照所规定的违约金单价乘以差额电量进行结算。

在该交易网络中,将以上合约内容部署到区块链上并执行。则5 d内的智能合约执行情况如表1所示。由表1可知,采用改进智能合约电力交易模型的平均交易成功率为99.51%,能很好地保证电力市场的交易秩序和交易效率,其中部分合约失效的原因主要是买方保证金不足或卖方在区块链平台上成功交易所需支付的费用不足。

表1 智能合约执行情况Table 1 Smart contract execution situation

4 结论

文中对传统智能合约电力交易模型进行完善,提出改进智能合约电力交易模型,减少了交易所需要的时间,降低了被攻击者攻击的风险,从而提高了交易效率和安全性。具体结论如下:

(1) 文中在传统智能合约电力交易模型中引入了可靠性系数,提出了基于区块链的改进智能合约电力交易模型,极大提高了电力交易的灵活性,降低了参与主体在交易过程中的交易验证时间,所提模型可以支持快速、频繁的电力交易。

(2) 与传统智能合约电力交易模型相比,文中所提交易模型无论在固定数量节点下进行多次交易还是在不同数量节点下进行交易,都保持着较高的效率。

(3) 文中所提交易模型提高了交易效率,加快了区块链出块的速度,从而加大了攻击链与诚实链之间的区块差距。因此,文中所提交易模型降低了被攻击链攻击成功的风险,保证了交易的安全性。

(4) 文中所提交易模型在交易过程中拥有较高的交易成功率,能够很好地保证电力市场的交易秩序和交易效率。

由于市场交易的复杂性,在进行交易的同时还可能遇到用户的恶意毁约、被第三方参与者追踪到账户地址等问题。因此,未来将尝试在文中所提交易模型的基础上完善交易信用评分和激励机制,进一步完善和维护市场交易信用体系,为各种交易场景提供安全可靠的环境。

猜你喜欢
合约区块交易
区块链:一个改变未来的幽灵
区块链:主要角色和衍生应用
《红楼梦》的数字化述评——兼及区块链的启示
一场区块链引发的全民狂欢
大宗交易榜中榜
大宗交易榜中榜
大宗交易
惊人的交易