CN114490808A - 数据溯源方法、装置、计算机设备和存储介质 - Google Patents
数据溯源方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114490808A CN114490808A CN202111635046.7A CN202111635046A CN114490808A CN 114490808 A CN114490808 A CN 114490808A CN 202111635046 A CN202111635046 A CN 202111635046A CN 114490808 A CN114490808 A CN 114490808A
- Authority
- CN
- China
- Prior art keywords
- transaction data
- chain
- tracing
- main chain
- information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000004590 computer program Methods 0.000 claims description 23
- 238000013500 data storage Methods 0.000 claims description 4
- 230000006399 behavior Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/6227—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 where protection concerns the structure of data, e.g. records, types, queries
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Development Economics (AREA)
- Bioethics (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据溯源方法、装置、计算机设备和存储介质。该方法包括:响应于用户发起的交易数据查询请求,从主链中获取交易数据查询请求对应的目标交易数据;若根据目标交易数据生成的根哈希值与主链中存储的根哈希值不同,则从溯源链中获取目标交易数据的全生命周期信息;全生命周期信息包括对目标交易数据执行的所有操作信息;其中,主链为存储交易数据的区块链,溯源链为存储对交易数据执行的所有操作信息的区块链,主链和溯源链中的区块一一对应。在本该方法中,通过主链和溯源链分别存储不同的数据,可以缓解单链存储交易数据的压力,另外,通过主链和从链之间的区块的一一对应关系,可以实现数据的高效溯源。
Description
技术领域
本申请涉及区块链技术领域,特别是涉及一种数据溯源方法、装置、计算机设备和存储介质。
背景技术
数据溯源是指对数据的全生命周期进行追踪记录,数据溯源包括数据的产生、修改、使用以及删除等一系列过程。通过数据溯源可以重现数据的历史过往,按照时间或者具体行为来寻找到所需要的记录,为找到不正当行为的源头提供了有利途径。
通常,可以利用区块链技术的去中心化、防篡改、不可伪造以及公开透明等特点,采用区块链存储交易数据,并记录针对交易数据进行的增加、修改、删除等操作行为进行记录,进而通过区块链实现交易数据的溯源。
然而,随着区块链中的区块越来越多,对交易数据进行全生命周期溯源时,存在查询溯源效率低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够基于区块链,提高数据溯源效率的数据溯源方法、装置、计算机设备和存储介质。
第一方面,本申请提供了一种数据溯源方法。该方法包括:
响应于用户发起的交易数据查询请求,从主链中获取交易数据查询请求对应的目标交易数据;
若根据目标交易数据生成的根哈希值与主链中存储的根哈希值不同,则从溯源链中获取目标交易数据的全生命周期信息;全生命周期信息包括对目标交易数据执行的所有操作信息;
其中,主链为存储交易数据的区块链,溯源链为存储对交易数据执行的所有操作信息的区块链,主链和溯源链中的区块一一对应。
在其中一个实施例中,交易数据查询请求包括交易标识和用户标识;
从主链中获取交易数据查询请求对应的目标交易数据,包括:
根据交易标识,从主链中获取目标交易数据的密文;
根据用户标识获取解密信息,并根据解密信息对目标交易数据的密文进行解密,得到目标交易数据。
在其中一个实施例中,根据用户标识获取解密信息,包括:
根据用户标识获取对应的用户属性信息、公钥和主密钥;
根据用户属性信息、公钥和主密钥,生成用户的属性私钥;
将属性私钥和公钥,确定为解密信息。
在其中一个实施例中,从溯源链中获取目标交易数据的全生命周期信息,包括:
根据目标交易数据在主链的所属区块,获取溯源链中的对应溯源区块的地址信息;
根据对应溯源区块的地址信息,从对应溯源区块中获取目标交易数据的全生命周期信息。
在其中一个实施例中,该方法还包括:
在对应溯源区块中,记录获取目标交易数据的全生命周期信息的操作信息。
在其中一个实施例中,该方法还包括:
响应于用户发送的交易数据存储请求,获取待存储交易数据;
生成待存储交易数据的根哈希值,并根据预设的访问策略对待存储交易数据进行属性加密,得到待存储交易数据的密文;
将存储交易数据的根哈希值、待存储交易数据的密文和用户的用户信息存储至主链中。
在其中一个实施例中,根据预设的访问策略对待存储交易数据进行属性加密,得到待存储交易数据的密文,包括:
获取加密安全参数,并根据加密安全参数,生成待存储交易数据的公钥和主密钥;
根据访问策略和公钥,对待存储交易数据进行属性加密,得到待存储交易数据的密文。
第二方面,本申请还提供了一种数据溯源装置。该装置包括:
获取模块,用于响应于用户发起的交易数据查询请求,从主链中获取交易数据查询请求对应的目标交易数据;
溯源模块,用于若根据目标交易数据生成的根哈希值与主链中存储的根哈希值不同,则从溯源链中获取目标交易数据的全生命周期信息;全生命周期信息包括对目标交易数据执行的所有操作信息;
其中,主链为存储交易数据的区块链,溯源链为存储对交易数据执行的所有操作信息的区块链,主链和溯源链中的区块一一对应。
第三方面,本申请还提供了一种计算机设备。该计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述第一方面中任一方法实施例的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。该计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面中任一方法实施例的步骤。
第五方面,本申请还提供了一种计算机程序产品。该计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述第一方面中任一方法实施例的步骤。
上述数据溯源方法、装置、计算机设备和存储介质,响应于用户发起的交易数据查询请求,从主链中获取交易数据查询请求对应的目标交易数据;若根据目标交易数据生成的根哈希值与主链中存储的根哈希值不同,则从溯源链中获取目标交易数据的全生命周期信息;全生命周期信息包括对目标交易数据执行的所有操作信息;其中,主链为存储交易数据的区块链,溯源链为存储对交易数据执行的所有操作信息的区块链,主链和溯源链中的区块一一对应。在本该方法中,当用户查询交易数据时,可以从主链上获取目标交易数据,当从主链获取的目标交易数据发生变化时,可以进一步根据主链和溯源链上区块之间的对应关系,基于该目标交易数据在主链上所属的区块,确定对应的溯源链上的区块,以从溯源链上对应的区块中获取目标交易数据的操作信息,实现数据溯源。如此,通过主链和溯源链分别存储不同的数据,可以缓解单链存储交易数据的压力,另外,通过主链和从链之间的区块的一一对应关系,可以实现数据的高效溯源。
附图说明
图1为一个实施例中数据溯源方法的应用环境图;
图2为一个实施例中数据溯源方法的流程示意图;
图3为一个实施例中主链的结构示意图;
图4为一个实施例中溯源链的结构示意图;
图5为一个实施例中目标交易数据的获取流程示意图;
图6为一个实施例中目标交易数据溯源流程示意图;
图7为一个实施例中交易数据上链流程示意图;
图8为一个实施例中数据溯源方法的应用场景示意图;
图9为一个实施例中数据溯源装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据溯源方法,可以应用于图1所示的计算机设备,该计算机设备上部署有交易系统和查询系统,同时,该计算机设备还用于参与构成交易数据溯源区块链(Block Chain)。作为一个示例,该计算机设备可以但不限于是:服务器、终端、物联网设备、便携式穿戴设备等。
其中,服务器可以包括但不限于为至少一个独立服务器、分布式服务器、云服务器、服务器集群中至少一种。分布式服务器具体可以为区块链结构,该区块链结构中的任意一个区块链节点都可以执行或参与执行数据溯源方法。终端可以包括但不限于为运行于实体设备中的软件,例如安装在设备上的应用程序或客户端等,也可以包括但不限于为安装有应用的个人计算机、台式电脑、平板电脑、笔记本电脑、智能手机等类型的实体设备中至少一种。物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。
在一种可能的实现方式中,该计算机设备的内部结构如图1所示,该内部结构中的处理器用于提供数据计算和分析功能。该内部结构中的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该数据库可以用于存储交易数据和记录的针对交易数据进行的操作信息等。该网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据溯源方法。
随着信息技术的发展和大数据时代的到来,数据的重要性被抬上了一个新的高度,成为企业和社会关注的重要战略物资。数据的开放共享一方面可以解决“数据孤岛”的问题,将数据资源更好地利用起来,发挥更大的价值;另一方面也面临着隐私数据的泄露、盗卖转手、数据造假等一连串问题,给数据的安全防护和有效记录带来了前所未有的挑战。
数据溯源是指对数据的全生命周期进行追踪记录,记录数据的产生、修改、使用和删除等一系列操作。通过数据溯源,可以重现数据的历史过往,按照时间或者具体行为来寻找到所需要的数据操作信息。相关技术中,交易数据和操作信息都以中心化的方式集中存储于区块链的某一区块中,但随着区块链中区块越来越多,对交易数据进行全生命周期溯源时,存在查询溯源效率低的问题。
基于此,本申请提供了一种数据溯源方法、装置、计算机设备和存储介质,在实现交易数据安全存储的同时,提高数据溯源效率。
在一个实施例中,如图2所示,提供了一种数据溯源方法,以该方法应用于图1中的计算机设备为例进行说明,包括以下步骤:
步骤210:响应于用户发起的交易数据查询请求,从主链中获取交易数据查询请求对应的目标交易数据。
其中,交易数据查询请求中包括交易标识。
在一种可能的实现方式中,步骤210的实现过程可以为:根据用户发起的交易数据查询请求,获取交易标识和用户标识;根据交易标识确定主链上存储目标交易数据的区块,进而从该区块中获取目标交易数据。
步骤220:若根据目标交易数据生成的根哈希值与主链中存储的根哈希值不同,则从溯源链中获取目标交易数据的全生命周期信息。
其中,全生命周期信息包括对目标交易数据执行的所有操作信息。
需要说明的是,对于获取的目标交易数据,可以直接将目标交易数据发送给用户,由用户确定是否执行步骤220;或者,在目标交易数据的根哈希值与主链中存储的根哈希值不同时,自动执行步骤220,最终将目标交易数据和目标交易数据的全生命周期信息一起返回给用户,本申请实施例对此不做限制。
另外,在本申请实施例中,预先构建有主链和溯源链,主链为存储交易数据的区块链,溯源链为存储对交易数据执行的所有操作信息的区块链,主链和溯源链中的区块一一对应。
在一种可能的实现方式中,将交易系统中新生成的交易数据打包成区块上链存储,在一个区块中实现对多笔新交易数据的打包。主链中只负责存放最开始的交易数据,以及新产生的交易数据,不对该交易数据之后操作行为信息进行追踪记录,减少主链的存储压力。将交易数据的全生命周期信息进行打包存储至溯源链中。也即是,溯源链负责将主链中交易数据之后所产生的全生命周期的操作行为进行记录,形成可以对特定交易数据的具体操作行为进行可靠追溯与查询。
进一步地,每一个主链中的区块都会与溯源链中的某个或某些区块形成对应关系,如此,溯源链上的区块只对其在主链上对应区块中的所有交易数据进行全生命周期信息的记录。当主链上有新的区块生成时,溯源链上就会生成一个溯源区块,溯源区块中记录下对应主链区块的哈希值,并返回自己的溯源块地址存储于主链区块中,用于快速定位要查询的交易在主链和溯源链上的地址。
作为一个示例,参见图3,主链中包括多个区块,各区块按照交易数据产生的时间戳存储各个交易数据、交易数据的哈希值,对应的溯源块地址、溯源链的根哈希。
可选地,主链中还存储有Merkle树根和父节点哈希值,在需要从主链上获取交易数据时,根据父节点哈希值遍历整个主链,确定交易数据所在的区块。进一步地,主链预先设置有区块高度和区块上限。
同理,参见图4,溯源链也包括多个溯源区块,各区块按照针对交易数据执行操作行为的时间戳,将各交易数据的操作信息写入与该交易数据所在主链区块相对应的溯源区块中。进一步地,溯源块还操作信息的哈希值,以及该溯源块对应的主链区块哈希值。
其中,交易数据的操作信息包括至少一条行为记录。
可选地,溯源链中也存储有Merkle树根和父节点哈希值,在需要从溯源链上获取交易数据的操作信息时,根据父节点哈希值遍历整个溯源链,确定交易数据的操作信息所在的溯源块。进一步地,主链预先设置有区块高度和区块上限。
也即是,主从链都采用Merkle树的区块结构实现对交易的真实性验证,将交易数据存储于叶子节点中,相邻的叶子节点进行多次哈希计算得到最终的根哈希存储于区块头中。
对主链而言,当需要验证交易时,只需要下载该交易所在的所有分支节点,与根哈希值进行对比,即可证明交易的真实性。溯源链的根哈希存储在主链区块头中,当对溯源链上的数据进行查询时,先根据溯源块地址找到具体的溯源记录,再通过对比主链与溯源链中的根哈希值是否一致来验证溯源链中的数据是否被篡改。
在本申请中,响应于用户发起的交易数据查询请求,从主链中获取交易数据查询请求对应的目标交易数据;若根据目标交易数据生成的根哈希值与主链中存储的根哈希值不同,则从溯源链中获取目标交易数据的全生命周期信息;全生命周期信息包括对目标交易数据执行的所有操作信息;其中,主链为存储交易数据的区块链,溯源链为存储对交易数据执行的所有操作信息的区块链,主链和溯源链中的区块一一对应。在本该方法中,当用户查询交易数据时,可以从主链上获取目标交易数据,当从主链获取的目标交易数据发生变化时,可以进一步根据主链和溯源链上区块之间的对应关系,基于该目标交易数据在主链上所属的区块,确定对应的溯源链上的区块,以从溯源链上对应的区块中获取目标交易数据的操作信息,实现数据溯源。如此,通过主链和溯源链分别存储不同的数据,可以缓解单链存储交易数据的压力,另外,通过主链和从链之间的区块的一一对应关系,可以实现数据的高效溯源。
基于上述实施例,在一个实施例中,交易数据查询请求包括交易标识和用户标识,如图5所示,从主链中获取交易数据查询请求对应的目标交易数据由部署在计算机设备上的查询系统来执行,其具体实现过程包括以下步骤:
步骤510:根据交易标识,从主链中获取目标交易数据的密文。
其中,为了防止数据被篡改,保证数据的安全性,在主链上存储交易数据时,会对交易数据进行加密,因此,根据交易标识,从主链上获取的是目标交易数据的密文,对其解密后可以得到目标交易数据。
在本申请中,交易数据的加密是基于密文策略的属性加密技术实现的。也即是,将交易数据的访问策略嵌入到密文中,用户属性嵌入到密钥中。当交易数据上链时,交易系统会初始化生成公钥和主密钥,设定好相应的访问策略,然后将交易数据用公钥和访问策略加密后存储于主链上,同时根据访问策略和公钥生成该密文的属性私钥。
其中,每个用户拥有自己的属性集,当该用户访问主链中存储的交易数据时,查询系统会根据事先设定好的访问策略来判断用户的属性集是否与访问策略相匹配,若相匹配,则通过检测,则向用户返回该交易数据的属性私钥。
在一种可能的实现方式中,步骤510的实现过程可以为:查询系统根据交易标识,确定该交易标识对应的主链区块的根哈希值,在主链中查询该根哈希值所在的区块,从该区块中获取目标交易数据的密文。
步骤520:根据用户标识获取解密信息,并根据解密信息对目标交易数据的密文进行解密,得到目标交易数据。
其中,基于上述属性加密方式,解密信息包括公钥和主密钥。
在一种可能的实现方式中,根据用户标识获取解密信息的实现过程可以为:根据用户标识获取对应的用户属性信息、公钥和主密钥;根据用户属性信息、公钥和主密钥,生成用户的属性私钥;将属性私钥和公钥,确定为解密信息。
作为一个示例,可以通过密钥生成器KeyGen生成属性私钥,如下述公式(1)所示:
SKABE=KeyGen(S,PKABE,MKABE) (1)
式中,KeyGen为Key Generator的简写形式,即密钥生成器,是为软件注册生成所需的注册码的一种程序。SKABE为属性私钥,S为用户的属性,PKABE为公钥,MKABE为主密钥。
进一步地,利用解密工具Decrypt,根据解密信息对目标交易数据的密文进行解密,得到目标交易数据,如下述公式(2)实现。
Transaction′=Decrypt<SKABE,PKABE,EKTransaction) (2)
式中,Transaction′为解密得到的交易数据,SKABE为属性私钥,S为用户的属性,PKABE为公钥,EKTransaction为目标交易数据的密文。
应该理解的是,解密得到的交易数据和目标交易数据可能相同,也可能不同,可选地,本申请还可以对解密得到的交易数据进行一致性校验。其中,一致性校验的实现过程为:
S1:计算交易数据Transaction′的根哈希值;
Hash′ROOT=Hash(Hash1(Transaction′1,Transaction′2),Hash2,...) (3)
其中,Hash′ROOT为计算的根哈希值,Transaction′1、Transaction′2等为参与生成交易数据Transaction′的根哈希值的相关交易数据。
S2:从主链中获取目标交易数据的根哈希值HashROOT,利用哈希算法的不可逆性和强碰撞性分析可知,若
HashROOT=Hash'ROOT
则表示交易数据一致可靠,解密得到的交易数据即为用户查询的目标交易数据,若两者不一致,则需要进行交易数据行为溯源。
在本实施例中,主链上存储的交易数据是基于属性加密的,因此,在根据交易标识,从主链上获取目标交易数据的密文;根据用户标识获取解密信息,通过解密信息对目标交易数据的密文进行解密,得到目标交易数据。如此,基于属性加密的访问控制机制,可以对目标交易数据访问行为发起者的身份进行验证,保障主链上数据的隐私性和安全性。
基于上述实施例,接下来获取目标交易数据的全生命周期信息的实现过程进行解释说明。
在一个实施例中,如图6所示,从溯源链中获取目标交易数据的全生命周期信息由部署在计算机设备上的查询系统来执行,其具体实现过程包括以下步骤:
步骤610:根据目标交易数据在主链的所属区块,获取溯源链中的对应溯源区块的地址信息。
其中,主链中各区块中存储有溯源链上对应溯源区块的地址信息,因此,可以从目标交易数据所在的区块中获取溯源区块的地址信息。
步骤620:根据对应溯源区块的地址信息,从对应溯源区块中获取目标交易数据的全生命周期信息。
其中,全生命周期信息包括对目标交易数据执行的所有操作信息,可以具体为多条行为记录。
可选地,在获取到目标交易数据的全生命周期信息,完成数据溯源后,还需在对应溯源区块中,记录本次获取目标交易数据的全生命周期信息的操作信息。
在本实施例中,由于主链中存储有溯源区块的地址信息,因此,可以在溯源区块中快速确定记录对目标交易数据执行的所有操作信息的至少一个溯源区块。进而从该溯源区块中获取目标交易数据的全生命周期信息,实现数据溯源的同时,通过主链和溯源链的设置,提高了数据溯源效率。
基于上述任一实施例,在一个实施例中,如图7所示,本申请还提供了一种交易数据上链方法,以该方法应用于部署在计算机设备上的交易系统作为执行主体进行举例说明,包括以下步骤:
步骤710:响应于用户发送的交易数据存储请求,获取待存储交易数据。
其中,待存储的交易数据可以是实时交易数据,也可以是待批量存储的交易数据,本申请实施例对此不做限制。
步骤720:生成待存储交易数据的根哈希值,并根据预设的访问策略对待存储交易数据进行属性加密,得到待存储交易数据的密文。
在一种可能的实现方式中,步骤720的实现过程可以为:获取加密安全参数,并根据加密安全参数,生成待存储交易数据的公钥和主密钥;根据访问策略和公钥,对待存储交易数据进行属性加密,得到待存储交易数据的密文。
作为一个示例,在实际应用时,用户通过终端指定交易数据Transaction的访问策略T,交易系统根据访问策略T对交易数据进行属性加密。
首先,根据安全参数λ,输出公钥PKABE和主密钥MKABE,如下述公式(4)所示:
(PKABE,MKABE)=setup(λ) (4)
然后,利用访问策略T和公钥PKABE对交易数据进行属性加密,得到交易数据的密文EKTransaction,如下公式(5)所示:
EKTransaction=Encrypt(PKABE,T,Transaction) (5)
步骤730:将存储交易数据的根哈希值、待存储交易数据的密文和用户的用户信息存储至主链中。
易系统将待存储交易数据的根哈希值、待存储交易数据的密文、用户等信息传入区块链网络,主链节点接收到交易信息后执行智能合约并将以上信息广播请求给其他主链节点执行相同操作。主链节点间联合运行共识算法,达成共识后将根哈希值、交易数据的密文写入区块链账本,并返回交易数据存证区块信息和索引,以便实现存证溯源和一致性校验。
在本申请实施例中,使用预设的访问策略对待存储交易数据进行属性加密后,将存储交易数据的根哈希值、待存储交易数据的密文和用户的用户信息存储至主链中。如此,通过属性加密可以实现多对一的数据访问,通过区块链存储交易数据的密文,可以防止数据被篡改,保证了交易数据的安全性。
综合上述实施例,结合图8所示的数据应用场景对本申请提供的数据溯源方法进行解释说明。其中,交易系统、查询系统、主链和溯源链均可以通过计算机设备来部署实现。
(1)交易数据上链
用户产生交易数据,交易系统计算交易数据的根哈希,对用户的交易数据进行属性加密,执行智能合约将交易的根哈希,交易数据密文等数据进行上链。主链上节点通过共识算法,生成新的交易区块,将交易数据进行存储。同时,从链上产生与主链交易区块对应的溯源区块,返回溯源链上产生的溯源区块地址到主链节点区块头中保存。
(2)交易数据查询
用户申请查询交易,查询系统对用户的身份进行验证。验证通过后查询系统向交易系统获取请求查询的交易所在区块的根哈希,进而根据查询系统返回的对应区块的根哈希地址,在主链中查询根哈希所在区块,获取交易数据查询结果,并返回查询结果给用户。
另外,在查询过程中,主链系统向溯源链发送请求,请求对该查询交易的行为进行上链,溯源链返回溯源块地址和根哈希给主链。
(3)交易数据溯源
用户申请交易行为溯源记录,查询系统对用户的身份进行验证。验证通过后查询系统向交易系统获取要查询交易所在区块的根哈希,进而根据查询系统返回的对应区块的根哈希地址,在主链中查询根哈希所在区块。从主链中根哈希所在的区块,获取溯源链的哈希地址,进而向溯源链查询交易行为的溯源记录,溯源链返回查询结果。
本实施例中的数据溯源方法的实现原理和技术效果与上述方法实施例类似,在此不再赘述。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据溯源方法的数据溯源装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据溯源装置实施例中的具体限定可以参见上文中对于数据溯源方法的限定,在此不再赘述。
在一个实施例中,如图9所示,提供了一种数据溯源装置,该装置900包括:获取模块910和溯源模块920,其中:
第一获取模块910,用于响应于用户发起的交易数据查询请求,从主链中获取交易数据查询请求对应的目标交易数据;
溯源模块920,用于若根据目标交易数据生成的根哈希值与主链中存储的根哈希值不同,则从溯源链中获取目标交易数据的全生命周期信息;全生命周期信息包括对目标交易数据执行的所有操作信息;
其中,主链为存储交易数据的区块链,溯源链为存储对交易数据执行的所有操作信息的区块链,主链和溯源链中的区块一一对应。
在其中一个实施例中,交易数据查询请求包括交易标识和用户标识;
第一获取模块910,包括:
第一获取单元,用于根据交易标识,从主链中获取目标交易数据的密文;
解密单元,用于根据用户标识获取解密信息,并根据解密信息对目标交易数据的密文进行解密,得到目标交易数据。
在其中一个实施例中,解密单元,包括:
获取子单元,用于根据用户标识获取对应的用户属性信息、公钥和主密钥;
私钥生成子单元,用于根据用户属性信息、公钥和主密钥,生成用户的属性私钥;
确定子单元,用于将属性私钥和公钥,确定为解密信息。
在其中一个实施例中,溯源模块920,包括:
第二获取单元,用于根据目标交易数据在主链的所属区块,获取溯源链中的对应溯源区块的地址信息;
第三获取单元,用于根据对应溯源区块的地址信息,从对应溯源区块中获取目标交易数据的全生命周期信息。
在其中一个实施例中,该装置900还包括:
记录模块,用于在对应溯源区块中,记录获取目标交易数据的全生命周期信息的操作信息。
在其中一个实施例中,该装置900还包括:
第二获取模块,用于响应于用户发送的交易数据存储请求,获取待存储交易数据;
加密模块,用于生成待存储交易数据的根哈希值,并根据预设的访问策略对待存储交易数据进行属性加密,得到待存储交易数据的密文;
存储模块,用于将存储交易数据的根哈希值、待存储交易数据的密文和用户的用户信息存储至主链中。
在其中一个实施例中,加密模块,包括:
第四获取单元,用于获取加密安全参数,并根据加密安全参数,生成待存储交易数据的公钥和主密钥;
加密单元,用于根据访问策略和公钥,对待存储交易数据进行属性加密,得到待存储交易数据的密文。
上述数据溯源装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据溯源方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
响应于用户发起的交易数据查询请求,从主链中获取交易数据查询请求对应的目标交易数据;
若根据目标交易数据生成的根哈希值与主链中存储的根哈希值不同,则从溯源链中获取目标交易数据的全生命周期信息;全生命周期信息包括对目标交易数据执行的所有操作信息;
其中,主链为存储交易数据的区块链,溯源链为存储对交易数据执行的所有操作信息的区块链,主链和溯源链中的区块一一对应。
本实施例提供的计算机设备在实现以上步骤时,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
响应于用户发起的交易数据查询请求,从主链中获取交易数据查询请求对应的目标交易数据;
若根据目标交易数据生成的根哈希值与主链中存储的根哈希值不同,则从溯源链中获取目标交易数据的全生命周期信息;全生命周期信息包括对目标交易数据执行的所有操作信息;
其中,主链为存储交易数据的区块链,溯源链为存储对交易数据执行的所有操作信息的区块链,主链和溯源链中的区块一一对应。
本实施例提供的计算机可读存储介质在实现以上步骤时,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
响应于用户发起的交易数据查询请求,从主链中获取交易数据查询请求对应的目标交易数据;
若根据目标交易数据生成的根哈希值与主链中存储的根哈希值不同,则从溯源链中获取目标交易数据的全生命周期信息;全生命周期信息包括对目标交易数据执行的所有操作信息;
其中,主链为存储交易数据的区块链,溯源链为存储对交易数据执行的所有操作信息的区块链,主链和溯源链中的区块一一对应。
本实施例提供的计算机程序产品在实现以上步骤时,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据溯源方法,其特征在于,所述方法包括:
响应于用户发起的交易数据查询请求,从主链中获取所述交易数据查询请求对应的目标交易数据;
若根据所述目标交易数据生成的根哈希值与所述主链中存储的根哈希值不同,则从溯源链中获取所述目标交易数据的全生命周期信息;所述全生命周期信息包括对所述目标交易数据执行的所有操作信息;
其中,所述主链为存储交易数据的区块链,所述溯源链为存储对所述交易数据执行的所有操作信息的区块链,所述主链和所述溯源链中的区块一一对应。
2.根据权利要求1所述的方法,其特征在于,所述交易数据查询请求包括交易标识和用户标识;
所述从主链中获取所述交易数据查询请求对应的目标交易数据,包括:
根据所述交易标识,从所述主链中获取所述目标交易数据的密文;
根据所述用户标识获取解密信息,并根据所述解密信息对所述目标交易数据的密文进行解密,得到所述目标交易数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述用户标识获取解密信息,包括:
根据所述用户标识获取对应的用户属性信息、公钥和主密钥;
根据所述用户属性信息、所述公钥和所述主密钥,生成所述用户的属性私钥;
将所述属性私钥和所述公钥,确定为所述解密信息。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述从溯源链中获取所述目标交易数据的全生命周期信息,包括:
根据所述目标交易数据在所述主链的所属区块,获取所述溯源链中的对应溯源区块的地址信息;
根据所述对应溯源区块的地址信息,从所述对应溯源区块中获取所述目标交易数据的全生命周期信息。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在所述对应溯源区块中,记录所述获取所述目标交易数据的全生命周期信息的操作信息。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
响应于用户发送的交易数据存储请求,获取待存储交易数据;
生成所述待存储交易数据的根哈希值,并根据预设的访问策略对所述待存储交易数据进行属性加密,得到所述待存储交易数据的密文;
将所述存储交易数据的根哈希值、所述待存储交易数据的密文和所述用户的用户信息存储至所述主链中。
7.根据权利要求6所述的方法,其特征在于,所述根据预设的访问策略对所述待存储交易数据进行属性加密,得到所述待存储交易数据的密文,包括:
获取加密安全参数,并根据所述加密安全参数,生成所述待存储交易数据的公钥和主密钥;
根据所述访问策略和所述公钥,对所述待存储交易数据进行属性加密,得到所述待存储交易数据的密文。
8.一种数据溯源装置,其特征在于,所述装置包括:
获取模块,用于响应于用户发起的交易数据查询请求,从主链中获取所述交易数据查询请求对应的目标交易数据;
溯源模块,用于若根据所述目标交易数据生成的根哈希值与所述主链中存储的根哈希值不同,则从溯源链中获取所述目标交易数据的全生命周期信息;所述全生命周期信息包括对所述目标交易数据执行的所有操作信息;
其中,所述主链为存储交易数据的区块链,所述溯源链为存储对所述交易数据执行的所有操作信息的区块链,所述主链和所述溯源链中的区块一一对应。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111635046.7A CN114490808A (zh) | 2021-12-29 | 2021-12-29 | 数据溯源方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111635046.7A CN114490808A (zh) | 2021-12-29 | 2021-12-29 | 数据溯源方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114490808A true CN114490808A (zh) | 2022-05-13 |
Family
ID=81496711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111635046.7A Pending CN114490808A (zh) | 2021-12-29 | 2021-12-29 | 数据溯源方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114490808A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114915428A (zh) * | 2022-07-18 | 2022-08-16 | 江苏数一科技服务有限公司 | 一种适用于流通钢材溯源的联盟链 |
CN115544047A (zh) * | 2022-11-25 | 2022-12-30 | 浙江非线数联科技股份有限公司 | 基于区块链的分布式供应链溯源、信息存储方法及系统 |
CN115965388A (zh) * | 2022-12-30 | 2023-04-14 | 国网数字科技控股有限公司 | 基于区块链的产业链金融密态溯源方法、装置及相关设备 |
CN117171236A (zh) * | 2023-11-02 | 2023-12-05 | 中电科大数据研究院有限公司 | 一种基于区块链的数据溯源方法及系统 |
-
2021
- 2021-12-29 CN CN202111635046.7A patent/CN114490808A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114915428A (zh) * | 2022-07-18 | 2022-08-16 | 江苏数一科技服务有限公司 | 一种适用于流通钢材溯源的联盟链 |
CN114915428B (zh) * | 2022-07-18 | 2022-11-18 | 江苏数一科技服务有限公司 | 一种适用于流通钢材溯源的联盟链 |
CN115544047A (zh) * | 2022-11-25 | 2022-12-30 | 浙江非线数联科技股份有限公司 | 基于区块链的分布式供应链溯源、信息存储方法及系统 |
CN115544047B (zh) * | 2022-11-25 | 2023-03-10 | 浙江非线数联科技股份有限公司 | 基于区块链的分布式供应链溯源、信息存储方法及系统 |
CN115965388A (zh) * | 2022-12-30 | 2023-04-14 | 国网数字科技控股有限公司 | 基于区块链的产业链金融密态溯源方法、装置及相关设备 |
CN115965388B (zh) * | 2022-12-30 | 2023-12-22 | 国网数字科技控股有限公司 | 基于区块链的产业链金融密态溯源方法、装置及相关设备 |
CN117171236A (zh) * | 2023-11-02 | 2023-12-05 | 中电科大数据研究院有限公司 | 一种基于区块链的数据溯源方法及系统 |
CN117171236B (zh) * | 2023-11-02 | 2024-02-06 | 中电科大数据研究院有限公司 | 一种基于区块链的数据溯源方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10839107B2 (en) | Managing a smart contract on a blockchain | |
CN114490808A (zh) | 数据溯源方法、装置、计算机设备和存储介质 | |
CN110245506B (zh) | 基于区块链的智能合约管理方法及装置、电子设备 | |
WO2021103794A1 (zh) | 在区块链中实现隐私保护的高效交易方法及装置 | |
CN108830601B (zh) | 基于区块链的智慧城市信息安全使用方法及系统 | |
CN111090874B (zh) | 调用合约的方法及装置 | |
WO2019007396A1 (zh) | 基于智能合约进行加密交易的方法和装置以及区块链 | |
EP3961974B1 (en) | Block content editing methods and apparatuses | |
CN111008228A (zh) | 区块链中账户隐私信息的查询方法及装置 | |
CN109067528B (zh) | 密码运算、创建工作密钥的方法、密码服务平台及设备 | |
CN113114476B (zh) | 基于合约的隐私存证方法及装置 | |
CN110580245B (zh) | 隐私数据的共享方法及装置 | |
CN112131298B (zh) | 基于区块链的数据转换方法及装置 | |
CN104584509A (zh) | 一种共享数据的访问控制方法、装置及系统 | |
WO2022206453A1 (zh) | 提供跨链隐私数据的方法和装置 | |
CN112637156B (zh) | 密钥分配方法、装置、计算机设备和存储介质 | |
CN114666064B (zh) | 基于区块链的数字资产管理方法、装置、存储介质及设备 | |
CN114301675A (zh) | 隐私数据交易方法、系统、计算机设备和存储介质 | |
CN110569669B (zh) | 一种面向云存储的数据可信销毁方法及其系统 | |
CN117155563A (zh) | 基于区块链的电网和电力通信网数据共享保护方法及系统 | |
CN110008727A (zh) | 加密敏感参数的处理方法、装置、计算机设备和存储介质 | |
CN113536384B (zh) | 基于区块链的隐私数据映射方法、装置、介质和电子设备 | |
CN113901498B (zh) | 一种数据共享方法、装置、设备及存储介质 | |
CN115412275A (zh) | 一种基于可信执行环境的隐私计算系统及方法 | |
Yang et al. | New Publicly Verifiable Data Deletion Supporting Efficient Tracking for Cloud Storage. |
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 |