[发明专利]区块链节点群间DPOS与节点群内POW结合的共识机制方法有效
申请号: | 202010302347.7 | 申请日: | 2020-04-16 |
公开(公告)号: | CN111490994B | 公开(公告)日: | 2022-05-27 |
发明(设计)人: | 俎维翰;李渊;刘铭;毕潇;郭兆鹏;费旻昊;刘鑫;赵斌;胡璇 | 申请(专利权)人: | 杭州萌格信息科技有限公司 |
主分类号: | H04L9/40 | 分类号: | H04L9/40;H04L67/1097 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310000 浙江省杭州市江干*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 节点 dpos pow 结合 共识 机制 方法 | ||
1.区块链节点群间DPOS与节点群内POW结合的共识机制方法,其特征在于包括以下步骤:
(a)通过普通投票的方式产生节点群落,划分每个节点群落,在完成一个轮循周期T后,系统会自动再次进行节点群落,重新进行新的节点群落划分及开始新的周期,即群落间通过DPOS算法确定生成区块节点所在的群落;
(b)被轮换到的节点群落内部进行POW机制,本节点群落内的各个节点竞争一个生成Token区块的机会,先完成第一个POW运算的节点,在完成第一个POW运算的节点后,将由其他节点验证POW计算结果的有效性,最后具有POW有效性的节点将生成Token区块的节点;通过设置降低难度,Token链的难度每经过m个区块改变一次,m的取值范围为2000以上,保障节点用户参与计算,计算难度公式为:计算难度=(difficulty-target)/(current-target), target为一个128位长的Hash值;
(c)当TOKEN链出现分叉时,由于网络延时原因出现两个不同区块拥有同一个父区块的现象时,采取承认较长链的方法来解决分叉问题,当最长链的长度超过第二长的链两个区块后,若最长链的长度为n,则之前n-1个区块的交易信息被确认并无法被更改。
2.根据权利要求1所述的区块链节点群间DPOS与节点群内POW结合的共识机制方法,其特征在于:所述通过普通投票的方式产生节点群落的过程如下:
(1)假设系统由n个节点群落组成,节点群落标号1到n;
(2)每个普通节点给自己的每一个相邻节点生成一个随机数x,这个过程称为投票;
(3)每个普通节点会得到来自相邻节点的投票,获得的票数最多的节点进行运算,运算结果就为这个节点所在的节点群落标号;
(4)获得相同节点群落标号的普通节点,属于同一个节点群落。
3.根据权利要求2所述的区块链节点群间DPOS与节点群内POW结合的共识机制方法,其特征在于: 在所述通过普通投票的方式产生节点群落的过程的步骤(2)中,为防止恶意修行为,引入公式:S=5*sinx+5,x为产生的随机数,S表示节点群落标号,进行节点群落的投票。
4.根据权利要求2所述的区块链节点群间DPOS与节点群内POW结合的共识机制方法,其特征在于:划分结束后,检查此普通节点获得票数及所在节点群落,若发现此节点上报结果与所在节点群落不符合,说明此节点存在作弊行为,将对此节点做出惩罚,并奖励举报节点。
5.根据权利要求1所述的区块链节点群间DPOS与节点群内POW结合的共识机制方法,其特征在于:在所述步骤(c)中,解决TOKEN链出现分叉问题的步骤如下:
(c 1)假设群落1的两个用户A和B在相近的时间完成了POW,并将结果广播给了群落2,则群落2会有Q%用户根据用户A的结果计算,Q的取值为0<Q<100,剩下的根据用户B的结果计算;
(c 2)假设群落2基于A结果计算的用户C首先计算出了结果,其他群落2的用户没有计算出结果,则C将该结果全网广播,同时群落3的用户开始基于C的结果进行计算,此时:
(c 2.1)由于群落2的用户C已经计算出了结果并进行了广播,因此群落2将停止接收从群落1发送来的位于用户C上链区块之前的新区块上链计算请求;
(c 2.2)若在C用户广播之后,位于群落2的恶意用户D仍基于A的结果计算,并于C广播8-10秒钟后算出同样符合要求的POW结果并广播,此时由于群落3已经在基于C的结果计算,因此D的广播会被节点忽略;
(c 2.3)若群落3有恶意用户D的同伙E,则为了确保在群落3用户D的结果会被更早计算出来,则群落3用户E的算力要超过51%;
(c 2.4)由于当一个群落计算出POW结果并广播后,该群落就不再接受前一群落的新区块信息,因此当两条分叉的链相差超过两个区块后,短的链就会被完全否定;
(c 2.5)从概率上来说,即使恶意用户D的同伙E节点的算力很低,节点E仍有不低的概率先于基于C结果计算的节点完成POW计算;
(c 2.6)这种情况下的分叉是被允许的,该机制保证链无法被从很早的区块被硬分叉,这种段分叉是合法的并且是无法防止的;同时,即使恶意节点D的区块被承认了,另一条基于C的短链上的交易也不会被取消掉,而是会回到交易池中等待下次区块打包;
(c 3)基于步骤(c 1),假设群落2基于A结果计算的用户C,基于B结果计算的用户D,也在相近的时间完成了POW,并将结果广播给了群落3,则将重复上述步骤(c 2)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州萌格信息科技有限公司,未经杭州萌格信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010302347.7/1.html,转载请声明来源钻瓜专利网。