一种基于区块链的手气红包系统及方法与流程

文档序号:26589664发布日期:2021-09-10 20:29阅读:211来源:国知局
一种基于区块链的手气红包系统及方法与流程

1.本发明涉及区块链技术领域,特别是一种基于区块链的手气红包系统及方法。


背景技术:

2.目前发红包是中国以及汉子文化圈背景下各地区在各种特殊日子下表达庆祝的一种活动,发展到明清时期逐渐演变为在红包里放入金钱的形式,一直到科技发达的现代社会,红包里放金钱的形式一直处于主要发放方式,在信息化高度普及的今天,采用信息化的手段发放红包逐渐成为主流的红包发放形式,而由此诞生出来的各种红包玩法层出不穷,由于信息化集中控制的问题,利用红包作弊的方法也越来越多,也逐渐导致人们开始对红包的公平性产生了一点怀疑,尤其是在拼手气一类的抢红包中,对于长期都只抢到最低金额的人来说,很难不怀疑红包的发放中有作弊嫌弃,由于红包金额始终是在发送前保密,所以始终无法让用户相信红包没有在发送时就已经按照特定人进行匹配,平台方为了保证红包的游戏性,即使没有作弊也无法在红包拆开前就公开红包金额,这让红包参与者与平台方之间陷入双输的困境。那么,如何解决平台方在红包发送前定向匹配,以及红包发送后作弊不让特定人领特定红包,让参与者可以诚实平等的参与红包游戏,成为一个急需解决的问题。


技术实现要素:

3.本发明旨在提出一种基于区块链的手气红包系统及方法。
4.一种基于区块链的手气红包系统,包括账务管理器、冻结管理器、解冻管理器、红包发放管理器、抢红包管理器,其特征在于:所述账务管理器用于管理当前红包参与者的资产账户,所述资产账户中管理着对应红包参与者所持有的资产;所述冻结管理器用于管理红包参与者资产账户的冻结信息,在红包参与者发放红包时将把红包金额全额冻结在链上,在所述冻结信息中列明冻结来源于哪一个红包,冻结的最长时间由红包发放者指定,所述时长不能超过链上最大冻结时间;所述解冻管理器用于执行账务的解冻操作,在红包参与者抢中红包后将会把红包资产解冻到抢中用户,另外,在抢红包结束时抢红包者还未全部抢完时,冻结资金将会解冻退回到红包发放者的账户;所述红包发放管理器用于红包发放者发放红包,并指定这个红包的可以参与者范围,不指定时为任何人,所述指定参与者范围内的参与者才可以抢红包;所述抢红包管理器用于抢红包者发出交易申请抢这个红包,抢红包时将在链上生成一个随机数作为抢红包的金额,并在抢中时获得红包内资产的解冻;红包参与者包括红包发放者、抢红包者。
5.系统通过账务管理器在区块链上创建一个账户,红包发放管理器创建空白发放红包的交易,设定抢红包的规则,将发放红包的交易转为区块链交易;对交易进行检查;红包发放管理器和冻结管理器对账户进行处理;抢红包者提交抢红包申请并获得中红包,抢红包管理器对红包进行查询,生产区块交易;抢红包管理器和红包发放器管理交易的合法性;抢红包管理器获取红包类型,对红包进行交易处理;账务管理器对账务进行处理;抢红包管
理器、冻结管理器和解冻管理器对红包金额和账户进行处理,最终完成红包发放、抢红包、账户资产处理,完成一次抢红包。
6.进一步,所述账务管理器包含账务清单模块、账务查询模块、账务接口模块;
7.所述账务清单模块用于存储红包参与者账务,红包参与者包括红包发放者和抢红包者,当双方加入红包游戏时将新增或更新账务信息;
8.所述账务查询模块用于查询账务;
9.所述账务接口模块用于提供账务管理器内部与外部交互的接口,是对外提供账务信息服务的入口。
10.进一步,所述冻结管理器包含冻结账户模块、冻结清单模块;
11.所述冻结账户模块用于管理当前已冻结的账户的信息,包括冻结哪个红包发放者的哪一个红包,以及冻结数量是多少,所述冻结账户与红包发放者的可用账户是两套完全独立的账户;
12.所述冻结清单模块用于记录当前账户冻结的原因,分别来自于哪一个红包。
13.进一步,所述解冻管理器包含解冻执行模块、账务退回模块;
14.所述解冻执行模块用于将红包发放者的账务解冻,并通知账务退回模块退回到抢红包者账户中,在等待接收到抢红包管理器的通知后执行,并在执行结束后,将该明细的冻结数量清零,更新冻结账户,并通知账务退回模块进行相应的操作;
15.所述账务退回模块中用于将解冻执行模块指定数量的资产解冻到指定账户,具体是抢红包者账户还是红包发放者账户或其它特定账户,由红包发放规则指定。
16.进一步,所述红包发放管理器包含红包信息模块、红包规则模块、红包发送模块;
17.所述红包信息模块用于发布当前链上的红包信息,以供网络中其他参与者可以即时看到红包并抢红包;
18.所述红包规则模块用于定义这个红包的具体规则,所述红包所采用的红包类型,红包类型支持固定金额红包、随机金额红包两种类型,以及这个红包可以抢的参与者范围,参与者为链上账户的地址,不指定范围时任何人均可以抢,指定范围时,只有范围内的人员可抢;
19.所述红包发送模块用于将参与者已经创建好的红包发送到网络中,对于只允许特定用户参与的红包,用户可以通过红包发送模块发送给该参与者。
20.进一步,所述抢红包管理器包含历史价格模块、随机金额模块、申请抢红包模块、中包执行模块;
21.所述历史价格模块用于记录和查询当前红包已经被抢中的记录信息,以及当前参与者在抢红包中历史抢中的情况;
22.所述随机金额模块用于将红包发放者信息、抢红包者信息、区块信息共同生成一个随机数,并将这个随机数作为抢红包的金额;
23.所述申请抢红包模块用于抢红包者向区块链网络中提交自己的抢红包申请;
24.所述中包执行模块用于校验当前抢红包交易是否已经确定被抢中,并在抢中时将发起者账户金额解冻到抢红包者账户中。
25.进一步,所述随机数的生成算法由上层应用指定,上层应用没有特别指定时,采用如下公式进行计算:
26.amount
my
=rem(sha256(id
sender
+id
recipient
+id
trs
+id
block
)/(amount
redenvelope
/count))
27.其中,amount
my
为最终抢到的红包总数,rem表示取余,sha256表示hash算法,id
sender
为发送者识别信息,id
recipient
为接收者识别信息,id
trs
为红包交易识别信息,id
block
为区块识别信息,amount
redenvelope
为红包总金额,count为红包数量。
28.一种基于区块链的手气红包方法,包括下述步骤:
29.s1发放一个红包,通过账务管理器在区块链上创建一个账户,账户获得一份资产;红包发放管理器创建一笔空白发放红包的交易,设定抢红包的规则,将发放红包的交易转为区块链交易,为交易签名,将交易提交到区块链上,区块链上节点接收交易,开始处理交易;
30.s2对交易进行检查;
31.s3红包发放管理器开始处理账户,账务管理器将红包发放交易中指定数量的资产从红包发放者账户中下账,冻结管理器将下账数量的资产上账到冻结账户中,在冻结明细中记录本次冻结所属的红包,完成冻结操作;红包发放管理器完成账户处理,将冻结交易信息存入本地已处理交易清单中,创建一个新红包,完成交易处理,完成一个新红包发放;
32.s4提交抢红包申请并获得中红包,抢红包管理器查询链上发给我的红包列表,选中一个红包,生成一笔抢红包交易,开始生成抢红包金额,提取区块id、发送者id、交易id、接收者id,使用公式生成一个随机数,完成抢红包金额计算,将金额填入交易并将交易转为区块链交易,为交易签名,将交易提交到区块链上,区块链上节点接收交易,开始处理交易;
33.s5抢红包管理器验证交易的合法性,检查这个红包是否还在可抢的有效高度内,检查这个红包是否还有足够的余额,检查当前人员是否已抢过这个红包,如果红包发放管理器对上述任意项检查不通过则丢弃交易,检查通过时进入步骤s6;
34.s6抢红包管理器获取红包类型,检查是否为定额红包,如果是,检查抢红包金额是否与发放金额匹配,如果不匹配则丢弃交易,如果匹配则检查通过进入中包处理流程;检查是否为随机红包,如果是,计算当前抢红包者应该生成的随机数,提取当前抢红包申请的随机数,比对两个随机数是否相同,如果不相等则丢弃交易;如果相等,进入中包处理流程;
35.s7账务管理器开始处理账务,解冻管理器从资产持有者冻结账户中下账指定数量的资产,账务管理器给中包者上账指定数量的资产,完成账务处理;抢红包管理器将抢红包交易保存到已处理交易清单,完成交易处理;
36.s8抢红包管理器等待区块高度到达红包结束高度,冻结管理器高度到达时,开始进入剩余资产退回操作,解冻管理器检查红包余额是否大于0,如果不是跳过解冻处理;如果是将红包剩余金额数量的资产从冻结账户下账,将该数量的资产给红包发放者账户上账,结束该红包的账务冻结;抢红包管理器结束该红包的发放,完成一次抢红包。
37.进一步,所述的步骤s1的抢红包规则包括为设定红包资产类型、资产数量、红包数量、红包类型、可抢红包者的范围、红包开抢高度、红包结束高度。
38.进一步,所述的步骤s2的具体步骤为:
39.s21红包发放管理器验证交易的合法性;
40.s22账务管理器检查交易的发起者是否持有该资产,是否拥有足量资产;红包发放管理器检查红包的结束高度是否超出区块链的最大等待高度,检查红包的开抢高度是否为
未来的高度,检查红包的结束高度是否高于开抢高度,检查红包类型范围是否在当前区块链支持范围内,检查红包数量是否大于零且为合法数字,检查红包的资产数量是否大于零;如果上述任意项检查不通过则丢弃交易,如果全部检查通过则进入处理账户步骤s3。
41.相比现有的技术方案,本发明提供一个实现了链上发送三方不可控的随机红包的作用,解决了红包发放者与红包平台联合作弊的问题。
42.说明书附图
43.图1是本发明所提及基于区块链的手气红包系统的组成示意图
44.图2是本发明所提及账务管理器的组成示意图;
45.图3是本发明所提及冻结管理器的组成示意图;
46.图4是本发明所提及解冻管理器的组成示意图;
47.图5是本发明所提及红包发放管理器的组成示意图;
48.图6是本发明所提及抢红包管理器的组成示意图;
49.图7是本发明所提及基于区块链的手气红包方法的流程示意图;
50.图8是本发明所提及的s2的交易处理的流程示意图;
51.其中:100 账务管理器;200 冻结管理器、300 解冻管理器、400 红包发放管理器、500 抢红包管理器;101 账务清单模块、102 账务查询模块、103 账务接口模块;201 冻结账户模块、202 冻结清单模块;301 解冻执行模块、302 账务退回模块;401 红包信息模块、402 红包规则模块、403 红包发送模块;501 历史价格模块、502 随机金额模块、503 申请抢红包模块、504 中包执行模块。
具体实施方式
52.下面结合附图和具体实施例对本发明作进一步详述。在此需要说明的是,下面所描述的本发明各个实施例中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。
53.如图1所示,一种基于区块链的手气红包系统,包括账务管理器100、冻结管理器200、解冻管理器300、红包发放管理器400、抢红包管理器500,其特征在于:所述账务管理器100用于管理当前红包参与者的资产账户,所述资产账户中管理着对应红包参与者所持有的资产;所述冻结管理器200用于管理红包参与者资产账户的冻结信息,在红包参与者发放红包时将把红包金额全额冻结在链上,在所述冻结信息中列明冻结来源于哪一个红包,冻结的最长时间由红包发放者指定,所述时长不能超过链上最大冻结时间;所述解冻管理器300用于执行账务的解冻操作,在红包参与者抢中红包后将会把红包资产解冻到抢中用户,另外,在抢红包结束时抢红包者还未全部抢完时,冻结资金将会解冻退回到红包发放者的账户;所述红包发放管理器400用于红包发放者发放红包,并指定这个红包的可以参与者范围,不指定时为任何人,所述指定参与者范围内的参与者才可以抢红包;所述抢红包管理器500用于抢红包者发出交易申请抢这个红包,抢红包时将在链上生成一个随机数作为抢红包的金额,并在抢中时获得红包内资产的解冻;红包参与者包括红包发放者、抢红包者。
54.系统通过账务管理器在区块链上创建一个账户,红包发放管理器400创建空白发放红包的交易,设定抢红包的规则,将发放红包的交易转为区块链交易;对交易进行检查;红包发放管理器400和冻结管理器200对账户进行处理;抢红包者提交抢红包申请并获得中红包,抢红包管理器500对红包进行查询,生产区块交易;抢红包管理器500和红包发放器
400管理交易的合法性;抢红包管理器500获取红包类型,对红包进行交易处理;账务管理器100对账务进行处理;抢红包管理器500、冻结管理器200和解冻管理器300对红包金额和账户进行处理,最终完成红包发放、抢红包、账户资产处理,完成一次抢红包。
55.如图2所示,所述账务管理器100包含账务清单模块101、账务查询模块102、账务接口模块103;
56.所述账务清单模块101用于存储红包参与者账务,红包参与者包括红包发放者和抢红包者,当双方加入红包游戏时将新增或更新账务信息;
57.所述账务查询模块102用于查询账务,用于按照特定条件查询一类账务,如红包的发放者或抢红包者,这是为其它模块提供账务信息服务的基础;
58.所述账务接口模块103用于提供账务管理器内部与外部交互的接口,是对外提供账务信息服务的入口。
59.如图3所示,所述冻结管理器200包含冻结账户模块201、冻结清单模块202;
60.所述冻结账户模块201用于管理当前已冻结的账户的信息,包括冻结哪个红包发放者的哪一个红包,以及冻结数量是多少,所述冻结账户与红包发放者的可用账户是两套完全独立的账户;
61.所述冻结清单模块202用于记录当前账户冻结的原因,分别来自于哪一个红包。
62.如图5所示,所述解冻管理器300包含解冻执行模块301、账务退回模块302;
63.所述解冻执行模块301用于将红包发放者的账务解冻,并通知账务退回模块退回到抢红包者账户中,在等待接收到抢红包管理器500的通知后执行,并在执行结束后,将该明细的冻结数量清零,更新冻结账户,并通知账务退回模块302进行相应的操作;
64.所述账务退回模块302中用于将解冻执行模块指定数量的资产解冻到指定账户,具体是抢红包者账户还是红包发放者账户或其它特定账户,由红包发放规则指定。
65.如图6所示,所述红包发放管理器400包含红包信息模块401、红包规则模块402、红包发送模块403;
66.所述红包信息模块401用于发布当前链上的红包信息,以供网络中其他参与者可以即时看到红包并抢红包;
67.所述红包规则模块402用于定义这个红包的具体规则,所述红包所采用的红包类型,红包类型支持固定金额红包、随机金额红包两种类型,以及这个红包可以抢的参与者范围,参与者为链上账户的地址,不指定范围时任何人均可以抢,指定范围时,只有范围内的人员可抢;
68.所述红包发送模块403用于将参与者已经创建好的红包发送到网络中,对于只允许特定用户参与的红包,用户可以通过红包发送模块发送给该参与者。
69.如图7所示,所述抢红包管理器500包含历史价格模块501、随机金额模块502、申请抢红包模块503、中包执行模块504;
70.所述历史价格模块501用于记录和查询当前红包已经被抢中的记录信息,以及当前参与者在抢红包中历史抢中的情况;
71.所述随机金额模块502用于将红包发放者信息、抢红包者信息、区块信息共同生成一个随机数,并将这个随机数作为抢红包的金额;
72.所述申请抢红包模块503用于抢红包者向区块链网络中提交自己的抢红包申请;
73.所述中包执行模块504用于校验当前抢红包交易是否已经确定被抢中,并在抢中时将发起者账户金额解冻到抢红包者账户中。
74.优选地,所述随机数的生成算法由上层应用指定,上层应用没有特别指定时,采用如下公式进行计算:
75.amount
my
=rem(sha256(id
sender
+id
recipient
+id
trs
+id
block
)/(amount
redenvelope
/count))
76.其中,amount
my
为最终抢到的红包总数,rem表示取余,sha256表示hash算法,id
sender
为发送者识别信息,id
recipient
为接收者识别信息,id
trs
为红包交易识别信息,id
block
为区块识别信息,amount
redenvelope
为红包总金额,count为红包数量。
77.如图7-8所示,一种基于区块链的手气红包方法,包括下述步骤:
78.s1发放一个红包,通过账务管理器100在区块链上创建一个账户,账户获得一份资产;红包发放管理器400创建一笔空白发放红包的交易,设定抢红包的规则,所述规则为设定红包资产类型、资产数量、红包数量、红包类型、可抢红包者的范围、红包开抢高度、红包结束高度;将发放红包的交易转为区块链交易,为交易签名,将交易提交到区块链上,区块链上节点接收交易,开始处理交易;
79.s2对交易进行检查;s21红包发放管理器400验证交易的合法性;s22账务管理器100检查交易的发起者是否持有该资产,是否拥有足量资产;红包发放管理器400检查红包的结束高度是否超出区块链的最大等待高度,检查红包的开抢高度是否为未来的高度,检查红包的结束高度是否高于开抢高度,检查红包类型范围是否在当前区块链支持范围内,检查红包数量是否大于零且为合法数字,检查红包的资产数量是否大于零;如果上述任意项检查不通过则丢弃交易,如果全部检查通过则进入处理账户步骤s3;
80.s3红包发放管理器400开始处理账户,账务管理器100将红包发放交易中指定数量的资产从红包发放者账户中下账,冻结管理器200将下账数量的资产上账到冻结账户中,在冻结明细中记录本次冻结所属的红包,完成冻结操作;红包发放管理器400完成账户处理,将冻结交易信息存入本地已处理交易清单中,创建一个新红包,完成交易处理,完成一个新红包发放;
81.s4提交抢红包申请并获得中红包,抢红包管理器500查询链上发给我的红包列表,选中一个红包,生成一笔抢红包交易,开始生成抢红包金额,提取区块id、发送者id、交易id、接收者id,使用公式生成一个随机数,完成抢红包金额计算,将金额填入交易并将交易转为区块链交易,为交易签名,将交易提交到区块链上,区块链上节点接收交易,开始处理交易;
82.s5抢红包管理器500验证交易的合法性,检查这个红包是否还在可抢的有效高度内,检查这个红包是否还有足够的余额,检查当前人员是否已抢过这个红包,如果红包发放管理器400对上述任意项检查不通过则丢弃交易,检查通过时进入步骤s6;
83.s6抢红包管理器500获取红包类型,检查是否为定额红包,如果是,检查抢红包金额是否与发放金额匹配,如果不匹配则丢弃交易,如果匹配则检查通过进入中包处理流程;检查是否为随机红包,如果是,计算当前抢红包者应该生成的随机数,提取当前抢红包申请的随机数,比对两个随机数是否相同,如果不相等则丢弃交易;如果相等,进入中包处理流程;
84.s7账务管理器100开始处理账务,解冻管理器300从资产持有者冻结账户中下账指定数量的资产,账务管理器100给中包者上账指定数量的资产,完成账务处理;抢红包管理器500将抢红包交易保存到已处理交易清单,完成交易处理;
85.s8抢红包管理器500等待区块高度到达红包结束高度,冻结管理器200高度到达时,开始进入剩余资产退回操作,解冻管理器300检查红包余额是否大于0,如果不是跳过解冻处理;如果是将红包剩余金额数量的资产从冻结账户下账,将该数量的资产给红包发放者账户上账,结束该红包的账务冻结;抢红包管理器500结束该红包的发放,完成一次抢红包。
86.以上所述,仅是本发明的较佳实施例而已,并非对本发明的技术范围作任何限制,故但凡依本发明的权利要求和说明书所做的变化或修饰,皆应属于本发明专利涵盖的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1