CN109784888A - 红包处理方法、设备和存储介质 - Google Patents

红包处理方法、设备和存储介质 Download PDF

Info

Publication number
CN109784888A
CN109784888A CN201910077855.7A CN201910077855A CN109784888A CN 109784888 A CN109784888 A CN 109784888A CN 201910077855 A CN201910077855 A CN 201910077855A CN 109784888 A CN109784888 A CN 109784888A
Authority
CN
China
Prior art keywords
red packet
key
index
sub
transaction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910077855.7A
Other languages
English (en)
Inventor
吴思进
王志文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Fuzamei Technology Co Ltd
Original Assignee
Hangzhou Fuzamei Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Fuzamei Technology Co Ltd filed Critical Hangzhou Fuzamei Technology Co Ltd
Priority to CN201910077855.7A priority Critical patent/CN109784888A/zh
Publication of CN109784888A publication Critical patent/CN109784888A/zh
Pending legal-status Critical Current

Links

Abstract

本发明提供一种红包处理方法、设备和存储介质,该方法包括:接收发红包请求信息;生成主私钥和对应的主链码、主公钥,并根据红包个数生成第一索引列表;根据主私钥、主链码和第一索引列表生成子私钥列表,根据主公钥和主链码生成发红包交易;将发红包交易返回给第一用户端以供将发红包交易和红包支付交易打包为交易组并发送至区块链节点以供执行以将红包款项冻结在红包合约中、将主公钥和主链码记录到区块链上;向领到红包的用户端发送第一索引和对应的子私钥,以供通过子私钥签名生成签名信息、根据第一索引和签名信息生成红包领取交易并发送至节点以供执行以验证根据主公钥、主链码和第一索引生成的子公钥是否能验证签名信息:是,则发放红包。

Description

红包处理方法、设备和存储介质
技术领域
本申请涉及互联网技术领域,具体涉及一种红包处理方法、设备和存储介质。
背景技术
当前的红包处理方案都是基于传统的中心化服务器处理用户的发红包请求或抢红包请求,并进行红包分配等处理的中心化方案。当前市场上尚无成熟的去中心化或中心化与去中心化相结合的红包处理方案。
完全去中心化的红包处理方案,尤其是抢红包模式这样的接收用户不确定模式的红包处理方案中,当前仍存在难以兼顾安全性和易用性的问题。例如,系统可以为发红包的用户自动生成验证方式,但通过区块链公开验证数据会使得作为抢红包用户的受众用户之外的其它区块链用户同样有机会获取到红包;而通过线下交流的方式将验证数据提供给抢到红包的用户,会使得方案的易用性大幅下降,难以吸引用户使用。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种中心化与去中心化相结合的红包处理方法、设备和存储介质。
第一方面,本发明提供一种适用于服务端的红包处理方法,该方法包括:
接收第一用户端发送的发红包请求信息;其中,发红包请求信息包括红包个数;
生成主私钥和对应的主链码、主公钥,并根据红包个数生成第一索引列表;其中,第一索引列表包括与红包个数相同数量的索引;
根据主私钥、主链码和第一索引列表生成子私钥列表,根据主公钥和主链码生成发红包交易;
将发红包交易返回给第一用户端以供将发红包交易和红包支付交易打包为交易组并发送至第一区块链的节点以供执行以将红包支付交易支付的红包款项冻结在红包合约中、将主公钥和主链码记录到第一区块链上;
向领取到红包的用户的第二用户端发送第一索引列表中的第一索引和对应于第一索引的第一子私钥,以供第二用户端通过第一子私钥签名生成第一签名信息、根据第一索引和第一签名信息生成红包领取交易并发送至第一区块链的节点以供执行以通过红包合约验证根据主公钥、主链码和第一索引生成的第一子公钥是否能验证第一签名信息:是,则红包合约向用户的账户发放红包。
第二方面,本发明提供一种适用于区块链节点的红包处理方法,该方法包括:
接收并执行服务端发送的交易组以将红包支付交易支付的红包款项冻结在红包合约中、将主公钥和主链码记录到第一区块链上;其中,交易组第一用户端向服务端发送发红包请求信息,服务端生成主私钥和对应的主链码、主公钥并根据发红包请求信息包括的红包个数生成第一索引列表,根据主私钥、主链码和第一索引列表生成子私钥列表,根据主公钥和主链码生成发红包交易并返回给第一用户端后,第一用户端将发红包交易和红包支付交易打包生成;
接收并执行领取到红包的用户的第二用户端发送的红包领取交易以通过红包合约验证根据主公钥、主链码和第一索引生成的第一子公钥是否能验证第一签名信息:是,则红包合约向用户的账户发放红包;其中,红包领取交易由第二用户端在收到服务端发送的第一索引列表中的第一索引和对应于第一索引的第一子私钥后,通过第一子私钥签名生成第一签名信息、根据第一索引和第一签名信息生成。
第三方面,本发明提供一种适用于用户端的红包处理方法,该方法包括:
生成发红包请求信息并向服务端发送,以供服务端生成主私钥和对应的主链码、主公钥,并根据红包个数生成第一索引列表,根据主私钥、主链码和第一索引列表生成子私钥列表,根据主公钥和主链码生成发红包交易并返回;
接收发红包交易,将发红包交易和红包支付交易打包为交易组并发送至第一区块链的节点以供执行以将红包支付交易支付的红包款项冻结在红包合约中、将主公钥和主链码记录到第一区块链上。
第四方面,本发明提供另一种适用于用户端的红包处理方法,该方法包括:
领取到红包后,接收服务端发送的第一索引列表中的第一索引和对应于第一索引的第一子私钥;其中,第一索引列表由服务端接收第一用户端发送的发红包请求信息后,生成与发红包请求信息包括的红包个数相同个数的索引所组成,第一子私钥根据服务端生成的主私钥和主链码,以及第一索引生成;
通过第一子私钥签名生成第一签名信息,根据第一索引和第一签名信息生成红包领取交易并发送至第一区块链的节点以供执行以通过红包合约验证根据主公钥、主链码和第一索引生成的第一子公钥是否能验证第一签名信息:是,则红包合约发放红包;其中,子私钥列表由服务端生成主私钥和对应的主链码、主公钥后,根据主私钥、主链码和第一索引列表生成,并由服务端根据主公钥和主链码生成发红包交易并返回给第一用户端,第一用户端将发红包交易和红包支付交易打包为交易组并发送至第一区块链的节点以供执行以将红包支付交易支付的红包款项冻结在红包合约中、将主公钥和主链码记录到第一区块链上。
第五方面,本发明提供另一种适用于服务端的红包处理方法,该方法包括:
接收第一用户端发送的发红包请求信息;其中,发红包请求信息包括红包个数;
生成主私钥和对应的主链码、主公钥,并根据红包个数生成第一索引列表;其中,第一索引列表包括与红包个数相同数量的索引;
根据主私钥、主链码和第一索引列表生成子私钥列表,根据主公钥和主链码生成发红包交易;
将发红包交易返回给第一用户端以供将发红包交易和红包支付交易打包为交易组并发送至第一区块链的节点以供执行以将红包支付交易支付的红包款项冻结在红包合约中、将主公钥和主链码记录到第一区块链上;
根据子私钥列表中的第一子私钥签名生成第一签名信息,并根据领取到红包的用户的账户信息、对应于第一子私钥的第一索引和第一签名信息生成红包领取交易并发送至第一区块链的节点以供执行以通过红包合约验证根据主公钥、主链码和第一索引生成的第一子公钥是否能验证第一签名信息:是,则红包合约向用户的账户发放红包。
第六方面,本发明提供另一种适用于区块链节点的红包处理方法,该方法包括:
接收并执行服务端发送的交易组以将红包支付交易支付的红包款项冻结在红包合约中、将主公钥和主链码记录到第一区块链上;其中,交易组由第一用户端向服务端发送发红包请求信息,服务端生成主私钥和对应的主链码、主公钥并根据发红包请求信息包括的红包个数生成第一索引列表,根据主私钥、主链码和第一索引列表生成子私钥列表,根据主公钥和主链码生成发红包交易并返回给第一用户端后,第一用户端将发红包交易和红包支付交易打包生成;
接收并执行服务端发送的红包领取交易以通过红包合约验证根据主公钥、主链码和第一索引生成的第一子公钥是否能验证第一签名信息:是,则红包合约向用户的账户发放红包;其中,红包领取交易由服务端根据子私钥列表中的第一子私钥签名生成第一签名信息,并根据领取到红包的用户的账户信息、对应于第一子私钥的第一索引和第一签名信息生成。
第七方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的红包处理方法。
第八方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的红包处理方法。
本发明诸多实施例提供的红包处理方法、设备和存储介质通过由服务端生成主公钥、主公钥、主链码、索引列表,并根据主私钥、主链码和索引列表膜生成子私钥列表,将主公钥和主链码记录至区块链上,使区块链上配置的红包合约可以根据主公钥、主链码和红包领取交易中的第一索引所生成的第一子公钥验证第一子私钥签名生成的签名信息来验证红包领取权限,实现了中心化与去中心化相结合的红包处理方案;
本发明一些实施例提供的红包处理方法、设备和存储介质进一步通过由红包合约将红包款项分配至各子地址的账户中,并在发放红包时将第一索引对应的子地址的账户中的红包款项进行发放,保障了一项索引无法被重复用于红包领取。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例中红包处理方案的场景示意图。
图2为本发明一实施例提供的一种适用于服务端的红包处理方法的流程图。
图3为本发明一实施例提供的一种适用于区块链节点的红包处理方法的流程图。
图4为图3所示方法的一种优选实施方式的流程图。
图5为本发明一实施例提供的一种适用于用户端的红包处理方法的流程图。
图6为本发明一实施例提供的另一种适用于用户端的红包处理方法的流程图。
图7为本发明另一实施例提供的一种适用于服务端的红包处理方法的流程图。
图8为本发明另一实施例提供的一种适用于区块链节点的红包处理方法的流程图。
图9为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例中红包处理方案的场景示意图。以下将以图1所示的场景为例,对本发明提供的各项解决方案进行详细阐述。
图2为本发明一实施例提供的一种适用于服务端的红包处理方法的流程图。如图2所示,在本实施例中,本发明提供一种适用于服务端的红包处理方法,包括:
S101:接收第一用户端发送的发红包请求信息;其中,发红包请求信息包括红包个数;
S103:生成主私钥和对应的主链码、主公钥,并根据红包个数生成第一索引列表;其中,第一索引列表包括与红包个数相同数量的索引;
S105:根据主私钥、主链码和第一索引列表生成子私钥列表,根据主公钥和主链码生成发红包交易;
S107:将发红包交易返回给第一用户端以供将发红包交易和红包支付交易打包为交易组并发送至第一区块链的节点以供执行以将红包支付交易支付的红包款项冻结在红包合约中、将主公钥和主链码记录到第一区块链上;
S109:向领取到红包的用户的第二用户端发送第一索引列表中的第一索引和对应于第一索引的第一子私钥,以供第二用户端通过所述第一子私钥签名生成第一签名信息、根据第一索引和第一签名信息生成红包领取交易并发送至第一区块链的节点以供执行以通过红包合约验证根据主公钥、主链码和第一索引生成的第一子公钥是否能验证第一签名信息:是,则红包合约向用户的账户发放红包。
具体地,在本实施例中,服务端10同时还是某即时通讯工具的服务端,用户通过该即时通讯工具进行红包的收发;在更多实施例中,服务端10可以配置为专用于红包收发的服务端,或,同时配置为其它本领域用于进行红包收发的不同通讯工具的服务端,均可实现相同的技术效果。
以图1所示场景中,用户甲在该即时通讯工具的群里发送了一个总额为100xxx币的3人红包,用户乙、丙、丁抢到了该红包,用户戊、己等未抢到红包为例,对上述图2所示的方法进行详细阐述:
用户甲通过第一用户端20发送一个总额为100xxx币的3人红包,第一用户端20生成发红包请求信息m1和一笔向红包合约转账100xxx币的红包支付交易tx1,并将m1发送至服务端10。其中,发红包请求信息m1包括:红包总额:100,币种:xxx币,红包个数:3,红包分配类型:随机,等等。
在步骤S101中,服务端10接收上述第一用户端20发送的发红包请求信息m1。
在步骤S103中,服务端10为上述发红包请求信息m1生成主私钥、主链码和主公钥,并根据m1的红包个数(3)生成包括3个索引的第一索引列表【r1,r2,r3】。
具体地,在本实施例中,服务端10采用HD钱包的CKD(child key derivation)算法,根据随机生成的第一随机数生成种子,再根据种子生成主私钥和主链码,再根据主私钥生成相应的主公钥;第一索引列表中的各索引均为随机生成的随机数;在更多实施例中,服务器10还可以根据发红包请求信息m1的若干项参数生成CKD算法的种子或生成第一索引列表中的索引,只要生成种子或索引的参数不会因记录至区块链上被全部公开而导致安全隐患,即可实现相同的技术效果。
在步骤S105中,服务端10根据上述CKD算法、主私钥、主链码和第一索引列表生成包括3个子私钥的子私钥列表,并生成包括主公钥和主链码的发红包交易tx2,tx2还可以包括红包总额(100)、币种(xxx)、红包分配类型(随机)、红包个数(3)等信息;
在步骤S107中,服务端10将发红包交易tx2返回给用户甲的第一用户端20,第一用户端20接收tx2后,将tx1和tx2打包为交易组(tx1,tx2),将该交易组发送至第一区块链的节点501;
节点501将交易组(tx1,tx2)广播至第一区块链网络50的其它各节点501,各节点501分别将交易组(tx1,tx2)打包至区块中并执行,将用户甲支付的100xxx币冻结在红包合约中,并将主公钥和主链码记录到第一区块链上。
与上述步骤S103-S107并行地,服务端10作为即时通讯工具的服务端,根据发红包请求信息m1在群里发送红包信息,群里各用户的用户端接收红包信息后,用户乙、丙、丁抢到了该红包,用户戊、己等未抢到红包。
在步骤S109中,服务端10分别向抢到红包的用户乙、丙、丁的第二用户端30发送上述索引r1和对应的第一子私钥、r2和对应的第二子私钥、r3和对应的第三子私钥;
用户乙的第二用户端30收到索引r1和对应的第一子私钥后,通过第一子私钥签名生成第一签名信息,生成包括索引r1、第一签名信息和用户乙的账户地址add的红包领取交易tx3,并将tx3发送至节点501;在另一实施例中,也可以通过第一子私钥对add签名生成第一签名信息,并生成包括索引r1和第一签名信息的红包领取交易tx3’;
节点501接收、广播并通过红包合约执行tx3,根据主公钥、索引r1和主链码生成第一子公钥,再根据第一子公钥对第一签名信息进行验证:若验证成功,则将上述红包合约冻结的100xxx币中的一部分xxx币转账至add以完成向用户乙发放红包;
同理,用户丙和用户丁的第二用户端30在分别收到索引r2和对应的第二子私钥、r3和对应的第三子私钥后,分别生成红包领取交易tx4和tx5并发送至节点501;节点501通过红包合约验证后分别向用户丙和丁发放红包。
其中,当红包分配类型配置为随机时,红包合约可以将预定的第一算法确定的某个区块的区块哈希或某笔交易的交易哈希作为随机数,结合预定的第二算法,生成随机为用户乙、丙、丁分配的红包数额;红包合约还可以利用区块链系统所提供的随机数,例如申请人在CN201811351787.0号专利中提出的随机数生成方法所生成的随机数,结合上述预定的第二算法,生成随机为用户乙、丙、丁分配的红包数额;
而当红包分配类型配置为均分或其它非随机的分配方式时,红包合约可直接根据指定的分配方式进行分配。
上述实施例提供的方法采用了CKD算法生成子私钥和子公钥,在另一实施例中,还可以采用增强密钥推导(hardened key derivation,简称HKD)算法,可实现相同的技术效果。
上述实施例通过由服务端生成主公钥、主公钥、主链码、索引列表,并根据主私钥、主链码和索引列表膜生成子私钥列表,将主公钥和主链码记录至区块链上,使区块链上配置的红包合约可以根据主公钥、主链码和红包领取交易中的第一索引所生成的第一子公钥验证第一子私钥签名生成的签名信息来验证红包领取权限,实现了中心化与去中心化相结合的红包处理方案。
在上述实施例中,以红包支付交易对红包合约进行转账,红包领取交易包括第二用户的地址、红包合约向该地址转账为例,对上述方法进行了示例性的阐述;
在另一实施例中,红包合约配置有账户体系,对各用户的账户余额进行记账时,还可以将红包支付交易配置为冻结第一用户在红包合约中的余额,将红包领取交易配置为包括第二用户的账户标识信息、红包合约通过修改合约内第一用户和第二用户的账户余额实现对第二用户发放红包,可实现相同的技术效果。例如,红包合约中配置有账户体系,记录有用户甲的账户余额1000xxx币、用户乙的账户余额0xxx币,通过执行红包支付交易冻结用户甲的100xxx币(此时用户甲的账户余额900活动的xxx币、100冻结的xxx币),通过执行红包领取交易tx3修改红包合约的记账(此时用户甲的账户余额900活动的xxx币、80冻结的xxx币,用户乙的账户余额20xxx币)。
在一优选实施例中,红包合约配置有如上所述的账户体系,上述将红包支付交易支付的红包款项冻结在红包合约中包括:在红包合约中配置子地址列表所包括的各子地址的账户;以及,将红包支付交易支付的红包款项分配至各子地址的账户中;
上述红包合约向用户的账户发放红包包括:将红包合约中第一子地址的账户中的红包款项发放给用户的账户。
具体地,红包合约在执行交易组时,在红包合约中生成add1、add2、add3该3个账户,并将用户甲支付的红包款项按上述分配方式分配至该3个账户中;当红包合约执行根据索引r1生成的红包领取交易tx3并验证通过时,将add1账户中的红包款项发放给用户乙的账户(上述add或红包合约中用户乙的账户)。
上述实施例进一步通过由红包合约将红包款项分配至各子地址的账户中,并在发放红包时将第一索引对应的子地址的账户中的红包款项进行发放,保障了一项索引无法被重复用于红包领取。
图3为本发明一实施例提供的一种适用于区块链节点的红包处理方法的流程图。图3所示的方法可配合图2所示的方法执行。
如图3所示,在本实施例中,本发明还提供一种适用于区块链节点的红包处理方法,包括:
S201:接收并执行服务端发送的交易组以将红包支付交易支付的红包款项冻结在红包合约中、将主公钥和主链码记录到第一区块链上;其中,交易组由第一用户端向服务端发送发红包请求信息,服务端生成主私钥和对应的主链码、主公钥并根据发红包请求信息包括的红包个数生成第一索引列表,根据主私钥、主链码和第一索引列表生成子私钥列表,根据主公钥和主链码生成发红包交易并返回给第一用户端后,第一用户端将发红包交易和红包支付交易打包生成;
S203:接收并执行领取到红包的用户的第二用户端发送的红包领取交易以通过红包合约验证根据主公钥、主链码和第一索引生成的第一子公钥是否能验证第一签名信息:
是,则执行步骤S205:红包合约向用户的账户发放红包;其中,红包领取交易由第二用户端在收到服务端发送的第一索引列表中的第一索引和对应于第一索引的第一子私钥后,通过第一子私钥签名生成第一签名信息、根据第一索引和第一签名信息生成。
图3所示方法的红包处理原理可参照图2所示的方法,此处不再赘述。
图4为图3所示方法的一种优选实施方式的流程图。图4所示的方法可配合图2所示的优选实施例所提供的方法执行。
如图4所示,在一优选实施例中,步骤S201包括:
S2012:在红包合约中配置子地址列表所包括的各子地址的账户;
S2014:将红包支付交易支付的红包款项分配至各子地址的账户中;
S2016:将主公钥和子地址列表记录到第一区块链上;
步骤S205包括:
S2052:将红包合约中第一子地址的账户中的红包款项发放给该用户的账户。
图4所示方法的红包处理原理可参照图2所示的优选实施例提供的方法,此处不再赘述。
图5为本发明一实施例提供的一种适用于用户端的红包处理方法的流程图。图5所示的方法可配合图2-4所示的方法执行。
如图5所示,在本实施例中,本发明还提供一种适用于上述第一用户端的红包处理方法,包括:
S301:生成发红包请求信息并向服务端发送,以供服务端生成主私钥和对应的主链码、主公钥,并根据红包个数生成第一索引列表,根据主私钥、主链码和第一索引列表生成子私钥列表,根据主公钥和主链码生成发红包交易并返回;
S303:接收发红包交易,将发红包交易和红包支付交易打包为交易组并发送至第一区块链的节点以供执行以将红包支付交易支付的红包款项冻结在红包合约中、将主公钥和主链码记录到第一区块链上。
图5所示方法的红包处理原理同样可参照图2所示的方法,此处不再赘述。
图6为本发明一实施例提供的另一种适用于用户端的红包处理方法的流程图。图6所示的方法可配合图2-4所示的方法执行。
如图6所示,在本实施例中,本发明还提供一种适用于上述第二用户端的红包处理方法,包括:
S401:领取到红包后,接收服务端发送的第一索引列表中的第一索引和对应于第一索引的第一子私钥;其中,第一索引列表由服务端接收第一用户端发送的发红包请求信息后,生成与发红包请求信息包括的红包个数相同个数的索引所组成,第一子私钥根据服务端生成的主私钥和主链码,以及第一索引生成;
S403:通过第一子私钥签名生成第一签名信息,根据第一索引和第一签名信息生成红包领取交易并发送至第一区块链的节点以供执行以通过红包合约验证根据主公钥、主链码和第一索引生成的第一子公钥是否能验证第一签名信息:是,则红包合约发放红包;其中,子私钥列表由服务端生成主私钥和对应的主链码、主公钥后,根据主私钥、主链码和第一索引列表生成,并由服务端根据主公钥和主链码生成发红包交易并返回给第一用户端,第一用户端将发红包交易和红包支付交易打包为交易组并发送至第一区块链的节点以供执行以将红包支付交易支付的红包款项冻结在红包合约中、将主公钥和主链码记录到第一区块链上。
图6所示方法的红包处理原理同样可参照图2所示的方法,此处不再赘述。
图7为本发明另一实施例提供的一种适用于服务端的红包处理方法的流程图。如图7所示,在另一实施例中,本发明还提供另一种适用于服务端的红包处理方法,包括:
S501:接收第一用户端发送的发红包请求信息;其中,发红包请求信息包括红包个数;
S503:生成主私钥和对应的主链码、主公钥,并根据红包个数生成第一索引列表;其中,第一索引列表包括与红包个数相同数量的索引;
S505:根据主私钥、主链码和第一索引列表生成子私钥列表,根据主公钥和主链码生成发红包交易;
S507:将发红包交易返回给第一用户端以供将发红包交易和红包支付交易打包为交易组并发送至第一区块链的节点以供执行以将红包支付交易支付的红包款项冻结在红包合约中、将主公钥和主链码记录到第一区块链上;
S509:根据子私钥列表中的第一子私钥签名生成第一签名信息,并根据领取到红包的用户的账户信息、对应于第一子私钥的第一索引和第一签名信息生成红包领取交易并发送至第一区块链的节点以供执行以通过红包合约验证根据主公钥、主链码和第一索引生成的第一子公钥是否能验证第一签名信息:是,则红包合约向用户的账户发放红包。
优选地,上述将红包支付交易支付的红包款项冻结在红包合约中包括:在红包合约中配置子地址列表所包括的各子地址的账户;以及,将红包支付交易支付的红包款项分配至各子地址的账户中;
上述红包合约向用户的账户发放红包包括:将红包合约中第一子地址的账户中的红包款项发放给用户的账户。
图7所示方法与图2所示方法的区别在于,在图7所示的方法中,步骤S509中由服务端10为第二用户生成红包领取交易并发送至节点501,而在图2所示的方法中,步骤S109中由第二用户的第二用户端30生成红包领取交易并发送至节点501。
图8为本发明另一实施例提供的一种适用于区块链节点的红包处理方法的流程图。图8所示的方法可配合图7所示的方法执行。
如图8所示,在另一实施例中,本发明还提供另一种适用于区块链节点的红包处理方法,包括:
S601:接收并执行服务端发送的交易组以将红包支付交易支付的红包款项冻结在红包合约中、将主公钥和主链码记录到第一区块链上;其中,交易组由第一用户端向服务端发送发红包请求信息,服务端生成主私钥和对应的主链码、主公钥并根据发红包请求信息包括的红包个数生成第一索引列表,根据主私钥、主链码和第一索引列表生成子私钥列表,根据主公钥和主链码生成发红包交易并返回给第一用户端后,第一用户端将发红包交易和红包支付交易打包生成;
S603:接收并执行服务端发送的红包领取交易以通过红包合约验证根据主公钥、主链码和第一索引生成的第一子公钥是否能验证第一签名信息:
是,则执行步骤S605:红包合约向用户的账户发放红包;其中,红包领取交易由服务端根据子私钥列表中的第一子私钥签名生成第一签名信息,并根据领取到红包的用户的账户信息、对应于第一子私钥的第一索引和第一签名信息生成。
图8所示方法与图3所示方法的区别同样在于,在图8所示的方法中,红包领取交易由服务端10生成并发送至节点501,而在图3所示的方法中,红包领取交易由第二用户端30生成并发送至节点501。
图9为本发明一实施例提供的一种设备的结构示意图。
如图9所示,作为另一方面,本申请还提供了一种设备900,包括一个或多个中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM903中,还存储有设备900操作所需的各种程序和数据。CPU901、ROM902以及RAM903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本公开的实施例,上述任一实施例描述的红包处理方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行红包处理方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请的红包处理方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (18)

1.一种红包处理方法,其特征在于,所述方法适用于服务端,所述方法包括:
接收第一用户端发送的发红包请求信息;其中,所述发红包请求信息包括红包个数;
生成主私钥和对应的主链码、主公钥,并根据所述红包个数生成第一索引列表;其中,所述第一索引列表包括与所述红包个数相同数量的索引;
根据所述主私钥、所述主链码和所述第一索引列表生成子私钥列表,根据所述主公钥和所述主链码生成发红包交易;
将所述发红包交易返回给所述第一用户端以供将所述发红包交易和红包支付交易打包为交易组并发送至第一区块链的节点以供执行以将所述红包支付交易支付的红包款项冻结在红包合约中、将所述主公钥和所述主链码记录到所述第一区块链上;
向领取到红包的用户的第二用户端发送所述第一索引列表中的第一索引和对应于所述第一索引的第一子私钥,以供所述第二用户端通过所述第一子私钥签名生成第一签名信息、根据所述第一索引和第一签名信息生成红包领取交易并发送至所述第一区块链的节点以供执行以通过所述红包合约验证根据所述主公钥、所述主链码和所述第一索引生成的第一子公钥是否能验证所述第一签名信息:是,则所述红包合约向所述用户的账户发放红包。
2.根据权利要求1所述的方法,其特征在于,所述发红包交易还包括根据所述主公钥和所述第一索引列表生成的子地址列表;
所述将所述红包支付交易支付的红包款项冻结在红包合约中包括:
在红包合约中配置所述子地址列表所包括的各子地址的账户;
将所述红包支付交易支付的红包款项分配至各子地址的账户中;
所述红包合约向所述用户的账户发放红包包括:将所述红包合约中所述第一子公钥对应的第一子地址的账户中的红包款项发放给所述用户的账户。
3.根据权利要求1或2所述的方法,其特征在于,所述方法采用子密钥推导(child keyderivation,简称CKD)算法或增强密钥推导(hardened key derivation,简称HKD)算法。
4.一种红包处理方法,其特征在于,所述方法适用于区块链节点,所述方法包括:
接收并执行服务端发送的交易组以将红包支付交易支付的红包款项冻结在红包合约中、将主公钥和主链码记录到第一区块链上;其中,所述交易组第一用户端向所述服务端发送发红包请求信息,所述服务端生成主私钥和对应的主链码、主公钥并根据所述发红包请求信息包括的红包个数生成第一索引列表,根据所述主私钥、所述主链码和所述第一索引列表生成子私钥列表,根据所述主公钥和所述主链码生成发红包交易并返回给所述第一用户端后,所述第一用户端将所述发红包交易和红包支付交易打包生成;
接收并执行领取到红包的用户的第二用户端发送的红包领取交易以通过所述红包合约验证根据所述主公钥、所述主链码和第一索引生成的第一子公钥是否能验证第一签名信息:是,则所述红包合约向所述用户的账户发放红包;其中,所述红包领取交易由所述第二用户端在收到所述服务端发送的所述第一索引列表中的第一索引和对应于所述第一索引的第一子私钥后,通过所述第一子私钥签名生成第一签名信息、根据所述第一索引和所述第一签名信息生成。
5.根据权利要求4所述的方法,其特征在于,所述发红包交易还包括根据所述主公钥和所述第一索引列表生成的子地址列表;
所述将所述红包支付交易支付的红包款项冻结在红包合约中包括:
在红包合约中配置所述子地址列表所包括的各子地址的账户;
将所述红包支付交易支付的红包款项分配至各子地址的账户中;
所述红包合约向所述用户的账户发放红包包括:将所述红包合约中所述第一子公钥对应的第一子地址的账户中的红包款项发放给所述用户的账户。
6.根据权利要求4或5所述的方法,其特征在于,所述方法采用子密钥推导(child keyderivation,简称CKD)算法或增强密钥推导(hardened key derivation,简称HKD)算法。
7.一种红包处理方法,其特征在于,所述方法适用于用户端,所述方法包括:
生成发红包请求信息并向服务端发送,以供所述服务端生成主私钥和对应的主链码、主公钥,并根据所述红包个数生成第一索引列表,根据所述主私钥、所述主链码和所述第一索引列表生成子私钥列表,根据所述主公钥和所述主链码生成发红包交易并返回;
接收所述发红包交易,将所述发红包交易和红包支付交易打包为交易组并发送至第一区块链的节点以供执行以将所述红包支付交易支付的红包款项冻结在红包合约中、将所述主公钥和所述主链码记录到所述第一区块链上。
8.一种红包处理方法,其特征在于,所述方法适用于用户端,所述方法包括:
领取到红包后,接收服务端发送的第一索引列表中的第一索引和对应于所述第一索引的第一子私钥;其中,所述第一索引列表由所述服务端接收第一用户端发送的发红包请求信息后,生成与所述发红包请求信息包括的红包个数相同个数的索引所组成,所述第一子私钥根据所述服务端生成的主私钥和所述主链码,以及所述第一索引生成;
通过所述第一子私钥签名生成第一签名信息,根据所述第一索引和所述第一签名信息生成红包领取交易并发送至第一区块链的节点以供执行以通过红包合约验证根据所述主公钥、所述主链码和第一索引生成的第一子公钥是否能验证所述第一签名信息:是,则所述红包合约发放红包;其中,所述子私钥列表由所述服务端生成主私钥和对应的主链码、主公钥后,根据所述主私钥、所述主链码和所述第一索引列表生成,并由所述服务端根据所述主公钥和所述主链码生成发红包交易并返回给所述第一用户端,所述第一用户端将所述发红包交易和所述红包支付交易打包为交易组并发送至第一区块链的节点以供执行以将所述红包支付交易支付的红包款项冻结在红包合约中、将所述主公钥和所述主链码记录到所述第一区块链上。
9.根据权利要求8所述的方法,其特征在于,所述发红包交易还包括根据所述主公钥和所述第一索引列表生成的子地址列表;
所述将所述红包支付交易支付的红包款项冻结在红包合约中包括:
在红包合约中配置所述子地址列表所包括的各子地址的账户;
将所述红包支付交易支付的红包款项分配至各子地址的账户中;
所述红包合约发放红包包括:根据所述红包合约中第一子公钥对应的所述第一子地址的账户中的红包款项发放红包。
10.根据权利要求8或9所述的方法,其特征在于,所述方法采用子密钥推导(child keyderivation,简称CKD)算法或增强密钥推导(hardened key derivation,简称HKD)算法。
11.一种红包处理方法,其特征在于,所述方法适用于服务端,所述方法包括:
接收第一用户端发送的发红包请求信息;其中,所述发红包请求信息包括红包个数;
生成主私钥和对应的主链码、主公钥,并根据所述红包个数生成第一索引列表;其中,所述第一索引列表包括与所述红包个数相同数量的索引;
根据所述主私钥、所述主链码和所述第一索引列表生成子私钥列表,根据所述主公钥和所述主链码生成发红包交易;
将所述发红包交易返回给所述第一用户端以供将所述发红包交易和红包支付交易打包为交易组并发送至第一区块链的节点以供执行以将所述红包支付交易支付的红包款项冻结在红包合约中、将所述主公钥和所述主链码记录到所述第一区块链上;
根据所述子私钥列表中的第一子私钥签名生成第一签名信息,并根据领取到红包的用户的账户信息、对应于所述第一子私钥的第一索引和所述第一签名信息生成红包领取交易并发送至所述第一区块链的节点以供执行以通过所述红包合约验证根据所述主公钥、所述主链码和所述第一索引生成的第一子公钥是否能验证所述第一签名信息:是,则所述红包合约向所述用户的账户发放红包。
12.根据权利要求11所述的方法,其特征在于,所述发红包交易还包括根据所述主公钥和所述第一索引列表生成的子地址列表;
所述将所述红包支付交易支付的红包款项冻结在红包合约中包括:
在红包合约中配置所述子地址列表所包括的各子地址的账户;
将所述红包支付交易支付的红包款项分配至各子地址的账户中;
所述红包合约向所述用户的账户发放红包包括:将所述红包合约中所述第一子公钥对应的第一子地址的账户中的红包款项发放给所述用户的账户。
13.根据权利要求11或12所述的方法,其特征在于,所述方法采用子密钥推导(childkey derivation,简称CKD)算法或增强密钥推导(hardened key derivation,简称HKD)算法。
14.一种红包处理方法,其特征在于,所述方法适用于区块链节点,所述方法包括:
接收并执行服务端发送的交易组以将红包支付交易支付的红包款项冻结在红包合约中、将主公钥和主链码记录到第一区块链上;其中,所述交易组由第一用户端向所述服务端发送发红包请求信息,所述服务端生成主私钥和对应的主链码、主公钥并根据所述发红包请求信息包括的红包个数生成第一索引列表,根据所述主私钥、所述主链码和所述第一索引列表生成子私钥列表,根据所述主公钥和所述主链码生成发红包交易并返回给所述第一用户端后,所述第一用户端将所述发红包交易和红包支付交易打包生成;
接收并执行所述服务端发送的红包领取交易以通过所述红包合约验证根据所述主公钥、所述主链码和第一索引生成的第一子公钥是否能验证第一签名信息:是,则所述红包合约向所述用户的账户发放红包;其中,所述红包领取交易由所述服务端根据所述子私钥列表中的第一子私钥签名生成第一签名信息,并根据领取到红包的用户的账户信息、对应于所述第一子私钥的第一索引和所述第一签名信息生成。
15.根据权利要求14所述的方法,其特征在于,所述发红包交易还包括根据所述主公钥和所述第一索引列表生成的子地址列表;
所述将所述红包支付交易支付的红包款项冻结在红包合约中包括:
在红包合约中配置所述子地址列表所包括的各子地址的账户;
将所述红包支付交易支付的红包款项分配至各子地址的账户中;
所述红包合约向所述用户的账户发放红包包括:将所述红包合约中所述第一子公钥对应的第一子地址的账户中的红包款项发放给所述用户的账户。
16.根据权利要求14或15所述的方法,其特征在于,所述方法采用子密钥推导(childkey derivation,简称CKD)算法或增强密钥推导(hardened key derivation,简称HKD)算法。
17.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-16中任一项所述的方法。
18.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-16中任一项所述的方法。
CN201910077855.7A 2019-01-28 2019-01-28 红包处理方法、设备和存储介质 Pending CN109784888A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910077855.7A CN109784888A (zh) 2019-01-28 2019-01-28 红包处理方法、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910077855.7A CN109784888A (zh) 2019-01-28 2019-01-28 红包处理方法、设备和存储介质

Publications (1)

Publication Number Publication Date
CN109784888A true CN109784888A (zh) 2019-05-21

Family

ID=66501436

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910077855.7A Pending CN109784888A (zh) 2019-01-28 2019-01-28 红包处理方法、设备和存储介质

Country Status (1)

Country Link
CN (1) CN109784888A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110223067A (zh) * 2019-06-12 2019-09-10 北京航空航天大学 一种具有去中心化特性的链下一对多支付方法及系统
CN110363512A (zh) * 2019-07-12 2019-10-22 上海唯链信息科技有限公司 区块链红包的处理、创建、领取方法和装置、介质及计算机程序
CN111148055A (zh) * 2019-12-30 2020-05-12 珠海市小源科技有限公司 流量红包的处理方法、装置及存储介质
WO2020156480A1 (zh) * 2019-01-28 2020-08-06 杭州复杂美科技有限公司 红包处理方法、设备和存储介质
WO2021088704A1 (zh) * 2019-11-06 2021-05-14 杭州复杂美科技有限公司 扫码发红包方法、设备和存储介质
CN113379404A (zh) * 2020-03-10 2021-09-10 本无链科技(深圳)有限公司 一种基于区块链的手气红包系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107480986A (zh) * 2017-08-14 2017-12-15 飞天诚信科技股份有限公司 一种利用硬件实现数字货币钱包的方法及硬件钱包
WO2018137316A1 (zh) * 2017-01-24 2018-08-02 上海亿账通区块链科技有限公司 基于区块链的安全交易方法、电子装置、系统及存储介质
CN108737105A (zh) * 2018-05-07 2018-11-02 中钞信用卡产业发展有限公司杭州区块链技术研究院 私钥的找回方法、装置、私钥设备和介质
CN108921525A (zh) * 2018-06-29 2018-11-30 北京金山安全软件有限公司 区块链红包的处理方法、装置、电子设备及介质
CN108985760A (zh) * 2018-06-15 2018-12-11 杭州复杂美科技有限公司 支付方法及系统、设备和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018137316A1 (zh) * 2017-01-24 2018-08-02 上海亿账通区块链科技有限公司 基于区块链的安全交易方法、电子装置、系统及存储介质
CN107480986A (zh) * 2017-08-14 2017-12-15 飞天诚信科技股份有限公司 一种利用硬件实现数字货币钱包的方法及硬件钱包
CN108737105A (zh) * 2018-05-07 2018-11-02 中钞信用卡产业发展有限公司杭州区块链技术研究院 私钥的找回方法、装置、私钥设备和介质
CN108985760A (zh) * 2018-06-15 2018-12-11 杭州复杂美科技有限公司 支付方法及系统、设备和存储介质
CN108921525A (zh) * 2018-06-29 2018-11-30 北京金山安全软件有限公司 区块链红包的处理方法、装置、电子设备及介质

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020156480A1 (zh) * 2019-01-28 2020-08-06 杭州复杂美科技有限公司 红包处理方法、设备和存储介质
CN110223067A (zh) * 2019-06-12 2019-09-10 北京航空航天大学 一种具有去中心化特性的链下一对多支付方法及系统
CN110223067B (zh) * 2019-06-12 2021-04-06 北京航空航天大学 一种具有去中心化特性的链下一对多支付方法及系统
CN110363512A (zh) * 2019-07-12 2019-10-22 上海唯链信息科技有限公司 区块链红包的处理、创建、领取方法和装置、介质及计算机程序
CN110363512B (zh) * 2019-07-12 2022-12-20 上海唯链信息科技有限公司 区块链红包的处理、创建、领取方法和装置、介质及计算机程序
WO2021088704A1 (zh) * 2019-11-06 2021-05-14 杭州复杂美科技有限公司 扫码发红包方法、设备和存储介质
CN111148055A (zh) * 2019-12-30 2020-05-12 珠海市小源科技有限公司 流量红包的处理方法、装置及存储介质
CN113379404A (zh) * 2020-03-10 2021-09-10 本无链科技(深圳)有限公司 一种基于区块链的手气红包系统及方法

Similar Documents

Publication Publication Date Title
CN109816362A (zh) 红包处理方法、设备和存储介质
CN109784888A (zh) 红包处理方法、设备和存储介质
US20230254168A1 (en) System and method for controlling asset-related actions via a block chain
CN109727009A (zh) 红包处理方法、设备和存储介质
KR101987692B1 (ko) 블록체인 집행의 스마트 계약을 위한 레지스트리 및 자동화 관리 방법
CN109863719B (zh) 用于通过区块链控制转移的方法和系统
CN106228446B (zh) 基于私有区块链的资产交易平台系统及方法
CN107332826B (zh) 区块链代理节点的通信方法及装置
CN109325762A (zh) 平行链跨链交易方法、设备和存储介质
CN109741052A (zh) 红包处理方法、设备和存储介质
CN108492105A (zh) 基于区块链的资产交易监管方法、系统、设备及存储介质
CN113222752A (zh) 基于区块链的数据处理系统、方法、计算设备及存储介质
CN109087099A (zh) 一种隐私交易方法及系统、设备和存储介质
CN109034801A (zh) 一种隐私交易方法及系统、设备和可存储介质
CN109934566A (zh) 红包处理方法、设备和存储介质
CN108470401A (zh) 一种带轻钱包的智能燃气表系统
CN108830711A (zh) 一种基于区块链的能源互联网交易账本管理方法及系统
CN110113409A (zh) 平行链授权节点配置方法、设备和存储介质
CN109558112A (zh) 随机数生成方法、防作弊区块链系统、设备和存储介质
CN110428332A (zh) 一种平行链跨链交易方法、设备和存储介质
CN109272388A (zh) 一种基于区块链的购物方法、设备和存储介质
CN107330691A (zh) 一种数字货币钱包支付的方法和系统
CN110443610A (zh) 用于减少交易组重复广播的方法和系统、设备及存储介质
CN110288346A (zh) 区块链分布式存储下载方法、设备和存储介质
CN109410039A (zh) 质押借款方法、设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination