区块链相关验证方法和系统技术方案

技术编号:38819653 阅读:25 留言:0更新日期:2023-09-15 19:58
一种使第三方能够确定第一方和第二方是否就在所述第一方与所述第二方之间处理区块链事务集合的成员资格达成一致的方法、系统和程序。程序。程序。

【技术实现步骤摘要】
【国外来华专利技术】区块链相关验证方法和系统


[0001]本公开涉及一种验证经由区块链进行的事务的记录的方法。

技术介绍

[0002]区块链是指一种分布式数据结构,其中在分布式对等(P2P)网络(以下称为“区块链网络”)中的多个节点中的每个节点处维护区块链的副本,并且广泛公开该副本。区块链包括一系列数据区块,其中每个区块包括一个或多个事务(transaction)。除所谓的“coinbase事务”外,每个事务都指向序列中的先前事务,该序列可以跨越一个或多个区块,回到一个或多个coinbase事务。coinbase事务将在下文进一步讨论。提交给区块链网络的事务包括在新区块中。新区块的创建过程通常称为“挖掘”,该过程涉及多个节点中的每个节点争相执行“工作量证明”,即,基于等待被包括在区块链的新区块中的一组定义的有序且核实有效的未决事务的表示解决加密难题。应当注意的是,区块链可以在一些节点处被修剪(prune),并且区块的发布可以通过仅发布区块头来实现。
[0003]区块链中的事务可用于以下目的中的一个或多个:传送数字资产(即,一定数量的数字通证);对虚拟化分类账或注册表中的一组条目进行排序;接收和处理时间戳条目;和/或对索引指针按时间排序。也可利用区块链实现区块链上的层级附加功能。例如,区块链协议可允许在事务中存储附加的用户数据或数据索引。能够存储在单个事务中的最大数据容量没有预先指定的限制,因此可以并入越来越复杂的数据。例如,这可用于在区块链中存储电子文档、音频或视频数据。
[0004]区块链网络的节点(通常称为“矿工”)执行分布式事务注册和验证过程,这将后续更详细地描述。总之,在该过程中,节点核实事务并将这些事务插入到区块模板中,这些事务尝试为该区块模板标识有效的工作量证明解。一旦找到有效的解,新区块便会被传播到网络的其它节点,从而使得每个节点能够在区块链上记录新区块。为了将事务记录在区块链中,用户(例如,区块链客户端应用程序)将该事务发送到网络中的节点中的一个节点进行传播。接收该事务的节点可以争相寻找将核实有效的事务并入新区块的工作量证明解。每个节点被配置为执行相同的节点协议,该协议将包括用于确认事务有效的一个或多个条件。无效事务将不会传播或并入到区块中。假定事务已经核实有效,从而在区块链上被接受,则该事务(包括任何用户数据)将因此在区块链网络中的每个节点上作为不可改变的公共记录进行注册和索引。
[0005]成功解决工作量证明难题可创建最新区块的节点通常被奖励一个称为“coinbase事务”的新事务,该事务分发数字资产数额,即通证数量。无效事务的检测和拒绝是通过竞争节点的行动来执行的,这些竞争节点充当网络的代理并且通过激励报告和阻止不正当行为。信息的广泛发布使得用户可以连续地审计节点的性能。仅发布区块头使得参与者可以确保区块链具有持续完整性。
[0006]在“基于输出的”模型(有时称为基于UTXO的模型)中,给定事务的数据结构包括一个或多个输入和一个或多个输出。任何可花费输出包括指定数字资产数额的元素,该元素
可从进行中的事务序列导出。可花费输出有时称为UTXO(“未花费事务输出”)。输出还可以包括锁定脚本,该锁定脚本指定输出的未来赎回条件。锁定脚本是限定核实和传送数字通证或资产所必需的条件的谓词。事务(除coinbase事务之外)的每个输入包括指向先前事务中的此类输出的指针(即引用),并且还可以包括解锁脚本,用于解锁指向输出的锁定脚本。因此,考虑一对事务,将其称为第一事务和第二事务(或“目标”事务)。第一事务包括指定数字资产数额的至少一个输出,并且包括定义解锁该输出的一个或多个条件的锁定脚本。第二目标事务包括至少一个输入和解锁脚本,该至少一个输入包括指向第一事务的输出的指针;该解锁脚本用于解锁第一事务的输出。
[0007]在此类模型中,当第二目标事务被发送到区块链网络以在区块链中传播和记录时,在每个节点处应用的有效性条件之一将是解锁脚本满足在第一事务的锁定脚本中定义的一个或多个条件中的所有条件。另一条件将是第一事务的输出尚未被另一早期有效事务赎回。根据这些条件中的任何一个条件发现目标事务无效的任何节点都不会传播该事务(作为有效事务,但可能注册无效事务),也不将该事务包括在要记录在区块链中的新区块中。
[0008]另一种事务模型是基于账户的模型。在这种情况下,每个事务均不通过参考过去事务序列中先前事务的UTXO来定义转移的数额,而是通过参考绝对账户余额进行定义。所有账户的当前状态由节点单独存储到区块链中,并不断更新。

技术实现思路

[0009]本文确定存在许多情况,其中确定第一方(“爱丽丝”)和第二方(“鲍勃”)是否就爱丽丝与鲍勃之间进行的区块链事务集合的成员资格(membership)达成一致(即,就哪些区块链事务是所述集合的一部分达成一致)将是有用的。具体地,需要能够通过以下方式实现这一点,即如果其中一方就所述集合作出虚假陈述,则能够随后再现证据。例如,这对审计双方事务的税务机关或私人审计员等任何机构都可能是有用的。
[0010]然而,在实现这一点时涉及技术性考虑事项。最初的一种解决方案是简单地让爱丽丝和鲍勃各自向第三方(税务机关、审计员等)发送他们所涉及的事务的链下报告,并让所述第三方存储所有报告。然而,这会对所述第三方的集中存储空间造成负担。此外,未来的证据也会依赖于所述第三方的存储,这假设仅所述第三方的记录可以被信任为确定的不可变存储,但情况不一定如此(例如,它们可能容易遭受篡改、恶意软件或数据丢失)。或者,最初的另一种解决方案是简单地允许所述第三方单方面观察爱丽丝和鲍勃的链上事务,而爱丽丝或鲍勃完全不需要向所述第三方报告。毕竟,区块链的本质是,一旦包括在区块中,事务就会作为不可变的公共记录永久地记录在链上。然而,仅依靠这种方法还有另一个技术缺点,即爱丽丝和鲍勃的事务将分散在所述区块链上,单方面搜索所有此类事务将耗费所述第三方的计算资源。此外,通常各方通过对不同的事务使用不同的密钥来匿名化他们的事务。
[0011]本公开提供了一种更高效的混合实现方式,其中要求爱丽丝和鲍勃向第三方报告他们的事务,但是他们中的每一方还必须在链上记录的附加事务中对他们所报告事务中的每个事务进行证明(这些附加事务在本文中称为“第一”事务和“第二”事务,这些事务独立于所报告事务,即爱丽丝与鲍勃之间的事务)。例如,所述证明可以是哈希树的哈希根(有时
也称为默克尔树的默克尔根),其事务ID等是叶。
[0012]根据本文公开的一个方面,提供了一种计算机实现的方法,用于确定第一方和第二方是否就在所述第一方与所述第二方之间进行事务的区块链事务集合的成员资格达成一致。所述方法由第三方执行,所述方法包括:从所述第一方,接收第一报告,所述第一报告包括涉及所述第一方的多个区块链事务中的每个区块链事务的指示,所述多个区块链事务至少包括所述集合中的区块链事务,所述第一报告包括一次或多次发送的一个或多个报告消息;以及,从所述第二方,接收第二报告,所述第二报告包括涉及所述第二方的多个区块链事务中的每个区块本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种计算机实现的方法,用于确定第一方和第二方是否就在所述第一方与所述第二方之间进行事务的区块链事务集合的成员资格达成一致,所述方法包括由第三方执行:从所述第一方,接收第一报告,所述第一报告包括涉及所述第一方的多个区块链事务中的每个区块链事务的指示,所述多个区块链事务至少包括所述集合中的区块链事务,所述第一报告包括一次或多次发送的一个或多个报告消息;从所述第二方,接收第二报告,所述第二报告包括涉及所述第二方的多个区块链事务中的每个区块链事务的指示,所述多个区块链事务包括所述集合中的至少部分或全部区块链事务,所述第二报告包括一次或多次发送的一个或多个报告消息;在区块链上观察在至少一个第一区块链事务中由所述第一方记录的第一证明,所述第一证明包括第一证明值,所述第一证明值是从已对所述第一报告中报告的所述指示应用第一变换的所述第一方导出的;在区块链上观察在第二区块链事务中由所述第二方记录的第二证明,所述第二证明包括第二证明值,所述第二证明值是从已对所述第二报告中报告的所述指示应用第二变换的所述第二方导出的,并且,所述第一区块链事务和所述第二区块链事务独立于所述集合;通过对所述第一报告中报告的所述指示应用所述第一变换,并与来自所述区块链的所述第一证明进行比较,来检查所述第一报告与所述第一证明是否一致;通过对所述第二报告中报告的所述指示应用所述第二变换,并与来自所述区块链的所述第二证明进行比较,来检查所述第二报告与所述第二证明是否一致;以及确定所述第一报告中的所述指示是否指示与所述第二报告中的所述指示相同的所述集合的成员资格。2.根据权利要求1所述的方法,其中所述第一证明值和所述第二证明值中的每个证明值包括哈希值,所述第一变换和所述第二变换中的每一个包括至少一个哈希函数。3.根据权利要求2所述的方法,其中以下两项中的一项或两项:所述第一证明值包括第一哈希树的根,所述第一报告中报告的所述指示中的每个指示是所述第一哈希树的叶;和/或所述第二证明值包括第二哈希树的根,所述第二报告中报告的所述指示中的每个指示是所述第二哈希树的叶。4.根据前述任一项权利要求所述的方法,其中所述第一变换和所述第二变换是相同形式的变换。5.根据前述任一项权利要求所述的方法,其中所述第一报告和所述第二报告中的所述指示分别包括所述第一报告和所述第二报告中报告的所述事务的事务ID。6.根据前述任一项权利要求所述的方法,其中所述第一事务和所述第二事务中的每一个被寻址到所述第三方的公钥。7.根据权利要求6所述的方法,其中所述第一事务和所述第二事务中的每一个包括输出,所述输出包括锁定脚本,所述锁定脚本通过以下方式被寻址到所述第三方:包括基于所述第三方的公钥的地址;以及需要所述第三方的对应签名来解锁。8.根据前述任一项权利要求所述的方法,其中所述第一方与所述第二方之间的所述事务包括在所述第一方与所述第二方之间处理的至少部分事务,每个事务包括基于所述第二方的相应子公钥的地址,其中每个子密钥通过导出函数与所述第二方的主公钥相关,所述
导出函数通过相应导出信息参数化。9.根据权利要求8所述的方法,其中每个子密钥的所述相应导出信息包括相应事务的相应发票、销售订单或收据。10.根据权利要求8或9所述的方法,其中所述导出信息包括所述公共子密钥共有的链码。11.根据权利要求8、9或10所述的方法,其中每个子密钥的所述导出信息包括相应索引值。12.根据权利要求8至11中任一项所述的方法,其中所述第二方的所述主公钥通过数字认证机构链接到所述第二方的公开身份。13.根据权利要求8至12中任一项所述的方法,所述方法还包括:从所述第一方接收所述集合中的至少一个区块链事务的所述相应导出信息;以及响应于确定所述第一报告和所述第二报告指示所述集合的不同成员资格,使用所述导出函数、所述第二方的所述主公钥和所述接收的导出信息来确定所述第二方的所述子公钥,并由此验证所述相应地址链接到所述第二方的所述主公钥。14.根据权利要求13所述的方法,其中还响应于确定所述第一报告和所...

【专利技术属性】
技术研发人员:克雷格
申请(专利权)人:区块链许可股份公司
类型:发明
国别省市:

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

1