一种基于区块链结构化数据的交易方法与流程

文档序号:15463231发布日期:2018-09-18 18:40阅读:967来源:国知局

本发明属于区块链技术领域,具体是一种基于区块链结构化数据的交易方法。



背景技术:

区块链是用分布式数据库识别、传播和记载信息的智能化对等网络,也称为价值互联网,是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的综合应用模式。

中本聪在2008年于《比特币白皮书》中提出“区块链”概念,并在2009年创立了比特币社会网络,区块链共享价值体系首先被众多的加密货币效仿。随后,区块链生态系统在全球不断进化,出现了以智能合约为代表的以太坊。智能合约可以在区块链网络中按照预先编写好的逻辑自动执行,无需中心化节点控制。

近年来,由于大数据广泛应用,数据的交易越来越频繁。依托数据交易平台的数据交易对于数据沉淀、数据无法查验等问题无法有效解决。因此,设计一种去中心化、可对交易数据查验的数据交易方法,具有重要的意义。



技术实现要素:

本发明的目的在于克服以上存在的技术问题,提供一种基于区块链结构化数据的交易方法,在区块链网络中不设中心节点保存交易数据,由智能合约控制买卖双方自行成交,查验数据不是由卖方自行挑选样本数据,而是每次都随机抽取一定比例的样本以保证查验数据能反应真实的数据情况。

为实现上述目的,本发明的技术方案是以下述方式实现的:

一种基于区块链结构化数据的交易方法,包括步骤如下:

(1)卖方节点S将全量数据放置于本地的数据保存区,并将全量数据的哈希值H写入区块链中;

(2)所述卖方节点S通过区块链网络广播所述数据的售价P;

(3)买方节点B通过智能合约随机抽样检测所述数据质量;

(4)通过所述智能合约,所述买方节点B支付电子货币并取得所述数据,所述卖方节点S获得所述买方节点B支付的费用。

进一步地,所述步骤(1)中的数据保存区,只能通过区块链网络中的智能合约访问。

进一步地,所述步骤(1)中的哈希值H是通过安全的单向哈希函数生成的。

进一步地,所述步骤(3)是通过区块链的智能合约来执行的,包括步骤如下:

(31)资格检查:智能合约首先检查买方节点B以前是否对所述数据进行过数据质量检测,若所述买方节点B以前对所述数据进行过数据质量检测,则所述买方节点B则没有资格对所述数据的质量进行再次检测;

(32)统计数据条目:智能合约统计所述卖方节点S的本地数据保存区,统计数据总条数n;

(33)确定抽样条数:抽样条数nc=n*抽样比例,当nc不等于整数时,向上取整;

(34)随机抽样:智能合约随机抽取nc条数据,形成样例文件;

(35)检测数据质量:智能合约将样例文件发送给买方节点B,所述买方节点B检测数据质量,决定是否购买;

(36)智能合约将所述买方节点B检测数据质量的事件写入区块链中。

进一步地,所述步骤(4)是通过区块链的智能合约来执行的,包括步骤如下:

(41)支付费用:所述买方节点B支付费用P;

(42)发送数据:智能合约将所述卖方节点S的本地数据保存区中的全量数据发送至所述买方节点B;

(43)验证数据:在所述买方节点B中计算全量数据的哈希值H1,并与所述哈希值H比较,验证数据是否有变更;

(44)交易结束:若哈希值H1=哈希值H,则交易成功,所述卖方节点S收到所述买方节点B支付的费用P;若哈希值H1≠哈希值H,则交易关闭,所述买方节点B收到步骤(41)中已支付的费用P。

本发明解决了数据交易平台对交易数据的沉淀和数据交易双方无法对数据查验的信息不对称的问题,数据交易通过由智能合约控制,保证整个交易可靠、无中心、数据检测方法合理。

附图说明

图1:本发明的区块链节点的结构示意图。

图2:本发明的交易方法流程图。

具体实施方式

下面结合附图及实施例对本发明进行详细说明。

实施例一:

如图1所示,本实施例中的每一个节点分为区块链区和数据保存区两个区域。所有节点通过区块链区中的区块链共通维护一份分布式账本,节点中的数据保存区存放该节点要出售的数据,数据保存区只能通过智能合约进行相关操作。

如图2所示,一种基于区块链结构化数据的交易方法,包括如下步骤:

(1)卖方节点S打算以100元的价格出售数据集D,数据集D的总条数为10000条。卖方节点S在智能合约的控制下,将数据集D存放在节点内的数据保存区,同时智能合约计算出数据集D的哈希值H,将哈希值H写入区块链中并提交该区块链,以备所有节点可查询。

(2)卖方节点S在区块链网络中广播待出售的数据集D的信息及售价100元。

(3)区块链网络中的买方节点B打算购买该数据集D,请求检测数据质量,执行智能合约。

(4)智能合约首先检查买方节点B以前是否检测过数据集D的质量,以防买方节点B通过重复检测数据质量逐步获取数据。本例中,买方节点B以前没有检测过数据集D的质量。

(5)智能合约从卖方节点S的数据保存区中按照抽样比例随机抽取样本数据,本例中设定抽样比例为1%,则样本数据共10000*1%=100条。智能合约将此100条样本数据发送买方节点B,同时在区块链中记录买方节点B已经检测过数据集D的质量,提交区块。

(6)买方节点B收到样本数据后决定是否购买数据集D,本例中买方节点B决定购买数据集D。

(7)买方节点B发起交易请求,执行智能合约。在智能合约的控制下,买方节点B支付数据集D的售价100元,同时智能合约将卖方节点S的数据保存区中数据集D发送给买方节点B。

(8)继续执行智能合约,计算买方节点B获取的数据集D的哈希值H1,与步骤(1)在区块链中保存的数据集D的哈希值H比较。

(9)智能合约检测哈希值H与哈希值H1是否相同,本例中哈希值H=哈希值H1,说明数据没有被篡改过。

(10)智能合约继续执行,卖方节点S获得数据集D的售价100元,并将本次交易信息写入区块中,提交区块。本次交易完成。

实施例二:

实施例二与实施例一的步骤(1)~步骤(3)都相同,在步骤(4)中,智能合约检查到买方节点B以前已经检测过数据集D的质量,具体步骤如下:

(1)卖方节点S打算以100元的价格出售数据集D,数据集D的总条数为10000条。卖方节点S在智能合约的控制下,将数据集D存放在节点内的数据保存区,同时智能合约计算出数据集D的哈希值H,将哈希值H写入区块中并提交该区块,以备所有节点可查询。

(2)卖方节点S在区块链网络中广播待出售的数据集D的信息及售价100元。

(3)区块链网络中的买方节点B打算购买该数据,请求检测数据质量,执行智能合约。

(4)智能合约首先检查买方节点B以前是否检测过数据集D的质量,以防买方节点B通过重复检测数据质量逐步获取数据。本例中,买方节点B以前检测过数据集D的质量。智能合约不再对数据集随机抽样,交易结束。

实施例三:

实施例三与实施例一的步骤(1)~步骤(5)都相同,在步骤(6)中,买方节点B在查看样本数据后决定不购买数据集D,具体步骤如下:

(1)卖方节点S打算以100元的价格出售数据集D,数据集D的总条数为10000条。卖方节点S在智能合约的控制下,将数据集D存放在节点内的数据保存区,同时智能合约计算出数据集D的哈希值H,将哈希值H写入区块中并提交该区块,以备所有节点可查询。

(2)卖方节点S在区块链网络中广播待出售的数据集D的信息及售价100元。

(3)区块链网络中的买方节点B打算购买该数据,请求检测数据质量,执行智能合约。

(4)智能合约首先检查买方节点B以前是否检测过数据集D的质量,以防买方节点B通过重复检测数据质量逐步获取数据。本例中,买方节点B以前没有检测过数据集D的质量。

(5)智能合约从卖方节点S的数据保存区中按照抽样比例随机抽取样本数据,本例中设定抽样比例为1%,则样本数据共10000*1%=100条。智能合约将此100条样本数据发送买方节点B,同时在区块中记录买方节点B已经检测过数据集D的质量,提交区块。

(6)买方节点B收到样本数据后决定是否购买数据集D,本例中买方节点B决定不购买数据集D。交易结束。

实施例四:

(1)卖方节点S打算以100元的价格出售数据集D,数据集D的总条数为10000条。卖方节点S在智能合约的控制下,将数据集D存放在节点内的数据保存区,同时智能合约计算出数据集D的哈希值H,将哈希值H写入区块链中并提交该区块链,以备所有节点可查询。

(2)卖方节点S在区块链网络中广播待出售的数据集D的信息及售价100元。

(3)区块链网络中的买方节点B打算购买该数据集D,请求检测数据质量,执行智能合约。

(4)智能合约首先检查买方节点B以前是否检测过数据集D的质量,以防买方节点B通过重复检测数据质量逐步获取数据。本例中,买方节点B以前没有检测过数据集D的质量。

(5)智能合约从卖方节点S的数据保存区中按照抽样比例随机抽取样本数据,本例中设定抽样比例为1%,则样本数据共10000*1%=100条。智能合约将此100条样本数据发送买方节点B,同时在区块链中记录买方节点B已经检测过数据集D的质量,提交区块。

(6)买方节点B收到样本数据后决定是否购买数据集D,本例中买方节点B决定购买数据集D。

(7)买方节点B发起交易请求,执行智能合约。在智能合约的控制下,买方节点B支付数据集D的售价100元,同时智能合约将卖方节点S的数据保存区中数据集D发送给买方节点B。

(8)继续执行智能合约,计算买方节点B获取的数据集D的哈希值H1,与步骤(1)在区块链中保存的数据集D的哈希值H比较。

(9)智能合约检测哈希值H与哈希值H1是否相同,本例中哈希值H≠哈希值H1,说明数据被篡改过。

(10)智能合约继续执行,退还买方节点B在步骤(7)中支付的100元,并将本次交易信息写入区块中,提交区块。本次交易结束。

最后应说明的是:以上实施例仅用以说明本发明而并非限制本发明所描述的技术方案;因此,尽管本说明书参照上述的各个实施例对本发明已进行了详细的说明,但是,本领域的普通技术人员应当理解,仍然可以对本发明进行修改或等同替换;而一切不脱离本发明的精神和范围的技术方案及其改进,其均应涵盖在本发明的权利要求范围中。

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