TerraUSD(UST)如何保证 去中心化算法 稳定币与法币价格挂钩?@Terra链预言机共识机制@nelsonie

Terra网络及稳定币经济模型简介

0x8eC4
December 20th, 2021

今天从 @BTCdayu 处听到了Terra网络及其算法稳定币,看了看市值Terra的治理代币Luna市值排名第9,其网络发行的稳定币TerraUSD(UST)市值排名第21,能取得这么好的成就,故决定花时间研究一下其经济模型。

本篇文章大概分3个部分:

  1. 介绍Terra网络如何实现稳定币的机制
  2. 介绍Terra网络的共识机制、各个参与者角色以及收益来源
  3. 总结分析一下Terra的优点

Terra协议

之前我们听说的稳定币,大多是中心化机构发行并作为信用担保的。例如USDT由Tether公司发行,USDC、USDB等分别是由CoinBase和Binance发行,能与美元挂钩主要是利用发行公司的信用担保,其风险取决于发行公司的信用。

而TerraUSD则是由Terra协议作为担保,Terra协议是为了算法稳定币(algorithmic stablecoins)开发的一个分布式的区块链协议。

为了实现稳定币可以与法币价格挂钩,它利用了开放市场的套利动机去中心化预言机投票。下面的篇幅会对此展开论述。

与此同时,Terra发行了的两种主要Token:

  • TerraTerra类型的稳定币,用来绑定法币价格。例如TerraUSD(UST)用于与美元挂钩,TerraKRW(KRT)用来与韩元挂钩,等等。
  • LunaTerra网络的质押、治理代币,除了可以质押挖矿和社区治理的作用之外,它最主要的作用是消化Terra稳定币的不稳定性(valatility)。

如何保证稳定币与法币价格挂钩?

其实很简单,就是利用了需求和供给原理。

我们以TerraUSD(UST)举例,假设UST的初始价格与美元挂钩,1 UST=1 USD。

这时我们任由市场自由交易:

当 UST 需求量 > 供应量 时,UST的价格会上升

当 UST 需求量 < 供应量 时,UST的价格会下降

所以如果能给保持 UST 需求量 = 供应量 时,1 UST就能实现与1 USD 挂钩,即 1 UST = 1 USD。而Terra协议巧妙的利用了Luna代币以及市场上的套利动机实现了这个目标。

Terra市场(Terra Market)

Terra Market是Terra专门为套利者设置的一个市场,在这个市场中,任何时候1美元价值的Luna可以和1个UST进行互换

假如Luna的市场价格现在是10美元,那么0.1 Luna 可以兑换 1 UST

当有用户在Terra Market将0.1 Luna 去兑换 1 UST的时候,0.1 Luna被销毁(Burn)掉,1 UST被铸造(Mint);相反,如果用户用1 UST去兑换 0.1 Luna时,1 UST被销毁掉,0.1 Luna被铸造。

请再次记住这个概念:在Terra自己的协议中,1美元价值的Luna 永远等于 1个UST。这是Terra利用套利动机去实现稳定币的关键。

稳定币与法币价格再挂钩

上述由于供需不平衡导致的稳定币价格偏差,可以通过套利动机去再平衡,最终达到与法币挂钩的稳定价格。下面还是举例说明如何实现价格再挂钩:

  • 稳定币价格低于法币当UST需求量过低,假设1 UST市场价格只有0.9 USD。这时套利步骤如下:
    1. 套利者花 0.9 USD 购买 1 UST
    2. 套利者用 1 UST 去兑换 1 USD价值的 Luna
    3. 套利者将1 USD价值的Luna卖出,得到1 USD
    4. 套利者花费0.9 USD,得到了1 USD

    经过上述套利后,1 UST会被销毁,而1 USD价值的Luna则会被铸造。因为UST的销毁导致UST供给减少,因此会抬高UST的市场价格,当UST价格接近1 USD时,无套利空间,则UST价格实现与USD再次挂钩。

  • 稳定币价格高于法币当UST需求量过高,假设1 UST市场价格已达到1.1 USD。这时套利步骤如下:
    1. 套利者花1 USD购买Luna
    2. 套利者将手中的价值1 USD的Luna去兑换1 UST
    3. 套利者将1 UST在市场上卖出,得到1.1 USD
    4. 套利者花费1 USD,得到了1.1 USD

    经过上述套利,1 USD价值的Luna会被销毁,而1 UST则会被铸造。因为增加了UST的供给,从而会使UST的价格下降,当价格下降接近1 USD时,无套利空间,则UST实现与USD价格再次挂钩。

Terra协议巧妙的通过利用套利者动机,实现了稳定币和法币价格的挂钩。

不过聪明的读者会发现一个套利过程中的关键问题,1 USD价值的Luna 可以永远兑换 1 UST,那么Terra协议如何确认1 USD能有购买多少个Luna呢?这个就是Terra预言机(Terra Oracle)的作用了。

Terra预言机(Terra Oracle)

与Chainlink Oracle的作用类似,Terra预言机的作用主要是用于获取真实市场上Terra和Luna的实时价格,为上述套利例子中Luna和UST互换提供价格数据源(Price Feed)。

下面是Terra Oracle的简单介绍。

  • 价格数据源(Price Feed)的产生Terra Oracle服务由矿工(Validator)提供,他们需要在每个投票阶段(VodePeriod)内进行投票,投票内容为市场上的Luna真实价格,Terra协议会根据每个矿工投票的Luna价格,采用加权平均算法计算得到一个最终的Luna价格,此价格会作为Luna和UST兑换的价格。
  • 奖励(Reward)Terra协议会根据投票结果的加权平均值得到的价格作为基准,计算一个奖励偏差值(Reward Band),所有投票结果在偏差值内的矿工会得到奖励。例如所有矿工的投票结果计算加权平均得到的Luna价格为100 USD,通过算法计算得到奖励偏差值为1 USD,那么所有投票结果在99至101 USD的矿工都会得到奖励。该机制鼓励矿工按照真实价格进行投票,否则将无法得到奖励。
  • 防作弊机制矿工为了获取奖励,所以有可能根据别人的投票结果而决定自己应该如何投票,因为这样可以永远保证自己投票结果在奖励偏差值内,从而影响公平性。所以每个投票阶段(VodePeriod),矿工需要投两轮票(prevote和vote)。第一轮投票是Hashed的内容,其余矿工无法查看具体的投票内容。第二轮投票中会包含有第一轮投票的明文内容,可供其余矿工检查明文Hash与第一轮投票的Hash是否一致。
  • 惩罚机制(Slashing)矿工如果发生以下两种情况会触发Terra协议的惩罚机制:
    • 没有在投票期内(VotePeriod)提交投票表明矿工没有在工作
    • 提交的投票内容与最终结果的差值超过了奖励偏差值(Reward Band)表明矿工没有正确地工作

    以上两种情况未完成都属于矿工没有完成一次有效投票,当有效投票率低于5%时,矿工会损失质押Luna的0.01%,用于惩罚该矿工。

    如果有效投票率一直低于5%,则Terra协议则会停止该矿工的投票功能,而不是再继续罚矿工的款了,因为矿工质押的Luna并不完全属于矿工,有可能属于Terra用户。

这里又提到了新概念,如质押、矿工还有用户,所以又有必要大概介绍下Terra链的共识机制以及奖励了。如果你想在Terra上进行质押挖矿,可以大概了解一下。

Terra共识机制

Terra网络采用了Cosmos SDK提供的POS共识机制。出块流程与所有POS共识类似,大致流程如下:

  1. 选中一个矿工(Validator)作为提案者(Proposer)提交一个新的区块
  2. 其余矿工(Validators)两轮投票决定是否接受或者拒绝这个提议区块。如果拒绝了,会重新选择一个提案者(Proposer)再次发起一个新区块的提案
  3. 如果接受了,区块被签名并且追加到区块链网络中,形成一个新块。
  4. 这个区块的交易手续费会作为奖励给矿工(Validator)和用户(Delegator)。提案者(Proposer)能得到更多一些的奖励。

Terra各角色及行为介绍

跟所有质押挖矿项目差不多,不熟悉的朋友可以大概了解下

  • 矿工(Validator)需要运行全节点参与Terra网络,但整个网络只允许质押Luna最多前130个矿工参与
  • 用户(Delegator)普通用户,不用运行全节点。参与挖矿需要加入某个矿工(Validator)进行质押,可以拿到矿工费分成
  • 质押(Bonding, Staking, Delegating)用户或者矿工需要质押Luna进行挖矿,挖矿得到的奖励按照质押Luna的金额进行分配
  • 退出质押(Unbonding)拿回质押的Luna,不再享受质押挖矿的奖励。为了减少网络的不稳定性,退出质押时需要等待21天才能拿回Luna
  • 重新代理(Redelegation)用户希望更换一个矿工,这时与退出质押不同,用户不需要等待21天才能更换矿工

Terra挖矿奖励的来源

Terra挖矿奖励主要来源于以下部分:

  • Gas费即每笔交易的手续费,矿工可以设置最低gas price决定transaction是否打包。
  • 稳定币费(Stability Fee)所有Terra稳定币的转账费。例如A转账UST到B,除了Gas费外,还需支付稳定币费。费率是变化,从0.01%到1%浮动,上限为1 UST。
  • 兑换费(Swap Fee)
    • Tobin Tax稳定币和稳定币之间兑换的固定比例税率,税率根据不同的稳定币而变化。大多数稳定币的税率是0.35%,像MNT的税率是2%。
    • Spread Fee稳定币和Luna之间的兑换所收的费率,最低费用是0.5%。在市场极度不稳定的情况下,会去调节费率用来保证协议的稳定。

下表为Terra网络上各项交易的各类费用收取情况,摘抄于官网:

Luna价格为何一直攀升?

如前所述,随着对UST稳定币使用需求的增加,会导致UST的价格抬升,而套利动机会驱使越来越多的Luna被销毁,从而抬升Luna的价格。

同时Luna的持有人为了自身利益,也会不遗余力的去推广Terra发行的各种稳定币。因为Terra稳定币的使用场景越多,对Terra的需求量就会越来越大,从经济模型上推导出Luna的价格也会越来越高。

这也是为什么当被铸造的UST总市值排名21的时候,Luna的市值能够被推到第9名的原因。

我认为Terra的成功在于:

  1. 利用套利动机自动帮助其稳定币进行价格与法币挂钩,通过经济模型实现了去中心化的算法稳定币。
  2. 将Luna这个社区治理代币的价值与稳定币的市场推广程度进行绑定,使社区所有的用户有推广Terra稳定币应用的利益动机。

随着Terra社区推广力量的增加,以及去中心化运动的开展,我认为Terra稳定币会进一步逐渐蚕食USDT、USDB和USDC这些中心化稳定币的市场,从而进一步推高Luna的价格。

PS:以上分析不构成任何投资建议。

关于Luna的死亡螺旋(2022-01-26更新)

很多人说Luna的上升靠左脚踩右脚,所以下降会是一个死亡螺旋的形式。鄙人不认可此种说法,鄙人认为:UST是一个市场,LUNA是一个市场,LUNA-UST又是一个市场。这三个市场的价格波动大部分会限制在市场内,比如LUNA的大跌大多数人会在交易所完成交易,而不会去对换UST而影响UST市场。

LUNA本身价格的涨跌不会影响UST(不存在套利空间),所以LUNA价格不太会传导到UST。 只有UST的需求与供应关系会影响到LUNA价格。(存在套利空间) 所以鄙人认为LUNA算法稳定币是一个单向传导机制,而不是所谓的死亡螺旋。

可以参考我的推特:

https://mirror.xyz/xing824.eth/7cDe57TyBH4eUg3Kfxa1ekzu8XCbmk6xDLK0rZvi8fA