【技术实现步骤摘要】
一种区块链上基于权重抽签的方法、系统、终端设备及存储介质
[0001]本专利技术涉及计算机系统领域,具体而言,涉及一种区块链上基于权重抽签的方法、系统、终端设备及存储介质。
技术介绍
[0002]抽签系统广泛应用于各个场景,例如积分抽奖、福利彩票等。目前基于区块链技术的抽签系统,有的抽签时没有考虑用户权重,所有用户中签概率均相等。另一方面,抽签系统的安全性也是所有系统重点考察的指标。但是目前的抽签方法存在一定的缺陷,具体在于:
[0003]1、用户中签概率均相等,有时无法更好的适用于真实场景。
[0004]2、中签概率是按权重分布还是所有用户平均,无法灵活适配。
[0005]3、部分抽签方案无法对已有数据进行多次不重复抽签。
[0006]针对上述缺陷所需要作出的改进以及对应所需要解决的问题在于:
[0007]1、抽签选举用户的场景中不能按照投入权重变化记录灵活计票的问题。
[0008]2、解决抽签选举用户的场景中不能适配多种抽签机制的问题。
[0009]3、通过客户端计票的方式解决用户刷票情形的不良影响。
[0010]4、用户在有效时间内可以重复多次更改自己的投票权重。
[0011]5、通过merkle树结构变化,实现同样数据多次不重复抽签的效果。
技术实现思路
[0012]本专利技术的主要目的在于提供一种区块链上基于权重抽签的方法,本方案的计票抽签平台是基于区块链Merkle树的数据结构方法,按照每个用户的整体权重投入分布情况一 ...
【技术保护点】
【技术特征摘要】
1.一种区块链上基于权重抽签的方法,其特征在于,其步骤包括发布投票抽签任务、用户投票、得出锁票计算投票权重二叉树以及按照投票二叉树抽签并输出抽签结果。2.根据权利要求1所述的方法,其特征在于,发布投票抽签任务具体步骤包括投票抽签客户端生成投票抽签任务信息、投票抽签客户端将生成的任务信息发送至区块链抽签节点C1、将本次投票抽签任务信息打包生成区块同时任务信息上链并更新区块链账本数据、区块链抽签节点C1通知投票抽签客户端投票抽签任务信息完成上链、客户端通知用户{A1,A2,...,A
n
}投票抽签任务发布完成。3.根据权利要求1所述的方法,其特征在于,用户投票步骤具体的当系统时间为T1时投票开始,用户{A1,A2,...,A
n
}可以访问投票抽签客户端进行投票,用户A1的已投票权重变量为W
A1
,初始值为0;可投票权重变量为W
A1
’
,初始值为用户A1的现有权重值,随后用户发起投票,录入{用户ID:A
11
,本次投票权重:W
A11
}、投票抽签客户端自动记录用户本次投票时间T
A11
、投票抽签客户端得到用户的投票信息并验证用户的身份、验证用户的当前投票是否满足投票条件、将验证通过的用户A1的投票信息发送至区块链抽签节点C1、区块链抽签节点C1将收到的用户A1的本次投票信息打包生成区块同时投票信息上链并更新区块链账本数据、区块链抽签节点C1通知投票抽签客户端用户A1的投票信息完成上链、投票抽签客户端计算并更新用户A1的相关投票权重变量、投票抽签客户端更新变量后得到用户A1的最新投票信息、投票抽签客户端通知用户A1投票成功。4.根据权利要求1所述的方法,其特征在于,得出锁票计算投票权重二叉树具体步骤包括投票抽签客户端查询获取用户{A1,A2,...,A
n
}的投票数据信息、投票抽签客户端剔除已投票权重变量值为0的用户,得到投票权重有效的用户{A
i1
,A
i2
,...,A
im
}的投票数据信息、投票抽签客户端将投票权重有效的用户{A
i1
,A
i2
,...,A
im
}按照用户ID“A
i1
~A
im”字典序进行排序,得到排序后的用户集合{A
i1
,A
i2
,...,A
im
}、将排序后的用户{A
i1
,A
i2
,...,A
im
}作为二叉树的叶节点,叶节点顺序...
【专利技术属性】
技术研发人员:王桐,姜鹏,陈志明,
申请(专利权)人:中信银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。