CN117040766B - 基于区块链的数据处理方法、装置、设备及可读存储介质 - Google Patents
基于区块链的数据处理方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN117040766B CN117040766B CN202311291602.2A CN202311291602A CN117040766B CN 117040766 B CN117040766 B CN 117040766B CN 202311291602 A CN202311291602 A CN 202311291602A CN 117040766 B CN117040766 B CN 117040766B
- Authority
- CN
- China
- Prior art keywords
- approval
- signature
- transaction data
- blind
- key
- 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.)
- Active
Links
- 238000003860 storage Methods 0.000 title claims abstract description 25
- 238000003672 processing method Methods 0.000 title claims abstract description 12
- 238000012545 processing Methods 0.000 claims abstract description 99
- 238000000034 method Methods 0.000 claims abstract description 58
- 238000012795 verification Methods 0.000 claims description 157
- 238000004590 computer program Methods 0.000 claims description 22
- 238000012552 review Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 12
- 230000008520 organization Effects 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 9
- 238000007726 management method Methods 0.000 description 63
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 13
- 230000003993 interaction Effects 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 239000003999 initiator Substances 0.000 description 8
- 230000000977 initiatory effect Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3257—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using blind signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请公开了一种基于区块链的数据处理方法、装置、设备及可读存储介质,方法包括:采用主对象的签名密钥对接收到的盲化交易数据进行盲签名处理,得到盲签名信息;验证盲签名信息的有效性;在确定盲签名信息具备有效性时,采用至少两个审批对象的审批签名密钥,对盲化交易数据进行多重签名审批;至少两个审批对象具备盲化交易数据的审批权限,主对象与至少两个审批对象中的每个审批对象之间均具有从属关系;在确定盲化交易数据的多重签名审批结果为审批通过结果时,调用与主对象相关的资源管理合约对盲化交易数据进行上链处理。采用本申请,可以同时提升区块链中交易数据的隐私性与安全性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于区块链的数据处理方法、装置、设备及可读存储介质。
背景技术
区块链是一种分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,主要用于对数据按时间顺序进行整理,并加密成账本,使其不可被篡改和伪造,同时可进行数据的验证、存储和更新。
由于区块链具备防篡改性与数据一致性等特性,区块链得到了广泛应用,越来越多的企业或机构采用区块链来存储相关交易数据。然而,由于区块链的公开透明性,使得区块链中所存储的相关数据能够被企业中的每个成员查阅,这将不利于保护企业内部的不同成员之间的交易隐私性,使得不同成员的相关交易数据存在被恶意泄露的风险,即企业内部的交易数据存在有一定的安全隐患。因此,当前亟需一种方案,能够使得企业内部的交易数据被完好存储于区块链上的同时,提升交易数据的安全性和隐私性。
发明内容
本申请实施例提供一种基于区块链的数据处理方法、装置、设备及可读存储介质,可以同时提升区块链中交易数据的隐私性与安全性。
本申请实施例一方面提供了一种基于区块链的数据处理方法,包括:
采用主对象的签名密钥对接收到的盲化交易数据进行盲签名处理,得到盲签名信息;盲化交易数据是通过对原始交易数据进行盲化处理后所得到的;
验证盲签名信息的有效性;
在确定盲签名信息具备有效性时,采用至少两个审批对象的审批签名密钥,对盲化交易数据进行多重签名审批;至少两个审批对象具备盲化交易数据的审批权限,主对象与至少两个审批对象中的每个审批对象之间均具有从属关系;
在确定盲化交易数据的多重签名审批结果为审批通过结果时,调用与主对象相关的资源管理合约对盲化交易数据进行上链处理。
本申请实施例一方面提供了一种基于区块链的数据处理装置,包括:
盲签名模块,用于采用主对象的签名密钥对接收到的盲化交易数据进行盲签名处理,得到盲签名信息;盲化交易数据是通过对原始交易数据进行盲化处理后所得到的;
验证模块,用于验证盲签名信息的有效性;
多重签名模块,用于在确定盲签名信息具备有效性时,采用至少两个审批对象的审批签名密钥,对盲化交易数据进行多重签名审批;至少两个审批对象具备盲化交易数据的审批权限,主对象与至少两个审批对象中的每个审批对象之间均具有从属关系;
合约调用模块,用于在确定盲化交易数据的多重签名审批结果为审批通过结果时,调用与主对象相关的资源管理合约对盲化交易数据进行上链处理。
在一个实施例中,在盲签名模块采用主对象的签名密钥对接收到的盲化交易数据进行盲签名处理,得到盲签名信息之前,基于区块链的数据处理装置还包括:
注册请求接收模块,用于接收针对主对象的密钥注册请求;密钥注册请求用于请求注册主对象的关联密钥;主对象的关联密钥包括主对象的签名密钥地址、一个或多个从对象的签名密钥地址以及至少两个审批对象的签名密钥地址;一个或多个从对象中的每个从对象是指从属于主对象的对象;
密钥注册模块,用于基于密钥注册请求,将主对象的签名密钥、一个或多个从对象的签名密钥地址以及至少两个审批对象的签名密钥地址,均注册至与主对象相关的密钥管理***中。
在一个实施例中,盲签名模块采用主对象的签名密钥对接收到的盲化交易数据进行盲签名处理,得到盲签名信息的具体方式,包括:
接收第一从对象发送的盲化交易数据;盲化交易数据携带有交易签名信息;交易签名信息是基于第一从对象的第一待验证密钥对盲化交易数据进行签名后所得到的;第一从对象是指从属于主对象的任一从对象;
将与主对象相关的密钥管理***中所注册的第一从对象的签名密钥地址,确定为交易签名信息的第一验签密钥;
通过第一验签密钥对交易签名信息进行验签处理,得到第一验签结果;
在确定第一验签结果为验签通过结果时,确定第一待验证密钥为第一从对象的合法签名密钥,调用盲签名组件,在盲签名组件中采用主对象的签名密钥对接收到的盲化交易数据进行盲签名处理,得到盲签名信息。
在一个实施例中,验证模块验证盲签名信息的有效性的具体方式,包括:
调用多重签名组件,通过所述多重签名组件从与所述主对象相关的密钥管理***中,获取所注册的所述主对象的签名密钥地址;
将所述主对象的签名密钥地址确定为所述盲签名信息的第二验签密钥;
通过所述第二验签密钥对所述盲签名信息进行验签处理,得到第二验签结果;
在确定所述第二验签结果为验签通过结果时,确定所述盲签名信息具备有效性;
在确定所述第二验签结果为验签失败结果时,确定所述盲签名信息具备无效性。
在一个实施例中,盲化交易数据是由第一从对象所发送;第一从对象是指从属于主对象的任一从对象;
多重签名模块采用至少两个审批对象的审批签名密钥,对盲化交易数据进行多重签名审批的具体方式,包括:
调用多重签名组件,通过多重签名组件获取具备盲化交易数据的审批权限的至少两个审批对象;至少两个审批对象均从属于第一从对象;
将盲化交易数据发送至至少两个审批对象,以使至少两个审批对象采用至少两个审批签名密钥对盲化交易数据进行多重签名审批;至少两个审批对象中的一个审批对象,具备至少两个审批签名密钥中的一个审批签名密钥。
在一个实施例中,在多重签名模块将盲化交易数据发送至至少两个审批对象之后,基于区块链的数据处理装置还包括:
签名信息接收模块,用于接收至少两个审批对象返回的多重签名信息;多重签名信息包括N个审批签名信息;至少两个审批对象包括审批对象Si,N个审批签名信息包括审批对象Si对应的审批签名信息Xi,审批签名信息Xi是基于审批对象Si的第二待验证密钥对盲化交易数据进行签名后所得到的;i、N均为正整数;
审批签名验证模块,用于对审批签名信息Xi进行有效性验证,得到审批签名信息Xi的有效性验证结果;
多重签名验证模块,用于若确定出N个审批签名信息中每个审批签名信息的有效性验证结果,则基于N个有效性验证结果确定多重签名信息的有效性;
审批结果确定模块,用于在确定多重签名信息具备有效性时,根据N个审批签名信息所包含的审批签名信息的数量,与至少两个审批对象所包含的审批对象的数量,确定交易数据的多重签名审批结果。
在一个实施例中,审批签名验证模块对审批签名信息Xi进行有效性验证,得到审批签名信息Xi的有效性验证结果的具体方式,包括:
将与主对象相关的密钥管理***中所注册的审批对象Si的签名密钥地址,确定为审批签名信息Xi的第三验签密钥;
通过第三验签密钥对审批签名信息Xi进行验签处理,得到第三验签结果;
在确定第三验签结果为验签通过结果时,确定第二待验证密钥为审批对象Si的合法签名密钥,确定审批签名信息Xi的有效性验证结果为有效签名结果;
在确定第三验签结果为验签失败结果时,确定第二待验证密钥为审批对象Si的异常签名密钥,确定审批签名信息Xi的有效性验证结果为无效签名结果。
在一个实施例中,多重签名验证模块基于N个有效性验证结果确定多重签名信息的有效性的具体方式,包括:
统计N个有效性验证结果中所包含的有效签名结果的第一数量;
统计N个有效性验证结果所包含的有效性验证结果的第二数量;
将第一数量与第二数量进行比较;
若确定第一数量与第二数量相同,则确定多重签名信息具备有效性;
若确定第一数量与第二数量不同,则确定多重签名信息具备无效性。
在一个实施例中,审批结果确定模块根据N个审批签名信息所包含的审批签名信息的数量,与至少两个审批对象所包含的审批对象的数量,确定交易数据的多重签名审批结果的具体方式,包括:
将N个审批签名信息所包含的审批签名信息的数量确定为第三数量;
将至少两个审批对象所包含的审批对象的数量确定为第四数量;
确定第三数量与第四数量之间的第一数量比值;
若第一数量比值大于比值阈值,则确定交易数据的多重签名审批结果为审批通过结果;
若第一数量比值小于比值阈值,则确定交易数据的多重签名审批结果为审批不通过结果。
在一个实施例中,在合约调用模块调用与主对象相关的资源管理合约对盲化交易数据进行上链处理之后,基于区块链的数据处理装置还包括:
查阅请求接收模块,用于接收第二从对象发送的针对原始交易数据的查阅请求;查阅请求用于请求查阅原始交易数据;
请求发送模块,用于将查阅请求发送至至少两个审批对象;
权限确定模块,用于按照至少两个审批对象返回的投票信息,确定第二从对象关于原始交易数据的查阅权限;
通知发送模块,用于在确定第二从对象具备原始交易数据的查阅权限时,向第二从对象发送允许查阅通知,以使第二从对象基于允许查阅通知从区块链中查阅原始交易数据。
在一个实施例中,权限确定模块按照至少两个审批对象返回的投票信息,确定第二从对象关于原始交易数据的查阅权限的具体方式,包括:
在至少两个审批对象返回的投票信息中,统计投票通过信息的通过数量;
统计至少两个审批对象所包含的审批对象的总数量;
确定通过数量与总数量之间的第二数量比值;
若确定第二数量比值大于比值阈值,则确定第二从对象具备原始交易数据的查阅权限;
若确定第二数量比值小于比值阈值,则确定第二从对象不具备原始交易数据的查阅权限。
在一个实施例中,盲化交易数据是基于盲化加密密钥对原始交易数据进行盲化处理后所得到的;
通知发送模块在确定第二从对象具备原始交易数据的查阅权限时,向第二从对象发送允许查阅通知的具体方式,包括:
在确定第二从对象具备原始交易数据的查阅权限时,生成密钥查询请求;密钥查询请求用于请求获取盲化交易数据的盲化解密密钥;
将密钥查询请求发送至至少两个审批对象中的目标审批对象;目标审批对象是指至少两个审批对象中的任一个审批对象;
接收目标审批对象返回的盲化交易数据的盲化解密密钥,生成包含盲化解密密钥的允许查阅通知,将允许查阅通知发送至第二从对象;盲化解密密钥用于第二从对象对从区块链中获取到的盲化交易数据进行解密以得到原始交易数据。
本申请实施例一方面提供了一种计算机设备,包括:处理器和存储器;
存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请实施例中的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行本申请实施例中的方法。
本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行本申请实施例中一方面提供的方法。
在本申请实施例中,提出一种针对主对象的资源管理合约的方案,该方案通过盲签名与多重签名,来多维度地保护主对象中的不同交易数据的安全性与隐私性。具体的,对于主对象内的原始交易数据,可以对其进行盲化处理得到盲化交易数据后,再利用主对象层面的签名密钥对接收到的盲化交易数据进行盲签名处理,得到一个盲签名信息;进一步地,在验证该盲签名信息具备有效性后,可以采用至少两个审批对象(每个审批对象均具备该盲化交易数据的审批权限,且每个审批对象均与该主对象具有从属关系)的审批签名密钥,对盲化交易数据进行多重签名审批,在确定该多重签名审批结果为审批通过结果后,再调用与该主对象相关的资源管理合约对该盲化交易数据进行上链处理。应当理解,通过将原始交易数据进行盲化处理再基于主对象的签名密钥对盲化交易数据进行盲签名处理,可以使得该主对象内部的原始交易数据的具体内容只能由交易发起者所得知,主对象内的其他非交易发起者无法得知该原始交易数据的具体内容,只能确定该原始交易数据的盲化交易数据是经过主对象签名认可的,由此可以很好地保护该原始交易数据的隐私性,减少该原始交易数据被恶意泄露的风险,那么也可以提升该原始交易数据的安全性;此外,对于经主对象签名认可的盲化交易数据,可以通过具有审批权限的审批对象对其进行多重签名审批,该盲化交易数据需要经过多方审批才能够执行上链,那么通过多重签名审批可以进一步地提升该盲化交易数据的可靠性。综上,本申请可以在基于区块链存储主对象中的相关交易数据的业务中,提升交易数据的安全性与隐私性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构图;
图2是本申请实施例提供的一种对交易数据进行多重签名审批的示意图;
图3是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图4是本申请实施例提供的一种***架构示意图;
图5是本申请实施例提供的一种对交易数据进行多重签名审批得到多重签名审批结果的流程示意图;
图6是本申请实施例提供的一种***逻辑交互流程图;
图7是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图;
图8是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例所提供的方法涉及到区块链等相关技术,为便于理解,以下将优先对区块链及其相关技术进行阐述:
1、区块链:狭义上,区块链是一种以区块为基本单位的链式数据结构,区块中利用数字摘要对之前获取的交易历史进行校验,适合分布式记账场景下防篡改和可扩展性的需求;广义上,区块链还指代区块链结构实现的分布式记账技术,包括分布式共识、隐私与安全保护、点对点通信技术、网络协议、智能合约等。区块链的目标是实现一个分布的数据记录账本,此账本只允许添加,不允许删除。账本底层的基本结构是一个线性的链表。链表由一个个“区块”串联组成,后继区块中记录前继区块的哈希(Hash)值,每个区块(以及区块中的交易)是否合法,可通过计算哈希值的方式进行快速检验。若网络中的节点提议添加一个新的区块,必须经过共识机制对区块达成共识确认。
2、区块链节点:区块链网络将节点区分为共识节点(也可以称作核心节点)、数据节点或轻节点。其中,共识节点负责区块链全网的共识业务;数据节点或轻节点负责同步共识节点的账本信息,即同步最新的区块数据。无论是共识节点还是数据节点(或轻节点),其内部构造都包括网络通信组件,因为区块链网络本质是一个点对点网络,需通过相关组件与区块链网络中的其他节点进行通信。区块链网络中的资源和服务都分散在各个节点上,信息的传输和服务的实现都直接在节点之间进行,无需中间环节或中心化的服务器(第三方)介入。
3、公钥(public key)与私钥(private key):公钥与私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密数据、验证数字签名等。通过这种算法能够确保得到的密钥对是唯一的,使用这种密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密,例如,用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。
4、哈希值:也称作信息特征值或特征值,哈希值是通过哈希算法将任意长度的输入数据转换为密码并进行固定输出而生成的,不能通过解密哈希值来检索原始输入数据,它是一个单向的加密函数。在区块链中,每个区块(除了初始区块)都包含前继区块的哈希值,前继区块被称为当前区块的父区块。哈希值是区块链技术中的潜力核心基础和最重要的方面,它保留了记录和查看数据的真实性,以及区块链作为一个整体的完整性。
5、智能合约(Smart Contract):是一种旨在以信息化方式传播、验证或执行合同的计算机协议。在区块链***当中,智能合约(简称合约)是一种区块链各节点可以理解并执行的代码,可以执行任意逻辑并得到结果。在实际应用中,智能合约通过区块链上的交易来管理与试用。每条交易相当于对区块链***的一个远程过程调用(Remote ProcedureCall,RPC)请求。如果说智能合约相当于可执行程序,区块链就相当于提供运行环境的操作***。区块链可以包含多个合约,以合约账号(Identity,ID)、标识号或名称来区分。例如,智能合约中可以包含治理共识委员会合约,其主要用于管理共识节点,可以包括记录共识节点的节点状态,动态地加入共识节点,剔除异常共识节点等。
请参见图1,图1是本申请实施例提供的一种网络架构图。如图1所示,该网络架构可以包括终端设备集群10以及区块链网络,而区块链网络中可以包括核心节点(共识节点)集群1000、数据节点或轻节点集群100。该核心节点集群1000可以包括至少两个核心节点,数据节点集群100可以包括至少两个数据节点。如图1所示,该核心节点集群1000可以包括核心节点1000a、核心节点1000b、…、核心节点1000n,该数据节点集群100具体可以包括数据节点100a、数据节点100b、…、数据节点100n,该终端设备集群10具体可以包括终端设备10a、终端设备10b、…、终端设备10n。
如图1所示,终端设备10a、终端设备10b、…、终端设备10n可以分别与数据节点100a、数据节点100b、…、数据节点100n进行网络连接,以便于终端设备可以通过该网络连接与数据节点进行数据交互;数据节点100a、数据节点100b、…、数据节点100n可以分别与核心节点1000a、核心节点1000b、…、核心节点1000n进行网络连接,以便于数据节点可以通过该网络连接与核心节点进行数据交互;数据节点100a、数据节点100b、…、数据节点100n互相连接,以便于数据节点之间可以进行数据交互,核心节点1000a、核心节点1000b、…、核心节点1000n互相连接,以便于核心节点之间可以进行数据交互。
以终端设备10a、数据节点100a以及核心节点1000a为例,数据节点100a可以接收到终端设备10a发送的交易业务请求(该交易业务请求中携带智能合约的ID或名称),随后,数据节点100a可以通过数据节点集群100将该交易业务请求发送至核心节点1000a;而核心节点1000a可以运行该智能合约,并通过该智能合约执行该交易业务,得到执行结果后,可以将该执行结果存储至内存池(如交易池)中,并根据该执行结果生成新的区块;随后,核心节点1000a可以根据区块链网络中其他核心节点(即共识节点)的节点标识,将上述新生成的区块分别发送给其所在的区块链网络中的其他核心节点,由其他核心节点对新生成的区块进行校验(即进行共识),并在完成校验后将上述新生成的区块添加至其存储的区块链中(也就是说,在共识通过后将执行结果存储至区块链中)。其中,区块链网络中的每个核心节点,均具有与其对应的节点标识,而且区块链网络中的每个核心节点均可以存储有区块链网络中其他核心节点的节点标识,以便后续根据其他核心节点的节点标识,将生成的区块广播至区块链网络中的其他核心节点,使得区块链网络中全部核心节点上存储的数据均一致。
其中,如图1所示的终端设备具体可以是产生交易信息的业务方所使用的台式终端或移动终端,具体可以为智能手机、平板电脑、笔记本电脑、桌上型电脑、智能电视、智能音箱、台式计算机、智能手表、智能车载终端等携带数据处理功能的智能终端,但并不局限于此。终端设备所产生的交易信息(交易数据)在经过用户授权后,可以经数据节点或轻节点传递至共识节点,共识节点可以将终端设备产生的交易信息(交易数据)记录至区块链上。数据节点集群100中的任一数据节点可以用独立的服务器或者是多个服务器组成的服务器集群来实现,核心节点集群1000中的任一核心节点可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
可以理解的是,终端设备的交易业务可以理解为交易数据,对于区块链存储交易数据的主要形式为:将交易数据以接力棒的形式传递至共识节点,共识节点再对接收到的交易数据进行交易验证,在交易验证通过后可以将其添加至自己的交易池中,在添加交易数据至自己的交易池之后,该共识节点可以将该交易数据广播至区块链的其他共识节点,而其他共识节点也会对该交易数据进行验证,然后再对该交易数据进行验证,在验证通过后可以将交易数据添加至自己的交易池中。进一步地,对于每个共识节点而言,在接收到出块信号(出块信号可以是指定时器发出的出块信号或交易池发出的出块信号)时,共识节点可以从交易池中获取一批交易数据来进行打包出块(即打包交易数据生成区块),对于生成的区块需要广播至每个共识节点,以使得所有的共识节点来对新生成的区块进行共识校验,在通过各个共识节点的共识后可以将区块添加到区块链上。
应当理解,由于区块链具备公开性、透明性、数据一致性等特点,所以当前区块链已经应用于多个领域中,例如,在金融、医疗、保险等领域中,相关金融企业(如银行)、医疗企业(如医疗机构)以及保险企业均采用区块链中的智能合约来管理企业的资源业务(这里的资源业务可以是指企业中产生的资金交易业务),也就是说,这些企业会在区块链中创建一个用于对企业的资源业务进行管理的智能合约,从而可以使得企业中产生的相关资源交易业务中的交易数据(如资源汇出交易、资源接收交易、资源抵押交易等等)能够通过智能合约在区块链上进行存储、更新等操作,该资源管理合约也可以理解为企业的钱包合约。然而,通过区块链存储资源交易业务中的交易数据的方式,会使得企业内每个交易数据均变得公开透明,这在一些需要高度保护数据隐私性与安全性的场景中,将会存在数据被恶意获取泄露的风险。例如,对于企业中不同部门产生的不同交易数据,可能存在部门内部的隐私性需求,也就是说,部门内部产生的交易数据,可能仅限与部门内部的成员知晓查阅,其他部门的成员不能查阅交易数据。那么通过区块链公开存储每个部门的交易数据的方式,可能会使得各个部门之间的交易数据均变得公开透明,应当重点隐私保护的交易数据变成了公知内容,这可能会存在交易数据被恶意泄露的可能,不利于保护交易数据的隐私性与安全性。
基于此,本申请提出了一种针对主对象(这里的主对象可以是指任一具有组织形式的对象,例如,主对象可以是指具有组织形式的企业、小组(如具有多人组织形式的学习小组、考核小组等等)、部门(如具有多人组织形式的电学部门、机械部门等等)等等)的资源管理合约(这里的资源管理合约可以是指针对主对象的钱包合约,其具体可以是指用于对主对象中的资源(如虚拟钻石、虚拟金币等资源)进行管理的智能合约),通过本申请提供的方案可以提升该资源管理合约所上链的交易数据的安全性与隐私性。具体的,对于主对象内的某个从对象(可以是指从属于该主对象的某个对象,以主对象为企业为例,该从对象可以是指属于该企业中的某个部门、某个小组或某个团队等)中产生的交易数据(如资源交易数据),若该从对象期望高度保护该交易数据的隐私性,那么该从对象可以对该发起的该资源交易数据进行盲化处理(这里的盲化处理可以是指对该资源交易数据进行加密处理),得到盲化交易数据后再将该盲化交易数据提交至主对象层面所对应的对象设备(对象设备可以是指一个计算机设备,该计算机设备具体可以指一个终端设备或服务器设备),通过该主对象对应的对象设备可以获取到主对象的签名密钥(例如,主对象的私钥),采用该主对象的签名密钥可以对接收到的盲化交易数据进行盲签名处理,由此可以得到盲签名信息。应当理解,主对象的对象设备对该盲化交易数据进行盲签名处理前,需要先确定该盲化交易数据是否是由主对象内部的某个对象所发起的(具体的,这里可以验证提交该盲化交易数据的从对象是否为主对象内部的对象,即该从对象是否从属于该主对象。其具体验证方式可以参见后续图3所对应实施例中的描述),由此才可以确保该盲化交易数据是由主对象内部所发起的交易数据,而通过对该盲化交易数据进行盲签名,可以使得主对象层面无法得知该资源交易数据(也就是从对象所发起的未经过盲化处理的原始交易数据)的具体内容,同时也可以使得主对象内的其他从对象也无法得知该盲化交易数据的具体发起对象是谁(由于该盲化交易数据是由主对象的签名密钥所签名的)。
也就是说,从对象通过对发起的一笔原始交易数据进行盲化处理后,通过主对象对盲化交易数据进行盲签名的方式,可以使得除发起交易的从对象以外的任何对象,均无法获取到原始交易数据的交易内容,主对象内的其他从对象也无法获取到该盲化交易数据的具体发起对象,从而可以很好地保护交易发起对象的隐私性,也可以减少该原始交易数据被恶意获取并泄露的可能,从而可以提升该原始交易数据的隐私保护能力。
进一步地,对于该盲签名信息可以进行验证,在确定该盲签名信息具备有效性时,即可获取到从对象中具备审批权限的至少两个审批对象(每个审批对象可以是指与从对象之间具有从属关系的对象,例如,以主对象为企业为例,从对象可以是指部门、小组或团队,那么这里的审批对象可以是指部门、小组或团队中的某个具备审批权限的成员),通过至少两个审批对象的审批签名密钥(如审批对象的私钥),可以对盲化交易数据进行多重签名审批,由此可以得到一个多重签名审批结果,在多重签名审批结果为审批通过结果时,即可调用与该主对象相关的资源管理合约对该盲化交易数据进行上链处理(也就是将该盲化交易数据添加至区块链中)。
可以理解的是,这里的多重签名审批可以是指多个审批对象对同一个交易数据(如盲化交易数据)进行签名审批,也就是说,多个审批对象拥有同一个交易数据的签名权和审批权,在多个审批对象中超过阈值数量的审批对象均签名审批通过后,才能确定该交易数据能够被执行(即交易数据的多重签名结果为审批通过结果),那么通过多重签名审批可以分散交易数据的审批权,使得交易数据的审批变得更为公正可靠,由此也可以提升添加到链上的交易数据(如盲化交易数据)更具备可靠性。
为便于理解多重签名审批的具体过程,请一并参见图2,图2是本申请实施例提供的一种对交易数据进行多重签名审批的示意图。其中,多重签名是指多个对象(如用户、机构或程序脚本等)同时对一个交易数据进行签名,可以简单的理解为:多个人对一个账户发起的交易数据拥有签名权与支付权,如果一个账户地址只能由一个私钥签名和支付,表现形式就是1/1;而多重签名的表现形式为m/n(即一共有n个私钥可以对一个账户签名,而当账户发起的交易数据存在有m个签名时,该交易数据即可被支付执行。也就是说,m是小于或等于n的)。
如图2所示的多重签名可以是指表现形式为2/3的多重签名,也就是说,多重签名***中包含有3个对象,这3个对象均可以作为审批对象,其同时拥有对同一个交易数据的签名权(审批权),该多重签名***也就对应于本申请中的某个从对象,从对象中的这3个审批对象同时具备从对象内部的交易数据的签名权(审批权),那么对于对象a1(可以是指从对象内部中的某个成员)发起的交易数据,在提交至多重签名***后,多重签名***中的各个审批对象会对其进行签名审批。例如,如图2所示,假设审批对象b1与审批对象b2均对该交易数据进行了签名审批,那么在该多重签名***中,即存在了2个审批对象进行了签名审批,达到了比值2/3,该交易数据已经可以被执行。
可以理解的是,本申请在资源管理合约(钱包合约)中,引入盲签名技术与多重签名技术,通过盲签名技术可以采用主对象层面的签名密钥来对主对象中的经过盲化处理后的盲化交易数据进行盲签名,那么对于主对象层面而言,可以得知该盲化交易数据对应的原始交易数据是由主对象内部的某个对象所提交的,但对于主对象中的其他对象而言,是无法确定该原始交易数据的具体提交对象的,同时,其他对象也无法获取到原始交易数据的具体内容,由此可以很好地保护该交易数据的隐私性;此外,对于该盲化交易数据,也会由多个审批对象对其进行多重签名审批,由此也可以提升该交易数据的可靠性。
可以理解的是,本申请的终端设备中可以安装有目标应用(即应用客户端),当该应用客户端运行于终端设备中时,可以与上述图1所示的区块链网络中的其他区块链节点之间进行数据交互。其中,该应用客户端可以包含多媒体客户端(例如,视频客户端)、娱乐客户端(例如,游戏客户端)、教育客户端、直播客户端等应用客户端。其中,该应用客户端可以为独立的客户端,也可以为集成在某客户端(例如,教育客户端以及多媒体客户端等)中的嵌入式子客户端,在此不做限定。本申请中区块链节点可以是指服务器,该服务器可以通过终端设备中的应用,与终端设备之间进行数据交互(如服务器可以接收到终端设备中的应用的业务数据(如用户产生的交易数据),服务器可以将这些业务数据进行处理并上链)。这里的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
可以理解的是,本发明实施例提供的方法可以由计算机设备执行,计算机设备包括但不限于终端设备或服务器(如业务服务器)。本发明实施例中的区块链节点可以为计算机设备。
需要说明的是,在本申请的具体实施方式中,涉及到用户信息、用户数据(如用户发起的交易信息、交易数据)等相关的数据,均是需要经过用户手动授权许可(即经过用户同意)才进行获取得到的。也就是说,当本申请以上实施例运用到具体产品或技术中时,本申请实施例所提供的方法与相关功能是在获得用户许可或者同意下所运行的(可以由用户主动开启本申请实施例所提供的功能),且相关数据的收集、使用和处理需要遵守相关地域、地区的相关法律法规和标准。
为便于理解,接下来将结合附图对本申请实施例提供的数据处理方法进行详细描述。请参见图3,图3是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图。该流程可以由计算机设备来执行,该计算机设备可为如图1所示的终端设备,也可以是指某个服务器。如图3所示,该流程可以至少包括以下步骤S101-步骤S104:
步骤S101,采用主对象的签名密钥对接收到的盲化交易数据进行盲签名处理,得到盲签名信息;盲化交易数据是通过对原始交易数据进行盲化处理后所得到的。
本申请中,主对象可以是指任一具有组织形式的对象,例如,主对象可以是指具有组织形式的企业、小组(如具有多人组织形式的学习小组、考核小组等等)、部门(如具有多人组织形式的电学部门、机械部门等等)等等,主对象的签名密钥可以是指能够用于表征主对象的身份的密钥,该密钥可用于对主对象内的相关交易数据(如资源汇出交易数据、资源接收交易数据、资源抵押交易数据等等)进行签名,所以该密钥也可称之为主对象的签名密钥。
具体的,本申请中可以利用区块链中的公钥与私钥的特性,将主对象的签名密钥确定为主对象的私钥,那么通过主对象的签名密钥地址即可对该主对象进行身份认证。具体的,基于区块链的特性可知,私钥可通过加密算法生成一个公钥,通过公钥可以对私钥加密的数据进行解密,通过私钥可以对公钥加密的数据进行解密。其中,由于用于表征公钥的字符串较长,那么通常情况下会选取公钥的前多位(如前20位)字符串来作为公钥的地址,即一个公钥可以映射得到一个地址,而该地址可称之为签名密钥地址。且基于上述可知,私钥是非公开的部分,公钥可以是指公开的部分,那么本申请中的签名密钥地址也可作为公开的内容。
也就是说,本申请中,主对象、属于主对象中的某个从对象(从对象可以是指属于主对象的某个对象,以主对象为企业为例,该从对象可以是指企业中的某个部门、小组或团队)、属于从对象中的某个对象(以从对象为企业中的某个部门为例,该对象可以是指部门中的某个成员)均可具备公钥与私钥,而本申请可以为主对象构建一个密钥管理***,主对象的签名密钥地址、从对象的签名密钥地址以及从对象中的各个审批对象的签名密钥地址,均可以注册于该密钥管理***中,那么后续即可基于该密钥管理***中所注册的各个签名密钥地址,来对不同的对象进行身份认证。例如,可以通过密钥管理***中,主对象的签名密钥地址来对主对象进行身份认证,可以通过密钥管理***中,从对象的签名密钥地址,来对从对象进行身份认证(通过从对象的身份认证也可以确保该从对象是否属于该主对象),通过密钥管理***,不同审批对象的签名密钥地址,也可以对不同的审批对象进行身份认证。其中,这里的审批对象可以是指从对象中具备交易数据的审批权限的对象,例如,以从对象为企业中的某个小组而言,该小组内所产生的任意资源交易,均需要经两个小组长与两个副组长的审批,那么该小组内具备审批权限的对象即可为这四个成员,这四个成员均可作为该小组内的审批对象。换言之,每个从对象中均包含有不同的审批对象,且审批对象是指具备从对象中的交易数据的审批权限的对象(成员)。
基于上述可知,本申请需要先在主对象的密钥管理***中注册与主对象相关的签名密钥地址,由此在后续中才能够使用该密钥管理***中所注册的各个签名密钥地址,来验证不同对象的身份,以确保后续产生的交易数据,均是由主对象内部所发起的交易数据。也就是说,本申请在采用主对象的可信签名密钥对接收到的盲化交易数据进行盲签名处理,得到盲签名信息之前,还应该执行注册主对象相关的密钥的步骤。具体的,密钥管理***可以部署于主对象对应的对象设备中,那么主对象中的某个对象(如具备主对象的管理权限的某个对象)可以向该密钥管理***发送针对该主对象的密钥注册请求,其中,该密钥注册请求中可以包含有主对象的关联密钥,该主对象的关联密钥可以包括主对象的签名密钥地址、一个或多个从对象(一个或多个从对象中的每个从对象是指从属于主对象的对象)的签名密钥地址以及至少两个审批对象的签名密钥地址,至少两个审批对象可以是指每个从对象中的审批对象,也就是说,在进行密钥注册时,可以注册每个从对象的签名密钥地址,也可以注册从对象中每个审批对象的签名密钥地址。也就是说,这里的至少两个审批对象可以是指某个从对象中所包含的审批对象,也可以是指全部从对象中包含的全部审批对象。
而密钥管理***接收到针对主对象的密钥注册请求后,可以基于密钥注册请求,将主对象的签名密钥地址、一个或多个从对象的签名密钥地址以及至少两个审批对象的签名密钥地址,均注册至与主对象相关的密钥管理***中。由此,即可通过该密钥管理***中所注册的各个签名密钥地址,查询到属于该主对象的从对象有哪些、属于主对象下的从对象的审批对象有哪些。
可以理解的是,在密钥管理***中注册完成主对象的相关密钥后,主对象中不同从对象即可向主对象提交交易数据(如资源交易数据),且为了提升所提交的交易数据的隐私性,提交交易数据的从对象可以对该交易数据进行盲化处理(盲化处理可以理解为加密处理,使得交易数据从明文传输变成密文传输),那么这里可以将从对象的未经过盲化处理的交易数据称为原始交易数据,将盲化处理后的交易数据称为盲化交易数据,而从对象向主对象所提交的可以是指盲化交易数据,由此可以使得原始交易数据并不是明文传输。此外,为了提升交易数据的传输安全性,对于盲化处理后的盲化交易数据,向主对象发送前,可以基于该发送交易数据的从对象的私钥,对该盲化交易数据进行签名,而主对象在接收到该盲化签名数据后,可以通过密钥管理***中所注册的该从对象的签名密钥地址,来对该签名进行验签以验证该从对象的身份(验证其是否属于该从对象),在验证通过后,才能够采用主对象的签名密钥(如私钥)对该盲化交易数据进行签名,得到盲签名信息。
具体的,以发送盲化交易数据的从对象为第一从对象为例,对于采用主对象的签名密钥对接收到的盲化交易数据进行盲签名处理,得到盲签名信息的具体实现方式,可为:可以接收第一从对象发送的盲化交易数据;其中,通过上述可知,盲化交易数据可以携带有交易签名信息,该交易签名信息是基于第一从对象的第一待验证密钥(也就是对盲化交易数据进行签名的密钥,本申请可以将其称之为第一验证密钥)对盲化交易数据进行签名后所得到的;第一从对象是指从属于主对象的任一从对象;进一步地,可以将与主对象相关的密钥管理***中所注册的第一从对象的签名密钥地址,确定为交易签名信息的第一验签密钥;通过第一验签密钥可以对交易签名信息进行验签处理,由此可以得到第一验签结果;在确定第一验签结果为验签通过结果时,即可确定第一待验证密钥为第一从对象的合法签名密钥(例如,可以确定该第一待验证密钥确实为该第一从对象的私钥),可以调用盲签名组件,在盲签名组件中可以采用主对象的签名密钥(如主对象的私钥)对接收到的盲化交易数据进行盲签名处理,由此即可得到盲签名信息。
步骤S102,验证盲签名信息的有效性。
本申请中,对于第一从对象所提交的盲化交易数据,经过主对象层面的盲签名处理后,需要发送至第一从对象中的至少两个审批对象,至少两个审批对象再对其进行去盲处理然后对其进行多重签名审批。那么在对其进行多重签名审批前,需要先验证该盲签名信息的有效性,以确保该盲化交易数据是经过主对象许可的。
对于验证盲签名信息的有效性的具体实现方式,可为:可以调用多重签名组件,通过多重签名组件可以从与主对象相关的密钥管理***中,获取到所注册的主对象的签名密钥地址;进一步地,可以将主对象的签名密钥地址确定为盲签名信息的第二验签密钥;通过该第二验签密钥可以对盲签名信息进行验签处理,由此可以得到第二验签结果;在确定第二验签结果为验签通过结果时,即可确定盲签名信息具备有效性;而在确定第二验签结果为验签失败结果时,可以确定盲签名信息具备无效性。
应当理解,在该第二验签结果为验签通过结果时,即可确定该盲签名信息确实是由主对象的私钥所签名得到的,由此可以确定该第二从对象所提交的盲化交易数据,是经由主对象层面所认可的,那么后续即可通过第一从对象中的至少两个审批对象对该盲化交易数据进行多重签名审批。
步骤S103,在确定盲签名信息具备有效性时,采用至少两个审批对象的审批签名密钥,对盲化交易数据进行多重签名审批;至少两个审批对象具备盲化交易数据的审批权限,主对象与至少两个审批对象中的每个审批对象之间均具有从属关系。
本申请中,在确定盲签名信息具备有效性时,即可调用多重签名组件,通过该多重签名组件可以采用至少两个审批对象的审批签名密钥(如审批对象的私钥),对该盲化交易数据进行多重签名审批,得到一个多重签名审批结果。
步骤S104,在确定盲化交易数据的多重签名审批结果为审批通过结果时,调用与主对象相关的资源管理合约对盲化交易数据进行上链处理。
本申请中,只有在确定该盲化交易数据的多重签名审批结果时,才能够调用与主对象相关的资源管理合约对该盲化交易数据进行上链处理。具体的,对于经多重签名审批后的盲化交易数据,资源管理合约可以将该盲化交易数据添加至交易池内,然后再从交易池内获取盲化交易数据在内的一批交易数据进行打包生成区块,再将该区块添加至区块链中。
可以理解的是,对于区块链中所存储的该盲化交易数据,通过该盲签名信息,可确定该盲化交易数据是主对象所签名的,但是无法得知该盲化交易数据具体是由主对象内的哪一个对象所发起的,那么由此可以保证该交易数据的隐私性;同时,由于盲化交易数据是经过盲化处理后的,那么主对象内的其他对象即使能够从该区块链中获取到该盲化交易数据,也无法解密得到具体的交易内容(也就是无法获取到原始交易数据)。对于该盲化交易数据所对应的原始交易数据,只有在获取到交易发起对象(即第一从对象)的许可后,才能够公开至其他某个对象进行查阅。
例如,假设主对象内的第二从对象期望查阅该盲化交易数据的原始交易数据,那么该第二从对象需要经由第一从对象的同意。也就是说,在调用与主对象相关的资源管理合约对盲化交易数据进行上链处理之后,第二从对象若想查阅该原始交易数据,那么第二从对象可以向主对象的对象设备发送针对该原始交易数据的查阅请求(查阅请求用于请求查阅原始交易数据),而接收到第二从对象发送的针对原始交易数据的查阅请求之后,可以将查阅请求发送至至少两个审批对象(也就是第一从对象中,具有审批权限的对象);至少两个审批对象中的每个审批对象均可以对该查阅请求进行投票,以投票是否允许该第二从对象查阅该原始交易数据,每个审批对象可以返回自己的投票信息(该投票信息可以包含投票通过信息与投票不通过信息,投票通过信息可以用于表征该审批对象同意该第二从对象查阅该原始交易数据;投票不通过信息则可以用于表征该审批对象不同意该第二从对象查阅该原始交易数据);按照至少两个审批对象返回的投票信息,可以确定第二从对象关于原始交易数据的查阅权限;在确定第二从对象具备原始交易数据的查阅权限时,即可向第二从对象发送允许查阅通知,以使第二从对象基于允许查阅通知从区块链中查阅原始交易数据。
其中,对于按照至少两个审批对象返回的投票信息,确定第二从对象关于原始交易数据的查阅权限的具体实现方式,可为:在至少两个审批对象返回的投票信息中,可以统计投票通过信息的通过数量;进一步地,可以统计至少两个审批对象所包含的审批对象的总数量;可以确定通过数量与总数量之间的第二数量比值;若确定第二数量比值大于比值阈值,则可以确定第二从对象具备原始交易数据的查阅权限;而若确定第二数量比值小于比值阈值,则可以确定第二从对象不具备原始交易数据的查阅权限。
也可以说,在至少两个审批对象中,若达到一定数量的审批对象的投票信息均为投票通过信息,那么可以说明有一定数量的审批对象同意该第二从对象查阅该原始交易数据,此时即可确定该第二对象具备该原始交易数据的查阅权限。这里的比值阈值可以是指人工确定的阈值(如2/3、60%等等)。
进一步地,基于上述可知,该盲化交易数据是通过对原始交易数据进行盲化处理后所得到的,而这里的盲化处理可以是指对该原始交易数据进行加密处理,而对原始交易数据进行加密处理的具体方式,本申请可以采用一对密钥对来执行,具体的,第一从对象可以基于对称密钥算法或非对称密钥算法来生成一对密钥,采用对称密钥算法可生成一个对称的密钥对(该密钥对中的加密密钥与解密密钥是一致的);采用非对称密钥算法可生成一对非对称的密钥对(该密钥对中的加密密钥与解密密钥是不对称的)。第一从对象可以自行保存加密密钥(即本申请中的盲化加密密钥)与解密密钥,而在确定第二从对象具备原始交易数据的查阅权限时,即可将该盲化交易数据的解密密钥(即本申请中的盲化解密密钥)告知第二从对象,以使第二从对象能够基于该解密密钥对该盲化交易数据进行解密以获取得到该原始交易数据。
具体的,本申请可以将原始交易数据的加密密钥称为盲化加密密钥,将原始交易数据的解密密钥称为盲化解密密钥,也就是说,盲化交易数据是基于盲化加密密钥对原始交易数据进行盲化处理后所得到的,对于该在确定第二从对象具备原始交易数据的查阅权限时,向第二从对象发送允许查阅通知的具体实现方式可为:在确定第二从对象具备原始交易数据的查阅权限时,可以生成密钥查询请求;其中,该密钥查询请求用于请求获取盲化交易数据的盲化解密密钥;进一步地,可以将密钥查询请求发送至至少两个审批对象中的目标审批对象;其中,目标审批对象是指至少两个审批对象中的任一个审批对象;进一步地,可以接收目标审批对象返回的盲化交易数据的盲化解密密钥,并生成包含盲化解密密钥的允许查阅通知,可以将允许查阅通知发送至第二从对象;其中,盲化解密密钥用于第二从对象对从区块链中获取到的盲化交易数据进行解密以得到原始交易数据。
在本申请实施例中,提出一种针对主对象的资源管理合约的方案,该方案通过盲签名与多重签名,来多维度地保护主对象中的不同交易数据的安全性与隐私性。具体的,对于主对象内的原始交易数据,可以对其进行盲化处理得到盲化交易数据后,再利用主对象层面的签名密钥对接收到的盲化交易数据进行盲签名处理,得到一个盲签名信息;进一步地,在验证该盲签名信息具备有效性后,可以采用至少两个审批对象(每个审批对象均具备该盲化交易数据的审批权限,且每个审批对象均与该主对象具有从属关系)的审批签名密钥,对盲化交易数据进行多重签名审批,在确定该多重签名审批结果为审批通过结果后,再调用与该主对象相关的资源管理合约对该盲化交易数据进行上链处理。应当理解,通过将原始交易数据进行盲化处理再基于主对象的签名密钥对盲化交易数据进行盲签名处理,可以使得该主对象内部的原始交易数据的具体内容只能由交易发起者所得知,主对象内的其他非交易发起者无法得知该原始交易数据的具体内容,只能确定该原始交易数据的盲化交易数据是经过主对象签名认可的,由此可以很好地保护该原始交易数据的隐私性,减少该原始交易数据被恶意泄露的风险,那么也可以提升该原始交易数据的安全性;此外,对于经主对象签名认可的盲化交易数据,可以通过具有审批权限的审批对象对其进行多重签名审批,该盲化交易数据需要经过多方审批才能够执行上链,那么通过多重签名审批可以进一步地提升该盲化交易数据的可靠性。
进一步地,为便于理解,请一并参见图4,图4是本申请实施例提供的一种***架构示意图。如图4所示,该***架构中可以至少包括客户端、盲签名组件、多重签名组件、验证组件以及区块链网络等部分。为便于理解,以下将对该***架构中的各个组成部分进行阐述:
客户端:可以是指用于对象(如用户)发起交易数据或发起交易请求的客户端(如主对象中的客户端),该客户端内可以提供用户交互界面,通过该用户交互界面可以发起一笔交易(如资源转交易)。该客户端还可用于对发起的交易数据进行盲化处理,得到盲化交易数据,且可以基于交易发起对象(如某个从对象)的签名密钥,对该盲化交易数据进行签名。
盲签名组件:部署于主对象(如企业、机构)内的加密机内,可以负责存储主对象的签名密钥,并采用该主对象的签名密钥对客户端提交的交易数据进行盲签名,生成盲签名信息。
多重签名组件:可以负责对盲签名信息进行验证,同时可以负责对盲化交易数据进行多重签名审批,生成多重签名信息。
验证组件:可以用于验证多重签名信息的有效性(即确定多重签名审批结果是否为审批通过结果,多重签名审批结果为审批通过结果相当于该多重签名信息是具有有效性的)。
区块链网络:可以负责接收和记录交易数据(如盲化交易数据)。
对于各个组成部分的具体实现方式,这里将不再进行赘述,本实施例提供的附图仅是为更清晰的说明本申请中各个步骤的逻辑流程。
进一步地,请参见图5,图5是本申请实施例提供的一种对交易数据进行多重签名审批得到多重签名审批结果的流程示意图,该流程可以对应于上述图3所对应实施例中,对于采用至少两个审批对象的审批签名密钥,对盲化交易数据进行多重签名审批,得到多重签名审批结果的流程。该流程是基于盲化交易数据是由第一从对象(第一从对象是指从属于主对象的任一从对象)所发送的基础所描述的流程。如图5所示,该流程可以至少包括以下步骤S501-步骤S506:
步骤S501,调用多重签名组件,通过多重签名组件获取具备盲化交易数据的审批权限的至少两个审批对象;至少两个审批对象均从属于第一从对象。
具体的,在确定盲签名信息具备有效性时看,可以调用多重签名组件,通过该多重签名组件可以获取具备盲化交易数据的审批权限的至少两个审批对象(也就是第一从对象中具备原始交易数据的审批权限的至少两个审批对象)。
步骤S502,将盲化交易数据发送至至少两个审批对象,以使至少两个审批对象采用至少两个审批签名密钥对盲化交易数据进行多重签名审批;至少两个审批对象中的一个审批对象,具备至少两个审批签名密钥中的一个审批签名密钥。
具体的,多重签名组件可以将该盲化交易数据发送至至少两个审批对象,而每个审批对象可以对该盲化交易数据进行签名审批,具体的,盲化交易数据可以是通过盲化加密密钥进行盲化处理后所得到的,那么第一从对象中的各个审批对象是能够拥有盲化解密密钥的,那么每个审批对象可以通过盲化解密密钥将该盲化交易数据进行解密,在得到原始交易数据之后再对该盲化交易数据进行签名审批。其中,一个审批对象可以拥有一个签名密钥(如私钥),审批对象的签名审批可以是指通过该签名密钥对该盲化交易数据进行签名。也就是说,本申请具体可以将该盲化交易数据发送至至少两个审批对象,再通过至少两个审批对象采用至少两个审批签名密钥对盲化交易数据进行多重签名审批。对于通过至少两个审批对象采用至少两个审批签名密钥对盲化交易数据进行多重签名审批可参见后续步骤S503-步骤S506的描述。
步骤S503,接收至少两个审批对象返回的多重签名信息;多重签名信息包括N个审批签名信息;至少两个审批对象包括审批对象Si,N个审批签名信息包括审批对象Si对应的审批签名信息Xi,审批签名信息Xi是基于审批对象Si的第二待验证密钥对盲化交易数据进行签名后所得到的;i、N均为正整数。
具体的,同意执行原始交易数据的审批对象,可以对盲化交易数据进行签名审批后,那么由此即可得到一个审批签名信息,假设至少两个审批对象中,N个审批对象均进行了签名,那么即可得到N个(N为正整数)审批签名信息,这N个审批签名信息可以生成一个多重签名信息。也就是说,该至少两个审批对象可以返回一个多重签名信息,该多重签名信息中包含有N个审批签名信息,每个审批签名信息是由一个审批对象,采用一个签名密钥对盲化交易数据进行签名后所得到的,这里可以将审批签名信息中包含的对盲化交易数据进行签名的密钥称为第二待验证密钥。为便于说明,后续将以至少两个审批对象包括审批对象Si(可以是指任一进行了签名的审批对象),N个审批签名信息包括审批对象Si对应的审批签名信息Xi为例进行说明,即审批签名信息Xi是基于审批对象Si的第二待验证密钥对盲化交易数据进行签名后所得到的。
步骤S504,对审批签名信息Xi进行有效性验证,得到审批签名信息Xi的有效性验证结果。
具体的,对于多重签名信息中的每个审批签名信息,需要对其进行有效性验证,以确定审批签名信息的有效性。以审批签名信息Xi为例,对于对审批签名信息Xi进行有效性验证,得到审批签名信息Xi的有效性验证结果的具体方式,可为:可以将与主对象相关的密钥管理***中所注册的审批对象Si的签名密钥地址,确定为审批签名信息Xi的第三验签密钥;通过第三验签密钥可以对审批签名信息Xi进行验签处理,由此可以得到第三验签结果;在确定第三验签结果为验签通过结果时,可以确定第二待验证密钥为审批对象Si的合法签名密钥,进而可以确定审批签名信息Xi的有效性验证结果为有效签名结果;而在确定第三验签结果为验签失败结果时,可以确定第二待验证密钥为审批对象Si的异常签名密钥,进而确定审批签名信息Xi的有效性验证结果为无效签名结果。
应当理解,基于前文所对应实施例可知,密钥管理***中所注册有每个审批对象的签名密钥地址,由于签名密钥地址是基于公钥所推出的,一个签名密钥地址可映射到一个公钥,那么这里的审批对象的签名密钥地址可以确定为审批对象的公钥,通过该公钥即可对审批签名信息Xi进行验签,如验签通过即可确定该第二待验证密钥为审批对象Si的合法签名密钥(即第二待验证密钥确实为审批对象Si的私钥),由此即可将审批签名信息Xi的有效性验证结果为有效签名结果;否则可以将审批签名信息Xi的有效性验证结果为无效签名结果。
步骤S505,若确定出N个审批签名信息中每个审批签名信息的有效性验证结果,则基于N个有效性验证结果确定多重签名信息的有效性。
具体的,采用验证审批签名信息Xi的有效性的方式,可以验证多重签名信息中每个审批签名信息的有效性,由此可以得到N个审批签名信息中每个审批签名信息的有效性验证结果,基于N个有效性验证结果可以确定多重签名信息的有效性,其具体实现方式可为:可以统计N个有效性验证结果中所包含的有效签名结果的第一数量;进一步地,可以统计N个有效性验证结果所包含的有效性验证结果的第二数量;可以将第一数量与第二数量进行比较;若确定第一数量与第二数量相同,则可以确定多重签名信息具备有效性;而若确定第一数量与第二数量不同,则可以确定多重签名信息具备无效性。
可以理解的是,只有在多重签名信息中包含的N个审批签名信息全部具备有效性时,才可认为该多重签名信息是具备有效性的。即该多重签名信息中不应该存在有任一审批对象采用非法的密钥来对盲化交易数据进行签名。
步骤S506,在确定多重签名信息具备有效性时,根据N个审批签名信息所包含的审批签名信息的数量,与至少两个审批对象所包含的审批对象的数量,确定交易数据的多重签名审批结果。
具体的,在确定多重签名信息具备有效性时,即可根据N个审批签名信息所包含的审批签名信息的数量,与至少两个审批对象所包含的审批对象的数量,确定交易数据的多重签名审批结果,其具体实现方式可为:可以将N个审批签名信息所包含的审批签名信息的数量确定为第三数量;可以将至少两个审批对象所包含的审批对象的数量确定为第四数量;进一步地,可以确定第三数量与第四数量之间的第一数量比值;若第一数量比值大于比值阈值,则可以确定交易数据的多重签名审批结果为审批通过结果;而若第一数量比值小于比值阈值,则可以确定交易数据的多重签名审批结果为审批不通过结果。
可以理解的是,N个审批签名信息可以是指同意执行原始交易数据的审批对象所签名得到的信息,若N个审批签名信息的第三数量,与至少两个审批对象的第四数量(即总数量)之间的数量比值,大于了比值阈值,那么即可确定达到一定阈值的审批对象均同意执行该原始交易数据,由此即可确定该多重签名审批结果为审批通过结果;否则即可确定该多重签名结果为审批不通过结果。
在本申请实施例中,通过将原始交易数据进行盲化处理再基于主对象的签名密钥对盲化交易数据进行盲签名处理,可以使得该主对象内部的原始交易数据的具体内容只能由交易发起者所得知,主对象内的其他非交易发起者无法得知该原始交易数据的具体内容,只能确定该原始交易数据的盲化交易数据是经过主对象签名认可的,由此可以很好地保护该原始交易数据的隐私性,减少该原始交易数据被恶意泄露的风险,那么也可以提升该原始交易数据的安全性;此外,对于经主对象签名认可的盲化交易数据,可以通过具有审批权限的审批对象对其进行多重签名审批,该盲化交易数据需要经过多方审批才能够执行上链,那么通过多重签名审批可以进一步地提升该盲化交易数据的可靠性。
进一步地,请参见图6,图6是本申请实施例提供的一种***逻辑交互流程图。其中,如图6所示的实施例是以主对象为企业、从对象为企业中的某个部门为例进行说明的流程。如图6所示,该流程可以至少包括以下步骤S61-步骤S68:
步骤S61,用户在密钥管理***中注册部门密钥。
具体的,部门中的用户可以在密钥管理***中注册部门密钥,该部门密钥可以是指企业内部部门所使用的密钥,通过密钥管理***中注册的部门密钥,可以在部门提交交易数据时,将其认定为是企业内部的交易数据。其中,这里的密钥管理***可以部署于企业内部私有网络中,用户(企业中的管理对象)可以将多签地址(即部门中各个审批对象的签名密钥地址)及盲签名地址(企业层面的签名密钥地址,具体可以通过硬件密码机为企业所分配)注册到密钥管理***中,部门中的用户再将部门密钥(部门的签名密钥地址)注册到密钥管理***中。
步骤S62,用户通过钱包客户端填写交易请求以发起交易。
具体的,这里的钱包客户端可以是指企业中用于发起交易数据的客户端,可以提供用户交互界面以使用户在用户交互界面中填写交易请求发起交易数据。
步骤S63,钱包客户端将交易数据进行盲化并将转发盲化交易数据至密钥管理***。
具体的,钱包客户端可以将用户发起的交易数据确定为原始交易数据,客户端可以对原始交易数据进行盲化得到盲化交易数据,对于盲化交易数据,客户端可以基于部门的签名密钥(如私钥)对其进行签名。
步骤S64,密钥管理***对盲化交易数据进行盲签名处理。
具体的,密钥管理***可以验证盲化交易数据的签名(也就是对部门的签名密钥进行验签,即基于密钥管理***中所注册的部门的签名密钥地址,对其进行验签),在验签通过后,即可得知该交易数据是企业内部所提交的交易,该密钥管理***可以采用企业的签名密钥(如私钥)对该盲化交易数据进行盲签名处理,得到盲签名信息。对于该盲签名信息,可以确定是由企业层面的签名(如企业管理者的签名),但无法确定所签名的交易数据具体是由哪个部门所提交的,由此可以很好地保护部门业务的隐私性。
步骤S65,密钥管理***发送盲化交易数据至交易审批对象。
具体的,密钥管理***可以将盲化交易数据发送至部门内的多个审批对象,要求多个审批对象对其进行多重签名审批。
步骤S66,交易审批对象进行多重签名审批,生成多重签名信息。
具体的,同意交易执行的审批对象即可采用自己的审批签名密钥(如私钥),对其进行签名,由此可以得到审批签名信息,那么多个同意交易执行的审批对象进行签名后,即可得到包含多个审批签名信息的多重签名信息。
步骤S67,交易审批对象将多重签名信息与交易数据发送至钱包合约。
具体的,这里的钱包合约可以是指用于对企业进行资源管理的智能合约(如资源管理合约),钱包合约可以验证多重签名信息是由具备有效性(具体可以通过密钥管理***中所注册的各个审批对象的签名密钥地址来验证),在验证其具备有效性时,即可将交易数据发送至区块链网络以使区块链网络对其进行验证和记录。
需要说明的是,交易审批对象若同意将原始交易数据公开,那么向钱包合约发送的交易数据即可为原始交易数据,虽然该原始交易数据被公开,但企业内的其他对象(如其他部门)仍然无法得知该原始交易数据是由哪个部门所提交的,基于此,仍然可以保护该原始交易数据的部门业务隐私性。也就是说,在前文所对应实施例中,在确定多重签名审批结果具备有效性时,可以调用资源管理合约将原始交易数据上链也可以将盲化交易数据上链,上链的是原始交易数据还是盲化交易数据可取决于从对象中审批对象的公开需求。
步骤S68,钱包合约在验签通过后将交易数据进行上链。
具体的,钱包合约可以通过审批对象的签名密钥地址对多重签名信息进行验证,在确定多重签名信息具备有效性时,可以将交易数据(原始交易数据或盲化交易数据)发送至区块链网络,以使区块链网络对交易数据进行验证并将其共识上链,对于区块链上链交易数据的具体方式是常规的基于交易数据生成区块,然后对区块进行共识,在通过共识后将区块上链的方式,这里将不进行过多阐述。
应当理解,本方案需要确保交易发起对象属于企业私有网络中,才能够对其进行盲签名,而通过盲签名可以提升交易数据的隐私性;此外,对于交易数据需要部门内多个审批对象签名审批才能够执行交易,由此可以提升交易的可靠性。
进一步地,请参见图7,图7是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图。该基于区块链的数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该基于区块链的数据处理装置为一个应用软件;该基于区块链的数据处理装置可以用于执行图3所示的方法。如图7所示,该基于区块链的数据处理装置1可以包括:盲签名模块11、验证模块12、多重签名模块13以及合约调用模块14。
盲签名模块11,用于采用主对象的签名密钥对接收到的盲化交易数据进行盲签名处理,得到盲签名信息;盲化交易数据是通过对原始交易数据进行盲化处理后所得到的;
验证模块12,用于验证盲签名信息的有效性;
多重签名模块13,用于在确定盲签名信息具备有效性时,采用至少两个审批对象的审批签名密钥,对盲化交易数据进行多重签名审批;至少两个审批对象具备盲化交易数据的审批权限,主对象与至少两个审批对象中的每个审批对象之间均具有从属关系;
合约调用模块14,用于在确定盲化交易数据的多重签名审批结果为审批通过结果时,调用与主对象相关的资源管理合约对盲化交易数据进行上链处理。
其中,对于盲签名模块11、验证模块12、多重签名模块13以及合约调用模块14的具体实现方式,可以参见上述图3所对应实施例中步骤S101-步骤S104的描述,这里将不再进行赘述。
在一个实施例中,在盲签名模块11采用主对象的签名密钥对接收到的盲化交易数据进行盲签名处理,得到盲签名信息之前,基于区块链的数据处理装置1还包括:注册请求接收模块15以及密钥注册模块16。
注册请求接收模块15,用于接收针对主对象的密钥注册请求;密钥注册请求用于请求注册主对象的关联密钥;主对象的关联密钥包括主对象的签名密钥地址、一个或多个从对象的签名密钥地址以及至少两个审批对象的签名密钥地址;一个或多个从对象中的每个从对象是指从属于主对象的对象;
密钥注册模块16,用于基于密钥注册请求,将主对象的签名密钥、一个或多个从对象的签名密钥地址以及至少两个审批对象的签名密钥地址,均注册至与主对象相关的密钥管理***中。
其中,对于注册请求接收模块15以及密钥注册模块16的具体实现方式,可以参见上述图3所对应实施例中步骤S101中的描述,这里将不再进行赘述。
在一个实施例中,盲签名模块11采用主对象的签名密钥对接收到的盲化交易数据进行盲签名处理,得到盲签名信息的具体方式,包括:
接收第一从对象发送的盲化交易数据;盲化交易数据携带有交易签名信息;交易签名信息是基于第一从对象的第一待验证密钥对盲化交易数据进行签名后所得到的;第一从对象是指从属于主对象的任一从对象;
将与主对象相关的密钥管理***中所注册的第一从对象的签名密钥地址,确定为交易签名信息的第一验签密钥;
通过第一验签密钥对交易签名信息进行验签处理,得到第一验签结果;
在确定第一验签结果为验签通过结果时,确定第一待验证密钥为第一从对象的合法签名密钥,调用盲签名组件,在盲签名组件中采用主对象的签名密钥对接收到的盲化交易数据进行盲签名处理,得到盲签名信息。
在一个实施例中,验证模块12验证盲签名信息的有效性的具体方式,包括:
调用多重签名组件,通过所述多重签名组件从与所述主对象相关的密钥管理***中,获取所注册的所述主对象的签名密钥地址;
将所述主对象的签名密钥地址确定为所述盲签名信息的第二验签密钥;
通过所述第二验签密钥对所述盲签名信息进行验签处理,得到第二验签结果;
在确定所述第二验签结果为验签通过结果时,确定所述盲签名信息具备有效性;
在确定所述第二验签结果为验签失败结果时,确定所述盲签名信息具备无效性。
在一个实施例中,盲化交易数据是由第一从对象所发送;第一从对象是指从属于主对象的任一从对象;
多重签名模块13采用至少两个审批对象的审批签名密钥,对盲化交易数据进行多重签名审批的具体方式,包括:
调用多重签名组件,通过多重签名组件获取具备盲化交易数据的审批权限的至少两个审批对象;至少两个审批对象均从属于第一从对象;
将盲化交易数据发送至至少两个审批对象,以使至少两个审批对象采用至少两个审批签名密钥对盲化交易数据进行多重签名审批;至少两个审批对象中的一个审批对象,具备至少两个审批签名密钥中的一个审批签名密钥。
在一个实施例中,在多重签名模块13将盲化交易数据发送至至少两个审批对象之后,基于区块链的数据处理装置1还包括:签名信息接收模块17、审批签名验证模块18、多重签名验证模块19以及审批结果确定模块20。
签名信息接收模块17,用于接收至少两个审批对象返回的多重签名信息;多重签名信息包括N个审批签名信息;至少两个审批对象包括审批对象Si,N个审批签名信息包括审批对象Si对应的审批签名信息Xi,审批签名信息Xi是基于审批对象Si的第二待验证密钥对盲化交易数据进行签名后所得到的;i、N均为正整数;
审批签名验证模块18,用于对审批签名信息Xi进行有效性验证,得到审批签名信息Xi的有效性验证结果;
多重签名验证模块19,用于若确定出N个审批签名信息中每个审批签名信息的有效性验证结果,则基于N个有效性验证结果确定多重签名信息的有效性;
审批结果确定模块20,用于在确定多重签名信息具备有效性时,根据N个审批签名信息所包含的审批签名信息的数量,与至少两个审批对象所包含的审批对象的数量,确定交易数据的多重签名审批结果。
其中,签名信息接收模块17、审批签名验证模块18、多重签名验证模块19以及审批结果确定模块20的具体实现方式,可以参见上述图5所对应实施例中步骤S503-步骤S504的描述,这里将不再进行赘述。
在一个实施例中,审批签名验证模块18对审批签名信息Xi进行有效性验证,得到审批签名信息Xi的有效性验证结果的具体方式,包括:
将与主对象相关的密钥管理***中所注册的审批对象Si的签名密钥地址,确定为审批签名信息Xi的第三验签密钥;
通过第三验签密钥对审批签名信息Xi进行验签处理,得到第三验签结果;
在确定第三验签结果为验签通过结果时,确定第二待验证密钥为审批对象Si的合法签名密钥,确定审批签名信息Xi的有效性验证结果为有效签名结果;
在确定第三验签结果为验签失败结果时,确定第二待验证密钥为审批对象Si的异常签名密钥,确定审批签名信息Xi的有效性验证结果为无效签名结果。
在一个实施例中,多重签名验证模块19基于N个有效性验证结果确定多重签名信息的有效性的具体方式,包括:
统计N个有效性验证结果中所包含的有效签名结果的第一数量;
统计N个有效性验证结果所包含的有效性验证结果的第二数量;
将第一数量与第二数量进行比较;
若确定第一数量与第二数量相同,则确定多重签名信息具备有效性;
若确定第一数量与第二数量不同,则确定多重签名信息具备无效性。
在一个实施例中,审批结果确定模块20根据N个审批签名信息所包含的审批签名信息的数量,与至少两个审批对象所包含的审批对象的数量,确定交易数据的多重签名审批结果的具体方式,包括:
将N个审批签名信息所包含的审批签名信息的数量确定为第三数量;
将至少两个审批对象所包含的审批对象的数量确定为第四数量;
确定第三数量与第四数量之间的第一数量比值;
若第一数量比值大于比值阈值,则确定交易数据的多重签名审批结果为审批通过结果;
若第一数量比值小于比值阈值,则确定交易数据的多重签名审批结果为审批不通过结果。
在一个实施例中,在合约调用模块14调用与主对象相关的资源管理合约对盲化交易数据进行上链处理之后,基于区块链的数据处理装置1还包括:查阅请求接收模块21、请求发送模块22、权限确定模块23以及通知发送模块24。
查阅请求接收模块21,用于接收第二从对象发送的针对原始交易数据的查阅请求;查阅请求用于请求查阅原始交易数据;
请求发送模块22,用于将查阅请求发送至至少两个审批对象;
权限确定模块23,用于按照至少两个审批对象返回的投票信息,确定第二从对象关于原始交易数据的查阅权限;
通知发送模块24,用于在确定第二从对象具备原始交易数据的查阅权限时,向第二从对象发送允许查阅通知,以使第二从对象基于允许查阅通知从区块链中查阅原始交易数据。
其中,查阅请求接收模块21、请求发送模块22、权限确定模块23以及通知发送模块24的具体实现方式,可以参见上述图3所对应实施例中步骤S104中的描述,这里将不再进行赘述。
在一个实施例中,权限确定模块23按照至少两个审批对象返回的投票信息,确定第二从对象关于原始交易数据的查阅权限的具体方式,包括:
在至少两个审批对象返回的投票信息中,统计投票通过信息的通过数量;
统计至少两个审批对象所包含的审批对象的总数量;
确定通过数量与总数量之间的第二数量比值;
若确定第二数量比值大于比值阈值,则确定第二从对象具备原始交易数据的查阅权限;
若确定第二数量比值小于比值阈值,则确定第二从对象不具备原始交易数据的查阅权限。
在一个实施例中,盲化交易数据是基于盲化加密密钥对原始交易数据进行盲化处理后所得到的;
通知发送模块24在确定第二从对象具备原始交易数据的查阅权限时,向第二从对象发送允许查阅通知的具体方式,包括:
在确定第二从对象具备原始交易数据的查阅权限时,生成密钥查询请求;密钥查询请求用于请求获取盲化交易数据的盲化解密密钥;
将密钥查询请求发送至至少两个审批对象中的目标审批对象;目标审批对象是指至少两个审批对象中的任一个审批对象;
接收目标审批对象返回的盲化交易数据的盲化解密密钥,生成包含盲化解密密钥的允许查阅通知,将允许查阅通知发送至第二从对象;盲化解密密钥用于第二从对象对从区块链中获取到的盲化交易数据进行解密以得到原始交易数据。
在本申请实施例中,通过将原始交易数据进行盲化处理再基于主对象的签名密钥对盲化交易数据进行盲签名处理,可以使得该主对象内部的原始交易数据的具体内容只能由交易发起者所得知,主对象内的其他非交易发起者无法得知该原始交易数据的具体内容,只能确定该原始交易数据的盲化交易数据是经过主对象签名认可的,由此可以很好地保护该原始交易数据的隐私性,减少该原始交易数据被恶意泄露的风险,那么也可以提升该原始交易数据的安全性;此外,对于经主对象签名认可的盲化交易数据,可以通过具有审批权限的审批对象对其进行多重签名审批,该盲化交易数据需要经过多方审批才能够执行上链,那么通过多重签名审批可以进一步地提升该盲化交易数据的可靠性。综上,本申请可以在基于区块链存储主对象中的相关交易数据的业务中,提升交易数据的安全性与隐私性。
进一步地,请参见图8,图8是本申请实施例提供的一种计算机设备的结构示意图。如图8所示,上述计算机设备8000可以包括:处理器8001,网络接口8004和存储器8005,此外,上述计算机设备8000还包括:用户接口8003,和至少一个通信总线8002。其中,通信总线8002用于实现这些组件之间的连接通信。其中,用户接口8003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口8003还可以包括标准的有线接口、无线接口。网络接口8004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器8005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器8005可选的还可以是至少一个位于远离前述处理器8001的存储装置。如图8所示,作为一种计算机可读存储介质的存储器8005中可以包括操作***、网络通信模块、用户接口模块以及设备控制应用程序。
在图8所示的计算机设备8000中,网络接口8004可提供网络通讯功能;而用户接口8003主要用于为用户提供输入的接口;而处理器8001可以用于调用存储器8005中存储的设备控制应用程序,以实现:
采用主对象的签名密钥对接收到的盲化交易数据进行盲签名处理,得到盲签名信息;盲化交易数据是通过对原始交易数据进行盲化处理后所得到的;
验证盲签名信息的有效性;
在确定盲签名信息具备有效性时,采用至少两个审批对象的审批签名密钥,对盲化交易数据进行多重签名审批;至少两个审批对象具备盲化交易数据的审批权限,主对象与至少两个审批对象中的每个审批对象之间均具有从属关系;
在确定盲化交易数据的多重签名审批结果为审批通过结果时,调用与主对象相关的资源管理合约对盲化交易数据进行上链处理。
应当理解,本申请实施例中所描述的计算机设备8000可执行前文图3到图6所对应实施例中对该基于区块链的数据处理方法的描述,也可执行前文图7所对应实施例中对该基于区块链的数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的数据处理的计算机设备8000所执行的计算机程序,且上述计算机程序包括程序指令,当上述处理器执行上述程序指令时,能够执行前文图3到图6所对应实施例中对上述基于区块链的数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
上述计算机可读存储介质可以是前述任一实施例提供的基于区块链的数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行本申请实施例中一方面提供的方法。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (15)
1.一种基于区块链的数据处理方法,其特征在于,包括:
采用主对象的签名密钥对接收到的盲化交易数据进行盲签名处理,得到盲签名信息;所述盲化交易数据是通过对原始交易数据进行盲化处理后所得到的;所述主对象是指任一具有组织形式的对象;所述盲化交易数据是由第一从对象所发送;所述第一从对象是指从属于所述主对象的任一从对象;
验证所述盲签名信息的有效性;
在确定所述盲签名信息具备有效性时,采用至少两个审批对象的审批签名密钥,对所述盲化交易数据进行多重签名审批;所述至少两个审批对象具备所述盲化交易数据的审批权限,所述主对象与所述至少两个审批对象中的每个审批对象之间均具有从属关系;所述至少两个审批对象是指所述第一从对象中具备交易数据的审批权限的对象;
在确定所述盲化交易数据的多重签名审批结果为审批通过结果时,调用与所述主对象相关的资源管理合约对所述盲化交易数据进行上链处理。
2.根据权利要求1所述的方法,其特征在于,在采用主对象的签名密钥对接收到的盲化交易数据进行盲签名处理,得到盲签名信息之前,所述方法还包括:
接收针对所述主对象的密钥注册请求;所述密钥注册请求用于请求注册所述主对象的关联密钥;所述主对象的关联密钥包括所述主对象的签名密钥地址、一个或多个从对象的签名密钥地址以及所述至少两个审批对象的签名密钥地址;所述一个或多个从对象中的每个从对象是指从属于所述主对象的对象;
基于所述密钥注册请求,将所述主对象的签名密钥地址、所述一个或多个从对象的签名密钥地址以及所述至少两个审批对象的签名密钥地址,均注册至与所述主对象相关的密钥管理***中。
3.根据权利要求1所述的方法,其特征在于,所述采用主对象的签名密钥对接收到的盲化交易数据进行盲签名处理,得到盲签名信息,包括:
接收第一从对象发送的盲化交易数据;所述盲化交易数据携带有交易签名信息;所述交易签名信息是基于所述第一从对象的第一待验证密钥对所述盲化交易数据进行签名后所得到的;所述第一从对象是指从属于所述主对象的任一从对象;
将与所述主对象相关的密钥管理***中所注册的所述第一从对象的签名密钥地址,确定为所述交易签名信息的第一验签密钥;
通过所述第一验签密钥对所述交易签名信息进行验签处理,得到第一验签结果;
在确定所述第一验签结果为验签通过结果时,确定所述第一待验证密钥为所述第一从对象的合法签名密钥,调用盲签名组件,在所述盲签名组件中采用所述主对象的签名密钥对接收到的盲化交易数据进行盲签名处理,得到盲签名信息。
4.根据权利要求1所述的方法,其特征在于,所述验证所述盲签名信息的有效性,包括:
调用多重签名组件,通过所述多重签名组件从与所述主对象相关的密钥管理***中,获取所注册的所述主对象的签名密钥地址;
将所述主对象的签名密钥地址确定为所述盲签名信息的第二验签密钥;
通过所述第二验签密钥对所述盲签名信息进行验签处理,得到第二验签结果;
在确定所述第二验签结果为验签通过结果时,确定所述盲签名信息具备有效性;
在确定所述第二验签结果为验签失败结果时,确定所述盲签名信息具备无效性。
5.根据权利要求1所述的方法,其特征在于, 所述采用至少两个审批对象的审批签名密钥,对所述盲化交易数据进行多重签名审批,包括:
调用多重签名组件,通过所述多重签名组件获取具备所述盲化交易数据的审批权限的至少两个审批对象;所述至少两个审批对象均从属于所述第一从对象;
将所述盲化交易数据发送至所述至少两个审批对象,以使所述至少两个审批对象采用至少两个审批签名密钥对所述盲化交易数据进行多重签名审批;所述至少两个审批对象中的一个审批对象,具备所述至少两个审批签名密钥中的一个审批签名密钥。
6.根据权利要求5所述的方法,其特征在于,在将所述盲化交易数据发送至所述至少两个审批对象之后,所述方法还包括:
接收所述至少两个审批对象返回的多重签名信息;所述多重签名信息包括N个审批签名信息;所述至少两个审批对象包括审批对象Si,所述N个审批签名信息包括所述审批对象Si对应的审批签名信息Xi,所述审批签名信息Xi是基于所述审批对象Si的第二待验证密钥对所述盲化交易数据进行签名后所得到的;i、N均为正整数;
对所述审批签名信息Xi进行有效性验证,得到所述审批签名信息Xi的有效性验证结果;
若确定出所述N个审批签名信息中每个审批签名信息的有效性验证结果,则基于N个有效性验证结果确定所述多重签名信息的有效性;
在确定所述多重签名信息具备有效性时,根据所述N个审批签名信息所包含的审批签名信息的数量,与所述至少两个审批对象所包含的审批对象的数量,确定所述交易数据的多重签名审批结果。
7.根据权利要求6所述的方法,其特征在于,所述对所述审批签名信息Xi进行有效性验证,得到所述审批签名信息Xi的有效性验证结果,包括:
将与所述主对象相关的密钥管理***中所注册的所述审批对象Si的签名密钥地址,确定为所述审批签名信息Xi的第三验签密钥;
通过所述第三验签密钥对所述审批签名信息Xi进行验签处理,得到第三验签结果;
在确定所述第三验签结果为验签通过结果时,确定所述第二待验证密钥为所述审批对象Si的合法签名密钥,确定所述审批签名信息Xi的有效性验证结果为有效签名结果;
在确定所述第三验签结果为验签失败结果时,确定所述第二待验证密钥为所述审批对象Si的异常签名密钥,确定所述审批签名信息Xi的有效性验证结果为无效签名结果。
8.根据权利要求6所述的方法,其特征在于,所述基于N个有效性验证结果确定所述多重签名信息的有效性,包括:
统计N个有效性验证结果中所包含的有效签名结果的第一数量;
统计所述N个有效性验证结果所包含的有效性验证结果的第二数量;
将所述第一数量与所述第二数量进行比较;
若确定所述第一数量与所述第二数量相同,则确定所述多重签名信息具备有效性;
若确定所述第一数量与所述第二数量不同,则确定所述多重签名信息具备无效性。
9.根据权利要求6所述的方法,其特征在于,所述根据所述N个审批签名信息所包含的审批签名信息的数量,与所述至少两个审批对象所包含的审批对象的数量,确定所述交易数据的多重签名审批结果,包括:
将所述N个审批签名信息所包含的审批签名信息的数量确定为第三数量;
将所述至少两个审批对象所包含的审批对象的数量确定为第四数量;
确定所述第三数量与所述第四数量之间的第一数量比值;
若所述第一数量比值大于比值阈值,则确定所述交易数据的多重签名审批结果为审批通过结果;
若所述第一数量比值小于所述比值阈值,则确定所述交易数据的多重签名审批结果为审批不通过结果。
10.根据权利要求1所述的方法,其特征在于,在调用与所述主对象相关的资源管理合约对所述盲化交易数据进行上链处理之后,所述方法还包括:
接收第二从对象发送的针对所述原始交易数据的查阅请求;所述查阅请求用于请求查阅所述原始交易数据;
将所述查阅请求发送至所述至少两个审批对象;
按照所述至少两个审批对象返回的投票信息,确定所述第二从对象关于所述原始交易数据的查阅权限;
在确定所述第二从对象具备所述原始交易数据的查阅权限时,向所述第二从对象发送允许查阅通知,以使所述第二从对象基于所述允许查阅通知从所述区块链中查阅所述原始交易数据。
11.根据权利要求10所述的方法,其特征在于,所述按照所述至少两个审批对象返回的投票信息,确定所述第二从对象关于所述原始交易数据的查阅权限,包括:
在所述至少两个审批对象返回的投票信息中,统计投票通过信息的通过数量;
统计所述至少两个审批对象所包含的审批对象的总数量;
确定所述通过数量与所述总数量之间的第二数量比值;
若确定所述第二数量比值大于比值阈值,则确定所述第二从对象具备所述原始交易数据的查阅权限;
若确定所述第二数量比值小于所述比值阈值,则确定所述第二从对象不具备所述原始交易数据的查阅权限。
12.根据权利要求10所述的方法,其特征在于,所述盲化交易数据是基于盲化加密密钥对所述原始交易数据进行盲化处理后所得到的;
所述在确定所述第二从对象具备所述原始交易数据的查阅权限时,向所述第二从对象发送允许查阅通知,包括:
在确定所述第二从对象具备所述原始交易数据的查阅权限时,生成密钥查询请求;所述密钥查询请求用于请求获取所述盲化交易数据的盲化解密密钥;
将所述密钥查询请求发送至所述至少两个审批对象中的目标审批对象;所述目标审批对象是指所述至少两个审批对象中的任一个审批对象;
接收所述目标审批对象返回的所述盲化交易数据的盲化解密密钥,生成包含所述盲化解密密钥的允许查阅通知,将所述允许查阅通知发送至所述第二从对象;所述盲化解密密钥用于所述第二从对象对从区块链中获取到的所述盲化交易数据进行解密以得到所述原始交易数据。
13.一种基于区块链的数据处理装置,其特征在于,包括:
盲签名模块,用于采用主对象的签名密钥对接收到的盲化交易数据进行盲签名处理,得到盲签名信息;所述盲化交易数据是通过对原始交易数据进行盲化处理后所得到的;所述主对象是指任一具有组织形式的对象;所述盲化交易数据是由第一从对象所发送;所述第一从对象是指从属于所述主对象的任一从对象;
验证模块,用于验证所述盲签名信息的有效性;
多重签名模块,用于在确定所述盲签名信息具备有效性时,采用至少两个审批对象的审批签名密钥,对所述盲化交易数据进行多重签名审批;所述至少两个审批对象具备所述盲化交易数据的审批权限,所述主对象与所述至少两个审批对象中的每个审批对象之间均具有从属关系;所述至少两个审批对象是指所述第一从对象中具备交易数据的审批权限的对象;
合约调用模块,用于在确定所述盲化交易数据的多重签名审批结果为审批通过结果时,调用与所述主对象相关的资源管理合约对所述盲化交易数据进行上链处理。
14.一种计算机设备,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供网络通信功能,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使所述计算机设备执行权利要求1-12任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行权利要求1-12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311291602.2A CN117040766B (zh) | 2023-10-08 | 2023-10-08 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311291602.2A CN117040766B (zh) | 2023-10-08 | 2023-10-08 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117040766A CN117040766A (zh) | 2023-11-10 |
CN117040766B true CN117040766B (zh) | 2024-01-30 |
Family
ID=88635843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311291602.2A Active CN117040766B (zh) | 2023-10-08 | 2023-10-08 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117040766B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112163845A (zh) * | 2020-09-29 | 2021-01-01 | 深圳前海微众银行股份有限公司 | 一种跨区块链的交易身份确认方法及装置 |
CN113032827A (zh) * | 2021-03-22 | 2021-06-25 | 东北大学 | 一种基于区块链技术的论文同行评审方法 |
CN113723897A (zh) * | 2020-05-26 | 2021-11-30 | 深圳兆日科技股份有限公司 | 基于区块链的oa审批方法、装置、设备及存储介质 |
CN115860741A (zh) * | 2022-12-20 | 2023-03-28 | 中国工商银行股份有限公司 | 区块链数据加密验证方法、装置及*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11146405B2 (en) * | 2019-02-19 | 2021-10-12 | International Business Machines Corporation | Blinded endorsement for blockchain |
CN109961288B (zh) * | 2019-03-22 | 2022-04-26 | 北京沃东天骏信息技术有限公司 | 基于盲签名的交易方法及装置 |
-
2023
- 2023-10-08 CN CN202311291602.2A patent/CN117040766B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113723897A (zh) * | 2020-05-26 | 2021-11-30 | 深圳兆日科技股份有限公司 | 基于区块链的oa审批方法、装置、设备及存储介质 |
CN112163845A (zh) * | 2020-09-29 | 2021-01-01 | 深圳前海微众银行股份有限公司 | 一种跨区块链的交易身份确认方法及装置 |
CN113032827A (zh) * | 2021-03-22 | 2021-06-25 | 东北大学 | 一种基于区块链技术的论文同行评审方法 |
CN115860741A (zh) * | 2022-12-20 | 2023-03-28 | 中国工商银行股份有限公司 | 区块链数据加密验证方法、装置及*** |
Also Published As
Publication number | Publication date |
---|---|
CN117040766A (zh) | 2023-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6514831B1 (ja) | 分散型ハッシュテーブル及びピア・ツー・ピア分散型台帳を利用してデジタルアセットのオーナシップを検証する方法及びシステム | |
US11455378B2 (en) | Method and system for securing computer software using a distributed hash table and a blockchain | |
US11323269B2 (en) | Preserving privacy of linked cross-network transactions | |
US11641364B2 (en) | Cross-domain state synchronization | |
AU2021210206B2 (en) | Index structure for blockchain ledger | |
US11949794B2 (en) | Data anonymization of blockchain-based processing pipeline | |
CN113302610B (zh) | 基于区块链的可信平台 | |
US11924348B2 (en) | Honest behavior enforcement via blockchain | |
CN115380303A (zh) | 基于区块链的可信平台 | |
JP2023530594A (ja) | 分散型データベースにおける許可されたイベント処理 | |
US20210374214A1 (en) | Method and system for securing computer software using a distributed hash table and a blockchain | |
CN113302612B (zh) | 一种用于跨链和跨网络数据传输的计算机实现方法、***及装置 | |
US11847234B2 (en) | Verifiable training of model in untrusted environment | |
CN113597608A (zh) | 基于区块链的可信平台 | |
CN117040766B (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
US20230245112A1 (en) | Non-interactive token certification and verification | |
US20230091686A1 (en) | Digital asset platform with hsm verification | |
CN113491090B (zh) | 基于区块链的可信平台 | |
CN116996331B (zh) | 基于区块链的数据处理方法、装置、设备以及介质 | |
CN117372016A (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN117014176A (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN115150123A (zh) | 一种基于区块链提供数据访存服务的方法和相关产品 | |
CN117370463A (zh) | 基于区块链的数据存证方法、装置及存储介质 | |
CN117294753A (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
CN116957568A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |