利索能及
我要发布
收藏
专利号: 2022105051184
申请人: 内蒙古工业大学
专利类型:发明专利
专利状态:已下证
更新日期:2024-12-09
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.结合深度强化学习的区块链分片系统性能优化方法,其特征在于,包括如下步骤:步骤1,区块链仿真系统中包括N个节点,所有节点之间都具有传输速率,节点具有计算能力,节点中存在恶意节点;

步骤2,对区块链分片问题建立马尔可夫决策过程模型,模型由系统状态St、行为空间A、奖励Rt+1和价值函数Q(St,at)四部分组成;

t时刻的系统状态St定义为节点之间传输速率集合Rt、节点的计算能力集合Ct、节点的共识历史集合Ht和恶意节点的概率Pt;

行为空间A包括区块大小B、出块时间TI和区块链分片数量K;

奖励Rt+1表示t时刻区块链分片系统执行行为后获得的奖励,由t时刻系统状态St下采取行为所获得的收益即区块链每秒处理事务的数量构成;

马尔可夫决策过程模型被总结为:在任意t时刻的系统状态St下,通过选择最优行为,使得系统累计奖励最大化,公式为:约束于

t

其中,at为t时刻系统采取的行为,γ是t时刻Rt+1的衰减因子;

步骤3,采用深度强化学习BDQ算法求解模型,通过不断探索和学习区块链系统吞吐量与区块大小、出块时间和区块链分片数量的复杂关系,最终根据区块链分片数量进行分片,分片内的节点根据区块大小和出块时间并行处理事务,使得区块链处理的事务数量最大化。

2.根据权利要求1所述结合深度强化学习的区块链分片系统性能优化方法,其特征在于,所述系统状态St中,Rt={Ri,j},i,j∈N,Rij表示为节点i和节点j之间链路的传输速率;Ct={Ci},i∈N,Ci为节点i的计算资源;Ht={Hi},Hi为节点i的共识历史,Hi=1或Hi=0,Hi=1表示节点i对区块验证不合法,Hi=0表示节点i对区块验证合法;Pt根据共识历史计算得到。

3.根据权利要求1所述结合深度强化学习的区块链分片系统性能优化方法,其特征在于,所述奖励Rt+1的公式为:其中,BH为区块头的大小;b为事务的平均大小,(B‑BH)表示每个区块处理事务的大小,(B‑BH)/b表示每个分片处理事务的数量, 表示K个分片处理事务的总数。

4.根据权利要求1所述结合深度强化学习的区块链分片系统性能优化方法,其特征在于,所述价值函数Q(St,at)的公式为:其中, 为期望函数,y为相对于t时刻的未来时刻,Rt+y+1表示系统在t+y时刻采取行为后获得的奖励,γ表示衰减因子,表示在某状态下采取某行为对系统未来奖励即环境影响y的重视程度,0≤γ<1,γ是t+y时刻Rt+y+1的衰减因子。

5.根据权利要求1所述结合深度强化学习的区块链分片系统性能优化方法,其特征在于,所述步骤2中,计算得到最优价值函数,即可根据最优价值函数在任意t时刻系统状态St下选择最优行为,使累计奖励最大化,最优价值函数的计算公式为:在任意t时刻,最优行为选择公式为:

*

其中Q (St,at)表示最优价值函数,St+1表示t+1时刻的系统状态,at+1表示在t+1时刻系统可能采取的所有行为中的任一行为,亦即行为空间A中的某一行为。

6.根据权利要求1所述结合深度强化学习的区块链分片系统性能优化方法,其特征在于,所述BDQ算法,通过不断决策积累(St,at,Rt+1,St+1)样本记录训练神经网络,使得神经网络能够近似价值函数,进而选择最优行为,使得模型的累计奖励最大化,其中St+1表示t+1时刻的系统状态。

7.根据权利要求1或6所述结合深度强化学习的区块链分片系统性能优化方法,其特征在于,所述BDQ算法的神经网络,网络分支与行为空间A的子行为一一对应,并且具有一个共享的决策模块,即神经网络的隐藏层;将t时刻系统状态St={Rt,Ct,Ht,Pt}输入到神经网络中,状态经过共享的决策模块进行抽象,输出分为两个分支,分别为状态分支和行为分支,行为分支输出每个子行为的优势函数,即区块大小B的优势函数A1(St,a1),出块时间TI的优势函数A2(St,a2)和区块链分片数量K的优势函数A3(St,a3),状态分支输出状态值函数V(St),将子行为的优势函数与状态值函数合并得到子行为的价值函数,区块链分片系统决策时,根据输出的每个子行为Q值来选择相应的行为。

8.根据权利要求7所述结合深度强化学习的区块链分片系统性能优化方法,其特征在于,所述神经网络的更新过程是在经验池中随机抽取minibatch大小的经验,使用梯度下降的方式更新神经网络参数,BDQ算法对loss function的更新公式为:其中yd定义如下所示:

表示在Qd网络中根据态St+1选择最大Q值所对应的子行

为ad,然后根据状态‑行为对到 网络选择所对应的Q值,BDQ算法中价值函数由状态值函数V(St)和行为的优势函数Ad(St,ad)组成,价值函数为Qd(St,ad)=V(St)+Ad(St,ad)

BDQ算法中有两个结构相同的神经网络,其中online network网络实时更新,target network每隔C步更新一次,将online network参数值赋给target network。

9.根据权利要求1所述结合深度强化学习的区块链分片系统性能优化方法,其特征在于,基于BDQ算法进行性能优化的运行逻辑如下:

1)、初始化大小为N的经验回放池D,经验回放池D存放区块链分片系统t时刻的系统状态St,行为at,奖励Rt+1和下一时刻的区块链系统的系统状态St+1;

2)、初始化online network和target network两个结构相同的网络;两个网络的权重‑分别为θ和θ;

3)、设置初始时刻t=0,经验回放池D中样本记录的时刻记为τ;

4)、初始化行为探索概率ε,探索率随t减少量Δε,最小探索概率εmin;

5)、循环体开始;

6)、获取当前t时刻区块链系统状态St={Rt,Ct,Ht,Pt};

7)、使用ε‑greedy策略选择行为:

8)、执行行为at,区块链系统进行分片,分片内并行处理事务,将事务打包成区块,对区块进行共识,将共识通过的区块发送给目录委员会进行最终打包和共识;并获得系统下一时刻区块链系统环境St+1,计算Rt+1;

9)、将(St,at,Rt+1,St+1)存入缓存数组;

10)、从缓存数组中随机抽取Y条样本记录(Sτ,aτ,Rτ+1,Sτ+1);

11)、利用Y条记录,计算Q样本值,公式如下:

Qd(Sτ,ad)=V(Sτ)+Ad(Sτ,ad)

12)、使用如下损失函数更新神经网络:

其中,

13)、探索概率ε取ε‑Δε和εmin中的最小值;

14)、如果t mod C=0,则target network网络复制online network参数,

15)、时刻t增加1;

16)、循环体结束。