主页 > imtoken安卓官方版 > 分布式新能源接入下的区块链共识机制研究

分布式新能源接入下的区块链共识机制研究

imtoken安卓官方版 2023-04-06 07:22:51

分布式新能源接入下的区块链共识机制研究

方翔、马谡、侯卫红、孙志清、杨聪、刘健

(国网浙江省电力有限公司杭州供电公司 杭州 310009)

方翔,马谡,侯卫红等. 分布式新能源接入下的区块链共识机制研究[J]. 浙江电力, 2019, 38(7):1-6.

0 前言

目前,以光伏为代表的新能源已逐步取代传统的集中式煤炭和天然气发电,能源生产逐步向可再生能源转型。 据中电联统计,分布式光伏发电继续以70%以上的速度增长,可再生能源占比高将成为未来电网的重要特征。 电网系统的灵活性将大大提高,但随之而来的是对电网安全可靠性的更高要求,对电网调度的专业管控和风险控制能力提出更高要求。

新能源具有分布分散、趋势可控、生产使用灵活等特点。 这些特性与区块链技术天然兼容。 通过将区块链技术引入正在逐步形成的分布式新能源共享服务平台,可以有效促进信息与物理系统的进一步融合,实现新能源电力数据共享和传输的多样化和低成本[1-2] ]. 区块链技术自提出以来经过十余年的优化发展,其在加密算法领域的技术已经相对成熟。 然而,作为区块链技术灵魂的共识机制领域,随着区块链技术应用的不断发展,仍在不断演进。 扩展和创新,选择合适的共识机制算法,将从本质上影响链的传输性能和容错能力。 目前在各个领域已经成熟应用的共识机制有PBFT(实用拜占庭容错)机制、POW(工作量证明)机制、POS(股权证明)机制、DPOS(委托权益证明)机制、PAXOS( Proposal Election)机制、RAFT(leader election)机制等。文献[3]介绍了比特币采用的POW机制。 这种机制投入了大量的计算能力来防止恶意攻击破坏比特币网络。 作为强共识共识机制,效率较低。 POS 机制和 DPOS 机制作为一种基于 POW 的改进型共识机制,在一定程度上减少了算力浪费和 POW 去中心化带来的负面影响,但尚未形成质的飞跃。 文献[4]介绍了基于拜占庭容错技术的PBFT机制,可以有效应对网络中断、恶意攻击等问题。 算法的复杂度已经降低到多项式级别; 它是一种在没有恶意节点的可信环境中使用的共识机制。 这种机制在算法复杂度和容错性上有很大的优势。

由于以分布式新能源为代表的电力信息数据传输服务的实时性要求,选用的区块链技术对传输速度要求较高[6-7],而以比特币为代表的数字货币领域共识的复杂性机制通常是多项式甚至指数的,不能满足功率场的要求。 PAXOS、RAFT等共识机制算法在复杂度等方面可以有效满足相应的要求,但是对于区块链节点来说,需要满足拜占庭容错条件,即链上没有恶意节点,以及只可能存在有故障的节点,以保证避免通信过程。 搜索不可靠信道上数据信息传输的一致性[14]。 本文阐述电力信息数据传输场景满足拜占庭容错条件,并采用RAFT算法作为该场景下的共识算法[8],构建分布式新能源信息互联模型。

1 区块链技术原理

1.1 区块链层级

区块链技术的多方维护特性使其广泛应用于各行各业,有助于打破信息和数据壁垒,促进颠覆性的业务融合。 区块链的层次架构如图1所示,主要包括数据层、网络层、共识层和应用层[9]。 其中,数据层通过加密算法、数字签名等手段对数据进行处理,以块的形式存储数据信息。 网络层使区块链中的各个节点通过网络通信协议达成一致,并验证数据传输的真实性和合法性。 共识层基于以POW机制为代表的共识机制,保证数据的正确性和系统的可用性。 共识机制的算法决定了区块链系统的整体复杂度和相应的信息传输速度。 在应用层,基于智能合约的可编程性,可以​​在多个领域和行业获得相关应用,合约的自动判断特性可以免除第三方监管。

比特币挖矿的算法_比特币采用的共识算法_比特币的共识机制

图 1 区块链分层架构

1.2 区块链链数据结构

区块链是一系列数据块通过密码学的方式相互关联,每个数据块都包含了一次发电和用电的所有相关信息。 这类信息不是以交易原始数据的形式存储,而是通过哈希算法将数据转化为固定长度的二进制哈希值比特币采用的共识算法,区块链系统使用默克尔树来概括和表示信息。 当确实发生电能转换时,区块链系统也会打上正确的时间戳,表明电能区块的所有权已经转移,自动避免重复需求的发生[4, 11]。 区块链的算法流程可以用来验证其发电信息的有效性,同时产生下一个区块。 单个块的数据结构如图2所示。

比特币挖矿的算法_比特币的共识机制_比特币采用的共识算法

图2 分布式新能源区块结构

1.3 区块链共识机制介绍

1.3.1 共识机制的概念

区块链所呈现的去中心化、集体维护、智能合约、安全可信等诸多特性,为分布式能源并网运维的数据互操作和信息安全问题提供了新的解决方案。 也使得利用区块链技术构建全新的电网运行模式成为可能,系统中不需要中心化的中央存储,所有节点都可以部分或全部备份区块链中的信息,数据随时丢失节点不会影响到系统的正常运行,在数据存储方面具有很强的健壮性和可靠性。

在共识机制中,所有参与方通过信息通信技术互联,通过区块链技术实现授权和交互,交易中的所有操作和合约都将被记录和追溯,数据不可篡改。 共识机制可以保证任何分布式新能源关联方都可以通过注册机制参与共识,任何信息都会被所有参与者记录下来,做到公开透明,历史交易数据几乎不可篡改。

1.3.2 传统的基于证明的区块链共识

以比特币为代表的数字货币区块链是一个对全网完全开放、不包含全局地址记录的链系统。 任何以个人用户为主体的节点都可以在系统中进行记账和区块验证,可以随时加入或退出区块链系统。 系统对用户节点把握较弱,无法明确节点间的连接状态。

以POW机制为例,这种共识机制为全网节点提供了更复杂的计算问题,全网节点(矿机)开始同步计算。 该问题计算困难,验证容易。 当一个节点完成计算后,会将计算结果和记录的内容打包成一个区块,传播给所有其他联通节点(矿机)进行正确性验证。 验证通过后,接受区块[12-13]。

1.3.3 拜占庭容错

拜占庭容错是以区块链为代表的分布式领域中一个经典的容错问题。 拜占庭是东罗马帝国的首都。 由于幅员辽阔,既要避免战争中不同职位的将领可能发生的兵变和间谍活动,又要在整个拜占庭军队内部达成共识。 在现代通信中的意义是如何探索数据信息在不可靠信道上传输与消息丢失的一致性[14]。 这个问题广泛存在于以比特币为代表的货币区块链应用中,并由此衍生出包括POW、POS在内的一系列共识机制。 但对于以电网分布式新能源为代表的区块链应用领域,依托电力系统和电网合约的约束,可以保证参与区块链的分布式新能源节点不存在未经授权修改信息数据的可能. 性别。 同时,电网分布式新能源信息传输对计算能力、传输速度、算法复杂度等具有高标准和高要求,因此提出了基于RAFT共识算法的电力区块链机制。

2 RAFT共识算法

2.1 复制状态机理论

与以比特币为代表的数字货币区块链相比,电网分布式新能源区块链具有半开放的特点,即参与节点(分布式电站)需要经过电网公司审核并签署协议后才能加入。 这类区块链不存在拜占庭容错问题,可以采用基于复制状态机理论的算法作为共识机制,常见的有PAXOS和RAFT。 复制状态机主要执行复制日志的工作,通过各模块的质量检测相互通信,确保每条日志以相同的顺序复制[15]。 在正确复制的前提下,各模块状态机按照日志顺序对命令进行处理,并将处理结果反馈给客户端,如图3所示。

2.2 RAFT算法原理

2.2.1 算法概述

RAFT是在PAXOS的基础上改进的算法。 与PAXOS算法相比,在具有相同容错和传输特性的基础上,架构更加简化,适用于实际生产环境[16]。 RAFT主要包括节点选举和日志复制两个重要功能。 参与节点被定义为三种状态:领导者、追随者和候选者。 其中,leader节点负责处理系统的服务请求,follower节点负责被动接收和回复leader节点发送的信息,candidate节点是重新进行节点选举时的过渡状态- 在领导节点发生故障并关闭时运行。

比特币挖矿的算法_比特币的共识机制_比特币采用的共识算法

图3 状态机复制过程

2.2.2 节点选举

节点选举发生在建链初期或领导节点任期届满后停止发送信件后的重选过渡阶段。 其中,在初始化阶段,所有节点作为候选节点向所有其他节点发送选举请求。 当一个候选节点获得超过半数其他节点的支持时,将被选举为领导节点; 如果没有候选节点满足选举条件,则在节点内置时钟经过一定时间后,重新选举。 当Leader节点在内置时钟周期结束后停止发送信件,由于所有其他follower节点在内置时钟一定周期后无法获取Leader节点发送的信息,它们将自动进入过渡阶段并重新发送。 -选举。 由于每个节点内置时钟的周期并不完全相同,因此首先满足周期条件的节点被选举为过渡阶段的候选节点。 节点选举流程如图4所示,对于外部原因导致leader节点故障或宕机,情况与重选过渡阶段相同,因为所有其他节点都停止接收leader节点发送的信息并提前进入连任。

比特币采用的共识算法_比特币挖矿的算法_比特币的共识机制

图4 节点选举转换过程

2.2.3 日志复制

RAFT算法的日志复制过程一般遵循状态机复制的原理和过程,其核心在于节点内置的时钟周期和follower节点的反馈机制。 其中,内置的时钟周期主要服务于节点选举机制,以保证领先节点的轮换和系统在出现故障时的可持续性。

follower节点反馈机制是让leader节点确认日志条目已经被follower节点安全接收和复制。 主要用于处理可能出现的故障、宕机、网络延迟等情况。日志条目用于保证follower节点存储的日志条目与自己一致,以达成共识。 另外,follower节点反馈给leader节点后,不会立即同步日志条目,必须等待leader节点提供的下一轮日志条目包含leader节点已经同步上一次的确认轮词条信息,然后同步词条。 具体过程如图5所示。

比特币挖矿的算法_比特币的共识机制_比特币采用的共识算法

图5 日志复制流程

3 分布式新能源接入下的改进RAFT算法

3.1 基于数据中心的leader节点选举

根据国家电网公司提出的“三型两网”发展战略,各省市都在积极探索和推进“三站合一”建设方案,即将原有变电站改造为多功能变电站。变电站、充换电站、数据中心站一体化。 传统RAFT共识算法中的选举机制没有考虑节点间的差异性,具有普适性的特点。 考虑到与区块链其他节点相比具有高性能、高可靠性的优势,数据中心非常适合作为领导节点。 同时,未来的数据中心将在各个区域多点布局。 因此,本文在传统RAFT算法的基础上,将选举机制中可作为候选的节点从链上所有节点减少到数据中心站所在节点。 即当leader节点的时钟周期到期时,将选举布置在其他数据中心站的候选节点,非数据中心站节点将不再有资格作为候选节点或leader节点,如图6.

比特币采用的共识算法_比特币挖矿的算法_比特币的共识机制

图 6 改进后的选举机制

这种改进方法充分利用了数据中心节点相对于其他节点的高可靠性,解决了原RAFT算法在leader节点故障宕机时需要重新选举,存在真空期的问题。 同时,如图5所示,假设n为节点总数,leader节点数为1,follower节点数应为n-1。 leader节点在日志复制过程中需要的数据交换次数分别为日志阶段n次,反馈确认阶段n-1次,同步完成阶段n次,对于任意一个follower节点,需要的数据交换次数是3倍,即leader节点的数据交换次数是follower节点的pagenumber_ebook=8, pagenumber_book=5倍,需要数据中心强大的算力支持车站。

3.2 电网分裂情况下的共识组地位

电力系统在遭受巨大扰动后,可能会变得不稳定、脱节。 大电网系统被分解成若干个独立运行、不能同步的部分。 在未来分布式新能源分布足够大的前提下,区块链应该也能继续正常运行。 在这种状态下,区块链中的节点也根据分离情况分为若干独立的共识组进行信息交换,如图7所示。各共识组的运行方式和机制与传统的RAFT共识算法一致。

比特币挖矿的算法_比特币的共识机制_比特币采用的共识算法

图7 拆解后的共识组划分

当电网故障恢复比特币采用的共识算法,独立的子系统恢复同步运行时,共识组也将重聚。 对于合并前后leader节点数量不一致,通过比较组内follower节点数量进行判断。 对于组内follower节点较少的共识组,leader节点内置的时钟周期到期后,会自动缩减为follower节点,该组内的所有节点将被纳入一个更大的共识组。

3.3 节点数据容错分析

本文选择RAFT算法是基于分布式新能源接入不存在拜占庭问题,但仍需分析节点共识过程或日志接入过程中可能存在的数据传输错误。 如图8所示,数据传输错误分别发生在follower节点1和follower节点2的共识阶段和接入阶段。

比特币采用的共识算法_比特币挖矿的算法_比特币的共识机制

图8 节点数据传输错误情况

此类节点数据传输错误可能发生在共识阶段和数据访问阶段。 假设系统错误节点数为m,应满足以下关系:

比特币挖矿的算法_比特币的共识机制_比特币采用的共识算法

式中: Consensusfault为共识阶段错误节点数; Queryfault是数据访问阶段的错误节点数。

以图8中3个节点的情况为例,当且仅当同一个节点的共识和访问过程中出现数据错误,此时客户端访问结果为2个正确的节点和1个错误的节点信息,并且可以判断筛选。 除了错误消息以确保容错。 如图8所示,如果follower节点1出现共识错误,follower节点2出现访问错误,则最终客户端无法通过筛选获取到正确的信息。 综上所述,系统中容错节点个数m与系统中节点总数n的关系应为:

pagenumber_ebook=8,pagenumber_book=5

3.4 节点算法复杂度分析

RAFT算法的核心共识过程是日志复制,如图5所示。根据3.1,这个过程中的数据交互总数应该是leader节点3n-1次,n-1个follower节点3次。 次,共6n-3次,整体算法复杂度仅为n的倍数,记为O(n),对硬件设备要求较低。

4 结语

本文提出的分布式新能源接入区块链共识算法充分利用了电力系统中不存在恶意节点的拜占庭情况。 将领导节点选举机制改为转移机制,充分利用未来数据中心站的高可靠性和易维护性,采用基于RAFT的改进算法来应对电网特有的故障分离问题。 此外,与其他共识算法相比,该算法具有容错性高、复杂度低的特点,能够更好地满足电力信息传输的即时性要求。

参考资料:(略)