应用智能合约的抽奖数据上链方法及其设备与流程

文档序号:18739748发布日期:2019-09-21 01:38阅读:254来源:国知局
应用智能合约的抽奖数据上链方法及其设备与流程

本申请涉及区块链技术领域,尤其涉及应用智能合约的抽奖数据上链方法及其设备。



背景技术:

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

现有的抽奖平台都是采用中心化的数据库,保存了商品的抽奖次数,抽奖时间,用户的抽奖使用的手机等内容;然而,抽奖平台的数据库,存在着数据被篡改、数据的真实性得不到保证,且抽奖的运营平台修改某商品的抽奖次数,删除用户差评等情况等问题。尤其对一些规模不大的抽奖平台,商品的数据安全性和真实性都得不到保证:而商品或者服务的抽奖内容不真实,会对用户产生误导,影响用户的体验。

因此,如何基于区块链的不可篡改,可信的方式,将抽奖平台的数据存储在区块链上,成为亟待解决的问题。

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



技术实现要素:

为了解决上述问题,本申请提供应用智能合约的抽奖数据上链方法及其设备,能够让抽奖的数据上链,使得链上的抽奖数据可信,公开透明。

本申请第一方面提供应用智能合约的抽奖数据上链方法,所述方法包括:

区块链节点接收第一客户端发送的抽奖数据上链请求,所述抽奖数据上链请求包括所述第一客户端公钥加密的抽奖数据;

触发校验智能合约,所述校验智能合约对所述第一客户端的身份进行校验,校验通过后,执行所述抽奖数据的上链流程;

所述区块链节点接收第二客户端的所述抽奖数据的查询请求;

触发校验智能合约,所述校验智能合约对所述第二客户端的身份进行校验;

校验通过后,所述区块链节点发送所述抽奖数据查询请求给所述第一客户端,所述抽奖数据查询请求中包括第二客户端公钥,以使所述第一客户端用所述第二客户端公钥对所述抽奖数据加密;

所述区块链节点接收所述第一客户端发送的抽奖数据查询响应,所述抽奖数据查询响应包括第二客户端公钥加密的抽奖数据;

触发校验智能合约,所述校验智能合约对所述第一客户端的身份进行校验,校验通过后,将所述第二客户端公钥加密的所述抽奖数据执行上链流程。

在一种可能的实现方式中,所述方法还包括:所述区块链节点接收所述第二客户端发送抽奖数据查询请求;

所述区块链节点发送抽奖数据查询响应给所述第二客户端,所述抽奖数据查询响应包括第二客户端公钥加密的抽奖数据,以便于所述第二客户端用自身私钥对所述第二客户端公钥加密的抽奖数据进行解密。

在一种可能的实现方式中,所述抽奖数据为所述第一客户端对应的用户在抽奖平台的操作数据,包括抽奖购买号、抽奖中奖号、抽奖期数以及抽奖购买时间。

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

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

本申请第二方面提供应用智能合约的抽奖数据上链设备,所述设备为区块链节点,所述设备包括接收单元、处理单元以及发送单元;其中,

所述接收单元,接收第一客户端发送的抽奖数据上链请求,所述抽奖数据上链请求包括所述第一客户端公钥加密的抽奖数据;

所述处理单元,触发校验智能合约,所述校验智能合约对所述第一客户端的身份进行校验,校验通过后,执行所述抽奖数据的上链流程;

所述接收单元,接收第二客户端的所述抽奖数据的查询请求;

所述处理单元,触发校验智能合约,所述校验智能合约对所述第二客户端的身份进行校验;

校验通过后,所述发送单元,发送所述抽奖数据查询请求给所述第一客户端,所述抽奖数据查询请求中包括第二客户端公钥,以使所述第一客户端用所述第二客户端公钥对所述抽奖数据加密;

所述接收单元,接收所述第一客户端发送的抽奖数据查询响应,所述抽奖数据查询响应包括第二客户端公钥加密的抽奖数据;

所述处理单元,触发校验智能合约,所述校验智能合约对所述第一客户端的身份进行校验,校验通过后,将所述第二客户端公钥加密的所述抽奖数据执行上链流程。

在一种可能的实现方式中,所述接收单元,接收所述第二客户端发送抽奖数据查询请求;所述发送单元,发送抽奖数据查询响应给所述第二客户端,所述抽奖数据查询响应包括第二客户端公钥加密的抽奖数据,以便于所述第二客户端用自身私钥对所述第二客户端公钥加密的抽奖数据进行解密。

在一种可能的实现方式中,所述抽奖数据为所述第一客户端对应的用户在抽奖平台的操作数据,包括抽奖购买号、抽奖中奖号、抽奖期数以及抽奖购买时间。

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

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

本申请能够让抽奖的数据上链,使得链上的抽奖数据可信,公开透明,从而提升用户体验。

附图说明

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

图1为本申请实施例提供的应用智能合约的抽奖数据上链方法流程示意图;

图2为本申请实施例提供的又应用智能合约的抽奖数据上链方法流程示意图;

图3为本申请实施例提供的应用智能合约的抽奖数据上链设备结构示意图。

具体实施方式

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

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

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

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

如图1所示,应用智能合约的抽奖数据上链方法,所述方法包括步骤S101-S107。

S101,区块链节点接收第一客户端发送的抽奖数据上链请求,所述抽奖数据上链请求包括所述第一客户端公钥加密的抽奖数据。

S102,触发校验智能合约,所述校验智能合约对所述第一客户端的身份进行校验,校验通过后,执行所述抽奖数据的上链流程。

S103,所述区块链节点接收第二客户端的所述抽奖数据的查询请求。

S104,触发校验智能合约,所述校验智能合约对所述第二客户端的身份进行校验。

S105,校验通过后,所述区块链节点发送所述抽奖数据查询请求给所述第一客户端,所述抽奖数据查询请求中包括第二客户端公钥,以使所述第一客户端用所述第二客户端公钥对所述抽奖数据加密。

S106,所述区块链节点接收所述第一客户端发送的抽奖数据查询响应,所述抽奖数据查询响应包括第二客户端公钥加密的抽奖数据。

S107,触发校验智能合约,所述校验智能合约对所述第一客户端的身份进行校验,校验通过后,将所述第二客户端公钥加密的所述抽奖数据执行上链流程。

在一个示例中,所述方法还包括:所述区块链节点接收所述第二客户端发送抽奖数据查询请求;所述区块链节点发送抽奖数据查询响应给所述第二客户端,所述抽奖数据查询响应包括第二客户端公钥加密的抽奖数据,以便于所述第二客户端用自身私钥对所述第二客户端公钥加密的抽奖数据进行解密。

在一个示例中,所述抽奖数据为所述第一客户端对应的用户在抽奖平台的操作数据,包括抽奖购买号、抽奖中奖号、抽奖期数以及抽奖购买时间。

在一个示例中,所述第一客户端用自身公钥对所述抽奖数据加密,具体为:所述第一客户端用自身公钥对所述抽奖数据进行预设比例的加密。

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

上述示例中,第一客户端作为抽奖数据的操作者,第二客户端作为抽奖数据的查询者;对某个具体抽奖平台而言,每位用户既可以是抽奖数据的操作者,也可以是抽奖数据的查询者。

下面以图2为例,对上述的抽奖数据上链方法进行说明,该方法包括步骤S201-S214。

S201,第一客户端用公钥对自身产生的抽奖数据进行加密,该抽奖操作数据包括用户在抽奖平台上的包括抽奖购买号、抽奖中奖号、抽奖期数、抽奖购买时间、用户的IP地址以及用户的账号密码等用户操作行为产生的数据。

第一客户端用自身公钥对自身产生的抽奖数据进行加密,该加密可以是将抽奖数据全部字段进行加密,也可以是对该抽奖数据的部分字段进行加密,如:仅仅对涉及隐私的内容进行加密;也可以是用户不对该抽奖数据进行加密。

此外,该抽奖数据包括分为两种属性,关联属性和非关联属性。例如:用户抽奖购买时间,属于非关联属性,每位用户的购买抽奖时间都可以存储在区块链上;例如:某一期抽奖的购买数量,就是关联属性,抽奖的数据格式中包括抽奖购买数量,只要有用户购买抽奖,该抽奖数量的属性值会自动叠加。

抽奖购买号是指用户选择或者直接想要的抽奖号;抽奖期数是指抽奖的开奖期数。抽奖的场景,例如:商场的抽奖活动,某商品商家的抽奖促销活动等。

S202,第一客户端发送抽奖数据上链请求给区块链节点。

S203,触发区块链上的校验智能合约,该校验智能合约对第一客户端的身份进行校验,执行该抽奖数据的上链流程。

该校验是指判断该第一客户端是否为该抽奖平台的用户,只有该抽奖平台的用户才能有权限将该抽奖数据进行上链。

需要说明的是,上链过程是本领域的常规过程,不进行详细说明。例如:在工作量证明PoW共识方式下,将数据进行打包,验证,抢到记账权的区块链节点可以将该打包区块放在当前区块的下一个区块,作为新的区块上链。

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

S205,第二客户端发送抽奖数据查询请求给区块链节点,所述抽奖数据查询请求包括第二客户端公钥。

此时,第二客户端对应的用户可以是在看到该抽奖数据后,对该抽奖数据进行查询。本申请中第一客户端以及第二客户端都是安装有去中心化应用软件的终端设备,都可以直接与区块链上的区块链节点进行信息交互。

S206,触发区块链上的校验智能合约,该校验智能合约对第二客户端的身份进行校验。

校验通过后,执行下一步流程;校验不通过,流程终止。

S207,校验通过后,该区块链节点发送抽奖数据查询请求给第一客户端,该抽奖数据查询请求包括第二客户端公钥。

S208,第一客户端用该第二客户端公钥对该抽奖数据进行加密。

S209,第一客户端发送抽奖数据查询响应给该区块链节点,该抽奖数据查询响应包括第二客户端公钥加密的抽奖数据。

S210,触发在区块链上的校验智能合约,该校验智能合约对该第一客户端的身份进行校验,并将该第二客户端公钥加密的抽奖数据执行上链流程。

S211,该区块链节点发送抽奖数据查询响应给第二客户端。

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

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

S214,第二客户端用自身私钥对该第二客户端公钥加密的抽奖数据进行解密,得到该抽奖数据。

本申请能够让抽奖的数据上链,该上链流程公开透明,同一抽奖平台的任何用户都可以查看该抽奖数据;保证了抽奖数据的真实性。并且,用户可以根据自己的喜好,对抽奖数据进行加密或者不加密,提高了用户体验。

需要说明的是,本申请中客户端是直接与区块链的节点进行信息的交互,区块链节点将信息直接存储在区块链上,没有中心化的服务器,从而让抽奖数据更加公开可信;而不是现有的客户端与中心化的服务器进行交互。

如图3所示,应用智能合约的抽奖数据上链设备,所述设备为区块链节点,所述设备包括接收单元、处理单元以及发送单元。

所述接收单元,接收第一客户端发送的抽奖数据上链请求,所述抽奖数据上链请求包括所述第一客户端公钥加密的抽奖数据;

所述处理单元,触发校验智能合约,所述校验智能合约对所述第一客户端的身份进行校验,校验通过后,执行所述抽奖数据的上链流程;

所述接收单元,接收第二客户端的所述抽奖数据的查询请求;

所述处理单元,触发校验智能合约,所述校验智能合约对所述第二客户端的身份进行校验;

校验通过后,所述发送单元,发送所述抽奖数据查询请求给所述第一客户端,所述抽奖数据查询请求中包括第二客户端公钥,以使所述第一客户端用所述第二客户端公钥对所述抽奖数据加密;

所述接收单元,接收所述第一客户端发送的抽奖数据查询响应,所述抽奖数据查询响应包括第二客户端公钥加密的抽奖数据;

所述处理单元,触发校验智能合约,所述校验智能合约对所述第一客户端的身份进行校验,校验通过后,将所述第二客户端公钥加密的所述抽奖数据执行上链流程。

在一个示例中,所述接收单元,接收所述第二客户端发送抽奖数据查询请求;所述发送单元,发送抽奖数据查询响应给所述第二客户端,所述抽奖数据查询响应包括第二客户端公钥加密的抽奖数据,以便于所述第二客户端用自身私钥对所述第二客户端公钥加密的抽奖数据进行解密。

在一个示例中,所述抽奖数据为所述第一客户端对应的用户在抽奖平台的操作数据,包括抽奖购买号、抽奖中奖号、抽奖期数以及抽奖购买时间。

在一个示例中,所述第一客户端用自身公钥对所述抽奖数据加密,具体为:所述第一客户端用自身公钥对所述抽奖数据进行预设比例的加密。

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

本申请能够让抽奖的数据上链,该上链流程公开透明,同一抽奖平台的任何用户都可以查看该抽奖数据;保证了抽奖数据的真实性。并且,用户可以根据自己的喜好,对抽奖数据进行加密或者不加密,提高了用户体验。

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

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

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

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