本发明专利技术公开了一种在线动态自适应的实用拜占庭共识协议实现方法,包括如下步骤:1)初始化阶段;2)正常阶段;3)动态自适应阶段。这种方法可帮助实用拜占庭共识协议动态自适应物联网节点的动态性和异构性,以实现区块链共识协议交易吞吐量最大化。通过集中式训练和分布式决策深度强化学习架构在初始化阶段训练动态自适应的动作
【技术实现步骤摘要】
一种在线动态自适应的实用拜占庭共识协议实现方法
[0001]本专利技术涉及区块链、共识协议等
,具体是一种在线动态自适应的实用拜占庭共识协议实现方法。
技术介绍
[0002]区块链是一种去中心化的数据管理系统,它可以为物联网提供安全和可信的数据管理、共享服务。然而,区块链技术并不是专门为物联网设计的,将区块链技术应用于物联网之前需要解决一些关键挑战。例如,物联网节点具有鲜明的动态性和异构性,这造成物联网节点在充当区块链共识节点时不能妥善完成共识工作。
[0003]物联网节点的动态性表现在它们可能在在线和离线状态之间动态切换,并且根据任务指令动态采集和交换数据。例如,在白天时,工业物联网节点可能因为人类生产活动产生大量的高并发数据。在夜晚时,由于人类生产活动的暂停,有些节点会进入休眠或关闭状态,从而产生较少的数据。当前区块链技术的共识协议无法适应适应物联网节点的动态性。区块链技术的代表应用比特币采用工作量证明作为共识协议,只能提供3
‑
4TPS的吞吐量。另一个广为人知的区块链项目以太坊采用工作量证明和权益证明混合共识协议,只能提供14TPS的吞吐量。显然,这些基于竞争的共识协议不能满足物联网应用在生产高峰时对高吞吐量的需求。Hyperledger Fabric和EOS等许可区块链采用选举类共识协议(例如实用拜占庭共识协议),并且可以提供较高的交易吞吐量。然而,实用拜占庭共识协议只适用于固定规模的小型网络,并且不支持节点自由加入和退出。
[0004]另一方面,在研究区块链赋能物联网应用时,物联网节点的异构性是一个难以忽略的问题。物联网节点异构性表现在节点之间计算、网络、存储等资源存在严重差异。资源受限的物联网节点不仅不能参与基于竞争的共识协议,并且会限制基于选举的共识协议的吞吐量。在实用拜占庭共识协议中,所有消息需要在一个最大延迟时间内完成传输。虽然通过增大最大延迟时间,资源受限的节点可以在最大延迟时间内完成消息传输,但是会造成其他资源丰富的节点处于等待状态。这种情况可定义由IoT节点异构性引发的实用拜占庭共识协议的木桶效应。
[0005]区块链共识协议是指在区块链网络中,为了保证分布式系统中各个节点之间的数据一致性和安全性,需要通过一定的算法和规则来协商决定哪个节点可以生成下一个区块、哪个区块可以被添加到链上,以及如何处理分叉等问题的一种协议。实用拜占庭共识协议算法是一个基于投票的共识算法。在实用拜占庭共识协议中,系统的每个节点(也称为副本)都有一个完整的交易副本。在进行交易确认时,节点之间会相互通信,通过共识达成一致的结果。在PBFT共识算法中,节点分为四个角色:客户端、主节点、备用节点、和验证节点。客户端发送交易请求到主节点,主节点将交易转发给备用节点和验证节点,备用节点和验证节点对交易进行验证,并在达成共识后将结果返回给主节点。主节点再将结果汇总后将确认结果返回给客户端。
技术实现思路
[0006]本专利技术目的在于针对实用拜占庭共识协议无法适应物联网的动态性和异构性,提出了一种在线动态自适应的实用拜占庭共识协议实现方法。该方法通过集中式训练和分布式决策的深度强化学习框架帮助实用拜占庭共识协议动态自适应物联网节点的动态性和异构性,以实现区块链共识协议交易吞吐量最大化。
[0007]实现本专利技术目的的技术方案是:
[0008]一种在线动态自适应的实用拜占庭共识协议实现方法,包括如下步骤:
[0009]1)初始化阶段:本阶段的主要任务包括两方面:i)主节点通过创世区块启动区块链网络;创世区块的内容包括共识候选节点选举机制、共识节点最大和最小阈值以及共识协议的动态自适应动作
‑
价值函数,简称动作
‑
价值函数;ii)主节点模拟区块链网络和节点动态变化环境,基于强化学习算法(Double
‑
Dueling,简称DQN)训练共识协议的动态自适应的动作
‑
价值函数Q
*
(S,A),其中S=(B
S
,B
I
,L
C
,P)是当前物联网
‑
区块链网络的状态,B
S
表示区块大小,B
I
表示区块间隔,L
C
是共识候选节点列表,P是拜占庭故障率;A=(C
L
,B
S
,B
I
)表示动作,C
L
是共识委员会成员列表,C
L
是L
C
的子集,B
S
表示区块大小,B
I
表示区块间隔;动作
‑
价值函数能帮助共识委员会在动态自适应阶段重新选举共识委员会,以及调整区块大小和区块间隔,而初始化阶段相当于集中式训练和分布式决策深度强化学习架构的集中式训练过程;
[0010]2)正常阶段:在这一阶段中,主节点负责打包交易成区块,然后在区块链网络即共识委员会中进行共识,通过共识验证的区块将会被加入到区块链账本中;本阶段的交易类型包括三类:i)业务交易;ii)声明交易;iii)故障节点列表交易;其中业务交易是区块链系统的普通交易;声明交易是物联网节点想要进入下一轮共识委员会所发布的声明交易,物联网节点包括当前轮的共识委员会,声明交易主要包括节点的加密空间坐标,加密空间坐标由节点地理位置信息和区块链地址组成,具有不可篡改的特性,具有唯一性;在现有的物联网架构中,具有固定的地理位置的物联网节点具有丰富的网络、存储以及计算资源,具备进入共识委员会的资格;故障节点列表交易由共识委员会的主节点生成;对于每一个诚实区块的共识,主节点记录反对或者攻击诚实区块共识的节点的加密空间坐标以及对应的行为,故障节点列表交易可以在动态自适应阶段帮助计算故障率P;
[0011]3)动态自适应阶段:在这一阶段中,共识委员会的主节点根据物联网网络动态变化,主要体现在物联网节点在线和离线状态,在区块链网络提议重新选举共识委员会,并调整区块大小和区块间隔,以动态适应物联网网络的变化,获得当前网络状态下的最优区块链吞吐量,即当物联网网络发生动态变化时,主节点在区块链网络提交一笔优化共识协议的交易,当交易被记录到区块链后,当前共识委员会的所有节点通过初始化阶段获得动作
‑
价值函数,提议进入下一届共识委员会的节点,以及区块大小和区块间隔,即一旦主节点在区块链网络中收集超过当前委员会节点数2/3的相同提议,就开始进行共识协议调整,即整个区块链网络以作为共识委员会,以作为区块大小,以作为区块间隔进行共识。
[0012]在本技术方案中,实用拜占庭共识协议动态自适应的内容包括重新选举共识委员会,调整区块大小和区块间隔,其中共识委员会包括一个主节点和多个副节点;除了共识委员会的主节点和副节点外,本技术方案涉及的实体还包括普通节点和共识候选节点,普通
节点通过自证满足共识候选节点选举机制后可以称为共识候选节点,共识候选节点在每一轮动态自适应阶段有机会进本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种在线动态自适应的实用拜占庭共识协议实现方法,其特征在于,包括如下步骤:1)初始化阶段:本阶段的主要任务包括两方面:i)主节点通过创世区块启动区块链网络;创世区块的内容包括共识候选节点选举机制、共识节点最大和最小阈值以及共识协议的动态自适应动作
‑
价值函数,简称动作
‑
价值函数;ii)主节点模拟区块链网络和节点动态变化环境,基于强化学习算法训练共识协议的动态自适应的动作
‑
价值函数Q
*
(S,A),其中S=(B
S
,B
I
,L
C
,P)是当前物联网
‑
区块链网络的状态,B
S
表示区块大小,B
I
表示区块间隔,L
C
是共识候选节点列表,P是拜占庭故障率;A=(C
L
,B
S
,B
I
)表示动作,C
L
是共识委员会成员列表,C
L
是L
C
的子集,B
S
表示区块大小,B
I
表示区块间隔;动作
‑
价值函数能帮助共识委员会在动态自适应阶段重新选举共识委员会,以及调整区块大小和区块间隔,而初始化阶段相当于集中式训练和分布式决策深度强化学习架构...
【专利技术属性】
技术研发人员:李春培,李先贤,李东城,刘鹏,王博仪,霍浩,
申请(专利权)人:广西师范大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。