[发明专利]一种区块链节点共识防作弊的方法在审
申请号: | 202010054826.1 | 申请日: | 2020-01-17 |
公开(公告)号: | CN111277409A | 公开(公告)日: | 2020-06-12 |
发明(设计)人: | 杨柳青;吴伟;宫文博 | 申请(专利权)人: | 杭州龙纪科技有限公司 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L29/06;G06F21/64 |
代理公司: | 杭州赛科专利代理事务所(普通合伙) 33230 | 代理人: | 郭薇 |
地址: | 310012 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 节点 共识 作弊 方法 | ||
本发明公开了一种区块链节点共识防作弊的方法,步骤1:出块节点提出出块建议,调用随机数模块生成随机数,将出块建议和随机数作为出块信息进行签名后发送到共识网络;步骤2:任一共识节点通过接收的签名后的出块信息生成投票,通过目标历史交易计算方法确定本地区块链中的目标交易信息,发送目标交易信息的数字摘要和投票到共识节点网络;步骤3:通过目标历史交易计算方法模块确定本地区块链中的验证交易信息,判断验证交易信息和目标交易信息间的数字摘要是否一致,若是,则投票消息有效,否则无效;在共识过程中,可以避免投票抄袭的情况,从而可以避免不存储账本或只存储最新部分账本的不诚实行为。
技术领域
本发明属于区块链领域,具体来说涉及一种区块链节点共识防作弊的方法。
背景技术
区块链技术的发展越来越受到关注,作为区块链的共识算法也由POW更多转向POS系列,POS,DPOS,PBFT及其变种,共识过程都有对区块提议投票的环节,激励机制会奖励投票者。
但是,一些不诚实的节点可能会为了快速投票获取奖励而采取一些作弊行为:
1.不保存全账本,投票时直接投赞成票,因为绝大多数的提议都是正确的,尤其是联盟链场景下;
2.不保存或者只保存最新账本,投票时跟随其他节点投一样投票。
发明内容
本发明的目的之一在于提供一种区块链节点共识防作弊的方法,以解决背景技术中现有的不诚实的节点为了快速投票获取奖励采取作弊行为的问题。
为实现上述目的,本发明提供技术方案如下:
一种区块链节点共识防作弊的方法,所述方法包括以下步骤:
步骤1:出块节点提出出块建议,调用随机数模块生成随机数,将出块建议和随机数作为出块信息进行签名后发送到共识网络;
步骤2:任一共识节点通过接收的签名后的出块信息生成投票,以共识节点的公钥和出块信息中的随机数为参数,通过目标交易信息计算方法确定本地区块链中的目标交易信息,发送目标交易信息的数字摘要和投票到共识节点网络;
步骤3:出块节点以随机数和发送投票的共识节点的公钥为参数,通过目标交易信息计算方法确定本地区块链中的验证交易信息,判断验证交易信息和目标交易信息间的数字摘要是否一致,若是,则投票消息有效,否则无效。
优选地,所述步骤1中,随机数模块为随机可验证函数。
优选地,所述步骤1中,出块节点提出的出块建议包括合法交易集合、出块节点地址。
优选地,所述步骤1中,对区块信息签名包括对出块信息进行哈希计算得到出块信息摘要,对出块信息摘要通过出块节点的私钥加密得到出块信息签名。
优选地,所述步骤2中,任一共识节点通过接收的签名后的出块信息生成投票,包括以下步骤:
步骤2.1.1:通过出块信息签名判断出块信息是否被篡改,若是,则执行步骤2.1.2,否则生成反对消息并执行步骤3.1.3;
步骤2.1.2:判断出块信息是否有效,若是,则生成赞成消息,否则生成反对消息;
步骤2.1.3:对赞成消息或者反对消息利用私钥加密得到投票。
优选地,所述步骤2中,通过目标交易信息计算方法确定本地区块链中的目标交易信息包括以下步骤:
步骤2.2.1:共识节点通过公钥对出块信息中的随机数进行运算生成结果随机数;
步骤2.2.2:通过结果随机数的前若干位数字确定目标历史区块的高度,得到目标历史区块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州龙纪科技有限公司,未经杭州龙纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010054826.1/2.html,转载请声明来源钻瓜专利网。