一种基于区块链的电子卡券发放方法、设备及介质与流程

文档序号:20192151发布日期:2020-03-27 19:46阅读:277来源:国知局
一种基于区块链的电子卡券发放方法、设备及介质与流程

本申请涉及电子卡券领域,具体涉及一种基于区块链的电子卡券发放方法、设备及介质。



背景技术:

随着人们生活水平的提高,越来越多的人选择从网络进行交易、购物等,使得人们的生活更加便利。

人们在通过网络进行购物或交易时,可以使用电子卡券来节约成本。但是现有技术中,电子卡券的发放使用仍存在一些问题。例如,电子卡券的发放方通常为相应的平台所对应的企业,这就使得电子卡券的发放过程以及发放结果只掌握在企业手中,用户无法了解电子卡券的实际发放过程。电子卡券发放过程中的不透明,容易催生不公平合理的发放,对用户的利益造成影响。



技术实现要素:

为了解决上述问题,本申请提出了一种基于区块链的电子卡券发放方法,包括:基于区块链框架部署区块链平台,并将卡券发放平台、用户作为节点,部署在所述区块链平台中;接收所述卡券发放平台发送的卡券信息,其中,所述卡券信息包括卡券编号、随机验证码;将所述随机验证码通过所述用户的公钥加密后,得到加密验证码;将所述随机验证码哈希后得到哈希验证码;将携带有所述加密验证码和所述哈希验证码的所述卡券信息写入所述区块链平台中;通过所述用户的私钥,将所述加密验证码进行解密,得到待确认验证码;若所述待确认验证码哈希后得到的哈希值,与所述哈希验证码一致,则将电子卡券发放给所述用户,并将所述用户的身份信息、领取时间写入所述区块链平台。

在一个示例中,基于区块链框架部署区块链平台,包括:通过超级账本fabric部署区块链平台。

在一个示例中,所述方法还包括:生成相应的智能合约,并部署在所述区块链平台中,其中,所述智能合约包括所述加密验证码、所述随机验证码、所述哈希验证码。

在一个示例中,所述智能合约用于,通过所述私钥,将所述加密验证码进行解密得到所述待确认验证码;并将所述待确认验证码哈希后得到的所述哈希值与所述哈希验证码进行对比;并在所述哈希值与所述哈希验证码一致时,将所述电子卡券发放给所述用户。

在一个示例中,所述电子卡券为优惠券,所述方法还包括:确定所述优惠券对应的商品链接,并将所述商品链接通过所述卡券信息写入所述区块链平台;所述电子卡券为会员卡,所述方法还包括:确定所述会员卡对应的商家官网链接,并将所述商家官网链接通过所述卡券信息写入所述区块链平台。

在一个示例中,所述卡券信息数量为多个,所述方法还包括:根据各所述卡券信息对应的商品类型,以及预设的对应关系,对多个所述卡券信息进行排序;将携带有所述加密验证码和所述哈希验证码的所述卡券信息写入所述区块链平台中,包括:根据排序结果,依次将携带有所述加密验证码和所述哈希验证码的所述卡券信息写入所述区块链平台中。

在一个示例中,所述卡券信息中还包括:对应的商品链接、对应的商品类型、使用要求、使用方式、使用期限、价值、发放时间中的至少一种。

在一个示例中,将所述用户的用户信息、领取时间写入所述区块链平台,包括:将所述用户的用户信息、领取时间,写入所述区块链平台中所述卡券信息所在的区块中。

另一方面,本申请还提出了一种基于区块链的电子卡券发放设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:基于区块链框架部署区块链平台,并将卡券发放平台、用户作为节点,部署在所述区块链平台中;接收所述卡券发放平台发送的卡券信息,其中,所述卡券信息包括卡券编号、随机验证码;将所述随机验证码通过所述用户的公钥加密后,得到加密验证码;将所述随机验证码哈希后得到哈希验证码;将携带有所述加密验证码和所述哈希验证码的所述卡券信息写入所述区块链平台中;通过所述用户的私钥,将所述加密验证码进行解密,得到待确认验证码;若所述待确认验证码哈希后得到的哈希值,与所述哈希验证码一致,则将电子卡券发放给所述用户,并将所述用户的身份信息、领取时间写入所述区块链平台。

另一方面,本申请还提出了一种基于区块链的电子卡券发放的非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:基于区块链框架部署区块链平台,并将卡券发放平台、用户作为节点,部署在所述区块链平台中;接收所述卡券发放平台发送的卡券信息,其中,所述卡券信息包括卡券编号、随机验证码;将所述随机验证码通过所述用户的公钥加密后,得到加密验证码;将所述随机验证码哈希后得到哈希验证码;将携带有所述加密验证码和所述哈希验证码的所述卡券信息写入所述区块链平台中;通过所述用户的私钥,将所述加密验证码进行解密,得到待确认验证码;若所述待确认验证码哈希后得到的哈希值,与所述哈希验证码一致,则将电子卡券发放给所述用户,并将所述用户的身份信息、领取时间写入所述区块链平台。

通过本申请提出基于区块链的电子卡券发放方法能够带来如下有益效果:

将电子卡券的发放过程都存储在区块链平台中,由于区块链平台中的数据是公开透明的,因此用户可以随时通过相应的途径对电子卡券的发放进行追溯。而且由于区块链平台是分布式存储,单个节点的数据篡改不会生效,也就保证了区块链平台上数据的真实可信。不管是卡券发放平台还是用户中的任一节点,都能够通过相关途径溯源,用户一旦认为电子卡券的发放过程存在问题,可以随时通过区块链平台中的数据进行确认,以维护自己的权益。

附图说明

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

图1为本申请实施例中基于区块链的电子卡券发放方法的流程示意图;

图2为本申请实施例中基于区块链的电子卡券发放设备的示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

以下结合附图,详细说明本申请各实施例提供的技术方案。

如图1所示,本申请实施例提供一种基于区块链的电子卡券发放方法,包括:

s101、基于区块链框架部署区块链平台,并将卡券发放平台、用户作为节点,部署在所述区块链平台中。

区块链(blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,本质上是一个去中心化的数据库。

首先基于区块链框架部署区块链平台。其中,区块链框架可以是能够实现本申请实施例相应功能的任意区块链框架,例如,比特币、以太坊、fabric、corda等。区块链平台可以指的是存储区块链的平台,例如,可以是分布式系统等。当然,区块链平台也可以直接代表区块链本身,在此不做限定。

然后将发放电子卡券的卡券发放平台和用户作为节点,部署在区块链平台中。其中,卡券发放平台所发放的电子卡券可以是优惠券,即用户在购买相应的商品或者服务时,通过该优惠券能够降低购买的价格。电子卡券也可以是会员卡、储蓄卡等其他形式,在此不做限定。

s102、接收所述卡券发放平台发送的卡券信息,其中,所述卡券信息包括卡券编号、随机验证码。

在部署完区跨链平台之后,如果卡券发放平台想要发放电子卡券,则会将想要发放的电子卡券的卡券信息发送至区块链平台。区块链平台接收到卡券信息后,可以进行相应的存储。其中,卡券信息包括卡券编号和随机验证码,随机验证码用于验证作用。

进一步地,卡券信息中还可以包含其他的数据,例如,对应的商品链接、对应的商品类型、使用要求、使用方式、使用期限、价值、发放时间中的至少一种。其中,电子卡券为优惠券时,对应着相应的商品,此时卡券信息可以包括商品的商品链接以及商品类型。使用要求可以例如,该电子卡券为优惠券时,消费在满多少时才能够使用。使用方式可以例如,该电子卡券为会员卡时,在什么时间、平台可以使用,是在结算价格时使用还是在添加购物车时使用等。使用期限可以以时长的形式、到期时间等的形式进行描述。价值可以例如,该电子卡券为优惠券时,能够减免的价格,该电子卡券为会员卡时,每次购物能够减免的价格等。发放时间则为发放该电子卡券的时间。

s103、将所述随机验证码通过所述用户的公钥加密后,得到加密验证码;将所述随机验证码哈希后得到哈希验证码。

s104、将携带有所述加密验证码和所述哈希验证码的所述卡券信息写入所述区块链平台中。

在得到该卡券信息中,区块链平台可以将卡券信息中所包含的随机验证码通过用户的公钥进行加密,得到加密验证码。再将随机验证码哈希后,得到哈希验证码。其中,该用户为卡券发放平台准备将该电子卡券发放的对象。

在得到了加密验证码和哈希验证码后,将携带有该加密验证码和哈希验证码的卡券信息写入区块链平台中。由于区块链平台中的数据是公开的,每个节点都可以去获取其中的数据,因此,作为节点的用户也可以获取该加密验证码和哈希验证码。

s105、通过所述用户的私钥,将所述加密验证码进行解密,得到待确认验证码。

s106、若所述待确认验证码哈希后得到的哈希值,与所述哈希验证码一致,则将电子卡券发放给所述用户,并将所述用户的身份信息、领取时间写入所述区块链平台。

当用户获取了加密验证码和哈希验证码后,可以通过自身的私钥对加密验证码进行解密,得到解密后的随机验证码,在此可以将解密后得到的随机验证码称为待确认验证码。当然,用户的私钥可以由区块链平台进行托管,即用户将私钥告知区块链平台,然后由区块链平台通过用户的私钥进行解密,得到待确认验证码。

接着将待确认验证码进行哈希后的哈希值与哈希验证码进行对比。如果一致,则说明该电子卡券的卡券信息并没有被篡改过,而且说明用户的身份信息也没有错误,可以将电子卡券发放给该用户,并在发放以后,将用户的身份信息和领取时间写入区块链平台中。其中,电子卡券的发放过程可以是通过将该电子卡券的卡券编号与用户的账户进行绑定,来进行发放,在此不再赘述。将电子卡券的发放过程都存储在区块链平台中,由于区块链平台中的数据是公开透明的,因此用户可以随时通过相应的途径对电子卡券的发放进行追溯。而且由于区块链平台是分布式存储,单个节点的数据篡改不会生效,也就保证了区块链平台上数据的真实可信。不管是卡券发放平台还是用户中的任一节点,都能够通过相关途径溯源,用户一旦认为电子卡券的发放过程存在问题,可以随时通过区块链平台中的数据进行确认,以维护自己的权益。

进一步地,可以将用户的用户信息、领取时间,写入区块链平台中,卡券信息所在的区块中。能够使用户或者其他节点更便利的查询该电子卡券对应的信息,无需再从其他的区块中查找相应的信息。

在一个实施例中,可以通过超级账本fabric部署区块链平台。fabric全称为hyperledgerfabric,是一个许可的区块链构架(permissionedblockchaininfrastructure)。其由ibm和digitalasset最初贡献给hyperledger项目。它提供一个模块化的构架,把架构中的节点、智能合约的执行(fabric项目中称为chaincode)以及可配置的共识和成员服务.一个fabric网络包含同伴节点(peernodes)执行chaincode合约,访问账本数据,背书交易并称为应用程序的接口。命令者节点(orderernodes)负责确保此区块链的一致性并传达被背书的交易给网络中的同伴们;以及msp服务,主要作为证书权威(certificateauthority)管理x.509证书用于验证成员身份以及角色。

在一个实施例中,还可以预先生成相应的智能合约,并部署在区块链平台中。智能合约包括加密验证码、随机验证码和哈希验证码。智能合约用于在接收到用户的私钥后,将加密验证码进行解密得到待确认验证码,然后将待确认验证码哈希后的哈希值与哈希验证码进行对比,如果哈希值与哈希验证码一致,则将电子卡券发放给用户。由于在区块链平台上的智能合约是公开的,每个节点都可以审验该智能合约是否符合预先的约定,并将其部署在自己的节点上。而用户也可以通过相应的途径去查询该智能合约,在提高了交易自动化程度的同时,也进一步增加了用户的信任程度。而智能合约只能通过升级的方式进行更改,需要各个节点同步部署,并且一旦部署,便只能通过程序执行,没有人为因素的干扰,加强了数据的可信度。

在一个实施例中,若电子卡券为优惠券,则还可以确定优惠券对应的商品链接,并将该商品链接通过卡券信息写入区块链平台中。例如,当该优惠券为某电商平台的某商品的优惠券,则可以将该商品的链接写入区块链平台中。若电子卡券为会员卡,则可以将该会员卡对应的商家官网链接通过卡券信息写入区块链平台中。通过将商品链接或者商家官网链接写入区块链平台,可以使用户更方便的查找到相应的商品或者商家,更便利的使用电子卡券。

在一个实施例中,若是卡券信息的数量为多个时,可以先根据卡券信息对应的商品类型,以及预设的对应关系对这多个卡券信息进行排序,然后根据排序结果,依次将携带有加密验证码和哈希验证码的卡券信息写入区块链平台中。由于不同的商品类型有着不同的使用时限,例如,生鲜、果蔬的使用时限较低,因此优先将该部分商品类型对应的卡券信息写入区块链平台中,以使用户能够尽早的获取相应的电子卡券。

如图2所示,本申请实施例还提供了一种基于区块链的电子卡券发放设备,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:

基于区块链框架部署区块链平台,并将卡券发放平台、用户作为节点,部署在所述区块链平台中;

接收所述卡券发放平台发送的卡券信息,其中,所述卡券信息包括卡券编号、随机验证码;

将所述随机验证码通过所述用户的公钥加密后,得到加密验证码;将所述随机验证码哈希后得到哈希验证码;

将携带有所述加密验证码和所述哈希验证码的所述卡券信息写入所述区块链平台中;

通过所述用户的私钥,将所述加密验证码进行解密,得到待确认验证码;

若所述待确认验证码哈希后得到的哈希值,与所述哈希验证码一致,则将电子卡券发放给所述用户,并将所述用户的身份信息、领取时间写入所述区块链平台。

本申请实施例还提出了一种基于区块链的电子卡券发放的非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:

基于区块链框架部署区块链平台,并将卡券发放平台、用户作为节点,部署在所述区块链平台中;

接收所述卡券发放平台发送的卡券信息,其中,所述卡券信息包括卡券编号、随机验证码;

将所述随机验证码通过所述用户的公钥加密后,得到加密验证码;将所述随机验证码哈希后得到哈希验证码;

将携带有所述加密验证码和所述哈希验证码的所述卡券信息写入所述区块链平台中;

通过所述用户的私钥,将所述加密验证码进行解密,得到待确认验证码;

若所述待确认验证码哈希后得到的哈希值,与所述哈希验证码一致,则将电子卡券发放给所述用户,并将所述用户的身份信息、领取时间写入所述区块链平台。

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

本申请实施例提供的设备和介质与方法是一一对应的,因此,设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备和介质的有益技术效果。

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

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

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

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

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

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

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