经由区块链防止欺诈性礼品卡的方法和系统与流程

文档序号:17591151发布日期:2019-05-03 21:50阅读:266来源:国知局
经由区块链防止欺诈性礼品卡的方法和系统与流程

本公开涉及防止关于礼品卡的转让和兑换的欺诈,具体地涉及使用区块链来存储关于礼品卡的购买、转让和兑换的细节以提供关于这种细节的不可变性并防止欺诈性使用。



背景技术:

礼品卡是一个人向另一个人表达感谢的流行方式。礼品卡在提供礼品时用作现金的有用替代品,因为它可以向接收者提供指导,同时仍然让接收者选择他们的实际礼品。通常,当送礼者想要将礼品卡送给接收者时,送礼者将直接从相关零售商或礼品卡的第三方零售商处购买礼品卡。在大多数情况下,礼品卡的购买包括零售商扫描礼品卡上显示的机器可读代码,该机器可读代码将用来通过改变礼品卡中编码的数据或通过向与礼品卡的兑换相关联的后端系统发送表明礼品卡已被购买并且应该有兑换资格的传输来解锁礼品卡以供使用。

遗憾的是,这样的过程为欺诈行为提供了多种机会。例如,欺诈者可以在购买之前记下礼品卡的礼品卡号,并且一旦送礼者已经购买并因此激活礼品卡就可以使用该号码。此外,欺诈者可以在购买后从送礼者窃取实体礼品卡,该礼品卡然后可被使用,因为与传统的支付卡不同,对礼品卡的使用或转让没有保护。为了遏制这种做法,一些零售商提供电子礼品卡,其中向送礼者或直接向接收者提供可以兑换的唯一代码。然而,在这种情况下,仍然缺乏对唯一代码的直接盗窃的保护。

因此,需要一种技术解决方案,其中可以以防止礼品卡的欺诈性转让和使用并确保由恰当接收者进行兑换的方式来跟踪和监视礼品卡的购买、转让和兑换。



技术实现要素:

本公开提供了对用于经由区块链安全使用礼品卡的系统和方法的描述。在区块链上存储关于礼品卡的购买、转让和兑换的细节确保细节的不可变性,使得恶意行为者无法欺诈性地宣称购买或转让礼品卡。针对转让和兑换使用与计算设备相关联的设备标识符提供了额外的一层安全性,以确保仅礼品卡号的泄露不足以兑换礼品卡。结果,只有具有适当礼品卡号的经授权设备可以兑换礼品卡,其中这样的数据是不可变的并且无法被改变,从而增加了关于礼品卡的购买、转让和兑换的安全性而不会给所涉及的任何实体带来不便。

一种经由区块链来安全使用礼品卡的方法包括:将包括多个区块的区块链存储在处理服务器的存储器中,其中每个区块至少包括区块头部和一个或多个数据值,每个区块头部至少包括时间戳、区块引用值和数据引用值,并且所述多个区块之一中包括的特定数据值与礼品卡相关并且至少包括礼品卡号和第一接收者地址;由所述处理服务器的接收设备从第一计算系统接收转让请求,其中所述转让请求至少包括所述礼品卡号、第一数字签名和与计算设备相关联的设备标识符;由所述处理服务器的验证模块基于第一数字签名来验证第一接收者地址;在成功验证第一接收者地址时,由所述处理服务器的生成模块生成新数据值,所述新数据值至少包括所述礼品卡号、所述设备标识符和第二接收者地址;由所述处理服务器的发送设备将所生成的新数据值以电子方式发送到与所述区块链相关联的节点;由所述处理服务器的接收设备从第二计算系统接收兑换请求,其中所述兑换请求至少包括所述礼品卡号、第二数字签名和提交的设备标识符;由所述处理服务器的验证模块基于第二数字签名来验证第二接收者地址并基于所述设备标识符来验证所提交的设备标识符;和由所述处理服务器的发送设备将对第二接收者地址和所提交的设备标识符的验证结果以电子方式发送到第二计算系统。

一种经由区块链来安全使用礼品卡的系统,包括:处理服务器的存储器,被配置为存储包括多个区块的区块链,其中每个区块至少包括区块头部和一个或多个数据值,每个区块头部至少包括时间戳、区块引用值和数据引用值,并且所述多个区块之一中包括的特定数据值与礼品卡相关并且至少包括礼品卡号和第一接收者地址;所述处理服务器的接收设备,被配置为从第一计算系统接收转让请求,其中所述转让请求至少包括所述礼品卡号、第一数字签名和与计算设备相关联的设备标识符;所述处理服务器的验证模块,被配置为基于第一数字签名来验证第一接收者地址;所述处理服务器的生成模块,被配置为在成功验证第一接收者地址时生成新数据值,所述新数据值至少包括所述礼品卡号、所述设备标识符和第二接收者地址;和所述处理服务器的发送设备,被配置为将所生成的新数据值以电子方式发送到与所述区块链相关联的节点,其中所述处理服务器的接收设备还被配置为从第二计算系统接收兑换请求,其中所述兑换请求至少包括所述礼品卡号、第二数字签名和提交的设备标识符,所述处理服务器的验证模块还被配置为基于第二数字签名来验证第二接收者地址并基于所述设备标识符来验证所提交的设备标识符,并且所述处理服务器的发送设备还被配置为将对第二接收者地址和所提交的设备标识符的验证结果以电子方式发送到第二计算系统。

附图说明

从结合附图阅读时的示例性实施例的以下详细描述,本公开的范围得到最好的理解。附图中包括以下各图:

图1是示出根据示例性实施例的用于经由区块链安全购买、转让和兑换礼品卡的高层系统架构的框图。

图2是示出根据示例性实施例的图1的用于经由区块链安全购买、转让和兑换礼品卡的系统的处理服务器的框图。

图3是示出根据示例性实施例的图1的系统中的利用区块链来安全购买礼品卡的过程的流程图。

图4是示出根据示例性实施例的图1的系统中的利用区块链来安全转让礼品卡的过程的流程图。

图5是示出根据示例性实施例的图1的系统中的利用区块链来安全兑换礼品卡的过程的流程图。

图6是示出根据示例性实施例的用于经由区块链来安全使用礼品卡的示例性方法的流程图。

图7是示出根据示例性实施例的计算机系统架构的框图。

根据下文提供的详细描述,本公开的其他应用领域将变得清楚。应当理解的是,示例性实施例的详细描述仅旨在说明目的,并且因此不旨在必然限制本公开的范围。

具体实施方式

术语表

区块链—基于区块链的货币的所有交易的公共账本。一个或多个计算设备可以构成区块链网络,该区块链网络可被配置为处理和记录作为区块链中的区块的一部分的交易。一旦区块完成,就将该区块添加到区块链并从而更新交易记录。在许多情况下,区块链可以是按时间顺序的交易的账本,或者可以按适于供区块链网络使用的任何其他顺序呈现。在一些配置中,区块链中记录的交易可以包括目的地地址和货币金额,使得区块链记录多少货币可归于特定地址。在一些情况下,交易是金融的而其他不是金融的,或者可能包括附加的或不同的信息,诸如源地址、时间戳等。在一些实施例中,区块链可以根据交易的形式,还包括或者可选地包括要被或者需要被放入分布式数据库中的几乎任意类型的数据,并且可以通过工作量证明和/或与其相关联的任何其他合适的验证技术而被区块链网络确认和核实(validate),该分布式数据库保持防止(甚至被其操作者)篡改和修订的不断增长的数据记录清单。在一些情况下,关于给定交易的数据可能还包括附加数据,该附加数据不直接是附加到交易数据的交易的一部分。在一些情况下,将这种数据纳入区块链可能构成交易。在这种情况下,区块链可能不与特定的数字货币、虚拟货币、法定货币或其他类型的货币直接相关联。

用于礼品卡的安全购买、转让和兑换的系统

图1示出了通过利用区块链并在其中存储相关数据来安全购买、转让和兑换礼品卡的系统100。

系统100可以包括处理服务器102。下面更详细讨论的处理服务器102可被配置为在管理礼品卡的购买、转让和兑换时利用区块链,以增加安全性并防止欺诈。在系统100中,零售商104可以具有可供购买的礼品卡,其中礼品卡有资格在商家106处兑换。在一些实施例中,零售商104和商家106可以是单个实体。在一些情况下,处理服务器102可以是零售商104和/或商家106的计算系统的一部分。礼品卡可以至少具有与其相关联的礼品卡号,并且还可以具有与其相关联的可以用于兑换礼品卡的任何附加数据,诸如个人识别号码、验证码、有效期等。

在使礼品卡有资格用于购买之前,可以向与处理服务器102相关联的区块链网络108注册该礼品卡。在一些实施例中,零售商104可以直接向区块链网络108注册礼品卡。在其他实施例中,零售商104可以将礼品卡号(例如,以及用于兑换的任何其他数据,如果适用的话)以电子方式发送到处理服务器102,处理服务器102将代表零售商104注册礼品卡。在区块链上注册礼品卡可以包括将礼品卡号(例如,以及用于兑换的任何其他数据,如果适用的话)以及第一区块链地址传送到区块链网络108的节点110。区块链网络108可以包括多个节点110,其中每个节点110被配置为存储区块链数据、生成用于添加到区块链的新区块以及在添加到区块链之前核实由其他节点110生成的区块。在一些实施例中,处理服务器102可以是区块链网络108的节点110。

第一区块链地址可以是与作为礼品卡的当前所有者的零售商104相关联的地址,在此也称为“第一接收者地址”,因为零售商104可被认为是接收礼品卡以使其可供出售的初始接收者。第一区块链地址可以由零售商104(例如,或者处理服务器102,如果适用的话)使用密钥对的公钥生成。可以使用任何合适类型的密钥生成算法来生成该密钥对。在处理服务器102可以注册礼品卡的情况下,零售商104可以将第一区块链地址提供给处理服务器102,或者处理服务器102可以拥有与零售商104相关联的公钥,其可以用来生成第一区块链地址。

零售商104或处理服务器102(如果适用的话)可以生成与礼品卡有关的数据值,其中该数据值至少包括礼品卡号(例如,以及用于兑换的任何其他数据,如果适用的话)和第一区块链地址。然后可以将该数据值以电子方式发送到区块链网络108中的节点110,以包含在使用传统的方法和系统进行核实并添加到区块链的新区块中。

区块链可以包括多个区块,其中每个区块包括区块头部和一个或多个数据值。数据值可以各自与礼品卡的购买、转让或兑换相关联。每个区块头部可以至少包括时间戳、区块引用值和数据引用值。时间戳可以是生成区块头部时的时间戳。区块引用值可以是对区块链中的前一个区块(例如,经由时间戳确定)的引用。在一些情况下,区块引用值可以是经由将一个或多个散列算法应用于前一个区块的区块头部而生成的散列值。数据引用值可以是对相应块中包括的一个或多个数据值的引用。在一些情况下,数据引用值可以是经由将一个或多个散列算法应用于区块中包括的一个或多个数据值而生成的散列值,所述一个或多个散列算法可以与用于生成区块引用值的那些散列算法相同或不同。使用引用值可以确保区块链中存储的数据是不可变的,因为经由生成数据引用值可以检测到对任何数据值的修改,因为它将因此与区块头部中存储的值不同,这将继而导致后续块的不同区块引用值,这会在每个后续块上继续。结果,在不要求修改块链中的每个后续块的情况下,无法修改区块头部或数据值。由于区块链网络108中的每个节点110可以存储区块链,因此在不损害每个单个节点110的情况下无法执行对区块链的修改。

区块链网络108的节点110可以从零售商104或处理服务器102接收数据值,该数据值可被包括在新生成的区块中(例如,并且被合并到相应的区块头部中的数据引用值中)。可以由区块链网络108中的其他节点110使用传统方法来核实所生成的区块,传统方法可以包括引用值的独立生成及其核实。一旦核实完成,新生成的区块就可被添加到区块链并被提供给区块链网络108中的所有节点110。

一旦礼品卡已被注册,就可以使礼品卡可用于供零售商104销售。在系统100中,送礼者112可以使用任何合适的购买方法从零售商购买礼品卡。作为购买的一部分,送礼者112可以使用作为购买的一部分的计算设备,在此称为送礼者计算设备114。送礼者计算设备114可以是适合于执行本文讨论的功能的任何类型的计算设备,诸如台式计算机、膝上型计算机、笔记本计算机、平板计算机、蜂窝电话、智能电话、智能手表、智能电视、可穿戴计算设备、可植入计算设备等。送礼者计算设备114可具有与其相关联的设备标识符,这可以是适合于标识送礼者计算设备的与送礼者计算设备114相关联的独特值。设备标识符可以例如是媒体访问控制地址、注册号、序列号、电话号码、电子邮件地址、用户名、因特网协议地址等。作为购买礼品卡的一部分,送礼者112可以将送礼者计算设备114的设备标识符提供给零售商104。例如,在一个示例中,送礼者112可以将设备标识符口头传达给零售商104的雇员。在另一个示例中,交易可以是由送礼者计算设备114经由网站或应用程序进行的电子交易,其可以在购买礼品卡期间将设备标识符发送给零售商104。

为了注册礼品卡的购买,可以将新数据值提交给区块链网络108中的节点110以添加到区块链。在一些实施例中,新数据值可以由零售商104直接生成和提交。在其他实施例中,新数据值可以由处理服务器102生成和提交,处理服务器102可以使用合适的通信方法经由电子传输从零售商104获得设备标识符。新数据值可以至少包括礼品卡号(例如,以及用于兑换的任何其他数据,如果适用的话)和与送礼者计算设备114相关联的设备标识符。零售商104或处理服务器102(如果适用的话)也可以提供数字签名。数字签名可以由零售商104(例如,或处理服务器102,如果适用的话)生成,并且可以经由包括用来生成第一区块链地址的公钥的密钥对中的私钥来生成。节点110(例如,其可以是处理服务器102,如果用作节点110的话)可以接收数据值和数字签名。然后可以使用数字签名来验证第一区块链地址。经由数字签名对第一区块链地址的验证可以使用任何合适的技术来执行,并且可以导致验证提供数字签名的实体拥有与用来生成第一区块链地址的公钥相对应的私钥,并且因此是最初注册礼品卡的实体。

除了礼品卡号和设备标识符之外,新数据值还可以包括第二区块链地址。第二区块链地址可以是与作为礼品卡的购买者的送礼者计算设备114相关联的地址。可以经由送礼者计算设备114所特有的密钥对的公钥来生成第二区块链地址。在一些实施例中,送礼者计算设备114可以拥有密钥对中的私钥并且可以生成第二区块链地址,第二区块链地址可被与设备标识符一起传送到零售商104并被随后传送到处理服务器102和/或节点110。在其他实施例中,处理服务器102可以在从零售商104接收到数据时生成密钥对,可以使用公钥生成第二区块链地址,并且可以将私钥提供给可以经由相关的设备标识符与之进行联系和通信的送礼者计算设备114。在一些情况下,私钥的提供可以利用专用通信方法来进行数据的安全通信,以降低在提供期间泄露私钥的可能性。

可以将包括礼品卡号、与送礼者计算设备114相关联的设备标识符和第二区块链地址的新数据值提交给区块链网络108中的节点110。节点110然后可以将新数据值添加到新生成的区块,该新生成的区块如在上面讨论随后被核实并被添加到区块链。在一些情况下,节点110可以向处理服务器102提供新数据值被成功添加到区块链的通知。在其他情况下,处理服务器102可以监视区块链以识别新数据值何时被添加。在一些情况下,处理服务器102可以以电子方式向送礼者计算设备114发送通知,以通知送礼者112他们对礼品卡的购买已经被正确地记录在区块链中。

一旦送礼者的购买已被记录,送礼者112就可以将礼品卡赠送给接收者116。对于相关领域的技术人员来说将清楚的是,送礼者112可以直接兑换礼品卡。在这种情况下,送礼者112也可以作为接收者116参与系统100。作为将礼品卡赠送给接收者116的一部分,送礼者112可以获得与接收者118所关联于的接收者计算设备118相关联的设备标识符。接收者计算设备118可以是任何类型的合适计算设备,包括与送礼者计算设备114相同的计算设备,或其他类型的计算设备。类似地,与接收者计算设备118相关联的设备标识符可以是与用于送礼者计算设备114的设备标识符相同类型的设备标识符,或者可以是不同类型。

送礼者112可以经由送礼者计算设备114向处理服务器102提交转让请求。该转让请求可以至少包括礼品卡号、与接收者计算设备118相关联的设备标识符和数字签名。数字签名可以经由提供给送礼者计算设备114的私钥来生成,并且可以由处理服务器102用来验证第二区块链地址,以确保送礼者112是能够赠送礼品卡的礼品卡的注册所有者,诸如在上面讨论的。在验证之后,处理服务器102可以生成另一个新数据值,该新数据值包括礼品卡号、与接收者计算设备118相关联的设备标识符以及第三区块链地址。第三区块链地址可以与接收者计算设备118相关联,并且可以经由另一密钥对中的公钥来生成。在一些情况下,接收者计算设备118可以预先拥有对应的私钥,并且可以生成第三区块链地址,该第三区块链地址可被提供给送礼者计算设备114以便在转让请求中提交给处理服务器102。在其他情况下,处理服务器102可以生成密钥对并且随后经由公钥生成第三区块链地址,并且可以将私钥提供给接收者计算设备118(例如,如经由转让请求中包括的设备标识符所标识的)。可以将新数据值发送到区块链网络108中的节点110,以添加到区块链。在一些情况下,处理服务器102可以向送礼者计算设备114和/或接收者计算设备118提供通知,表明转让被成功记录在区块链中。

为了兑换礼品卡,接收者116可以前往商家106(例如,物理地或虚拟地,诸如经由使用因特网进行的电子商务交易)并发起交易。作为交易发起的一部分,接收者116可以向商家106提供礼品卡号、与接收者计算设备118相关联的设备标识符以及通过提供给接收者计算设备118的私钥生成的数字签名。商家106可以将数据以电子方式发送到处理服务器102。然后,处理服务器102可以识别添加到礼品卡的区块链的最新数据值(例如,经由礼品卡号识别)并经由数字签名验证第三区块链地址并验证该数据值中存储的设备标识符等同于商家106所提交的(例如,以及如由接收者116提供的)设备标识符。处理服务器102可以将验证结果提供回商家106。然后,商家106可以相应地继续进行交易,诸如通过在验证成功的情况下允许兑换礼品卡并且在验证失败的情况下防止兑换。

因为验证依赖于设备标识符和数字签名两者,所以恶意行为者可能无法在没有访问私钥(并且根据其正确地生成数字签名)和欺骗接收者计算设备118的情况下兑换礼品卡。这两项任务可极其困难,使得对于兑换结合这两项任务可具有使得阻拦欺诈尝试的高难度水平。此外,区块链的使用可以确保由于区块链的不可变性和去中心化性质而无法改变礼品卡的后端数据,从而防止欺诈者例如将礼品卡的设备标识符改变为他们自己的设备。结果,处理服务器102可以提供礼品卡的注册、转让和兑换的大大增强的安全性。

在一些实施例中,可以在兑换礼品卡时更新区块链。在一些情况下,诸如通过针对礼品卡号存储表明礼品卡不再有资格进行兑换和/或无法验证、具有设备标识符和/或区块链地址的新数据值,可以更新区块链以表明礼品卡不再可用于兑换从而防止兑换。在一些情况下,礼品卡号可被转让回到零售商104(例如,转让到与其相关联的区块链地址和设备标识符),以供转售。在一些实施例中,区块链中存储的每个数据值还可以包括礼品卡金额,其可以表示礼品卡的剩余价值。在这样的实施例中,如果接收者116用礼品卡兑换小于剩余价值的金额,则新数据值可被生成以添加到区块链,该新数据值包括与接收者计算设备118相关联的设备标识符和经由与接收者计算设备的私钥相关联的公钥生成的新区块链地址,以及与兑换后的礼品卡的价值相对应的更新后的礼品卡金额。然后,接收者116可以继续使用礼品卡,其中礼品卡金额可被与验证结果一起提供给商家106,其可被商家106用来确定是否应该兑现(honor)礼品卡兑换和/或兑现多少钱。在一些这样的实施例中,当礼品卡价值被耗尽时,所有权可以被转让给零售商104或第三方,其中可以向接收者116提供向礼品卡添加资金并且使用本文讨论的过程使所有权转回的机会。

处理服务器

图2示出了系统100中的处理服务器102的实施例。对于相关领域的技术人员来说将清楚的是,图2所示的处理服务器102的实施例仅作为说明而提供,并且无法穷举适合于执行本文讨论功能的处理服务器102的所有可能配置。例如,图7中所示的并在下面更详细地讨论的计算机系统700可以是处理服务器102的合适配置。

处理服务器102可以包括接收设备202。接收设备202可被配置为经由一个或多个网络协议通过一个或多个网络接收数据。在一些情况下,接收设备202可被配置为经由一种或多种通信方法(诸如射频、局域网、无线区域网络、蜂窝通信网络、蓝牙、因特网等)从零售商104、商家106、节点110、送礼者计算设备114、接收者计算设备118以及其他系统和实体接收数据。在一些实施例中,接收设备202可以包括多个设备,诸如用于通过不同网络接收数据的不同接收设备,诸如用于通过局域网接收数据的第一接收设备和用于经由因特网接收数据的第二接收设备。接收设备202可以接收以电子方式发送的数据信号,其中可以在数据信号上叠加或以其他方式编码数据并且经由接收设备202接收数据信号来解码、解析、读取或以其他方式获得数据。在一些情况下,接收设备202可以包括解析模块,该解析模块用于解析接收到的数据信号以获得叠加在其上的数据。例如,接收设备202可以包括解析器程序,该解析器程序被配置为接收所接收的数据信号并将其转换为处理设备为了执行本文描述的方法和系统而执行的功能的可用输入。

接收设备202可被配置为接收由零售商104、送礼者计算设备114和接收者计算设备118以电子方式发送的数据信号,其可与转让请求叠加在一起或以其他方式编码在一起,转让请求可以至少包括设备标识符、礼品卡号以及要用于验证礼品卡的所有权和将礼品卡的所有权转让给另一个实体的数字签名,并且还可以包括区块链地址和/或礼品卡金额(如果适用的话)。在一些情况下,接收设备202可被配置为接收由零售商104以电子方式发送的数据信号,其可被与注册礼品卡的注册数据叠加在一起或以其他方式编码在一起,注册数据可以至少包括礼品卡号和区块链地址。接收设备202还可被配置为接收由区块链网络108中的节点110以电子方式发送的数据信号,其可被与区块链数据(例如,新添加的区块)叠加在一起或以其他方式编码在一起,并且还可以或可选地被与关于所提交的数据值的通知叠加在一起或以其他方式编码在一起。接收设备202还可被配置为接收由商家106以电子方式发送的数据信号,其可被与兑换请求叠加在一起或以其他方式编码在一起,兑换请求可以至少包括礼品卡号、数字签名和设备标识符,并且在一些情况下还可以包括交易金额。

处理服务器102还可以包括通信模块204。通信模块204可被配置为在处理服务器102的模块、引擎、数据库、存储器和其他组件之间发送数据以用于执行本文讨论的功能。通信模块204可以包括一个或多个通信类型并且将各种通信方法用于计算设备内的通信。例如,通信模块204可以包括总线、接触引脚连接器、导线等。在一些实施例中,通信模块204也可被配置为在处理服务器102的内部组件和处理服务器102的外部组件(诸如外部连接的数据库、显示设备、输入设备等)之间进行通信。处理服务器102还可以包括处理设备。如对于相关领域的技术人员来说将清楚的,处理设备可被配置为执行本文讨论的处理服务器102的功能。在一些实施例中,处理设备可以包括专门配置为执行处理设备的一个或多个功能的多个引擎和/或模块(诸如查询模块214、验证模块216、生成模块218等)和/或由专门配置为执行处理设备的一个或多个功能的多个引擎和/或模块组成。如本文所使用的,术语“模块”可以是特别编程为接收输入、使用该输入执行一个或多个处理以及提供输出的软件或硬件。基于本公开内容,由各种模块执行的输入、输出和处理对于本领域技术人员来说将是清楚的。

处理服务器102可以包括存储器206。存储器206可被配置为存储供处理服务器102在执行本文讨论的功能时使用的数据,诸如公钥和私钥、对称密钥等。存储器206可被配置为使用合适的数据格式化方法和模式来存储数据,并且可以是任何合适类型的存储器,诸如只读存储器、随机存取存储器等。如对于相关领域的技术人员来说将清楚的,存储器206可以包括例如加密密钥和算法、通信协议和标准、数据格式化标准和协议、用于处理设备的模块和应用程序的程序代码,以及可能适合供处理服务器102用于执行本文讨论的功能的其他数据。在一些实施例中,存储器206可以由关系型数据库组成或者可以以其他方式包括关系型数据库,该关系型数据库将结构化查询语言用于对其中所存储的结构化数据集的存储、识别、修改、更新、访问等。

存储器206可被配置为存储区块链208。如上面所讨论的,区块链208可以包括多个区块,其中每个区块可以至少包括区块头部和一个或多个数据值。每个区块头部可以包括时间戳、引用区块链中的前一区块的区块引用值以及引用相应区块中包括的一个或多个数据值的数据引用值。存储器206还可被配置为存储处理服务器102在执行本文讨论的功能时所可以使用的任何附加数据,诸如用于生成区块链的引用值的散列算法、用于与节点110和其他计算设备进行通信的通信数据,等等。

处理服务器102可以包括查询模块214。查询模块214可被配置为对数据库执行查询以识别信息。查询模块214可以接收一个或多个数据值或查询字符串,并且可以基于其对所指示的数据库(诸如存储器206)执行查询字符串,以识别存储在其中的信息。然后,查询模块214可以根据需要将识别出的信息输出到处理服务器102的适当的引擎或模块。查询模块214可以例如对存储器206执行查询以识别区块链208的区块中存储的数据值(其可以包括与转让请求中包括的礼品卡号相对应的特定礼品卡号),从而识别所述数据值中的数据以便在转让或兑换相关礼品卡之前进行验证。

处理服务器102还可以包括验证模块216。验证模块216可被配置为验证供处理服务器102在执行本文讨论的功能时使用的数据。验证模块216可以接收指令作为输入,可以按照指令验证数据,并且可以将验证结果输出到处理服务器102的另一个模块或引擎。例如,验证模块216可被配置为经由数字签名来验证区块链地址、利用所提供的设备标识符来验证数据值中包括的设备标识符、并且在一些情况下对照所提供的交易金额来验证礼品卡金额。

处理服务器102还可以包括生成模块218。生成模块218可被配置为生成供处理服务器102在执行本文讨论的功能时使用的数据。生成模块218可以接收指令作为输入、可以基于这些指令来生成数据、并且可以将生成的数据输出到处理服务器102的一个或多个模块或引擎。例如,生成模块218可被配置为生成用于包含在区块链中的新交易数据值,包括与礼品卡的注册、转让和兑换有关的交易数据值,其中这样的数据值可包括礼品卡号、区块链地址和设备标识符。在一些情况下,生成模块218可被配置为生成数据消息以用作通知,用于电子传输到其他实体以用于关于礼品卡的注册、转让或兑换的通知。生成模块218还可被配置为使用合适的密钥生成算法来生成密钥对,并且还可被配置为使用为此设计的合适算法经由公钥来生成区块链地址。

在处理服务器102可以是区块链网络108的一部分(例如,可以是其节点110)的情况下,处理服务器102可以包括与性能相关联的附加模块或引擎作为区块链的节点。例如,生成模块216可被配置为生成新区块和新区块头部,散列模块可被包括以生成用于包含在区块头部中的引用值,验证模块216可被配置为验证引用值和(例如,由其他节点110)提交以包含到区块链的新区块,等等。

处理服务器102还可以包括发送设备220。发送设备220可被配置为经由一个或多个网络协议通过一个或多个网络来发送数据。在一些情况下,发送设备220可被配置为经由一种或多种通信方法,诸如局域网、无线区域网络、蜂窝通信、蓝牙、射频、因特网等向零售商104、商家106、节点110、送礼者计算设备114、接收者计算设备118和其他实体发送数据。在一些实施例中,发送设备220可以包括多个设备,诸如用于通过不同网络来发送数据的不同发送设备,诸如用于通过局域网来发送数据的第一发送设备和用于经由因特网来发送数据的第二发送设备。发送设备220可以以电子方式发送可以由接收计算设备解析的叠加有数据的数据信号。在一些情况下,发送设备220可以包括用于将数据叠加到适合于发送的数据信号中、将数据编码到适合于发送的数据信号中或以其他方式将数据格式化为适合于发送的数据信号的一个或多个模块。

发送设备220可被配置为将数据信号以电子方式发送到零售商104、送礼者计算设备116和接收者计算设备118,所述数据信号可被与通知叠加在一起或以其他方式与通知编码在一起,通知可以向相应的关联实体通知数据值被成功添加到区块链。发送设备220还可被配置为将数据信号以电子方式发送到零售商104、送礼者计算设备116和接收者计算设备118,所述数据信号可被与向其提供的私钥叠加在一起或以其他方式与这些私钥编码在一起,这些私钥诸如可以对应于用来生成区块链地址的由生成模块218生成的密钥对中的公钥。发送设备220可被配置为将数据信号以电子方式发送到区块链网络108中的节点110,所述数据信号可被与用于添加到区块链的数据值叠加在一起或以其他方式与这些数据值编码在一起。发送设备220还可被配置为将数据信号以电子方式发送到商家106,所述数据信号可被与作为对用于验证礼品卡的兑换的验证请求的响应的验证结果叠加在一起或以其他方式与所述验证结果编码在一起。

经由区块链注册和购买礼品卡的过程

图3示出了在系统100中注册和购买礼品卡的过程,该过程利用区块链来存储与其相关的细节。

在步骤302中,零售商104可以将可用于购买的新礼品卡的礼品卡数据提交给区块链网络108中的节点110,以添加到与其相关联的区块链。该提交可以至少包括礼品卡号和在兑换中使用的任何其他礼品卡细节,以及与零售商104相关联的区块链地址。在步骤304中,处理服务器102的接收设备202可以接收礼品卡数据,礼品卡数据可以包括礼品卡号和区块链地址,并且可被从零售商104接收或通过(例如,从节点110)检索区块链中的对应区块而被接收。

在步骤306中,送礼者112可以经由送礼者计算设备114购买礼品卡。作为购买的一部分,送礼者计算设备114可以将与其相关联的设备标识符与用于处理礼品卡的购买所需的任何数据(例如,支付数据、配送信息、资金数额等)一起以电子方式发送到零售商104。在步骤308中,作为购买的一部分,零售商104可以从送礼者计算设备114接收设备标识符。在步骤310中,零售商104可以向处理服务器102提交转让请求,该转让请求请求将礼品卡的所有权从零售商104转让到送礼者112。在步骤312中,处理服务器102的接收设备202可以接收转让请求,该转让请求可以至少包括礼品卡号、与送礼者计算设备114相关联的设备标识符,以及由零售商104生成的数字签名。

在步骤314中,通过使用所提供的数字签名来验证礼品卡的最新数据值中包括的区块链地址(例如,经由处理服务器102的查询模块214基于礼品卡号识别的),处理服务器102的验证模块216可以验证零售商104具有礼品卡的所有权。在验证之后,在步骤316中,处理服务器102的生成模块218可以生成用于将所有权转让给送礼者112的新数据值。该新数据值可以至少包括礼品卡号、设备标识符,以及可以使用(例如,经由生成模块218生成的)密钥对中的公钥(例如,经由生成模块218)生成的新区块链地址。

在步骤318中,处理服务器102的发送设备220可以将密钥对中的私钥以电子方式发送到送礼者计算设备114,以便在步骤320中被由此接收并存储在送礼者计算设备114上。在一些情况下,私钥可以伴随有关于送礼者112成功注册礼品卡的购买的通知。在步骤322中,处理服务器102的发送设备220可以将新数据值以电子方式发送到区块链网络108中的节点110以添加到与其相关联的区块链。在一些实施例中,处理服务器102的发送设备220还可以向零售商104以电子方式发送通知,以向零售商104通知所有权的成功转让。

经由区块链转让礼品卡的过程

图4示出了在系统100中转让礼品卡的过程,该过程利用区块链来存储与其相关的细节。

在步骤402中,送礼者112可以经由送礼者计算设备114向处理服务器102提交用于转让所购买的礼品卡(例如,经由图3所示并且在上面讨论的过程购买)的转让请求。在步骤404中,处理服务器102的接收设备202可以接收该转让请求。该转让请求可以至少包括与礼品卡的预期接收者116所关联于的接收者计算设备118相关联的设备标识符、礼品卡号以及由送礼者计算设备114(例如,使用在图3的步骤320中提供的私钥)生成的数字签名。在步骤406中,通过使用转让请求中包括的数字签名来验证礼品卡的最新数据值中包括的区块链地址(例如,经由处理服务器102的查询模块214基于礼品卡号识别的),处理服务器102的验证模块216可以验证送礼者计算设备114具有礼品卡的所有权。在一些实施例中,转让请求还可以包括与送礼者计算设备114相关联的设备标识符,其也可被对照礼品卡的最新数据值中包括的设备标识符进行验证。

在步骤408中,处理服务器102的生成模块218可以生成用于将所有权转让给接收者116的新数据值。该新数据值可以至少包括礼品卡号、与接收者设备118相关联的设备标识符,以及可以使用(例如,经由生成模块218生成的)密钥对中的公钥(例如,经由生成模块218)生成的新区块链地址。在步骤410中,处理服务器102的发送设备220可以将密钥对中的私钥以电子方式发送到接收者计算设备118,以便在步骤412中由此被接收并存储在接收者计算设备118上。在某些情况下,私钥可以伴随有关于成功注册将所有权转让给接收者114的通知。在一些这样的情况下,消息可被包括在该通知中,诸如可被在转让请求中提交,诸如去往接收者116的礼品消息之类。在步骤414中,处理服务器102的发送设备220可以将新数据值以电子方式发送到区块链网络108中的节点110,以添加到与其相关联的区块链。在步骤416中,处理服务器102的发送设备220还可以向送礼者计算设备114以电子方式发送通知,以向送礼者112通知所有权的成功转让。在步骤418中,送礼者计算设备114可以接收确认成功转让的通知。

经由区块链兑换礼品卡的过程

图5示出了用于在系统100中兑换礼品卡的过程,该过程利用区块链来存储与其相关的细节。

在步骤502中,接收者计算设备118可以向商家106提交数据以兑换(例如,经由图4所示并且在上面讨论的过程)先前转让给接收者116的礼品卡。在步骤504中,商家106可以接收兑换数据,该兑换数据可以至少包括礼品卡号、与接收者计算设备118相关联的设备标识符,以及由接收者计算设备118(例如,使用在图4的步骤412中向其提供的私钥)生成的数字签名。在步骤506中,商家106可以在兑换请求中将兑换数据提交给处理服务器102。在步骤508中,处理服务器102的接收设备202可以接收兑换请求,该兑换请求可以包括设备标识符、礼品卡号和数字签名。

在步骤510中,通过使用兑换请求中包括的数字签名来验证(例如,经由处理服务器102的查询模块214基于礼品卡号识别的)礼品卡的最新数据值中包括的区块链地址以及验证最新数据值中包括的设备标识符对应于兑换请求中包括的设备标识符,处理服务器102的验证模块216可以验证接收者计算设备118具有礼品卡的所有权。在步骤512中,处理服务器102的发送设备220可以向商家106以电子方式发送包括验证结果的确认,诸如表明接收者116是礼品卡的真正所有者。在步骤514中,商家106可以从处理服务器102接收确认。

在步骤516中,商家106可以处理涉及接收者116的包括礼品卡的兑换的电子支付交易。在步骤518中,商家106可以向处理服务器102以电子方式发送兑换确认,从而指示礼品卡已被兑换。在步骤520中,处理服务器102的接收设备202可以接收确认,该确认可以至少包括礼品卡号。在步骤522中,处理服务器102的生成模块218可以生成用于提交给区块链的新数据值,该新数据值至少包括礼品卡号。在一些情况下,数据值可以包括礼品卡已被兑换的指示。在其他情况下,数据值可以包括与零售商104或指示向其转让所有权的第三方实体相关联的区块链地址。在步骤524中,处理服务器102的发送设备220可以将新数据值以电子方式发送到区块链网络108中的节点110,以添加到与其相关联的区块链。

经由区块链安全使用礼品卡的方法

图6示出了经由区块链安全转让和使用礼品卡的方法600,该区块链用于存储与其相关联的细节。

在步骤602中,包括多个区块的区块链(例如,区块链208)可被存储在处理服务器(例如,处理服务器102)的存储器(例如,存储器206)中,其中每个区块至少包括区块头部和一个或多个数据值,每个区块头部至少包括时间戳、区块引用值和数据引用值,并且所述多个区块之一中包括的特定数据值与礼品卡相关并且至少包括礼品卡号和第一接收者地址。在步骤604中,可以由处理服务器的接收设备(例如,接收设备202)从第一计算系统(例如,零售商104)接收转让请求,其中该转让请求至少包括礼品卡号、第一数字签名,以及与计算设备(例如,送礼者计算设备114)相关联的设备标识符。

在步骤606中,可以由处理服务器的验证模块(例如,验证模块216)基于第一数字签名来验证第一接收者地址。在步骤608中,当成功验证第一接收者地址时,可以由处理服务器的生成模块(例如,生成模块218)生成新数据值,该新数据值至少包括礼品卡号、设备标识符和第二接收者地址。在步骤610中,可以由处理服务器的发送设备(例如,发送设备220)将所生成的新值以电子方式发送到与区块链相关联的节点(例如,节点110)。

在步骤612中,可以由处理服务器的接收设备从第二计算系统(例如,商家106)接收兑换请求,其中该兑换请求至少包括礼品卡号、第二数字签名以及提交的设备标识符。在步骤614中,可以由处理服务器的验证模块分别基于数字签名和设备标识符来验证第二接收者地址和提交的设备标识符。在步骤616中,可以由处理服务器的发送设备将第二接收者地址和提交的设备标识符的验证结果以电子方式发送到第二计算系统。

在一个实施例中,方法600还可以包括:由处理服务器的生成模块生成包括私钥和公钥的密钥对,其中该密钥对与第二接收者地址相关联;以及由处理服务器的发送设备将私钥发送到与设备标识符相关联的计算设备。在另一实施例中,方法600甚至可以还包括由处理服务器的生成模块使用公钥来生成第二接收者地址。在一些实施例中,计算设备可以在第一计算系统或第二计算系统外部。在一个实施例中,兑换请求还可以包括转让指示和至少第二设备标识符,所述第二设备标识符与第二计算设备(例如,接收者计算设备118)相关联,第二计算系统可以包括计算设备,并且方法600也可以包括:由处理服务器的生成模块生成后续数据值,所述后续数据值至少包括礼品卡号、第二设备标识符和第三接收者地址;以及由处理服务器的发送设备将所生成的后续数据值以电子方式发送到与区块链相关联的节点。

在一些实施例中,特定数据值还可以包括礼品卡余额。在另一实施例中,兑换请求还可以包括交易金额,并且对第二接收者地址和提交的设备标识符的验证还可以包括验证礼品卡余额至少等于交易金额。在又一实施例中,方法600还可以包括:由处理服务器的接收设备接收交易确认,其中所述交易确认至少包括礼品卡号和交易金额;由处理服务器的生成模块基于礼品卡余额和交易金额来生成更新后的数据值,所述更新后的数据值至少包括礼品卡号、第二设备标识符和更新后的余额金额;以及由处理服务器的发送设备将所生成的更新后的数据值以电子方式发送到与区块链相关联的节点。

计算机系统架构

图7示出了计算机系统700,其中本公开的实施例或其部分可被实现为计算机可读代码。例如,可以在计算机系统700中使用硬件、软件、固件、其上存储有指令的非暂态计算机可读介质或其组合来实现图1中的计算设备102,并且可以在一个或多个计算机系统或其他处理系统中实现图1中的计算设备102。硬件、软件或其任何组合可以包含用来实现图3-6的方法的模块和组件。

如果可编程逻辑被使用,则这种逻辑可以在由可执行软件代码配置的商业可用处理平台上执行,以成为专用计算机或专用设备(例如,可编程逻辑阵列、专用集成电路等)。本领域的普通技术人员可以认识到,可以利用各种计算机系统配置来实践所公开的主题的实施例,所述计算机系统配置包括多核多处理器系统、小型计算机、大型计算机、用分布式功能链接或集群的计算机,以及普遍计算机或可嵌入到实际上任何设备中的微型计算机。例如,可以使用至少一个处理器设备和存储器来实现上述实施例。

如本文讨论的处理器单元或处理器设备可以是单个处理器、多个处理器或其组合。处理器设备可具有一个或多个处理器“核心”。如本文讨论的术语“计算机程序介质”、“非暂态计算机可读介质”和“计算机可用介质”通常用来指代有形介质,诸如可移动存储单元718、可移动存储单元722以及安装在硬盘驱动器712中的硬盘。

根据该示例计算机系统700描述本公开的各种实施例。在阅读本说明书之后,如何使用其他计算机系统和/或计算机架构来实现本公开对于相关领域的技术人员来说将变得清楚。尽管操作可被描述为顺序过程,但是一些操作实际上可被并行地执行、并发地执行和/或在分布式环境中执行,并且程序代码被本地存储或远程存储以供单处理器或多处理器机器访问。此外,在一些实施例中,在不脱离所公开的主题的精神的情况下可以重新排列操作的顺序。

处理器设备704可以是专门配置成执行本文讨论的功能的专用处理器设备或通用处理器设备。处理器设备704可以连接到通信基础设施706,诸如总线、消息队列、网络、多核心消息传递方案等。网络可以是适合于执行如本文讨论的功能的任何网络,并且可以包括局域网(lan)、广域网(wan)、无线网络(例如,wifi)、移动通信网络、卫星网络、因特网、光纤、同轴电缆、红外线、射频(rf),或其任何组合。其他合适的网络类型和配置对于相关领域的技术人员来说将是清楚的。计算机系统700还可以包括主存储器708(例如,随机存取存储器、只读存储器等),并且也可以包括辅助存储器710。辅助存储器710可以包括硬盘驱动器712和可移动存储驱动器714,诸如软盘驱动器、磁带驱动器、光盘驱动器、闪存等。

可移动存储驱动器714可以以众所周知的方式从可移动存储单元718读取和/或向可移动存储单元718写入。可移动存储单元718可以包括可被可移动存储驱动器714读取和写入的可移动存储介质。例如,如果可移动存储驱动器714是软盘驱动器或通用串行总线端口,则可移动存储单元718可以分别是软盘或便携式闪存驱动器。在一个实施例中,可移动存储单元718可以是非暂态计算机可读记录介质。

在一些实施例中,辅助存储器710可以包括用于允许计算机程序或其他指令被加载到计算机系统700中的可选装置,例如可移动存储单元722和接口720。如对于相关领域的技术人员来说将清楚的是,这种装置的示例可以包括程序盒和盒接口(例如,如在视频游戏系统中发现的)、可移动存储器芯片(例如,eeprom、prom等)和关联的插座,以及其他可移动存储单元722和接口720。

存储在计算机系统700中(例如,在主存储器708和/或辅助存储器710中)的数据可以存储在任何类型的合适的计算机可读介质上,诸如光学存储装置(例如,紧凑盘、数字多功能盘、蓝光盘等)或磁带存储装置(例如,硬盘驱动器)。可以以任何类型的合适的数据库配置(诸如关系型数据库、结构化查询语言(sql)数据库、分布式数据库、对象数据库等)来配置数据。合适的配置和存储类型对于相关领域的技术人员来说将是清楚的。

计算机系统700还可以包括通信接口724。通信接口724可被配置为允许在计算机系统700与外部设备之间传送软件和数据。示例性通信接口724可以包括调制解调器、网络接口(例如,以太网卡)、通信端口、pcmcia插槽和卡等。如对于相关领域技术人员来说将清楚的是,经由通信接口724传送的软件和数据可以是信号的形式,所述信号可以是电子、电磁、光学或其他信号。信号可以经由通信路径726行进,通信路径726可被配置为承载信号并且可以使用导线、电缆、光纤、电话线、蜂窝电话链路、射频链路等来实现。

计算机系统700还可以包括显示接口702。显示接口702可被配置为允许在计算机系统700与外部显示器730之间传送数据。示例性显示接口702可以包括高清晰度多媒体接口(hdmi)、数字视频接口(dvi)、视频图形阵列(vga)等。显示器730可以是用于显示经由计算机系统700的显示接口702发送的数据的任何适当类型的显示器,包括阴极射线管(crt)显示器、液晶显示器(lcd)、发光二极管(led)显示器、电容式触摸显示器、薄膜晶体管(tft)显示器等。

计算机程序介质和计算机可用介质可以指代存储器,诸如主存储器708和辅助存储器710,其可以是存储器半导体(例如,dram等)。这些计算机程序产品可以是用于向计算机系统700提供软件的装置。计算机程序(例如,计算机控制逻辑)可以存储在主存储器708和/或辅助存储器710中。也可以经由通信接口724接收计算机程序。这样的计算机程序在被执行时可以使得计算机系统700能够实现如本文讨论的本方法。具体而言,计算机程序在被执行时可以使得处理器设备704能够实现如本文讨论的由图3-6示出的方法。因此,这样的计算机程序可以表示计算机系统700的控制器。在使用软件实现本公开的情况下,软件可以被存储在计算机程序产品中,并且使用可移动存储驱动器714、接口720和硬盘驱动器712或通信接口724而被加载到计算机系统700中。

处理器设备704可以包括被配置为执行计算机系统700的功能的一个或多个模块或引擎。每个模块或引擎可以使用硬件来实现,并且在一些情况下也可以利用比如对应于存储在主存储器708或辅助存储器710中的程序代码和/或程序的软件。在这样的情况下,在由计算机系统700的硬件执行之前,程序代码可以由处理器设备704编译(例如,通过编译模块或引擎)。例如,程序代码可以是以编程语言编写的源代码,其被转换成诸如汇编语言或机器代码之类的低级语言以供处理器设备704和/或计算机系统700的任何附加硬件组件执行。编译过程可以包括使用词法分析、预处理、解析、语义分析、语法指导的转换、代码生成、代码优化以及可能适合于将程序代码转换成适合于控制计算机系统700执行本文公开的功能的低级语言的任何其他技术。对于相关领域技术人员来说将清楚的是,这样的过程导致计算机系统700是独特编程为执行上面讨论的功能的专门配置的计算机系统700。

除了其他特征之外,与本公开一致的技术还提供了经由区块链安全使用礼品卡的系统和方法。虽然上面已经描述了所公开的系统和方法的各种示例性实施例,但应当理解,它们仅仅是为了示例而非限制的目的而提出的。其不是详尽无遗的,并且不会将公开内容限制于所公开的确切形式。鉴于上述教导,修改和变化是可能的,或者在不背离广度或范围的情况下可以从本公开的实践中获得修改和变化。

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