会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 资料储存系统 / 工作量证明 / 一种基于改进工作量证明与权益证明的区块链共识方法

一种基于改进工作量证明与权益证明的区块链共识方法

阅读:660发布:2020-05-20

IPRDB可以提供一种基于改进工作量证明与权益证明的区块链共识方法专利检索,专利查询,专利分析的服务。并且本发明涉及计算机区块链技术领域,提供一种基于改进工作量证明与权益证明的区块链共识方法。步骤1:区块链中的算力统计节点统计计算节点的算力;步骤2:算力统计节点对区块链中所有计算节点的算力进行均匀分组,为每个计算组在加入区块链之前分配Token值;步骤3:用户发送存入数据的请求,对所有计算组按照Token值由大到小排序,选择前k个计算组分别对数据进行打包成区块操作,选取最先完成打包成区块操作的计算组为主节点,主节点将区块连接至区块链中,并利用协议向其他节点广播消息,其他节点同步区块链状态。本发明能够节约系统算力、缩短计算周期,且避免对新加入网络的节点和拥有计算资源较少的节点不友好的问题。,下面是一种基于改进工作量证明与权益证明的区块链共识方法专利的具体信息内容。

1.一种基于改进工作量证明与权益证明的区块链共识方法,所述区块链中存在M个算力统计节点Scsn={csn1,csn2,...,csnm,...,csnM}和N个计算节点Scn={cn1,cn2,...,cnn,...,cnN},所述算力统计节点用于统计计算节点的算力,所述计算节点用于创建区块和连接区块,所述计算节点的算力为计算节点能够提供的计算资源大小,其特征在于,包括下述步骤:步骤1:区块链中的算力统计节点对每个计算节点的算力进行统计,得到N个计算节点的算力Sp={p1,p2,...,pn,...,pN};其中,pn为第n个计算节点的算力;

步骤2:算力统计节点对全网计算节点的算力进行平衡:

步骤2.1:算力统计节点对区块链中所有计算节点的算力进行均匀分组:算力统计节点计算所有计算节点的总算力 并寻找所有计算节点的算力中的最大值pmax=max{p1,p2,...,pn,...,pN},计算分组个数为 将算力小于pmax的计算节点随机组合形成总算力最大化且总算力小于或等于pmax的分组,将算力为pmax的计算节点自成一组,得到计算组集合Sgroup={group1,group2,...,groupl,...,groupL};其中, 为向上取整运算符,groupl为第l个计算组;

步骤2.2:在每个计算组加入区块链之前为每个计算组分配相同的Token值初始值;其中,Token值代表计算组在区块链中还可以存活的时间;

步骤3:计算节点创建区块,并选择主节点将区块连接至区块链:

步骤3.1:用户向区块链发送存入数据的请求,对所有计算组按照Token值由大到小进行排序,设定随区块链网络规模正比变化的阈值k,选择排序后的计算组中前k个计算组来响应请求;

步骤3.2:前k个计算组分别对数据进行打包成区块操作,选取最先完成打包成区块操作的计算组为主节点;

步骤3.3:主节点将区块连接至区块链中;

步骤3.4:主节点利用协议向其他节点广播消息,其他节点同步区块链状态。

2.根据权利要求1所述的基于改进工作量证明与权益证明的区块链共识方法,其特征在于,所述步骤1包括下述步骤:步骤1.1:每个计算节点表明自己能够提供的计算资源大小;

步骤1.2:算力统计节点记录每个计算节点能够提供的计算资源大小。

3.根据权利要求1所述的基于改进工作量证明与权益证明的区块链共识方法,其特征在于,所述步骤3中,所述协议为Gossip协议。

说明书全文

一种基于改进工作量证明与权益证明的区块链共识方法

技术领域

[0001] 本发明涉及计算机区块链技术领域,特别是涉及一种基于改进工作量证明与权益证明的区块链共识方法。

背景技术

[0002] 区块链是一种由互不相信的节点维护同一个全局状态的数据库,具有去中心化、冗余存储以及数据防篡改等优点。区块链技术无需借助第三方可信机构既可以实现互不信任的多方完成数据共享。区块链之所以能够实现数据防篡改的特性,主要是因为以区块为单位的链式结构和合理的共识机制。
[0003] 共识机制是指在没有中心节点控制的情况下,互不信任的节点之间就下一步合法性行为达成共识的机制。区块链中常见的共识机制有工作量证明机制(POW)和权益证明机制(POS)。
[0004] 工作量证明机制即区块链中的节点必须达到一定的工作量才能拥有区块的记录权。在基于工作量证明机制构建的区块链网络中,节点通过计算随机哈希散列的数值解竞争记录权,正确求解的节点具有当前的记录权。工作量证明机制具有完全去中心化的优点,在以工作量证明机制为共识的区块链中,节点可以自由进出。但是,基于工作量证明机制的区块链系统造成了大量的资源浪费,达成共识所需要的周期也较长,另外如果过多强算力节点结合,那么这些节点会控制整条区块链。
[0005] 权益证明机制的运作方式与工作量证明机制相似,但权益证明机制会根据每个节点拥有代币的比例和时间,依据算法等比例地降低节点的挖矿难度,从而加快了寻找随机数的速度,能一定程度地减少资源的浪费。但是,如果有矿工恶意囤币后挖矿,会很容易得到记录权,因此对于新加入的节点和拥有计算资源较少的节点挖矿的难度很大,获得记录权的概率较小。
[0006] 可见,传统基于工作量证明的区块链共识方法会浪费大量的系统算力且计算周期较长,基于权益证明的区块链共识方法对新加入网络的节点和拥有计算资源较少的节点不友好。

发明内容

[0007] 针对现有技术存在的问题,本发明提供一种基于改进工作量证明与权益证明的区块链共识方法,能够节约系统算力、缩短计算周期,且避免对新加入网络的节点和拥有计算资源较少的节点不友好的问题。
[0008] 本发明的技术方案为:
[0009] 一种基于改进工作量证明与权益证明的区块链共识方法,所述区块链中存在M个算力统计节点Scsn={csn1,csn2,...,csnm,...,csnM}和N个计算节点Scn={cn1,cn2,...,cnn,...,cnN},所述算力统计节点用于统计计算节点的算力,所述计算节点用于创建区块和连接区块,所述计算节点的算力为计算节点能够提供的计算资源大小,其特征在于,包括下述步骤:
[0010] 步骤1:区块链中的算力统计节点对每个计算节点的算力进行统计,得到N个计算节点的算力Sp={p1,p2,...,pn,…,pN};其中,pn为第n个计算节点的算力;
[0011] 步骤2:算力统计节点对全网计算节点的算力进行平衡:
[0012] 步骤2.1:算力统计节点对区块链中所有计算节点的算力进行均匀分组:算力统计节点计算所有计算节点的总算力 并寻找所有计算节点的算力中的最大值pmax=max{p1,p2,…,pn,…,pN},计算分组个数为 将算力小于pmax的计算节点随机组合形成总算力最大化且总算力小于或等于pmax的分组,将算力为pmax的计算节点自成一组,得到计算组集合Sgroup={group1,group2,…,groupl,…,groupL};其中, 为向上取整运算符,groupl为第l个计算组;
[0013] 步骤2.2:在每个计算组加入区块链之前为每个计算组分配相同的Token值初始值;其中,Token值代表计算组在区块链中还可以存活的时间;
[0014] 步骤3:计算节点创建区块,并选择主节点将区块连接至区块链:
[0015] 步骤3.1:用户向区块链发送存入数据的请求,对所有计算组按照Token值由大到小进行排序,设定随区块链网络规模正比变化的阈值k,选择排序后的计算组中前k个计算组来响应请求;
[0016] 步骤3.2:前k个计算组分别对数据进行打包成区块操作,选取最先完成打包成区块操作的计算组为主节点;
[0017] 步骤3.3:主节点将区块连接至区块链中;
[0018] 步骤3.4:主节点利用协议向其他节点广播消息,其他节点同步区块链状态。
[0019] 所述步骤1包括下述步骤:
[0020] 步骤1.1:每个计算节点表明自己能够提供的计算资源大小;
[0021] 步骤1.2:算力统计节点记录每个计算节点能够提供的计算资源大小。
[0022] 所述步骤3中,所述协议为Gossip协议。
[0023] 本发明的有益效果为:
[0024] 本发明通过算力统计节点对区块链中所有计算节点的算力进行均匀分组并为每个计算组分配Token值,根据Token值选取主节点将区块连接至区块链中,相比于基于工作量证明的区块链共识方法,不需要额外计算随机哈希散列的数值解来竞争记录权,有效节约了系统算力,缩短了计算周期;相比于基于权益证明的区块链共识方法,避免了对新加入网络的节点和拥有计算资源较少的节点不友好的问题。

附图说明

[0025] 图1为本发明的基于改进工作量证明与权益证明的区块链共识方法的流程图。

具体实施方式

[0026] 下面将结合附图和具体实施方式,对本发明作进一步描述。
[0027] 本实施例中,区块链中存在M=5个算力统计节点Scsn={csn1,csn2,csn3,csn4,csn5}和N=10个计算节点Scn={cn1,cn2,…,cnn,…,cn10},算力统计节点用于统计计算节点的算力,计算节点用于创建区块和连接区块,计算节点的算力为计算节点能够提供的计算资源大小。
[0028] 如图1所示,本发明的基于改进工作量证明与权益证明的区块链共识方法,包括下述步骤:
[0029] 步骤1:区块链中的算力统计节点Scsn={csn1,csn2,csn3,csn4,csn5}对每个计算节点的算力进行统计,得到10个计算节点的算力Sp={p1,p2,...,pn,...,p10};其中,pn为第n个计算节点的算力:
[0030] 步骤1.1:每个计算节点表明自己能够提供的计算资源大小;
[0031] 步骤1.2:算力统计节点记录每个计算节点能够提供的计算资源大小。
[0032] 本实施例中,Sp={p1,p2,...,pn,...,p10}={1T,2T,3T,5T,5T,5T,9T,10T,10T,10T}。
[0033] 步骤2:算力统计节点对全网计算节点的算力进行平衡:
[0034] 步骤2.1:算力统计节点对区块链中所有计算节点的算力进行均匀分组:算力统计节点计算所有计算节点的总算力 并寻找所有计算节点的算力中的最大值pmax=max{p1,p2,...,pn,...,pN}=10T,计算分组个数为 将算力小于pmax的计算节点随机组合形成总算力最大化且总算力小于或等于pmax的分组,将cn1和cn7组合成第
1个计算组group1,将cn2、cn3、cn4组成第2个计算组group2,将cn5和cn6组成第3个计算组group3;将算力为pmax的计算节点自成一组,即将cn8单独组成group4、cn9单独组成group5、cn10单独组成group6;得到计算组集合Sgroup={group1,group2,...,groupl,...,group6};其中, 为向上取整运算符,groupl为第l个计算组;
[0035] 步骤2.2:在每个计算组加入区块链之前为每个计算组分配相同的Token值初始值;其中,Token值代表计算组在区块链中还可以存活的时间。
[0036] 本实施例中,设定每个计算组的存活时间为1小时,计算组相隔5分钟加入区块链网络。
[0037] 步骤3:计算节点创建区块,并选择主节点将区块连接至区块链:
[0038] 步骤3.1:用户向区块链发送存入数据的请求,对所有计算组按照Token值由大到小进行排序,设定随区块链网络规模正比变化的阈值k=3,选择排序后的计算组中前3个计算组{group4,group5,group6}来响应请求;
[0039] 步骤3.2:前3个计算组分别对数据进行打包成区块操作,选取最先完成打包成区块操作的计算组group4为主节点;
[0040] 步骤3.3:主节点将区块连接至区块链中;
[0041] 步骤3.4:主节点利用协议向其他节点广播消息,其他节点同步区块链状态。
[0042] 本实施例中,所述协议为Gossip协议。
[0043] 显然,上述实施例仅仅是本发明的一部分实施例,而不是全部的实施例。上述实施例仅用于解释本发明,并不构成对本发明保护范围的限定。基于上述实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,也即凡在本申请的精神和原理之内所作的所有修改、等同替换和改进等,均落在本发明要求的保护范围内。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用