ETH:YFI创始人:“流动性挖矿” 概念的由来

本文来源于YFI创始人AndreCronje在启动yearn.finance项目前撰写的一系列博客。

YieldFarming

我们开发成功了一款新的流动性挖矿产品,但在启动之前,我希望先解释几个概念。

在我们开发iearn的时候,我们拥有的选择是非常简单的:Aave、Compound、Dydx,还有Fulcrum。每一个产品都为不同的资产提供了借贷市场。你可以出借手中的资产、赚取一份被动收入。

SNX项目引入了带激励的流动性池的概念。他们希望大家来为他们的sETH池子提供流动性,也意识到了,最好的办法就是奖励早期参与者:如果你在uniswap上为sETH/ETH交易对提供了流动性,你就可以得到SNX代币作为奖励。

像我这样比较老的玩家可能还记得Havven,记得SNX的目标是做成一种新的稳定币,也就是Synthetix交易所中的sUSD。但那时候只有UniswapV1,只有资产/ETH这一种流动性池,所以他们无法仅仅激励一个包含sUSD/ETH的流动性池,只能激励多个池子。

然后就是CRV,一个新的、更简单的自动化做市商。说它更简单,不是指它的公式更简单,而是在设计上更简洁。有了Curve,大家就有了新的方法用稳定币参与获得被动收入,你只需提供DAI以及/或者USDT,就可以赚到手续费了。

所以,一直关注这个领域的人,会知道已经有了一些方法,可以让我们赚取被动收益率了:

YFI突破50000美元关口 日内涨幅为6.69%:欧易OKEx数据显示,YFI短线上涨,突破50000美元关口,现报50043.0美元,日内涨幅达到6.69%,行情波动较大,请做好风险控制。[2021/5/27 22:48:19]

通过为Uniswap市场提供资产来获得交易手续费;

通过为sETH/ETH交易队提供流动性来获得SNX代币;

通过为CRV市场提供DAI或USDT来获得交易手续费;

通过在Aave、Compound、Fulcrum或者Dydx借贷市场存入资产来获得存款利率。

iearnV1就是一个简单的借贷市场LP,每当用户存款/取款就在不同的流动性池子间切换一次。

于是我们开始跟CRV商量推出一个自动切换收益率的流动性池,后来就成为CRV的YPool。YPool结合了iearn和CRV的最优点,变成了一个最优化出借效率、自动切换获得手续费的池子。

当你在y.curve.fi上做交易时,你实际上是在交易ytoken,比如yDAI、yUSDT,等等,但池子本身会意识到yToken在交换token,然后存入/取出底层的token资产。

然后,我们又开始跟SNX商量,因为他们即将要启动自己的稳定币交易池,而我们添加了另一层。这样流动性提供者就可以得到yToken、curve.fi的手续费,再加SNX奖励。

YFI突破42000美元关口 日内涨幅为15.17%:欧易OKEx数据显示,YFI短线上涨,突破42000美元关口,现报42002.0美元,日内涨幅达到15.17%,行情波动较大,请做好风险控制。[2021/4/6 19:50:24]

所以那时候,我们已经有了终极组合:自动切换被动收益率的token交易手续费项目的流动性激励。

然后各个项目就开始了激励流动性的战争。Compound用他们的COMPtoken打响了第一,然后大家就蜂拥而上。Balancer很快推出了BAL,mStable推出了MTA,Fulcrum推出了BZX,而Curve蓄势待发要推出CRV。

但是,这就使得YieldFarming变得更加复杂,仅仅根据存款利率来切换选择就不够了。

现在,策略会复杂成这样:

把DAI存入compound,把cDAI存入Balancer。通过DAI赚取COMP、通过cDAI赚取BAL,再加上DAI可获得的存款利率,和cDAI在Balancer交易池中的手续费。

把DAI存入curve,然后把curvetoken存入SynthetixMintr交易所。通过DAI赚取CRV,通过curvetoken赚取SNX;再加上在curve交易池中可获得的交易手续费。

把DAI存入mStable,把mStable存入Balancer。DAI可获得一份利率,mStabletoken在Balancer协议中获得BAL;再加上可以从Balancer的交易池中赚取手续费。

YFII跌破2700美元关口:欧易OKEx数据显示,YFII短线下跌,跌破2700美元关口,现报2699.6美元,行情波动较大,请做好风险控制。[2021/4/5 19:46:41]

把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交易池中的价格作为指数;不过一旦你用了,就准备好自己的流动性被闪电贷吸干吧。

本文的目的是想告诉大家,流动性挖矿已经变得很复杂了,而且我们预计它以后会变得越来越复杂。所以我们需要提供一种新的产品,不是简单地在这些选项中作选择,而是培育出新的选项。

更能感知收益的自动化做市商

我们先从几个基本的例子开始

假设你持有BAT,你有以下几个选择:

将BAT存入Compound,赚取存款利息和治理代币COMP

YFI突破31600美元关口:火币全球站数据显示,YFI短线上涨,突破31600美元关口,现报31619.36美元,日内涨幅达到0.14%,行情波动较大,请做好风险控制。[2021/1/23 16:49:22]

将BAT存入Aave赚取利息。

卖掉50%的BAT,用这笔钱买入ETH,将BAT和ETH存入Uniswap的BAT/ETH流动性池,赚取手续费,并承担无常损失。

卖掉50%的BAT,用这笔钱买入ETH,将BAT和ETH存入balancer的BAT/ETH资金池,赚取手续费和治理代币BAL,并承担无常损失。

再变得复杂一点:

将BAT存入Compound,获得cBAT,将cBAT和ETH存入balancer的cBAT/ETH资金池,赚取手续费和BAL,并承担无常损失。从表面上来看,你以为你赚取的是COMP和cBAT的利息收益。

实际上,是Balancer的资金池在赚取COMP,而且balancer的资金池也在赚取cBAT。虽然你的投资策略看似很明智,但是最后的收益近似于直接将BAT和ETH存入balancer的资金池。

从中,我们可以发现以下几个问题:

流动性池赚取了激励型代币,如COMP、BAL等。

流动性池赚取了代币的存款利息。

你必须卖掉50%的BAT来为池子提供流动性。

EthHub联合创始人:支持YFI通货膨胀提议 但社区自愿克服困难更好:对于今日Yearn.finance社区成员提议从社区筹集资金以设置开发人员奖励池,EthHub联合创始人Eric Conner在推特上评论道:“在我看来,通货膨胀的提议很好,不变性对不是比特币的代币来说并不是很重要。但是如果YFI社区能够完全自愿地克服这样的协调挑战(开发奖励资金),那就太棒了。”[2021/1/15 16:12:49]

从上述几点可知,现有的AMM流动性池无法满足我们的需求,因此我们需要更能感知收益的AMM。

支持Aave代币非常容易。aToken都支持一个名为redirectInterestStream的函数,可以让你配置一个用来接收利息的地址。但是,这就意味着,你获得的利息不是以复利计算的。

Compound代币的价值虽然能基于其供应指数而增长,但也正因此,这些代币很难管理。这就需要AMM能够感知cToken的基础价值,而非cToken的价值。因此,所有互换交易和报价核查都要衡量基础价值,而非cToken本身的价值。

适用于cToken的方案也适用于aToken,并且解决了复利问题。

引入这一变化之后,AMM就能在持有cBAT或aBAT的同时进行BAT/ETH代币对之间的交易。

给COMP设计的方案非常简单,我们根据每一次内部余额的变化来衡量COMP余额的变化,并为其分配一个索引。

但是,我们希望支持将来有可能加入的所有代币,并且在余额没有改变的时候也重新分配。因此,我们对上述内容进行过修改,可以适用于任何代币,并增加了一个针对核心代币的地址查找功能。

以上就是第一部分——可感知收益的AMM,能让流动性提供者从提供最高利率的借贷市场里赚取利息,同时获得激励型代币。

下一篇文章将详细讲述,在你仅持有一种代币的情况下,我们是如何帮助你避免卖出50%来买入另一种代币的。

稳定币

在讲解下一块内容之前,我们需要先了解稳定币。

为什么1USDT价值1美元?简单来说,如果我持有1USDT,我可以可以找发行方Tether将1USDT兑换1美元。因此,如果USDT的价格跌至0.9美元,我就会想方设法购买USDT,并将它兑换成1美元来套利,直至其价格回归1美元为止。如果USDT的价格涨至1.1美元,我就会想方设法用美元来“铸造”USDT,从中套利,直至其价格回归1美元为止。

同理,USDC及其发行方Circle,还有TUSD及其发行方Trust也是如此。

那么DAI呢?DAI是由ETH,而非美元背书的。我们可以提供价值100美元的ETH,然后铸造价值100美元的DAI

如果1DAI的价格是1.1美元,我们就可以使用ETH来铸造DAI,然后再用DAI换回ETH。假设你之前使用价值1.5美元的ETH铸造了价值1美元的DAI。现在,这个DAI的价值变成了1.1美元,你可以将它兑换成等值的ETH,这样依然比你的质押品价值低了0.4美元。。

解决上述问题很容易,不是吗?只要我们能以价值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只起到了价值转移的作用。只要1ETH=1ETH,则价值1美元的BAT=价值1美元的DAI。

引入了价值转移资产后,我们就可以做一些有趣的事情了。假设你提供价值1美元的BAT给这个新的AMM转账机制,就可以创建出等价的价值转移代币。如果有其他人提供价值1美元的DAI,也可以创建出等价的价值转移代币。

接下来就会发生一些有趣的事情:1.我们只需要提供一种代币的流动性2.价值转移代币的价值等于系统中所有代币的价值总和3.如果交易者为这个系统注入了更多A代币,就要取出同等价值的B代币,从而遵守规则2。4.如果价值转移代币的价值高于系统中所有代币的价值总和,交易者就面向该系统出售价值转移代币,并取出其它代币,从而遵守规则2。

我们已经上线了这个名为StableAMM的流动性提供系统。该系统能够在保证内部稳定性的同时,获得更高的收益。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:15ms0-0:509ms