EOSCommunity.org Forums

《Block.One:基于质押的投票和奖励机制》笔记

Block.One 聘请了 Prysm Group 完成了白皮书的撰写和分析,原文(综述白皮书)可以在线阅读,其中综述部分已经有中文版,相关的代码已经上传了Github

Prysm Group(官网):一家领先的咨询公司,专注区块链和数字资产的经济模型和治理。

本次提案的核心内容都总结在第一部分,如果不感兴趣细节的读者仅阅读这一部分即可。

注意:这个方案只是讨论稿,并不强制社区采用。最终社区是否采用、采用细节如何,还需要社区达成一致。

1. 核心内容总结

总的来说,Prysm Group 提出的方案与现有方案的差异在于:

  • EOS 的资源属性弱化,货币属性增强
    • 投票权剥离,投票权将只属于质押者,而不是属于所有 EOS 持有者
    • CPU 和 NET 资源不再是 EOS 的内含属性,获取与质押行为脱钩
    • 通胀率可随时间变化,匹配经济增长,EOS 货币属性增强
  • 通胀分配:更类似财政收入,奖励提供公共服务的组织和个人(节点和治理)
    • 质押者会和节点共享通胀奖励,甚至有可能比节点获取更大比例的通胀奖励
    • 通胀率有所提升,提升部分的通胀主要用于质押者的奖励
    • 熨平 21/22 节点的收益断崖,取消节点的出块奖励,只有投票奖励
  • Skin in the game:出块连坐惩罚,设立赎回限制
    • 设立出块惩罚,节点不作为惩罚所有节点和质押者
    • 引入“单次赎回比例上限”和“赎回间隔”两个指标
    • 完全赎回全部质押需要一个多月

具体一些参数如下:

  • 整体通胀率:年化 1.2%~3.8%;
  • 节点的通胀分配:节点分配占总量的 1.2%,如果通胀率是 1.2%,则全部给节点;如果通胀率到了 3.8%,则节点至少占通胀分配的 32%(≈1.2%÷3.8%);
  • 质押的通胀分配:整体通胀率扣除节点的通胀分配剩下的那部分,至多占通胀分配的 68%(≈2.6%÷3.8%);
  • 赎回限制:如果社区认为限制赎回有必要,则每 7 天可以赎回一次,每次只能赎回质押的 67%;如果社区认为限制赎回必要性不大,则每天可以赎回一次,每次赎回无限制。
  • 出块惩罚:如果有节点没有及时出块,惩罚整个系统,惩罚系数定义为10 的出块比例次幂,比如,每出 252 块发放一次奖励,如果这轮 252 块中有 10 个块没出块,那么整个通胀奖励就会在原有基础上乘以 10 的 0.96(即 1-10/252)次方,约等于正常通胀奖励的 91.2%。

2. EOS 机制现状及新机制概述

2.1. 目前的机制

目前,通过委托(质押)EOS(可以给自己质押,也可以质押给别人),可以得到:

  • 主网的 CPU 和 NET 资源:资源可以让账户执行事务(Transaction)操作。账户拥有的资源和质押数量正相关,获得资源的数量是全网资源的一定比例,和质押占全网质押比例有关(PowerUp 采用前);
  • 投票权:可以投给至多 30 个节点,或指定代理人(proxy)替他们投票。注意,投票权不是通过委托 EOS 才能产生,而是持有 EOS 就可以产生,因此即使你不委托 EOS,仅仅通过将持有的 EOS(以及背后的资源能力)“出租”(通过资源交易所 REX),也可以拥有投票权,但资源使用权交给了其他人。投票决定了哪些节点负责出块,这是 DPoS(委托权益证明)机制的关键组成部分,用以确保 EOS 区块链的安全。

目前,委托(质押)EOS 的行为没有得到任何奖励或报酬。而且,委托(质押)EOS 给其他人也不会收取租金,但在资源交易所 REX 里面出租 EOS 却可以获得额外的 EOS。而且,委托(质押)赎回可以随时发起,3 天后到账。

通胀奖励的分配:目前 1%的通胀代币通过系统奖励给出块节点和备用节点,用来奖励他们处理链上事务并维护 EOS 公链。其中,75%的通胀奖励按获得票数发给出块节点和备用节点,25%的通胀奖励按节点出块比例发给节点。

2.2. 新机制概述

Prysm 设计的新机制,和原有机制有几点关键的区别:

  • 质押不再换取 CPU 和 NET 资源,资源获取通过独立的资源管理系统获取(比如从 REX 购买或 PowerUp 付费);
  • 质押只用来换取投票权,仅仅持有 EOS 或买入 REX 不再拥有投票权;
  • 新的赎回机制:同时限制赎回频率和每次赎回的赎回比例
  • 为质押者提供质押通胀奖励。在每个共识回合(consensus round,126 秒,出 252 个块)结束后,通胀奖励以质押的形式(奖励同样受到赎回频率和比例限制)发送给质押者,奖励数量=投票分配比率(voter_rate)*该账户质押数量/所有账户质押数量
  • 通胀剩余部分奖励发给节点,作为节点通胀奖励,节点通胀奖励取消了原来的出块奖励,所有奖励按得票数发给出块节点和备用节点。 之所以取消出块奖励,其中一个考量是:在有出块奖励的情况下,21 号节点和 22 号节点的收益差距约为 40%,但二者所提供的基础设施成本几乎没有任何差异。

3. 通胀率:要匹配经济增长

EOS 代币目前在网络中充当着三种角色:

  1. 节点的通胀奖励;
  2. 分配网络资源(CPU 和 NET)的手段;
  3. 一定的货币职能(主要是交换媒介),促进公链上参与者之间各种类型的交易和事务。

这个部分主要讨论 EOS 的货币职能。想要 EOS 发挥一定的货币职能,就得确保市场参与者承认它是一种可靠和相对稳定的交易手段。比如,通胀率不能太高,否则,参与者可能会拒绝接受它作为奖励或支付手段。

因此,为了保持稳定的基本代币价值,代币流通供应的增长速度必须大致与经济活动的增长速度相匹配。这里需要注意的是,即使控制了总代币通胀率,流通代币通胀率也有可能上升,比如:质押赎回卖出、通胀奖励卖出、Block.One 解禁卖出等。

一般来说,承担交换媒介代币的价值与链上经济活动、流通代币总量和代币流通速度有关。

基础代币价值=链上经济活动 ÷(流通代币总量 × 代币流通速度)

  • 流通代币总量:不包括 Block.One 持有的代币、锁定或质押的代币以及由于其他原因导致无法使用的代币,截至 2021 年 1 月 31 日,市场流通货币总量为 9.26 亿;
  • 代币流通速度:一段时间内代币被消费的次数。美元的季度流通速度约为 1.1~2.2,比特币的季度流通速度约为 1.1~1.6,这里假设 EOS 的季度流通速度约为 1.1;
  • 链上经济活动:使用代币购买商品或服务的法币价值,类似 GDP 的概念。注意,投机交易或代币转移不包括在内。假设 EOS 代币价格就是 EOS 的基础代币价值,基于其他设定,我们可以计算出 2021 年 1 月 31 日的市场隐含链上经济活动季度总值约为 30 亿美元($2.91/EOS×0.926B EOS×1.1)。

Prysm 通过回溯逐月计算了 EOS 的链上经济活动总值,波动很大。因此在假设 EOS 经济活动增速时,采用了假设法:

  • 上限假设:5%,个人认为这个假设过于保守了;
  • 下限假设:2.4%,这个数字约等于发达国家的经济增速(美国 3.0%、欧盟 2.2%、OECD 3.0%);

经过测算,对应的系统通胀率应该在 1.2%-3.8%左右。但这种假定具有巨大的不确定性,因此通胀率应该随着时间调整。但基于目前的现状,这样的假设是合宜的。

4. 通胀分配:不能降低节点奖励

节点对 EOS 网络运营至关重要,主要负责验证交易,生产新的区块,并授权系统合同升级。此外,许多节点还密切参与网络的发展和增长,提供数据反馈、建议分析和其他社区服务。

考虑到网络需要吸引并留住节点,基于实证分析,Prysm 认为新机制下发给节点的通胀奖励不要低于目前的水平,尤其是对于出块节点。考虑到出块奖励不再发放,建议给予节点 1.2%的通胀奖励下限。如果通胀达到了 3.8%,那么节点领取通胀奖励的 32%,如果通胀下降到了 1.2%,那么通胀奖励 100%给予节点。

论证如下:

4.1. 节点的成本

节点需要支付的成本主要包括提供直接托管和处理数据服务的费用,项目发展费用,营销费用等。而且。出块节点的成本往往比备用节点的成本高不少(详见非官方调查《EOS 节点是否像我们想象的那么富裕?》),在 2018 年末,出块节点一年的成本约 104.64 万美元,备用节点约 37.7 万美元。

4.2. 出块节点处于盈亏平衡点附近

首先,结合上面的成本数据,考虑单个节点的收益情况。

出块节点的收益主要由两部分构成:

  1. 出块奖励:通胀率 1%的 25%;
  2. 投票奖励:通胀率 1%的 75%,再乘以出块节点的投票占比。

出块节点的投票占比历史数据如下:

收益分析:比较典型的两段时间:

  • 2018/7/1-2019/7/1:出块节点投票占比约为 39.9%,据此计算,出块节点一年的收益约为 127.41 万美元,如果成本如前所述,利润率约为 17.9%(仅考虑节点收益,没考虑节点自己质押产生的收益);
  • 2020/5/1-2020/12/31:出块节点投票占比上升到约 55%,但与此同时 EOS 价格维持低位,因此出块节点一年的收益约为 95.42 万美元。为了避免亏损,节点此时大概率会降低自己的支出。

在新机制下,如果出块节点没有了出块奖励,想维持目前的盈利水平只能让出块节点的投票占比上升 10%,或者继续减少成本。这似乎都不是很好的情况。

再从节点的总量变化上考虑这个问题。

看一下历史累计注册节点和活跃(已注册)节点数据:

目前的节点奖励率足以有效地维持目前节点的数量,同时每月吸引少量的新节点加入网络,这是相对健康的竞争环境,鼓励现有节点提供更好的服务。如果奖励持续减少,有可能影响节点参与度。

5. 赎回限制:引入单次赎回比例上限与赎回间隔

在新机制下,赎回限制受到两个参数影响:

  • 单次赎回比例上限:withdrawal_limit,可赎回占现有质押数量的比例;
  • 赎回间隔:claim_period,每次赎回的间隔时间;

Prysm 建议:单次赎回比例上限设定为 0.67(67%),赎回间隔设定为 7 天(604,800 秒)。这样的结果是:2 周赎回全部的 96.4%,3 周赎回 98.8%,4 周赎回 99.6%。当然也有另一种方案:单次赎回比例上限设定为 0.2(20%),赎回间隔设定为 1 天。这个和 Prysm 提出的方案是等效的,但会要求更多的操作次数。

5.1. 不同参数设定演示

以下是两种方案测试:第一种的赎回间隔是 1 天,第二种的赎回间隔是 7 天。可以发现,单次赎回比例上限越小,赎回期越长,解质押清算的时间越长

举例:以下两种方式在 2 周后的效果类似:

  • A:100 个 EOS 质押,单次赎回比例上限为 0.2(即 20%),赎回间隔为 1 天;
  • B:100 个 EOS 质押,单次赎回比例上限为 0.78(即 78%),赎回间隔为 7 天;
天数 可赎回-A 赎回后余额-A 可赎回 B 赎回后余额-B
0 0 100 0 100
1 20 80 0 100
2 16 64 0 100
3 12.8 51.2 0 100
4 10.24 40.96 0 100
5 8.19 32.77 0 100
6 6.55 26.21 0 100
7 5.24 20.97 78 22
8 4.19 16.78 0 22
9 3.36 13.42 0 22
10 2.68 10.74 0 22
11 2.15 8.59 0 22
12 1.72 6.87 0 22
13 1.37 5.50 0 22
14 1.10 4.40 17.16 4.84

单次赎回比例上限可以被设定为 1(即 100%),但是设定赎回上限比例有一定的好处:

  1. 将投票权赋予那些更看好 EOS 长期发展的账户;
  2. 缓解赎回行为带来的短期波动性;
  3. 有助于网络参与者对整个网络流通供应总量形成更稳定的预期。

5.2. 设置这两个参数的考量

1、历史数据显示,目前的质押者本身有长期质押特性

Prysm 统计了 2020 年 10 月 1 日起开始的 12 周内质押者的质押情况,其中白色部分是 10 月 1 日快照质押者的变化趋势,蓝色部分是 EOS 所有质押情况:

可以看出:10 月 1 日质押者在接下来的 12 周内,质押总量只下降了 4.1%,这批质押者质押的 EOS 依然占整体质押量的 95%以上。即使没有赎回限制,EOS 质押者也存在长期质押的特征。

需要注意:虽然历史数据存在长期质押的特征,但一旦引入赎回限制,某些质押者的行为可能会发生改变,比如交易所账户,因为他们需要保持一定的流动性以满足客户的赎回。

2、可以缓解负面冲击带来的价格崩溃

如果没有赎回限制,一旦市场出现了比较大的负面冲击(比如价格暴跌),可能引发恐慌而大规模赎回,进而导致价格螺旋式下跌。限制巨额质押者立即抛售代币的能力,可以为市场参与者在面对负面冲击时提供更大的信心。

目前,其他公链也有赎回限制的条款,一般来说,拥有投票权的质押赎回条款往往更加严格:

3、并非不可或缺

赎回限制也并不是一定要存在,如果没有赎回限制,除了存在小概率的巨额抛售外,并没有其他风险。也有一些公链采用了没有赎回限制的做法。

6. 预期结果模拟

新机制下,质押者能够获得两种奖励:

  1. EOS 奖励,可马上使用或交易;
  2. 投票权奖励,参与社区治理。

质押者预期的质押数量,与质押者的机会成本、质押奖励、投票价值有关:

质押投票的机会成本收益率 × 质押数量=质押投票奖励收益+投票价值

经过模拟运算(虽然有说明,但没太搞懂它是怎么算的),预期结果如下:

情境 经济活动增速 投票价值 总通胀率 质押通胀分配比例 隐含名义收益率 均衡质押数量 均衡质押比例
高增长/低投票价值 5.0% 3.8% 68% 5.9% 4.46 亿 48%
低增长/低投票价值 2.4% 1.2% 0% 0.0% 1.89 亿 20%
高增长/高投票价值 5.0% 3.8% 68% 4.3% 6.14 亿 66%
低增长/高投票价值 2.4% 1.2% 0% 0.0% 3.85 亿 41%

Prysm 也统计了目前其他公链的相关数据,得到相似的数据:

均值 名义收益率 通胀率 质押比例 质押投票权
平均值 6.20% 4.82% 51.84%
中位数 4.78% 4.90% 64.06%
平均值 11.92% 4.0% 29.45%
中位数 7.12% 0.57% 36.99%
4 Likes