一种面向点对点能源交易的区块链自适应分片方法

文档序号:38038270发布日期:2024-05-17 13:26阅读:21来源:国知局
一种面向点对点能源交易的区块链自适应分片方法

本发明属于区块链,具体涉及一种面向点对点能源交易的区块链自适应分片方法。


背景技术:

1、近年来,随着分布式发电的普及性不断提高,使得住宅消费者不仅可使用可再生能源也可将剩余能源对外出售,这催生了“产消者”的概念,并引入了点对点能源交易模式。虽然,区块链应用于分布式点对点能源交易可以有效地解决能源交易系统中存在的市场结构、信息安全、数据共享、价格控制以及电能质量管理等问题,但由于传统区块技术较差的可扩展性难以直接应用于点对点能源交易中。通过分片技术并行处理事务,可以有效解决区块链系统的可扩展性问题。

2、分片技术通过并发验证链上能源交易,来提升了区块链系统的吞吐量。同时,分片中的节点只需要存储自身所属分片的账本,可以极大提升了区块链系统的可扩展性。然而现有的能源交易系统中的分片方法大多采用随机分片,未考虑节点之间的交易频次关系,导致分片系统存在较高比例的跨分片。此外,虽然现有的研究中有部分基于深度强化学习来实现动态分片,但大多是利用深度强化学习技术来调整链上参数(分片数目、出块间隔和区块大小等)以提高吞吐量的研究,很少有使用强化学习技术来解决区块链分片策略问题的研究,然而随机的分片策略会降低系统的吞吐量上限。因此,设计合理的强化学习算法来联合优化链上参数和分片策略,具有重要的研究意义。

3、中国专利公开了(申请号为:2023104281836)基于深度强化学习的物联网下区块链性能优化方法及装置,其方法主要为:初始化物联网场景下的区块链仿真系统;构建区块链仿真系统的性能优化模型;其中性能优化模型被建立为马尔可夫决策过程模型;采用深度强化学习算法对性能优化模型进行求解,得到物联网场景下的区块链仿真系统的最优可扩展性配置。

4、中国专利公开了(申请号为:2022105051184)结合深度强化学习的区块链分片系统性能优化方法,其方法主要为:将区块链分片选择问题建立为马尔科夫决策过程模型,模型由系统状态、行为、奖励和价值函数四部分组成,模型的解为在动态的区块链分片系统环境下不断选择最优行为,使得区块链分片系统吞吐量最大化。算法通过不断探索和学习区块大小、出块时间和区块链分片数量、与区块链分片系统的复杂关系,最终可以根据节点之间传输速率、节点的计算能力、节点的共识历史和恶意节点的概率,选择最合适的分片策略,提高区块链分片系统的性能。

5、专利基于深度强化学习的物联网下区块链性能优化方法及装置,仅考虑了通过强化学习算法来调整链上参数,未实现动态的分片策略。其次,采用双深度网络算法在某些情况下可能导致正向偏差,即对于某些动作的q值估计偏向于过高,智能体的学习效果可能会变差程。

6、专利结合深度强化学习的区块链分片系统性能优化方法,通过设计强化学习算法以解决分片系统行为空间爆炸问题,但未考虑节点与节点之间的关联关系,忽视了节点与分片之间的匹配,可能会导致系统内的跨分片交易数量过多,进而导致系统的吞吐量下降。

7、因此,如何解决节点与分片之间的匹配问题,从而提高系统的吞吐量和安全性是本发明想要解决的技术问题。


技术实现思路

1、本发明的目的在于提供一种面向点对点能源交易的区块链自适应分片方法,以解决上述背景技术中提出的问题。

2、本发明目的是这样实现的:一种面向点对点能源交易的区块链自适应分片方法,其特征在于:该方法包括以下步骤:

3、步骤s1:建立点对点能源交易区块链分片系统场景;

4、步骤s2:采用吞吐量来评估分片区块链的可扩展性,吞吐量定义为单位时间内链上的最大验证交易数量;

5、步骤s3:基于共识协议,建立分片优化问题模型;

6、步骤s4:基于强化学习multi-d3qn算法求解分片优化问题,实现系统在满足安全性和延迟下的最大吞吐量。

7、优选的,所述步骤s1中建立点对点能源交易区块链分片系统场景,具体为:

8、点对点能源交易区块链分片系统包括风电用户、新能源汽车用户、光伏用户以及风/光电混合用户;

9、点对点能源交易区块链分片系统内的节点总数为n,每个节点之间存在电力交易;通过点对点能源交易区块链分片系统将n个节点划分为k个分片,其中每个节点具备计算能力ci,节点i和节点j之间的传输速率为。

10、优选的,所述点对点能源交易区块链分片系统以并行方式产生区块,点对点能源交易区块链分片系统的吞吐量与分片数量相关;

11、吞吐量定义为,吞吐量的表达式为:

12、;

13、其中,为平均交易大小;为出块间隔;块大小和出块间隔是影响吞吐量的两个重要指标;为分片数目;为区块大小;

14、考虑跨分片数量的影响,假设分片中的跨分片交易的概率为 ,对吞吐量的表达式进行变换:

15、。

16、优选的,所述步骤s3中基于共识协议,建立分片优化问题模型,具体为:

17、步骤s3-1:确定分片内与分片间的共识协议;

18、在每个分片内采用pbft共识协议,在不同分片之间采用异步pbft协议,分片间的跨分片交易由领导节点负责中继;

19、步骤s3-2:分析分片内和分片间传输速率影响因素,确定分片内与跨分片交易的共识验证延迟;

20、步骤s3-3:确定分片优化问题模型;

21、分片优化问题模型为:

22、;

23、;

24、;

25、其中,为分片内节点数,为总共识延迟,,为分片内的共识验证延迟,为跨分片交易的共识验证延迟;为出块间隔。

26、优选的,所述步骤s3-2中分析分片内和分片间传输速率影响因素,确定分片内与跨分片交易的共识验证延迟,具体为:

27、分片内的共识验证延迟和跨分片交易的共识验证延迟包括请求阶段、预准备阶段、准备阶段、提交阶段和回复阶段;

28、分片内的共识验证延迟由片内验证延迟 与片内传输延迟 的和决定;

29、片内验证延迟 ;

30、其中, 为主节点的验证延迟,为副节点的验证延迟;

31、;

32、其中,为领导节点的计算成本,为领导节点的计算能力;

33、;

34、其中,为副节点的计算成本,为副节点的计算能力;

35、结合分片内的共识验证延迟的五个阶段,分析得出分片内领导节点的总计算成本和副节点的计算成本为:

36、;

37、;

38、其中,为某分片内恶意节点的数目,为生成/验证签名所需的cpu周期。

39、优选的,所述片内传输延迟 结合分片内的共识验证延迟的五个阶段进行分析,分析得出:

40、;

41、其中, 为消息传播期间响应的最长等待时间,为请求阶段某分片内节点之间的最大传输延迟、为预准备阶段某分片内节点之间的最大传输延迟、为准备阶段某分片内节点之间的最大传输延迟、为提交阶段某分片内节点之间的最大传输延迟、为回复阶段某分片内节点之间的最大传输延迟。

42、优选的,所述跨分片交易的共识验证延迟由领导节点生成跨分片交易并传递给目标分片的领导节点,;

43、其中,为某分片领导分片和另一个领导分片之间的传播速率,是平均交易大小。

44、优选的,所述步骤s4中基于强化学习multi-d3qn算法求解分片优化问题,具体为:

45、步骤s4-1:始化经验池最大容量d0、d1,初始化智能体agent0和智能体agent1的网络参数;

46、网络参数包括网络更新频率,采样批次大小,折扣因子;

47、步骤s4-2:初始化环境状态,其中,表示所有节点的计算能力的集合,表示为所有节点的传输能力的集合,表示为节点之间的交易关系,h为表示节点的诚实或恶意,h=0或1;

48、步骤s4-3:智能体agent0根据当前动作状态,采用策略选择动作,减少探索率;

49、步骤s4-4:智能体agent0将执行动作反馈给智能体agent1,智能体agent1根据状态||,采用策略选择动作,将节点加入到分片中;

50、步骤s4-5:判断所有节点是否加入分片中,如果是,执行步骤s4-6;如果否,执行步骤s4-4;

51、步骤s4-6:计算分片系统的吞吐量并将吞吐量作为奖励值,并进行存储;

52、奖励值;

53、将经验元组(||,  , r , ||)存储到经验元组d1,将经验元组( , , r , )存储到经验元组d0;

54、步骤s4-7:从经验元组d1和经验元组d0中随机采样,计算智能体agent0和智能体agent1的损失值并联合更新智能体agent0和智能体agent1的网络参数;

55、步骤s4-8:判断是否达到最大回合数,如果是,结束;如果否,执行步骤s4-2。

56、优选的,所述步骤s4-7中计算智能体agent0和智能体agent1的损失值,具体为:

57、智能体agent0的损失值:

58、<msub><mrow><mi>l</mi><msub><mi>θ</mi><mn>0</mn></msub></mfenced></mrow></msub><mi>=e[</mi><msup><mrow><mi>(</mi><msubsup><mi>y</mi><mi>i</mi><mn>0</mn></msubsup><mi>- q(s, </mi><msubsup><mi>a</mi><mi>t</mi><mn>0</mn></msubsup><mi>,</mi><msub><mi>θ</mi><mn>0</mn></msub><mi>))</mi></mrow><mn>2</mn></msup><mi>]</mi>;

59、;

60、其中,e为期望函数, 为智能体agent0的目标值,为当前估计的值函数在状态下采取动作  时的预测值,为智能体agent0当前神经网络的权重, 为折扣因子, 为智能体agent0在下一个状态 下选择动作  所对应值函数的最大值,为智能体agent0所有可能的动作;

61、智能体agent1的损失值:

62、<msub><mrow><mi>l</mi><msub><mi>θ</mi><mn>1</mn></msub></mfenced></mrow></msub><mi>=e[</mi><msup><mrow><mi>(</mi><msubsup><mi>y</mi><mi>i</mi><mn>1</mn></msubsup><mi>- q(</mi><mi>s||</mi><msubsup><mi>a</mi><mi>t</mi><mn>0</mn></msubsup><mi> , </mi><msubsup><mi>a</mi><mi>t</mi><mn>1</mn></msubsup><mi>,</mi><msub><mi>θ</mi><mn>1</mn></msub><mi>))</mi></mrow><mn>2</mn></msup><mi>]</mi>;

63、;

64、其中, 是智能体agent1的目标值, 为当前估计的值函数在状态下采取动作  时的预测值;是agent1当前神经网络的权重,表示智能体agent1在下一个状态 下选择动作  所对应值函数的最大值; 是智能体agent1所有可能的动作;

65、联合优化的损失值为:

66、;

67、其中,为共享隐藏层;为智能体agent0和agent1的神经网络权重。

68、与现有技术相比,本发明具有如下改进及优点:

69、1、通过使用自适应分片技术,采用不同的共识协议,准确划分影响系统吞吐量的因素;同时,基于强化学习的multi-d3qn算法联合解决链上参数和分片策略问题,实现分片策略的不断优化,提高交易系统吞吐量和安全性。

70、2、通过自适应分片技术和基于系统安全性和可扩展性的角度提出分片优化问题,充分衡量了系统安全性和可扩展性,从而有效提高参与能源交易用户的满意度。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1