应用于区块链系统中矿工节点的共识方法和区块链系统与流程

文档序号:19741093发布日期:2020-01-18 05:13阅读:来源:国知局

技术特征:

1.一种应用于区块链系统中矿工节点的共识方法,其中,所述矿工节点中设置有可信执行环境,所述方法包括:

获取累计未用下限时长;

在所述矿工节点的可信执行环境中执行以下记账权确定操作:确定所述矿工节点的当前累计未用时长;确定所述当前累计未用时长是否大于所述累计未用下限时长;响应于确定所述当前累计未用时长大于所述累计未用下限时长,确定所述矿工节点竞争到记账权,以及用所述当前累计未用时长与所述累计未用下限时长的差更新所述当前累计未用时长。

2.根据权利要求1所述的方法,其中,所述记账权确定操作还包括:

响应于确定所述矿工节点竞争到记账权,根据所述矿工节点竞争到记账权的区块,确定是否调整所述累计未用下限时长;

响应于确定调整所述累计未用下限时长,执行以下累计未用下限时长调整操作:根据所述累计未用下限时长、调整周期实等时长和期望调整周期时长确定调整后累计未用下限时长,所述调整周期实等时长为所述矿工节点竞争到记账权的区块的生成时间和所述矿工节点的区块链中上次调整所述累计未用下限时长对应的区块的生成时间之间的时长;以及将所述累计未用下限时长更新为所述调整后累计未用下限时长。

3.根据权利要求2所述的方法,其中,所述调整后累计未用下限时长与所述累计未用下限时长和所述期望调整周期时长均正相关,所述调整后累计未用下限时长与所述调整周期实等时长负相关。

4.根据权利要求3所述的方法,其中,在确定所述矿工节点竞争到记账权之后,所述记账权确定操作还包括:

在所述矿工节点的可信执行环境中,将记账权确定信息利用所述可信执行环境中存储的预设私钥签名后广播给所述矿工节点的相邻节点,其中,所述记账权确定信息包括:所述矿工节点的区块链中所述矿工节点竞争到记账权的区块的上一区块的哈希值、所述累计未用下限时长和所述矿工节点绑定的账号地址,其中,所述矿工节点绑定的账号地址存储在所述矿工节点的可信执行环境中。

5.根据权利要求4所述的方法,其中,所述方法还包括:

响应于接收到记账权确定信息,利用预设公钥对所收到的记账权确定信息进行签名验证;

响应于对所收到的记账权确定信息进行签名验证通过,分别利用所述矿工节点的区块链中的尾部区块的哈希值和所述累计未用下限时长对所收到的记账权确定信息中的上一区块哈希值和累计未用下限时长进行校验;

响应于校验通过,将所收到的记账权确定信息中的账号地址确定为竞争到第一当前区块的矿工节点绑定的账号地址,其中,所述第一当前区块为所收到的记账权确定信息中上一区块哈希值所指示的区块的下一区块。

6.根据权利要求5所述的方法,其中,所述在确定所述矿工节点的当前累计未用时长之后,所述记账权确定操作还包括:

响应于确定所述矿工节点的当前累计未用时长大于累计未用上限时长,将所述当前累计未用时长更新为所述累计未用上限时长。

7.一种矿工节点,包括:

一个或多个处理器;

存储装置,其上存储有存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。

8.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-6中任一所述的方法。

9.一种区块链系统,其中,所述区块链系统包括至少一个并行链,并行链包括路由节点和至少一个矿工节点,其中,所述至少一个并行链的路由节点之间网络连接,矿工节点绑定有账号地址,矿工节点被配置成采用如权利要求1-6中任一所述的方法竞争该矿工节点所在并行链的链内交易请求的记账权,路由节点被配置成:实时将该路由节点的同链矿工节点的区块链同步到本地区块链。

10.根据权利要求9所述的系统,其中,路由节点还被配置成:

响应于接收到包括区块哈希值、累计未用下限时长和账号地址的记账权确定信息,利用预设公钥对所收到的记账权确定信息进行签名验证;

响应于对所收到的记账权确定信息进行签名验证通过,分别利用该路由节点的区块链中的尾部区块的哈希值和该路由节点本地存储的累计未用下限时长对所收到的记账权确定信息中的区块哈希值和累计未用下限时长进行校验;

响应于对所收到的记账权确定信息中的区块哈希值和累计未用下限时长进行校验通过,将所收到的记账权确定信息中的账号地址确定为竞争到第二当前区块的矿工节点绑定的账号地址,其中,所述第二当前区块为所收到的记账权确定信息中上一区块哈希值所指示的区块的下一区块。

11.根据权利要求10所述的系统,其中,路由节点还被配置成:

响应于对所收到的记账权确定信息中的区块哈希值和累计未用下限时长进行校验不通过,将所收到的记账权确定信息中的账号地址添加到本地存储的黑名单账号地址集合。

12.根据权利要求11所述的系统,其中,矿工节点还被配置成:

根据该矿工节点竞争到记账权的区块,确定是否进入新的累计未用下限时长调整周期;

响应于确定进入新的累计未用下限时长调整周期,执行以下当期每区块记账奖励确定操作:获取该矿工节点的同链路由节点绑定的账号地址对应的数字货币余额;将获取的数字货币余额除以预设周期区块数目所得到的比值的整数部分确定为当期每区块记账奖励;将所述当期每区块记账奖励与所述预设周期区块数目的积确定为当期待分配奖励;根据所选取的待处理交易请求、当期待分配奖励转出信息、当前区块奖励转入信息和当前区块奖励转出信息生成所述矿工节点竞争到记账权的区块的区块数据,其中,所述当期待分配奖励转出信息用于表征从该矿工节点的同链路由节点绑定的账号地址转出所述当期待分配奖励,所述当前区块奖励转入信息用于表征将所述当期每区块记账奖励转入该矿工节点绑定的账号地址,所述当前区块奖励转出信息用于表征将所选取的待处理交易请求对应的记账奖励转入该矿工节点的同链路由节点绑定的账号地址;

响应于确定未进入新的累计未用下限时长调整周期,根据所选取的待处理交易请求、所述当前区块奖励转入信息和所述当前区块奖励转出信息生成所述矿工节点竞争到记账权的区块的区块数据。

13.根据权利要求12所述的系统,其中,所述在所述矿工节点的可信执行环境中执行以下记账权确定操作,包括:

响应于采用工作量证明共识机制进行哈希碰撞计算所用的随机数满足预设条件,在所述矿工节点的可信执行环境中执行所述记账权确定操作。

14.根据权利要求13所述的系统,其中,矿工节点还被配置成:

执行以下哈希碰撞难度目标值调整操作:响应于确定所述矿工节点竞争到记账权,根据所述矿工节点竞争到记账权的区块,确定是否调整哈希碰撞的难度目标值;响应于确定调整所述哈希碰撞的难度目标值,根据所述当前哈希碰撞的难度目标值、调整周期实等时长和期望调整周期时长确定调整后难度目标值,以及将所述当前哈希碰撞的难度目标值更新为所述调整后难度目标值。

15.根据权利要求14所述的系统,其中,路由节点还被配置成:

确定该路由节点的同一同链矿工节点相邻两次竞争到记账权的时间间隔;

响应于所述累计未用下限时长减去所确定的时间间隔的时长差大于预设时长阈值,将所确定的时间间隔对应的矿工节点绑定的账号地址添加到所述黑名单账号地址集合。

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