一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于区块链的通证分配方法、装置、设备及可读存储介质与流程

2022-02-22 08:59:07 来源:中国专利 TAG:


1.本技术涉及互联网技术领域,特别是涉及一种基于区块链的通证分配方法、装置、设备及可读存储介质。


背景技术:

2.随着互联网技术的不断进步以及区块链技术的逐步发展,数字货币交易逐渐兴起,为了维护数字货币交易市场的交易安全和交易秩序,多种不同的货币交易机制应运而生,区块链的货币交易共识方法主要包括:pow(proof of work,工作量证明)、pos(proof of stake、权益证明)、dpos(delegate proof of stake,委托权益证明)。
3.相关技术中,dpos是一种“民主集中式”的记账方式,区块链所处的账本系统中包括有多个节点,账本系统会向每个节点分配一定数量的诸如代币、票证等用于投票的通证,以便节点使用自己持有的通证进行投票,使得账本系统按照投票结果确定验证人,由验证人对发起方在账本系统中发起的交易进行记账,并生成区块。
4.在实现本技术的过程中,申请人发现相关技术至少存在以下问题:
5.节点需要采用质押资产的方式才能获取到用于投票的通证,但是有些节点持有的资产是流动性的,拿出一定量的资产换取通证较为困难,导致通证的分配存在一定的局限性,区块链系统中交易效率不高,难以实现以投票为核心和基础的各种针对区块链的治理功能,交易网络的稳定性差。


技术实现要素:

6.有鉴于此,本技术提供了一种基于区块链的通证分配方法、装置、设备及可读存储介质,主要目的在于解决目前有些节点持有的资产流动性强,拿出一定量的资产换取通证较为困难,导致通证的分配存在一定的局限性,区块链系统中交易效率不高,难以实现以投票为核心和基础的各种针对区块链的治理功能,交易网络的稳定性差的问题。
7.依据本技术第一方面,提供了一种基于区块链的通证分配方法,该方法包括:
8.获取状态树快照,所述状态树快照是通过对记录有账户系统中各个用户的账户资产情况的状态树进行快照处理得到的;
9.识别所述状态树快照,得到待分配用户的账户资产,所述待分配用户是所述账户系统中的任意用户;
10.调用智能合约,基于所述智能合约对所述账户资产进行计算,确定所述待分配用户在本周期内拥有的通证数额;
11.向所述待分配用户分配数量满足所述通证数额的目标通证,以使所述待分配用户在投票环节采用所述目标通证为验证竞选人进行投票。
12.可选地,所述获取状态树快照之前,所述方法还包括:
13.确定创世块指定的初始验证人,依据所述初始验证人生成初始出块人列表,所述初始验证人用于基于所述初始出块人列表的顺序生成新区块;
14.当所述初始验证人的总数和所述初始验证人获得的总通证数额达到所述智能合约中的预设条件时,在所述初始出块人列表中将所述初始验证人删除。
15.可选地,所述调用智能合约,基于所述智能合约对所述账户资产进行计算,确定所述待分配用户在本周期内拥有的通证数额,包括:
16.获取所述待分配用户的目标账户名称,调用所述智能合约,确定所述目标账户名称在所述状态树快照中对应的目标状态树节点,所述目标状态树节点存储有与所述目标账户名称相关的账户信息;
17.在所述目标状态树节点中提取所述目标账户名称对应的资产作为所述待分配用户的账户资产;
18.计算所述账户资产与预设单位资产的第一比值,所述预设单位资产用于指示兑换一单位通货凭证所使用的资产;
19.对所述第一比值进行取整得到第一整数值,将所述第一整数值作为所述待分配用户在本周期内的所述通证数额。
20.可选地,所述向所述待分配用户分配数量满足所述通证数额的目标通证,以使所述待分配用户在投票环节采用所述目标通证为验证竞选人进行投票之后,所述方法还包括:
21.基于所述智能合约,读取资产质押账户,确定参与资产质押的多个指定账户名称和所述多个指定账户名称中每个指定账户名称对应的质押数值;
22.将所述多个指定账户名称设置为多个验证竞选人,按照所述每个指定账户名称对应的质押数值,为所述多个验证竞选人中每个验证竞选人确定已有通证数额;
23.开启所述投票环节,统计所述每个验证竞选人获得的竞选通证数额;
24.聚合所述每个验证竞选人获得的竞选通证数额与对应的已有通证数额,得到所述每个验证竞选人在本周期内获得的竞选总通证数额;
25.按照竞选总通证数额从大到小的顺序对所述多个验证竞选人进行排名,得到排名结果;
26.基于所述排名结果,在所述多个验证竞选人中确定本周期验证人以及后备验证人,所述本周期验证人用于按照规定顺序生产区块以及维护所述本周期内的所述货币交易,所述后备验证人用于将所述本周期生成的区块进行广播。
27.可选地,所述按照所述每个指定账户名称对应的质押数值,为所述多个验证竞选人中每个验证竞选人确定已有通证数额,包括:
28.对于所述多个验证竞选人中每个验证竞选人,读取所述验证竞选人的资产质押账户,得到资产质押列表,所述资产质押列表存储有所述验证竞选人的指定账户名称和对应的质押数值;
29.提取所述指定账户名称,对所述指定账户名称对应的指定用户进行标记,将标记后的指定用户设置为所述验证竞选人;
30.计算所述质押数值与所述预设单位资产之间的第二比值,对所述第二比值取整得到第二整数值,将所述第二整数值作为所述已有通证数额。
31.可选地,所述基于所述排名结果,在所述多个验证竞选人中确定本周期验证人以及后备验证人,包括:
32.在所述排序结果中提取排在首位的预设数目的验证竞选人作为所述本周期验证人;
33.在所述排序结果中确定除所述本周期验证人外的其他验证竞选人,将所述其他验证竞选人作为所述后备验证人。
34.可选地,所述方法还包括:
35.持续检测当前时间点,当检测到所述当前时间点与上一次完成通证分配的时间点之间的时间间隔达到预设时间间隔时,重新获取状态树快照,确定所述待分配用户在当前周期内拥有的通证数额,并向所述待分配用户分配通证;和/或,
36.当检测到所述待分配用户基于所述智能合约请求领取奖励时,获取本周期验证人公布的分配比例以及所述本周期验证人的目标竞选通证数额,查询所述待分配用户向所述本周期验证人投发的通证数量,计算所述通证数量与所述目标竞选通证数额的第三比值,并计算所述分配比例与所述第三比值的乘积,向所述待分配用户下发资源量与所述乘积匹配的第一奖励资源,所述第一奖励资源存储在所述待分配用户的账户资产中;和/或,
37.当检测到后备验证人基于所述智能合约请求领取奖励时,统计所述后备验证人在本周期广播的第一区块数量,查询所述第一区块数量在广播排名中的第一名次,向所述后备验证人下发资源量与所述第一名次匹配的第二奖励资源,所述第二奖励资源存储在所述后备验证人的账户资产中;和/或,
38.当检测到本周期验证人基于所述智能合约请求领取奖励时,统计所述本周期验证人在本周期生成的第二区块数量,查询所述第二区块数量在区块生成排名中的第二名次,向所述本周期验证人下发资源量与所述第二名次匹配的第三奖励资源,所述第三奖励资源存储在所述本周期验证人的账户资产中;和/或,
39.当检测到通证分配操作存在异常时,调用系统管理员,以使所述系统管理员获取所述账户系统中发生的交易并基于所述交易生成区块,并在检测到所述通证分配操作恢复正常时,取消对所述系统管理员的调用,重新获取状态树快照,确定所述待分配用户在当前周期内拥有的通证数额,并向所述待分配用户分配通证,以使所述待分配用户为当前周期的验证竞选人进行投票。
40.依据本技术第二方面,提供了一种基于区块链的通证分配装置,该装置包括:
41.获取模块,用于获取状态树快照,所述状态树快照是通过对记录有账户系统中各个用户的账户资产情况的状态树进行快照处理得到的;
42.识别模块,用于识别所述状态树快照,得到待分配用户的账户资产,所述待分配用户是所述账户系统中的任意用户;
43.第一确定模块,用于调用智能合约,基于所述智能合约对所述账户资产进行计算,确定所述待分配用户在本周期内拥有的通证数额;
44.分配模块,用于向所述待分配用户分配数量满足所述通证数额的目标通证,以使所述待分配用户在投票环节采用所述目标通证为验证竞选人进行投票。
45.可选地,所述装置还包括:
46.生成模块,用于确定创世块指定的初始验证人,依据所述初始验证人生成初始出块人列表,所述初始验证人用于基于所述初始出块人列表的顺序生成新区块;
47.删除模块,用于当所述初始验证人的总数和所述初始验证人获得的总通证数额达
到所述智能合约中的预设条件时,在所述初始出块人列表中将所述初始验证人删除。
48.可选地,所述第一确定模块,用于获取所述待分配用户的目标账户名称,调用所述智能合约,确定所述目标账户名称在所述状态树快照中对应的目标状态树节点,所述目标状态树节点存储有与所述目标账户名称相关的账户信息;在所述目标状态树节点中提取所述目标账户名称对应的资产作为所述待分配用户的账户资产;计算所述账户资产与预设单位资产的第一比值,所述预设单位资产用于指示兑换一单位通货凭证所使用的资产;对所述第一比值进行取整得到第一整数值,将所述第一整数值作为所述待分配用户在本周期内的所述通证数额。
49.可选地,所述装置还包括:
50.读取模块,用于基于所述智能合约,读取资产质押账户,确定参与资产质押的多个指定账户名称和所述多个指定账户名称中每个指定账户名称对应的质押数值;
51.第二确定模块,用于将所述多个指定账户名称设置为多个验证竞选人,按照所述每个指定账户名称对应的质押数值,为所述多个验证竞选人中每个验证竞选人确定已有通证数额;
52.统计模块,用于开启所述投票环节,统计所述每个验证竞选人获得的竞选通证数额;
53.聚合模块,用于聚合所述每个验证竞选人获得的竞选通证数额与对应的已有通证数额,得到所述每个验证竞选人在本周期内获得的竞选总通证数额;
54.排名模块,用于按照竞选总通证数额从大到小的顺序对所述多个验证竞选人进行排名,得到排名结果;
55.第三确定模块,用于基于所述排名结果,在所述多个验证竞选人中确定本周期验证人以及后备验证人,所述本周期验证人用于按照规定顺序生产区块以及维护所述本周期内的所述货币交易,所述后备验证人用于将所述本周期生成的区块进行广播。
56.可选地,所述第二确定模块,用于对于所述多个验证竞选人中每个验证竞选人,读取所述验证竞选人的资产质押账户,得到资产质押列表,所述资产质押列表存储有所述验证竞选人的指定账户名称和对应的质押数值;提取所述指定账户名称,对所述指定账户名称对应的指定用户进行标记,将标记后的指定用户设置为所述验证竞选人;计算所述质押数值与所述预设单位资产之间的第二比值,对所述第二比值取整得到第二整数值,将所述第二整数值作为所述已有通证数额。
57.可选地,所述第三确定模块,用于在所述排序结果中提取排在首位的预设数目的验证竞选人作为所述本周期验证人;在所述排序结果中确定除所述本周期验证人外的其他验证竞选人,将所述其他验证竞选人作为所述后备验证人。
58.可选地,所述第一确定模块,还用于检测模块,用于持续检测当前时间点,当检测到所述当前时间点与上一次完成通证分配的时间点之间的时间间隔达到预设时间间隔时,重新获取状态树快照,确定所述待分配用户在当前周期内拥有的通证数额,并向所述待分配用户分配通证;和/或,当检测到所述待分配用户基于所述智能合约请求领取奖励时,获取本周期验证人公布的分配比例以及所述本周期验证人的目标竞选通证数额,查询所述待分配用户向所述本周期验证人投发的通证数量,计算所述通证数量与所述目标竞选通证数额的第三比值,并计算所述分配比例与所述第三比值的乘积,向所述待分配用户下发资源
量与所述乘积匹配的第一奖励资源,所述第一奖励资源存储在所述待分配用户的账户资产中;和/或,当检测到后备验证人基于所述智能合约请求领取奖励时,统计所述后备验证人在本周期广播的第一区块数量,查询所述第一区块数量在广播排名中的第一名次,向所述后备验证人下发资源量与所述第一名次匹配的第二奖励资源,所述第二奖励资源存储在所述后备验证人的账户资产中;和/或,当检测到本周期验证人基于所述智能合约请求领取奖励时,统计所述本周期验证人在本周期生成的第二区块数量,查询所述第二区块数量在区块生成排名中的第二名次,向所述本周期验证人下发资源量与所述第二名次匹配的第三奖励资源,所述第三奖励资源存储在所述本周期验证人的账户资产中;和/或,当检测到通证分配操作存在异常时,调用系统管理员,以使所述系统管理员获取所述账户系统中发生的交易并基于所述交易生成区块,并在检测到所述通证分配操作恢复正常时,取消对所述系统管理员的调用,重新获取状态树快照,确定所述待分配用户在当前周期内拥有的通证数额,并向所述待分配用户分配通证,以使所述待分配用户为当前周期的验证竞选人进行投票。
59.依据本技术第三方面,提供了一种设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述方法的步骤。
60.依据本技术第四方面,提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项所述方法的步骤。
61.借由上述技术方案,本技术提供的一种基于区块链的通证分配方法、装置、设备及可读存储介质,本技术获取记录有账户系统中各个用户的账户资产情况的状态树快照,随后,识别状态树快照,得到账户系统中的任意待分配用户的账户资产,调用智能合约,基于智能合约对账户资产进行计算,确定待分配用户在本周期内拥有的通证数额,最后,向待分配用户分配数量满足通证数额的目标通证,以使待分配用户在投票环节采用目标通证为验证竞选人进行投票。通过调用快照合约对账户中的资产进行计算,确定用户在本周期内使用的票数并对应分配,无需质押资产兑换通证,使得通证分配方式更加合理,提高区块链系统中的交易效率和交易网络的稳定性,实现以投票为核心和基础的各种针对区块链的治理功能。
62.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
63.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
64.图1示出了本技术实施例提供的一种基于区块链的通证分配方法流程示意图;
65.图2示出了本技术实施例提供的一种基于区块链的通证分配方法流程示意图;
66.图3a示出了本技术实施例提供的一种基于区块链的通证分配装置的结构示意图;
67.图3b示出了本技术实施例提供的一种基于区块链的通证分配装置的结构示意图;
68.图3c示出了本技术实施例提供的一种基于区块链的通证分配装置的结构示意图;
69.图4示出了本技术实施例提供的一种计算机设备的装置结构示意图。
具体实施方式
70.下面将参照附图更详细地描述本技术的示例性实施例。虽然附图中显示了本技术的示例性实施例,然而应当理解,可以以各种形式实现本技术而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本技术,并且能够将本技术的范围完整的传达给本领域的技术人员。
71.本技术实施例提供了一种基于区块链的通证分配方法,如图1所示,该方法包括:
72.101、获取状态树快照,状态树快照是通过对记录有账户系统中各个用户的账户资产情况的状态树进行快照处理得到的。
73.102、识别状态树快照,得到待分配用户的账户资产,待分配用户是账户系统中的任意用户。
74.103、调用智能合约,基于智能合约对账户资产进行计算,确定待分配用户在本周期内拥有的通证数额。
75.104、向待分配用户分配数量满足通证数额的目标通证,以使待分配用户在投票环节采用目标通证为验证竞选人进行投票。
76.本技术实施例提供的方法,首先,获取记录有账户系统中各个用户的账户资产情况的状态树快照,随后,识别状态树快照,得到账户系统中的任意待分配用户的账户资产,调用智能合约,基于智能合约对账户资产进行计算,确定待分配用户在本周期内拥有的通证数额,最后,向待分配用户分配数量满足通证数额的目标通证,以使待分配用户在投票环节采用目标通证为验证竞选人进行投票。通过调用快照合约对账户中的资产进行计算,确定用户在本周期内使用的票数并对应分配,无需质押资产兑换通证,使得通证分配方式更加合理,提高区块链系统中的交易效率和交易网络的稳定性,实现以投票为核心和基础的各种针对区块链的治理功能。
77.本技术实施例提供了一种基于区块链的通证分配方法,如图2所示,该方法包括:
78.201、获取状态树快照。
79.随着互联网技术的不断进步以及区块链技术的逐步发展,数字货币交易逐渐兴起,为了维护数字货币交易市场的交易安全和交易秩序,多种不同的货币交易机制应运而生,区块链的货币交易共识方法主要包括:pow(proof of work,工作量证明)、pos(proof of stake、权益证明)、dpos(delegate proof of stake,委托权益证明)。目前,dpos是一种“民主集中式”的记账方式,区块链所处的账本系统中包括有多个节点,账本系统会向每个节点分配一定数量的诸如代币、票证等用于投票的通证,以便节点使用自己持有的通证进行投票,使得账本系统按照投票结果确定验证人,由验证人对发起方在账本系统中发起的交易进行记账,并生成区块。但是申请人认识到,节点需要采用质押资产的方式才能获取到用于投票的通证,但是有些节点持有的资产是流动性的,拿出一定量的资产换取通证较为困难,导致通证的分配存在一定的局限性,区块链系统中交易效率不高,难以实现以投票为核心和基础的各种针对区块链的治理功能,交易网络的稳定性差。
80.考虑到快照合约可以每隔一段时间,如7天、10天等,就对区块链进行一次快照备
份,确定当前周期的交易数据,将最后结算时拥有的账户资产作为下一个周期的初始资产,也就是说,通过用户拥有的初始资产计算用户在本周期能够分得的票数并进行对应分配,就可以无需用户质押资产兑换本周期内用于投放的通证。因此,本技术提出一种基于区块链的通证分配方法、装置、设备及可读存储介质,本技术首先获取记录有账户系统中各个用户的账户资产情况的状态树快照,随后,识别状态树快照,得到账户系统中的任意待分配用户的账户资产。调用智能合约,基于智能合约对账户资产进行计算,确定待分配用户在本周期内拥有的通证数额,最后,向待分配用户分配数量满足通证数额的目标通证,以使待分配用户在投票环节采用目标通证为验证竞选人进行投票。通过调用快照合约对账户中的资产进行计算,确定用户在本周期内使用的票数并对应分配,无需质押资产兑换通证,使得通证分配方式更加合理,提高区块链系统中的交易效率和交易网络的稳定性,实现以投票为核心和基础的各种针对区块链的治理功能。
81.在本技术实施例中,由于在区块链网络的快照空间中存储有上一个周期的状态树快照,因此,可以在区块链网络中的快照空间查询到上一个周期结束后调用快照合约生成的状态树快照,其中,状态树快照中存储有区块链网络在截止到上一个周期产生的全部交易信息,包括账户名称,账户资产等内容,本技术对于全部交易信息中存储的内容不进行具体限定。
82.在实际应用过程中,在智能合约正式被调用启动之前,区块链网络需要确定创世块指定的初始验证人生产区块,具体地,可以是创世块向多个节点分发通证,接收到通证的节点就可以作为共识机制启动前的初始验证人,随后,依据初始验证人生成初始出块人列表。其中,初始出块人列表记录有初始验证人在区块链网络中的出块顺序,初始验证人依据初始出块人列表中预设的顺序生产新区块,实现网络货币交易的正常运行。当初始验证人的总数和初始验证人获得的总通证数额达到智能合约中的预设条件时,在初始出块人列表中将初始验证人删除。也就是说,当验证人的总数和初始验证人获得的总通证数额在全部达到预设条件之后,初始验证人就要退出不再继续生产区块,如果初始验证人对应的待分配用户想要成为下一个周期的验证人,则需要以投票竞选的方式再次成为验证人继续生产区块。其中,预设条件可以是区块链系统默认的数值,也可以是根据具体的交易情况设置的数值,本技术对预设条件的数值大小不进行具体限定。
83.由于状态树快照中存储有记录交易信息的状态树,而在状态树中的账户节点中就存储有上一个周期的交易信息,也就是说,获取状态树快照,就相当于获取到了上一个周期发生的全部交易信息,再通过对全部交易信息进行识别,即可得到用于计算本周期通证数额的初始账户资产。
84.202、识别状态树快照,得到待分配用户的账户资产。
85.在本技术实施例中,状态树快照中存储有多个状态树,其中,只有最后一个区块的状态树可以用来结算上一个周期内产生的全部交易,因此,需要识别状态树快照,确定最后一个区块的目标状态树,得到待分配用户的账户资产。
86.具体地,用户需要事先在区块链网络的账户系统中进行注册,并转入部分资产进入区块链网络才能够成为待分配用户。在到达目标时间点时,调用快照合约,在快照空间中获取上一个周期的状态树快照。随后,在状态树快照中确定区块链网络在截止到目标时间点产生的最后一个区块,提取最后一个区块对应的目标状态树。接下来,将目标状态树中的
账户节点进行标记,识别标记后的目标状态树中的账户节点。在实际应用过程中,新区块产生后,当交易发生在新区块时,新区块中的状态树也会随之发生改变,也就是说账户节点中存储的账户余额、交易次数会发生变化。发生变化的部分状态树会构建新节点存储新货币交易信息,未发生变化的部分状态树会采用哈希指针的方式与之前的状态树共享历史交易信息。所以在对目标状态树的账户节点标记之后,需要识别标记后的目标状态树中的账户节点,读取账户节点中存储的哈希指针,在哈希指针指示的地址中获取未发生改变的历史货币交易信息,将历史货币交易信息与账户节点中存储的新货币交易信息聚合,得到初始账户资产。例如,以每周日的0点为周期的开始,一直到下一个周的周日0点。在周日0点时,系统会生成快照,记录每个账户中的非抵押的账户资产,记录下来的非质押账户资产就所为下一个周期的初始账户资产。
87.通过识别状态树快照,获取上一个周期结算的账户名称和对应的账户资产,将获取到的账户资产作为下一个周期的初始账户资产,可以无需待分配用户质押一定量的资产才能得到通证,仅需要对利用当前周期待分配用户的初始账户资产就可以将计算得出的通证下发至对应的待分配用户的账户中,使通证分配的更加合理。
88.203、调用智能合约,基于智能合约对账户资产进行计算,确定待分配用户在本周期内拥有的通证数额。
89.在本技术实施例中,在得到待分配用户的初始账户资产之后,需要调用智能合约对账户资产进行计算,确定待分配用户在本周期内拥有的通证数额,其中,智能合约为委托权益证明共识机制。
90.具体地,获取待分配用户的目标账户名称,调用智能合约,确定目标账户名称在状态树快照中对应的目标状态树节点,其中,目标状态树节点存储有与目标账户名称相关的账户信息,随后,在目标状态树节点中提取目标账户名称对应的资产作为待分配用户的账户资产,计算账户资产与预设单位资产的第一比值,其中,预设单位资产用于指示兑换一单位通货凭证所使用的资产,最后,对第一比值进行取整得到第一整数值,将第一整数值作为待分配用户在本周期内的通证数额。
91.以快照计算待分配用户的通证数额可以使有流动性需求的待分配用户也能够参与到区块链的运作当中来,所以在投票环节并不需要待分配用户抵押任何资产。在周期伊始快照生成的时候,只要持有一定量的非质押资产,即使在周期内将非质押资产转账给了其他账户,在本周期内也可以按照快照计算的投票量投票并分得奖励,但同时在周期内获得的非质押资产并不能被计算为投票量。
92.204、向待分配用户分配数量满足通证数额的目标通证,以使待分配用户在投票环节采用目标通证为验证竞选人进行投票。
93.在本技术实施中,用户在接收到账户系统分配的目标通证之后,可以利用目标通证在投票环节进行投票,选取本周期的验证人。具体地,在投票环节,待分配用户如果也参与质押资产成为验证竞选人,那么待分配用户也可以将通证投放给自己的账户,也就是说,验证竞选人拥有的通证不仅可以投放给其他验证竞选人,也可以投放给自己,以便增加自己在本周期成为验证人的概率。
94.在实际应用过程中,待分配用户需要向质押资产账户转入一定量的资产进行质押注册,才有资格成为本周期的验证竞选人,因此,可以通过识别资产质押账户,得到参与竞
选的验证竞选人以及他们对应质押的资产数值。其中,本技术对于质押资产的数量不进行具体的限定,质押进入质押账户的资产会换算为验证竞选人的已有通证数额,也就是说,质押越多的资产,就会更容易成为本周期的验证人,对于已经当选本周期的验证人来说,质押的资产会在验证人账户产生区块异常时被当做罚金扣除,实现挑选出有一定实力能为整个网络提供良好服务的验证人。具体分配目标通证的过程如下:
95.首先,基于智能合约,读取资产质押账户,确定参与资产质押的多个指定账户名称和多个指定账户名称中每个指定账户名称对应的质押数值,将多个指定账户名称设置为多个验证竞选人。具体地,对于多个验证人中每个竞选验证人,读取验证竞选人的资产质押账户,得到资产质押列表,其中,资产质押列表存储有验证竞选人的指定账户名称和对应的质押数值,提取指定账户名称,对指定账户名称对应的指定用户进行标记,将标记后的指定用户设置为验证竞选人。
96.接下来,按照每个指定账户名称对应的质押数值,为多个验证竞选人中每个验证竞选人确定已有通证数额。具体地,对于多个验证竞选人中每个验证竞选人,计算质押数值与预设单位资产之间的第二比值,对第二比值取整得到第二整数值,将第二整数值作为已有通证数额。
97.随后,开启投票环节,统计每个验证竞选人获得的竞选通证数额,其中,每个待分配用户在得到相应的目标通证后,可以投给多位验证竞选人,但已经投出的通证是不允许撤回的,只能等到下一个周期在重新分配投票。再聚合每个验证竞选人获得的竞选通证数额与对应的已有通证数额,得到每个验证竞选人在本周期内获得的竞选总通证数额,按照竞选总通证数额从大到小的顺序对多个验证竞选人进行排名,即按照总通证数额的多少由高到低进行排序,得到排名结果。
98.最后,基于排名结果,在多个验证竞选人中确定本周期验证人以及后备验证。具体地,在排序结果中提取排在首位的预设数目的验证竞选人作为本周期验证人,在排序结果中确定除本周期验证人外的其他验证竞选人,将其他验证竞选人作为后备验证人。其中,本周期验证人用于按照规定顺序生产区块以及维护本周期内的货币交易,后备验证人用于将本周期生成的区块进行广播。
99.在具体应用过程中,区块链网络的账户系统会每隔一个周期调用一次智能合约进行周期性的选举,确定每个周期的验证人和后备验证人,实现以投票为核心和基础的各种针对区块链的治理功能。
100.具体地,持续检测当前时间点,当检测到当前时间点与上一次完成通证分配的时间点之间的时间间隔达到预设时间间隔时,重新获取状态树快照,确定待分配用户在当前周期内拥有的通证数额,并向待分配用户分配通证。其中预设时间间隔即为预设的周期长短,预设时间间隔可以采用系统默认的时间,例如,7天,15天等,也可以根据实际生产区块的速度进行调解,本技术对周期的长短和设置方式不进行具体限定。
101.在其他应用场景下,区块链网络中的账户系统对于验证人、后备验证人、投票的待分配用户都设置了相应的奖励机制,待分配用户通过调用智能合约,在周期结束后领取对应的奖励。
102.具体地,对于参与投票的待分配用户来说,当检测到待分配用户基于智能合约请求领取奖励时,获取本周期验证人公布的分配比例以及本周期验证人的目标竞选通证数
额。随后,查询待分配用户向本周期验证人投发的通证数量,计算通证数量与目标竞选通证数额的第三比值,并计算分配比例与第三比值的乘积。接下来,向待分配用户下发资源量与乘积匹配的第一奖励资源,第一奖励资源存储在待分配用户的账户资产中。
103.对于后备验证人来说,当检测到后备验证人基于智能合约请求领取奖励时,统计后备验证人在本周期广播的第一区块数量,查询第一区块数量在广播排名中的第一名次。随后,向后备验证人下发资源量与第一名次匹配的第二奖励资源,第二奖励资源存储在后备验证人的账户资产中。
104.对于验证人来说,当检测到本周期验证人基于智能合约请求领取奖励时,统计本周期验证人在本周期生成的第二区块数量,查询第二区块数量在区块生成排名中的第二名次。之后向本周期验证人下发资源量与第二名次匹配的第三奖励资源,第三奖励资源存储在本周期验证人的账户资产中。
105.通过设置奖励机制,鼓励各个待分配用户积极投票,为整个区块链网络的运行作出贡献,也就是说,验证人会得到区块中交易手续费的一部分,其他部分会分配给参与投票的待分配用户以及广播区块的后备验证人,使得区块链网络中的用户都会积极参与区块运作,保持良好的交易环境。
106.在另一应用场景下,当智能合约工作存在异常时,系统管理员可通过远程过程调用开启系统管理员接管功能,接管后由系统管理员出块,在其出块期间可以接收区块生产情况,待通过自治使通证分配操作恢复正常时,系统管理员可退出接管,由出块人列表出块。
107.当检测到通证分配操作存在异常时,调用系统管理员,以使系统管理员获取账户系统中发生的交易并基于交易生成区块,并在检测到通证分配操作恢复正常时,取消对系统管理员的调用,重新获取状态树快照,确定待分配用户在当前周期内拥有的通证数额,并向待分配用户分配通证,以使待分配用户为当前周期的验证竞选人进行投票。
108.本技术实施例提供的方法,首先,获取记录有账户系统中各个用户的账户资产情况的状态树快照,随后,识别状态树快照,得到账户系统中的任意待分配用户的账户资产,调用智能合约,基于智能合约对账户资产进行计算,确定待分配用户在本周期内拥有的通证数额,最后,向待分配用户分配数量满足通证数额的目标通证,以使待分配用户在投票环节采用目标通证为验证竞选人进行投票。通过调用快照合约对账户中的资产进行计算,确定用户在本周期内使用的通证数额并对应分配,无需用户质押资产兑换通证,使得通证分配方式更加合理,提高区块链系统中的交易效率和交易网络的稳定性,实现以投票为核心和基础的各种针对区块链的治理功能。
109.进一步地,作为图1所述方法的具体实现,本技术实施例提供了一种基于区块链的通证分配装置,如图3a所示,所述装置包括:获取模块301、识别模块302、第一确定模块303、分配模块304。
110.该获取模块301,用于获取状态树快照,所述状态树快照是通过对记录有账户系统中各个用户的账户资产情况的状态树进行快照处理得到的;
111.该识别模块302,用于识别所述状态树快照,得到待分配用户的账户资产,所述待分配用户是所述账户系统中的任意用户;
112.该第一确定模块303,用于调用智能合约,基于所述智能合约对所述账户资产进行
计算,确定所述待分配用户在本周期内拥有的通证数额;
113.该分配模块304,用于向所述待分配用户分配数量满足所述通证数额的目标通证,以使所述待分配用户在投票环节采用所述目标通证为验证竞选人进行投票。
114.在具体应用场景中,如图3b所示,所述装置还包括:生成模块305、删除模块306。
115.该生成模块305,用于确定创世块指定的初始验证人,依据所述初始验证人生成初始出块人列表,所述初始验证人用于基于所述初始出块人列表的顺序生成新区块;
116.该删除模块306,用于当所述初始验证人的总数和所述初始验证人获得的总通证数额达到所述智能合约中的预设条件时,在所述初始出块人列表中将所述初始验证人删除。
117.在具体应用场景中,该第一确定模块304,用于获取所述待分配用户的目标账户名称,调用所述智能合约,确定所述目标账户名称在所述状态树快照中对应的目标状态树节点,所述目标状态树节点存储有与所述目标账户名称相关的账户信息;在所述目标状态树节点中提取所述目标账户名称对应的资产作为所述待分配用户的账户资产;计算所述账户资产与预设单位资产的第一比值,所述预设单位资产用于指示兑换一单位通货凭证所使用的资产;对所述第一比值进行取整得到第一整数值,将所述第一整数值作为所述待分配用户在本周期内的所述通证数额。
118.在具体应用场景中,如图3c所示,所述装置还包括:读取模块307、第二确定模块308、统计模块309、聚合模块310、排名模块311、第三确定模块312。
119.该读取模块307,用于基于所述智能合约,读取资产质押账户,确定参与资产质押的多个指定账户名称和所述多个指定账户名称中每个指定账户名称对应的质押数值;
120.该第二确定模块308,用于将所述多个指定账户名称设置为多个验证竞选人,按照所述每个指定账户名称对应的质押数值,为所述多个验证竞选人中每个验证竞选人确定已有通证数额;
121.该统计模块309,用于开启所述投票环节,统计所述每个验证竞选人获得的竞选通证数额;
122.该聚合模块310,用于聚合所述每个验证竞选人获得的竞选通证数额与对应的已有通证数额,得到所述每个验证竞选人在本周期内获得的竞选总通证数额;
123.该排名模块311,用于按照竞选总通证数额从大到小的顺序对所述多个验证竞选人进行排名,得到排名结果;
124.该第三确定模块312,用于基于所述排名结果,在所述多个验证竞选人中确定本周期验证人以及后备验证人,所述本周期验证人用于按照规定顺序生产区块以及维护所述本周期内的所述货币交易,所述后备验证人用于将所述本周期生成的区块进行广播。
125.在具体应用场景中,该第二确定模块308,用于对于所述多个验证竞选人中每个验证竞选人,读取所述验证竞选人的资产质押账户,得到资产质押列表,所述资产质押列表存储有所述验证竞选人的指定账户名称和对应的质押数值;提取所述指定账户名称,对所述指定账户名称对应的指定用户进行标记,将标记后的指定用户设置为所述验证竞选人;计算所述质押数值与所述预设单位资产之间的第二比值,对所述第二比值取整得到第二整数值,将所述第二整数值作为所述已有通证数额。
126.在具体应用场景中,该第三确定模块312,用于在所述排序结果中提取排在首位的
预设数目的验证竞选人作为所述本周期验证人;在所述排序结果中确定除所述本周期验证人外的其他验证竞选人,将所述其他验证竞选人作为所述后备验证人。
127.在具体应用场景中,该第一确定模块303,还用于持续检测当前时间点,当检测到所述当前时间点与上一次完成通证分配的时间点之间的时间间隔达到预设时间间隔时,重新获取状态树快照,确定所述待分配用户在当前周期内拥有的通证数额,并向所述待分配用户分配通证;和/或,当检测到所述待分配用户基于所述智能合约请求领取奖励时,获取本周期验证人公布的分配比例以及所述本周期验证人的目标竞选通证数额,查询所述待分配用户向所述本周期验证人投发的通证数量,计算所述通证数量与所述目标竞选通证数额的第三比值,并计算所述分配比例与所述第三比值的乘积,向所述待分配用户下发资源量与所述乘积匹配的第一奖励资源,所述第一奖励资源存储在所述待分配用户的账户资产中;和/或,当检测到后备验证人基于所述智能合约请求领取奖励时,统计所述后备验证人在本周期广播的第一区块数量,查询所述第一区块数量在广播排名中的第一名次,向所述后备验证人下发资源量与所述第一名次匹配的第二奖励资源,所述第二奖励资源存储在所述后备验证人的账户资产中;和/或,
128.该第二获取模块314,还用于当检测到本周期验证人基于所述智能合约请求领取奖励时,统计所述本周期验证人在本周期生成的第二区块数量,查询所述第二区块数量在区块生成排名中的第二名次,向所述本周期验证人下发资源量与所述第二名次匹配的第三奖励资源,所述第三奖励资源存储在所述本周期验证人的账户资产中;和/或,当检测到通证分配操作存在异常时,调用系统管理员,以使所述系统管理员获取所述账户系统中发生的交易并基于所述交易生成区块,并在检测到所述通证分配操作恢复正常时,取消对所述系统管理员的调用,重新获取状态树快照,确定所述待分配用户在当前周期内拥有的通证数额,并向所述待分配用户分配通证,以使所述待分配用户为当前周期的验证竞选人进行投票。
129.本技术实施例提供的装置,首先,获取记录有账户系统中各个用户的账户资产情况的状态树快照,随后,识别状态树快照,得到账户系统中的任意待分配用户的账户资产,调用智能合约,基于智能合约对账户资产进行计算,确定待分配用户在本周期内拥有的通证数额,最后,向待分配用户分配数量满足通证数额的目标通证,以使待分配用户在投票环节采用目标通证为验证竞选人进行投票。通过调用快照合约对账户中的资产进行计算,确定用户在本周期内使用的票数并对应分配,无需质押资产兑换通证,使得通证分配方式更加合理,提高区块链系统中的交易效率和交易网络的稳定性,实现以投票为核心和基础的各种针对区块链的治理功能。
130.需要说明的是,本技术实施例提供的一种基于区块链的通证分配装置所涉及各功能单元的其他相应描述,可以参考图1和图2中的对应描述,在此不再赘述。
131.在示例性实施例中,参见图4,还提供了一种设备,该设备包括总线、处理器、存储器和通信接口,还可以包括输入输出接口和显示设备,其中,各个功能单元之间可以通过总线完成相互间的通信。该存储器存储有计算机程序,处理器,用于执行存储器上所存放的程序,执行上述实施例中的基于区块链的通证分配方法。
132.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于区块链的通证分配方法的步骤。
133.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本技术可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本技术的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施场景所述的方法。
134.本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本技术所必须的。
135.本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
136.上述本技术序号仅仅为了描述,不代表实施场景的优劣。
137.以上公开的仅为本技术的几个具体实施场景,但是,本技术并非局限于此,任何本领域的技术人员能思之的变化都应落入本技术的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献