f(x) 协议灵魂三问
f(x) 这个协议是如何实现资产的波动率分级的,这个系统在极端市场环境下的稳定性表现会如何,以及系统发生崩溃的边界在哪里?
1.波动性分级原理
了解 f(x) 这个协议,看懂下面这个看板很重要。底层资产 ETH 通过 lido 质押变为 stETH,再拆分成一定数量的类稳定币资产 fETH 和杠杆类资产 xETH,fETH 只有底层资产 10% 的波动性,而 xETH 则承担了剩下所有的波动性。
协议的全部精华就在于下面这个简单的公式,即
我们看到协议的底层资产是 2698.868ETH,TVL 为 $4,889,229,这个 TVL 是等于分解出来的两种资产的 NAV(资产净值)之和的,即 fETH market cap + xETH market cap。fETH 的价格波动钉死在以太坊价格波动的 10%,即 fETH 的价格 pf 是确定的,nf 和 nx 数量是不变的,那么就可以计算出 px 的价格是多少。
让我们举个例子更清晰的说明:
初始用户将 1 枚价值(2000 的以太坊别分铸造了 1000 枚 fETH 和 1000 枚 xETH,下一天,以太坊下跌了 10%,价格变到了)1800,fETH 波动率按协议设定,只能下跌 1%,即 fETH 价格变到(0.99,根据公式 1,我们可以算出 xETH 的价格变为了)0.81,xETH 的波动率有多少呢,(1-0.81)*100%=19%,对应杠杆率就是 1.9 倍。
从看板中对应不同资产的波动曲线我们也可以看出,fETH 的波动是非常小的,xETH 的波动性则大于 ETH 本身的波动,这里项目可以将 UI 做的更直观一些。
2. 系统稳定性如何保证
f(x) 稳定性第一定律:类稳定币 fETH 价格的波动率始终精准稳定在 ETH 10% 的波动率上。
第一推论:要想满足第一定律,必须要有足够多的杠杆币 xETH 去承接底层资产波动性在类稳定币 fETH 之外的溢出。如果 xETH 量相对较少,则扩大 xETH 杠杆倍数承接波动率(见下图右侧红色部分),如果 xETH 量很大,则杠杆降低(见下图左侧),低倍杠杆就可以稀释波动性。
这样简单的两条就形成了 f(x) 协议的基础条件。但这条曲线并不是一个会自发回归稳定的金融系统。 曲线两侧的极端情况我们需要重点关注。
(1)曲线左端:杠杆币 xETH 相对类稳定币 fETH 过多,这种情况想必会在牛市中更为常见,更多的人愿意去购买杠杆产品而不是拿着稳定币,极端情况就是杠杆币 xETH 的杠杆率大幅下跌到接近与 1,也就是跟拿着原生资产以太坊没啥区别,不过即使这样对整个协议也没有什么伤害,系统是会自动向曲线中部回归的。
在这里,f(x) 白皮书中也提到,尽管 fETH 的需求决定 fETH 的供应量,但为了满足任何时刻的需求,可以以最低的费用铸造的 fETH 数量通常要高得多,而这个数量仅受 xETH 供应量的限制。
这里协议可以有一种进行类似 frax 协议的 AMO(算法市场操作)的操作空间。比如 xETH 增长太多,造成杠杆率过低,对市场的吸引力下降,这时 f(x) 协议可以自己主动去增发 fETH,保持杠杆率维持在比如说 1.5 倍以上的水平,同时可以应对未来 xETH 的需求下降,再去销毁这部分增发的 fETH,尽量减少杠杆率的飙升。
(2)曲线右侧:杠杆币 xETH 相对稳定币 fETH 过少,这种情况对于系统是比较危险需要防范的情形,因为通常这会发生在市场行情极度悲观的时候,币价持续下跌,大家都在求稳,很少有人愿意冒险去加杠杆做多,此时曲线中可以看到 xETH 的杠杆率有一个陡峭的飙升,由此会形成一种致命的负向死亡螺旋,更少的人愿意加杠杆做多——杠杆倍数更高——更不愿意加杠杆……
面对这个局面,自由市场是无法自发解决这个问题的,好在 f(x) 协议通过一些方法来来避免发生这样的悲剧。
3. f(x) 协议风险边界
f(x) 协议引入了 CDP 借贷协议中的一个概念——CR(Collateral Ratio)保证金比率,在协议方看来,用户抵押在协议中的底层资产是抵押品 Collateral,铸造的稳定币 fETH 是借出的资产,协议必须确保借出的稳定币价值不能超过抵押品的价值,也就是 CR>100%,否则就会产生坏账,资不抵债了。这里没有算 xETH 的价值是因为在极端情况下 xETH 是有可能归零的,但就是如此,协议也要保证正常运转,避免发生坏账。
f(x) 协议使用了 2017 年 1 月 1 日以来每日以太坊价格的变化数据进行了测算,在风险发生概率不大于 0.1% 的情况下,这等同于以太坊一天之内下跌 25% 的一个情况,在这种级别的灾害下,130% 的 CR 是完全可以抵御的,所以协议将 130% 的 CR 设定为了一个安全阈值,低于这个阈值,自动启动 stability mode——稳定模式。此时对应的稳定币 fETH 的价值超过 0.78 倍的底层资产价值,xETH 的杠杆率来到了正好四倍。在稳定模式下,协议采取的措施有:
(1)控制协议出入口
f(x) 协议控制 fETH 和 xETH 的铸造和赎回费用,甚至停止 fETH 的铸造,目的就是增加 xETH 相对与 fETH 的价值,提高协议吸纳底层资产波动性的能力。
(2)内部资产再平衡——Rebalancing Pool
与 Liquity 项目的 stability pool 相似,协议鼓励 fETH 持有者将手中的币放在协议自己的池子中赚取一定的质押收益,而协议有权动用这部分资产在 CR 低于安全阈值时将 fETH 赎回为储备资产,即 stETH。
有避险需求的 fETH 持有者可以通过 Rebalancing Pool 在大幅度减少自己波动的情况下增加自己的收益,而协议通过引导激励,将 fETH 短时间内囊括为了自己的协议流动性(最新变更从锁定两周变为锁定一天),进而有效调整协议的 CR 值运行在远离风险的位置。
当然如果 Rebalancing Pool 中资产被耗尽,CR 有持续下跌风险,f(x) 项目方会动用协议收入激励 xETH 铸造者。
与 liquity 不同的是,Rebalancing Pool 流动性提供者获得的收益来自于协议外部,也就是 lido 协议的以太坊质押收益,而 liquity 完全是用自己的代币排放作为激励,这也造成了 $LQTY 代币的长期抛压,但这也是它使用最纯粹的原生代币 ETH 必须要付出的代价。
在我看来,f(x) 协议还是可以借鉴 liquity 的做法,在 CR 低于 130% 后,让 fETH 的赎回过程获得一定的类似于清算收益的奖励,促使更多的 fETH 进入 Rebalancing Pool。
这不同于稳定币 lusd 的情况,稳定币最重要的作用是流通功能,而 fETH 做重要的作用是持有时的避险功能,本质上不要求市场上有多大的流通量。
(3)协议金库收入补贴 xETH 铸造者
如果说利用 Rebalancing Pool 是通过收缩协议 TVL 规模的方式提高 CR,补贴 xETH 铸造者则是更加正向的扩大 TVL 的方式来提高 CR。具体补贴的力度和实际效果有多大还需要在实战中进行考验。