CN114301675A - 隐私数据交易方法、系统、计算机设备和存储介质 - Google Patents

隐私数据交易方法、系统、计算机设备和存储介质 Download PDF

Info

Publication number
CN114301675A
CN114301675A CN202111627562.5A CN202111627562A CN114301675A CN 114301675 A CN114301675 A CN 114301675A CN 202111627562 A CN202111627562 A CN 202111627562A CN 114301675 A CN114301675 A CN 114301675A
Authority
CN
China
Prior art keywords
data
transaction
computing node
target computing
intelligent contract
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
Application number
CN202111627562.5A
Other languages
English (en)
Inventor
邱炜伟
汪小益
刘敬
李伟
蔡亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Qulian Technology Co Ltd
Original Assignee
Hangzhou Qulian Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Qulian Technology Co Ltd filed Critical Hangzhou Qulian Technology Co Ltd
Priority to CN202111627562.5A priority Critical patent/CN114301675A/zh
Publication of CN114301675A publication Critical patent/CN114301675A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请涉及一种隐私数据交易方法、系统、计算机设备和存储介质。方法包括:数据需求方通过智能合约确定链下的目标计算节点,其中,目标计算节点配置有可信执行环境;目标计算节点从数据提供方获取交易数据,其中,交易数据由数据需求方根据智能合约中存储的数据信息确定,交易数据加密存储在数据提供方的本地;目标计算节点根据数据需求方提供的计算逻辑对交易数据进行处理,并将处理后得到的处理结果返回至数据需求方。采用本方法能够在节约了区块链的链上存储空间的同时,保护数据提供方的数据隐私,提高数据安全性。

Description

隐私数据交易方法、系统、计算机设备和存储介质
技术领域
本申请涉及区块链技术领域,特别是涉及一种隐私数据交易方法、系统、计算机设备和存储介质。
背景技术
随着计算机技术和互联网技术的快速发展,区块链技术逐渐兴起,区块链网络在金融等领域中得到了日益广泛的应用。基于区块链,可以在数据流通过程中对数据进行隐私保护,以保证数据的安全性。
传统技术中,数据在加密后通常存储在区块链的智能合约中,对数据的计算也在区块链上进行,而对于较大的数据集,上述方法会耗费大量的链上存储资源,从而降低区块链本身的业务处理效率。
针对上述方法中,数据的存储和计算均在区块链中进行交易导致区块链的存储资源消耗过多,区块链业务处理效率较低的问题,目前还没有提出有效的解决方案。
发明内容
基于此,有必要针对上述技术问题,提供一种能够节约链上存储资源的隐私数据交易方法、系统、计算机设备和计算机可读存储介质。
第一方面,本申请提供了一种隐私数据交易方法,所述方法包括:
数据需求方通过智能合约确定链下的目标计算节点,其中,所述目标计算节点配置有可信执行环境;
所述目标计算节点从数据提供方获取交易数据,其中,所述交易数据由所述数据需求方根据智能合约中存储的数据信息确定,所述交易数据加密存储在所述数据提供方的本地;
所述目标计算节点根据所述数据需求方提供的计算逻辑对所述交易数据进行处理,并将处理后得到的处理结果返回至所述数据需求方。
在其中一个实施例中,所述目标计算节点从数据提供方获取交易数据包括:
所述目标计算节点根据所述数据需求方的数据计算请求向所述数据提供方发起数据获取请求;
所述数据提供方在接收到所述数据获取请求之后,对与所述数据获取请求对应的计算任务和所述交易数据之间的绑定关系进行验证;
在验证通过的情况下,所述数据提供方通过所述目标计算节点的公钥将所述交易数据进行加密,并将加密后的交易数据发送至所述目标计算节点。
在其中一个实施例中,所述目标计算节点根据所述数据需求方提供的计算逻辑对所述交易数据进行处理,并将处理后得到的处理结果返回至所述数据需求方包括:
所述目标计算节点对加密后的交易数据进行解密,根据所述计算逻辑对解密状态的所述交易数据进行处理,将所述处理结果存储在本地;
在接收到所述数据需求方的处理结果请求之后,所述目标计算节点根据所述数据需求方的公钥对所述处理结果进行加密,将加密后的所述处理结果返回至所述数据需求方。
在其中一个实施例中,所述数据需求方通过智能合约确定链下的目标计算节点之前,所述方法包括:
所述智能合约对所述数据需求方的资产进行验证;
在验证通过的情况下,所述智能合约生成与至少一个所述交易数据对应的交易标识。
在其中一个实施例中,所述数据需求方通过智能合约确定链下的目标计算节点包括:
所述智能合约根据所述交易标识对所述数据需求方的身份进行验证,在验证通过的情况下,所述数据需求方在所述智能合约中的多个空闲计算节点中选择初始目标计算节点;
所述数据需求方将所述初始目标计算节点与计算任务的任务标识进行绑定,其中,所述计算任务由所述数据需求方通过所述智能合约创建,所述任务标识根据所述计算任务的任务信息生成;
在所述智能合约对所述初始目标计算节点的当前算力验证通过的情况下,认为所述初始目标计算节点与所述任务标识绑定成功,所述初始目标计算节点为最终的目标计算节点。
在其中一个实施例中,所述目标计算节点根据所述数据需求方提供的计算逻辑对所述交易数据进行处理之前,所述方法包括:
所述数据需求方通过所述智能合约获取所述目标计算节点的公钥和位置信息;
所述数据需求方通过所述目标计算节点的公钥加密所述计算逻辑,根据所述位置信息将与所述交易数据对应的任务标识和加密后的计算逻辑传输至所述目标计算节点;
所述目标计算节点根据所述智能合约中的任务标识以及所述数据需求方的资产对与所述交易数据对应的计算任务进行验证。
在其中一个实施例中,所述数据需求方通过所述智能合约确定链下的目标计算节点之前,所述方法还包括:
配置有可信执行环境的所述目标计算节点和/或配置有可信执行环境的所述数据提供方在所述智能合约中进行注册。
第二方面,本申请还提供了一种隐私数据交易系统,所述系统包括数据提供方和目标计算节点:
数据需求方通过智能合约确定链下的目标计算节点,其中,所述目标计算节点配置有可信执行环境;
所述目标计算节点从数据提供方获取交易数据,其中,所述交易数据由所述数据需求方根据智能合约中存储的数据信息确定,所述交易数据加密存储在所述数据提供方的本地;
所述目标计算节点根据所述数据需求方提供的计算逻辑对所述交易数据进行处理,并将处理后得到的处理结果返回至所述数据需求方。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一所述的隐私数据交易方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一所述的隐私数据交易方法的步骤。
上述隐私数据交易方法、系统、计算机设备、存储介质,将交易数据存储在数据需求方本地,智能合约中仅存储了交易数据的数据信息,在交易过程中,链下的目标计算节点直接从数据提供方获取交易数据,不需要通过区块链,因此,在区块链中不需要存储交易数据也不需要进行数据计算,从而解决了相关技术中数据的存储和计算均在区块链中进行易导致区块链的处理效率较低的问题,在节约了区块链的链上存储空间的同时,保护了数据提供方的数据隐私,提高了数据安全性。
附图说明
图1为一个实施例中隐私数据交易方法的应用环境图;
图2是一个实施例中的隐私数据交易方法的流程图;
图3是一个实施例中的交易数据获取方法的流程图;
图4是一个实施例中的目标计算节点确定方法的流程图;
图5为一个实施例中的TEE节点注册方法的流程图;
图6为一个实施例中隐私数据交易系统的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的隐私数据交易方法,可以应用于如图1所示的应用环境中。如图1所示,为一个隐私数据交易系统,其中,区块链层11包括多个区块链节点,且配置有智能合约对各区块链节点进行管理,链下隐私计算层12包括多个TEE节点,其中,TEE节点为配置有可信执行环境(Trusted Execution Environment,简称为TEE)的节点,可以为计算节点,也可以为数据提供方的节点。不同的TEE节点间可以进行网络通信,TEE节点内部可以访问区块链层11的智能合约。该系统通过区块链保证TEE节点、数据交易流程和数据计算流程的可信,通过智能合约提供TEE节点的接入管理、数据交易授权管理、隐私计算任务管理的功能。优选地,TEE以可信硬件为载体,提供硬件级的强安全隔离和通用的计算环境,数据仅在隔离的安全区“飞地”内才进行解密和计算,除此之外的任何其他方法都无法接触到数据的明文内容,且数据在离开“飞地”之前会被自动加密。具体地,隐私数据交易是指在不暴露数据提供方的数据,且不暴露数据需求方的需求的情况下,实现的数据交易过程。
在一个实施例中,图2是一个实施例中的隐私数据交易方法的流程图,如图2所示,以该方法应用于图1中的隐私数据交易系统为例进行说明,包括以下步骤:
步骤S202,数据需求方通过智能合约确定链下的目标计算节点,其中,目标计算节点配置有可信执行环境。
可以理解的,数据需求方为需要使用其他方数据来实现自身计算需求的一方,通常情况下,数据需求方可以通过软件开发工具包(Software Development Kit,简称为SDK)或者软件客户端接入区块链层的智能合约。进一步地,数据需求方本身可以提供TEE环境下的计算节点实现隐私数据的计算,也可以通过第三方提供的TEE环境下的计算节点实现数据处理。
该第三方即为算力提供方,本身为一个TEE环境下的计算节点,该计算节点需要将自身的节点信息注册到智能合约中并经过验证后才能加入到隐私数据交易系统中。计算节点可接收加密状态的数据和计算逻辑,并在TEE环境下对数据进行解密根据计算逻辑进行计算,再将数据的处理结果返回给数据需求方,同时根据数据的大小和计算逻辑的复杂性向数据需求方收取一定的费用。
通常情况下,隐私数据交易系统中会有多个计算节点,因此,在数据交易的过程中,数据需求方需要选择其中一个计算节点作为目标计算节点来实现交易数据的计算。具体地,每个计算节点在注册到智能合约时,都会将自己的节点信息存储在智能合约上,因此,数据需求方可以任意选择一个计算节点作为目标计算节点,也可以根据自身的需求选择合适的目标计算节点。
本实施例中的可信执行环境可以为进行数据处理的安全运行环境,该可信执行环境可以通过预定的编程语言编写的程序来实现,即可以是以软件的形式实现,也可以是通过指定的实体部件和编写的程序来实现,即可以是硬件+软件的形式实现。
步骤S204,目标计算节点从数据提供方获取交易数据,其中,交易数据由数据需求方根据智能合约中存储的数据信息确定,交易数据加密存储在数据提供方的本地。
由于所有的数据均被加密后存储于链下,所以目标计算节点在对交易数据进行计算时,需要直接向数据提供方发起请求,由数据提供方将交易数据发送至目标计算节点。其中,数据提供方为提供数据的一方,可以根据自身的公钥对数据进行加密,且数据提供方本身为一个TEE节点,需要在智能合约中进行注册。
具体地,智能合约中存储的数据信息用于表明数据特征,例如,数据标识、数据类型、数据来源、数据地址、数据大小、数据价格,以及存储数据的TEE节点的节点标识等等,其中数据标识为和数据对应的唯一标识。数据需求方可以根据智能合约中的数据信息选择需要的数据进行交易,在多个数据中,被选中的数据即为交易数据。通常情况下,数据需求方会选择多条数据进行交易,多条数据可以来源于同一个数据提供方,也可以来源于不同的数据提供方。
步骤S206,目标计算节点根据数据需求方提供的计算逻辑对交易数据进行处理,并将处理后得到的处理结果返回至数据需求方。
其中,计算逻辑为数据需求方需要实现的对交易数据进行的计算方法,可以为统计学运算,例如统计总和、中位数、平均数等等,也可以为各类模型运算。需要说明的是,所有的计算过程均在目标计算节点中进行,数据需求方仅能得到计算结果,例如计算好的总和、中位数、平均数,或者训练好的模型。
需要说明的是,本申请的数据需求方、数据提供方和目标计算节点,可以为服务器、也可以为各类终端设备。
上述隐私数据交易方法中,将交易数据存储在数据需求方本地,智能合约中仅存储了交易数据的数据信息,在交易过程中,链下的目标计算节点直接从数据提供方获取交易数据,不需要通过区块链,因此,在区块链中不需要存储交易数据也不需要进行数据计算,降低了区块链的负载,提高了区块链的性能,保证了区块链上的可用存储空间,从而解决了相关技术中数据的存储和计算均在区块链中进行交易导致区块链的存储资源消耗过多,区块链业务处理效率较低的问题,且在节约了区块链的链上存储空间的同时,保护了数据提供方的数据隐私,提高了数据安全性。
另一方面,对交易数据的处理过程可以由第三方得到计算节点实现,且能够保证计算过程的安全性,所以隐私数据交易系统的隐私计算能力是弹性可扩展的。
在一个实施例中,图3是一个实施例中的交易数据获取方法的流程图,如图3所示,该方法包括以下步骤:
步骤S302,目标计算节点根据数据需求方的数据计算请求向数据提供方发起数据获取请求。
通常情况下,目标计算节点需要在接收到数据计算请求之后才开始获取交易数据,以避免计算出错。
步骤S304,数据提供方在接收到数据获取请求之后,对与数据获取请求对应的计算任务和交易数据之间的绑定关系进行验证。
数据提供方在接收到目标计算节点的数据获取请求之后,需要先对目标计算节点想要获取的交易数据和智能合约上的计算任务进行绑定验证,以确认目标计算节点请求的交易数据与计算任务中的数据对应。
具体地,在数据需求方确定交易数据后,通过智能合约建立与隐私数据交易对应的一个或者多个计算任务,且该计算任务对应一个唯一的任务标识,用于区分不同数据需求方的任务,以及同一个数据需求方的不同计算任务,该任务标识会被存储在智能合约中,同时绑定着与该计算任务对应的交易数据。数据提供方可以访问智能合约来获取该任务标识,通过任务标识向智能合约验证本次交易是否已绑定目标计算节点所请求的交易数据。优选的,数据需求方和数据提供方之间的一笔隐私数据交易可以绑定多个计算任务,一个计算任务可以绑定多个交易数据,因此,一个任务标识可能与多个交易数据对应,在验证时,需要对每一笔交易数据进行验证。
步骤S306,在验证通过的情况下,数据提供方通过目标计算节点的公钥将交易数据进行加密,并将加密后的交易数据发送至目标计算节点。
在验证通过的情况下,说明任务标识与交易数据之间具有对应关系,此时数据提供方通过智能合约获取目标计算节点的公钥,根据目标计算节点的公钥将交易数据加密后发送至目标计算节点,以提高交易数据的安全性。
本实施例中,在接收到数据获取请求之后,数据提供方才开始进行任务标识和交易数据之间绑定关系的验证,并在交易数据的传输过程中,对交易数据进行加密,以保证交易数据传输的安全性。
在其中一个实施例中,在数据交易过程中,数据需求方在提供计算逻辑时,需要先使用目标计算节点的公钥对计算逻辑进行加密,同样的,数据提供方也需要根据目标计算节点的公钥对交易数据进行加密。因此,目标计算节点根据数据需求方提供的计算逻辑对交易数据进行处理时,需要先对加密后的交易数据进行解密,具体为,目标计算节点收到所有的加密状态的交易数据后,使用目标计算节点的私钥,对所有的交易数据进行解密,同时使用目标计算节点的私钥对数据需求方发送的计算逻辑进行解密。在解密过程完成后,目标计算节点根据解密状态的计算逻辑对解密状态的交易数据进行处理,基于TEE的软硬件结合提供的安全存储功能将处理结果存储在本地。同时,目标计算节点需要在智能合约中更改该计算任务的状态为已结束,并获取与计算任务对应的资产,具体地,数据需求方需要向目标计算节点支付计算过程的费用,优选地,数据需求方将计算前锁定的金额转至目标计算节点提供的账户上。
进一步地,在接收到计算完成的信息之后,数据需求方会向目标计算节点请求交易数据的处理结果,目标计算节点在接收到数据需求方的处理结果请求之后,通过智能合约获取数据需求方的公钥,根据数据需求方的公钥对处理结果进行加密,将加密后的处理结果返回至数据需求方,数据需求方收到加密状态的处理结果后再用自身私钥解密,以获取最终的处理结果。
本实施例中,目标计算节点在对交易数据进行计算的过程中,以及将处理结果返回至数据需求方的过程中,均需要进行加解密。因此,进一步地提高了交易数据的隐私性和安全性。
在其中一个实施例中,智能合约需要先对数据需求方的资产进行验证,以保证整个交易可以顺利进行。具体为,数据需求方在智能合约上浏览到需要的交易数据之后,通过智能合约对交易进行购买,此时,智能合约首先需要校验数据需求方账户中的资产是否大于或者等于所有交易数据的总价,若否则交易失败,若是则验证通过,扣除数据需求方的账户中与交易数据对应的资产,并向数据提供方的账户中转入对应的资产。
在验证通过的情况下,智能合约中产生对应的一笔数据交易,并生成与至少一个交易数据对应的交易标识。该交易标识是交易过程的唯一标识,用于记录和交易数据相关的信息,例如,数据标识、数据需求方的信息等等。
本实施例中,在正式的交易之前,智能合约需要先对数据需求方的资产进行验证,避免数据需求方的资产不足导致交易失败,可以提高交易效率。
在其中一个实施例中,数据需求方在确定交易数据之后,需要通过智能合约创建一个隐私数据的计算任务,并在智能合约上记录该计算任务的任务标识,其中,任务标识可以由智能合约给出,也可以由数据需求方给出,用于对智能合约上的多个计算任务进行区分。在交易进行过程中,智能合约需要先对数据需求方的身份进行验证,在验证通过的情况下,数据需求方才能进行目标计算节点的选择。
图4是一个实施例中的目标计算节点确定方法的流程图,如图4所示,该方法包括如下步骤:
步骤S402,智能合约根据交易标识对数据需求方的身份进行验证,在验证通过的情况下,数据需求方在智能合约中的多个空闲计算节点中选择初始目标计算节点。
具体地,在验证时,数据需求方需要向智能合约传入交易标识以实现和交易数据的绑定,智能合约根据传入的交易标识与自身记录的交易标识对数据需求方的身份进行验证,在验证通过的情况下,数据需求方可以开始进行目标计算节点的选择。
通常情况下,智能合约会记录多个计算节点的节点信息,节点信息可以反映相应节点的计算状态、算力和费用等信息。数据需求方在选择目标计算节点时,优先选择当前计算状态为空闲的计算节点,避免等待。具体地,数据需求方可以在多个空闲计算节点中随机选择一个作为初始目标计算节点,也可以根据费用、算力等节点信息进行优先级排序。
步骤S404,数据需求方将初始目标计算节点与计算任务的任务标识进行绑定,其中,计算任务由数据需求方通过智能合约创建,任务标识根据计算任务的任务信息生成。
在选择了初始目标计算节点之后,数据需求方需要将任务标识与初始目标计算节点进行绑定,以便于获取数据提供方存储的交易数据。其中,计算任务由数据需求方通过智能合约创建,以记录本次隐私数据交易过程,任务信息用于对该计算任务的信息进行概括,包括数据标识、数据提供方的信息、数据需求方的信息、数据价格、计算成本等。
步骤S406,在智能合约对初始目标计算节点的当前算力验证通过的情况下,认为初始目标计算节点与任务标识绑定成功,初始目标计算节点为最终的目标计算节点。
在选择目标计算节点的过程中,智能合约还需要对已选定的初始目标计算节点的当前算力进行验证,具体为,通过预言机对初始目标计算节点的当前算力有效性进行验证,如果初始目标计算节点的当前算力无效或者初始目标计算节点正在执行其他任务则绑定失败,需要重新选取其他的空闲计算节点作为初始目标计算节点进行验证;在验证通过的情况下,将初始目标计算节点作为最终的目标计算节点,其与任务标识的绑定过程成功,可以开始进行交易数据的处理。其中,在网络故障或者初始目标计算节点关闭的情况下,认为初始目标计算节点的当前算力无效,验证失败,预言机为链上访问链下数据的可信媒介。
本实施例中,数据需求方在选择目标计算节点的过程中也需要通过智能合约对数据需求方和目标计算节点进行验证,能够保证交易过程的安全性和有效性。
进一步地,目标计算节点根据数据需求方提供的计算逻辑对交易数据进行处理之前,数据需求方需要先向目标计算节点传入计算逻辑,具体为,数据需求方通过智能合约获取目标计算节点的公钥和位置信息,该位置信息可以为网络地址,优选为统一资源定位器(Uniform Resource Locator,简称为URL);然后通过目标计算节点的公钥加密计算逻辑,根据位置信息将与交易数据对应的任务标识和加密后的计算逻辑传输至目标计算节点,以便于目标计算节点获取交易数据。在传输完成后,数据需求方向目标计算节点发起数据计算请求。
然后,目标计算节点根据智能合约中的任务标识以及数据需求方的资产对与交易数据对应的计算任务进行验证,在验证通过后,再向数据提供方请求交易数据。具体地,目标计算节点收到请求后,首先访问智能合约验证任务标识对应的计算任务是否绑定了本计算节点,如果不是则终止此次计算,然后目标计算节点计算本次调用和计算交易数据提供的算力所需的费用,并通过智能合约锁定数据需求方的相应资产,如果数据需求方的资产不足则返回错误至数据需求方;最后目标计算节点向智能合约更改本计算节点的状态为计算中,并获取该计算任务绑定的交易数据的列表,依次向数据提供方的TEE节点请求交易数据。
本实施例中,在传输计算逻辑的过程中,仍需要对计算逻辑进行加密处理,避免计算逻辑泄露,保证了隐私数据交易的安全性。
在其中一些实施例中,配置有可信执行环境的节点均需要在智能合约中进行注册,该节点包括数据提供方的节点和各计算节点。图5为一个实施例中的TEE节点注册方法的流程图,如图5所示,配置有可信执行环境的目标计算节点和/或数据提供方在智能合约中进行注册的过程具体如下:
步骤S502,配置有可信执行环境的TEE节点通过隐私计算服务生成节点信息。具体地,该节点信息包括公私钥对和节点标识,节点标识为表征该节点的身份信息和功能的唯一标识,例如类别、访问地址等等。本实施例中的节点信息加密存储于节点本地。
步骤S504,TEE节点通过隐私计算服务的哈希值以及节点信息实现远程认证,得到远程认证报告。
隐私计算服务实质上为一段程序代码,可以根据代码计算得到隐私计算服务的哈希值,而且在实现远程认证时,需要用到节点信息中的公钥。具体地,TEE节点内部通常设有远程认证机制,远程认证的过程可以为:结合TEE节点内置的远程认证机制和与TEE节点对应的远程认证服务器,对运行在TEE内部的隐私计算服务进行计算生成一个哈希值,并产生一个远程认证报告,该远程认证报告需要通过远程认证服务器来验证真实性,以保证该隐私计算服务运行在TEE内部。同时,可以结合隐私计算服务的哈希值保证隐私计算服务程序未被篡改。
步骤S506,智能合约基于远程认证报告以及节点信息对TEE节点进行验证。
在得到远程认证报告之后,TEE节点向智能合约发送远程认证报告、公钥、节点标识、访问本节点的URL,智能合约通过预言机访问TEE的远程认证服务器,以验证该TEE节点的隐私计算服务代码是否被篡改,具体为对比远程认证报告中的哈希值与远程认证服务器中的哈希值是否一致,进一步地,智能合约还需要通过远程认证报告验证隐私计算服务是否运行在TEE节点中。验证通过后,智能合约记录该TEE节点的信息,完成TEE节点的注册。
本实施例中,数据提供方和计算节点都需要提前在智能合约中完成注册,以保证各节点均具有可信执行环境。具体地,本实施例提供了TEE节点的可信接入机制,结合远程认证和区块链以保证接入到隐私数据交易系统中的TEE节点都是可信的,远程认证会验证TEE中运行的是完整的未被篡改的隐私计算服务,报告中携带的公钥确保该公钥是节点内部生成的,防止中间人攻击,提高隐私数据交易过程的安全性。
下面通过优选实施例对本实施例进行描述和说明。
现有的数据交易系统一般是中心化的,且交易方式通常是直接将数据明文发送给需求方,对于隐私和安全要求较高的数据由于无法直接通过明文进行交易,大大降低了数据在流通过程中产生的价值,而通过隐私计算可以在不暴露数据本身的前提下,通过计算产生的结果来传递数据的价值,间接的做到隐私数据的流通。具体方法包括以下步骤:
步骤1,计算节点和数据需求方均在智能合约中完成注册,且计算节点和数据需求方的节点均配置有可信执行环境;
步骤2,数据提供方将数据信息,以及与数据提供方对应的TEE节点的节点信息上传至智能合约,其中,数据信息包括数据标识、数据类型、数据大小和数据价格等等,数据标识优选为数据ID(identifier)。
步骤3,数据需求方根据智能合约中的数据信息选择交易数据,通过智能合约购买该交易数据;
步骤4,智能合约对数据需求方的账户余额进行验证,在账户余额大于或者等于数据价格的情况下,验证通过,扣除数据需求方的账户中与交易数据的价格对应的金额,并向数据提供方的账户中转入该金额,然后智能合约中产生与交易数据对应的一笔数据交易,记录数据ID,交易数据的购买者等信息,并生成交易标识,例如交易ID;
步骤5,数据需求方通过智能合约创建一个隐私计算任务,并获取任务标识,优选为任务ID,该任务ID可以由智能合约生成,也可以由数据需求方生成;
步骤6,数据需求方向智能合约传入交易ID来绑定交易数据,智能合约根据交易ID验证数据需求方是否是交易的购买者,如果不是则绑定失败;
步骤7,数据需求方在智能合约列出的多个当前空闲计算节点中选择一个与计算任务的任务ID进行绑定,智能合约通过预言机验证该计算节点的有效性,如果无效或者正在执行其他任务则绑定失败,如果验证通过,则将其作为最终的目标计算节点;
步骤8,数据需求方通过智能合约获取目标计算节点的公钥和访问URL,使用公钥加密计算逻辑的代码,然后通过URL请求目标计算节点开始进行计算;
步骤9,目标计算节点收到请求后,通过智能合约验证任务ID对应的计算任务是否绑定了本节点,如果不是则终止此次计算;如果验证通过,则计算本次调用提供的算力所需的费用,并通过智能合约锁定数据需求方的相应金额,如果金额不足则返回错误至数据需求方;如果金额满足需求则向智能合约更改本节点的状态为计算中,并获取该计算任务绑定的数据列表,依次向数据提供方的TEE节点请求交易数据;
步骤10,数据提供方的TEE节点收到请求后,向智能合约验证该次计算任务是否已绑定对应的交易数据,如果已绑定则通过智能合约获取目标计算节点的公钥,将交易数据通过该公钥加密后发送至目标计算节点;
步骤11,目标计算节点收到所有的加密状态的交易数据后,使用本节点的私钥解密所有的交易数据和数据需求方发送的计算逻辑,然后将解密后的交易数据发送给计算逻辑执行;
步骤12,计算逻辑执行结束后,目标计算节点将处理结果加密存储在本地TEE节点中,向智能合约更改该计算任务的状态为已结束,并将计算前锁定的金额划转到目标计算节点的账户上;
步骤13,数据需求方根据智能合约中目标计算节点的状态,判断计算是否结束,在计算结束之后,数据需求方向目标计算节点请求处理结果;
步骤14,目标计算节点收到请求之后,通过智能合约获取数据需求方的公钥,并用公钥加密处理结果后返回至数据需求方,数据需求方收到加密处理结果后再用私钥解密以获取明文的处理结果。
需要说明的是,本实施例中的数据ID用于对数据的来源进行定位,每个数据都有自己的数据ID,交易ID对应一次计算任务下的所有交易数据,用于确定交易数据被授权,任务ID用于确定交易数据与数据需求方的对应关系。
进一步地,上述所有步骤都会带上操作者的签名和地址,以防止伪造,具体地,操作者包括数据需求方、数据提供方和目标计算节点。
本优选实施例中,在隐私数据交易过程中,链下的目标计算节点直接从数据提供方获取交易数据,不需要通过区块链,因此,在区块链中不需要存储交易数据也不需要进行数据计算,降低了区块链的负载,提高了区块链的性能,保证了区块链上的可用存储空间,从而解决了相关技术中数据的存储和计算均在区块链中进行交易导致区块链的存储资源消耗过多,区块链业务处理效率较低的问题,且在节约了区块链的链上存储空间的同时,保护了数据提供方的数据隐私,提高了数据安全性。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的隐私数据交易方法的隐私数据交易系统。该系统所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个隐私数据交易系统实施例中的具体限定可以参见上文中对于隐私数据交易方法的限定,在此不再赘述。
在一个实施例中,如图6所示,提供了一种隐私数据交易系统,包括数据提供方61和目标计算节点62:
数据需求方通过智能合约确定链下的目标计算节点62,其中,目标计算节点62配置有可信执行环境;
目标计算节点62从数据提供方61获取交易数据,其中,交易数据由数据需求方根据智能合约中存储的数据信息确定,交易数据加密存储在数据提供方61的本地;
目标计算节点62根据数据需求方提供的计算逻辑对交易数据进行处理,并将处理后得到的处理结果返回至数据需求方。
本实施例中提出了一种基于区块链和可信执行环境的隐私数据交易系统,能够通过区块链来保障整个数据交易过程的安全可信,通过可信执行环境保障数据在使用过程中的安全性,且数据无法脱离该系统使用。基于可信执行环境的安全沙盒特性,数据需求方可无需提供可信执行环境,可信执行环境由计算节点提供,数据需求方可将计算逻辑加密发送到计算节点的可信执行环境中解密再执行,可同时保护数据提供方的数据和数据需求方的计算逻辑。
而且,上述隐私数据交易系统,将交易数据存储在数据需求方本地,智能合约中仅存储了交易数据的数据信息,在交易过程中,链下的目标计算节点直接从数据提供方获取交易数据,不需要通过区块链,因此,在区块链中不需要存储交易数据也不需要进行数据计算,降低了区块链的负载,提高了区块链的性能,保证了区块链上的可用存储空间,从而解决了相关技术中数据的存储和计算均在区块链中进行交易导致区块链的存储资源消耗过多,区块链业务处理效率较低的问题,且在节约了区块链的链上存储空间的同时,保护了数据提供方的数据隐私,提高了数据安全性。
进一步地,目标计算节点62根据数据需求方的数据计算请求向数据提供方61发起数据获取请求;数据提供方61在接收到数据获取请求之后,对与数据获取请求对应的计算任务和交易数据之间的绑定关系进行验证;在验证通过的情况下,数据提供方61通过目标计算节点62的公钥将交易数据进行加密,并将加密后的交易数据发送至目标计算节点62。
进一步地,目标计算节点62对加密后的交易数据进行解密,根据计算逻辑对解密状态的交易数据进行处理,将处理结果存储在本地;在接收到数据需求方的处理结果请求之后,目标计算节点62根据数据需求方的公钥对处理结果进行加密,将加密后的处理结果返回至数据需求方。
进一步地,数据需求方通过智能合约确定链下的目标计算节点62之前,智能合约对数据需求方的资产进行验证;在验证通过的情况下,智能合约生成与至少一个交易数据对应的交易标识。
进一步地,智能合约根据交易标识对数据需求方进行验证,在验证通过的情况下,数据需求方在智能合约中的多个空闲计算节点中选择初始目标计算节点;数据需求方将初始目标计算节点与计算任务的任务标识进行绑定,其中,计算任务由数据需求方通过智能合约创建,任务标识根据计算任务的任务信息生成;在智能合约对初始目标计算节点的算力验证通过的情况下,初始目标计算节点与任务标识绑定成功,初始目标计算节点为最终的目标计算节点62。
进一步地,数据需求方通过智能合约获取目标计算节点62的公钥和位置信息;数据需求方通过目标计算节点62的公钥加密计算逻辑,根据位置信息将与交易数据对应的任务标识和加密后的计算逻辑传输至目标计算节点62;目标计算节点62根据智能合约中的任务标识以及数据需求方的资产对与交易数据对应的计算任务进行验证。
进一步地,配置有可信执行环境的目标计算节点62和/或配置有可信执行环境的数据提供方61在智能合约中进行注册。
上述隐私数据交易系统中的各个组成可全部或部分通过软件、硬件及其组合来实现。上述各组成可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种隐私数据交易方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种隐私数据交易方法,其特征在于,所述方法包括:
数据需求方通过智能合约确定链下的目标计算节点,其中,所述目标计算节点配置有可信执行环境;
所述目标计算节点从数据提供方获取交易数据,其中,所述交易数据由所述数据需求方根据智能合约中存储的数据信息确定,所述交易数据加密存储在所述数据提供方的本地;
所述目标计算节点根据所述数据需求方提供的计算逻辑对所述交易数据进行处理,并将处理后得到的处理结果返回至所述数据需求方。
2.根据权利要求1所述的方法,其特征在于,所述目标计算节点从数据提供方获取交易数据包括:
所述目标计算节点根据所述数据需求方的数据计算请求向所述数据提供方发起数据获取请求;
所述数据提供方在接收到所述数据获取请求之后,对与所述数据获取请求对应的计算任务和所述交易数据之间的绑定关系进行验证;
在验证通过的情况下,所述数据提供方通过所述目标计算节点的公钥将所述交易数据进行加密,并将加密后的交易数据发送至所述目标计算节点。
3.根据权利要求1所述的方法,其特征在于,所述目标计算节点根据所述数据需求方提供的计算逻辑对所述交易数据进行处理,并将处理后得到的处理结果返回至所述数据需求方包括:
所述目标计算节点对加密后的交易数据进行解密,根据所述计算逻辑对解密状态的所述交易数据进行处理,将所述处理结果存储在本地;
在接收到所述数据需求方的处理结果请求之后,所述目标计算节点根据所述数据需求方的公钥对所述处理结果进行加密,将加密后的所述处理结果返回至所述数据需求方。
4.根据权利要求1所述的方法,其特征在于,所述数据需求方通过智能合约确定链下的目标计算节点之前,所述方法包括:
所述智能合约对所述数据需求方的资产进行验证;
在验证通过的情况下,所述智能合约生成与至少一个所述交易数据对应的交易标识。
5.根据权利要求4所述的方法,其特征在于,所述数据需求方通过智能合约确定链下的目标计算节点包括:
所述智能合约根据所述交易标识对所述数据需求方的身份进行验证,在验证通过的情况下,所述数据需求方在所述智能合约中的多个空闲计算节点中选择初始目标计算节点;
所述数据需求方将所述初始目标计算节点与计算任务的任务标识进行绑定,其中,所述计算任务由所述数据需求方通过所述智能合约创建,所述任务标识根据所述计算任务的任务信息生成;
在所述智能合约对所述初始目标计算节点的当前算力验证通过的情况下,认为所述初始目标计算节点与所述任务标识绑定成功,所述初始目标计算节点为最终的目标计算节点。
6.根据权利要求1所述的方法,其特征在于,所述目标计算节点根据所述数据需求方提供的计算逻辑对所述交易数据进行处理之前,所述方法包括:
所述数据需求方通过所述智能合约获取所述目标计算节点的公钥和位置信息;
所述数据需求方通过所述目标计算节点的公钥加密所述计算逻辑,根据所述位置信息将与所述交易数据对应的任务标识和加密后的计算逻辑传输至所述目标计算节点;
所述目标计算节点根据所述智能合约中的任务标识以及所述数据需求方的资产对与所述交易数据对应的计算任务进行验证。
7.根据权利要求1所述的方法,其特征在于,所述数据需求方通过所述智能合约确定链下的目标计算节点之前,所述方法还包括:
配置有可信执行环境的所述目标计算节点和/或配置有可信执行环境的所述数据提供方在所述智能合约中进行注册。
8.一种隐私数据交易系统,其特征在于,所述系统包括数据提供方和目标计算节点:
数据需求方通过智能合约确定链下的目标计算节点,其中,所述目标计算节点配置有可信执行环境;
所述目标计算节点从数据提供方获取交易数据,其中,所述交易数据由所述数据需求方根据智能合约中存储的数据信息确定,所述交易数据加密存储在所述数据提供方的本地;
所述目标计算节点根据所述数据需求方提供的计算逻辑对所述交易数据进行处理,并将处理后得到的处理结果返回至所述数据需求方。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的隐私数据交易方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的隐私数据交易方法的步骤。
CN202111627562.5A 2021-12-28 2021-12-28 隐私数据交易方法、系统、计算机设备和存储介质 Pending CN114301675A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111627562.5A CN114301675A (zh) 2021-12-28 2021-12-28 隐私数据交易方法、系统、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111627562.5A CN114301675A (zh) 2021-12-28 2021-12-28 隐私数据交易方法、系统、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN114301675A true CN114301675A (zh) 2022-04-08

Family

ID=80971269

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111627562.5A Pending CN114301675A (zh) 2021-12-28 2021-12-28 隐私数据交易方法、系统、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN114301675A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115051878A (zh) * 2022-08-16 2022-09-13 天聚地合(苏州)科技股份有限公司 基于接口的隐私计算方法、系统、存储介质及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110335037A (zh) * 2019-04-19 2019-10-15 矩阵元技术(深圳)有限公司 基于区块链和多方安全计算的交易方法、装置及存储介质
CN111047450A (zh) * 2020-03-18 2020-04-21 支付宝(杭州)信息技术有限公司 链上数据的链下隐私计算方法及装置
CN111898153A (zh) * 2020-03-18 2020-11-06 支付宝(杭州)信息技术有限公司 调用合约的方法及装置
WO2021017433A1 (zh) * 2019-07-31 2021-02-04 创新先进技术有限公司 基于智能合约的数据授权方法及装置
WO2021184882A1 (zh) * 2020-03-18 2021-09-23 支付宝(杭州)信息技术有限公司 验证合约的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110335037A (zh) * 2019-04-19 2019-10-15 矩阵元技术(深圳)有限公司 基于区块链和多方安全计算的交易方法、装置及存储介质
WO2021017433A1 (zh) * 2019-07-31 2021-02-04 创新先进技术有限公司 基于智能合约的数据授权方法及装置
CN111047450A (zh) * 2020-03-18 2020-04-21 支付宝(杭州)信息技术有限公司 链上数据的链下隐私计算方法及装置
CN111898153A (zh) * 2020-03-18 2020-11-06 支付宝(杭州)信息技术有限公司 调用合约的方法及装置
WO2021184882A1 (zh) * 2020-03-18 2021-09-23 支付宝(杭州)信息技术有限公司 验证合约的方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115051878A (zh) * 2022-08-16 2022-09-13 天聚地合(苏州)科技股份有限公司 基于接口的隐私计算方法、系统、存储介质及设备
CN115051878B (zh) * 2022-08-16 2023-01-06 天聚地合(苏州)科技股份有限公司 基于接口的隐私计算方法、系统、存储介质及设备

Similar Documents

Publication Publication Date Title
CN110473094B (zh) 基于区块链的数据授权方法及装置
CN110457875B (zh) 基于区块链的数据授权方法及装置
EP3396575B1 (en) Entitlement management system
CN109144961B (zh) 授权文件共享方法及装置
US20200058023A1 (en) Decentralized Data Marketplace
CN110535833B (zh) 一种基于区块链的数据共享控制方法
US8850593B2 (en) Data management using a virtual machine-data image
US20160021087A1 (en) Data custodian and curation system
CN113255005B (zh) 一种基于区块链的数据资产流转方法、装置及设备
WO2020042822A1 (zh) 密码运算、创建工作密钥的方法、密码服务平台及设备
WO2023030450A1 (zh) 数据共享方法和电子设备
WO2020042798A1 (zh) 密码运算、创建工作密钥的方法、密码服务平台及设备
CN111292174A (zh) 一种纳税信息处理方法、装置及计算机可读存储介质
CN113239375B (zh) 基于区块链的隐私要素数据共享系统、方法、计算机设备及介质
TW201843635A (zh) 基於區塊鏈智能合約的kyc資料共享系統及其方法
US20190258820A1 (en) System and Method for Maintaining the Security and Confidentiality of Consumer Information
CN113407954A (zh) 基于区块链的数据管理方法及装置
CN111460400A (zh) 一种数据处理方法、装置及计算机可读存储介质
CN113486122A (zh) 数据共享方法和电子设备
Abubaker et al. Trustful data trading through monetizing IoT data using BlockChain based review system
Liang et al. Private decentralized crowdsensing with asynchronous blockchain access
US20210150058A1 (en) Control method, server, recording medium, and data structure
CN114301675A (zh) 隐私数据交易方法、系统、计算机设备和存储介质
CN114338081A (zh) 多区块链统一身份认证方法、装置、计算机设备
CN112966309A (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