红包处理方法、设备和存储介质技术

技术编号:21225656 阅读:46 留言:0更新日期:2019-05-29 06:24
本发明专利技术提供一种红包处理方法、设备和存储介质,该方法包括:接收发红包请求信息和红包支付交易;生成主私钥和对应的主链码、主公钥,并根据红包个数生成第一索引列表;根据主私钥、主链码和第一索引列表生成子私钥列表,根据主公钥和主链码生成发红包交易;将发红包交易和红包支付交易打包为交易组并发送至区块链节点以供执行以将红包款项冻结在红包合约中、将主公钥和主链码记录到区块链上;向领到红包的用户端发送第一索引和对应的子私钥,以供通过子私钥签名生成签名信息、根据第一索引和签名信息生成红包领取交易并发送至节点以供执行以验证根据主公钥、主链码和第一索引生成的子公钥是否能验证签名信息:是,则发放红包。

Red Pack Processing Method, Equipment and Storage Media

The invention provides a red packet processing method, equipment and storage medium, which includes: receiving red packet request information and red packet payment transaction; generating main private key and corresponding main chain code, main public key, and generating the first index list according to the number of red packets; generating sub-private key list according to the main private key, main chain code and the first index list, and generating red packets according to the main public key and main chain code. Transactions; Packing red packet transactions and red packet payment transactions as transaction groups and sending them to block chain nodes for execution to freeze red packet payments in red packet contracts, record the main public key and main chain code on block chains; Sending the first index and corresponding sub-private key to the user receiving the red packet for generating signature information through the sub-private key signature, and according to the first index and signature information A red packet is generated to receive the transaction and sent to the node for execution to verify whether the signature information can be verified by the sub-public key generated according to the master public key, the main chain code and the first index: yes, the red packet is issued.

【技术实现步骤摘要】
红包处理方法、设备和存储介质
本申请涉及互联网
,具体涉及一种红包处理方法、设备和存储介质。
技术介绍
当前的红包处理方案都是基于传统的中心化服务器处理用户的发红包请求或抢红包请求,并进行红包分配等处理的中心化方案。当前市场上尚无成熟的去中心化或中心化与去中心化相结合的红包处理方案。完全去中心化的红包处理方案,尤其是抢红包模式这样的接收用户不确定模式的红包处理方案中,当前仍存在难以兼顾安全性和易用性的问题。例如,系统可以为发红包的用户自动生成验证方式,但通过区块链公开验证数据会使得作为抢红包用户的受众用户之外的其它区块链用户同样有机会获取到红包;而通过线下交流的方式将验证数据提供给抢到红包的用户,会使得方案的易用性大幅下降,难以吸引用户使用。
技术实现思路
鉴于现有技术中的上述缺陷或不足,期望提供一种中心化与去中心化相结合的红包处理方法、设备和存储介质。第一方面,本专利技术提供一种适用于服务端的红包处理方法,该方法包括:接收第一用户端发送的发红包请求信息和红包支付交易;其中,发红包请求信息包括红包个数;生成主私钥和对应的主链码、主公钥,并根据红包个数生成第一索引列表;其中,第一索引列表包括与红包个数相同数量的索引;根据主私钥、主链码和第一索引列表生成子私钥列表,根据主公钥和主链码生成发红包交易;将发红包交易和红包支付交易打包为交易组并发送至第一区块链的节点以供执行以将红包支付交易支付的红包款项冻结在红包合约中、将主公钥和主链码记录到第一区块链上;向领取到红包的用户的第二用户端发送第一索引列表中的第一索引和对应于第一索引的第一子私钥,以供第二用户端通过所述第一子私钥签名生成第一签名信息、根据第一索引和第一签名信息生成红包领取交易并发送至第一区块链的节点以供执行以通过红包合约验证根据主公钥、主链码和第一索引生成的第一子公钥是否能验证第一签名信息:是,则红包合约向用户的账户发放红包。第二方面,本专利技术提供一种适用于区块链节点的红包处理方法,该方法包括:接收并执行服务端发送的交易组以将红包支付交易支付的红包款项冻结在红包合约中、将主公钥和主链码记录到第一区块链上;其中,交易组由服务端接收第一用户端发送的发红包请求信息和红包支付交易,生成主私钥和对应的主链码、主公钥并根据发红包请求信息包括的红包个数生成第一索引列表,根据主私钥、主链码和第一索引列表生成子私钥列表,根据主公钥和主链码生成发红包交易后,将发红包交易和红包支付交易打包生成;接收并执行领取到红包的用户的第二用户端发送的红包领取交易以通过红包合约验证根据主公钥、主链码和第一索引生成的第一子公钥是否能验证第一签名信息:是,则红包合约向用户的账户发放红包;其中,红包领取交易由第二用户端在收到服务端发送的第一索引列表中的第一索引和对应于第一索引的第一子私钥后,通过第一子私钥签名生成第一签名信息、根据第一索引和第一签名信息生成。第三方面,本专利技术提供一种适用于用户端的红包处理方法,该方法包括:领取到红包后,接收服务端发送的第一索引列表中的第一索引和对应于第一索引的第一子私钥;其中,第一索引列表由服务端接收第一用户端发送的发红包请求信息和红包支付交易后,生成与发红包请求信息包括的红包个数相同个数的索引所组成,第一子私钥根据服务端生成的主私钥和主链码,以及第一索引生成;通过第一子私钥签名生成第一签名信息,根据第一索引和第一签名信息生成红包领取交易并发送至第一区块链的节点以供执行以通过红包合约验证根据主公钥、主链码和第一索引生成的第一子公钥是否能验证第一签名信息:是,则红包合约发放红包;其中,子私钥列表由服务端生成主私钥和对应的主链码、主公钥后,根据主私钥、主链码和第一索引列表生成,并由服务端根据主公钥和主链码生成发红包交易将发红包交易和红包支付交易打包为交易组并发送至第一区块链的节点以供执行以将红包支付交易支付的红包款项冻结在红包合约中、将主公钥和主链码记录到第一区块链上。第四方面,本专利技术提供另一种适用于服务端的红包处理方法,该方法包括:接收第一用户端发送的发红包请求信息和红包支付交易;其中,发红包请求信息包括红包个数;生成主私钥和对应的主链码、主公钥,并根据红包个数生成第一索引列表;其中,第一索引列表包括与红包个数相同数量的索引;根据主私钥、主链码和第一索引列表生成子私钥列表,根据主公钥和主链码生成发红包交易;将发红包交易和红包支付交易打包为交易组并发送至第一区块链的节点以供执行以将红包支付交易支付的红包款项冻结在红包合约中、将主公钥和主链码记录到第一区块链上;根据子私钥列表中的第一子私钥签名生成第一签名信息,并根据领取到红包的用户的账户信息、对应于第一子私钥的第一索引和第一签名信息生成红包领取交易并发送至第一区块链的节点以供执行以通过红包合约验证根据主公钥、主链码和第一索引生成的第一子公钥是否能验证第一签名信息:是,则红包合约向用户的账户发放红包。第五方面,本专利技术提供另一种适用于区块链节点的红包处理方法,该方法包括:接收并执行服务端发送的交易组以将红包支付交易支付的红包款项冻结在红包合约中、将主公钥和主链码记录到第一区块链上;其中,交易组由服务端接收第一用户端发送的发红包请求信息和红包支付交易,生成主私钥和对应的主链码、主公钥并根据发红包请求信息包括的红包个数生成第一索引列表,根据主私钥、主链码和第一索引列表生成子私钥列表,根据主公钥和主链码生成发红包交易后,将发红包交易和红包支付交易打包生成;接收并执行服务端发送的红包领取交易以通过红包合约验证根据主公钥、主链码和第一索引生成的第一子公钥是否能验证第一签名信息:是,则红包合约向用户的账户发放红包;其中,红包领取交易由服务端根据子私钥列表中的第一子私钥签名生成第一签名信息,并根据领取到红包的用户的账户信息、对应于第一子私钥的第一索引和第一签名信息生成。第六方面,本专利技术还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本专利技术各实施例提供的红包处理方法。第七方面,本专利技术还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本专利技术各实施例提供的红包处理方法。本专利技术诸多实施例提供的红包处理方法、设备和存储介质通过由服务端生成主公钥、主公钥、主链码、索引列表,并根据主私钥、主链码和索引列表膜生成子私钥列表,将主公钥和主链码记录至区块链上,使区块链上配置的红包合约可以根据主公钥、主链码和红包领取交易中的第一索引所生成的第一子公钥验证第一子私钥签名生成的签名信息来验证红包领取权限,实现了中心化与去中心化相结合的红包处理方案;本专利技术一些实施例提供的红包处理方法、设备和存储介质进一步通过由红包合约将红包款项分配至各子地址的账户中,并在发放红包时将第一索引对应的子地址的账户中的红包款项进行发放,保障了一项索引无法被重复用于红包领取。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1为本专利技术一实施例中红包处理方案的场景示意图。图2为本专利技术一实施例提供的一种适用于服务端的红包处理方法的流程图。图3为本专利技术一实施例提供的一种适用于区块链节点的红包处理方法的流程图。图4为图3所示方法的本文档来自技高网...

【技术保护点】
1.一种红包处理方法,其特征在于,所述方法适用于服务端,所述方法包括:接收第一用户端发送的发红包请求信息和红包支付交易;其中,所述发红包请求信息包括红包个数;生成主私钥和对应的主链码、主公钥,并根据所述红包个数生成第一索引列表;其中,所述第一索引列表包括与所述红包个数相同数量的索引;根据所述主私钥、所述主链码和所述第一索引列表生成子私钥列表,根据所述主公钥和所述主链码生成发红包交易;将所述发红包交易和所述红包支付交易打包为交易组并发送至第一区块链的节点以供执行以将所述红包支付交易支付的红包款项冻结在红包合约中、将所述主公钥和所述主链码记录到所述第一区块链上;向领取到红包的用户的第二用户端发送所述第一索引列表中的第一索引和对应于所述第一索引的第一子私钥,以供所述第二用户端通过所述第一子私钥签名生成第一签名信息、根据所述第一索引和第一签名信息生成红包领取交易并发送至所述第一区块链的节点以供执行以通过所述红包合约验证根据所述主公钥、所述主链码和所述第一索引生成的第一子公钥是否能验证所述第一签名信息:是,则所述红包合约向所述用户的账户发放红包。

【技术特征摘要】
1.一种红包处理方法,其特征在于,所述方法适用于服务端,所述方法包括:接收第一用户端发送的发红包请求信息和红包支付交易;其中,所述发红包请求信息包括红包个数;生成主私钥和对应的主链码、主公钥,并根据所述红包个数生成第一索引列表;其中,所述第一索引列表包括与所述红包个数相同数量的索引;根据所述主私钥、所述主链码和所述第一索引列表生成子私钥列表,根据所述主公钥和所述主链码生成发红包交易;将所述发红包交易和所述红包支付交易打包为交易组并发送至第一区块链的节点以供执行以将所述红包支付交易支付的红包款项冻结在红包合约中、将所述主公钥和所述主链码记录到所述第一区块链上;向领取到红包的用户的第二用户端发送所述第一索引列表中的第一索引和对应于所述第一索引的第一子私钥,以供所述第二用户端通过所述第一子私钥签名生成第一签名信息、根据所述第一索引和第一签名信息生成红包领取交易并发送至所述第一区块链的节点以供执行以通过所述红包合约验证根据所述主公钥、所述主链码和所述第一索引生成的第一子公钥是否能验证所述第一签名信息:是,则所述红包合约向所述用户的账户发放红包。2.根据权利要求1所述的方法,其特征在于,所述发红包交易还包括根据所述主公钥和所述第一索引列表生成的子地址列表;所述将所述红包支付交易支付的红包款项冻结在红包合约中包括:在红包合约中配置所述子地址列表所包括的各子地址的账户;将所述红包支付交易支付的红包款项分配至各子地址的账户中;所述红包合约向所述用户的账户发放红包包括:将所述红包合约中所述第一子公钥对应的第一子地址的账户中的红包款项发放给所述用户的账户。3.根据权利要求1或2所述的方法,其特征在于,所述方法采用子密钥推导(childkeyderivation,简称CKD)算法或增强密钥推导(hardenedkeyderivation,简称HKD)算法。4.一种红包处理方法,其特征在于,所述方法适用于区块链节点,所述方法包括:接收并执行服务端发送的交易组以将红包支付交易支付的红包款项冻结在红包合约中、将主公钥和主链码记录到第一区块链上;其中,所述交易组由所述服务端接收第一用户端发送的发红包请求信息和红包支付交易,生成主私钥和对应的主链码、主公钥并根据所述发红包请求信息包括的红包个数生成第一索引列表,根据所述主私钥、所述主链码和所述第一索引列表生成子私钥列表,根据所述主公钥和所述主链码生成发红包交易后,将所述发红包交易和所述红包支付交易打包生成;接收并执行领取到红包的用户的第二用户端发送的红包领取交易以通过所述红包合约验证根据所述主公钥、所述主链码和第一索引生成的第一子公钥是否能验证第一签名信息:是,则所述红包合约向所述用户的账户发放红包;其中,所述红包领取交易由所述第二用户端在收到所述服务端发送的所述第一索引列表中的第一索引和对应于所述第一索引的第一子私钥后,通过所述第一子私钥签名生成第一签名信息、根据所述第一索引和所述第一签名信息生成。5.根据权利要求4所述的方法,其特征在于,所述发红包交易还包括根据所述主公钥和所述第一索引列表生成的子地址列表;所述将所述红包支付交易支付的红包款项冻结在红包合约中包括:在红包合约中配置所述子地址列表所包括的各子地址的账户;将所述红包支付交易支付的红包款项分配至各子地址的账户中;所述红包合约向所述用户的账户发放红包包括:将所述红包合约中所述第一子公钥对应的第一子地址的账户中的红包款项发放给所述用户的账户。6.根据权利要求4或5所述的方法,其特征在于,所述方法采用子密钥推导(childkeyderivation,简称CKD)算法或增强密钥推导(hardenedkeyderivation,简称HKD)算法。7.一种红包处理方法,其特征在于,所述方法适用于用户端,所述方法包括:领取到红包后,接收服务端发送的第一索引列表中的第一索引和对应于所述第一索引的第一子私钥;其中,所述第一索引列表由所述服务端接收第一用户端发送的发红包请求信息和红包支付交易后,生成与所述发红包请求信息包括的红包个数相同个数的索引所组成,所述第一子私钥根据所述服务端生成的主私钥和所述主链码,以及所述第一索引生成;通过所述第一子私钥签名生成第一签名信息,根据所述第一索引和所述第一签名信息生成红包领取交易并发送至第一区块链的节点以供执行以通过红包合约验证根据所述主公钥、所述主链码和第一索引生成的第一子公钥是否能验证所述第一签名信息:是,则所述红包合约发放红包;其中,所述子私钥列表由所述服务端生成主私钥和对应的主链码、主公钥后,根据所述主私钥、所述主链码和所述第一索引列表生成,并由所述服务端根据所述主公钥和所述主链码生成发红包交易将所述发红包交易和所述红包支付交易打包为交易组并发送至第一区块链的节点以供执行以将所述红包支付交易支付的红...

【专利技术属性】
技术研发人员:吴思进王志文
申请(专利权)人:杭州复杂美科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1