一种基于区块链的交易方法及其设备与流程

文档序号:18623710发布日期:2019-09-06 22:45阅读:216来源:国知局
一种基于区块链的交易方法及其设备与流程

本申请涉及区块链技术领域,尤其涉及一种基于区块链的交易方法及其设备。



背景技术:

目前,区块链、物联网以及人工智能并列为未来科技的三大技术。区块链技术是基于去中心化的对等网络,用开源软件把密码学原理、时序数据和共识机制相结合,来保障分布式数据库中各节点的连贯和持续,使信息能即时验证、可追溯,但难以篡改和无法屏蔽,从而创造了一套隐私、高效、安全的共享价值体系。

然而,现有的区块链网络只能进行转账交易,不能进行数据的交易。比如:用户对某件商品的评价,该评价数据上链后,不能够进行交易。

因此,如何找到在区块链上进行数据交易,成为亟待解决的问题。

上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

为了解决上述问题,本申请提供一种基于区块链的交易方法及其设备,该方法能够让数据交易上链。

本申请第一方面提供一种基于区块链的交易方法,所述方法包括:

区块链节点接收第一客户端发送的数据上链请求,所述数据上链请求包括第一客户端公钥加密的数据、业务服务器公钥加密的数据以及数据的预设价格;

所述区块链节点接收第二客户端发送的数据购买请求,所述数据购买请求包括数据购买价格,所述数据购买价格包括所述数据的预设价格;

触发校验智能合约,所述校验智能合约对所述第二客户端地址的余额进行校验,校验通过后,冻结所述购买价格;

所述业务服务器接收所述第一客户端发送的交易请求,所述交易请求包括业务服务器公钥加密的数据;以使所述业务服务器私钥对业务服务器公钥加密的数据进行解密,并用所述第二客户端公钥对所述数据进行加密;

所述区块链节点接收所述业务服务器发送的交易请求,所述交易请求包括所述第二客户端公钥加密的数据;

触发交易智能合约,所述交易智能合约执行所述购买价格的转账,并执行所述第二客户端公钥加密的数据上链。

在一种可能的实现方式中,在所述业务服务器接收所述第一客户端发送的交易请求,之前;包括:

所述区块链节点接收所述第一客户端发送的交易查询,所述交易查询包括查询所述数据是否被购买,购买者的余额是否充足;

所述区块链节点发送查询响应给所述第一客户端。

在一种可能的实现方式中,所述数据为业务数据,所述业务数据包括关联属性和非关联属性;其中,所述关联属性的属性值自动叠加。

在一种可能的实现方式中,所述数据购买价格还包括数据在区块链上交易的服务费和业务服务器的服务费。

在一种可能的实现方式中,所述第一客户端用自身公钥对所述数据加密,具体为:所述第一客户端用自身公钥对所述数据进行预设比例的加密;和/或

所述业务服务器用所述第二客户端的公钥对所述数据加密,具体为:所述业务服务器用所述第二客户端的公钥对所述数据进行预设比例的加密。

本申请第二方面提供一种基于区块链的交易设备,所述设备为区块链节点,所述设备包括接收单元以及处理单元;其中,

所述接收单元,接收第一客户端发送的数据上链请求,所述数据上链请求包括第一客户端公钥加密的数据、业务服务器公钥加密的数据以及数据的预设价格;

所述接收单元,接收第二客户端发送的数据购买请求,所述数据购买请求包括数据购买价格,所述数据购买价格包括所述数据的预设价格;

所述处理单元,触发校验智能合约,所述校验智能合约对所述第二客户端地址的余额进行校验,校验通过后,冻结所述购买价格;

所述接收单元,接收所述第一客户端发送的交易请求,所述交易请求包括业务服务器公钥加密的数据;以使所述业务服务器私钥对业务服务器公钥加密的数据进行解密,并用所述第二客户端公钥对所述数据进行加密;

所述接收单元,接收所述业务服务器发送的交易请求,所述交易请求包括所述第二客户端公钥加密的数据;

所述处理单元,触发交易智能合约,所述交易智能合约执行所述购买价格的转账,并执行所述第二客户端公钥加密的数据上链。

在一种可能的实现方式中,所述设备还包括发送单元,

所述接收单元,接收所述第一客户端发送的交易查询,所述交易查询包括查询所述数据是否被购买,购买者的余额是否充足;

所述发送单元,发送查询响应给所述第一客户端。

在一种可能的实现方式中,所述数据为业务数据,所述业务数据包括关联属性和非关联属性;其中,

所述关联属性的属性值自动叠加。

在一种可能的实现方式中,所述数据购买价格还包括区块链节点的服务费和业务服务器的辅助服务费。

在一种可能的实现方式中,所述第一客户端用自身公钥对所述数据加密,具体为:所述第一客户端用自身公钥对所述数据进行预设比例的加密;和/或

所述业务服务器用所述第二客户端的公钥对所述数据加密,具体为:所述业务服务器用所述第二客户端的公钥对所述数据进行预设比例的加密。

该方法能够可以进行数据的交易,交易上链后,数据的购买者和所有者都可以看到数据;并且,整个过程在区块链上可溯源,保证了交易双方的利益。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。

图1为本申请实施例提供的一种基于区块链的交易方法流程示意图;

图2为本申请实施例提供的再一种基于区块链的交易方法流程示意图;

图3为本申请实施例提供的一种基于区块链的交易设备结构示意图。

具体实施方式

为了更清楚的阐释本申请的整体构思,下面结合说明书附图以示例的方式进行详细说明。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的顺序在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。

此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本申请实施例中所称的节点和客户端,可以理解为响应外界特定触发条件,并按一定规则做状态转换的抽象机器,可以是手机、平板电脑、掌上电脑、个人pc电脑等可以按照应用软件且能够联网的设备。

如图1所示,一种基于区块链的交易方法,所述方法包括步骤s101-s106。

s101,区块链节点接收第一客户端发送的数据上链请求,所述数据上链请求包括第一客户端公钥加密的数据、业务服务器公钥加密的数据以及数据的预设价格。

s102,所述区块链节点接收第二客户端发送的数据购买请求,所述数据购买请求包括数据购买价格,所述数据购买价格包括所述数据的预设价格。

s103,触发校验智能合约,所述校验智能合约对所述第二客户端地址的余额进行校验,校验通过后,冻结所述购买价格。

s104,所述业务服务器接收所述第一客户端发送的交易请求,所述交易请求包括业务服务器公钥加密的数据;以使所述业务服务器私钥对业务服务器公钥加密的数据进行解密,并用所述第二客户端公钥对所述数据进行加密。

s105,所述区块链节点接收所述业务服务器发送的交易请求,所述交易请求包括所述第二客户端公钥加密的数据。

s106,触发交易智能合约,所述交易智能合约执行所述购买价格的转账,并执行所述第二客户端公钥加密的数据上链。

在一个示例中,在所述业务服务器接收所述第一客户端发送的交易请求,之前;包括:所述区块链节点接收所述第一客户端发送的交易查询,所述交易查询包括查询所述数据是否被购买,购买者的余额是否充足;所述区块链节点发送查询响应给所述第一客户端。

在一个示例中,所述数据为业务数据,所述业务数据包括关联属性和非关联属性;其中,所述关联属性的属性值自动叠加。

在一个示例中,所述数据购买价格还包括数据在区块链上交易的服务费和业务服务器的服务费。

在一个示例中,所述第一客户端用自身公钥对所述数据加密,具体为:所述第一客户端用自身公钥对所述数据进行预设比例的加密;和/或所述业务服务器用所述第二客户端的公钥对所述数据加密,具体为:所述业务服务器用所述第二客户端的公钥对所述数据进行预设比例的加密。

下面以图2为例,对上述基于区块链节点的数据交易方法,进行详细说明。

如图2所示,该方法包括s201-s217。

s201,第一客户端用自身公钥对数据加密一份、用业务服务器公钥对数据加密一份。

本申请中的数据都是业务数据,业务数据包括关联属性和非关联属性。例如:用户评论内容,属于非关联属性,每位用户的评论内容都可以存储在区块链上;当一个商家需要购买某件商品的评价时,该商家可以向多个用户购买该商品的评价,从区块链上进行操作,公开透明,能够同时保障商家和用户的利益。例如:用户评论内容的数量,就是关联属性,一件商品的业务数据格式中包括评论数量,只要有用户对该商品进行评论,该商品的评论数量会自动叠加;又例如:本申请中业务数据的交易次数,是关联属性,该业务数据每交易一次,该属性值自动增加1。

s202,第一客户端发送数据上链请求给区块链节点,该数据上链请求包括上述两份加密过的数据。

s203,区块链节点对上述两份加密过的数据,执行上链流程。

s204,区块链节点发送数据上链响应给该第一客户端。

s205,第二客户端向区块链节点发送数据购买请求,该数据购买请求包括数据购买价格,该数据购买价格包括数据的预设价格和交易服务费。

第二客户端是数据的购买者,在区块链上发布该业务数据的购买请求;可以是第二客户端对应的用户在查询到该业务数据后,再向区块链节点发送购买请求。此时,购买请求中还包括想要购买的数据,这里指示想要购买的数据的方式,可以是数据标识;也可以是第二客户端对应的用户,用户在第二客户端上查看到想要购买的数据后,直接点击购买。

此时,第一客户端用自身公钥对该业务数据进行加密,可以是进行部分关键字段加密,也可以是按照预设比例进行加密(如:加密该业务数据的三分之二),该业务数据的购买者无法在不购买的情况下,查看该业务数据。

数据购买请求中包括该业务数据的所有者预定的价格,还包括交易服务费,也就是该业务数据上链的费用和业务服务器辅助的费用;该交易服务费有该业务数据的购买者支付。

业务数据的购买者需要拥有数字货币,才能在区块链上进行业务数据的购买;业务数据购买者拥有的数字货币,可以是作为另一类业务数据所有者,出售该另一类业务数据所获得的数字货币;该数字货币能够在该区块链上使用。本申请对此不进行详细说明。

s206,触发校验智能合约,该校验智能合约对第二客户端地址对应的余额进行校验,校验通过后,冻结所述数据购买价格。

此时,校验通过后,才需要冻结该数据的购买价格;若校验不通过,则不需要冻结第二客户端地址的余额,不会执行后续步骤。

s207,区块链节点发送校验响应给第二客户端。

此时,校验响应通知第二客户端,校验成功。

s208,第一客户端发送交易查询给区块链节点,该交易查询用于查询该数据是否有购买者购买,购买者的余额是否充足。

s209,区块链节点发送查询响应给该第一客户端。

此时,查询响应,是通知第一客户端,有第二客户端购买数据,和第二客户端的余额充足且已冻结数据购买价格。第一客户端的用户可以手动点击确认进行下一步,也可以由第一客户端自动触发下一步。

s210,第一客户端发送交易请求给业务服务器,该交易请求中包括业务服务器公钥加密的数据;以使业务服务器用私钥对该业务服务器公钥加密的数据解密,并用第二客户端公钥对该数据进行加密。

业务服务器作为辅助交易的服务器,拥有各客户端的公钥。

s211,业务服务器发送交易请求给区块链节点,该交易请求包括第二客户端公钥加密后的数据。

s212,触发交易智能合约,该交易智能合约执行该购买价格的转账,和该第二客户端公钥加密后的数据上链。

业务数据上链过程,本申请不进行相关描述,例如:在工作量证明pow的共识机制下,进行打包和验证后,节点广播到所有的节点进行数据同步。

s213,区块链节点发送交易响应给业务服务器。

该交易响应通知业务服务器交易完成。

s214,业务服务器发送交易响应给第一客户端。

s215,第二客户端发送数据查询请求给区块链节点。

s216,区块链节点发送数据响应给第二客户端,该数据响应包括第二客户端公钥加密的数据。

s217,第二客户端用自身私钥对该第二客户端公钥加密的数据进行解密。

需要说明的是,本申请的交易过程中,校验智能合约和交易智能合约,可以是同一个智能合约,也可以是两个不同的智能合约。

本申请的数据交易过程,全部的交易过程数据全部保存在链上,公开透明,从而保障了交易双方的利益。

如图3所示,一种基于区块链的交易设备,所述设备为区块链节点,所述设备包括接收单元以及处理单元。

所述接收单元,接收第一客户端发送的数据上链请求,所述数据上链请求包括第一客户端公钥加密的数据、业务服务器公钥加密的数据以及数据的预设价格。

所述接收单元,接收第二客户端发送的数据购买请求,所述数据购买请求包括数据购买价格,所述数据购买价格包括所述数据的预设价格。

所述处理单元,触发校验智能合约,所述校验智能合约对所述第二客户端地址的余额进行校验,校验通过后,冻结所述购买价格。

所述接收单元,接收所述第一客户端发送的交易请求,所述交易请求包括业务服务器公钥加密的数据;以使所述业务服务器私钥对业务服务器公钥加密的数据进行解密,并用所述第二客户端公钥对所述数据进行加密。

所述接收单元,接收所述业务服务器发送的交易请求,所述交易请求包括所述第二客户端公钥加密的数据。

所述处理单元,触发交易智能合约,所述交易智能合约执行所述购买价格的转账,并执行所述第二客户端公钥加密的数据上链。

在一个示例中,所述设备还包括发送单元,所述接收单元,接收所述第一客户端发送的交易查询,所述交易查询包括查询所述数据是否被购买,购买者的余额是否充足;所述发送单元,发送查询响应给所述第一客户端;其中,所述数据为业务数据,所述业务数据包括关联属性和非关联属性;所述关联属性的属性值自动叠加;所述数据购买价格还包括数据在区块链上交易的服务费和业务服务器的服务费。

该方法能够可以进行数据的交易,交易上链后,数据的购买者和所有者都可以看到数据;并且,整个过程在区块链上可溯源,保证了交易双方的利益。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

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

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