经济模型

Vision(Vision Network,或V网 )经济模型是由多个子模型组成的有机整体

1.投票类模型

1.1用户投票加权

1.V网对用户(选民)投票进行了加权处理voteCountWeight,按用户质押量进行一定比例的加权,目前阶段设置如下:

起始值(包含)单位:VS结束值(不包含)单位:VS计算值
01000voteCount * 1
100010000voteCount * 1.08(取不大于该数的最大整数,下同)
10000100000voteCount * 1.13
100000无穷大voteCount * 1.16

2.V网对超级节点(witness)获得的投票数计算采用加权后的用户投票数,即sum(voteCountWeight)
witness获得投票数不得大于(witness质押量-fvFreezeLowest)/(fvFreezeLowestPercent/1000)

FVFreezeLowest表示FV最低质押量,目前V网设置为2000 * 1000_000L(2000VS)
FVFreezeLowestPercent表示质押比例换算系数(根据质押量计算能获得的最大投票数),目前V网设置为65

  1. V网对用户(选民)增加了根据冻结加档,投票加权处理,ALLOW_VP_FREEZE_STAGE_WEIGHT 58号提案开启后生效,按照冻结档位,冻结对应期限,给予对应权重。如档位,冻结期限,权重初始配置如下:1,35,100;2,60,110;3,180,120;4,360,130;5,720,150标识 用户第一档冻结期限35天,权重100,第二档冻结期限60天,权重110,第三档冻结期限180天,权重120,第四档冻结期限360天,权重130,第五档冻结期限720天,权重150。如果用户五个档位分别冻结1VS,2VS,3VS,4VS,5VS,则用户投票权重为(1100+2110+3120+4130+5150)/ (1+2+3+4+5) = 130,从而投票权重voteCountWeight = voteCountWeight 130/100;

1.2节点质押FVGurantee

在Vision中设置了第一验证者为了获取得票权重而质押VS,首先,需要第一验证者冻结2000VS才能获得投票权重,再次,第一验证者为了获得更多的投票权重,需要冻结VS 获得更多的FV,每次发起冻结,期限按照当前冻结的时间顺延23天为到期时间。

freezeBalance [OwnerAddress] frozen_balance frozen_duration [ResourceCode:0 PHOTON,1 ENTROPY, 2 FVGUARANTEE, 3 CommunityVoting] [receiverAddress]

Vision节点质押具体操作在wallet中执行命令如上,冻结类型ResourceCode设置为2,receiverAddress为无需填写。

1.3得票类型以及生效点

第一验证者获得投票值类型说明
VoteCount
用户正常的投票数。用户投票成功即生效

VoteCountWeight
用户加权的投票数,加权算法,参考1.1。第一验证者质押FV且超过2000VS时生效

VoteCountThreshold
根据第一验证者FV计算后的票数阈值,VoteCountThreshold = (节点质押量FVGurantee - 2000VS)/ 6.5%
计算第一验证者参与排名的有效票数为:min(voteCountWeight, voteCountThreshold)
若VoteCountWeight > voteCountThreshold,则第一验证者需要更多的FV保证金才能让用户的加权投票生效。

2.激励类模型

1.概念:经济周期,质押率(维护周期),质押率(经济周期),通胀率
经济周期:经济周期以“维护周期”为单位,可以通过proposal修改“经济周期”包含的“维护周期”个数。经济周期用于统计并调整通胀率等经济模型类参数。

质押率(维护周期):质押率 = 全网质押数量 / 全网资金量 * 100%,
其中对应分子、分母的数值为
全网质押数量 = 质押获得熵的vs质押量 + 质押获得光量子的vs质押量 + 申请成为节点的vs质押量
全网资金量 = (产块奖励 + 投票奖励 + CommunityVoting奖励 )+ (Galaxy账户初始金额 - Galaxy余额 + Avalon账户初始金额 - Avalon余额 + PrivateSale账户初始金额 - PrivateSale余额 + Team账户初始金额 - Team余额 + DAO账户初始金额 - DAO余额 + Dev账户初始金额 - Dev余额 + Promotion账户初始金额 - Promotion余额)

质押率(经济周期):当前经济周期内各个维护周期质押率之和 / 维护周期数

通胀率:
当前经济周期质押率为0时下一期的铸币膨胀率为0;当前经济周期质押率大于等于60%时下一期的铸币膨胀率为6.89%;当前经济周期质押率小于60%时下一期的铸币膨胀率为23.22%

2.关系及影响:
这3个概念的关系是
通过质押率(维护周期)计算 质押率(经济周期)
通过质押率(经济周期)计算 通胀率
而通胀率直接影响投票及出块的激励数,即witnessPayPerBlockInflation,witness123PayPerBlockInflation,witnessStandbyAllowanceInflation

2.1 出块奖励

选民及Validator获取的出块激励根据加权的投票或得票进行相应比例的换算
1 当前出块的FV激励:
FV激励: witnessPayPerBlockInflation(系统设置)(brokerage/100)
选民激励: 选民投该FV的voteCountWeight/sum(FV获得的投票权重VoteCountWeight)
witnessPayPerBlockInflation*(1-brokerage/100)

2 前123Validator
FV激励: witness123PayPerBlockInflation(系统设置)(brokerage/100)
选民激励: 选民投该FV的voteCountWeight/sum(FV获得的投票权重VoteCountWeight)
witness123PayPerBlockInflation*(1-brokerage/100)

2.2 投票奖励

FV获得的投票加权数/sum(前123Validator获得的投票加权数) * witnessStandbyAllowanceInflation(系统设置)

前123Validator获得的投票数:为FV获得的投票加权数voteCountWeight与<用户投票加权>计算的FV的最大获取投票数的最小值

2.3 社区节点投票奖励

Vision 引入社区节点投票机制,每个用户既可以作为节点,接收其他用户的投票,也可以作为选民,投票给其他社区节点。用户质押VS获得CommunityVoting奖励,质押时须填写社区节点地址,区别于fv节点投票,社区节点投票是只允许给一个节点投票,且一次投票后需等到解冻期3天后,才允许修改节点,追加质押不限制时间。

1. 参与社区节点投票
冻结获取社区节点投票奖励,即将持有的VS锁定,无法进行交易,作为抵押,并以此获得社区节点投票奖励。

FreeBalance冻结参与社区节点投票

freezeBalance [OwnerAddress] frozen_balance frozen_duration [ResourceCode:0 PHOTON,1 ENTROPY, 2 FVGUARANTEE, 3 CommunityVoting] [receiverAddress]

Vision社区节点投票机制支持且仅能投票给一个节点,具体操作在wallet中执行命令如上,冻结类型ResourceCode设置为3,receiverAddress为当前账户设置的社区节点地址,为必传参数。
初始冻结CommunityVoting,需要满足frozen_balance大于1vs时,且receiverAddress存在

Vision社区节点投票机制,在满足条件下,修改节点地址时的操作为 frozen_balance设置为0,且receiverAddress存在,且不能为旧的节点地址。
Vision社区节点激励支持重复冻结。

解除质押,unfreezeBalance

unfreezeBalance [OwnerAddress] ResourceCode(0 PHOTON,1 ENTROPY, 2 FVGUARANTEE, 3 CommunityVoting) [receiverAddress]

Vision社区节点投票支持解除质押,具体操作需要将ResourceCode设置为3,receiverAddress无需传入。
用户解冻CommunityVoting或者重新冻结获取CommunityVoting reward,进行奖励结算。

2. 奖励的计算与瓜分
通过冻结VS获取的CommunityVoting reaward,用户在每个维护周期reward = 块奖励 维护周期总块数 用户冻结量 / 全网总冻结量 * props比例

3. 奖励到账与提取
到账
在Vision网络中,社区节点投票奖励在下面三种场景会到账:
a、用户追加投票或更换社区节点时,会进行激励结算
b、用户取消社区节点投票时,会进行激励结算
c、用户自行提取奖励

提取
账户内有激励余额时用户可进行激励提取