基于区块链的交易验证方法及装置、电子设备制造方法及图纸

技术编号:33559541 阅读:19 留言:0更新日期:2022-05-26 22:56
本说明书实施例提供一种基于区块链的交易验证方法及装置、电子设备。所述方法包括:接收客户端发送的交易;其中,所述交易包括所述客户端从区块链中不参与共识的节点设备处获取的,用于证明与所述交易相关的目标账户和所述目标账户的状态数据包含在所述区块链的区块链账本中的密码学证明;针对所述交易进行合法性校验;其中,所述合法性校验包括基于密码学算法对所述密码学证明进行校验;如果所述合法性校验通过,执行所述交易,并在与所述区块链中参与共识的其它节点对所述交易的执行结果达成共识之后,将所述交易以及所述交易的执行结果发送至所述区块链中不参与共识的节点设备处,在所述区块链账本中进行存储。在所述区块链账本中进行存储。在所述区块链账本中进行存储。

【技术实现步骤摘要】
基于区块链的交易验证方法及装置、电子设备


[0001]本说明书一个或多个实施例涉及区块链
,尤其涉及一种基于区块链的交易验证方法及装置、电子设备。

技术介绍

[0002]现有的区块链中,记账节点在将交易打包进区块之前,需要对交易进行合法性的验证,只有在交易合法的情况下才可以将其打包进区块。
[0003]合法性的验证主要是基于区块链账本中的状态数据来进行的。因此,参与交易共识的每个节点设备在本地都需要维护区块链账本中全量的状态数据。
[0004]然而,随着业务的增加,区块链账本中会不断增加状态数据,而状态数据的增加不仅会持续占用存储空间,而且会降低参与共识的节点设备的验证效率。

技术实现思路

[0005]本说明书实施例提供的一种提高信息安全的方法及装置、电子设备。
[0006]根据本说明书实施例的第一方面,提供一种基于区块链的交易验证方法,所述方法应用于区块链中参与共识的节点设备,所述区块链的区块链账本存储在所述区块链中不参与共识的节点设备处;所述方法包括:
[0007]接收客户端发送的交易;其中,所述交易包括所述客户端从所述区块链中不参与共识的节点设备处获取的,用于证明与所述交易相关的目标账户和所述目标账户的状态数据包含在所述区块链的区块链账本中的密码学证明;
[0008]针对所述交易进行合法性校验;其中,所述合法性校验包括基于密码学算法对所述密码学证明进行校验;
[0009]如果所述合法性校验通过,执行所述交易,并在与所述区块链中参与共识的其它节点对所述交易的执行结果达成共识之后,将所述交易以及所述交易的执行结果发送至所述区块链中不参与共识的节点设备处,在所述区块链账本中进行存储。
[0010]根据本说明书实施例的第二方面,提供一种基于区块链的交易验证装置,所述装置应用于区块链中参与共识的节点设备,所述区块链的区块链账本存储在所述区块链中不参与共识的节点设备处;所述装置包括:
[0011]接收单元,接收客户端发送的交易;其中,所述交易包括所述客户端从所述区块链中不参与共识的节点设备处获取的,用于证明与所述交易相关的目标账户和所述目标账户的状态数据包含在所述区块链的区块链账本中的密码学证明;
[0012]校验单元,针对所述交易进行合法性校验;其中,所述合法性校验包括基于密码学算法对所述密码学证明进行校验;
[0013]处理单元,如果所述合法性校验通过,执行所述交易,并在与所述区块链中参与共识的其它节点对所述交易的执行结果达成共识之后,将所述交易以及所述交易的执行结果发送至所述区块链中不参与共识的节点设备处,在所述区块链账本中进行存储。
[0014]根据本说明书实施例的第三方面,提供一种电子设备,包括:
[0015]处理器;
[0016]用于存储处理器可执行指令的存储器;
[0017]其中,所述处理器被配置为上述任一项基于区块链的交易验证方法。
[0018]本说明书实施例,提供了一种基于区块链的交易验证方案,通过与区块链账本对应的密码学承诺和密码学证明来验证交易的合法性。由于密码学证明不是基于账户的账户状态,因此区块链中参与共识的节点设备无需存储区块链账本中全量账户的账户状态,从而解决由于账户状态数据过多导致参与共识的节点设备的验证效率低的问题。
附图说明
[0019]图1是一示例性实施例提供的区块链系统的架构示意图;
[0020]图2是一示例性实施例提供的多方交互的示意图;
[0021]图3是一示例性实施例提供的基于区块链的交易验证方法流程图;
[0022]图4是一示例性实施例提供的一种电子设备的结构示意图;
[0023]图5是一示例性实施例提供的一种基于区块链的交易验证装置的框图。
具体实施方式
[0024]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实现方式并不代表与本说明书一个或多个实施例相一致的所有实现方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
[0025]需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
[0026]区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
[0027]一般的,区块链一般可以被划分为三种类型:公有链(Public Blockchain),私有链(Private Blockchain)和联盟链(Consortium Blockchain)。此外,还可以有上述多种类型的结合,比如私有链+联盟链、联盟链+公有链等。
[0028]其中,去中心化程度最高的是公有链。加入公有链的参与者(也可称为区块链中的节点)可以读取链上的数据记录、参与交易、以及竞争新区块的记账权等。而且,各节点可自由加入或者退出网络,并进行相关操作。
[0029]私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化系统,其对节点具有严格限制且节点数量较
少。这种类型的区块链更适合于特定机构内部使用。
[0030]联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;节点通过授权加入网络并组成利益相关联盟,共同维护区块链运行。
[0031]基于区块链的基本特性,区块链通常是由若干个区块构成。在这些区块中分别记录有与该区块的创建时刻对应的时间戳,所有的区块严格按照区块中记录的时间戳,构成一条在时间上有序的数据链条。
[0032]现有的区块链在对交易进行共识时需要依赖由区块链中所有账户的状态(state)数据(以下称为账户状态)构成的Merkle树(称为状态树或者状态数据库)。
[0033]每个参与共识的节点设备(以下称为共识节点)在共识时都会进行交易的模拟执行,这里的模拟执行是指共识节点执行交易但不将执行后的账户状态记录到状态树。也就是说,模拟执行不影响世界状态。
[0034]交易模拟执行过程中会产生读写集;其中读集中包含共识节点从本地读取到的交易执行所需的最新的账户状态,写集包含模拟执行过程中更新的账户状态。
[0035]共识节点之间通过读集可以验证交易所需的账户状态本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的交易验证方法,所述方法应用于区块链中参与共识的节点设备,所述区块链的区块链账本存储在所述区块链中不参与共识的节点设备处;所述方法包括:接收客户端发送的交易;其中,所述交易包括所述客户端从所述区块链中不参与共识的节点设备处获取的,用于证明与所述交易相关的目标账户和所述目标账户的状态数据包含在所述区块链的区块链账本中的密码学证明;针对所述交易进行合法性校验;其中,所述合法性校验包括基于密码学算法对所述密码学证明进行校验;如果所述合法性校验通过,执行所述交易,并在与所述区块链中参与共识的其它节点对所述交易的执行结果达成共识之后,将所述交易以及所述交易的执行结果发送至所述区块链中不参与共识的节点设备处,在所述区块链账本中进行存储。2.根据权利要求1所述的方法,所述参与共识的节点设备维护了与所述区块链账本对应的密码学承诺;其中,所述密码学承诺是对所述区块链的区块链账本中记录的所有区块链账户以及与所述所有区块链账户对应的账户状态的真实性的承诺;所述基于密码学算法对所述密码学证明进行校验,包括:基于密码学算法对所述密码学证明进行计算得到密码学承诺;确定计算出的密码学承诺,是否与所述参与共识的节点设备本地维护的与所述区块链账本对应的密码学承诺相同;如果相同,确定针对所述交易的合法性校验通过。3.根据权利要求2所述的方法,所述交易还包括所述客户端从所述区块链中不参与共识的节点设备处获取到的所述目标账户的最新账户状态;所述合法性校验还包括:校验所述目标账户对应的最新账户状态是否与所述区块链中不参与共识的其它节点设备维护的所述目标账户对应的最新账户状态是否相同;如果相同,确定针对所述交易的合法性校验通过。4.根据权利要求3所述的方法,所述合法性校验还包括:将所述交易中的所述目标账户的最新账户状态同步至所述区块链中不参与共识的其它节点设备处,以由所述其它节点设备基于密码学算法针对所述目标账户以及所述目标账户的最新账户状态进行计算得到密码学证明;获取所述其它节点设备计算出的所述密码学证明,并确定该密码学证明与所述交易中的密码学证明是否相同;如果相同,确定针对所述交易的合法性校验通过。5.根据权利要求1所述的方法,执行所述交易,包括:基于所述目标账户的最新账户状态计算所述目标账户的更新后的账户状态;以及,基于所述更新后的账户状态和本地维护的与所述区块链账本对应的密码学承诺计算更新后的密码学承诺;相应的,所述交易的执行结果包括所述更新后的账户状态和所述更新后的密码学承诺。6.根据权利要求5所述的方法,所述方法还包括:在与所述区块链中参与共识的其它节点对所述交易的执行结果达成共识之后,基于所
述更新后的密码学承诺对维护的所述密码学承诺进行更新。7.根据权利要求2所述的方法,所述密码学算法包括Vector commi tment算法;所述密码学承诺包括基于Vector commitment算法针对全量的区块链账本中记录的所有区块链账户以及与所述所有区块链账户对应的账户状态进行密码学计算得到的承诺值;相应的,所述密码学证明包括基于Vector commitment算法针对全量的区块链账本中记录的所述目标账户以及所述目标账户对应的状态数据进行密码学计算得到的证明值。8.根据权利要求1所述的方法,所述区块链包括联盟链。9.一种基于区块链的交易验证装置,所述装置应用于区块链中参与共识的节点设备,所述区块链的区块链账本存储在所述区块链中不参与共识的节点设...

【专利技术属性】
技术研发人员:卓海振
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

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

1