一种区块链分片方法、装置、电子设备及存储介质
- 国知局
- 2024-08-05 11:55:19
本发明涉及计算机,尤其涉及一种区块链分片方法、装置、电子设备及存储介质。
背景技术:
1、区块链可扩展性目前是阻碍分布式技术广泛采用的主要瓶颈。分片技术作为区块链扩容的主流方式之一,能够在不降低区块链去中心化程度的同时实现高性能的链上扩容,从而解决区块链可扩展性不足以及吞吐量较低的问题。
2、然而,分片技术同样存在着很大限制,比如如何提高分片区块链系统每秒处理事务的数量。
技术实现思路
1、为解决上述技术问题,本发明实施例期望提供一种区块链分片方法、装置、电子设备及存储介质,能够对区块链中的节点进行分片,以提高区块链每秒处理事务的数量,提升系统性能。
2、本发明的技术方案是这样实现的:
3、第一方面,本发明实施例提供一种区块链分片方法,包括:
4、确定区块链中n个节点解决同一个工作量难题pow的时长,n为正整数;
5、根据n个节点解决同一个pow的时长,将n个节点划分为目录委员会节点和非目录委员会节点,其中,所有目录委员会节点共同组成目录委员会;
6、将非目录委员会节点输入预先训练好的分片模型中,得到非目录委员会节点的分片结果,其中,分片模型是基于马尔科夫决策过程,以提高区块链每秒处理事务的数量为目标训练得到的模型。
7、可选的,n个节点中任一节点的身份id表示为:id=h(epochrand||ip||pk||nonce)<d;
8、其中,epochrand表示作为pow的种子,d表示pow算法的困难程度,h表示哈希操作。
9、可选的,根据n个节点解决同一个pow的时长,将n个节点划分为目录委员会节点和非目录委员会节点,包括:
10、根据n个节点解决同一个pow的时长,将解决同一个pow的时长短的前c个节点作为目录委员会节点,其余n-c个节点作为非目录委员会节点,c为正整数、且c<n。
11、可选的,分片结果包括k个分片,k为正整数。
12、可选的,分片模型的在t时刻的状态空间为st={rt,ct,ht,pt};
13、分片模型的在t时刻的行为空间为at={kt,bt,tt,};
14、分片模型的在t时刻的奖励函数为
15、c1:tlatency=tt+tcon≤utt
16、c2:kmax<(n[1-3pt]-1)/[3npt+1]
17、c3:kmax<(2n/[3(npt+1)])-1;
18、其中,为节点之间的传输速率集合,rt,i,j表示节点i和节点j之间链路的传输速度;ct={ct,i},i∈n为节点的计算能力集合,ct,i表示区块链节点i的计算资源;ht={ht,i}为节点的共识历史,表示节点对区块验证时所进行的投票选择;当ht,i=1时,表示区块没有通过节点i的验证;当ht,i=0时,表示区块通过节点i的验证,可以上传到区块链上;区块链中恶意节点的概率记为pt,pt是根据共识历史计算得到;
19、bh为区块头的大小;b为事务的平均大小;(bt-bh)表示每个区块处理事务的大小;(bt-bh)/b表示每个分片处理事务的数量;表示kt个分片处理事务的总数;tt为出块的时间,表示区块链每秒处理事务的数量即事务的吞吐量。
20、可选的,训练分片模型的方法包括:
21、步骤1:初始化两个神经网络,分别是与ddpg神经网络结构相同的策略网络和与dqn神经网络结构相同的值网络两个网络的权重参数分别为θ和ω;
22、步骤2:初始化策略网络的目标网络和值网络的目标网络两个网络的权重参数分别为θ-和ω-;
23、步骤3:初始化ε-greedy策略的探索率ε;经验回放池d,用于存放agent与区块链环境进行交互产生的经验样本,用来训练神经网络;
24、步骤4:学习步数αt,βt≥0,用于周期性更新神经网络参数;
25、步骤5:从区块链环境中观察当前t时刻的状态st={rt,ct,ht,pt};
26、步骤6:将状态st输入到策略网络中,策略网络输出每个可取离散行为所对应的连续行为参数和
27、步骤7:将状态和连续行为参数输入到值网络中,输出可选行为的q值,根据q值选择最优离散行为及其连续行为;
28、步骤8:根据ε-greedy策略得到区块链分片的行为at=(kt,bt,tt);
29、步骤9:将得到的行为at输入到区块链环境中,区块链环境进行状态转化,得到下一个状态st+1={rt+1,ct+1,ht+1,pt+1}和奖励rt;
30、步骤10:将状态转换元组(st,at,rt,st+1)存入经验池d;
31、步骤11:在经验池中随机采样m个状态转换元组对神经网络参数进行更新。
32、可选的,还包括:
33、使用神经网络逼近q函数,其中,神经网络由策略网络和价值网络两个部分组成,θ参数化的策略网络将系统状态st作为输入,输出和即针对特定离散动作kt的最优连续动作;ω参数化的值网络将系统状态st、和作为输入,输出策略网络和价值网络通过参数化深度q网络区块链分片算法进行训练。
34、第二方面,本发明实施例提供一种区块链分片装置,包括:确定模块,划分模块和分片模块;
35、确定模块,用于确定区块链中n个节点解决同一个工作量难题pow的时长,n为正整数;
36、划分模块,用于根据n个节点解决同一个pow的时长,将n个节点划分为目录委员会节点和非目录委员会节点,其中,所有目录委员会节点共同组成目录委员会;
37、分片模块,用于将非目录委员会节点输入预先训练好的分片模型中,得到非目录委员会节点的分片结果,其中,分片模型是基于马尔科夫决策过程,以提高区块链每秒处理事务的数量为目标训练得到的模型。
38、第三方面,本发明实施例提供一种电子设备,包括:处理器,处理器用于在执行计算机程序时实现具有上述第一方面任一特征的区块链分片方法。
39、第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现具有上述第一方面任一特征的区块链分片方法。
40、本发明实施例提供了一种区块链分片方法、装置、电子设备及存储介质,通过确定区块链中n个节点解决同一个pow的时长,将n个节点划分为目录委员会节点和非目录委员会节点,再将非目录委员会节点输入预先训练好的分片模型中,得到非目录委员会节点的分片结果。如此,能够对区块链中的节点进行分片,以提高区块链每秒处理事务的数量,提升系统性能。
技术特征:1.一种区块链分片方法,其特征在于,包括:
2.根据权利要求1所述的区块链分片方法,其特征在于,n个节点中任一节点的身份id表示为:id=h(epochrand||ip||pk||nonce)<d;
3.根据权利要求1所述的区块链分片方法,其特征在于,根据n个节点解决同一个pow的时长,将n个节点划分为目录委员会节点和非目录委员会节点,包括:
4.根据权利要求3所述的区块链分片方法,其特征在于,所述分片结果包括k个分片,k为正整数。
5.根据权利要求1所述的区块链分片方法,其特征在于,
6.根据权利要求5所述的区块链分片方法,其特征在于,训练所述分片模型的方法包括:
7.根据权利要求6所述的区块链分片方法,其特征在于,还包括:
8.一种区块链分片装置,其特征在于,包括:确定模块,划分模块和分片模块;
9.一种电子设备,其特征在于,包括:处理器,所述处理器用于在执行计算机程序时实现如权利要求1-7中任一所述的区块链分片方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一所述的区块链分片方法。
技术总结本发明实施例公开了一种区块链分片方法、装置、电子设备及存储介质,应用于计算机技术领域。该方法包括:确定区块链中N个节点解决同一个工作量难题PoW的时长,N为正整数;根据N个节点解决同一个PoW的时长,将N个节点划分为目录委员会节点和非目录委员会节点,其中,所有目录委员会节点共同组成目录委员会;将非目录委员会节点输入预先训练好的分片模型中,得到非目录委员会节点的分片结果,其中,分片模型是基于马尔科夫决策过程,以提高区块链每秒处理事务的数量为目标训练得到的模型。本发明提供的方案能够对区块链中的节点进行分片,以提高区块链每秒处理事务的数量,提升系统性能。技术研发人员:万剑雄,姚冰冰,李雷孝,宇文啸冬受保护的技术使用者:内蒙古工业大学技术研发日:技术公布日:2024/8/1本文地址:https://www.jishuxx.com/zhuanli/20240802/260113.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。