一文详解Bifrost Staking衍生品如何选择验证人和结算收益
为了确保网络具有活力(网络具有可用性),PoS 网络“迫使”持币人长时间锁定自己的 token。通过锁定资金,当验证者执行恶意行为时,网络可以执行惩罚,称为 Slash。与此同时,为了防止 Noting at Stake 和防止长程攻击,提取 Staking token 有一定的锁定期。而这使得持币人在参与 Staking 时,虽然获得了币本位的收益,却不得不承受币价波动所带来的金本位损失风险。持币人顾及到这种风险,因而有部分人不敢参与 Stake。更进一步,Staking 的锁定机制,使得Staking 和 DeFi 具备了竞争性,使得持币人不得不在 DeFi 的效用和 Staking 效用之间作选择,而不能兼得。
持币人希望在质押的同时不损失流动性及其他效用,此需求,催生了 Staking 衍生品。
Staking 衍生品是指基于 Staking token,生成的衍生资产,衍生资产可用随时交易,也可以用于DeFi,由此 Staking 衍生品实现了 Staking 收益和其他效用的兼得。
如今,DeFi 在蓄势许久后掀起了浪潮,借贷,Dex,预言机等类型的项目受到投资者青睐,去中心化 Staking 衍生品项目,例如 Bifrost (彩虹桥),Acala 的 Homa,Stafi 也受到业内关注。当然,除了去中心化的,Staking 衍生品方案也有中心化的,例如 Stake DAO,不能归类于 DeFi 当中。
Staking 衍生品的创建方式,表面看起来是很简单的,只需要建立一个合约账户,让用户将token 转入,使用这个合约账户来质押,并定期派发 Staking 收益就可以了。但这里面有两个问题需要妥当处理:
1.如何选择验证人
2.如何结算 Staking 收益
如何选择验证者?
Staker自由选择验证人
持币人选择验证者,就像是代议制民主当中的议员选举。每个 token 都代表一个选票,投票权属于 token 的持有人。Staking 衍生品协议作为一个中间层,不应该改变这个基础,应该让用户自己来选择验证者。但这样做将导致一个严重的问题,那就是衍生品不具备同质性(non-fungible)。委托给不同的验证人,将产生不同的衍生品。例如:张全蛋通过一个 Staking 衍生品协议质押了1个 DOT,铸造了一个名为 Voucher Dot 的衍生品,后文我们简称为 vDOT。vDOT 可以随时赎回为 DOT,李铁柱通过同一个协议质押了1个 DOT,也铸造了一个 vDOT。由于他们委托给了不同的验证人,导致这两个 vDOT 的收益率不一致,其 Slash 风险预期也不一致(验证人信誉决定Slash风险预期),两个 vDOT 的定价当然也会不一致,这将如何交易?更遑论 DOT 如何应用于 DeFi
协议统一选择验证人
因此作为中间层的衍生品协议,只能作另外的选择,就是由协议来统一选择验证人。对于协议的用户而言,使用协议来质押,意味着将投票权让渡给了协议。
这对于大部分持币用户而言,不一定是坏事,因为他们本身并没有能力判断委托给哪位验证者对网络发展更有好处,更多的时候只是基于手续费率而选择。而协议可以使用算法动态选择验证者集,实现收益与风险的最佳均衡,因此,让协议来选择验证人反而更好。
但这无疑意味着,协议拥有了极大的权力,当协议所管理的 Staking 资产达到一定量级,便可以对原链产生举足轻重的影响。倘若衍生品协议是中心化的,无疑会造成原链的中心化风险。即便衍生品协议是去中心化的,衍生品也对原链的票权产生了影响,使得原链 token 持有人的权利转移到了协议自身代币的持有人手中。
有没有什么办法能做到,既不影响原链的票权,又能让衍生品具有同质性(Fungible)呢?
有一个办法可以做到,那就是采用类似于 Maker 和 Synthetix 的方式,以借贷的方式合成资产。
合成资产方案
合成资产是指抵押一种资产来生成另外一种资产。稳定币 DAI 也属于一种合成资产,相当于用ETH 来合成美元。提供抵押的用户通过抵押借贷获得了某种杠杆资产。
用户的 Staking token 完全可以在参与维护网络安全,获得 Staking 收益的同时,作为抵押品来借贷,借出衍生资产。例如抵押1个 DOT,借出1个 vDOT ,vDOT 的价格属性与 DOT 完全相同。正因如此,这种借贷并不需要超额抵押,来应对 DOT 与 vDOT 的相对价格波动。Tarun Chitra 有一篇论文,名为《Why Stake When You Can Borrow》,在其中,讨论 Staking 衍生品时,Tarun 提出了这样的方案。
在这种方案当中,用户可以自由选择验证人,而且选择不同的验证人,生成的是同样的衍生品。这样既没有改变票权,也实现了同质性。但这种方案牺牲了一个重要特性:衍生品将不能表达 Staking 权益。持有 vDOT 等效于持有 DOT,而非等效于持有 Staking DOT。
另外,如果张全蛋把衍生品 vDOT 卖给了李铁柱,李铁柱无法凭 vDOT 来赎回 DOT,必须由张全蛋重新买入来实现赎回。这就像 Maker 的 CDP 合约只能由合约创建人来关闭,并不是所有持有 DAI 的人来可以来还 DAI,
这会导致衍生品与原 Token 的相对价格会有所波动。当出现 Stake 高峰时,衍生品会下跌,而出现 unstake 高峰时,衍生品会上涨。导致 Stake 高峰或者 unstake 高峰的可能是复杂的外部因素,在此不多赘述。我们已经在 Maker 上看到过这种情况的发生,在 312 下跌中,DAI 的价格最高被冲到 1.06 美元。
Staking 衍生品的不可能三角
结合上述情况,我们发现 Staking 衍生品有一个不可能三角。同质性,不改变原链票权,表达Staking权益,三者最多得其二。Staking 衍生品项目可能需要根据自身的业务目标进行权衡取舍。
如何结算Staking收益?
接下来我们来探讨 Staking 衍生品的第二个难题:收益结算。收益结算分为两个环节,一是验证人将收益结算到衍生品协议的合约账户,二是合约账户给 Staker 结算收益。
首先,我们讨论第一个环节,验证人如何给合约账户结算收益。
不同的 PoS 项目,链上分账的支持是不同的。有的项目(例如 Tezos,EOS)没有链上分账机制。而链下分账是不安全的,验证者可能不诚实,不履约,不按时足量给委托人分配收益。
面对这种情况,最笨拙的办法是衍生品协议自己开发一个分账模块,这种办法一来会有额外的开发成本。二来如果遇到 EOS 这种禁止“贿选”的项目,则有可能遭到原链的不兼容反制。
在这点上,Bifrost 的竞选池机制可圈可点。
Bifrost 的竞选池机制,放弃了收益分账的模式,而是采用了“租金先付”的方法。验证人如果想要进入 Bifrost 的验证者集,必须首先进行收益率出价,即告诉协议,愿意给使用协议的 Staker 多少比例的收益。倘若出价为10%,并最终被协议所接受,那么不管该验证者的实际收益率是多少,都将按照10%向协议分享收益。
打个比方,比如我是房东,有一间房子要出租,委托中介去办理,与中介商定,无论出租多少钱,中介抽佣10%,我拿90%,这就是“收益分账”。如果我不找中介,而是找房屋托管公司,约定房子 3000 元/月托管出去,托管公司可以 4000 元租出去,也可以 5000 元租出去,与我无关,当然托管公司为快速回笼资金,打折出租 2000 元/月,也与我无关,我依然可以拿到我的3000 元/月。这就是“租金先付”
对于验证者而言,Bifrost 的竞选池就像一所托管公司,帮助验证人找到委托人,购买委托人的投票。租金先付的方式比收益分账,更加简洁高效。而且租金先付模式向验证者提供了补贴拉新的选项。
我们再来讨论收益结算的第二个环节,合约账户如何向Staker结算收益。
如果让用户自己选择验证者,收益结算自然是基于当前验证者的分佣率来给用户结算。这种情况比较处理起来比较简单。与一般支持质押的钱包交互相同。
如果是协议来统一选择验证人,那么收益也将由衍生品协议按照统一的比例分配给所有 Staker
,我们则需要考量下如何来执行派息是最高效的。
假如我们要让衍生品 vDOT 的价值始终1:1等于 DOT 的话,那么我们可以这样,用户在任何时候质押1个 DOT,只能生成1个 vDOT;销毁一个 vDOT,也只能赎回1个 DOT,为了同步 Staking 收益,协议需要定期更新每个账户中的 vDOT 的数量。更新后,原本持有1个 vDOT 的账户中可能会变成1.1个 vDOT,vDOT 就像会自己繁殖一样。少数情况下,vDOT 也有可能减少,即发生 Slash,且 Slash 金额高于当前周期派息金额的情况。
然而这种方式,有两大弊端,第一是定期向所有地址结算收益,要消耗很多计算资源。第二是,一个会自己繁殖的 token,对于 DeFi 而言,是一个异型 token,不利于跨链流通,也不利于广泛参与到 DeFi 中。
因此,目前的 Staking 衍生品协议,基本都采用了另外一种方式:打破衍生品与原生资产的1:1汇率,让汇率随着 Staking 收益不断增加而实时变化。
例如,期初用户A stake 了1个 DOT,获得1个 vDOT,过了一段时间,由于 Staking 产出收益,合约账户中的1个 DOT 变成了1.1个 DOT,此时1个 vDOT 则可以赎回1.1个 DOT。随着 Staking 收益的累积,一个 vDOT 可以赎回的 DOT 数量不断增加,vDOT 对 DOT 的汇率提升。如果发生Slash,则汇率降低。
汇率变化意味着赎回率和铸币率都在变化。当协议当前的赎回率是1个 vDOT 可以赎回1.1个DOT 时,通过协议 Stake 1.1个 DOT,只能获得1个 vDOT。只有这样,新用户不会占老用户的便宜,老用户也不会占新用户的便宜。
我们把 Staking 派息和 Slash 导致的合约资产价值变化,转化为了汇率的变化。在这种机制下,衍生品代表了从质押开始到当前时点累积的本金和收益之和。
对于 DeFi 而言,这样的衍生品 token,和其他 token 没有区别,可以轻易兼容。另外,只有用户铸币和赎回的时候,系统需要计算当前汇率(当前汇率等于衍生 token 总数量:协议池中Staking Token 的总数量),并根据当前汇率到执行铸币或赎回的操作,省去了定期派息的计算量。
铸币和赎回本身不会影响汇率。因为铸币时,链上托管的 Staking 资产和衍生品资产是等比例增加的。而赎回时,链上托管的 Staking 资产和衍生品资产是等比例减少的。能够对汇率产生影响的只有 Staking 派息,和 Slash。
Slash 概率毕竟较低,而 Staking 收益是持续有的,而且在不断复利。总体来看,衍生品对原 token 的汇率会持续增长。短期来看,影响不大,但随着时间推移,可能增长到很大的数字。届时,协议需要拆分新的衍生品计量单位。
Staking 衍生品的未来
截止撰文,笔者视野内的 Staking 衍生品项目 10 家,其中以去中心化方式实现的有 Acala、Bifrost、Stafi 都尚未投入应用。在 Staking 衍生品的不可能三角中,他们选择了不同的路线,因而也会创造不同的衍生品。
什么样的衍生品会更能吸引用户铸造,什么样的衍生品对原链更加友好,什么样的衍生品能更广泛的被采纳为 DeFi 的基础资产?尚未可知。可以肯定的一点是,Staking 衍生品将是一个百花齐放的领域。因为基于不可能三角的不同选择,将满足不同的细分需求。
期待百花盛开的时刻!
微信扫描关注公众号,及时掌握新动向
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场