一种区块链共识方法及系统技术方案

技术编号:19391027 阅读:24 留言:0更新日期:2018-11-10 02:49
本发明专利技术公开一种区块链共识方法及系统,涉及数据存储技术领域,其包括:在区块链节点中随机选择预设数量的节点;在选出的节点中通过预设的共识机制产生新区块,并将产生的新区块连接至区块链。在本申请中,在区块链节点中随机选择若干个节点,在选择的节点中实现共识,并将产生的新区块连接至区块链,本申请对比现有技术有如下的有益效果:它提高现有共识的效率减轻在共识时通信和计算的压力,解决了频繁的发送交易容易导致的网络堵塞的问题。

A block chain consensus method and system

The invention discloses a block chain consensus method and system, which relates to the field of data storage technology, including: randomly selecting preset number of nodes in block chain nodes; generating new blocks through preset consensus mechanism in selected nodes, and connecting the generated new blocks to block chain. In this application, a number of nodes are randomly selected in the block chain node to achieve consensus among the selected nodes, and the resulting new blocks are connected to the block chain. Compared with the existing technologies, this application has the following beneficial effects: it improves the efficiency of the existing consensus, reduces the pressure of communication and computation in consensus, and solves the frequent problems. The problem of network congestion caused by sending transactions.

【技术实现步骤摘要】
一种区块链共识方法及系统
本专利技术涉及数据存储
,尤其涉及一种区块链共识方法及系统。
技术介绍
区块链是共识算法、分布式存储、点对点传输、加密算法等计算机技术的新型系统。被广泛应用于证券交易、电子商务、智能合约、物联网、社交通讯以及文件存储等众多领域。当前的区块链技术是由一串使用密码学方法产生的数据块组成的,每一个区块都包含了上一个区块的哈希值(hash),并且确保按照时间顺序在上一个区块之后产生,从创始区块(genesisblock)开始连接到当前区块,形成块链。共识算法是区块链的核心技术。它决定着区块链的效率和部分安全性。现有的区块链技术存在以下缺点:目前区块链的共识算法有基于算力的(POW)、基于权限的(POS)、基于审计的(POW+POS)、基于设定代理人的(DPOS)和基于拜占庭算法的及变形。通过情况常主要有三分之二或四分之三的单个节点通过才可形成共识,而设定有限个代表形成共识的方法面临攻击的风险。而且整个区块链中,耗费节点的通信和计算资源,容易导致网络堵塞。
技术实现思路
本专利技术所要解决的技术问题在于,针对现有技术的上述不足,提出一种区块链共识方法及系统。本专利技术解决其技术问题,提出一种区块链共识方法及系统。所述区块链共识方法包括:在区块链节点中随机选择预设数量的节点;在选出的节点中通过预设的共识机制产生新区块,并将产生的新区块连接至区块链。可选地,所述在区块链节点中随机选择预设数量的节点,具体包括:生成一个随机数,所述随机数小于区块链节点的数目;以二进制表示所述随机数,确定数值为1的二进制位;以每个二进制位对应一个区块链节点,确定二进制位为1的位对应的节点。可选地,所述共识机制为基于算力的(POW)的共识机制、基于权限的(POS)的共识机制或基于受托人机制(DPOS)的共识机制。可选地,所述预设数量根据上一个区块产生的周期进行确定。本申请还提供一种数据存储方法,其包括:使用区块链存储数据,其中,区块链基于上述的区块链共识方法。另一方面,本申请还提供一种区块链共识系统,其包括:节点选择模块,用于在区块链节点中随机选择预设数量的节点;区块产生模块,用于在选出的节点中通过预设的共识机制产生新区块,并将产生的新区块连接至区块链。可选地,所述节点选择模块包括:随机数生成子模块,用于生成一个随机数,所述随机数小于区块链节点的数目;二进制位确定子模块,用于以二进制表示所述随机数,确定数值为1的二进制位;节点确定确定子模块,用于以每个二进制位对应一个区块链节点,确定二进制位为1的位对应的节点。可选地,所述共识机制为基于算力的(POW)的共识机制、基于权限的(POS)的共识机制或基于受托人机制(DPOS)的共识机制。可选地,所述预设数量根据上一个区块产生的周期进行确定。在本申请中,在区块链节点中随机选择若干个节点,在选择的节点中实现共识,并将产生的新区块连接至区块链,本申请对比现有技术有如下的有益效果:它提高现有共识的效率减轻在共识时通信和计算的压力,解决了频繁的发送交易容易导致的网络堵塞的问题。附图说明图1是根据一示例性实施例示出的区块链共识方法的流程图。图2是根据一示例性实施例示出的区块链共识方法的流程图。图3是根据一示例性实施例示出的区块链共识系统的结构框图。具体实施方式以下是本专利技术的具体实施例并结合附图,对本专利技术的技术方案作进一步的描述,但本专利技术并不限于这些实施例。还应当理解,此处所描述的具体实施例仅仅用于理解本专利技术,并不用于限定本专利技术。在本申请中,区块链可以用于存储各种数据,例如,交易数据、金融数据。图1是根据一示例性实施例示出的区块链共识方法的流程图,结合附图详述如下:步骤S101,在区块链节点中随机选择预设数量的节点。在本申请实施例中,所述预设数量可根据上一个区块产生的周期进行确定。例如,可设定一个预设的区块产生周期,当上一个区块产生的周期长于该预设周期时,可在上一次的基础上减小少选择的节点数,反之,增加选择的节点数。一般来说,区块链存在众多的节点。通过随机选择的方式在众多的区块链节点中选择预设数量的节点。需要说明的是,区块链节点指处于活动状态的节点,即需要存储区块链数据的节点。在本申请实施例中,预设数量远远小于区块链节点数量;被选出的节点用于应用共识机制生成新区块,提高了共识的效率。步骤S102,在选出的节点中通过预设的共识机制产生新区块,并将产生的新区块连接至区块链。在本申请实施例中,所述共识机制为基于算力的(POW)的共识机制、基于权限的(POS)的共识机制或基于受托人机制(DPOS)的共识机制。这些共识机制为现有技术,这里不再赘述。在本申请实施例中,在选出的节点中实现共识,由这些节点产生新的区块,进而验证所述区块,验证通过之后,整个区块链的节点将产生的新区块增加至区块链。其中,区块的验证过程可由选出的节点进行,也可以有整个区块链的节点进行。在本申请中,在区块链节点中随机选择若干个节点,在选择的节点中实现共识,并将产生的新区块连接至区块链,本申请对比现有技术有如下的有益效果:它提高现有共识的效率减轻在共识时通信和计算的压力,解决了频繁的发送交易容易导致的网络堵塞的问题。此外,由于用于共识的节点是随机选择的,本申请提供的方法仍然可以保持较高的安全性。图2是根据一示例性实施例示出的区块链共识方法的流程图,本实施例基于图1对应的实施例,结合附图详述如下:步骤S201,生成一个随机数,所述随机数小于区块链节点的数目。在本实施例中,产生一个随机数,所述随机数可远远小于区块链节点的数目。步骤S202,以二进制表示所述随机数,确定数值为1的二进制位。在本实施例中,以二进制表示所述随机数,将所述随机数中二进制位为1的位筛选出来。步骤S203,以每个二进制位对应一个区块链节点,确定二进制位为1的位对应的节点。在本实施例中,每一个随机数的二进制位对应一个区块链节点,确定二进制位为1的位对应的节点。具体地,所述随机数为100,其对应的二进制为:1100100,使每个位对应一个区块链节点;从左边的高位至右边的低位为1的二进制位为第一位、第二位、第五位,确定这些位对应的区块链节点。步骤S204,在选出的节点中通过预设的共识机制产生新区块,并将产生的新区块连接至区块链。在本实施例中,通过产生随机数的方式,在活动区块链节点中选择用于共识的节点,方便实现。本申请还提供一种数据存储方法,使用区块链存储数据,其中,区块链基于图1和图2对应的实施提供的区块链共识方法。相关的内容参考相关的实施例,这里不再赘述。图3是根据一示例性实施例示出的区块链共识系统的结构框图。结合附图详述如下:本实施例提供一种区块链共识系统,其包括:节点选择模块31,用于在区块链节点中随机选择预设数量的节点;区块产生模块32,用于在选出的节点中通过预设的共识机制产生新区块,并将产生的新区块连接至区块链。可选地,所述节点选择模块31包括:随机数生成子模块,用于生成一个随机数,所述随机数小于区块链节点的数目;二进制位确定子模块,用于以二进制表示所述随机数,确定数值为1的二进制位;节点确定确定子模块,用于以每个二进制位对应一个区块链节点,确定二进制位为1的位对应的节点。可选地,所述共识机制为基于算力的(POW)的共识机制、基于权限的(POS)的共本文档来自技高网...

【技术保护点】
1.一种区块链共识方法,其特征在于,包括步骤:在区块链节点中随机选择预设数量的节点;在选出的节点中通过预设的共识机制产生新区块,并将产生的新区块连接至区块链。

【技术特征摘要】
1.一种区块链共识方法,其特征在于,包括步骤:在区块链节点中随机选择预设数量的节点;在选出的节点中通过预设的共识机制产生新区块,并将产生的新区块连接至区块链。2.根据权利要求1所述的区块链共识方法,其特征在于,所述在区块链节点中随机选择预设数量的节点,具体包括:生成一个随机数,所述随机数小于区块链节点的数目;以二进制表示所述随机数,确定数值为1的二进制位;以每个二进制位对应一个区块链节点,确定二进制位为1的位对应的节点。3.根据权利要求1所述的区块链共识方法,其特征在于,所述共识机制为基于算力的(POW)的共识机制、基于权限的(POS)的共识机制或基于受托人机制(DPOS)的共识机制。4.根据权利要求1所述的区块链共识方法,其特征在于,所述预设数量根据上一个区块产生的周期进行确定。5.一种数据存储方法,其特征在于,使用区块链存储数据,其中,区块链基于权利要求1至4任一项所...

【专利技术属性】
技术研发人员:韩永飞
申请(专利权)人:横琴密达科技有限责任公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1