用于执行交易正确性验证的方法及装置制造方法及图纸

技术编号:24412490 阅读:36 留言:0更新日期:2020-06-06 09:52
本说明书的实施例提供了用于执行交易正确性验证的方法,所述方法由区块链系统中的轻量节点执行,所述方法包括:从全量节点处获取待验证区块的共识证明信息,所述共识证明信息包括数字签名集合,所述数字签名集合是对所述待验证区块达成共识的各个共识节点对所述待验证区块所对应的第一签名数据原文进行签名而得到的;基于所述数字签名集合和所述轻量节点处的公钥集合验证所述共识证明信息的正确性,所述公钥集合包括所述区块系统中的至少部分区块链节点的公钥;以及基于所述共识证明信息的正确性验证结果,确定所述待验证区块中的交易集合的正确性。

Methods and devices used to perform transaction correctness verification

【技术实现步骤摘要】
用于执行交易正确性验证的方法及装置
本说明书实施例涉及区块链
,具体地,涉及用于执行交易正确性验证的方法及装置。
技术介绍
区块链系统中包括全量节点和轻量节点,全量节点处维护有完整的区块链信息,而轻量节点处通常只需维护各个区块链的区块头信息。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

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

1