掌桥专利:专业的专利平台
掌桥专利
首页

基于区块链的多重智能合约的共享激励方法、装置及设备

文献发布时间:2023-06-19 19:30:30


基于区块链的多重智能合约的共享激励方法、装置及设备

技术领域

本申请涉及区块链技术领域,尤其是涉及一种基于区块链的多重智能合约的共享激励方法、装置及设备。

背景技术

针对网络上的大量数据,为了有效利用这些数据,就会涉及数据共享,数据共享就是让在不同地方使用不同计算机、不同软件的用户能够读取其它用户的数据,并对其它用户的数据进行各种操作、运算和分析。在实现数据共享之后,可以使更多用户更充分地使用已有数据资源,减少资料收集、数据采集等重复劳动。随着信息时代的不断发展,不同部门、不同地区之间的信息交流逐步增加,计算机网络技术的快速发展,均为数据共享提供了信息传输的保障。

但是,由于数据共享需要在不同用户之间传输数据,存在数据安全隐患,无法保证数据安全,数据作为用户的数字资产,用户不愿意共享数据。

发明内容

有鉴于此,本申请提供一种基于区块链的多重智能合约的共享激励方法、装置及设备,能够减少传输终端设备的数据,从而保证数据的安全性。

本申请提供一种基于区块链的多重智能合约的共享激励方法,该方法包括:

获取数据请求者发送的针对智能合约中的目标数据集的访问请求;

基于所述访问请求对应的验证参数对所述数据请求者进行验证;其中,若所述访问请求对应的每个验证参数均满足验证通过条件,则所述数据请求者验证成功,若任一验证参数不满足验证通过条件,则所述数据请求者验证失败;

若验证成功,则为所述数据请求者生成目标令牌,将所述目标令牌发送给所述数据请求者,以使所述数据请求者基于所述目标令牌访问所述目标数据集;

其中,所述访问请求包括资源验证参数,资源验证参数包括第一结算资源和第二结算资源,若第一结算资源不小于所述目标数据集的数据价格,且第二结算资源不小于所述数据请求者的第一保证价格,则资源验证参数满足验证通过条件,第一保证价格是基于所述数据请求者的信誉度和所述数据价格确定。

本申请提供一种基于区块链的多重智能合约的共享激励装置,该装置包括:

获取模块,用于获取数据请求者发送的针对目标数据集的访问请求;

验证模块,用于基于所述访问请求对应的验证参数对所述数据请求者进行验证;其中,若所述访问请求对应的每个验证参数均满足验证通过条件,则所述数据请求者验证成功,若任一验证参数不满足验证通过条件,则所述数据请求者验证失败;所述访问请求包括资源验证参数,资源验证参数包括第一结算资源和第二结算资源,若第一结算资源不小于所述目标数据集的数据价格,第二结算资源不小于所述数据请求者的第一保证价格,则资源验证参数满足验证通过条件,第一保证价格是基于所述数据请求者的信誉度和所述数据价格确定;

处理模块,用于若所述数据请求者验证成功,则为所述数据请求者生成目标令牌,将所述目标令牌发送给所述数据请求者,以使所述数据请求者基于所述目标令牌访问智能合约中的所述目标数据集。

本申请提供一种电子设备,包括:处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令;其中,处理器用于执行机器可执行指令,以实现上述的基于区块链的多重智能合约的共享激励方法。

另一方面,本申请提供一种机器可读存储介质,所述机器可读存储介质存储有能够被处理器执行的机器可执行指令;其中,所述处理器用于执行所述机器可执行指令,以实现上述的基于区块链的多重智能合约的共享激励方法。

另一方面,本申请提供一种计算机程序,所述计算机程序存储于机器可读存储介质,当处理器执行所述机器可读存储介质中的所述计算机程序时,促使所述处理器实现上述的基于区块链的多重智能合约的共享激励方法。

由以上技术方案可见,本申请实施例中,数据提供者将目标数据集(即共享数据)发布到区块链的智能合约,以使数据请求者访问区块链的智能合约中的目标数据集,得到目标数据集中的数据,上述方式不是在数据提供者与数据请求者之间传输数据,而是从区块链下载数据,从而保护用户的数字资产,保证数据安全。通过将区块链引入到数据共享,将数据添加至区块链,由于区块链具有不可否认性和抗篡改性,因此,减少数据被篡改的可能性,保证数据准确性。通过智能合约建立每个用户访问条件的自动验证,支持通过奖励建立用户共享数据的激励机制,智能合约实行双重保证价格,保证价格与信誉度成反比,以确保所有用户诚实行事,激励用户共享数据。

附图说明

为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。

图1是基于区块链的多重智能合约的共享激励方法的流程示意图;

图2是基于区块链的多重智能合约的共享激励的结构示意图;

图3是本申请一种实施方式中的数据集发布过程的流程示意图;

图4是本申请一种实施方式中的数据集访问过程的流程示意图;

图5是基于区块链的多重智能合约的共享激励装置的结构示意图;

图6是本申请一种实施方式中的电子设备的硬件结构图。

具体实施方式

在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

本申请实施例中提出一种基于区块链的多重智能合约的共享激励方法,该方法可以应用于区块链系统,参见图1所示,为该方法的流程示意图,该方法可以包括:

步骤101、获取数据请求者发送的针对智能合约中的目标数据集的访问请求。

步骤102、基于该访问请求对应的验证参数对数据请求者进行验证;其中,若该访问请求对应的每个验证参数均满足验证通过条件,则数据请求者验证成功,若任一验证参数不满足验证通过条件,则数据请求者验证失败。

示例性的,该访问请求可以包括资源验证参数,该资源验证参数包括第一结算资源和第二结算资源,若第一结算资源不小于目标数据集的数据价格,且第二结算资源不小于数据请求者的第一保证价格,则该资源验证参数满足验证通过条件,第一保证价格是基于数据请求者的信誉度和数据价格确定。

步骤103、若验证成功,则为数据请求者生成目标令牌,并将目标令牌发送给数据请求者,以使数据请求者基于该目标令牌访问目标数据集。

示例性的,在获取数据请求者发送的针对智能合约中的目标数据集的访问请求之前,还可以获取数据提供者发送的针对目标数据集的发布请求,并基于该发布请求对应的验证参数对数据提供者进行验证。其中,若该发布请求对应的每个验证参数均满足验证通过条件,则数据提供者验证成功,若任一验证参数不满足验证通过条件,则数据提供者验证失败。其中,该发布请求可以包括资源验证参数,该资源验证参数可以包括第三结算资源,若第三结算资源不小于数据提供者的第二保证价格,则该资源验证参数满足验证通过条件,该第二保证价格是基于数据提供者的信誉度和数据价格确定。在对数据提供者进行验证之后,若数据提供者的验证成功,则可以在智能合约中发布目标数据集。

示例性的,基于数据请求者的信誉度和数据价格确定第一保证价格,可以包括但不限于:基于数据请求者的信誉度确定数据请求者的第一比例,并基于第一比例和目标数据集的数据价格确定第一保证价格;其中,第一比例与数据请求者的信誉度成正比,且第一保证价格与第一比例成反比。基于数据请求者的信誉度确定数据请求者的第一比例,可以包括但不限于:基于数据请求者的信誉度和数据请求者的活跃度确定数据请求者的第一比例;其中,信誉度表示访问过第一数据集的用户对第一数据集的评价平均值,第一数据集为数据请求者在智能合约中发布的数据集,活跃度表示数据请求者的成功交易次数。

比如说,可以基于如下公式确定数据请求者的第一比例:

在上述公式中,

示例性的,基于数据提供者的信誉度和数据价格确定第二保证价格,可以包括但不限于:基于数据提供者的信誉度确定数据提供者的第二比例,并基于第二比例和目标数据集的数据价格确定第二保证价格;其中,第二比例与数据提供者的信誉度成正比,且第二保证价格与第二比例成反比。基于数据提供者的信誉度确定数据提供者的第二比例,可以包括但不限于:基于数据提供者的信誉度和数据提供者的活跃度确定数据提供者的第二比例;其中,信誉度表示访问过第二数据集的用户对第二数据集的评价平均值,第二数据集为数据提供者在智能合约中发布的数据集,活跃度表示数据提供者的成功交易次数。

比如说,可以基于如下公式确定数据提供者的第二比例:

在上述公式中,

示例性的,访问请求还可以对应如下验证参数的至少一种:注册验证参数、发布验证参数、令牌验证参数。比如说,若访问请求对应注册验证参数,且该注册验证参数用于表示数据请求者已成功注册,则该注册验证参数满足验证通过条件。和/或,若访问请求对应发布验证参数,且该发布验证参数用于表示数据请求者在智能合约中已发布数据集,则该发布验证参数满足验证通过条件。和/或,若访问请求对应令牌验证参数,且该令牌验证参数用于表示数据请求者不存在访问目标数据集的令牌,则该令牌验证参数满足验证通过条件。

示例性的,在数据请求者基于目标令牌访问目标数据集之后,若获取到数据请求者发送的针对目标数据集的数据有效信息(用于表示目标数据集中的数据有效),则将第三结算资源返回给数据提供者,将第一结算资源结算给数据提供者,并将第二结算资源返回给数据请求者;或者,在数据请求者对应的目标令牌的访问时间到期之后,可以将第三结算资源返回给数据提供者,将第一结算资源结算给数据提供者,并将第二结算资源返回给数据请求者。

由以上技术方案可见,本申请实施例中,数据提供者将目标数据集(即共享数据)发布到区块链的智能合约,以使数据请求者访问区块链的智能合约中的目标数据集,得到目标数据集中的数据,上述方式不是在数据提供者与数据请求者之间传输数据,而是从区块链下载数据,从而保护用户的数字资产,保证数据安全。通过将区块链引入到数据共享,将数据添加至区块链,由于区块链具有不可否认性和抗篡改性,因此,减少数据被篡改的可能性,保证数据准确性。通过智能合约建立每个用户访问条件的自动验证,支持通过奖励建立用户共享数据的激励机制,智能合约实行双重保证价格,保证价格与信誉度成反比,以确保所有用户诚实行事,激励用户共享数据。

以下结合具体应用场景,对本申请实施例的技术方案进行说明。

本申请实施例中提出一种基于区块链的多重智能合约的共享激励方法,能够结合区块链实现数据共享。其中,区块链是按照时间顺序将数据区块以顺序相连的方式组合成的链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本,是利用块链式数据结构验证和存储数据,利用分布式节点共识算法生成和更新数据,利用密码学的方式保证数据传输和访问的安全,利用自动化脚本代码组成的智能合约。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,区块链是一个共享的分布式账本,区块链的交易通过附加块永久记录。智能合约是一种旨在以信息化方式传播、验证或者执行合同的计算机协议,智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转,智能合约将可编程语言的业务规则编码到区块上,并由网络参与者实施。

本申请实施例中提出多重智能合约,用于建立每个用户访问条件的自动验证,支持通过奖励(如小额支付等)建立用户共享数据的激励机制,智能合约实行双重保证金担保,保证金比例与数据提供者对应的信誉值成反比,以确保所有参与者诚实行事,激励用户共享数据,即通过奖励激励用户共享数据。

参见图2所示,为基于区块链的多重智能合约的共享激励的结构示意图,区块链系统可以包括但不限于:注册智能合约模块、数据集智能合约模块、智能合约所有权模块、访问智能合约模块、令牌管理智能合约模块。显然,通过上述5个智能合约模块实现多重智能合约,不同智能合约实现不同功能。

注册智能合约模块,用于为数据请求者和数据提供者提供授权,为数据请求者和数据提供者提供访问独占性。比如说,数据请求者可以向区块链系统发送注册请求,区块链系统通过注册智能合约模块对数据请求者进行注册,对此注册过程不做限制,在数据请求者注册之后,可以为数据请求者提供授权,使得数据请求者能够访问智能合约中的数据集。数据提供者可以向区块链系统发送注册请求,区块链系统通过注册智能合约模块对数据提供者进行注册,对此注册过程不做限制,在数据提供者注册之后,可以为数据提供者提供授权,使得数据提供者能够在智能合约(如数据集智能合约)中发布数据集。

其中,数据请求者和数据提供者是相对的,针对每个用户,在该用户需要访问智能合约中的数据集时,该用户作为数据请求者,在该用户需要在智能合约中发布数据集时,该用户作为数据提供者,因此,只要该用户在注册智能合约模块完成注册,就可以作为区块链系统的数据请求者或者数据提供者。

数据集智能合约模块,用于处理数据发布、处理数据更新和处理用户激励。比如说,数据集智能合约模块可以包括但不限于数据发布子模块、数据更新子模块和用户激励子模块。其中,数据发布子模块用于处理数据发布,数据更新子模块用于处理数据更新,用户激励子模块用于处理用户激励。

比如说,数据发布子模块用于与数据提供者交互,从数据提供者获得数据集,并在智能合约(如数据集智能合约)中发布数据集。数据更新子模块用于与数据提供者交互,从数据提供者获得更新后的数据集,并在智能合约(如数据集智能合约)中更新数据集。用户激励子模块与数据提供者和数据请求者交互,能够从数据请求者获取结算资源,并将数据请求者的结算资源提供给数据提供者,从而提出一种数据提供者从共享数据中获得结算资源的方法。

智能合约所有权模块,用于将连接的合约定义为由部署主合约的数据提供者拥有,并连接到允许数据提供者删除其智能合约的附加模块。

访问智能合约模块,用于约定数据访问方法、访问更新方法和放弃访问方法,且访问智能合约模块连接到令牌管理智能合约模块,从令牌管理智能合约模块得到令牌,基于令牌促使数据请求者访问智能合约中的数据集。

比如说,访问智能合约模块用于处理数据请求者的访问请求,在数据请求者验证成功之后,将令牌发送给数据请求者,以使数据请求者基于令牌访问智能合约中的数据集。访问智能合约模块用于处理数据请求者的访问更新请求。

令牌管理智能合约模块,用于处理与访问数据有关的令牌,比如说,可以为数据请求者生成令牌,并将令牌发送给访问智能合约模块。

以下结合具体应用场景,对区块链系统的各智能合约模块进行说明。

注册智能合约模块,用于为数据请求者和数据提供者提供授权。数据请求者向区块链系统发送注册请求,区块链系统通过注册智能合约模块对数据请求者进行注册,在数据请求者注册之后,可以为数据请求者提供授权,使得数据请求者能够访问智能合约(如数据集智能合约)中的数据集。此外,数据提供者向区块链系统发送注册请求,区块链系统通过注册智能合约模块对数据提供者进行注册,在数据提供者注册之后,可以为数据提供者提供授权,使得数据提供者能够在智能合约(如数据集智能合约)中发布数据集。

数据集智能合约模块中的数据发布子模块,用于与数据提供者交互,从数据提供者获得数据集,并在智能合约(如数据集智能合约)中发布数据集。其中,数据发布子模块保证每个数据集均发布在单独的数据集智能合约上,从而使得数据集智能合约能够提供全面记录的结构,且通过更新来改变元数据。

在一种可能的实施方式中,参见图3所示,数据集发布过程可以包括:

步骤301、获取数据提供者发送的针对目标数据集的发布请求。

比如说,数据提供者在需要发布数据集(为了区分方便,将该数据集记为目标数据集)时,数据发布子模块可以得到针对目标数据集的发布请求。

步骤302、基于该发布请求对应的验证参数对数据提供者进行验证。

示例性的,发布请求可以对应至少一个验证参数,若发布请求对应的每个验证参数均满足验证通过条件,则数据发布子模块确定数据提供者验证成功,若发布请求对应的任一验证参数不满足验证通过条件,则数据发布子模块确定数据提供者验证失败。若数据提供者验证成功,则执行步骤303,若数据提供者验证失败,则数据发布子模块禁止数据提供者在智能合约中发布目标数据集。

示例性的,发布请求对应的验证参数可以包括但不限于以下至少一种:注册验证参数、资源验证参数。比如说,可以只对应注册验证参数,或者,可以只对应资源验证参数,或者,可以同时对应注册验证参数和资源验证参数。

比如说,若发布请求对应注册验证参数,则数据发布子模块可以获取发布请求对应的注册验证参数,注册验证参数用于表示数据提供者已成功注册,或数据提供者未成功注册。例如,数据发布子模块从注册智能合约模块中获取发布请求对应的注册验证参数,显然,若数据提供者已成功注册,则注册智能合约模块会记录用户信息,因此,数据发布子模块可以得到发布请求对应的注册验证参数,且注册验证参数表示数据提供者已成功注册。若数据提供者未成功注册,则注册智能合约模块不会记录用户信息,因此,数据发布子模块可以得到发布请求对应的注册验证参数,且注册验证参数表示数据提供者未成功注册。

若注册验证参数用于表示数据提供者已成功注册,则数据发布子模块确定该注册验证参数满足验证通过条件。若注册验证参数用于表示数据提供者未成功注册,则数据发布子模块确定该注册验证参数不满足验证通过条件。

比如说,若发布请求对应资源验证参数,如该发布请求可以包括资源验证参数,则数据发布子模块可以从该发布请求中解析出资源验证参数,该资源验证参数可以包括结算资源(为了区分方便,将该结算资源记为第三结算资源),且第三结算资源作为数据提供者的保证金。比如说,在数据提供者需要在智能合约中发布目标数据集时,需要向智能合约提供第三结算资源作为保证金。

若第三结算资源不小于数据提供者的第二保证价格,则数据发布子模块确定该资源验证参数满足验证通过条件。若第三结算资源小于数据提供者的第二保证价格,则数据发布子模块确定该资源验证参数不满足验证通过条件。

示例性的,第二保证价格是数据提供者对应的保证价格,可以是根据经验配置的保证价格,也可以是基于数据提供者的信誉度(信誉值)和目标数据集的数据价格(目标数据集的数据价格可以由数据提供者配置)确定。

示例性的,可以基于数据提供者的信誉度确定数据提供者的第二比例,并基于第二比例和目标数据集的数据价格确定第二保证价格。其中,第二比例与数据提供者的信誉度成正比,即数据提供者的信誉度越大,第二比例越大,数据提供者的信誉度越小,第二比例越小。第二保证价格与第二比例成反比,即第二比例越大,第二保证价格越小,第二比例越小,第二保证价格越大。综上所述,第二保证价格与数据提供者的信誉度成反比,即数据提供者的信誉度越大,第二保证价格越小,数据提供者的信誉度越小,第二保证价格越大。

比如说,在基于数据提供者的信誉度确定数据提供者的第二比例时,可以基于数据提供者的信誉度和数据提供者的活跃度确定数据提供者的第二比例。

例如,可以基于如下公式(1)确定数据提供者的第二比例,当然,公式(1)只是一个示例,对此确定方式不做限制,只要数据提供者的第二比例与数据提供者的信誉度成正比,且第二比例与数据提供者的活跃度成正比即可。

公式(1)

在公式(1)中,

表示数据提供者的信誉度,该信誉度表示访问过第二数据集的用户对第二数据集的评价平均值,且第二数据集为数据提供者在智能合约中发布的数据集。比如说,假设数据提供者在智能合约中发布过数据集D(可以为多个数据集),即数据集D作为第二数据集,则每个数据请求者访问数据集D时,均可以对数据集D进行评价(即给出信誉分数),这样,可以得到所有用户对数据集D的评价平均值(即所有信誉分数的平均值),而该评价平均值作为数据提供者的信誉度。需要注意的是,每次有数据请求者访问数据集D,若该数据请求者对数据集D进行评价,则需要更新数据集D的评价平均值,即更新数据提供者的信誉度,也就是说,数据提供者的信誉度是当前时刻的信誉度。

s表示区块链中的任意一个节点,

表示数据提供者的活跃度,该活跃度用于表示数据提供者的成功交易次数,即数据提供者访问数据集的次数与第二数据集被访问的次数之和,第二数据集为数据提供者在智能合约中发布的数据集。比如说,假设数据提供者在智能合约中发布过数据集D(可以为多个数据集),即数据集D作为第二数据集,那么,可以统计数据集D被访问的次数x1,并统计数据提供者访问数据集(其它数据提供者在智能合约中发布的数据集)的次数x2,而次数x1与次数x2之和可以为数据提供者的活跃度。需要注意的是,每次有数据请求者访问数据集D,或者,数据提供者每次访问智能合约中的数据集时,均可以更新数据提供者的活跃度,也就是说,数据提供者的活跃度是当前时刻的活跃度。

s表示区块链中的任意一个节点,

从公式(1)可以看出,可以基于数据提供者的信誉度、数据提供者的活跃度、区块链中所有节点的信誉度、区块链中所有节点的活跃度,确定第二比例,且第二比例与数据提供者的信誉度成正比,即信誉度越大第二比例越大,且第二比例与数据提供者的活跃度成正比,即活跃度越大第二比例越大。

示例性的,还可以基于如下公式(2)确定数据提供者的第二比例:

公式(2)

在公式(2)中,

示例性的,在得到数据提供者的第二比例之后,可以基于第二比例和目标数据集的数据价格确定第二保证价格,且第二保证价格与第二比例成反比,即第二比例越大,则第二保证价格越小,第二比例越小,则第二保证价格越大。

比如说,假设目标数据集的数据价格(可以由数据提供者配置)为

综上可以看出,可以基于数据提供者的信誉度确定数据提供者对应的第二比例,并基于第二比例和目标数据集的数据价格确定第二保证价格。

基于数据提供者对应的第二保证价格,数据发布子模块在从发布请求中解析出第三结算资源(第三结算资源作为数据提供者的保证金)之后,若第三结算资源不小于数据提供者对应的第二保证价格,则数据发布子模块确定该资源验证参数满足验证通过条件。若第三结算资源小于数据提供者对应的第二保证价格,则数据发布子模块确定该资源验证参数不满足验证通过条件。

步骤303、在对数据提供者进行验证之后,若数据提供者的验证成功,则可以在智能合约中发布目标数据集。比如说,若数据提供者的验证成功,则数据发布子模块可以在智能合约(如数据集智能合约)中发布目标数据集。

综上所述,数据集智能合约模块中的数据发布子模块,可以从数据提供者获得目标数据集,并在智能合约(如数据集智能合约)中发布目标数据集。

访问智能合约模块,用于处理数据请求者的访问请求,在数据请求者验证成功之后,可以将令牌发送给数据请求者,以使数据请求者基于该令牌访问智能合约中的目标数据集,并用于处理数据请求者的访问更新请求。

在一种可能的实施方式中,参见图4所示,数据集访问过程可以包括:

步骤401、获取数据请求者发送的针对智能合约(如数据集智能合约)中的目标数据集的访问请求,目标数据集是数据提供者在智能合约中发布的。

比如说,数据请求者在需要访问目标数据集时,可以发出访问请求,访问智能合约模块可以得到数据请求者发送的针对目标数据集的访问请求。

步骤402、基于该访问请求对应的验证参数对数据请求者进行验证。

示例性的,访问请求对应至少一个验证参数,若访问请求对应的每个验证参数均满足验证通过条件,则访问智能合约模块确定数据请求者验证成功,若访问请求对应的任一验证参数不满足验证通过条件,则访问智能合约模块确定数据请求者验证失败。若数据请求者验证成功,则执行步骤403,若数据请求者验证失败,则访问智能合约模块禁止数据请求者访问智能合约中的目标数据集。

示例性的,访问请求对应的验证参数可以包括但不限于以下至少一种:注册验证参数、发布验证参数、令牌验证参数、资源验证参数。比如说,可以只对应注册验证参数,或者,可以只对应资源验证参数,或者,可以同时对应注册验证参数和资源验证参数,或者,可以同时对应注册验证参数、发布验证参数、令牌验证参数和资源验证参数,当然,上述只是几个示例,对此不作限制。

比如说,若访问请求对应注册验证参数,则访问智能合约模块获取访问请求对应的注册验证参数,注册验证参数用于表示数据请求者已成功注册或数据请求者未成功注册。例如,从注册智能合约模块中获取访问请求对应的注册验证参数,若数据请求者已成功注册,则注册智能合约模块会记录用户信息,从而得到访问请求对应的注册验证参数,注册验证参数表示数据请求者已成功注册。若数据请求者未成功注册,则注册智能合约模块不会记录用户信息,从而得到访问请求对应的注册验证参数,注册验证参数表示数据请求者未成功注册。

若注册验证参数用于表示数据请求者已成功注册,则访问智能合约模块确定该注册验证参数满足验证通过条件。若注册验证参数用于表示数据请求者未成功注册,则访问智能合约模块确定该注册验证参数不满足验证通过条件。

综上所述,在数据请求者已成功注册,且数据请求者拥有访问目标数据的所需的相同许可证时,可以确定该注册验证参数满足验证通过条件。

比如说,若访问请求对应发布验证参数,则访问智能合约模块获取访问请求对应的发布验证参数,发布验证参数用于表示数据请求者在智能合约中已发布数据集,或者,在智能合约中未发布数据集。例如,访问智能合约模块可以从数据集智能合约模块中获取访问请求对应的发布验证参数,若数据集智能合约模块已存在数据请求者的数据集,则可以确定发布验证参数为数据请求者在智能合约中已发布数据集,若数据集智能合约模块不存在数据请求者的数据集,则可以确定发布验证参数为数据请求者在智能合约中未发布数据集。

若发布验证参数用于表示数据请求者在智能合约中已发布数据集,则确定发布验证参数满足验证通过条件。若发布验证参数用于表示数据请求者在智能合约中未发布数据集,则确定发布验证参数不满足验证通过条件。

综上所述,在数据请求者发布过数据集时,才确定发布验证参数满足验证通过条件,也就是说,只有发布过数据集的用户才可以访问智能合约中的目标数据集,从而使得大量用户均在智能合约中发布数据集。

比如说,若访问请求对应令牌验证参数,则访问智能合约模块获取访问请求对应的令牌验证参数,令牌验证参数用于表示数据请求者不存在访问目标数据集的令牌,或者,数据请求者已存在访问目标数据集的令牌。例如,若访问请求携带目标数据集的令牌信息,则确定令牌验证参数用于表示数据请求者已存在访问目标数据集的令牌,若访问请求未携带目标数据集的令牌信息,则确定令牌验证参数用于表示数据请求者不存在访问目标数据集的令牌。

若令牌验证参数用于表示数据请求者不存在访问目标数据集的令牌,则确定令牌验证参数满足验证通过条件。若令牌验证参数用于表示数据请求者已存在访问目标数据集的令牌,则确定令牌验证参数不满足验证通过条件。

综上所述,在数据请求者不具有针对目标数据集的访问令牌时,才会为数据请求者分配令牌,即令牌验证参数满足验证通过条件,若数据请求者具有针对目标数据集的访问令牌,则不需要为数据请求者分配令牌。

比如说,若访问请求对应资源验证参数,如该访问请求可以包括资源验证参数,则访问智能合约模块可以从该访问请求中解析出资源验证参数,该资源验证参数可以包括第一结算资源和第二结算资源,且第一结算资源作为目标数据集的支付资源,第二结算资源作为数据请求者的保证金。比如说,在数据请求者需要访问智能合约中的目标数据集时,需要向智能合约提供第一结算资源作为目标数据集的支付资源,并向智能合约提供第二结算资源作为保证金。

若第一结算资源不小于目标数据集的数据价格(目标数据集的数据价格可以由数据提供者配置),且第二结算资源不小于数据请求者的第一保证价格,则访问智能合约模块确定资源验证参数满足验证通过条件。若第一结算资源小于目标数据集的数据价格,和/或,第二结算资源小于数据请求者的第一保证价格,则访问智能合约模块确定资源验证参数不满足验证通过条件。

示例性的,第一保证价格是数据请求者对应的保证价格,可以是根据经验配置的保证价格,也可以是基于数据请求者的信誉度(信誉值)和目标数据集的数据价格确定。例如,可以基于数据请求者的信誉度确定数据请求者的第一比例,基于第一比例和目标数据集的数据价格确定第一保证价格。其中,第一比例与数据请求者的信誉度成正比,即数据请求者的信誉度越大,第一比例越大,数据请求者的信誉度越小,第一比例越小。第一保证价格与第一比例成反比,即第一比例越大,第一保证价格越小,第一比例越小,第一保证价格越大。综上所述,第一保证价格与数据请求者的信誉度成反比,即数据请求者的信誉度越大,第一保证价格越小,数据请求者的信誉度越小,第一保证价格越大。

比如说,在基于数据请求者的信誉度确定数据请求者的第一比例时,可以基于数据请求者的信誉度和数据请求者的活跃度确定数据请求者的第一比例。

例如,可以采用上述公式(1)确定数据请求者的第一比例,只是公式(1)中的参数定义发生变化,对此确定方式不做限制,只要数据请求者的第一比例与数据请求者的信誉度成正比,且第一比例与数据请求者的活跃度成正比即可。

在公式(1)中,

s表示区块链中的任意一个节点,

表示数据请求者的活跃度,该活跃度用于表示数据请求者的成功交易次数,即数据请求者访问数据集的次数与第一数据集被访问的次数之和,第一数据集为数据请求者在智能合约中发布的数据集。假设数据请求者在智能合约中发布过数据集E(可以为多个数据集),数据集E作为第一数据集,那么,统计数据集E被访问的次数x3,统计数据请求者访问数据集(数据提供者在智能合约中发布的数据集)的次数x4,次数x3与次数x4之和为数据请求者的活跃度。需要注意的是,每次有用户访问数据集E,或,数据请求者每次访问智能合约中的数据集时,可以更新数据请求者的活跃度,活跃度是当前时刻的活跃度。

s表示区块链中的任意一个节点,

示例性的,可以基于公式(2)确定数据请求者的第一比例,在此不再赘述。

从公式(1)和公式(2)可以看出,基于数据请求者的信誉度、数据请求者的活跃度、区块链中所有节点的信誉度、区块链中所有节点的活跃度,确定第一比例,且第一比例与数据请求者的信誉度成正比,即信誉度越大第一比例越大,且第一比例与数据请求者的活跃度成正比,即活跃度越大第一比例越大。

示例性的,在得到数据请求者的第一比例之后,可以基于第一比例和目标数据集的数据价格确定第一保证价格,且第一保证价格与第一比例成反比,即第一比例越大,则第一保证价格越小,第一比例越小,则第一保证价格越大。

比如说,假设目标数据集的数据价格(可以由数据请求者配置)为

综上可以看出,可以基于数据请求者的信誉度确定数据请求者对应的第一比例,并基于第一比例和目标数据集的数据价格确定第一保证价格。

基于数据请求者对应的第一保证价格,访问智能合约模块在从访问请求中解析出第一结算资源(作为目标数据集的支付资源)和第二结算资源(作为数据请求者的保证金)之后,若第一结算资源不小于目标数据集的数据价格,且第二结算资源不小于数据请求者的第一保证价格,则确定资源验证参数满足验证通过条件。若第一结算资源小于目标数据集的数据价格,和/或,第二结算资源小于数据请求者的第一保证价格,则确定资源验证参数不满足验证通过条件。

步骤403、在对数据请求者进行验证之后,若数据请求者的验证成功,则为数据请求者生成目标令牌(即用于访问目标数据集的令牌),并将目标令牌发送给数据请求者,以使数据请求者基于该目标令牌访问目标数据集。

比如说,在数据请求者的验证成功之后,访问智能合约模块连接到令牌管理智能合约模块,从令牌管理智能合约模块得到针对目标数据集的目标令牌,并将目标令牌发送给数据请求者,数据请求者基于目标令牌访问目标数据集。

在一种可能的实施方式中,在数据请求者基于目标令牌访问目标数据集之后,若获取到数据请求者发送的针对目标数据集的数据有效信息(用于表示目标数据集中的数据有效),即数据请求者确认目标数据集有效,则将第三结算资源返回给数据提供者(即将数据提供者的保证金返回给数据提供者),将第一结算资源结算给数据提供者(即将数据请求者针对目标数据集的支付资源结算给数据提供者),并将第二结算资源返回给数据请求者(即将数据请求者的保证金返回给数据请求者),至此,完成资源结算过程。

在另一种可能的实施方式中,在数据请求者对应的目标令牌的访问时间到期之后,即数据请求者已经结束目标数据集的访问过程,可以进行资源结算过程,那么,可以将第三结算资源返回给数据提供者,将第一结算资源结算给数据提供者,并将第二结算资源返回给数据请求者,以完成资源结算过程。

在一种可能的实施方式中,访问智能合约模块可以实现数据访问、访问更新和放弃访问等过程,比如说,数据请求者发出访问请求。访问智能合约模块与注册智能合约模块建立连接,以确认数据请求者的许可。如果数据请求者满足所有访问要求(即数据请求者的验证成功),则访问智能合约模块将通过令牌管理智能合约模块生成一个唯一令牌(即目标令牌),目标令牌作为数据请求者对目标数据集的访问密令。数据请求者被授予有限的访问时间。在访问时间到期之后,数据请求者可以更新访问时间;或者,在访问时间到期之后,数据请求者可以放弃访问,主动删除数据请求者的数据副本和对数据的访问。

数据集智能合约模块中的数据更新子模块,用于与数据提供者交互,从数据提供者获得更新后的数据集,并在智能合约(如数据集智能合约)中更新数据集。比如说,在数据集每次更新时,会导致该数据集的元数据发生变化,需要由数据请求者确认数据集的更新是否合规,若数据集的更新合规,则数据更新子模块允许数据集更新,否则,数据更新子模块不允许数据集更新。

示例性的,在数据集每次更新时,数据提供者还可以更改访问该数据集所需的许可证,数据更新子模块可以删除所有许可证类型错误的令牌,并通知数据请求者。所有受影响的数据请求者可以确认其遵守此更改,并删除其数据集副本,重新访问更新后的数据集,数据提供者可以确定数据价格。

数据集智能合约模块中的用户激励子模块,用于与数据提供者和数据请求者交互,能够从数据请求者获取结算资源,并将数据请求者的结算资源提供给数据提供者,比如说,由用户激励子模块完成如下结算功能:用户激励子模块将第三结算资源返回给数据提供者,用户激励子模块将第一结算资源结算给数据提供者,用户激励子模块将第二结算资源返回给数据请求者。

综上所述,用户激励子模块提出一种数据提供者从共享数据中获得结算资源的方法,例如,用户激励子模块可以采用如下步骤实现该功能:

步骤S11、只授予在区块链系统中注册过的数据提供者和数据请求者权限。

步骤S12、将目标数据集的智能合约状态修改为创建状态。

步骤S13、数据提供者确定目标数据集的数据价格

步骤S14、数据提供者的保证金至少为

步骤S15、目标数据集的智能合约余额为

步骤S16、数据请求者为目标数据集至少支付

步骤S17、目标数据集的智能合约余额为

步骤S18、将目标数据集的智能合约状态修改为锁定状态。

步骤S19、数据请求者访问智能合约中的目标数据集。

步骤S20、数据请求者确认目标数据集中的数据有效。

步骤S21、将目标数据集的智能合约状态修改为关闭状态。

步骤S22、将数据请求者的保证金

步骤S23、目标数据集的智能合约余额为

步骤S24、将目标数据集的智能合约余额

由以上技术方案可见,本申请实施例中,数据提供者将目标数据集(即共享数据)发布到区块链的智能合约,以使数据请求者访问区块链的智能合约中的目标数据集,得到目标数据集中的数据,上述方式不是在数据提供者与数据请求者之间传输数据,而是从区块链下载数据,从而保护用户的数字资产,保证数据安全。通过将区块链引入到数据共享,将数据添加至区块链,由于区块链具有不可否认性和抗篡改性,因此,减少数据被篡改的可能性,保证数据准确性。通过智能合约建立每个用户访问条件的自动验证,支持通过奖励建立用户共享数据的激励机制,智能合约实行双重保证价格,保证价格与信誉度成反比,以确保所有用户诚实行事,激励用户共享数据。

基于与上述方法同样的申请构思,本申请实施例中提出一种基于区块链的多重智能合约的共享激励装置,参见图5所示,为所述装置的结构示意图,所述装置包括:

获取模块51,用于获取数据请求者发送的针对目标数据集的访问请求;

验证模块52,用于基于所述访问请求对应的验证参数对所述数据请求者进行验证;若所述访问请求对应的每个验证参数均满足验证通过条件,则所述数据请求者验证成功,若任一验证参数不满足验证通过条件,则所述数据请求者验证失败;所述访问请求包括资源验证参数,资源验证参数包括第一结算资源和第二结算资源,若第一结算资源不小于所述目标数据集的数据价格,第二结算资源不小于所述数据请求者的第一保证价格,则资源验证参数满足验证通过条件,第一保证价格是基于所述数据请求者的信誉度和所述数据价格确定;

处理模块53,用于若所述数据请求者验证成功,则为所述数据请求者生成目标令牌,将所述目标令牌发送给所述数据请求者,以使所述数据请求者基于所述目标令牌访问智能合约中的所述目标数据集。

示例性的,所述获取模块51,还用于获取数据提供者发送的针对目标数据集的发布请求;所述验证模块52,还用于基于所述发布请求对应的验证参数对所述数据提供者进行验证;其中,若所述发布请求对应的每个验证参数均满足验证通过条件,则所述数据提供者验证成功,若任一验证参数不满足验证通过条件,则所述数据提供者验证失败;其中,所述发布请求包括资源验证参数,所述资源验证参数包括第三结算资源,若所述第三结算资源不小于所述数据提供者的第二保证价格,则所述资源验证参数满足验证通过条件,所述第二保证价格是基于所述数据提供者的信誉度和所述数据价格确定;所述处理模块53,还用于若所述数据提供者验证成功,则在智能合约中发布所述目标数据集。

示例性的,所述验证模块52基于所述数据请求者的信誉度和所述数据价格确定第一保证价格时具体用于:基于所述数据请求者的信誉度确定所述数据请求者的第一比例,基于所述第一比例和所述目标数据集的数据价格确定第一保证价格;其中,所述第一比例与所述数据请求者的信誉度成正比,所述第一保证价格与所述第一比例成反比;所述验证模块52基于所述数据提供者的信誉度和所述数据价格确定第二保证价格时具体用于:基于所述数据提供者的信誉度确定所述数据提供者的第二比例,并基于所述第二比例和所述目标数据集的数据价格确定第二保证价格;其中,所述第二比例与所述数据提供者的信誉度成正比,所述第二保证价格与所述第二比例成反比。

示例性的,所述验证模块52基于所述数据请求者的信誉度确定所述数据请求者的第一比例时具体用于:基于所述数据请求者的信誉度和所述数据请求者的活跃度确定所述数据请求者的第一比例;所述信誉度表示访问过第一数据集的用户对所述第一数据集的评价平均值,所述第一数据集为所述数据请求者在所述智能合约中发布的数据集,所述活跃度表示所述数据请求者的成功交易次数;所述验证模块52基于所述数据提供者的信誉度确定所述数据提供者的第二比例时具体用于:基于所述数据提供者的信誉度和所述数据提供者的活跃度确定所述数据提供者的第二比例;所述信誉度表示访问过第二数据集的用户对所述第二数据集的评价平均值,且所述第二数据集为所述数据提供者在所述智能合约中发布的数据集,所述活跃度表示所述数据提供者的成功交易次数。

示例性的,所述验证模块52基于所述数据请求者的信誉度和所述数据请求者的活跃度确定所述数据请求者的第一比例时具体用于:基于如下公式确定所述数据请求者的第一比例:

示例性的,所述访问请求对应如下验证参数的至少一种:注册验证参数、发布验证参数、令牌验证参数;若所述访问请求对应注册验证参数,且所述注册验证参数表示所述数据请求者已成功注册,则所述注册验证参数满足验证通过条件;若所述访问请求对应发布验证参数,且所述发布验证参数表示所述数据请求者在智能合约中已发布数据集,则所述发布验证参数满足验证通过条件;若所述访问请求对应令牌验证参数,且所述令牌验证参数表示所述数据请求者不存在访问目标数据集的令牌,则所述令牌验证参数满足验证通过条件。

示例性的,所述处理模块53,还用于若获取到所述数据请求者发送的针对所述目标数据集的数据有效信息,则将所述第三结算资源返回给所述数据提供者,将所述第一结算资源结算给所述数据提供者,并将所述第二结算资源返回给所述数据请求者;或者,在所述数据请求者对应的所述目标令牌的访问时间到期之后,将所述第三结算资源返回给所述数据提供者,将所述第一结算资源结算给所述数据提供者,并将所述第二结算资源返回给所述数据请求者。

基于与上述方法同样的申请构思,本申请实施例中提出一种电子设备,参见图6所示,包括处理器61和机器可读存储介质62,机器可读存储介质62存储有能够被处理器61执行的机器可执行指令;处理器61用于执行机器可执行指令,以实现本申请上述的基于区块链的多重智能合约的共享激励方法。

基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,机器可读存储介质上存储有若干计算机指令,计算机指令被处理器执行时,能够实现上述示例公开的基于区块链的多重智能合约的共享激励方法。

其中,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

技术分类

06120115936532