【技术实现步骤摘要】
用于执行交易正确性验证的方法及装置
本说明书实施例涉及区块链
,具体地,涉及用于执行交易正确性验证的方法及装置。
技术介绍
区块链系统中包括全量节点和轻量节点,全量节点处维护有完整的区块链信息,而轻量节点处通常只需维护各个区块链的区块头信息。SPV(简单支付验证)是由轻量节点基于本地维护的区块头信息进行的支付验证技术。在现有技术中,轻量节点通常利用SPV验证技术对交易进行验证。如果要证明交易已被正确地执行,SPV验证需要包括存在性验证和正确性验证。SPV验证技术提供了存在性验证方法,然而轻量节点想要证明交易被被正确的共识节点执行了正确的共识过程,还存在许多困难。因此,现有技术中的亟需有效可行的交易正确性验证手段。
技术实现思路
鉴于上述,本说明书实施例提供了一种用于执行交易正确性验证的方法及装置。根据本说明书实施例的一个方面,提供了一种用于执行交易正确性验证的方法,所述方法由区块链系统中的轻量节点执行,所述方法包括:从全量节点处获取待验证区块的共识证明信息,所述共识证明信息包括数字签名集合,所述数字签名集合是对所述待验证区块达成共识的各个共识节点对所述待验证区块所对应的第一签名数据原文进行签名而得到的;基于所述数字签名集合和所述轻量节点处的公钥集合验证所述共识证明信息的正确性,所述公钥集合包括所述区块系统中的至少部分区块链节点的公钥;以及基于所述共识证明信息的正确性验证结果,确定所述待验证区块中的交易集合的正确性。可选的,在一个示例中,在基于所述共识证明信息的正确性验证结果, ...
【技术保护点】
1.一种用于执行交易正确性验证的方法,所述方法由区块链系统中的轻量节点执行,所述方法包括:/n从全量节点处获取待验证区块的共识证明信息,所述共识证明信息包括数字签名集合,所述数字签名集合是对所述待验证区块达成共识的各个共识节点对所述待验证区块所对应的第一签名数据原文进行签名而得到的;/n基于所述数字签名集合和所述轻量节点处的公钥集合验证所述共识证明信息的正确性,所述公钥集合包括所述区块系统中的至少部分区块链节点的公钥;以及/n基于所述共识证明信息的正确性验证结果,确定所述待验证区块中的交易集合的正确性。/n
【技术特征摘要】
1.一种用于执行交易正确性验证的方法,所述方法由区块链系统中的轻量节点执行,所述方法包括:
从全量节点处获取待验证区块的共识证明信息,所述共识证明信息包括数字签名集合,所述数字签名集合是对所述待验证区块达成共识的各个共识节点对所述待验证区块所对应的第一签名数据原文进行签名而得到的;
基于所述数字签名集合和所述轻量节点处的公钥集合验证所述共识证明信息的正确性,所述公钥集合包括所述区块系统中的至少部分区块链节点的公钥;以及
基于所述共识证明信息的正确性验证结果,确定所述待验证区块中的交易集合的正确性。
2.如权利要求1所述的方法,其中,在基于所述共识证明信息的正确性验证结果,确定所述待验证区块中的交易集合的正确性之前,所述方法还包括:
从所述全量节点处获取所述待验证区块的区块体信息;
基于所述区块体信息,验证所述轻量节点处的所述待验证区块的交易根的正确性,
基于所述共识证明信息的正确性验证结果,确定所述待验证区块中的交易集合的正确性包括:
基于所述交易根的正确性验证结果和所述区块证明信息的正确性验证结果,确定所述待验证区块中的交易集合的正确性。
3.如权利要求1所述的方法,其中,基于所述数字签名集合和所述轻量节点处的公钥集合验证所述共识证明信息的正确性包括:
利用各个共识节点对第一签名数据原文进行签名所使用的加密算法,从所述数字签名集合中还原出所述各个共识节点的公钥;以及
基于所还原出的各个共识节点的公钥和所述轻量节点处的公钥集合,验证所述共识证明信息的正确性。
4.如权利要求3所述的方法,其中,基于所还原出的各个共识节点的公钥和所述轻量节点处的公钥集合,验证所述待验证区块中的交易的正确性包括:
在所还原出的公钥中的至少部分被包括在所述公钥集合中并且被包括在所述公钥集合中的公钥数量满足共识规则时,确定所述共识证明信息是正确的。
5.如权利要求1-4中任一所述的方法,其中,所述公钥集合包括所述区块链系统中的所有参与共识的区块链节点的公钥,或
所述公钥集合包括对所述轻量节点处的信任锚点进行共识的所有共识节点的公钥,所述信任锚点指示被验证为正确的信任区块。
6.如权利要求1-4中任一所述的方法,其中,在从全量节点处获取待验证区块的共识证明信息之前,所述方法还包括:
接收针对所述交易集合中的指定交易的交易正确性验证请求,
从全量节点处获取待验证区块的共识证明信息包括:
在接收到所述交易正确性验证请求时,从全量节点处获取待验证区块的共识证明信息,
所述方法还包括:
验证所述指定交易是否存在于所述交易集合中;以及
基于所述交易集合的正确性验证结果和所述指定交易在所述待验证区块中的存在性验证结果,确定所述指定交易的正确性。
7.如权利要求1-4中任一所述的方法,其中,在从全量节点处获取待验证区块的共识证明信息之前,所述方法还包括:
监听是否存在包括指定交易的待验证区块;
从全量节点处获取待验证区块的共识证明信息包括:
在监听到存在包括所述指定交易的待验证区块时,从全量节点处获取所监听到的待验证区块的共识证明信息。
8.如权利要求7所述的方法,还包括:
接收针对所述交易集合中的指定交易的交易正确性验证请求;
验证所述指定交易是否存在于所述交易集合中;
基于所述交易集合的正确性验证结果和所述指定交易在所述待验证区块中的存在性验证结果,确定所述指定交易的正确性。
9.如权利要求1-4任一所述的方法,其中,所述区块链系统为联盟链系统。
10.一种用于执行交易正确性验证的装置,所述装置用于区块链系统中的轻量节点,所述装置包括:
共识证明信息获取单元,从全量节点处获...
【专利技术属性】
技术研发人员:林鹏,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。