一种基于区块链技术的数据订单交易系统及其方法与流程

文档序号:15400514发布日期:2018-09-11 17:23阅读:355来源:国知局

本发明涉及信息安全领域,具体涉及一种基于区块链技术的数据订单交易系统及其方法。



背景技术:

目前市面上的数据交易并不普遍,主要为大型数据交易,数据交易双方要求规模足够且透明可见,数据交易本身要求第三方或中心化权威机构参与存证。故存在以下问题:

1.现有交易手段对零散数据持有者支持性差:个人用户数据和小微企业因数据规模较小,难以与数据需求方达成交易,即使数据真实可靠,也不具备变现性。

2.现有交易手段手续繁杂,费用较高:数据交易时,交易双方需要为第三方机构提供足够多的证明材料,手续繁杂,增加了数据交易的成本。

3.大量数据所拥有的数据价值难以体现:大量个人用户手中存储的数据如健康数据等具有极大的研究价值,但是因为没有良好的收集和分享手段,其数据价值难以得到体现。

4.数据提供方隐私难以得到保护:数据交易双方要求透明可见,数据提供方存在泄露个人信息风险。广泛存在的隐私泄露风险,严重影响了数据提供方数据共享的积极性,进而破坏了数据的变现能力。



技术实现要素:

本发明是为了解决上述现有技术存在的不足之处,提供一种基于区块链技术的数据订单交易系统及其方法,以期能利用区块链智能合约的自动化及去中心化特点,提供一种新的数据交易手段,扩大现有数据交易的交易范围,从而实现个人及小微企业数据可变现性,提高数据分享率,体现数据本身价值,并保护数据提供方的隐私。

本发明为解决技术问题采用如下技术方案:

本发明一种基于区块链技术的数据订单交易系统的特点是包括:数据购买终端、数据提供方和区块链上的智能合约;

所述数据购买终端包括:数据接收模块、数据验证模块、警示监听模块、回执模块;

所述数据提供方包括:智能合约查看模块、资金提取模块、回执监听模块;

所述区块链上的智能合约包括:智能合约交互模块、数据订单合约;

所述数据订单合约用于发布数据订单,并将数据订单一部分定金保存在所述数据订单合约的地址中,当所述数据购买终端提供交易回执时,所述数据订单合约产生一条回执日志,并将所述一部分定金自动分配到订单内可提取资金中,从而自动完成交易。

所述智能合约查看模块用于查看所述数据订单合约中已有的订单、数据订单详情、订单内定金剩余、订单内可提取资金;

所述数据接收模块用于接收所述数据提供方发送的数据;

所述数据验证模块用于对接收到的数据进行可靠性验证,若可靠性验证通过,则回执模块产生相应的回执发送给所述数据订单合约,由所述数据订单合约生成回执日志,否则,将验证失败反馈给所述数据提供方;

所述可靠性验证包括:验证所述数据是否已经接收,验证所述数据是否为所需数据,验证所述数据是否包含虚假数据;

所述警示监听模块用于监听所述数据订单合约产生的警示日志,当发现所述警示日志,则提示所述数据购买终端进行处理;所述警示日志包括定金不足、数据收集完成、数据收集终止;

所述回执监听模块用于监听所述数据订单合约产生的回执日志,当发现所述回执日志,则提示所述数据提供方交易成功;

所述资金提取模块用于判断所述数据提供方是否能提取所述订单内可提取资金,若能提取,则所述资金提取模块将虚拟币从数据订单合约的地址中转移到所述数据提供方的公钥地址;

本发明一种基于区块链技术的数据订单交易方法的特点也在于应用于由数据购买终端、数据提供方和区块链上的智能合约所构成的系统中,并按照以下步骤进行:

步骤1.所述数据购买终端确定购买数据种类、数据数量、数据单价,通过所述智能合约在数据订单合约中发布数据需求订单,并在所述数据需求订单中存储定量的虚拟币作为定金;

步骤2.所述数据提供方通过智能合约查看包含自身数据种类的需求订单,确认所述自身数据种类的需求订单无误后,将所述需求订单中需求的数据发送给所述数据购买终端;

步骤3.所述数据购买终端对所获取到的需求订单中需求的数据进行可靠性验证,若验证无误,则通过所述智能合约向所述需求订单提交回执;否则,向数据提供方提供验证错误信息;所述可靠性验证包括:验证所述数据是否已经接收,验证所述数据是否为所需数据,验证所述数据是否包含虚假数据;

步骤4.所述智能合约收到回执后,判断数据收集是否完成,或者数据收集是否终止,或者定金是否不足,若是,则产生一条警示日志后执行步骤5;否则,从需求订单的定金中分配出应付额并进行冻结后,产生一条回执日志后进行步骤6;

步骤5.所述数据购买终端监听到所述警示日志后,对不同的警示日志做相应的处理,并在处理完成后重新发送所述回执,再执行步骤4;

步骤6.所述数据提供方监听到回执日志后,则提示所述数据提供方交易成功;并选择继续发送数据或者通过所述智能合约将所述需求订单中的资金提取到个人账户中。

与现有技术相比,本发明的有益效果体现在于:

1、本发明通过使用区块链智能合约,实现了去中心化数据交易,提供了一种低成本高范围的数据收集方法,使数据交易可以更为高效,更为普及化。

2、本发明由数据购买终端通过数据订单合约发布订单,所有用户均可通过查看订单提交数据,可以有效收集零散用户手中的数据,既扩大了数据购买者收集数据的范围,又使个人用户和小微企业数据持有者获得了有效的数据变现方法。

3、本发明使用区块链智能合约做担保,在合约规定的相关规则中进行交易,既保证了交易过程中的安全性,又避免了第三方和中心化权威机构参与,减少了数据收集成本,提高了数据收集效率。

4、本发明通过向数据订单合约预留定金,并通过数据订单合约自动分配交易资金,增强了数据提供方对数据交易的信心,从而促使数据提供方尤其是个人用户分享持有的数据,体现了数据价值。

5、本发明中,数据提供方通过资金提取模块使用区块链钱包公钥获取资金,避免了使用个人信息完成交易,有效保护了数据提供方的隐私,提高了数据提供方数据共享的积极性,提高了数据资产的变现能力。

附图说明

图1为本发明系统结构示意图;

图2为本发明数据交易时序图。

具体实施方式

本实施例中,一种基于区块链技术的数据订单交易系统,其系统架构如图1所示,包括:数据购买终端、数据提供方和区块链上的智能合约;

数据购买终端主要是开放数据上传服务的服务器,数据购买终端包括:数据接收模块、数据验证模块、警示监听模块、回执模块;

数据提供方为持有数据者使用的智能终端应用,智能终端包括:智能手机、平板电脑、台式计算机或笔记本电脑,应用为实现以太坊钱包并针对数据订单合约做相应适配的应用。数据提供方对数据订单合约做适配的部分包括:智能合约查看模块、资金提取模块、回执监听模块;

区块链为以太坊区块链。区块链上的智能合约包括:智能合约交互模块、数据订单合约,其中数据订单合约是使用solidity语言编写,通过以太坊提供的geth客户端发送合约部署交易部署到区块链上。数据购买终端和数据提供方可以发送交易至数据订单合约从而调用数据订单合约内方法;

数据订单合约用于发布数据订单,并将数据订单一部分定金保存在数据订单合约的地址中,订单内容包括:订单地址、订单状态、数据购买终端公钥、数据单价、数据购买总量,订单定金价值相当于数据单价乘以数据购买总量的百分之三十。当数据购买终端提供交易回执时,数据订单合约会进行以下几项判断:若数据收集已经完成,则产生一条数据收集完成警示日志;若数据收集已经终止,则产生一条数据收集终止警示日志;若定金已经消耗完毕,则产生一条定金不足警示日志。若以上判断条件皆不成立,则数据订单合约产生一条回执日志,并将一部分定金自动分配到订单内可提取资金中,可提取资金在数据订单合约中的数据结构为列表结构,列表信息为所有的用户公钥和相应的可提取资金数额,从而自动完成交易。数据购买终端使用数据订单合约发布相关订单信息可以保证订单信息准确可靠,易于获取数据提供方的信任。

智能合约查看模块用于查看数据订单合约中已有的订单、数据订单详情、订单内定金剩余、订单内可提取资金。其中订单详情又包括:订单发布时间、数据单价、数据目标收集数量、数据收集进度、已提交数据的提交数据方总数等。订单详情通过区块链保证可靠性,用户可以信任订单详情数据,并依据订单详情数据分析提交数据的收益和交易成功的可能性。智能合约查看模块访问数据订单合约时不需发送交易,通过本地运行智能合约即可实现查看数据订单合约内已存储的信息;

数据接收模块用于接收数据提供方发送的数据。若数据提供方直接通过智能合约手段发送数据,其实现程序复杂、成本高昂、实现困难,故数据提供方用自身以太坊钱包公钥地址作为唯一标识使,用http服务向数据购买终端传输数据;

数据验证模块用于对接收到的数据进行可靠性验证,若可靠性验证通过,则回执模块产生相应的回执发送给数据订单合约,由数据订单合约生成回执日志,并将验证成功的数据接收标识号发送给用户。否则,将验证失败反馈给数据提供方。数据接收标识号为数据接收编号,为64位数字格式,回执内容包括:数据提供方公钥地址、数据数量、数据接收标识号;

可靠性验证包括:验证数据是否已经接收,验证数据是否为所需数据,验证数据是否包含虚假数据等。以json格式的步数为例,数据是否已经接收主要依靠数据产生时间和数据所属用户;数据是否为所需数据主要依靠数据的格式是否为json格式,json解析后是否为步数数据结构;数据是否包含虚假数据主要依靠数据产生设备所带的相关数据验证信息。针对不同的数据类型,验证内容以及验证方法可能有所不同,主要根据数据产生设备及数据结构来设置相应的可靠性验证;

警示监听模块用于监听数据订单合约产生的警示日志,当发现警示日志,则提示数据购买终端进行处理;警示日志包括定金不足、数据收集完成、数据收集终止等,当收到定金不足警示日志,数据购买者可以发送虚拟币到数据订单合约,追加定金数额;当收到数据收集完成警示日志,数据购买终端可以发送交易到数据订单合约,追加数据收集数量;当收到数据收集终止警示日志,数据购买终端可以发送交易到数据订单合约,将订单状态由终止改为运行中。此外除以上三项数据购买终端必须处理的警示日志外,数据订单和约可以设置只具有提醒效果的警示日志,如数据收集进度达到百分之五十或定金已经消耗百分之五十等警示日志。数据购买者收到具有提醒效果的警示日志后,可以提早处理,避免下次提交回执失败;

回执监听模块用于监听数据订单合约产生的回执日志,当发现回执日志,则提示数据提供方交易成功。通过智能合约产生的回执日志,数据提供方可以明确交易已经成功并且资金已经到账;

资金提取模块用于判断数据提供方是否能提取订单内可提取资金,若能提取,则资金提取模块将虚拟币从数据订单合约的地址中转移到数据提供方的公钥地址,资金提取模块可以将多次交易结果一次取出,节省数据提供方花费的交易费,用户为了追求获取收益最大化,会保持继续进行数据交易;

本实施例中,一种基于区块链技术的数据订单交易方法,应用于由数据购买终端、数据提供方和区块链上的智能合约所构成的系统中,其时序图如图2所示,并按照以下步骤进行:

步骤1.数据购买终端确定购买数据种类、数据数量、数据单价等,通过智能合约在数据订单合约中发布数据需求订单,并在数据需求订单中存储定量的虚拟币作为定金;

步骤2.数据提供方通过智能合约查看包含自身数据种类的需求订单,确认自身数据种类的需求订单无误后,将需求订单中需求的数据发送给数据购买终端。为了帮助数据提供方寻找相关订单,我们将产生数据的设备种类分配了唯一标识:160位以太坊公钥地址,并以该唯一标识作为数据种类查找数据订单;

步骤3.数据购买终端对所获取到的需求订单中需求的数据进行可靠性验证,若验证无误,则通过智能合约向需求订单提交回执;否则,向数据提供方提供验证错误信息;可靠性验证包括:验证数据是否已经接收,验证数据是否为所需数据,验证数据是否包含虚假数据等;

步骤4.智能合约收到回执后,判断数据收集是否完成,或者数据收集是否终止,或者定金是否不足,若是,则产生一条警示日志后执行步骤5;否则,从需求订单的定金中分配出应付额并进行冻结后,产生一条回执日志后进行步骤6;

步骤5.数据购买终端监听到警示日志后,对不同的警示日志做不同的处理,当收到定金不足警示日志,数据购买者可以发送虚拟币到数据订单合约,追加定金数额;当收到数据收集完成警示日志,数据购买终端可以发送交易到数据订单合约,追加数据收集数量;当收到数据收集终止警示日志,数据购买终端可以发送交易到数据订单合约,将订单状态由终止改为运行中,处理完成后,重新发送回执后进行步骤4;

步骤6.数据提供方监听到回执日志后,则提示数据提供方交易成功;并选择继续发送数据或者通过智能合约将需求订单中的资金提取到个人账户中。数据提供方在向数据购买终端提交数据后,会一直监听智能合约是否产生相关回执日志,以尽快获取到交易成功的信息。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1