案例
案例 1 : Bob 想要生成 100 个 Dai 。他将价值比 100 个 Dai 高很多的 ETH 锁定在 CDP 中, 并用其生成 100 个 Dai 。生成的 100 个 Dai 会立即直接发送到他的以太坊账户中。假设稳定费用是每年 1% ,如果 Bob 在一年以后决定赎回他锁定的 ETH ,他需要 101 个 Dai 偿付该 CDP 。
CDP 的一个主要应用案例就是杠杆交易。
稳定费用是每个 CDP 所需要支付的费用。基于 CDP 产生的债务的一个年化
比例,必须由 CDP 持有者支付。稳定费用以 Dai 标价,但是只能用 MKR 代币偿付。需要支付的 MKR 数量取决于 MKR 的市场喂价。在偿付完后,MKR会被销毁并从流通中完全移除。
案例 4:让我们假设一个以太币 CDP 种类的清算比率为 145% ,罚金比率是 5% , 这个以太币CDP 的现有抵押比率是 150% 。接着,以太币价格相对于目标价格跌了 10% ,这使得 CDP 抵押比率降到了 135% 。由于抵押比率低于清算比率,交易者能够触发清算并在债务拍卖中开始用Dai 买入 MKR ,交易者也可以在抵押拍卖中用 Dai去竞拍价值135Dai的抵押。一旦有不少于105Dai的竞价,交易者开始反向竞买最低的抵押以太数量,剩余的款项将返回到原 CDP 拥有者手中。
MKR: 用于 MKR 投票者的投票并且在 CDP 无法偿还时作为支撑的 ERC20 代币。
债务拍卖: 一个反向拍卖,在 CDP 抵押不足的情况下,出售 MKR 获得 Dai 用于偿付紧急债务。
当市场崩盘 CDP 发生抵押不足时,MKR 会自动增加供给从市场上回购足够的资金对系统进行资产重组。
价格稳定机制
DAI有四个功能:
- 抵押ETH获得DAI
- 用DAI赎回ETH
- 计算抵押债务比例
- 全局清算时锚定的ETH资产
目标变化率反馈机制
调节供需来保证价格平衡(有更好的替代方式),以价格过低为例:
- 减少供给--使DAI的生成价格更贵
- 刺激需求--持有DAI回报率更大
方式是提高目标价变化率提高
敏感度参数
敏感度参数决定目标价变化率的变动程度,由MKR持有者设定。
BaseCoin
BaseCoin的设计理念来源于“货币数量论”,即一个经济体的长期价格水平与流通货币的总供给量成正比。通俗来讲,如果商品的价值保持不变,那么人们持有货币的数量决定了商品的价格。比如商品供应量保持不变,把所有人的工资都提高10倍,那么长期来看所有商品的价格也会上涨10倍。
事实上美联储就是根据这套基础理论来稳定美元价格的,在市场通缩美元价格上涨时,美联储可以通过增发美元抑制上涨,而当市场通胀美元贬值时美联储可以通过锁仓或者销毁美元以减少流通量,从而抑制价格下跌。
那么,BaseCoin是如何稳定币价的呢?有一句话说的很好:价格波动不能被消灭,只能被转移。BaseCoin发行三种token,只维护其中一种token的价格稳定(锚定美元),而把价格波动转移到其他两种token身上。
在稳定币价的实际操作中,BaseCoin需要解决下面两个问题:
1)如何测定token价格?
出于安全考虑,区块链和外部世界是不能直接通信的,需要通过一种被称为预言机(Oracle)的机制把外部消息导入到链上。
BaseCoin考虑了三种可选方案:
中心化方案:从可信信息源获取价格,比如大交易所
半去中心化方案:从去中心化受托人信息源获取价格,也就是从持币人中选举代表,类似于Dpos
完全去中心化方案:采用谢林点机制,每个token持有人都可以投票,根据持币份额计算加权中值。猜中25%~75%区间估值的用户会得到一定量的新创BaseCoin作为奖励,该范围以外的用户视情况可能面临惩罚。
2)如何调整token供应量?
Basecoin
首先介绍一下BaseCoin设计的三种token:
BaseCoin token:锚定美元的稳定token。
BaseShare股权币:当需要增发BaseCoin时,在偿还所有债务后,持有股权币的用户将按比例获得新发行的BaseCoin作为分红。
BaseBond债券币:当需要收紧BaseCoin的供应量时,发行债券币并公开竞价拍卖,用户用于购买债券币的BaseCointoken将退出流通并被销毁。
看到这里你应该明白了,BaseCointoken本身的价格将维持相对稳定,价格波动被转移到了股权币和债券币上。让我们一起看看价格波动的两种情况:
如果BaseCoin的价格高于1美元:此时发生了通缩,token持有者惜售从而流通量降低,导致价格上涨。显然此时需要增发token,新发行的token如何分配呢?
首先肯定是先要偿还之前发行的所有债券币,偿还顺序按照债券币的发行时间,越早发行的优先偿还。由于之前债券币是以低价拍卖的形式发行的,而偿还时是1:1偿还的,此时债券币持有人就会获得收益。然后,剩余发行的新币将按照持币份额发放给所有股权币持有人作为分红,此时股权币持有人也会获得收益。
如果BaseCoin的价格低于1美元:此时发生了通胀,token持有者抛售从而流通量增加,导致价格下跌。显然此时需要收紧token供应量,具体来说就是发行债券币并公开竞价拍卖,直到销毁了足够量的BaseCoin。由于债券币购买单价低于BaseCointoken,但每一枚债券币都有在BaseCoin需要扩大供应量时按1 BaseCoin价格出售的潜力,因此鼓励了债券币投机者销毁流通中的BaseCoin,换取债券币未来的支付潜力。为了防止崩盘,债券币的拍卖价格底线被设置为0.1 BaseCoin。另外,为了防止发行时间晚的债券币迟迟无法被偿还,每个债券币都被设置了5年的有效期,到期则自动销毁,价值归零。
通过以上两种机制的博弈,最终实现BaseCoin价格的相对稳定。事实上,BaseCoin的野心不止于此。出于支付考虑,目前BaseCoin和美元保持1:1锚定,但实际上BaseCoin的目标是替代美联储和央行,当数字token支付足够流行后,BaseCoin有望替代美元,并和一些民生指标如CPI、就业率等直接挂钩,成为一种世界性稳定货币。
MakerDAO
MakderDAO则是换了一种思路,通过抵押担保的方式。事实上我甚至感觉MakerDAO的设计初衷是为了支持杠杆交易,而稳定token只是一个副产品。MakerDAO中设计了两种token:一种是和美元锚定的稳定tokenDAI,还有一种是用于平台管理的tokenMKR。
在介绍两种token之前,需要先解释一个概念:CDP(CollateralizedDebt Positions),抵押债仓。CDP是一个智能合约,用户可以把抵押资产发送到CDP中进行锁定,同时按照一定的抵押率生成DAI。举个例子,如果抵押率为150%,那么你抵押100个ETH,将会获得66个DAI。当你归还这66个DAI后,CDP会自动销毁,抵押资产返还到原账户。
为了维持DAI价格的稳定,MakerDAO同样要回答下面两个问题:
1)如何测定token价格?
显然,这里同样需要预言机。具体流程是这样的:喂价操作员(可能是bot)从14个主流交易所监控价格,如果价格波动超过1%或者6小时超时,他们就会向“喂价合约”发送价格更新。“喂价合约”把价格更新转发给“中值计算合约”,该合约会重新计算价格中值,作为token的当前价格。可以看出,这对应于从可信信息源获取信息,是一种中心化的解决方案。
2)如何调整token供应量?
MakerDAO设计了一种目标价格变化率反馈机制(TRFM),用来调节token的供应量。除了DAI的市场价格,这里又提到了一个新的概念叫做“目标价格”,那么什么是DAI的目标价格呢?DAI的目标价格有以下两个功能:
用来计算抵押债仓的抵押债务比例
决定DAI持有者在全局清算时将收到的抵押资产价值
具体来说,初始状态时目标价变化率为0%,目标价格就是1美元。当DAI价格发生波动时,触发目标价格变化率反馈机制,会有以下两种情况:
DAI市场价格低于1美元:此时会提高目标价变化率,使得目标价格上升,CDP的抵押债务比例降低,也就是说现在你抵押100个ETH可能只能拿到50个DAI了,通过这种方式抑制了DAI的供给量。另一方面,由于DAI目标价格上涨,会有投机者涌入导致购买需求上升。减少的供给和增加的需求会使得DAI的市场价格提升,趋近目标价格。
DAI市场价格高于1美元:此时会降低目标价变化率,使得目标价格下降,CDP的抵押债务比例提高,比如抵押100个ETH可能可以拿到80个DAI,通过这种方式增加DAI的供给量。另一方面,由于DAI目标价格下跌,购买需求也会相应减少。增加的供给和减少的需求会使得DAI的市场价格下跌,趋近目标价格。
写到这里,一直都是在说DAI,好像没MKR什么事儿啊?MKR是一种用于MakerDAO平台管理的token,出于利益考虑,持币人既要承担义务也享有一定的权益。
先来说说义务:当系统的抵押资产不足以支撑现有的DAI流通量时,MKR的持币人需要充当最后买家。每个CDP都有一个清算比例,如果抵押资产的价值下跌到低于这个清算比例,系统就要没收这些资产并进行拍卖,用于偿还之前借出的DAI。
此时系统会先增发MKR,并以公开竞卖的方式出售来募集足够量的DAI,赎回抵押资产。其实这跟BaseCoin中的债券币很类似,通过发行MKR减少了DAI的流通量。紧接着,系统又会以公开竞卖的方式出售这些抵押资产,筹集到的DAI会用来回购和销毁MKR。
再来看看权益:首先看收益方面,每个CDP在清算时都需要支付一笔“稳定费”,而且必须使用MKR来支付,支付的MKR会被立即销毁。如果抵押资产被拍卖,在偿还完借出的DAI后,还需要额外支付一笔“罚金”,这笔罚金会被用于回购和销毁MKR。显然,如果MKR的流通量下降,其价格一定会提升。其次再看看权利部分,作为系统的管理者,MKR持币人可以通过投票决定系统的参数,具体包括:
修改CDP风险参数:包括债务上限、清算比例、稳定费用、罚金比例等
修改目标价格变化率回馈机制的敏感度
选择可信的预言机:避免人为操作价格
调整喂价敏感度:决定喂价多大程度上能影响系统内部价格
选择全局清算者:全局清算是一种在非常时期使用的非常手段。当系统遭遇严重破坏或者濒于崩溃时,选定的全局清算者可以冻结整个系统,DAI和CDP的持有人将被强制归还抵押资产。
最后,为了使得竞价拍卖过程更加顺畅,系统还开放了接口并设置了看护机(Keeper)的角色。看护机是一些套利机器人,背后一般有一些资本支撑,受利益驱使会自动进行DAI和抵押资产的交易,从侧面维持了币价的稳定。