区块链共识方法及装置、电子设备、存储介质制造方法及图纸

技术编号:26797670 阅读:35 留言:0更新日期:2020-12-22 17:15
本申请的实施例揭示了一种区块链共识方法及装置,该区块链可以是以云存储的方式存储于云端。该方法包括:根据区块链上的当前区块的区块特征,确定所述共识节点集合中含有的主节点,所述区块链上的各个区块含有的区块特征互不相同;接收所述主节点广播的备选区块提案消息;基于接收到的所述备选区块提案消息,对所述主节点的身份以及所述主节点生成的备选区块的内容进行验证;若所述主节点的身份以及所述主节点生成的备选区块的内容通过验证,则发起对于所述备选区块进行投票的广播,以使所述主节点在接收到共识节点广播的投票消息之后,将所述备选区块添加至所述区块链上。本申请实施例的技术方案能够提升区块链系统的安全性。

【技术实现步骤摘要】
区块链共识方法及装置、电子设备、存储介质
本申请涉及区块链
,具体涉及一种区块链共识方法及装置、电子设备和计算机可读存储介质。
技术介绍
区块链(Blockchain)是一种通过去中心化、去信任的方式集体维护一个可靠数据库的技术方案,本质上是一个去中心化的数据库,区块链系统中的每一台设备都能作为一个节点,每个节点都允许获得一份完整的数据拷贝,并且节点之间基于共识机制共同维护整个区块链。区块链可以是以云存储的方式存储于云端,每个节点都可以与云端进行通信。目前,区块链系统可以采用轮询的方式选举出主节点,并由主节点发起新区块所对应提案消息的广播,使得提案消息经由所有共识节点共识后完成新区块的上链,由此提升区块链的共识效率。但是,作恶节点能够预测自己当选主节点的时机并尝试以较低的作恶成本对区块链系统进行攻击,导致区块链系统的安全性较低。由此,如何提升区块链系统在进行区块共识过程中的安全性,是现有技术中还有待解决的技术问题。
技术实现思路
为解决上述技术问题,本申请的实施例提供了一种区块链共识方法及装置、系统,还本文档来自技高网...

【技术保护点】
1.一种区块链共识方法,其特征在于,所述方法应用于区块链系统,所述区块链系统含有共识节点集合,所述方法由所述共识节点集合中的共识节点执行,所述方法包括:/n根据区块链上的当前区块的区块特征,确定所述共识节点集合中含有的主节点,所述区块链上的各个区块含有的区块特征互不相同;/n接收所述主节点广播的备选区块提案消息;/n基于接收到的所述备选区块提案消息,对所述主节点的身份以及所述主节点生成的备选区块的内容进行验证;/n若所述主节点的身份以及所述主节点生成的备选区块的内容通过验证,则发起对于所述备选区块进行投票的广播,以使所述主节点在接收到共识节点广播的投票消息之后,将所述备选区块添加至所述区块链上...

【技术特征摘要】
1.一种区块链共识方法,其特征在于,所述方法应用于区块链系统,所述区块链系统含有共识节点集合,所述方法由所述共识节点集合中的共识节点执行,所述方法包括:
根据区块链上的当前区块的区块特征,确定所述共识节点集合中含有的主节点,所述区块链上的各个区块含有的区块特征互不相同;
接收所述主节点广播的备选区块提案消息;
基于接收到的所述备选区块提案消息,对所述主节点的身份以及所述主节点生成的备选区块的内容进行验证;
若所述主节点的身份以及所述主节点生成的备选区块的内容通过验证,则发起对于所述备选区块进行投票的广播,以使所述主节点在接收到共识节点广播的投票消息之后,将所述备选区块添加至所述区块链上。


2.根据权利要求1所述的方法,其特征在于,根据区块链上的当前区块的区块特征,确定所述共识节点集合中含有的主节点,包括:
对所述当前区块含有的区块特征进行哈希运算,得到主节点随机值;
根据所述主节点随机值,在本地存储的节点标识列表中确定所述主节点对应的节点标识,所述节点标识列表中含有所述共识节点集合中的各个共识节点对应的节点标识。


3.根据权利要求2所述的方法,其特征在于,根据所述主节点随机值,在本地存储的节点标识列表中确定所述主节点对应的节点标识,包括:
根据所述共识节点集合含有的共识节点的总数对所述主节点随机值取模,获得所述主节点对应的模值;
以所述模值为索引,在所述节点标识列表中查找排列序号为所述模值的节点标识,将查找到的节点标识作为所述主节点对应的节点标识。


4.根据权利要求2所述的方法,其特征在于,对所述当前区块含有的区块特征进行哈希运算,得到主节点随机值,包括:
获取所述当前区块含有的多个区块特征;
将所述多个区块特征进行拼接,并对拼接得到的区块特征序列进行哈希运算,以得到所述主节随机值。


5.根据权利要求1所述的方法,其特征在于,所述备选区块提案消息中含有所述主节点随机值以及所述主节点对应的节点标识;基于接收到的所述备选区块提案消息,对所述主节点的身份进行验证,包括:
根据本地存储的当前区块含有的区块特征计算本地随机值;
若所述本地随机值与所述主节点随机值相同,则根据所述本地随机值在本地存储的节点标识列表中确定所述主节点对应的节点标识;
若确定的所述节点标识与所述备选区块提案消息中含有的节点标识相同,则确定所述主节点的身份通过验证。


6.根据权利要求1所述的方法,其特征在于,所述备选区块提案消息中含有所述主节点所存储的投票签名集合;基于接收到的所述备选区块提案消息,对所述主节点的身份进行验证,包括:
根据本地存储的投票签名集合,对所述备选区块提案消息中含有的投票签名集合进行对比;
若二者投票签名集合中含有的投票签名的数量和内容相同,则确定所述主节点的身份通过验证。


7.根据权利要求1所述的方法,其特征在于,所述备选区块提案消息中含有所述主节点针对所述备选区块提案消息的签名;基于接收到的所述备选区块提案消息,对所述主节点的身份进行验证,包括:
根据获取到的所述主节点的公钥,对所述主节点针对所述备选区块提案消息的签名进行验证;
如果验证所...

【专利技术属性】
技术研发人员:刘攀
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1