算法稳定币
这只是一个想法,关于算法稳定币的。 稳定币是避险资产,DAI会由于ETH的贬值,总量缩小,且在贬值阶段,普通用户不敢质押ETH铸造更多的DAI,难以真正达到避险的功能。
算法稳定币的定义
- 系统包含2个币
- 一个是标准的ERC20,类似DAI,fixed coin,简称fCoin
- 一个是可以rebase的,类似AMPL,scalable coin,简称sCoin
- 两个币可以自由兑换(mint/burn)
- sCoin
- 每天定时rebase,根据fCoin的币价来决定rebase的比例,调整全局系数,从而影响所有sCoin的持有者
- 如果币价高于1U,则调低系数,所有sCoin的持有者的sCoin将减少
- 如果币价低于1U,则调高系数,所有sCoin的持有者的sCoin将增加
- fCoin
- 标准的ERC20,可以作为常用的稳定币
graph LR
A((sCoin: Like a balloon)) <----> B[(fCoin: Like a bucket)]
算法稳定币的实现
- 任何人都可以用ETH,借贷sCoin
- 用预言机价格,抵押率为150%,可以算出能够借贷的sCoin数量
- 用户的ETH不会因为ETH价格变化导致清算
- 有借贷期限:7天,1个月,6个月
- 不同期限不同费用,费用是以eth数量计算的
- 0.5%、1%、5%
- 费用以eth支付
- 如果到期还不还款,将被清算
- 任何人都可以用sCoin兑换成fCoin
- 兑换比例为1:1
- 兑换手续费:0.1%
- 兑换后,sCoin将减少(burn)
- 兑换后,fCoin将增加(mint)
- 任何人都可以用fCoin兑换成sCoin
- 兑换比例为1:1
- 兑换手续费:0.1%
- 兑换后,fCoin将减少(burn)
- 兑换后,sCoin将增加(mint)
- rebase
- 每天定时rebase,根据sCoin的币价来决定rebase的比例,调整sCoin的全局系数,从而影响所有sCoin的持有者
- 如果币价高于1U,则调低系数,所有sCoin的持有者的sCoin将减少
- 如果币价低于1U,则调高系数,所有sCoin的持有者的sCoin将增加
- 预言机
- 可以从预言机(chainlink)获取ETH/USD的真实价格
- 从交易对获取ETH/sCoin的TWAP价格
- 用两个价格就可以算出sCoin的价格
- 通过sCoin的价格,就可以调整sCoin的全局系数
- 清算
- 如果用户到期都没有还款,将被清算
- 清算时,根据当前币价,将ETH-sCoin添加到交易对中,增加池子的流动性
改进
- 如果仅仅以sCoin的价格进行rebase,很容易导致整体价格波动过大,且总量变化太快。
- 将根据sCoin的价格和交易对中sCoin数量对于总量占比,综合计算需要调整的系数。
- 同时将给mint部分sCoin添加到交易对中,以增加交易对流动性。
- 比如sCoin=1.5U,需要调整的系数为增大0.5,其中0.2通过mint sCoin放到流动池,0.3为调整的系数
场景分析
初始场景
- 项目方提供部分eth,初始mint对应的sCoin,组成LP放到交易池中
mint sCoin场景(deposit)
- 用户用eth借sCoin,选择到期时间
- 系统中有一条记录
- 记录ID
- 用户地址
- 借出的sCoin数量
- 到期时间
- 到期时可以赎回的eth数量(扣除手续费)
burn sCoin场景(withdraw)
- 选择记录ID
- 查询该记录的详情
- 确认用户和记录匹配
- burn用户的sCoin
- 删除记录
- 将eth转给用户
sCoin兑换fCoin
- 用户选择要兑换的sCoin数量
- burn用户对应的sCoin
- 给用户mint对应的fCoin(会扣除0.1%的手续费)
fCoin兑换sCoin
- 用户选择要兑换的fCoin数量
- burn用户对应的fCoin
- 给用户mint对应的sCoin(会扣除0.1%的手续费)
清算
- 清算人提交要清算的记录ID
- 确认记录已经过期
- 清除记录
- 从预言机获取eth的价格
- mint对应数量的sCoin
- 将eth-sCoin添加到交易对中,增加池子的流动性
sCoin > 1U
- 从预言机获取eth的价格,为3000U
- 从交易池中获取eth的TWAP,为2000sCoin
- 则sCoin价格为3000U/2000sCoin = 1.5U
- 如果交易池中sCoin有10000个,则目标为15000个
- mint2000个sCoin,并添加到交易池中(40%增幅通过mint sCoin实现)
- 现在需要调整的系数则为15000/(10000+2000)=1.25
- 由于1.25大于1.05,则调整系统设置为1.05(5%是系统默认允许单次可向上调整的最大比例)
- 全局系数base=base*1.05
sCoin < 1U
- 从预言机获取eth的价格,为3000U
- 从交易池中获取eth的TWAP,为5000sCoin
- 则sCoin价格为3000U/5000sCoin = 0.6U
- 如果交易池中sCoin有10000个,则目标为6000个
- 需要调整的系数为0.6
- 由于0.6小于0.9,则调整系统设置为0.9(10%是系统默认允许单次可向下调整的最大比例)
- 全局系数base=base*0.9
- 在sCoin价格很低的时候,可以兑换成fCoin,从而避免被rebase
- 这种情况下,会导致fCoin的价格也一起降低。
- 不过等到第二天,sCoin因为rebase,价格回升,fCoin也会回升。
- 如果sCoin+fCoin的总量远远高于eth的价值,可能需要经过较长时间的rebase,才能够真正将sCoin+fCoin的总量降低到eth的价值。
算法稳定币的收益
- 用户质押ETH铸造sCoin,到期需要偿还sCoin和对应利息。利息就是整个系统的收益之一。
- 交易对的手续费,是系统的另一部分收益。
- 可以将eth参与其他的defi项目,从而获得更多的收益。
算法稳定币的缺点
- 因为可以rebase,所以sCoin+fCoin的数量将可能远远大于质押的ETH价值
- 价格容易波动,需要尽量增大交易对的流动性,从而保证价格的稳定
算法稳定币的展望
- 拥有足够的体量,从而可以在整个web3领域占有一定的地位
- 更多的项目使用fCoin