CN113221191B - 基于区块链的数据存证方法、装置、设备和存储介质 - Google Patents
基于区块链的数据存证方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN113221191B CN113221191B CN202110507726.4A CN202110507726A CN113221191B CN 113221191 B CN113221191 B CN 113221191B CN 202110507726 A CN202110507726 A CN 202110507726A CN 113221191 B CN113221191 B CN 113221191B
- Authority
- CN
- China
- Prior art keywords
- data
- user
- user data
- query
- target user
- 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
Images
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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/22—Indexing; Data structures therefor; Storage structures
-
- 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/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
-
- 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
- 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
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
- G06Q50/205—Education administration or guidance
-
- 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
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
-
- 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
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
- G06Q50/265—Personal security, identity or safety
-
- 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/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Tourism & Hospitality (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Strategic Management (AREA)
- Educational Administration (AREA)
- Computer Hardware Design (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Primary Health Care (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Educational Technology (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
Abstract
本申请提出基于区块链的数据存证方法、装置、设备和存储介质。其中,上述区块链部署了用于管理数据资产的智能合约,上述方法可以包括,获取数据持有方发起的数据存证交易。其中,上述数据存证交易包括待存证的用户数据。上述用户数据包括认证机构对上述用户进行用户认证后产生的认证数据。响应于上述数据存证交易,调用上述智能合约包括的数据资产生成逻辑,为上述用户数据标记数据价值,并将标记了数据价值的上述用户数据与其它认证机构对该用户进行认证后产生的被标记了数据价值的用户数据进行关联存证,以形成与上述用户对应的数据资产。
Description
技术领域
本申请涉及计算机技术,具体涉及基于区块链的数据存证方法、装置、设备和存储介质。
背景技术
认证机构在对用户进行认证之后,可以形成与该用户相关的认证数据。这些认证数据可能包括与用户密切相关的信息。
以上述认证机构为职业认证机构为例,用户可以获取多种职业培训机构提供的职业技能培训。当用户结业后,认证机构可以为该用户生成可以认证该用户具备相关技能的认证数据。上述认证数据可以包括诸如用户身份信息、年龄、职业技能、受教育程度等数据信息。
当用户与多个不同的认证机构发生关联时,机构与人的关系是交叉型的网络服务关系,这给用户认证数据的存储,查询以及使用带来了很大的挑战。
发明内容
有鉴于此,本申请公开一种基于区块链的数据存证方法,其中,上述区块链部署了用于管理数据资产的智能合约,上述方法可以包括:
获取数据持有方发起的数据存证交易;其中,上述数据存证交易包括待存证的用户数据;上述用户数据包括认证机构对上述用户进行用户认证后产生的认证数据;
响应于上述数据存证交易,调用上述智能合约包括的数据资产生成逻辑,为上述用户数据标记数据价值,并将标记了数据价值的上述用户数据与其它认证机构对该用户进行认证后产生的被标记了数据价值的用户数据进行关联存证,以形成与上述用户对应的数据资产。
在示出的一些实施例中,在将标记了数据价值的用户数据与其它认证机构对该用户进行认证后标记了数据价值的用户数据进行关联存证之前,上述方法还包括:
生成数据属性标记事件,以使上述数据持有方的对应的用户客户端在获取到上述数据属性标记事件时,响应于上述数据属性标记事件,向上述数据持有方输出与上述用户数据对应的数据属性标记提示;
获取上述用户客户端发送的由上述数据持有方基于上述数据标记提示为上述用户数据标记的数据属性。
在示出的一些实施例中,上述为上述用户数据标记数据价值,包括以下示出的任一:
生成数据价值标记事件,以使上述用户客户端在获取到上述数据价值标记事时,响应于上述数据价值标记事件,提示上述数据持有方为上述用户数据标记数据价值;
根据上述数据存证交易包括的数据价值信息,为上述用户数据标记数据价值;
根据上述用户数据的被查询的次数,为上述用户数据标记数据价值。
在示出的一些实施例中,上述方法还包括:
在将标记了数据价值的用户数据与其它认证机构对该用户进行认证后标记了数据价值的用户数据进行关联存证之前,基于区块链节点设备搭载的第一TEE中维护的与上述用户对应的加密密钥对上述用户数据进行加密,以使数据查询方在访问上述加密后的用户数据时,通过自身搭载的第二TEE中维护的与上述用户对应的解密密钥,对上述加密后的用户数据进行解密。
在示出的一些实施例中,上述方法还包括:
响应于针对上述用户的注销交易,调用上述智能合约的注销逻辑,删除上述用户对应的用户账户,并清除上述第一TEE中维护的与上述用户对应加密秘钥和上述第二TEE中维护的与上述加密密钥对应的解密秘钥,以禁止上述数据查询方访问上述用户数据。
在示出的一些实施例中,上述方法还包括:
获取数据查询方发起的与目标用户数据对应的数据查询交易;
响应于上述数据查询交易,调用上述智能合约包括的查询逻辑,查询上述区块链中存证的上述目标用户数据,并将针对上述目标用户数据的查询结果发送至上述数据查询方;以及,
从上述数据查询方的用户账户持有的虚拟资源中,向上述数据持有方的用户账户转移与为上述目标用户数据标记的数据价值对应的数量的虚拟资源。
在示出的一些实施例中,上述数据属性指示上述目标用户数据是否为公开数据的数据公开属性;
上述将针对上述目标用户数据的查询结果发送至上述数据查询方包括:
基于上述目标用户数据对应的数据公开属性确定上述目标用户数据是否为公开数据;
如果上述目标用户数据为公开数据,将针对上述目标用户数据的查询结果发送至上述数据查询方。
在示出的一些实施例中,上述数据属性包括指示上述目标用户数据是否为托管至数据托管方的数据托管属性;
上述将针对上述目标用户数据的查询结果发送至上述数据查询方包括:
基于上述目标用户数据对应的数据托管属性确定上述目标用户数据是否为托管数据;
如果上述目标用户数据为托管至数据托管方的托管数据,通过上述数据托管方对应的私钥对上述目标用户数据的查询结果进行签名,并将签名后的上述目标用户数据的查询结果发送至上述数据查询方;
如果上述目标用户数据不是托管至数据托管方的托管数据,生成数据签名事件,以使用户客户端在获取到上述数据签名事件时,响应于上述数据签名事件,提示上述目标用户数据对应的数据持有方利用自身持有的私钥对上述目标用户数据的查询结果进行签名;获取上述用户客户端发送的签名后的上述目标用户数据的查询结果,并将签名后的上述目标用户数据的查询结果发送至上述数据查询方。
在示出的一些实施例中,上述数据属性包括指示上述目标用户数据的隐私等级的数据隐私属性;
上述将针对上述目标用户数据的查询结果发送至上述数据查询方,包括:
基于上述目标用户数据对应的数据隐私属性确定上述目标用户数据对应的隐私等级;其中,上述隐私等级包括第一级隐私等级和第二级隐私等级;上述第一级隐私等级表示上述目标用户数据支持明文数据查询;上述第二级隐私等级表示上述目标用户数据支持数据比较查询;
如果上述目标用户数据对应的数据等级为第一级隐私等级时,将上述目标用户数据的明文数据发送至上述数据查询方;
如果上述目标用户数据对应的数据等级为第二级的隐私等级时,获取上述数据查询交易中携带的待校验数据,将上述待校验数据与上述目标数据进行比较,并将比较结果作为查询结果发送至上述数据查询方。
在示出的一些实施例中,上述将针对上述目标用户数据的查询结果发送至上述数据查询方,包括:
确定上述数据查询方是否为上述目标用户数据对应的数据持有方;
如果是,将上述查询结果发送至上述数据查询方;
如果否,进一步调用上述智能合约包括的验证逻辑,对上述数据查询方进行身份验证,并在身份验证通过时,将上述查询结果发送至上述数据查询方。
在示出的一些实施例中,上述方法还包括:
在将针对上述目标用户数据的查询结果发送至上述数据查询方之后,更新上述智能合约维护的上述目标用户数据的查询次数;和/或,
在从上述数据查询方的用户账户持有的虚拟资源中,向上述数据持有方的用户账户转移与为上述目标用户数据标记的数据价值对应数量的虚拟资源之后,记录转移的上述虚拟资源的数量,并基于记录的上述数量更新上述智能合约维护的与上述目标用户数据对应的收益账单。
在示出的一些实施例中,上述认证机构包括培训机构;上述用户数据包括上述培训机构对上述用户进行培训认证产生的培训数据。
在示出的一些实施例中,上述培训机构包括职业培训机构;上述用户数据包括上述培训机构对上述用户进行职业教育培训认证后颁发的职业教育技能证书。
本申请还提出一种基于区块链的数据存证方法,其中,上述区块链部署了用于管理数据资产的智能合约,上述方法可以包括:
获取数据持有方发起的数据存证交易;其中,上述数据存证交易包括待存证的用户数据;上述用户数据包括认证机构对上述用户进行用户认证后产生的认证数据;
响应于上述数据存证交易,调用上述智能合约包括的数据资产生成逻辑,将上述用户数据与其它认证机构对该用户进行认证后产生的用户数据进行关联存证,生成与上述用户对应的用户数据集,并为生成的用户数据集标记数据价值,以形成与上述用户对应的数据资产。
在示出的一些实施例中,上述方法还包括:
在将标记了数据价值的用户数据与其它认证机构对该用户进行认证后标记了数据价值的用户数据进行关联存证之前,基于区块链节点设备搭载的第一TEE中维护的与上述用户对应的加密密钥对上述用户数据进行加密,以使数据查询方在访问上述加密后的用户数据时,通过自身搭载的第二TEE中维护的与上述用户对应的解密密钥,对上述加密后的用户数据进行解密。
在示出的一些实施例中,上述方法还包括:
响应于针对上述用户的注销交易,调用上述智能合约的注销逻辑,删除上述用户对应的用户账户,并清除上述第一TEE中维护的与上述用户对应加密秘钥和上述第二TEE中维护的与上述加密密钥对应的解密秘钥,以禁止上述数据查询方访问上述用户数据。
在示出的一些实施例中,上述方法还包括:
获取数据查询方发起的与目标用户数据对应的数据查询交易;
响应于上述数据查询交易,调用上述智能合约包括的查询逻辑,查询上述区块链中存证的上述目标用户数据,并将针对上述目标用户数据的查询结果发送至上述数据查询方;以及,
从上述数据查询方的用户账户持有的虚拟资源中,向上述数据持有方的用户账户转移与为上述目标用户数据标记的数据价值对应的数量的虚拟资源。
本申请还提出一种基于区块链的数据存证装置,其中,上述区块链部署了用于管理数据资产的智能合约,上述装置可以包括:
第一获取模块,获取数据持有方发起的数据存证交易;其中,上述数据存证交易包括待存证的用户数据;上述用户数据包括认证机构对上述用户进行用户认证后产生的认证数据;
第一数据资产生成模块,响应于上述数据存证交易,调用上述智能合约包括的数据资产生成逻辑,为上述用户数据标记数据价值,并将标记了数据价值的上述用户数据与其它认证机构对该用户进行认证后产生的被标记了数据价值的用户数据进行关联存证,以形成与上述用户对应的数据资产。
在示出的一些实施例中,上述装置还包括:
第二获取模块,获取数据查询方发起的与目标用户数据对应的数据查询交易;
查询模块,响应于上述数据查询交易,调用上述智能合约包括的查询逻辑,查询上述区块链中存证的上述目标用户数据,并将针对上述目标用户数据的查询结果发送至上述数据查询方;以及,
从上述数据查询方的用户账户持有的虚拟资源中,向上述数据持有方的用户账户转移与为上述目标用户数据标记的数据价值对应的数量的虚拟资源。
本申请还提出一种基于区块链的数据存证装置,其中,上述区块链部署了用于管理数据资产的智能合约,上述装置可以包括:
第三获取模块,获取数据持有方发起的数据存证交易;其中,上述数据存证交易包括待存证的用户数据;上述用户数据包括认证机构对上述用户进行用户认证后产生的认证数据;
第二数据资产生成模块,响应于上述数据存证交易,调用上述智能合约包括的数据资产生成逻辑,将上述用户数据与其它认证机构对该用户进行认证后产生的用户数据进行关联存证,生成与上述用户对应的用户数据集,并为生成的用户数据集标记数据价值,以形成与上述用户对应的数据资产。
本申请还提出一种电子设备,包括:处理器;用于存储上述处理器可执行指令的存储器;
其中,上述处理器被配置为调用上述存储器中存储的可执行指令,实现如前述任一实施例示出的数据存证方法。
本申请还提出一种计算机可读存储介质,上述存储介质存储有计算机程序,上述计算机程序用于执行如前述任一实施例示出的数据存证方法。
在上述方案中,在有用户数据存证需求时,通过调用上述智能合约包括的存证逻辑,为上述用户数据标记数据价值,并将标记了数据价值的用户数据与其它认证机构对该用户进行认证后标记了数据价值的用户数据关联存证,以形成与上述用户对应的数据资产,从而一方面将不同认证机构对用户进行用户认证产生的认证数据关联存证至区块链,因此可以利用区块链透明化程度高、不可篡改性以及区块链秘钥签名功能,保证用户数据的可信性与安全性,排除数据滥用;
另一方面,通过为用户数据标记数据价值,可以将用户在不同认证机构产生的认证数据作为该用户的数据资产安全存证在区块链中,便于进行数据查询。
应当理解的是,以上述的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请一个或多个实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请示出的一种创建智能合约的示意图;
图2为本申请提出的一种基于区块链的数据存证方法的方法流程图;
图3为本申请示出的一种数据查询流程示意图;
图4为本申请示出的一种身份验证流程示意图;
图5为本申请示出的一种职业认证数据管理场景图;
图6为本申请示出的一种数据管理系统架构示意图;
图7为本申请示出的一种数据存证流程示意图;
图8为本申请示出的一种数据查询流程示意图;
图9为本申请示出的一种基于区块链的数据存证装置的结构示意图;
图10为本申请示出的一种电子设备的硬件结构示意图。
具体实施方式
下面将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的设备和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“上述”和“该”也旨在可以包括多数形式,除非上述下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。还应当理解,本文中所使用的词语“如果”,取决于语境,可以被解释成为“在……时”或“当……时”或“响应于确定”。
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(PrivateBlockchain)和联盟链(Consortium Blockchain)。此外,还有多种类型的结合,比如私有链+联盟链、联盟链+公有链等不同组合形式。其中去中心化程度最高的是公有链。公有链以比特币、以太坊为代表,加入公有链的参与者可以读取链上的数据记录、参与交易以及竞争新区块的记账权等。
而且,各参与者(即节点)可自由加入以及退出网络,并进行相关操作。私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化系统,参与节点具有严格限制且少。这种类型的区块链更适合于特定机构内部使用。
联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;参与者通过授权加入网络并组成利益相关联盟,共同维护区块链运行。
不论是公有链、私有链还是联盟链,都可能提供智能合约的功能。区块链上的智能合约是在区块链系统上可以被交易触发执行的合约。智能合约可以通过代码的形式定义。
以以太坊为例,支持用户在以太坊网络中创建并调用一些复杂的逻辑,这是以太坊区别于比特币区块链技术的最大挑战。以太坊作为一个可编程区块链的核心是以太坊虚拟机(EVM),每个以太坊节点都可以运行EVM。EVM是一个图灵完备的虚拟机,这意味着可以通过它实现各种复杂的逻辑。用户在以太坊中发布和调用智能合约就是在EVM上运行的。实际上,虚拟机直接运行的是虚拟机代码(虚拟机字节码,下简称“字节码”)。部署在区块链上的智能合约可以是字节码的形式。
例如图1所示,Bob将一个包含创建智能合约信息的交易(Transaction)发送到以太坊网络后,节点1的EVM可以执行这个交易并生成对应的合约实例。图1中的“0x68e12cf284…”代表了这个合约的地址,交易的data字段保存的可以是字节码,交易的to字段为一个空的账户。节点间通过共识机制达成一致后,这个合约成功创建,后续用户可以调用这个合约。
合约创建后,区块链上出现一个与该智能合约对应的合约账户,并拥有一个特定的地址,合约代码和账户存储将保存在该合约账户中。智能合约的行为由合约代码控制,而智能合约的账户存储(Storage)则保存了合约的状态。换句话说,智能合约使得区块链上产生包含合约代码和账户存储的虚拟账户。
前述提到,包含创建智能合约的交易的data字段保存的可以是该智能合约的字节码。字节码由一连串的字节组成,每一字节可以标识一个操作。基于开发效率、可读性等多方面考虑,开发者可以不直接书写字节码,而是选择一门高级语言编写智能合约代码。例如,采用诸如SolIDity、Serpent、LLL语言等高级语言。对于采用高级语言编写的智能合约代码,可以经过编译器编译,生成可以部署到区块链上的字节码。
以SolIDity语言为例,用其编写的合约与面向对象编程语言中的类(Class)很相似,在一个合约中可以声明多种成员,包括状态变量、函数、函数修改器、事件等。状态变量是永久存储在智能合约的账户存储中的值,用于保存合约的状态。
本申请旨在提出一种基于区块链的数据存证方法。一方面,该方法通过智能合约,将不同认证机构对用户进行用户认证产生的认证数据关联存证至区块链,因此可以利用区块链透明化程度高、不可篡改性以及区块链秘钥签名功能,保证用户数据的可信性与安全性,排除数据滥用;
另一方面,通过为用户数据标记数据价值,可以将用户在不同认证机构产生的认证数据作为该用户的数据资产安全存证在区块链中,便于进行数据查询。
在一些例子中,上述数据存证方法可以应用于数据资产管理系统(以下简称管理系统)。该系统可以与数据持有方对应的客户端(以下简称数据持有方)、数据查询方对应的客户端(以下简称数据查询方)进行数据交互,对数据持有方针对某用户上传的用户数据进行价值锚定,将用户数据与该用户的其他用户数据关联存证,以及对数据查询方的数据查询行为进行有序管理。
上述管理系统可以是服务端系统、客户端系统或云服务系统,在本申请中不进行限定。
上述管理系统可以包括基于公有链、私有链或联盟链的构建系统。上述区块链可以包括若干节点设备,用于对待存证的数据进行共识处理,实现对数据的去中心化管理。
上述区块链可以部署了用于管理数据资产的智能合约。
上述智能合约可以是项目运营方(数据管理项目运营方)根据业务需求进行开发,并部署在上述区块链中。
上述智能合约可以包括若干处理逻辑,用于进行数据管理。
在一些例子中,该智能合约可以包括数据资产生成逻辑,用于响应于上述数据存证交易,为上述用户数据标记数据价值,并将标记了数据价值的用户数据与其它认证机构对该用户进行认证后标记了数据价值的用户数据关联存证,以形成与上述用户对应的数据资产。
该智能合约(以下简称合约)还可以通过事件机制与数据持有方和/或数据查询方进行信息传递,获取数据持有方或数据消息方针对事件的响应信息。例如,该合约可以针待存证的用户数据构建数据确认事件,以由数据持有方响应于该数据确认事件对上述用户数据的数据信息进行确认。上述数据持有方可以通过诸如预言机机制将上述确认信息发送至该合约,该合约可以获取该确认信息并与上述用户数据关联存储。
请参见图2,图2为本申请提出的一种基于区块链的数据存证方法的方法流程图。
如图2所示,上述方法可以包括:
S202,获取数据持有方发起的数据存证交易;其中,上述数据存证交易包括待存证的用户数据;上述用户数据包括认证机构对上述用户进行用户认证后产生的认证数据。
上述用户,可以是指人,企事业单位或组织。上述认证机构是指可以对上述用户进行认证的任意机构。在一些例子中,上述认证机构包括培训机构;上述用户数据包括上述培训机构对上述用户进行培训认证产生的培训数据。在一些例子中上述培训机构包括职业培训机构;上述用户数据包括上述培训机构对上述用户进行职业教育培训认证后颁发的职业教育技能证书。
例如,在职业认证数据管理场景中,上述用户可以是参与培训的个人用户,上述认证机构可以是对职业技能进行认证的机构;或者,上述用户可以是企业用户,上述认证机构可以是对企业进行资质认证的资质认证机构。再例如,在身份认证场景中,上述用户可以是个人用户,上述认证机构可以是身份认证机构;或者上述用户可以是企业用户,上述认证机构可以是对企业进行身份认证的事业机构。
上述数据持有方,可以是指持有用户数据的任意一方。例如,上述数据持有方可以是用户本人,或者认证机构。比如,在职业认证数据管理场景中,上述数据持有方可以是参加职业培训的用户本人,或者是对用户职业技能进行认证的职业认证机构。再比如,在身份认证场景中,上述数据持有方可以是用户本人,或者是身份认证机构。上述数据持有方在上述区块链中完成注册后,上述区块链可以为上述数据持有方分配专属公私钥对。上述数据持有方可以利用私钥对用户数据进行签名,并将公钥广播至其他各方进行验签。
上述用户数据可以包括认证机构对上述用户进行用户认证后产生的认证数据。上述认证数据可以是与上述用户密切相关的任意数据。例如,在职业认证数据管理场景中,上述认证数据可以包括诸如用户身份信息、年龄、职业技能、受教育程度等数据信息。再例如,在身份认证场景中,上述认证数据可以包括用户身份信息、年龄、出生日期、出生地等信息。
在一些例子中,数据持有方在上传用户数据时可以对上述用户数据的数据属性进行设定,并将设定好的数据属性信息与待存证的用户数据关联发送至上述管理系统,以使上述管理系统可以根据上述数据属性信息表征的数据存储方式,对用户数据进行存储。
在一些例子中,上述数据属性包括以下至少一项:数据托管属性;数据公开属性;数据隐私属性。
上述数据托管属性可以表征用户数据是否托管至数据托管方。上述数据托管方,具体可以是提供数据托管服务的任意单位。在一些例子中数据托管方可以是上述管理系统。
以下以数据托管方为上述管理系统为例进行说明。如果上述用户数据托管至上述管理系统,则上述管理系统可以在用户授予的权限范围内自行处理该用户数据。例如,用户授予管理系统对数据进行数据查询的权限。此时,若有数据查询方愿意付费查询上述用户数据时,管理系统可以无需征得用户同意即可将该数据提供给数据查询方使用。在一些例子中,上述管理系统可以将向数据查询方收取的费用转移至上述用户。在一些例子中,上述数据属性信息中还可以包括表征将上述用户数据托管至管理系统的时限信息,使得在该时限内将数据托管至管理系统,进而保证用户权利。
如果上述用户数据未托管至上述管理系统,则上述管理系统可以仅负责用户数据存证,无权对用户数据进行其它处理。
通过为待存证数据分配数据托管属性,可以便于用户确定是否由数据托管方进行数据管理,提升用户体验。
上述数据公开属性,可以表征该用户数据是否为公开数据。如果数据公开属性表征该用户数据不能向第三方公开,则该用户数据只能向上述用户公开,其它用户无权对该用户数据进行查询。
如果数据公开属性表征该用户数据可以向第三方公开,则该用户数据除了可以向上述用户公开外,也可以向第三方数据查询方公开。
通过为待存证数据分配数据公开属性,可以定义数据的公开属性,保证用户数据的安全性与隐私性,进而保证用户的权利。
上述数据隐私属性可以表征该用户数据隐私等级。在一些例子中,可以为数据分配不同的隐私等级,保证数据有不同级别的安全性。在一些例子中,可以将隐私等级至少分配为第一级和第二级。其中第一级的数据隐私级别较低,在数据查询方查询该数据时可以将该数据直接发送给数据查询方。其中第二级的数据隐私级别较高,在数据查询方查询该数据时,不能直接将数据发送给查询方。可以获取数据查询方提供的待校验数据,然后根据该用户数据对该待校验数据进行校验,并将校验结果发给上述数据查询方。
例如,在职业认证数据管理场景中,假设与用户A对应的认证数据的隐私级别为第一级。此时,如果有企业B想要获取用户A的认证数据时,上述管理系统可以将用户A对应的认证数据以明文形式发送给企业B。
例如,在职业认证数据管理场景中,假设与用户A对应的认证数据的隐私级别为第二级。假设企业B想要确认用户A是否具有某项职业技能。此时,如果有企业B想要获取用户A的认证数据时,上述管理系统不能将用户A对应的认证数据发送给企业B,而是可以获取企业B需要校验的数据,即用户A是否具有某项职业技能。然后上述管理系统可以根据用户A对应的认证数据得到校验结果,并将该校验结果返回至企业B。由此可以保证用户A的数据的隐私性。
通过为待存证数据分配数据隐私属性,可以定义数据的隐私级别,保证用户数据的安全性与隐私性,进而保证用户的权利。
当获取到上述数据存证交易后,可以执行S204。
S204,响应于上述数据存证交易,调用上述智能合约包括的数据资产生成逻辑,为上述用户数据标记数据价值,并将标记了数据价值的上述用户数据与其它认证机构对该用户进行认证后产生的被标记了数据价值的用户数据进行关联存证,以形成与上述用户对应的数据资产。
在一些例子中,上述数据存证交易中可以包括上述智能合约对应的合约地址。上述区块链中的各节点对上述数据存证交易共识之后,可以根据上述合约地址获取上述合约,并通过本地搭载的虚拟机EVM执行上述合约包括的存证逻辑。
上述数据价值,具体可以是表征待存证数据具有的价值。
当数据查询方查询用户数据时,需要为该数据付出与该数据的数据价值等价的虚拟资源。
在一些例子中,上述数据存证交易中包括针对用户数据的数据价值信息,上述管理系统可以根据上述数据价值信息,为上述用户数据标记数据价值。
在一些例子中,上述合约可以生成数据价值标记事件,以使上述数据持有方对应的用户客户端在获取到上述数据价值标记事时,响应于上述数据价值标记事件,提示上述数据持有方为上述用户数据标记数据价值。
在一些例子中,上述合约可以生成数据价值标记事件,并发布至上述区块链中。当上述区块链中的各节点完成共识后,上述管理系统可以通过拉块等方式获取上述数据价值标记事件,并将该事件发送至上述用户客户端。在一些例子中,可以向上述数据持有方进行弹窗提醒。上述数据持有方可以响应于该事件为上述待存证的用户数据填写数据价值信息,并将上述数据价值信息发送至上述合约。
在一些例子中,上述数据持有方可以通过用户客户端打包一笔合约调用交易将上述数据价值信息发送至上述合约,以为上述待存证数据标记数据价值。在一些例子中,上述数据持有方可以将上述数据价值信息发送至上述管理系统,以由该管理系统将该数据价值信息发送至上述合约进行数据价值标记。
在一些例子中,用户数据的数据价值可以改变。上述管理系统可以获取上述用户数据被查询的次数。可以理解的是,该数据被查询的次数可以是指该数据在上述管理系统内被查询的次数,或者是该数据在其他可信系统中被查询的次数。上述管理系统在获取到上述用户数据被查询的次数后,可以根据该次数为上述用户数据标记响应的数据价值。由此可以将数据价值与用户数据被查询的次数绑定,从而为上述用户数据标记更客观真实的数据价值,进而保护用户权利。
在一些例子中,上述合约可以通过事件机制获取该待存证的用户数据的数据属性。该合约可以生成数据属性标记事件,以使上述数据持有方的对应的用户客户端在获取到上述数据属性标记事件时,响应于上述数据属性标记事件,向上述数据持有方输出与上述用户数据对应的数据属性标记提示。然后上述合约可以获取上述用户客户端发送的由上述数据持有方基于上述数据标记提示为上述用户数据标记的数据属性,并将标记了数据价值的用户数据与其它认证机构对该用户进行认证后标记了数据价值的用户数据关联存证。
在一些例子中,上述数据属性包括以下至少一项:数据托管属性;数据公开属性;数据隐私属性。关于数据属性的相关介绍可以参照前述实施例,在此不作详述。
通过事件机制获取用户数据的数据属性可以为上述用户数据分配多种类型的数据属性,从而可以根据不同的用户需求对用户数据进行灵活管理,提升用户体验。
在一些例子中,上述合约对应的合约账户中可能存储了其它认证机构对该用户进行认证后标记了数据价值的用户数据。上述合约可以将待存证的用户数据与上述已经存储的数据进行关联存储。在一些例子中,数据关联的方式可以包括任一维度的数据关联。
例如,可以通过上述用户数据的用户ID、年龄、性别、身份证号等不同维度将将不同机构下的认证数据进行关联。此时,当数据查询方通过用户ID、年龄、性别、身份证号等访问该用户的认证数据时,可以访问到将该用户在不同机构下的相关认证数据。
在一些例子中,上述合约在存证用户数据时,可以通过TEE(Trusted ExecutionEnvironment,可信执行环境)进一步提升用户数据的安全性与隐私性。
上述TEE中可以通过可信程序管理用户对应的秘钥。该秘钥对于任何人员来讲都是不可知的,从而增加了数据的安全性。
在一些例子中,基于区块链节点设备搭载的第一TEE中维护的与上述用户对应的加密密钥对上述关联数据进行加密,以使数据查询方在访问上述加密后的用户数据时,通过自身搭载的第二TEE中维护的与上述用户对应的解密密钥,对上述加密后的用户数据进行解密。由此通过TEE硬件加密的方式可以提升用户数据的安全性。
上述第一TEE可以是搭载在区块链节点设备中的可信环境。该可信环境中可以维护与上述用户对应的加密秘钥。其中,上述加密秘钥对任何人不可知。当上述设备获取到该用户数据后,可以在第一TEE中进行加密。在一些例子中,当上述用户数据需要和其他数据关联存储时。可以先将该用户数据与其它认证机构对该用户进行认证后的用户数据进行关联,得到关联数据,然后再在上述第一TEE中进行数据加密。
上述第二TEE可以是搭载在数据查询方终端中的可信环境。该可信环境中可以维护与上述用户对应的解密秘钥。其中,上述解密秘钥对任何人不可知。当上述数据查询方获取到用户数据后,可以在第二TEE中通过解密秘钥完成数据解密。
在一些例子中,当用户不需要通过管理系统管理数据时,可以发起注销交易。上述管理系统可以响应于针对上述用户的注销交易,调用上述智能合约的注销逻辑,删除上述用户对应的账户信息,并清除上述第一TEE中的加密秘钥和上述第二TEE中的解密秘钥以禁止上述数据查询方访问上述用户数据。由此可以确保上述数据查询方已经获取的用户数据无法被正常打开,提升用户数据的安全性,进而保证用户利益。
在上述方案中,在有用户数据存证需求时,通过调用上述智能合约包括的存证逻辑,为上述用户数据标记数据价值,并将标记了数据价值的用户数据与其它认证机构对该用户进行认证后标记了数据价值的用户数据关联存证,以形成与上述用户对应的数据资产,从而一方面将不同认证机构对用户进行用户认证产生的认证数据关联存证至区块链,因此可以利用区块链透明化程度高、不可篡改性以及区块链秘钥签名功能,保证用户数据的可信性与安全性,排除数据滥用;
另一方面,通过为用户数据标记数据价值,可以将用户在不同认证机构产生的认证数据作为该用户的数据资产安全存证在区块链中,便于进行数据查询。
在一些例子中,上述智能合约还包括查询逻辑,用于响应于上述数据查询交易,调用上述智能合约包括的查询逻辑,查询上述区块链中存证的上述目标用户数据,并将针对上述目标用户数据的查询结果发送至上述数据查询方;以及,从上述数据查询方的用户账户持有的虚拟资源中,向上述数据持有方的用户账户转移与为上述目标用户数据标记的数据价值对应的数量的虚拟资源。通过该智能合约可以有效管理数据查询行为,提升用户体验。
请参见图3,图3为本申请示出的一种数据查询流程示意图。
如图3所示,S302,获取数据查询方发起的与目标用户数据对应的数据查询交易。
上述数据查询方,可以是指有数据查询需求的任意方。例如,上述数据查询方可以是用户本人。当用户有数据查询需求时,可以作为数据查询方发起主动查询(数据查询)请求,从而查询存证的用户数据。再例如,上述数据查询方可以是电话销售方,该电话销售方需要从用户数据中获取用户的联系方式。再例如,上述数据查询方可以是银行出资方,该银行出资方需要从用户数据中获取用户的征信信息。
上述目标用户数据可以是指已经存证在区块链中的与上述目标用户相关的用户数据。数据查询方在发起数据查询交易时,可以携带上述目标用户对应的用户ID等信息。上述智能合约可以根据用户ID查询存证的与该目标用户相关的用户数据,并将该用户数据发送至数据查询方。
在获取到数据查询交易后,可以执行S304,响应于上述数据查询交易,调用上述智能合约包括的查询逻辑,查询上述区块链中存证的上述目标用户数据,并将针对上述目标用户数据的查询结果发送至上述数据查询方;以及,从上述数据查询方的用户账户持有的虚拟资源中,向上述数据持有方的用户账户转移与为上述目标用户数据标记的数据价值对应的数量的虚拟资源。
上述查询结果可以是明文形式的用户数据或根据用户数据对待校验数据进行校验后得到的比较结果。
上述虚拟资源可以是指虚拟资产、token令牌等。在一些例子中,上述虚拟资源可以是与线下实物锚定的虚拟资产。通过上述区块链中搭载的价值锚定合约,可以将需求方拥有的线下实物(例如,汽车,房产,账户余额等)锚定为链上虚拟资产,并存在上述需求方对应的账户中。
在一些例子中,上述智能合约中预先部署了数据价值与虚拟资产的锚定关系。上述合约可以先确定上述目标用户数据标记的数据价值。然后通过上述锚定关系,确定数据查询需要支付的虚拟资源数量。之后上述合约可以从上述数据查询方对应的账户中划出上述数量的虚拟资源,并划入至上述数据持有方对应的账户中。在上述例子中可以通过智能合约协助数据查询方在支付费用后获取用户数据,一方面,可以保证数据持有方的利益;另一方面,可以通过智能合约透明程度高,不可篡改等特性实现数据查询过程的全记录,保证数据查询的安全可信性。
可以理解的是,在一些例子中,如果是用户本人需要查询数据时,可以无需进行虚拟资源转移的过程。
在一些例子中,为了进一步保证用户数据的安全性,可以对数据查询方的身份进行验证。
请参见图4,图4为本申请示出的一种身份验证流程示意图。
如图4所示,当获取到数据查询请求时,可以执行S401,确定上述数据查询方是否为上述目标用户数据对应的数据持有方。
如果上述数据查询方是上述目标用户数据对应的数据持有方,可以执行S402,将上述目标用户数据发送至上述数据查询方。
如果上述数据查询方不是上述目标用户数据对应的数据持有方,可以进一步调用上述智能合约包括的验证逻辑,对上述数据查询方进行身份验证,并在身份验证通过时,将上述查询结果发送至上述数据查询方。
其中,上述身份验证的内容可以根据业务需求进行设定。
在一些例子中,上述身份验证可以包括查询权限验证。在一些例子中,当任一数据查询方完成数据查询费用支付后,上述智能合约可以响应于完成费用支付,为该数据查询方分配查询权限。在一些例子中,上述数据查询方可以预先在管理系统中进行注册,并在注册协议中约定数据查询是否具有查询权限。
如图4所示,如果上述数据查询方不是上述目标用户数据对应的数据持有方,可以进一步执行S403,判断上述数据查询方是否具有查询权限。
如果否,则可以拒绝上述数据查询方的数据查询请求。
如果有,则可以将上述用户数据发送至上述数据查询方。在一些例子中,在将上述用户数据发送至上述数据查询方之前需要征得该用户数据持有方的同意。此时,上述管理系统可以执行S404,通过诸如站内信等方式询问上述数据持有方是否同意该次数据查询。如果数据持有方同意则可以使用该数据持有方对应的私钥对该用户数据进行签名,并将签名后的数据发送出去;反之,则可以终止该次数据查询。
由此,可以在将用户数据发送至数据查询方之前可以对数据查询方进行身份验证,进而保证用户数据的安全性,保证用户权利。
在一些例子中,可以根据用户数据对应的数据公开属性引导数据查询。
在一些例子中,在将上述目标用户数据发送至上述数据查询方时,可以基于上述目标用户数据对应的数据公开属性确定上述目标用户数据是否为公开数据。在一些例子中可以通过标识位表征数据公开属性。
如果上述目标用户数据对应的数据公开属性表征该目标用户数据为非公开数据,可以终止向上述数据查询方提供查询结果;如果上述目标用户数据对应的数据公开属性表征该目标用户数据为公开数据,将针对上述目标用户数据的查询结果发送至上述数据查询方。
由此,可以根据用户数据对应的数据公开数据引导数据查询,进而实现对数据的灵活管理,即方便数据查询方进行数据查询,同时也保护了数据安全性与隐私性。
在一些例子中,可以根据用户数据对应的数据公开属性引导数据查询。
在一些例子中,在将上述目标用户数据发送至上述数据查询方时,可以基于上述目标用户数据对应的数据托管属性确定上述目标用户数据是否为托管数据。在一些例子中,可以通过标识位表征数据托管属性。
如果上述目标用户数据对应的数据隐私属性表征该目标用户数据托管至数据托管方,可以通过上述数据托管方对应的私钥对上述目标用户数据进行签名,并将签名后的上述目标用户数据的查询结果发送至上述数据查询方。
如果上述目标用户数据不是托管至数据托管方的托管数据,生成数据签名事件,以使用户客户端在获取到上述数据签名事件时,响应于上述数据签名事件,提示上述目标用户数据对应的数据持有方利用自身持有的私钥对上述目标用户数据的查询结果进行签名;获取上述用户客户端发送的签名后的上述目标用户数据的查询结果,并将签名后的上述目标用户数据的查询结果发送至上述数据查询方。
上述数据托管方可以是任意方。上述数据托管方在上述区块链中完成注册后,上述区块链可以为该数据托管方分配专属公私钥对。上述数据托管方可以利用私钥进行身份签名。
在上述例子中,在向数据查询方发送目标用户数据时,可以根据数据是否被托管使用不同的私钥对数据进行签名,从而一方面,可以在数据查询过程中保留查询许可的记录(签名信息),方便后续对该次数据查询的查验;另一方面,可以实现灵活的数据管理机制,提高用户体验。
在一些例子中,可以根据用户数据对应的数据隐私属性引导数据查询。
在一些例子中,在将上述目标用户数据发送至上述数据查询方时,可以基于上述目标用户数据对应的数据隐私属性确定上述目标用户数据对应的隐私等级。在一些例子中,可以通过标识位表征数据隐私属性。
如果上述目标用户数据对应的数据等级为第一级隐私等级时,将上述目标用户数据的明文数据发送至上述数据查询方;
如果上述目标用户数据对应的数据等级为第二级的隐私等级时,获取上述数据查询交易中携带的待校验数据,将上述待校验数据与上述目标数据进行比较,并将比较结果作为查询结果发送至上述数据查询方。
上述第一级、上述第二级分别对应的业务逻辑,可以根据业务需求进行设定。在一些例子中,上述第一级隐私等级表示上述目标用户数据支持明文数据查询;上述第二级隐私等级表示上述目标用户数据支持数据比较查询。
在上述例子中,可以根据用户数据对应的数据隐私属性指引数据查询,从而一方面,保证数据隐私性与安全性;另一方面实现对用户数据的灵活管理,提高用户体验。
在一些例子中,在将针对上述目标用户数据的查询结果发送至上述数据查询方之后,更新上述智能合约维护的上述目标用户数据的查询次数。
在一些例子中,上述管理系统中可以针对各用户数据维护专属计数器。每当用户数据被查询一次,则可以更新上述计数器中的数值。在一些例子中,上述次数可以表征该用户数据的重要程度,上述管理系统可以根据各用户数据对应的被查询次数,周期性的更新各用户数据对应的数据价值,从而使用户数据的数据价值更客观真实。
在一些例子中,上述管理系统还可以维护各用户数据被查询时对应的数据价值,通过统计各用户数据被查询时对应的数据价值,可以维护各用户数据带来的收益。由此可以维护与各用户数据对应的账单。
在一些例子中,上述管理系统还可以维护与用户数据对应的用户对应的收益账单。每当某一用户数据被查询时,还可以更新该用户数据对应的用户所对应的收益账单。
在一些例子中,在从上述数据查询方的用户账户持有的虚拟资源中,向上述数据持有方的用户账户转移与为上述目标用户数据标记的数据价值对应数量的虚拟资源之后,记录转移的上述虚拟资源的数量,并基于记录的上述数量更新上述智能合约维护的与上述目标用户数据对应的收益账单。
在一些例子中,如果任一目标用户需要查询收益时,可以发起收益查询请求。上述管理系统可以响应于上述收益查询请求,将上述智能合约维护的与上述目标用户对应的收益发送至上述目标用户。
在一些例子中,上述收益账单可以维护在合约账户中,进而确保收益账单的可信性。此时,上述管理系统可以针对上述目标用户发起收益查询交易,调用上述智能合约包括的查询逻辑,根据该目标用户对应的ID查询到收益账单并发布至区块链。上述管理系统可以通过诸如拉块等方式获取包括该收益账单的区块,并解析出该收益账单。然后上述管理系统可以将该收益账单发送至上述目标用户。
在一些例子中还提出一种基于区块链的数据存证方法。其中,上述区块链部署了用于管理数据资产的智能合约,上述方法可以包括:
获取数据持有方发起的数据存证交易;其中,上述数据存证交易包括待存证的用户数据;上述用户数据包括认证机构对上述用户进行用户认证后产生的认证数据;
响应于上述数据存证交易,调用上述智能合约包括的数据资产生成逻辑,将上述用户数据与其它认证机构对该用户进行认证后产生的用户数据进行关联存证,生成与上述用户对应的用户数据集,并为生成的用户数据集标记数据价值,以形成与上述用户对应的数据资产。
上述用户数据集可以表中与用户对应的数据资产集合。例如,在职业教育培训场景中,用户在机构A、机构B、机构C进行认证后得到的用户数据可以在区块链中关联存证,形成与上述用户对应的用户数据集,即用户数据资产。由此可以一方面,该方法通过智能合约,将不同认证机构对用户进行用户认证产生的认证数据关联存证至区块链,因此可以利用区块链透明化程度高、不可篡改性以及区块链秘钥签名功能,保证用户数据的可信性与安全性,排除数据滥用;
另一方面,通过为用户数据标记数据价值,可以将用户在不同认证机构产生的认证数据作为该用户的数据资产安全存证在区块链中,便于进行数据查询。
在一些例子中,在为生成的用户数据集标记数据价值时,可以生成价值标记事件,以由上述数据持有方响应于该价值标记事件为用户数据集进行价值标记。
在一些例子中,上述用户数据集中的用户的数据可以被标记数据属性,具体过程可以参照前述实施例,在此不作详述。
在一些例子中,在将标记了数据价值的用户数据与其它认证机构对该用户进行认证后标记了数据价值的用户数据进行关联存证之前,基于区块链节点设备搭载的第一TEE中维护的与上述用户对应的加密密钥对上述用户数据进行加密,以使数据查询方在访问上述加密后的用户数据时,通过自身搭载的第二TEE中维护的与上述用户对应的解密密钥,对上述加密后的用户数据进行解密。
在一些例子中,可以响应于针对上述用户的注销交易,调用上述智能合约的注销逻辑,删除上述用户对应的用户账户,并清除上述第一TEE中维护的与上述用户对应加密秘钥和上述第二TEE中维护的与上述加密密钥对应的解密秘钥,以禁止上述数据查询方访问上述用户数据。
在一些例子中,可以获取数据查询方发起的与目标用户数据对应的数据查询交易;
响应于上述数据查询交易,调用上述智能合约包括的查询逻辑,查询上述区块链中存证的上述目标用户数据,并将针对上述目标用户数据的查询结果发送至上述数据查询方;以及,
从上述数据查询方的用户账户持有的虚拟资源中,向上述数据持有方的用户账户转移与为上述目标用户数据标记的数据价值对应的数量的虚拟资源。
上述用户数据可能具有不同的数据属性。当访问不同数据属性的用户数据时,可以做出不同的响应。具体可以参照前述实施例,在此不作详述。
以下结合具体的职业认证数据管理场景进行实施例描述。
请参见图5,图5为本申请示出的一种职业认证数据管理场景图。
图5示出的业务系统为基于联盟链构建的数据管理系统(以下简称管理系统)。上述数据管理系统可以包括区块链网络(以下简称区块链)。上述区块链中可以部署了用户数据管理的智能合约(以下简称合约)。
该合约可以包括数据存证逻辑与数据查询逻辑,负责对数据进行有效管理。
图5示出的用户可以是需要进行职业培训的用户。该用户可以在不同的机构参与职业培训。
图5示出的数据认证机构可以是提供职业认证服务的职业认证机构。上述认证机构可以在用户通过职业培训考核后,为上述用户生成认证数据。可以理解的是上述用户或职业认证机构均可以作为数据持有方向上述管理系统申请存证认证数据。在本例中,可以由用户发起认证数据存证申请。该用户数据对应的数据属性可以包括不进行托管,隐私级别为第一级,可以公开数据。
图5示出的数据直接查询者可以是指数据持有方本人。
图5示出的数据间接查询者可以是对认证数据有需求的任意方。在本例中,上述数据间接查询者,可以是用人企业。该用人单位需要招聘具有某项职业技能(例如,电焊)的人才,该用人单位需要根据管理系统中存证的认证数据确定某一用户是否具有电焊资格。
请参见图6,图6为本申请示出的一种数据管理系统架构示意图。
如图6所示,上述数据管理系统可以包括客户端侧计算设备101,服务器端102以及区块链系统103。
上述客户端侧计算设备101,可以包括各种不同类型的客户端侧计算设备;例如,客户端侧终端设备可以包括诸如PC终端设备、移动终端设备、物联网设备,以及其它形式的具有一定的计算能力的智能设备,等等。
在一些例子中,上述客户端侧终端设备101中的至少部分计算设备,可以通过各种通信网络耦接到服务器端102;例如,图6中示出的设备1和设备2与服务器端102进行了耦接。
不难理解,客户端侧终端设备101中的部分终端设备,也可以不与服务器端102进行耦接,而是作为区块链节点通过各种通信网络直接耦接到区块链系统;例如,图6中示出的设备4,可以作为区块链节点耦接到区块链系统。
其中,上述通信网络可以包括有线和/或无线通信网络;例如,可以是基于运营商提供的有线接入网络或者无线接入网络(比如移动蜂窝网络)实现的局域网(Local AreaNetwork,LAN)、广域网(Wide Area Network,WAN)、因特网或其组合。
在一些例子中,上述客户端侧计算设备101,还可以包括一个或多个用户侧服务器;例如,图6中示出的设备5。客户端侧终端设备101中的至少部分计算设备,可以耦接到该用户侧服务器,而该用户侧服务器可以进一步与上述服务端102进行耦接;例如,图6中示出的设备1和设备2耦接到设备5,设备5进一步耦接服务器端102。
在一些例子中,上述用户侧服务器可以由搭建了用户账户体系的服务实体来实现;上述服务实体可以包括面向用户提供各种线上和/或线下服务的服务载体的运营实体;
其中,上述服务载体可以包括软件形式的服务载体,也可以包括硬件形式的服务载体。
在一些例子中,上述服务载体可以包括提供线上互联网服务的各种客户端软件;例如,网站、网页、APP等。
在一些例子中,上述服务载体也可以包括部署在线下的,能够提供线下服务的各种智能设备;例如,部署在居住区、办公区、公共场所的智能快递柜。
相应的,上述运营实体可以包括上述服务载体对应的运营方;例如,上述运营实体可以包括对上述服务载体进行运营和管理的个人、组织、公司和企业,等等。
在一些例子中,服务器端102也可以通过各种通信网络耦接到一个或者多个区块链系统;例如,图6中示出的服务器端102可以分别耦接到区块链系统103、区块链系统104和区块链系统105,等等。
上述区块链系统103可以是联盟区块链。该区块链系统103中可以包括若干节点参与共识机制。当其中任一节点设备需要分布区块时,可以在各节点完成共识后完成区块的发布。
上述服务器端102,可以是包括用于提供区块链即服务(BaaS,Blockchain as aService)的BaaS平台(也称之为BaaS云)。BaaS平台可以通过为区块链上发生的活动(诸如订阅和通知、用户验证、数据库管理和远程更新),提供预先编写的软件的方式,面向与BaaS平台耦接的客户端侧计算设备,提供简单易用,一键部署,快速验证,灵活可定制的区块链服务,进而可以加速区块链业务应用开发、测试、上线,助力各行业区块链商业应用场景的落地。
例如,在一个例子中,与BaaS平台可以提供诸如MQ(Message Queue,消息队列)服务之类的软件;与BaaS平台耦接的客户端侧计算设备,可以订阅BaaS平台耦接的区块链系统中某一区块链上部署的智能合约,在触发执行后在区块链上产生的合约事件;而BaaS平台可以监听该智能合约在触发执行后在区块链上产生的事件,再基于MQ服务相关的软件,将该合约事件以通知消息的形式添加到消息队列中,使得订阅该消息队列的客户端侧计算设备,能够得到与上述合约事件相关的通知。
可以理解的是,上述客户端段测计算设备101可以是图5示出的用户、认证机构、数据查询方任一方对应的客户端。以下将与用户对应的客户端称为用户客户端;数据间接查询方对应的客户端称为间接客户端。上述区块链中的节点设备搭载了第一TEE,其中包括针对认证数据的加密秘钥。上述数据间接查询方使用的终端设备中包括第二TEE,其中包括针对认证数据的解密秘钥。
请参见图7,图7为本申请示出的一种数据存证流程示意图。
如图7所示,上述用户在通过职业培训获取认证数据后,可以执行S701,构建合约调用交易。其中,上述合约调用交易中包括该认证数据,该认证数据对应的属性信息,以及该认证数据的数据价值信息。在本例中,该认证数据对应的数据属性可以包括不进行托管,隐私级别为第一级,可以公开数据。
然后可以执行S702,将基于该数据构建合约调用交易,并发布至区块链中。
上述区块链中的节点设备可以执行S703,调用智能合约存证逻辑,将该认证数据与该用户的相关认证数据关联,并在第一TEE中完成关联数据的加密后进行存证。
由此一方面,可以根据用户的存证需求,将认证数据灵活存证,提升用户体验。另一方面,通过智能合约,将不同认证机构对用户进行用户认证产生的认证数据关联存证至区块链形成数据资产。
请参见图8,图8为本申请示出的一种数据查询流程示意图。
如图8所示,当用人企业(以下简称企业)需要获取认证数据时,可以执行S801,基于用户对应的用户ID构建数据查询交易。
然后可以执行S802,将该数据查询交易发布至区块链。
上述区块链中的节点设备可以执行S803,调用智能合约的查询逻辑,根据用户ID判断上述企业是否为认证数据对应的数据持有方。在本例中上述企业并非该数据的数据持有方,因此可以通知上述间接查询方完成该次数据查询支付,并响应于完成支付为该间接查询方分配数据查询权限。
上述合约可以进一步判断上述认证数据是否为公开数据。在本例中,上述认证数据为公开数据,因此可以进一步判断上述间接查询方是否具有查询权限。在本例中,上述企业已已经完成支付,因此可以进一步判断上述认证数据对应的隐私级别。
在本例中,上述认证数据为第一级,因此可以将认证数据直接发送给间接查询方。在发送之前,合约可以进一步判断上述认证数据是否为托管数据。
在本例中该数据为非托管数据,上述合约可以执行S804,通过事件机制向上述用户发起是否允许发送数据的确认请求,并响应于用户的允许操作(为数据签名后),将该认证数据发送至上述企业。
上述企业可以执行S805,在第二TEE中完成认证数据的解密,并分析该用户是否具备电焊资质,由此完成针对认证数据的查询。由此,如果用户在管理系统中完成账户注销,上述管理系统可以发布账户注销交易,调用合约完成与该用户相关秘钥的失效请求,以使即便企业中仍保留有该用户的认证数据也无法正常访问,进而提升数据隐私性与安全性。
上述合约还可以在完成认证数据发送后执行S806,更新该认证数据对应的被查询次数,以及与该用户对应的收益账单。由此一方面,当该用户需要查询收益时,可以通过合约获取明确可信的收益账单,保证用户权益;另一方面,可以根据被查询次数为认证数据标记更客观真实的数据价值。
与上述任一实施例相对应的,本申请还提出一种基于区块链的数据存证装置。其中,上述区块链部署了用于管理数据资产的智能合约。
请参见图9,图9为本申请示出的一种基于区块链的数据存证装置的结构示意图。
如图9所示,上述装置900可以包括:
第一获取模块910,获取数据持有方发起的数据存证交易;其中,上述数据存证交易包括待存证的用户数据;上述用户数据包括认证机构对上述用户进行用户认证后产生的认证数据;
第一数据资产生成模块920,响应于上述数据存证交易,调用上述智能合约包括的数据资产生成逻辑,为上述用户数据标记数据价值,并将标记了数据价值的上述用户数据与其它认证机构对该用户进行认证后产生的被标记了数据价值的用户数据进行关联存证,以形成与上述用户对应的数据资产。
在示出的一些实施例中,上述装置900还包括:
数据属性标记模块,生成数据属性标记事件,以使上述数据持有方的对应的用户客户端在获取到上述数据属性标记事件时,响应于上述数据属性标记事件,向上述数据持有方输出与上述用户数据对应的数据属性标记提示;
获取上述用户客户端发送的由上述数据持有方基于上述数据标记提示为上述用户数据标记的数据属性。
在示出的一些实施例中,上述数据属性标记模块具体用于以下示出的任一:
生成数据价值标记事件,以使上述用户客户端在获取到上述数据价值标记事时,响应于上述数据价值标记事件,提示上述数据持有方为上述用户数据标记数据价值;
根据上述数据存证交易包括的数据价值信息,为上述用户数据标记数据价值;
根据上述用户数据的被查询的次数,为上述用户数据标记数据价值。
在示出的一些实施例中,上述装置900还包括:
加密模块,在将标记了数据价值的用户数据与其它认证机构对该用户进行认证后标记了数据价值的用户数据进行关联存证之前,基于区块链节点设备搭载的第一TEE中维护的与上述用户对应的加密密钥对上述用户数据进行加密,以使数据查询方在访问上述加密后的用户数据时,通过自身搭载的第二TEE中维护的与上述用户对应的解密密钥,对上述加密后的用户数据进行解密。
在示出的一些实施例中,上述装置900还包括:
注销模块,响应于针对上述用户的注销交易,调用上述智能合约的注销逻辑,删除上述用户对应的用户账户,并清除上述第一TEE中维护的与上述用户对应加密秘钥和上述第二TEE中维护的与上述加密密钥对应的解密秘钥,以禁止上述数据查询方访问上述用户数据。
在示出的一些实施例中,上述装置900还包括:
第二获取模块930,获取数据查询方发起的与目标用户数据对应的数据查询交易;
查询模块940,响应于上述数据查询交易,调用上述智能合约包括的查询逻辑,查询上述区块链中存证的上述目标用户数据,并将针对上述目标用户数据的查询结果发送至上述数据查询方;以及,
从上述数据查询方的用户账户持有的虚拟资源中,向上述数据持有方的用户账户转移与为上述目标用户数据标记的数据价值对应的数量的虚拟资源。
在示出的一些实施例中,上述数据属性指示上述目标用户数据是否为公开数据的数据公开属性;
上述查询模块940具体用于:
基于上述目标用户数据对应的数据公开属性确定上述目标用户数据是否为公开数据;
如果上述目标用户数据为公开数据,将针对上述目标用户数据的查询结果发送至上述数据查询方。
在示出的一些实施例中,上述数据属性包括指示上述目标用户数据是否为托管至数据托管方的数据托管属性;
上述查询模块940具体用于:
基于上述目标用户数据对应的数据托管属性确定上述目标用户数据是否为托管数据;
如果上述目标用户数据为托管至数据托管方的托管数据,通过上述数据托管方对应的私钥对上述目标用户数据的查询结果进行签名,并将签名后的上述目标用户数据的查询结果发送至上述数据查询方;
如果上述目标用户数据不是托管至数据托管方的托管数据,生成数据签名事件,以使用户客户端在获取到上述数据签名事件时,响应于上述数据签名事件,提示上述目标用户数据对应的数据持有方利用自身持有的私钥对上述目标用户数据的查询结果进行签名;获取上述用户客户端发送的签名后的上述目标用户数据的查询结果,并将签名后的上述目标用户数据的查询结果发送至上述数据查询方。
在示出的一些实施例中,上述数据属性包括指示上述目标用户数据的隐私等级的数据隐私属性;
上述查询模块940具体用于:
基于上述目标用户数据对应的数据隐私属性确定上述目标用户数据对应的隐私等级;其中,上述隐私等级包括第一级隐私等级和第二级隐私等级;上述第一级隐私等级表示上述目标用户数据支持明文数据查询;上述第二级隐私等级表示上述目标用户数据支持数据比较查询;
如果上述目标用户数据对应的数据等级为第一级隐私等级时,将上述目标用户数据的明文数据发送至上述数据查询方;
如果上述目标用户数据对应的数据等级为第二级的隐私等级时,获取上述数据查询交易中携带的待校验数据,将上述待校验数据与上述目标数据进行比较,并将比较结果作为查询结果发送至上述数据查询方。
在示出的一些实施例中,上述查询模块940具体用于:
确定上述数据查询方是否为上述目标用户数据对应的数据持有方;
如果是,将上述查询结果发送至上述数据查询方;
如果否,进一步调用上述智能合约包括的验证逻辑,对上述数据查询方进行身份验证,并在身份验证通过时,将上述查询结果发送至上述数据查询方。
在示出的一些实施例中,上述装置900还包括:
更新模块,在将针对上述目标用户数据的查询结果发送至上述数据查询方之后,更新上述智能合约维护的上述目标用户数据的查询次数;和/或,
收益统计模块,在从上述数据查询方的用户账户持有的虚拟资源中,向上述数据持有方的用户账户转移与为上述目标用户数据标记的数据价值对应数量的虚拟资源之后,记录转移的上述虚拟资源的数量,并基于记录的上述数量更新上述智能合约维护的与上述目标用户数据对应的收益账单。
在示出的一些实施例中,上述认证机构包括培训机构;上述用户数据包括上述培训机构对上述用户进行培训认证产生的培训数据。
在示出的一些实施例中,上述培训机构包括职业培训机构;上述用户数据包括上述培训机构对上述用户进行职业教育培训认证后颁发的职业教育技能证书。
与上述任一实施例相对应的,本申请还提出一种基于区块链的数据存证装置100。
其中,上述区块链部署了用于管理数据资产的智能合约。上述装置100可以包括:
第三获取模块,获取数据持有方发起的数据存证交易;其中,上述数据存证交易包括待存证的用户数据;上述用户数据包括认证机构对上述用户进行用户认证后产生的认证数据;
第二数据资产生成模块,响应于上述数据存证交易,调用上述智能合约包括的数据资产生成逻辑,将上述用户数据与其它认证机构对该用户进行认证后产生的用户数据进行关联存证,生成与上述用户对应的用户数据集,并为生成的用户数据集标记数据价值,以形成与上述用户对应的数据资产。
在示出的一些实施例中,上述装置100还包括:
加密模块,在将标记了数据价值的用户数据与其它认证机构对该用户进行认证后标记了数据价值的用户数据进行关联存证之前,基于区块链节点设备搭载的第一TEE中维护的与上述用户对应的加密密钥对上述用户数据进行加密,以使数据查询方在访问上述加密后的用户数据时,通过自身搭载的第二TEE中维护的与上述用户对应的解密密钥,对上述加密后的用户数据进行解密。
在示出的一些实施例中,上述装置100还包括:
注销模块,响应于针对上述用户的注销交易,调用上述智能合约的注销逻辑,删除上述用户对应的用户账户,并清除上述第一TEE中维护的与上述用户对应加密秘钥和上述第二TEE中维护的与上述加密密钥对应的解密秘钥,以禁止上述数据查询方访问上述用户数据。
在示出的一些实施例中,上述装置100还包括:
第四获取模块,获取数据查询方发起的与目标用户数据对应的数据查询交易;
查询模块,响应于上述数据查询交易,调用上述智能合约包括的查询逻辑,查询上述区块链中存证的上述目标用户数据,并将针对上述目标用户数据的查询结果发送至上述数据查询方;以及,
从上述数据查询方的用户账户持有的虚拟资源中,向上述数据持有方的用户账户转移与为上述目标用户数据标记的数据价值对应的数量的虚拟资源。
本申请示出的基于区块链的数据存证装置的实施例可以应用于电子设备上。相应地,本申请公开了一种电子设备,上述电子设备部署于区块链。该设备可以包括:处理器。
用于存储处理器可执行指令的存储器。
其中,上述处理器被配置为调用上述存储器中存储的可执行指令,实现如上述任一实施例示出的数据存证方法。
请参见图10,图10为本申请示出的一种电子设备的硬件结构示意图。
如图10所示,该电子设备可以包括用于执行指令的处理器,用于进行网络连接的网络接口,用于为处理器存储运行数据的内存,以及用于存储汇款装置对应指令的非易失性存储器。
其中,数据存证装置的实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了图10所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
可以理解的是,为了提升处理速度,数据存证装置对应指令也可以直接存储于内存中,在此不作限定。
本申请提出一种计算机可读存储介质。上述存储介质存储有计算机程序,上述计算机程序用于执行上述任一实施例示出的数据存证方法。
本领域技术人员应明白,本申请一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本申请一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、CD-ROM、光学存储器等)上述实施的计算机程序产品的形式。
本申请中的“和/或”表示至少具有两者中的其中一个,例如,“A和/或B”可以包括三种方案:A、B、以及“A和B”。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于数据处理设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的行为或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本申请中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、可以包括本申请中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本申请中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上述以被数据处理装置执行或控制参数处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上述,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的获取机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
本申请中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。上述处理及逻辑流程还可以由专用逻辑电路—例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。
适合用于执行计算机程序的计算机可以包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器获取指令和数据。计算机的基本组件可以包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将可以包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其获取数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)获取机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质可以包括所有形式的非易失性存储器、媒介和存储器设备,例如可以包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
虽然本申请包含许多具体实施细节,但是这些不应被解释为限制任何公开的范围或所要求保护的范围,而是主要用于描述特定公开的具体实施例的特征。本申请内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
以上仅为本申请一个或多个实施例的较佳实施例而已,并不用以限制本申请一个或多个实施例,凡在本申请一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请一个或多个实施例保护的范围之内。
Claims (22)
1.一种基于区块链的数据存证方法,其中,所述区块链部署了用于管理数据资产的智能合约,所述方法包括:
获取数据持有方发起的数据存证交易;其中,所述数据存证交易包括待存证的用户数据;所述用户数据包括认证机构对所述用户进行用户认证后产生的认证数据;
响应于所述数据存证交易,调用所述智能合约包括的数据资产生成逻辑,为所述用户数据标记数据价值,并将标记了数据价值的所述用户数据与其它认证机构对该用户进行认证后产生的被标记了数据价值的用户数据进行关联存证,以形成与所述用户对应的数据资产。
2.根据权利要求1所述的方法,在将标记了数据价值的用户数据与其它认证机构对该用户进行认证后标记了数据价值的用户数据进行关联存证之前,所述方法还包括:
生成数据属性标记事件,以使所述数据持有方的对应的用户客户端在获取到所述数据属性标记事件时,响应于所述数据属性标记事件,向所述数据持有方输出与所述用户数据对应的数据属性标记提示;
获取所述用户客户端发送的由所述数据持有方基于所述数据标记提示为所述用户数据标记的数据属性。
3.根据权利要求2所述的方法,所述为所述用户数据标记数据价值,包括以下示出的任一:
生成数据价值标记事件,以使所述用户客户端在获取到所述数据价值标记事时,响应于所述数据价值标记事件,提示所述数据持有方为所述用户数据标记数据价值;
根据所述数据存证交易包括的数据价值信息,为所述用户数据标记数据价值;
根据所述用户数据的被查询的次数,为所述用户数据标记数据价值。
4.根据权利要求2所述的方法,所述方法还包括:
在将标记了数据价值的用户数据与其它认证机构对该用户进行认证后标记了数据价值的用户数据进行关联存证之前,基于区块链节点设备搭载的第一TEE中维护的与所述用户对应的加密密钥对所述用户数据进行加密,以使数据查询方在访问所述加密后的用户数据时,通过自身搭载的第二TEE中维护的与所述用户对应的解密密钥,对所述加密后的用户数据进行解密。
5.根据权利要求4所述的方法,所述方法还包括:
响应于针对所述用户的注销交易,调用所述智能合约的注销逻辑,删除所述用户对应的用户账户,并清除所述第一TEE中维护的与所述用户对应加密秘钥和所述第二TEE中维护的与所述加密密钥对应的解密秘钥,以禁止所述数据查询方访问所述用户数据。
6.根据权利要求5所述的方法,还包括:
获取数据查询方发起的与目标用户数据对应的数据查询交易;
响应于所述数据查询交易,调用所述智能合约包括的查询逻辑,查询所述区块链中存证的所述目标用户数据,并将针对所述目标用户数据的查询结果发送至所述数据查询方;以及,
从所述数据查询方的用户账户持有的虚拟资源中,向所述数据持有方的用户账户转移与为所述目标用户数据标记的数据价值对应的数量的虚拟资源。
7.根据权利要求6所述的方法,所述数据属性指示所述目标用户数据是否为公开数据的数据公开属性;
所述将针对所述目标用户数据的查询结果发送至所述数据查询方包括:
基于所述目标用户数据对应的数据公开属性确定所述目标用户数据是否为公开数据;
如果所述目标用户数据为公开数据,将针对所述目标用户数据的查询结果发送至所述数据查询方。
8.根据权利要求6所述的方法,所述数据属性包括指示所述目标用户数据是否为托管至数据托管方的数据托管属性;
所述将针对所述目标用户数据的查询结果发送至所述数据查询方包括:
基于所述目标用户数据对应的数据托管属性确定所述目标用户数据是否为托管数据;
如果所述目标用户数据为托管至数据托管方的托管数据,通过所述数据托管方对应的私钥对所述目标用户数据的查询结果进行签名,并将签名后的所述目标用户数据的查询结果发送至所述数据查询方;
如果所述目标用户数据不是托管至数据托管方的托管数据,生成数据签名事件,以使用户客户端在获取到所述数据签名事件时,响应于所述数据签名事件,提示所述目标用户数据对应的数据持有方利用自身持有的私钥对所述目标用户数据的查询结果进行签名;获取所述用户客户端发送的签名后的所述目标用户数据的查询结果,并将签名后的所述目标用户数据的查询结果发送至所述数据查询方。
9.根据权利要求6所述的方法,所述数据属性包括指示所述目标用户数据的隐私等级的数据隐私属性;
所述将针对所述目标用户数据的查询结果发送至所述数据查询方,包括:
基于所述目标用户数据对应的数据隐私属性确定所述目标用户数据对应的隐私等级;其中,所述隐私等级包括第一级隐私等级和第二级隐私等级;所述第一级隐私等级表示所述目标用户数据支持明文数据查询;所述第二级隐私等级表示所述目标用户数据支持数据比较查询;
如果所述目标用户数据对应的数据等级为第一级隐私等级时,将所述目标用户数据的明文数据发送至所述数据查询方;
如果所述目标用户数据对应的数据等级为第二级的隐私等级时,获取所述数据查询交易中携带的待校验数据,将所述待校验数据与所述目标数据进行比较,并将比较结果作为查询结果发送至所述数据查询方。
10.根据权利要求6所述的方法,所述将针对所述目标用户数据的查询结果发送至所述数据查询方,包括:
确定所述数据查询方是否为所述目标用户数据对应的数据持有方;
如果是,将所述查询结果发送至所述数据查询方;
如果否,进一步调用所述智能合约包括的验证逻辑,对所述数据查询方进行身份验证,并在身份验证通过时,将所述查询结果发送至所述数据查询方。
11.根据权利要求6所述的方法,还包括:
在将针对所述目标用户数据的查询结果发送至所述数据查询方之后,更新所述智能合约维护的所述目标用户数据的查询次数;和/或,
在从所述数据查询方的用户账户持有的虚拟资源中,向所述数据持有方的用户账户转移与为所述目标用户数据标记的数据价值对应数量的虚拟资源之后,记录转移的所述虚拟资源的数量,并基于记录的所述数量更新所述智能合约维护的与所述目标用户数据对应的收益账单。
12.根据权利要求6所述的方法,所述认证机构包括培训机构;所述用户数据包括所述培训机构对所述用户进行培训认证产生的培训数据。
13.根据权利要求12所述的方法,所述培训机构包括职业培训机构;所述用户数据包括所述培训机构对所述用户进行职业教育培训认证后颁发的职业教育技能证书。
14.一种基于区块链的数据存证方法,其中,所述区块链部署了用于管理数据资产的智能合约,所述方法包括:
获取数据持有方发起的数据存证交易;其中,所述数据存证交易包括待存证的用户数据;所述用户数据包括认证机构对所述用户进行用户认证后产生的认证数据;
响应于所述数据存证交易,调用所述智能合约包括的数据资产生成逻辑,将所述用户数据与其它认证机构对该用户进行认证后产生的用户数据进行关联存证,生成与所述用户对应的用户数据集,并为生成的用户数据集标记数据价值,以形成与所述用户对应的数据资产。
15.根据权利要求14所述的方法,还包括:
在将标记了数据价值的用户数据与其它认证机构对该用户进行认证后标记了数据价值的用户数据进行关联存证之前,基于区块链节点设备搭载的第一TEE中维护的与所述用户对应的加密密钥对所述用户数据进行加密,以使数据查询方在访问所述加密后的用户数据时,通过自身搭载的第二TEE中维护的与所述用户对应的解密密钥,对所述加密后的用户数据进行解密。
16.根据权利要求15所述的方法,还包括:
响应于针对所述用户的注销交易,调用所述智能合约的注销逻辑,删除所述用户对应的用户账户,并清除所述第一TEE中维护的与所述用户对应加密秘钥和所述第二TEE中维护的与所述加密密钥对应的解密秘钥,以禁止所述数据查询方访问所述用户数据。
17.根据权利要求16所述的方法,还包括:
获取数据查询方发起的与目标用户数据对应的数据查询交易;
响应于所述数据查询交易,调用所述智能合约包括的查询逻辑,查询所述区块链中存证的所述目标用户数据,并将针对所述目标用户数据的查询结果发送至所述数据查询方;以及,
从所述数据查询方的用户账户持有的虚拟资源中,向所述数据持有方的用户账户转移与为所述目标用户数据标记的数据价值对应的数量的虚拟资源。
18.一种基于区块链的数据存证装置,其中,所述区块链部署了用于管理数据资产的智能合约,所述装置包括:
第一获取模块,获取数据持有方发起的数据存证交易;其中,所述数据存证交易包括待存证的用户数据;所述用户数据包括认证机构对所述用户进行用户认证后产生的认证数据;
第一数据资产生成模块,响应于所述数据存证交易,调用所述智能合约包括的数据资产生成逻辑,为所述用户数据标记数据价值,并将标记了数据价值的所述用户数据与其它认证机构对该用户进行认证后产生的被标记了数据价值的用户数据进行关联存证,以形成与所述用户对应的数据资产。
19.根据权利要求18所述的装置,还包括:
第二获取模块,获取数据查询方发起的与目标用户数据对应的数据查询交易;
查询模块,响应于所述数据查询交易,调用所述智能合约包括的查询逻辑,查询所述区块链中存证的所述目标用户数据,并将针对所述目标用户数据的查询结果发送至所述数据查询方;以及,
从所述数据查询方的用户账户持有的虚拟资源中,向所述数据持有方的用户账户转移与为所述目标用户数据标记的数据价值对应的数量的虚拟资源。
20.一种基于区块链的数据存证装置,其中,所述区块链部署了用于管理数据资产的智能合约,所述装置包括:
第三获取模块,获取数据持有方发起的数据存证交易;其中,所述数据存证交易包括待存证的用户数据;所述用户数据包括认证机构对所述用户进行用户认证后产生的认证数据;
第二数据资产生成模块,响应于所述数据存证交易,调用所述智能合约包括的数据资产生成逻辑,将所述用户数据与其它认证机构对该用户进行认证后产生的用户数据进行关联存证,生成与所述用户对应的用户数据集,并为生成的用户数据集标记数据价值,以形成与所述用户对应的数据资产。
21.一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器中存储的可执行指令,实现如所述权利要求1-17任一所述的数据存证方法。
22.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行如所述权利要求1-17任一所述的数据存证方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110507726.4A CN113221191B (zh) | 2021-05-10 | 2021-05-10 | 基于区块链的数据存证方法、装置、设备和存储介质 |
PCT/CN2022/090367 WO2022237588A1 (zh) | 2021-05-10 | 2022-04-29 | 基于区块链的数据存证方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110507726.4A CN113221191B (zh) | 2021-05-10 | 2021-05-10 | 基于区块链的数据存证方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113221191A CN113221191A (zh) | 2021-08-06 |
CN113221191B true CN113221191B (zh) | 2022-05-31 |
Family
ID=77094363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110507726.4A Active CN113221191B (zh) | 2021-05-10 | 2021-05-10 | 基于区块链的数据存证方法、装置、设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113221191B (zh) |
WO (1) | WO2022237588A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113221191B (zh) * | 2021-05-10 | 2022-05-31 | 支付宝(杭州)信息技术有限公司 | 基于区块链的数据存证方法、装置、设备和存储介质 |
CN114118987A (zh) * | 2021-11-08 | 2022-03-01 | 支付宝(杭州)信息技术有限公司 | 基于区块链的跨境汇款方法及装置、电子设备 |
CN117217719B (zh) * | 2023-11-07 | 2024-02-09 | 湖南海润天恒科技集团有限公司 | 一种基于大数据的人才信息招聘数据智能管理方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109767336A (zh) * | 2018-12-27 | 2019-05-17 | 福建省农村信用社联合社 | 一种基于区块链的p2p理财平台资金银行存管管理方法 |
CN110766550A (zh) * | 2019-09-05 | 2020-02-07 | 阿里巴巴集团控股有限公司 | 基于区块链的资产查询方法及装置、电子设备 |
CN111353180A (zh) * | 2020-03-30 | 2020-06-30 | 北京海益同展信息科技有限公司 | 一种区块链存证方法、取证方法及系统 |
CN111914023A (zh) * | 2019-07-31 | 2020-11-10 | 创新先进技术有限公司 | 基于区块链的票据管理方法、装置及电子设备 |
CN111966967A (zh) * | 2020-08-07 | 2020-11-20 | 北京网聚云联科技有限公司 | 一种基于区块链技术和cdn的版权存证方法及系统 |
CN112016924A (zh) * | 2020-10-21 | 2020-12-01 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链的数据存证方法、装置以及设备 |
CN112258189A (zh) * | 2020-12-03 | 2021-01-22 | 支付宝(杭州)信息技术有限公司 | 基于区块链的签约管理方法及装置和电子设备 |
CN112435006A (zh) * | 2020-11-24 | 2021-03-02 | 大连理工江苏研究院有限公司 | 一种应用区块链技术的专利全过程管理方法、系统及设备 |
WO2021042817A1 (zh) * | 2019-09-05 | 2021-03-11 | 创新先进技术有限公司 | 一种基于区块链的违约资产处理方法、装置及电子设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190340946A1 (en) * | 2018-05-01 | 2019-11-07 | Odem Ltd. | System and method for educational offering staking and token architecture |
CN110874464A (zh) * | 2018-09-03 | 2020-03-10 | 巍乾全球技术有限责任公司 | 用户身份认证数据的管理方法和设备 |
CN112215608A (zh) * | 2019-01-18 | 2021-01-12 | 创新先进技术有限公司 | 数据处理方法和装置 |
KR102116235B1 (ko) * | 2019-03-15 | 2020-05-28 | 주식회사 코인플러그 | 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말 |
CN111797169A (zh) * | 2020-07-09 | 2020-10-20 | 杭州复杂美科技有限公司 | 数据存证方法、设备和存储介质 |
CN111859422A (zh) * | 2020-07-10 | 2020-10-30 | 郑州信大先进技术研究院 | 一种基于区块链的数字资产存证系统 |
CN112308561A (zh) * | 2020-10-16 | 2021-02-02 | 浙江甲骨文超级码科技股份有限公司 | 基于区块链的存证方法、系统、计算机设备和存储介质 |
CN113221191B (zh) * | 2021-05-10 | 2022-05-31 | 支付宝(杭州)信息技术有限公司 | 基于区块链的数据存证方法、装置、设备和存储介质 |
-
2021
- 2021-05-10 CN CN202110507726.4A patent/CN113221191B/zh active Active
-
2022
- 2022-04-29 WO PCT/CN2022/090367 patent/WO2022237588A1/zh unknown
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109767336A (zh) * | 2018-12-27 | 2019-05-17 | 福建省农村信用社联合社 | 一种基于区块链的p2p理财平台资金银行存管管理方法 |
CN111914023A (zh) * | 2019-07-31 | 2020-11-10 | 创新先进技术有限公司 | 基于区块链的票据管理方法、装置及电子设备 |
CN110766550A (zh) * | 2019-09-05 | 2020-02-07 | 阿里巴巴集团控股有限公司 | 基于区块链的资产查询方法及装置、电子设备 |
WO2021042817A1 (zh) * | 2019-09-05 | 2021-03-11 | 创新先进技术有限公司 | 一种基于区块链的违约资产处理方法、装置及电子设备 |
CN111353180A (zh) * | 2020-03-30 | 2020-06-30 | 北京海益同展信息科技有限公司 | 一种区块链存证方法、取证方法及系统 |
CN111966967A (zh) * | 2020-08-07 | 2020-11-20 | 北京网聚云联科技有限公司 | 一种基于区块链技术和cdn的版权存证方法及系统 |
CN112016924A (zh) * | 2020-10-21 | 2020-12-01 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链的数据存证方法、装置以及设备 |
CN112435006A (zh) * | 2020-11-24 | 2021-03-02 | 大连理工江苏研究院有限公司 | 一种应用区块链技术的专利全过程管理方法、系统及设备 |
CN112258189A (zh) * | 2020-12-03 | 2021-01-22 | 支付宝(杭州)信息技术有限公司 | 基于区块链的签约管理方法及装置和电子设备 |
Non-Patent Citations (4)
Title |
---|
Yan Yu Zhao.A Multi-Layered Block Chain Network for Individual-Oriented Health-Care Records Storage and Management.《ICBTA 2019: Proceedings of the 2019 2nd International Conference on Blockchain Technology and Applications》.2020, * |
周业军等.区块链技术在公共资源交易领域的应用研究.《中国招标》.2020,(第07期), * |
夏雪等."区块链+"重塑行业生态.《通信企业管理》.2018,(第03期), * |
邱安邦.区块链技术应用于数字版权保护的优势分析.《梧州学院学报》.2019,(第01期), * |
Also Published As
Publication number | Publication date |
---|---|
CN113221191A (zh) | 2021-08-06 |
WO2022237588A1 (zh) | 2022-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112600841B (zh) | 基于区块链的信用记录共享方法及装置、电子设备 | |
TWI706368B (zh) | 基於區塊鏈的服務租賃方法、裝置、系統及電子設備 | |
CN109981679B (zh) | 在区块链网络中执行事务的方法和装置 | |
CN108898389B (zh) | 基于区块链的内容验证方法及装置、电子设备 | |
US11606219B2 (en) | System and method for controlling asset-related actions via a block chain | |
CN113221191B (zh) | 基于区块链的数据存证方法、装置、设备和存储介质 | |
CN110380858A (zh) | 用于区块链的游戏共识协议 | |
CN110059495A (zh) | 数据共享方法、装置及系统、电子设备 | |
WO2019127532A1 (zh) | 基于区块链的众筹信息处理方法、装置、存储介质及电子设备 | |
TW201810151A (zh) | 區塊鏈實施之方法及系統 | |
CN109003185B (zh) | 一种智能合约的建立方法、装置、计算设备及存储介质 | |
CN107145768A (zh) | 版权管理方法和系统 | |
US20220391887A1 (en) | Systems and Methods for Maintenance of NFT Assets | |
US20230004970A1 (en) | Distributed Ledgers with Ledger Entries Containing Redactable Payloads | |
CN111383114A (zh) | 基于区块链的资产信息管理方法和装置 | |
CN112200568B (zh) | 基于区块链的账户创建方法、装置及电子设备 | |
CN109327312A (zh) | 认证方法及装置、电子设备 | |
CN111402033A (zh) | 基于区块链的资产信息管理方法和装置 | |
CN112200567A (zh) | 基于区块链的资源管理方法、装置及电子设备 | |
US20230120534A1 (en) | Methods for Conditional Transaction Tokens, Secure Sharing of Token Assets, Wallet Spam Protection, and User Interfaces for Acceptance of Terms | |
US20230114684A1 (en) | Cryptographic Content Co-Creation Mechanisms and Linking Physical Elements to Cryptographic Elements | |
CN110033367A (zh) | 基于区块链的合同记录方法及装置、电子设备 | |
CN110727735B (zh) | 基于区块链技术协作完成任务事件的方法、装置及设备 | |
CN111931230A (zh) | 数据授权方法和装置、存储介质和电子装置 | |
CN112436946B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40056806 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |