【技术实现步骤摘要】
一种交易验证方法、装置、设备及存储介质
[0001]本申请为在2021年05月18日提交中国专利局、申请号为2021105371826、申请名称为“一种交易验证方法、装置、设备及存储介质”的中国专利申请的分案申请,其全部内容通过引用结合在本申请中。
[0002]本申请涉及区块链
,尤其涉及一种交易验证方法、装置、设备及存储介质。
技术介绍
[0003]应当理解,区块链网络中的出块节点在生成新区块时,需要收集在该区块链网络中传播的未确认的交易,进而可以逐个执行收集到的交易所对应的交易业务,以得到交易执行结果。其中,出块节点在执行交易业务的过程中,需要从该区块链网络的区块链中,事先获取从创世区块至当前最新区块(即具有最大生成时间戳的区块)中的所有状态数据,以此来对该交易进行合法性校验。例如,出块节点在执行某交易对应的资产转移业务时,需要判断资产转移方是否有足够的额度。此时,该出块节点需要花费较长的时间来读取区块链上的所有状态数据,以至于降低了合法性校验的效率。这样,在区块链上的区块越来越多的情况下,针对于同一个状态数据而言,该状态数据的读取或者写入操作所需要消耗的资源开销将会不断上升,从而造成出块节点的运行负担过重,进而导致该出块节点的启动时间较长。
技术实现思路
[0004]本申请实施例提供一种交易验证方法、装置、设备及存储介质,可以加快出块节点的启动时间。
[0005]本申请实施例一方面提供一种交易验证方法,该方法由区块链网络中的出块节点执行,出块节点为区块链网络中的轻量节点,包 ...
【技术保护点】
【技术特征摘要】
1.一种交易验证方法,其特征在于,包括:区块链网络中的全量节点在获取到与所述区块链网络中的用户节点相关联的待验证交易时,在所述全量节点的全量区块链上,将具有最大生成时间戳的区块作为目标区块,且将所述目标区块的区块头作为第一区块头;所述用户节点与所述全量节点部署在不同的计算机设备上;所述全量节点获取所述目标区块中的默克尔帕特里夏树,基于所述目标区块中的默克尔帕特里夏树,执行所述待验证交易对应的交易业务,得到所述交易业务对应的初始交易执行结果、状态读取集合以及状态写入集合;所述全量节点获取所述第一区块头中的区块标识,将所述初始交易执行结果、所述状态读取集合、所述状态写入集合以及所述区块标识,作为所述待验证交易对应的交易验证信息,且将所述交易验证信息发送至所述用户节点,以使所述用户节点将所述待验证交易以及所述交易验证信息发送至所述区块链网络中的出块节点;所述出块节点为所述区块链网络中的轻量节点;所述出块节点在所述轻量节点的区块头链中,查找与所述区块标识相匹配的区块头,将查找到的区块头作为第二区块头,基于所述第二区块头中的第一状态快照,对所述状态读取集合以及所述状态写入集合进行校验,得到所述待验证交易的第一校验结果;所述出块节点在所述第一校验结果指示校验成功时,基于所述状态读取集合执行所述交易业务,得到所述交易业务对应的目标交易执行结果以及待写入状态数据;所述出块节点基于所述初始交易执行结果、所述目标交易执行结果、所述状态写入集合以及所述待写入状态数据,对所述待验证交易进行合法性校验。2.根据权利要求1所述的方法,其特征在于,所述区块链网络中的全量节点在获取到与所述区块链网络中的用户节点相关联的待验证交易时,在所述全量节点的全量区块链上,将具有最大生成时间戳的区块作为目标区块,且将所述目标区块的区块头作为第一区块头,包括:区块链网络中的全量节点接收所述区块链网络中的用户节点发送的待验证交易以及所述待验证交易对应的交易签名信息;所述交易签名信息为所述用户节点基于用户私钥,对所述待验证交易的第一摘要信息进行签名处理后所得到的;所述第一摘要信息为所述用户节点根据获取到的哈希计算规则对所述待验证交易进行哈希计算后所得到的;所述全量节点获取所述用户私钥对应的用户公钥,基于所述用户公钥对所述交易签名信息进行验签,得到所述第一摘要信息,且获取所述哈希计算规则,对所述待验证交易进行哈希计算,得到所述待验证交易的第二摘要信息;所述全量节点将所述第一摘要信息与所述第二摘要信息进行比对,得到验签结果;在所述验签结果指示验签成功时,所述全量节点在所述全量节点的全量区块链上,获取具有最大生成时间戳的区块,将获取到的区块作为目标区块,且将所述目标区块的区块头作为第一区块头。3.根据权利要求2所述的方法,其特征在于,所述全量节点将所述第一摘要信息与所述第二摘要信息进行比对,得到验签结果,包括:所述全量节点将所述第一摘要信息与所述第二摘要信息进行比对;若所述第一摘要信息与所述第二摘要信息不相同,则所述全量节点得到用于指示验签
失败的验签结果;若所述第一摘要信息与所述第二摘要信息相同,则所述全量节点得到用于指示验签成功的验签结果。4.根据权利要求1所述的方法,其特征在于,所述全量节点获取所述目标区块中的默克尔帕特里夏树,基于所述目标区块中的默克尔帕特里夏树,执行所述待验证交易对应的交易业务,得到所述交易业务对应的初始交易执行结果、状态读取集合以及状态写入集合,包括:所述全量节点获取所述目标区块中的默克尔帕特里夏树,将获取到的默克尔帕特里夏树作为待处理树,从所述待处理树中读取与所述待验证交易相关联的状态数据,将读取到的状态数据作为第一状态数据;所述全量节点基于所述第一状态数据,执行所述待验证交易对应的交易业务,得到所述交易业务对应的初始交易执行结果,且在执行所述交易业务的过程中,记录模拟写入所述目标区块的下一区块的状态数据,将记录到的状态数据作为第二状态数据;所述全量节点基于所述待处理树,收集所述第一状态数据的第一存在性证明,基于所述第一存在性证明生成状态读取集合;所述全量节点在将所述第二状态数据插入到所述待处理树之前,获取与所述第二状态数据相关联的关键字符串,基于所述关键字符串获取所述第二状态数据的可修改证明;所述全量节点在将所述第二状态数据插入到所述待处理树之后,获取所述第二状态数据的存在性证明,将所述第二状态数据的存在性证明作为第二存在性证明;所述全量节点基于所述可修改证明和所述第二存在性证明,生成状态写入集合。5.根据权利要求4所述的方法,其特征在于,所述全量节点基于所述待处理树,收集所述第一状态数据的第一存在性证明,基于所述第一存在性证明生成状态读取集合,包括:所述全量节点在所述待处理树中,查找用于存储所述第一状态数据的叶子节点;所述全量节点基于所述待处理树,获取包括所述叶子节点和树根节点的节点路径,将获取到的节点路径作为与所述第一状态数据相关联的节点路径,且将所述节点路径作为所述第一状态数据的第一存在性证明;所述全量节点基于所述第一存在性证明生成状态读取集合。6.根据权利要求4所述的方法,其特征在于,所述待...
【专利技术属性】
技术研发人员:冯浩铭,王鹤,赵勇,陈秋平,任鹏,陈家宝,何立宝,屠海涛,周水平,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。