本文来源于YFI 创始人Andre Cronje 在启动yearn.finance 项目前撰写的一系列部落格文章。在这三篇短文中,第一篇最为重要,它寥寥数语,就勾勒出了流动性挖矿(Yield Farming)概念的来历,以及它给DeFi 世界带来的挑战。后面两篇短文介绍了作者解决问题的思路,并不易懂,但也都有文献意义。
我们开发成功了一款新的流动性挖矿(Yield Farming)产品,但在启动之前,我希望先解释几个概念,在我们开发iearn 的时候,我们拥有的选择是非常简单的:Aave、Compound、Dydx,还有Fulcrum。每一个产品都为不同的资产提供了借贷市场。你可以出借手中的资产、赚取一份被动收入。
SNX(Synthetix)项目引入了带激励的流动性池(incentivized pool)的概念。他们希望大家来为他们的sETH 池子提供流动性,也意识到了,最好的办法就是奖励早期参与者:如果你在uniswap 上为sETH/ETH 交易对提供了流动性,你就可以得到SNX 代币作为奖励。
像我这样比较老的玩家可能还记得Havven,记得SNX 的目标是做成一种新的稳定币,也就是Synthetix 交易所中的sUSD。但那时候只有Uniswap V1.只有资产/ETH 这一种流动性池,所以他们无法仅仅激励一个包含sUSD/ETH 的流动性池,只能激励多个池子。
然后就是CRV(Curve),一个新的、更简单的自动化做市商(AMM)。说它更简单,不是指它的公式更简单,而是在设计上更简洁。有了Curve,大家就有了新的方法用稳定币参与获得被动收入,你只需提供DAI 以及/或者USDT,就可以赚到手续费了。
所以,一直关注这个领域的人,会知道已经有了一些方法,可以让我们赚取被动收益率了:
通过为Uniswap 市场提供资产来获得交易手续费
通过为sETH/ETH 交易队提供流动性来获得SNX 代币
通过为CRV 市场提供DAI 或USDT 来获得交易手续费
通过在Aave、Compound、Fulcrum 或者Dydx 借贷市场存入资产来获得存款利率
iearn V1 就是一个简单的借贷市场LP(Liquidity Provider,流动性提供者),每当用户存款/取款就在不同的流动性池子间切换一次。
于是我们开始跟CRV 商量推出一个自动切换收益率的流动性池(yield switching pool),后来就成为CRV 的Y Pool。Y Pool 结合了iearn 和CRV 的最优点,变成了一个最优化出借效率、自动切换获得手续费的池子。
当你在y.curve.fi 上做交易时,你实际上是在交易y token,比如yDAI、yUSDT,等等,但池子本身会意识到yToken 在交换token,然后存入/取出底层的token 资产。
然后,我们又开始跟SNX 商量,因为他们即将要启动自己的稳定币交易池(就是为了sUSD),而我们添加了另一层。这样流动性提供者就可以得到yToken(存款收益)、curve.fi 的手续费,再加SNX 奖励。
所以那时候,我们已经有了终极组合:自动切换被动收益率的token + 交易手续费+ 项目的流动性激励。
这样美好的时光也已成过去式。
然后各个项目就开始了激励流动性的战争。Compound 用他们的COMP token 打响了第一枪,然后大家就蜂拥而上。Balancer 很快推出了BAL,mStable 推出了MTA,Fulcrum 推出了BZX,而Curve 蓄势待发要推出CRV。(译者注:这些项目激励流动性的模式核心都类似:根据用户提供的资产体量,按比例获得增发的协议原生token;2020 年8 月16 日,Curve 推出了CRV。)
但是,这就使得Yield Farming 变得更加复杂,仅仅根据存款利率来切换选择就不够了。
现在,策略会复杂成这样:
把DAI 存入compound,把cDAI 存入Balancer。通过DAI 赚取COMP、通过cDAI 赚取BAL,再加上DAI 可获得的存款利率,和cDAI 在Balancer 交易池中的手续费。
把DAI 存入curve,然后把curve token 存入Synthetix Mintr 交易所。通过DAI 赚取CRV,通过curve token 赚取SNX;再加上在curve 交易池中可获得的交易手续费。
把DAI 存入mStable,把mStable 存入Balancer。DAI 可获得一份利率,mStable token 在Balancer 协议中获得BAL;再加上可以从Balancer 的交易池中赚取手续费。
把USDC 存入Maker,铸出DAI,然后重复选项1.2.3.
而且上面几种策略只是一些例子。几周以前,最好的策略是从Compound 市场中借出BAT;现在则是用Compound 做DAI 的刚刚。但是下一周,也许就是参与Curve 的SNX 池。
上面所有策略面临的共同问题是,这些策略的意义都基于COMP、BAL、MTA、SNX、CRV,等等,的价值。而所有这些token 的价格都是会浮动的。这也意味着,所有这些策略都要依赖于价格资讯传输机制。在撰写文本之时,还没有COMP、BAL、MTA、SNX 和CRV 的价格资讯传输机制,除非你使用Uniswap 交易池或Balancer 交易池中的价格作为指数;不过一旦你用了,就准备好自己的流动性被闪电贷吸干吧!
本文的目的是想告诉大家,流动性挖矿(Yield Farming)已经变得很复杂了,而且我们预计它以后会变得越来越复杂。所以我们需要提供一种新的产品,不是简单地在这些选项中作选择,而是培育出新的选项(instead of trying to choose between these options, seeds these options)。
我们已经有思路了。
从下一篇文章开始,我们会详细说明解决方案。
原文出处:yearn.finance Medium 翻译:阿剑
更能感知收益的自动化做市商
我们先从几个基本的例子开始:
假设你持有BAT ,你有以下几个选择:
将BAT 存入Compound ,赚取存款利息和治理代币COMP
将BAT 存入Aave 赚取利息
卖掉50% 的BAT ,用这笔钱买入ETH ,将BAT 和ETH 存入Uniswap 的BAT/ETH 流动性池,赚取手续费,并承担无常损失(impermanent loss)。
卖掉50% 的BAT ,用这笔钱买入ETH ,将BAT 和ETH 存入balancer 的BAT/ETH 资金池,赚取手续费和治理代币BAL ,并承担无常损失。
再变得复杂一点:
将BAT 存入Compound ,获得cBAT ,将cBAT 和ETH 存入balancer 的cBAT/ETH 资金池,赚取手续费和BAL ,并承担无常损失。从表面上来看,你以为你赚取的是COMP 和cBAT 的利息收益。
实际上,是Balancer 的资金池在赚取COMP(而不是你),而且balancer 的资金池也在赚取cBAT(这部分收益将由套利者获得,因此严格来说,你赚取的是交易费,而非cBAT 的利息收益)。虽然你的投资策略看似很明智,但是最后的收益近似于直接将BAT 和ETH 存入balancer 的资金池。
从中,我们可以发现以下几个问题:
流动性池(而非流动性提供者)赚取了激励型代币,如COMP、BAL 等
流动性池(而非流动性提供者)赚取了代币的存款利息
你必须卖掉50% 的BAT 来为池子提供流动性(这一点对我们的解决方案来说至关重要,会在专门的文章中讨论)
从上述几点可知,现有的AMM(自动化做市商)流动性池无法满足我们的需求,因此我们需要更能感知收益的AMM 。
支持Aave 代币(aToken)非常容易。aToken 都支持一个名为redirectInterestStream 的函数,可以让你配置一个用来接收利息的地址。但是,这就意味着,你获得的利息不是以复利计算的。
Compound 代币(cToken)的价值虽然能基于其供应指数而增长,但也正因此,这些代币很难管理。这就需要AMM 能够感知cToken 的基础价值,而非cToken 的价值。因此,所有互换交易和报价核查都要衡量基础价值,而非cToken 本身的价值。
适用于cToken 的方案也适用于aToken,并且解决了复利问题。
引入这一变化之后,AMM 就能在持有cBAT 或aBAT 的同时进行BAT/ETH 代币对之间的交易。
给COMP 设计的方案非常简单,我们根据每一次内部余额(cBAT)的变化来衡量COMP 余额的变化,并为其分配一个索引。
但是,我们希望支持将来有可能加入的所有代币,并且在余额没有改变的时候也重新分配。因此,我们对上述内容进行过修改,可以适用于任何代币,并增加了一个针对核心代币的地址查找功能。
以上就是第一部分——可感知收益的AMM ,能让流动性提供者从提供最高利率的借贷市场里赚取利息,同时获得激励型代币(例如,COMP)。
下一篇文章将详细讲述,在你仅持有一种代币的情况下,我们是如何帮助你避免卖出50% 来买入另一种代币的。
原文出处:yearn.finance Medium 翻译:闵敏
稳定币
在讲解下一块内容之前,我们需要先了解稳定币。
为什么1 USDT 价值1 美元?简单来说,如果我持有1 USDT ,我可以可以找发行方Tether 将1 USDT 兑换1 美元。因此,如果USDT 的价格跌至0.9 美元,我就会想方设法购买USDT ,并将它兑换成1 美元来套利,直至其价格回归1 美元为止。如果USDT 的价格涨至1.1 美元,我就会想方设法用美元来「铸造」USDT ,从中套利,直至其价格回归1 美元为止。
同理,USDC 及其发行方Circle ,还有TUSD 及其发行方Trust 也是如此。
那么DAI 呢?DAI 是由ETH ,而非美元背书的。我们可以提供价值100 美元的ETH ,然后铸造价值100 美元的DAI(实际上只能铸造价值66 美元的DAI ,这是清算系统用来维护DAI 价格稳定的方式,但是简单起见,假设担保率是100 % 。)
如果1 DAI 的价格是1.1 美元,我们就可以使用ETH 来铸造DAI ,然后再用DAI 换回ETH 。假设你之前使用价值1.5 美元的ETH 铸造了价值1 美元的DAI 。现在,这个DAI 的价值变成了1.1 美元,你可以将它兑换成等值的ETH ,这样依然比你的质押品价值低了0.4 美元。(这就是为什么DAI 有时会与美元脱钩)。
解决上述问题很容易,不是吗?只要我们能以价值1 美元的ETH 铸造价值1 美元的DAI 就可以了。这里的问题在于ETH 本身俱有波动性,如果ETH 的价格下跌1% ,整个系统都会不稳定,因为没有足够多的ETH 能偿付DAI 。
这就是为什么Tether 等公司会惹上那么多官司。Tether 称其发行的USDT 是以美元1:1 足额背书的,也就是说,如果所有USDT 持有者同时要求Tether 兑付,Tether 能拿出足够多的美元吗?这是确保系统稳定的关键问题:当所有人要求兑付时,系统始终可以提供足够的基础资产。
因此,我们设计了一种新型稳定币(我们知道,同类稳定币够多了,但是从技术上来说,我们的不一样)。我们设计的是AMM(自动做市商)转账机制。
每当我们创建一个新的uniswap 流动性池时,都需要提供等价值的两种代币。假设你提供了价值1 美元的BAT 和价值1 美元的ETH 创建了一个BAT/ETH 流动性池。这时,有人提供价值1 美元的DAI 和价值1 美元的ETH 创建了DAI/ETH 流动性池。如果你想使用BAT 兑换DAI ,就要先在BAT/ETH 池子中将价值1 美元的BAT 兑换成等值的ETH ,然后再到DAI/ETH 池子中兑换成等值的DAI 。
在上述示例中,ETH 只起到了价值转移的作用。只要1 ETH = 1 ETH ,则价值1 美元的BAT = 价值1 美元的DAI 。
引入了价值转移资产后,我们就可以做一些有趣的事情了。假设你提供价值1 美元的BAT 给这个新的AMM 转账机制,就可以创建出等价的价值转移代币。如果有其他人提供价值1 美元的DAI ,也可以创建出等价的价值转移代币。
接下来就会发生一些有趣的事情: 1. 我们只需要提供一种代币的流动性2. 价值转移代币的价值等于系统中所有代币的价值总和3. 如果交易者为这个系统注入了更多A 代币,就要取出同等价值的B 代币,从而遵守规则2 。4. 如果价值转移代币的价值高于系统中所有代币的价值总和,交易者就面向该系统出售价值转移代币,并取出其它代币,从而遵守规则2 。
我们已经上线了这个名为Stable AMM 的流动性提供系统。该系统能够在保证内部稳定性的同时,获得更高的收益。
有关YFI创始人用三篇文章解释:流动性挖矿如何改变DeFi?相关内容分享到这,希望以上蓑衣网小编分享的相关内容能对大家有所帮助。