共识处理方法、验证发起节点、验证节点、设备和介质技术

技术编号:24763807 阅读:31 留言:0更新日期:2020-07-04 11:03
本申请实施例提供了一种共识处理方法、验证发起节点、验证节点、设备和介质,其中,该方法应用于验证发起节点中,包括:向区块链网络广播验证信息;其中验证信息包括基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到的输出数据和输出数据的验证信息;输出数据的验证信息中的时间参数记录了前一个区块达成共识的时间;接收区块链网络中验证节点广播的验证结果信息;其中验证节点对验证信息进行验证处理,得到验证结果信息;根据验证结果信息得到通过验证的验证节点的数量,若通过验证的验证节点的数量符合预设条件,则将验证信息中输出数据和输出数据的验证信息存入当前区块中。本申请实施例可以有效防御长程攻击。

Consensus processing method, verification initiation node, verification node, device and medium

【技术实现步骤摘要】
共识处理方法、验证发起节点、验证节点、设备和介质
本申请涉及区块链安全
,尤其涉及一种可以防御长程攻击的共识处理方法、验证发起节点、验证节点、电子设备和计算机可读存储介质。
技术介绍
区块链(Blockchain)是一种由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储、难以篡改、防止抵赖的记账技术,也称为分布式账本技术(DistributedLedgerTechnology,简称DLT)。共识方法是以去中心化的方式就网络的状态达成统一协议的过程,是区块链的核心技术之一。在典型的区块链系统中,区块链网络中的节点按照事先约定的规则共同存储信息并达成共识。为了防止共识信息被篡改,系统以区块(Block)为单位存储数据,区块之间按照时间顺序、结合密码学算法构成链式(Chain)数据结构,通过共识机制选出记录节点,由该节点决定最新区块的数据,其他节点共同参与最新区块数据的验证、存储和维护,数据一经确认,就难以删除和更改,只能进行授权查询操作。长程攻击(LongRangeAttack)是攻击者通过创建一条从创世区块开始的长区块链分支,并试图替换掉当前的合法主链的攻击方式。该分支上可能存有和主链不同的交易和区块,所以这种攻击又被称为替换历史攻击或历史覆写攻击。目前主要是通过在共识结果中加入时间戳的方式来防御长程攻击。然而,时间戳很容易被攻击者伪造,因而使得伪造的共识结果无法被识别出来,可见,现有的防御长程攻击的方法仍然存在进一步改进的空间。
技术实现思路
本申请实施例提供一种共识处理方法、验证发起节点、验证节点、电子设备和计算机可读存储介质,可以有效防御长程攻击。为了解决上述技术问题,本专利技术实施例是这样实现的:第一个方面,本申请实施例提供了一种共识处理方法,应用于验证发起节点中,包括:向区块链网络广播验证信息;其中,所述验证信息包括基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到的输出数据和所述输出数据的验证信息;所述输出数据的验证信息中的时间参数记录了所述前一个区块达成共识的时间;接收所述区块链网络中验证节点广播的验证结果信息;其中,所述验证节点对所述验证信息进行验证处理,得到所述验证结果信息;根据所述验证结果信息得到通过验证的所述验证节点的数量,若通过验证的所述验证节点的数量符合预设条件,则将所述验证信息中输出数据和输出数据的验证信息存入当前区块中。第二各方面,本申请实施例提供了一种共识方法,应用于验证节点中,包括:接收区块链网络中验证发起节点广播的验证信息;其中,所述验证信息包括基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到的输出数据和所述输出数据的验证信息;所述输出数据的验证信息中的时间参数记录了所述前一个区块达成共识的时间;对所述验证信息进行验证处理,得到验证结果信息;并向所述区块链网络广播所述验证结果信息;接收所述区块链网络中其它验证节点广播的验证结果信息;根据所述验证结果信息得到通过验证的所述验证节点的数量,若通过验证的所述验证节点的数量符合预设条件,则将所述验证信息中的输出数据和输出数据的验证信息存入当前区块中。第三个方面,本申请实施例提供了一种验证发起节点,包括:第一发送模块,用于向区块链网络广播验证信息;其中,所述验证信息包括基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到的输出数据和所述输出数据的验证信息;所述输出数据的验证信息中的时间参数记录了所述前一个区块达成共识的时间;第一接收模块,用于接收所述区块链网络中验证节点广播的验证结果信息;其中,所述验证节点对所述验证信息进行验证处理,得到所述验证结果信息;第一处理模块,用于根据所述验证结果信息得到通过验证的所述验证节点的数量,若通过验证的所述验证节点的数量符合预设条件,则将所述输出数据和所述输出数据的验证信息存入当前区块中。第四个方面,本申请实施例提供了一种验证节点,包括:第二接收模块,用于接收区块链网络中验证发起节点广播的验证信息;其中,所述验证信息包括基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到的输出数据和所述输出数据的验证信息;所述输出数据的验证信息中的时间参数记录了所述前一个区块达成共识的时间;第二处理模块,用于对所述验证信息进行验证处理,得到验证结果信息;第二发送模块,用于向所述区块链网络广播所述验证结果信息;所述第二接收模块,还用于接收所述区块链网络中其它验证节点广播的验证结果信息;所述第二处理模块,还用于根据所述验证结果信息得到通过验证的所述验证节点的数量,若通过验证的所述验证节点的数量符合预设条件,则将所述输出数据和所述输出数据的验证信息存入当前区块中。第五个方面,本申请实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线;其中,所述处理器、所述通信接口以及所述存储器通过总线完成相互间的通信;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现如第一方面所述的共识处理方法。第六个方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的共识处理方法。本申请实施例提供的共识处理方法、验证发起节点、验证节点、电子设备和计算机可读存储介质,通过向区块链网络广播验证信息;其中,验证信息包括基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到的输出数据和输出数据的验证信息;输出数据的验证信息中的时间参数记录了前一个区块达成共识的时间;接收区块链网络中验证节点广播的验证结果信息;其中,验证节点对验证信息进行验证处理,得到验证结果信息;根据验证结果信息得到通过验证的验证节点的数量,若通过验证的验证节点的数量符合预设条件,则将验证信息中输出数据和输出数据的验证信息存入当前区块中;在进行共识处理时,利用可验证延时函数通过验证信息,在所形成的区块中增加了可验证延时函数的输出数据和输出数据的验证信息,由于可验证延时函数具有时间不可被缩短的特性,通过使可验证延时函数的输出数据的验证信息中的时间参数包括前一个区块达成共识的时间,可以在判断主链时,通过将各区块中可验证延时函数的输出数据的验证信息中的时间参数累加,即可将累加时间相对较长的链判断为真正的主链,由此可以有效防御长程攻击。附图说明为了更清楚地说明本申请一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例的共识处理方法的一种实现方式的流程示意图;图2为本申请实施例的共识处理方法的另一种实现方式的流程示意图;图3为本申请实施例本文档来自技高网...

【技术保护点】
1.一种共识处理方法,其特征在于,应用于验证发起节点中,包括:/n向区块链网络广播验证信息;其中,所述验证信息包括基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到的输出数据和所述输出数据的验证信息;所述输出数据的验证信息中的时间参数记录了所述前一个区块达成共识的时间;/n接收所述区块链网络中验证节点广播的验证结果信息;其中,所述验证节点对所述验证信息进行验证处理,得到所述验证结果信息;/n根据所述验证结果信息得到通过验证的所述验证节点的数量,若通过验证的所述验证节点的数量符合预设条件,则将所述验证信息中输出数据和输出数据的验证信息存入当前区块中。/n

【技术特征摘要】
1.一种共识处理方法,其特征在于,应用于验证发起节点中,包括:
向区块链网络广播验证信息;其中,所述验证信息包括基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到的输出数据和所述输出数据的验证信息;所述输出数据的验证信息中的时间参数记录了所述前一个区块达成共识的时间;
接收所述区块链网络中验证节点广播的验证结果信息;其中,所述验证节点对所述验证信息进行验证处理,得到所述验证结果信息;
根据所述验证结果信息得到通过验证的所述验证节点的数量,若通过验证的所述验证节点的数量符合预设条件,则将所述验证信息中输出数据和输出数据的验证信息存入当前区块中。


2.根据权利要求1所述的方法,其特征在于,所述向区块链网络广播验证信息,包括:
若基于预设的选举机制被选举为验证发起节点,则向所述区块链网络广播所述验证信息。


3.根据权利要求2所述的方法,其特征在于,所述向区块链网络广播验证信息之前,包括:
从所述前一个区块中获取所述输入数据,将所述输入数据输入所述可验证延时函数进行计算处理;
所述向区块链网络广播验证信息,包括:
若基于预设的选举机制被选举为验证发起节点,则向所述区块链网络广播所述验证信息;其中,根据所述验证信息的发送时间和接收到所述前一个区块的时间,确定所述时间参数;根据所述时间参数确定所述计算处理得到的所述输出数据;根据所述输出数据、所述输入数据和所述时间参数通过所述可验证延时函数进行验证处理,得到所述输出数据的验证信息;并将所述输出数据和所述输出数据的验证信息加入所述验证信息中。


4.根据权利要求3所述的方法,其特征在于,所述从所述前一个区块中获取所述输入数据,包括:
从所述前一个区块中的验证信息中获取输出数据,作为所述输入数据输入所述可验证延时函数进行计算处理;或者,
从所述前一个区块中获取预设随机数,作为所述输入数据输入所述可验证延时函数进行计算处理。


5.一种共识方法,其特征在于,应用于验证节点中,包括:
接收区块链网络中验证发起节点广播的验证信息;其中,所述验证信息包括基于预设的可验证延时函数,对从前一个区块中获取的输入数据进行处理得到的输出数据和所述输出数据的验证信息;所述输出数据的验证信息中的时间参数记录了所述前一个区块达成共识的时间;
对所述验证信息进行验证处理,得到验证结果信息;并向所述区块链网络广播所述验证结果信息;
接收所述区块链网络中其它验证节点广播的验证结果信息;
根据所述验证结果信息得到通过验证的所述验证节点的数量,若通过验证的所述验证节点的数量符合预设条件,则将所述验证信息中的输出数据和输出数据的验证信息存入当前区块中。


6.根据权利要求5所述的方法,其特征在于,所述对所述验证信息进行验证处理,得到验证结果信息,包括:
根据接收到所述验证信息的时间和接收到所述前一个区块的时间,确定参考时间;
判断所述参考时间与所述验证信息中输出数据...

【专利技术属性】
技术研发人员:王虎森
申请(专利权)人:浙江超脑时空科技有限公司
类型:发明
国别省市:浙江;33

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

1