CN111985929A - 区块链中的交易验证方法、装置、节点设备及存储介质 - Google Patents
区块链中的交易验证方法、装置、节点设备及存储介质 Download PDFInfo
- Publication number
- CN111985929A CN111985929A CN202010919728.XA CN202010919728A CN111985929A CN 111985929 A CN111985929 A CN 111985929A CN 202010919728 A CN202010919728 A CN 202010919728A CN 111985929 A CN111985929 A CN 111985929A
- Authority
- CN
- China
- Prior art keywords
- transaction
- unique identifier
- client
- verification
- signature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012795 verification Methods 0.000 title claims abstract description 91
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000005540 biological transmission Effects 0.000 abstract description 8
- 230000009286 beneficial effect Effects 0.000 abstract description 6
- 238000000926 separation method Methods 0.000 abstract description 4
- 238000004590 computer program Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
Abstract
本申请提供了一种区块链中的交易验证方法、装置、节点设备及存储介质,其中,该区块链中的交易验证方法包括:对当前的客户端进行认证,在认证成功的情况下向所述客户端返回唯一标识;获取所述客户端发起的交易,所述交易中包括所述唯一标识;调用系统智能合约对所述唯一标识进行验证,在验证通过的情况下对所述交易进行验证,得到交易验证结果。本申请实施例实现了交易中身份和证书的分离,有利于减少区块链网络中交易所携带的“脏数据”,提高传输效率,节省存储空间。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种区块链中的交易验证方法、装置、节点设备及存储介质。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,区块链按照类型又可分为公有链、私有链和联盟链。现有联盟链中,一个证书即代表一个身份,交易生成的时候,需要使用密钥对交易进行签名,并且在交易中附上证书信息。同时,交易又将被打包为区块,共识节点生成区块的时候,也需要证书对区块进行签名,并将证书信息附在区块中。简而言之就是,一个交易中包含的大部分数据都是证书信息,这就使得传输和存储的数据中存在大量“脏数据”。
发明内容
针对上述问题,本申请提供了一种区块链中的交易验证方法、装置、节点设备及存储介质,有利于减少区块链网络中交易所携带的“脏数据”,提高传输效率,节省存储空间。
为实现上述目的,本申请实施例第一方面提供了种区块链中的交易验证方法,应用于数据节点,该方法包括:
对当前的客户端进行认证,在认证成功的情况下向所述客户端返回唯一标识;
获取所述客户端发起的交易,所述交易中包括所述唯一标识;
调用系统智能合约对所述唯一标识进行验证,在验证通过的情况下对所述交易进行验证,得到交易验证结果。
在第一方面的一种实施方式中,所述对所述交易进行验证,包括:
对所述客户端的证书进行验证,以确定所述客户端是否有发起交易的权限;
对所述交易的执行者的签名进行验证,以确定所述交易的执行者的签名与背书策略中指定的成员是否一致;
对所述交易的读写集进行验证,以确定所述交易的读写集是否存在冲突。
在第一方面的另一种实施方式中,所述方法还包括:
在获取到所述客户端发起的销毁所述唯一标识的交易的情况下,调用所述系统智能合约执行所述销毁所述唯一标识的交易;以及
将所述销毁所述唯一标识的交易同步至区块链网络的所有节点。
在第一方面的另一种实施方式中,所述调用系统智能合约对所述唯一标识进行验证,包括:
调用所述系统智能合约查询本地账本是否存储有所述唯一标识;
若是则验证通过,确定所述客户端具有发起所述交易的权限。
在第一方面的另一种实施方式中,所述对所述交易的执行者的签名进行验证,以确定所述交易的执行者的签名与背书策略中指定的成员是否一致,包括:
根据所述执行者的签名的数量判断所述执行者的数量是否满足所述交易需求;
在所述执行者的数量满足所述交易需求的情况下,将所述执行者的签名与背书策略中指定的成员进行比对,若相符则确定一致,否则确定不一致。
在第一方面的另一种实施方式中,所述对所述交易的读写集进行验证,以确定所述交易的读写集是否存在冲突,包括:
判断所述交易当前的读集与预先存储的写集是否一致;
若是则确定所述交易的读写集不存在冲突,否则确定所述交易的读写集存在冲突。
在第一方面的另一种实施方式中,所述对当前的客户端进行认证,包括:
调用所述系统智能合约对所述客户端提交的所述证书进行注册,以完成所述客户端的认证。
本申请实施例第二方面提供了一种区块链中的交易验证装置,该装置包括:
认证模块,用于对当前的客户端进行认证,在认证成功的情况下向所述客户端返回唯一标识;
交易获取模块,用于获取所述客户端发起的交易,所述交易中包括所述唯一标识;
验证模块,用于调用系统智能合约对所述唯一标识进行验证,在验证通过的情况下对所述交易进行验证,得到交易验证结果。
本申请实施例第三方面提供了一种节点设备,该节点设备包括输入设备和输出设备,还包括处理器,适于实现一条或多条指令;以及,计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如下步骤:
对当前的客户端进行认证,在认证成功的情况下向所述客户端返回唯一标识;
获取所述客户端发起的交易,所述交易中包括所述唯一标识;
调用系统智能合约对所述唯一标识进行验证,在验证通过的情况下对所述交易进行验证,得到交易验证结果。
本申请实施例第四方面提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如下步骤:
对当前的客户端进行认证,在认证成功的情况下向所述客户端返回唯一标识;
获取所述客户端发起的交易,所述交易中包括所述唯一标识;
调用系统智能合约对所述唯一标识进行验证,在验证通过的情况下对所述交易进行验证,得到交易验证结果。
本申请的上述方案至少包括以下有益效果:与现有技术相比,本申请实施例通过对当前的客户端进行认证,在认证成功的情况下向所述客户端返回唯一标识;获取所述客户端发起的交易,所述交易中包括所述唯一标识;调用系统智能合约对所述唯一标识进行验证,在验证通过的情况下对所述交易进行验证,得到交易验证结果。这样将区块链网络中交易所携带的证书信息替换为数据节点返回给客户端的唯一标识,实现了证书和身份的分离,有利于减少区块链网络中交易所携带的“脏数据”,提高传输效率,节省存储空间。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种网络系统架构的示意图;
图2为本申请实施例提供的一种数据节点对客户端进行认证的示例图;
图3为本申请实施例提供的一种区块链中的交易验证方法的流程示意图;
图4为本申请实施例提供的一种销毁唯一标识的示例图;
图5为本申请实施例提供的另一种区块链中的交易验证方法的流程示意图;
图6为本申请实施例提供的一种区块链中的交易验证装置的结构示意图;
图7为本申请实施例提供的一种节点设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请说明书、权利要求书和附图中出现的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,术语“第一”、“第二”和“第三”等是用于区别不同的对象,而并非用于描述特定的顺序。
本申请实施例提供一种区块链中的交易验证方法,可基于图1所示的网络系统架构实施,请参见图1,该网络系统具体可以是区块链网络,进一步的,该区块链网络中的区块链可以是联盟链,网络系统中包括数据节点、共识节点以及接入数据节点的客户端。其中,用户可通过客户端发起交易事务,由数据节点将交易提交至共识节点,共识节点通过共识机制对获取的交易进行共识排序,例如:基于背书模型的共识机制、raft共识机制等,将交易存放在缓存通道中,根据缓存通道中交易的数量或总大小将交易打包为区块,例如:当交易数量达到100笔时,将100笔交易打包为区块,或者当交易的总大小达到5GB时,将所有交易打包为区块,共识节点将生成的区块写入本地账本,同时,将区块派发至数据节点。
客户端必须在数据节点完成认证,才能发起交易,如图2所示,客户端接入数据节点时进行初始化,发起认证,数据节点调用系统智能合约对客户端提交的证书信息进行注册,注册完成后数据节点生成一个唯一标识,将该唯一标识返回给客户端,客户端以后发起交易时,在交易中携带该唯一标识即可,数据节点对该唯一标识进行验证便可完成对客户端的身份验证,以唯一标识替换原来的证书信息,有利于减少网络传输和数据存储的“脏数据”。该网络系统在技术架构上提供高性能底层模块,为本申请实施例提供了可靠的技术支撑,能够实现区块链中身份和证书的绑定关系的分离。
基于图1所示的网络系统架构,以下结合其他附图对本申请实施例提供的区块链中的交易验证方法进行详细阐述。
请参加图3,图3为本申请实施例提供的一种区块链中的交易验证方法的流程示意图,该方法应用于数据节点,如图3所示,包括步骤S31-S33:
S31,对当前的客户端进行认证,在认证成功的情况下向所述客户端返回唯一标识。
在一种可能的实施方式中,所述对当前的客户端进行认证,包括:
调用所述系统智能合约对所述客户端提交的所述证书进行注册,以完成所述客户端的认证。
本申请具体实施例中,当前的客户端即当前连接数据节点的客户端,在该客户端连接数据节点时,生成一笔交易,例如:用户在贷款时,可通过客户端发起一笔身份认证交易,该交易用于调用系统智能合约对所述客户端进行认证,系统智能合约中的身份认证逻辑对客户端提交的证书进行注册,以完成该客户端的身份注册,并生成唯一标识。认证成功后,将该笔交易同步到区块链网络中,区块链网络中的所有节点对该客户端的身份进行认证,并将唯一标识存储在本地账本。
其中,该唯一标识可以自定义,例如:可以对客户端提交的证书和公钥进行哈希生成该唯一标识。
S32,获取所述客户端发起的交易,所述交易中包括所述唯一标识。
本申请具体实施例中,可以理解的,区块链中客户端发起的每一笔交易都会有身份验证过程,因此,客户端发起的交易中通常会携带证书的信息,由于交易中包含的证书信息多属于“脏数据”,此处采用数据节点返回的唯一标识替代证书,客户端在接收到数据节点返回的唯一标识后,可将该唯一标识放在后续发起的每笔交易中,该唯一标识即可表明客户端的身份,而不用在交易中附上证书。
S33,调用系统智能合约对所述唯一标识进行验证,在验证通过的情况下对所述交易进行验证,得到交易验证结果。
本申请具体实施例中,数据节点在获取到客户端提交的交易时,从该交易中解析出唯一标识,调用系统智能合约对该唯一标识进行验证,以判断该唯一标识与本地账本存储的唯一标识是否一致,若一致则认为该客户端具有发起交易的权限,验证通过,然后对该笔交易发起验证。
在一种可能的实施方式中,所述对所述交易进行验证,包括:
对所述交易的执行者的签名进行验证,以确定所述交易的执行者的签名与背书策略中指定的成员是否一致;
对所述交易的读写集进行验证,以确定所述交易的读写集是否存在冲突。
具体的,对于交易执行者的签名,首先根据交易执行者的签名的数量判断交易执行者是否满足交易需求,若满足则将交易执行者的签名与背书策略中指定的成员进行比对,若执行者的签名与背书策略指定的成员一致,例如:5个签名对应到5个成员,则执行者的签名验证通过,否则执行者的签名验证不通过,例如:现有4个执行者的签名,但是背书策略指定了5个成员。数据节点在交易模拟期间,会为交易准备一个读写集,读集包含一份唯一键的列表和该键的提交版本,用于交易模拟期间读取,写集包含一份唯一键的列表和交易写入的对应的新键值。交易验证期间,仅考察当前的读集,例如:假设区块之前的世界状态为:(键1,值1,版本号1),(键2,值2,版本号2),(键3,值3,版本号3),若之前的写操作对键1和键2进行了更新,那么键1和键2对应的版本号1和版本号2也会更新,现有一笔交易读键1和更改键3,由于键1的版本号已经更改,所以该交易读集与预先存储的写集不一致,产生了冲突,相反,若键1的版本号没有更改,该交易读集与预先存储的写集一致,则读写集的验证通过,将以上唯一标识的验证结果、执行者的签名的验证结果和读写集的验证结果作为该笔交易的交易验证结果,存储在本地账本中。
在一种可能的实施方式中,所述方法还包括:
在获取到所述客户端发起的销毁所述唯一标识的交易的情况下,调用所述系统智能合约执行所述销毁所述唯一标识的交易;以及
将所述销毁所述唯一标识的交易同步至区块链网络的所有节点。
该实施方式中,如图4所示,用户如果在最近一段时间不会用到该唯一标识,可通过客户端向数据节点发起一笔销毁唯一标识的交易,数据节点调用系统智能合约执行该笔交易,并将该笔交易广播至区块链网络的所有节点,其他节点也将本地存储的唯一标识销毁,以防止唯一标识被盗用,以及占用数据节点存储空间的情况。
可以看出,本申请实施例通过对当前的客户端进行认证,在认证成功的情况下向所述客户端返回唯一标识;获取所述客户端发起的交易,所述交易中包括所述唯一标识;调用系统智能合约对所述唯一标识进行验证,在验证通过的情况下对所述交易进行验证,得到交易验证结果。这样将区块链网络中交易所携带的证书信息替换为数据节点返回给客户端的唯一标识,实现了证书和身份的分离,有利于减少区块链网络中交易所携带的“脏数据”,提高传输效率,节省存储空间。
请参见图5,图5本申请实施例提供的另一种区块链中的交易验证方法的流程示意图,如图5所示,包括步骤S51-S56:
S51,对当前的客户端进行认证,在认证成功的情况下向所述客户端返回唯一标识;
S52,获取所述客户端发起的交易,所述交易中包括所述唯一标识;
S53,调用系统智能合约对所述唯一标识进行验证;
S54,在所述唯一标识验证通过的情况下对所述交易的执行者的签名进行验证,以确定所述执行者的签名与背书策略中指定的成员是否一致;
S55,对所述交易的读写集进行验证,以确定所述交易的读写集是否存在冲突;
S56,将所述唯一标识的验证结果、所述执行者的签名的验证结果以及所述交易的读写集的验证结果作为所述交易的验证结果进行存储。
可以看出,本申请实施例通过对当前的客户端进行认证,在认证成功的情况下向所述客户端返回唯一标识;获取所述客户端发起的交易,所述交易中包括所述唯一标识;调用系统智能合约对所述唯一标识进行验证;在所述唯一标识验证通过的情况下对所述交易的执行者的签名进行验证,以确定所述交易的执行者的签名与背书策略中指定的成员是否一致;对所述交易的读写集进行验证,以确定所述交易的读写集是否存在冲突;将所述唯一标识的验证结果、所述执行者的签名的验证结果以及所述交易的读写集的验证结果作为所述交易的验证结果进行存储。这样将区块链网络中交易所携带的证书信息替换为数据节点返回给客户端的唯一标识,客户端发起的交易的整个传输过程和身份验证、执行者的签名验证以及读写集验证等都不涉及到证书信息,有利于减少区块链网络中交易所携带的“脏数据”,提高传输效率,节省存储空间。
其中,步骤S51-S56的具体实施方式在图3所示的实施例中已有相关说明,且能达到相同或相似的有益效果,为避免重复,此处不再赘述。
基于上述区块链中的交易验证方法实施例的描述,请参见图6,图6为本申请实施例提供的一种区块链中的交易验证装置的结构示意图,如图6所示,该装置包括:
认证模块61,用于对当前的客户端进行认证,在认证成功的情况下向所述客户端返回唯一标识;
交易获取模块62,用于获取所述客户端发起的交易,所述交易中包括所述唯一标识;
验证模块63,用于调用系统智能合约对所述唯一标识进行验证,在验证通过的情况下对所述交易进行验证,得到交易验证结果。
在一种可能的实施方式中,在对所述交易进行验证方面,所述验证模块63具体用于:
对所述交易的执行者的签名进行验证,以确定所述交易的执行者的签名与背书策略中指定的成员是否一致;
对所述交易的读写集进行验证,以确定所述交易的读写集是否存在冲突。
在一种可能的实施方式中,所述交易获取模块62还用于:
在获取到所述客户端发起的销毁所述唯一标识的交易的情况下,调用所述系统智能合约执行所述销毁所述唯一标识的交易;以及
将所述销毁所述唯一标识的交易同步至区块链网络的所有节点。
在一种可能的实施方式中,在调用系统智能合约对所述唯一标识进行验证方面,所述验证模块63具体用于:
调用所述系统智能合约查询本地账本是否存储有所述唯一标识;
若是则验证通过,确定所述客户端具有发起所述交易的权限。
在一种可能的实施方式中,在对所述交易的执行者的签名进行验证,以确定所述交易的执行者的签名与背书策略中指定的成员是否一致方面,所述验证模块63具体用于:
根据所述执行者的签名的数量判断所述执行者的数量是否满足所述交易需求;
在所述执行者的数量满足所述交易需求的情况下,将所述执行者的签名与背书策略中指定的成员进行比对,若相符则确定一致,否则确定不一致。
在一种可能的实施方式中,在对所述交易的读写集进行验证,以确定所述交易的读写集是否存在冲突方面,所述验证模块63具体用于:
判断所述交易当前的读集与预先存储的写集是否一致;
若是则确定所述交易的读写集不存在冲突,否则确定所述交易的读写集存在冲突。
在一种可能的实施方式中,在对当前的客户端进行认证方面,所述认证模块61具体用于:
调用所述系统智能合约对所述客户端提交的所述证书进行注册,以完成所述客户端的认证。
根据本申请的一个实施例,图6所示的区块链中的交易验证装置的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,基于区块链中的交易验证装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图3或图5中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图6中所示的区块链中的交易验证装置设备,以及来实现本申请实施例的区块链中的交易验证方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
基于上述方法实施例和装置实施例的描述,本申请实施例还提供一种节点设备。请参见图7,该节点设备至少包括处理器71、输入设备72、输出设备73以及计算机存储介质74。其中,节点设备内的处理器71、输入设备72、输出设备73以及计算机存储介质74可通过总线或其他方式连接。
计算机存储介质74可以存储在节点设备的存储器中,所述计算机存储介质74用于存储计算机程序,所述计算机程序包括程序指令,所述处理器71用于执行所述计算机存储介质74存储的程序指令。处理器71(或称CPU(Central Processing Unit,中央处理器))是节点设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能。
在一个实施例中,本申请实施例提供的节点设备的处理器71可以用于进行一系列区块链中的交易验证处理:
对当前的客户端进行认证,在认证成功的情况下向所述客户端返回唯一标识;
获取所述客户端发起的交易,所述交易中包括所述唯一标识;
调用系统智能合约对所述唯一标识进行验证,在验证通过的情况下对所述交易进行验证,得到交易验证结果。
再一个实施例中,处理器71执行所述对所述交易集中的交易进行验证,得到第二交易验证结果,包括:
所述对所述交易进行验证,包括:
对所述交易的执行者的签名进行验证,以确定所述交易的执行者的签名与背书策略中指定的成员是否一致;
对所述交易的读写集进行验证,以确定所述交易的读写集是否存在冲突。
再一个实施例中,处理器71还用于执行:
在获取到所述客户端发起的销毁所述唯一标识的交易的情况下,调用所述系统智能合约执行所述销毁所述唯一标识的交易;以及
将所述销毁所述唯一标识的交易同步至区块链网络的所有节点。
再一个实施例中,处理器71执行所述调用系统智能合约对所述唯一标识进行验证,包括:
调用所述系统智能合约查询本地账本是否存储有所述唯一标识;
若是则验证通过,确定所述客户端具有发起所述交易的权限。
再一个实施例中,处理器71执行所述对所述交易的执行者的签名进行验证,以确定所述交易的执行者的签名与背书策略中指定的成员是否一致,包括:
根据所述执行者的签名的数量判断所述执行者的数量是否满足所述交易需求;
在所述执行者的数量满足所述交易需求的情况下,将所述执行者的签名与背书策略中指定的成员进行比对,若相符则确定一致,否则确定不一致。
再一个实施例中,处理器71执行所述对所述交易的读写集进行验证,以确定所述交易的读写集是否存在冲突,包括:
判断所述交易当前的读集与预先存储的写集是否一致;
若是则确定所述交易的读写集不存在冲突,否则确定所述交易的读写集存在冲突。
再一个实施例中,处理器71执行所述对当前的客户端进行认证,包括:
调用所述系统智能合约对所述客户端提交的所述证书进行注册,以完成所述客户端的认证。
示例性的,上述节点设备可以是服务器、云服务器、计算机主机、服务器集群等,节点设备可包括但不仅限于处理器71、输入设备72、输出设备73以及计算机存储介质74。本领域技术人员可以理解,所述示意图仅仅是节点设备的示例,并不构成对节点设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
需要说明的是,由于节点设备的处理器71执行计算机程序时实现上述的区块链中的交易验证方法中的步骤,因此上述区块链中的交易验证方法的实施例均适用于该节点设备,且均能达到相同或相似的有益效果。
本申请实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是节点设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括终端中的内置存储介质,当然也可以包括终端所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器71加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器71的计算机存储介质。在一个实施例中,可由处理器71加载并执行计算机存储介质中存放的一条或多条指令,以实现上述有关区块链中的交易验证方法的相应步骤;具体实现中,计算机存储介质中的一条或多条指令由处理器71加载并执行如下步骤:
对当前的客户端进行认证,在认证成功的情况下向所述客户端返回唯一标识;
获取所述客户端发起的交易,所述交易中包括所述唯一标识;
调用系统智能合约对所述唯一标识进行验证,在验证通过的情况下对所述交易进行验证,得到交易验证结果。
在一种示例中,计算机存储介质中的一条或多条指令由处理器71加载时还执行如下步骤:
对所述交易的执行者的签名进行验证,以确定所述交易的执行者的签名与背书策略中指定的成员是否一致;
对所述交易的读写集进行验证,以确定所述交易的读写集是否存在冲突。
在一种示例中,计算机存储介质中的一条或多条指令由处理器71加载时还执行如下步骤:
在获取到所述客户端发起的销毁所述唯一标识的交易的情况下,调用所述系统智能合约执行所述销毁所述唯一标识的交易;以及
将所述销毁所述唯一标识的交易同步至区块链网络的所有节点。
在一种示例中,计算机存储介质中的一条或多条指令由处理器71加载时还执行如下步骤:
调用所述系统智能合约查询本地账本是否存储有所述唯一标识;
若是则验证通过,确定所述客户端具有发起所述交易的权限。
在一种示例中,计算机存储介质中的一条或多条指令由处理器71加载时还执行如下步骤:
根据所述执行者的签名的数量判断所述执行者的数量是否满足所述交易需求;
在所述执行者的数量满足所述交易需求的情况下,将所述执行者的签名与背书策略中指定的成员进行比对,若相符则确定一致,否则确定不一致。
在一种示例中,计算机存储介质中的一条或多条指令由处理器71加载时还执行如下步骤:
判断所述交易当前的读集与预先存储的写集是否一致;
若是则确定所述交易的读写集不存在冲突,否则确定所述交易的读写集存在冲突。
在一种示例中,计算机存储介质中的一条或多条指令由处理器71加载时还执行如下步骤:调用所述系统智能合约对所述客户端提交的所述证书进行注册,以完成所述客户端的认证。
示例性的,计算机存储介质的计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,由于计算机存储介质的计算机程序被处理器执行时实现上述的区块链中的交易验证方法中的步骤,因此上述区块链中的交易验证方法的所有实施例均适用于该计算机存储介质,且均能达到相同或相似的有益效果。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种区块链中的交易验证方法,其特征在于,应用于数据节点,所述方法包括:
对当前的客户端进行认证,在认证成功的情况下向所述客户端返回唯一标识;
获取所述客户端发起的交易,所述交易中包括所述唯一标识;
调用系统智能合约对所述唯一标识进行验证,在验证通过的情况下对所述交易进行验证,得到交易验证结果。
2.根据权利要求1所述的方法,其特征在于,所述对所述交易进行验证,包括:
对所述交易的执行者的签名进行验证,以确定所述交易的执行者的签名与背书策略中指定的成员是否一致;
对所述交易的读写集进行验证,以确定所述交易的读写集是否存在冲突。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
在获取到所述客户端发起的销毁所述唯一标识的交易的情况下,调用所述系统智能合约执行所述销毁所述唯一标识的交易;以及
将所述销毁所述唯一标识的交易同步至区块链网络的所有节点。
4.根据权利要求1或2所述的方法,其特征在于,所述调用系统智能合约对所述唯一标识进行验证,包括:
调用所述系统智能合约查询本地账本是否存储有所述唯一标识;
若是则验证通过,确定所述客户端具有发起所述交易的权限。
5.根据权利要求2所述的方法,其特征在于,所述对所述交易的执行者的签名进行验证,以确定所述交易的执行者的签名与背书策略中指定的成员是否一致,包括:
根据所述执行者的签名的数量判断所述执行者的数量是否满足所述交易需求;
在所述执行者的数量满足所述交易需求的情况下,将所述执行者的签名与背书策略中指定的成员进行比对,若相符则确定一致,否则确定不一致。
6.根据权利要求2所述的方法,其特征在于,所述对所述交易的读写集进行验证,以确定所述交易的读写集是否存在冲突,包括:
判断所述交易当前的读集与预先存储的写集是否一致;
若是则确定所述交易的读写集不存在冲突,否则确定所述交易的读写集存在冲突。
7.根据权利要求2所述的方法,其特征在于,所述对当前的客户端进行认证,包括:
调用所述系统智能合约对所述客户端提交的所述证书进行注册,以完成所述客户端的认证。
8.一种区块链中的交易验证装置,其特征在于,所述装置包括:
认证模块,用于对当前的客户端进行认证,在认证成功的情况下向所述客户端返回唯一标识;
交易获取模块,用于获取所述客户端发起的交易,所述交易中包括所述唯一标识;
验证模块,用于调用系统智能合约对所述唯一标识进行验证,在验证通过的情况下对所述交易进行验证,得到交易验证结果。
9.一种节点设备,包括输入设备和输出设备,其特征在于,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如权利要求1-7任一项所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010919728.XA CN111985929A (zh) | 2020-09-03 | 2020-09-03 | 区块链中的交易验证方法、装置、节点设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010919728.XA CN111985929A (zh) | 2020-09-03 | 2020-09-03 | 区块链中的交易验证方法、装置、节点设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111985929A true CN111985929A (zh) | 2020-11-24 |
Family
ID=73447538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010919728.XA Pending CN111985929A (zh) | 2020-09-03 | 2020-09-03 | 区块链中的交易验证方法、装置、节点设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111985929A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112907374A (zh) * | 2021-03-19 | 2021-06-04 | 中国工商银行股份有限公司 | 签名验签方法和装置 |
CN113064929A (zh) * | 2021-04-26 | 2021-07-02 | 深圳壹账通智能科技有限公司 | 区块链中交易数据的查询方法、装置、设备及存储介质 |
CN113114629A (zh) * | 2021-03-22 | 2021-07-13 | 京东数科海益信息科技有限公司 | 基于区块链的合同管理方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411901A (zh) * | 2016-10-08 | 2017-02-15 | 北京三未信安科技发展有限公司 | 一种数字身份标识管理方法及系统 |
CN109815657A (zh) * | 2018-12-14 | 2019-05-28 | 深圳壹账通智能科技有限公司 | 一种基于联盟链的身份认证方法及终端设备 |
CN110060056A (zh) * | 2019-03-18 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 一种基于区块链智能合约的交易认证方法及系统 |
US20190370806A1 (en) * | 2018-05-29 | 2019-12-05 | Alibaba Group Holding Limited | Blockchain-based transaction processing method and apparatus, and electronic device |
CN111027099A (zh) * | 2019-12-09 | 2020-04-17 | 北京海益同展信息科技有限公司 | 身份验证方法、装置、系统,计算机可读存储介质 |
CN111092737A (zh) * | 2019-12-27 | 2020-05-01 | 上海市数字证书认证中心有限公司 | 数字证书管理方法、装置及区块链节点 |
CN111262692A (zh) * | 2020-01-08 | 2020-06-09 | 网络通信与安全紫金山实验室 | 基于区块链的密钥分发系统和方法 |
-
2020
- 2020-09-03 CN CN202010919728.XA patent/CN111985929A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411901A (zh) * | 2016-10-08 | 2017-02-15 | 北京三未信安科技发展有限公司 | 一种数字身份标识管理方法及系统 |
US20190370806A1 (en) * | 2018-05-29 | 2019-12-05 | Alibaba Group Holding Limited | Blockchain-based transaction processing method and apparatus, and electronic device |
CN109815657A (zh) * | 2018-12-14 | 2019-05-28 | 深圳壹账通智能科技有限公司 | 一种基于联盟链的身份认证方法及终端设备 |
CN110060056A (zh) * | 2019-03-18 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 一种基于区块链智能合约的交易认证方法及系统 |
CN111027099A (zh) * | 2019-12-09 | 2020-04-17 | 北京海益同展信息科技有限公司 | 身份验证方法、装置、系统,计算机可读存储介质 |
CN111092737A (zh) * | 2019-12-27 | 2020-05-01 | 上海市数字证书认证中心有限公司 | 数字证书管理方法、装置及区块链节点 |
CN111262692A (zh) * | 2020-01-08 | 2020-06-09 | 网络通信与安全紫金山实验室 | 基于区块链的密钥分发系统和方法 |
Non-Patent Citations (1)
Title |
---|
LENGCONGLIN: "交易验证和使用读写集更新世界状态", Retrieved from the Internet <URL:http://hyperledger-fabric.readthedocs.io/en/latest/readwrite.html> * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112907374A (zh) * | 2021-03-19 | 2021-06-04 | 中国工商银行股份有限公司 | 签名验签方法和装置 |
CN113114629A (zh) * | 2021-03-22 | 2021-07-13 | 京东数科海益信息科技有限公司 | 基于区块链的合同管理方法、装置、设备及存储介质 |
CN113114629B (zh) * | 2021-03-22 | 2022-09-06 | 京东科技信息技术有限公司 | 基于区块链的合同管理方法、装置、设备及存储介质 |
CN113064929A (zh) * | 2021-04-26 | 2021-07-02 | 深圳壹账通智能科技有限公司 | 区块链中交易数据的查询方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109064334B (zh) | 一种智能合约记账方法、计算机装置及可读存储介质 | |
CN111985929A (zh) | 区块链中的交易验证方法、装置、节点设备及存储介质 | |
WO2020082892A1 (zh) | 基于区块链的交易处理方法及装置、电子设备 | |
CN112887160B (zh) | 区块链一体机及其多节点部署方法、装置、存储介质 | |
US11238450B2 (en) | Computer-implemented systems and methods to enable complex functionality on a blockchain while preserving security-based restrictions on script size and opcode limits | |
US20190294636A1 (en) | Providing microservice information | |
JPWO2018158936A1 (ja) | ブロックチェーン管理装置、ブロックチェーン管理方法及びプログラム | |
JP6073320B2 (ja) | デジタル署名するオーソリティ依存のプラットフォームシークレット | |
CN112035475B (zh) | 区块链的区块存储方法、装置、节点设备及存储介质 | |
WO2020082898A1 (zh) | 基于区块链的交易处理方法及装置、电子设备 | |
CN109934593A (zh) | 用于实现支持多重签名的区块链系统的设计方法及设备 | |
CN112037058B (zh) | 数据验证方法、装置及存储介质 | |
CN108431842A (zh) | 用于对文件进行认证和验证的方法和服务器 | |
CN110138767B (zh) | 事务请求的处理方法、装置、设备和存储介质 | |
US20180060595A1 (en) | Extensible token-based authorization | |
CN110659906A (zh) | 票据信息处理方法、相关设备及介质 | |
CN112204548B (zh) | 应用特定客户端证书的自动生成 | |
WO2018026613A1 (en) | Scope-based certificate deployment | |
CN111597269A (zh) | 一种基于区块链的合约实现方法、装置及设备 | |
JP6769999B2 (ja) | セキュア計算環境 | |
KR102333811B1 (ko) | 블록체인 기반의 카드 결제 처리 시스템 및 방법 | |
CN110851813B (zh) | 身份验证方法、区块链系统的节点装置和区块链系统 | |
CN109063461B (zh) | 一种第三方免密登录方法及系统 | |
WO2022206433A1 (zh) | 一种在Fabric区块链中预执行链码的方法和装置 | |
WO2022205959A1 (zh) | 在区块链中发送交易和执行交易的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |