The invention discloses a consensus algorithm, equipment and storage medium based on public block chain, in which the algorithm includes: obtaining the current block height of the block chain and judging whether the selection condition of the selected bookkeeper is satisfied according to the block height; if the selection condition of the bookkeeper is satisfied, obtaining the list of the main nodes of the whole network and selecting the main nodes in the list whose online time is longer than the preset number of days. Join the candidate list of bookkeepers; sort the nodes in the candidate list of bookkeepers; randomly select N nodes as bookkeepers in the sorted candidate list of bookkeepers; N bookkeepers rotate to produce blocks; N bookkeepers repeat the above steps after completing a round of block production. The invention enables the consensus algorithm of the public block chain to meet the requirements of security, decentralization and performance at the same time.
【技术实现步骤摘要】
一种基于公有区块链的共识算法、设备及存储介质
本专利技术涉及区块链
,尤其涉及一种基于公有区块链的共识算法、设备及存储介质。
技术介绍
现有典型公有区块链代表有比特币、以太坊、EOS、比特股,它们所采用的共识算法分别是POW(ProofofWork)、DPOS(DelegatedProofofStake)类型的。比特币、以太坊采用的是POW共识算法,这种共识算法优点是完全去中心化的工作方式,每个节点都可以产生区块,这样同时带来了很明显的缺点:1)、成本高,记账者需要耗费大量的硬件、电力成本来产块,投入一般要达到上千万;2)、效率低,每秒能处理交易数据只有7笔左右,这样的交易量完全无法满足许多商业区块链应用软件的要求。EOS采用的是DPOS共识算法,这种共识算法优点是处理交易量速度快,每秒处理交易量能达到2000笔左右。为了达到这个要求,采用的是半去中心化的工作方式,通过投票选取出来21个超级节点,由它们产生区块。这种共识算法缺点:1)、违背了公有链的去中心化精神;2)、容易遭受到DDOS攻击,只要攻击这21个超级节点,那么整个区块链网络将无法产生区块,导致无法正常工作;3)、硬件配置要求非常高,超级节点每台服务器的价格甚至要高达几十万元人民币;4)、EOS并不完全属于公有链,处于公有链和联盟链之间的一种链。比特股采用的也是DPOS共识算法,它跟EOS的DPOS共识算法非常类似。不同之处在于,通过投票选取出来是101个共识节点,其它的基本都是一样,因此它的缺点和EOS也基本相同。即现有的共识算法不能同时满足安全、去中心化、及性能的要求。因此,现有技术还 ...
【技术保护点】
1.一种基于公有区块链的共识算法,其特征在于,包括下述步骤:S10,获取区块链的当前区块高度,并依据区块高度判断是否满足选取记账者选取条件;S20,如果满足记账者选取条件,获取全网主节点列表并选取列表中在线时间大于预设天数的主节点加入记账者候选列表;S30,对记账者候选列表中的节点进行排序;S40,在排序后的记账者候选列表中随机选择N个节点作为记账者;S50,N个记账者轮流生产区块;S60,N个记账者完成一轮区块生产后重复步骤S10至S60。
【技术特征摘要】
1.一种基于公有区块链的共识算法,其特征在于,包括下述步骤:S10,获取区块链的当前区块高度,并依据区块高度判断是否满足选取记账者选取条件;S20,如果满足记账者选取条件,获取全网主节点列表并选取列表中在线时间大于预设天数的主节点加入记账者候选列表;S30,对记账者候选列表中的节点进行排序;S40,在排序后的记账者候选列表中随机选择N个节点作为记账者;S50,N个记账者轮流生产区块;S60,N个记账者完成一轮区块生产后重复步骤S10至S60。2.根据权利要求1所述的基于公有区块链的共识算法,其特征在于,所述预设天数大于等于3天;所述N为9到21之间的奇数。3.根据权利要求1所述的基于公有区块链的共识算法,其特征在于,所述记账者选取条件的判断步骤为:S11,用区块链的当前区块高度对N求余;S12,如果求余结果为0,则判断为满足选取条件;S13,如果求余结果不为0,则判断为不满足选取条件。4.根据权利要求1所述的基于公有区块链的共识算法,其特征在于,所述对记账者候选列表中的主节点进行排序采用得分值从高到低进行排序,所述得分值的计算包括下述步骤:S31,用主节点抵押地址、当前链最新区块的时间两个数据生成一个SAH256的HASH值,所述主节点抵押地址用公钥经过Base58生成;S32,对所述HASH值每4个字节作为一段数据,将该段数据传给转化函数将HASH值转化32位整数数据;S33,重复步骤S32,直到转化完整个HASH数据,得到一个转化成32位整数的数组,再对这数组的各个整数相加得到一个最终256位整数,将所述256位整数作为主节点的得分值。5.根据权利要求1所述的基于公有区块链的共识算法,其特征在于,所述在记账者候选列表中随机选择N个节点作为记账者选取步骤为:S41,用Xorshift随机算法打乱记账者候选列表;S42,从打乱后记账者候选列表中取前N个节点作为记账者。6.根据权利要求5所述的基于公有区块链...
【专利技术属性】
技术研发人员:涂小强,
申请(专利权)人:深圳银链科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。