熊市就像一块试金石,Defi的各核心业态,哪些能够穿越周期,更好的发展?在周期中又暴露了哪些问题,值得后来者借鉴?SharkTeam合约安全系列课程之【DeFi安全】和您一起讨论和深入。第一课【DEX与AMMs】。
自动做市商(AMMs)是去中心化金融(DeFi)生态系统的一部分,它们允许数字资产使用流动资金池以无许可和自动化的方式进行交易。AMMs用户为流动资金池提供加密代币,其价格由恒定的数学公式确定。
AMMs 是一种数学函数,根据流动性池对资产进行算法定价。目前,有几个 AMM 公式被利用来迎合不同的资产定价策略。 一些比较流行的 AMM 公式如下:
•恒定乘积做市商公式:
x*y=k
恒定乘积做市商公式绘制时,它是一条凸形曲线,其中x和y代表流动性池中两个代币的 数量,而k代表乘积。该公式有助于根据每个代币的可用数量,为两个代币创造一个价格范围。为了保持k不变,当x的供应增加时,y的供应必须减少,反之亦然。因此,所产生的价格本质上是不稳定的,因为交易的规模可能会影响到与池子 规模有关的价格。大额交易造成的较高滑点可能会出现无常损失。
•恒定和做市商公式:
x+y=k
恒定和做市商公式在绘制时形成一条直线。它是零滑点交易的理想模型,但不幸的是,它不能提供无限的流动性。这个模型是有缺陷的,因为当报 价与其他地方交易的资产的市场价格不同时,它就会出现套利机会。套利者可以耗尽流动性池中的全部储备,不再为其他交易者留下可用的流动性。这种模式不适合大多数 AMM 使用案例。
•恒定平均值做市商公式:
恒定平均值做市商公式,或者也被称为”价值函数”,是由 Balancer 创造并使之流行的。它允许流动性池中有两个以上的代币,并允许池子以超出标准50/50分布的比例添加不同的代币。这允许对池子里的不同资产进行可变的暴露,并使流动性池子里的任何资产之间的交换成为可能。
•稳定交换公式:
该公式是恒定乘积与恒定和公式的混合体。它是由 Curve Finance 推广的。 当投资组合相对平衡时,交易发生在恒定和曲线上,而当不平衡时则切换到恒定乘积曲线上。这允许较低的滑点和无常损失,但只适用于具有类似价值的资产,因为所需交易范围的价格总是接近于1。例如,这对稳定币(DAI和USDC)和包装资产(wBTC和sBTC)之间的交易会很有用。大多数自动做市商(AMMs)面临三个主要挑战:高费用,高滑点和无常损失。
流动资金池是锁定在智能合约中的加密货币,用于促进去中心交易所(DEX)上资产之间的交易。
流动资金池是一种机制,通过这种机制,用户可以将其资产汇集到DEX的智能合约中,为交易者提供资产流动性,以便在货币之间进行交换。流动性池为 DeFi 生态系统提供了急需的流动性,速度和便利性。AMM 通过创建流动性池并为流动性提供者提供向这些池提供资产的激励来解决流动性有限的问题,池中的资产越多,池中的流动性越强,在去中心化交易所进行交易就越容易。
在加密生态系统中,流动性提供者(LP)是将代币存入流动资金池的用户。作为提供流动性的回报,用户通常会获得代表用户拥有的流动性池份额的流动性代币。这些用户通常被激励持有流动性代币,以获得一定比例的交易费用和其他加密奖励。
流动性代币是创建并给予将资产存入流动性池的用户的代币。流动性代币代表流动性提供者拥有的流动资金池的份额,LP通常获得一定比例的流动资金池交易费用作为财务激励。流动性代币通常可以转让,交换和抵押。流动性提供者仍然完全控制其抵押的代币,这些代币仅借给平台的协议。当流动性提供者想要收回流动性时,除了 交易费用或贷款利息的任何累积佣金外,他们还必须烧毁流动性代币以接收其原始加密资产。流动性代币还允许自动做市商(AMM)是非托管的,这意味着您仍然控制着您的资产,并可以随时赎回它们。
Uniswap:Uniswap 流动性提供者将获得同质化ERC-20 流动性代币的奖励,这使得代币可以在更广泛的以太坊DeFi生态系统中使用。因此,即使通常没有直接市场购买和交易流动性代币本身,像 Uniswap 这样的流动性代币也可以用作MakerDAO等借贷协议的抵押品。值得注意的是,Uniswap 流动性与UNI治理代币不同,UNI 治理代币用于对新提案和其他形式的去中心化决策进行投票。
Curve:利用 AMM 曲线的流动性提供者会收到相应代币的流动性代币,而不是与交易对绑定的流动性代币。例如,如果用户将ETH借给Compound DeFi 平台,则将其交换为名为cETH的流动性 Token,该 Token 会自动为持有者积累利息。除了允许 Curve 的加密流动性提供者有权从 Compound 中提取其ETH和利息外,Curve 用户还能够将其 cETH 抵押到其他流动性池中,以产生被动收益率和 CRV(Curve的治理Token)。因此,这些流动性代币允许用户从其初始投资中获得额外的效用和潜在利润。
Balancer: Balancer 是一种 AMM 协议,可实现由多个不均匀加权资产组成的流动性池。像上面的许多例子一样,Balancer 流动性代币称为平衡池代币(BPT) ,它是 ERC-20 代币,可以在更广泛的以太坊 DeFi 生态系统中使用。然而,鉴于 Balancer 独特的多资产池配置,BPT 代币由一篮子加密资产支撑。一些建立在 Balancer 池之上的项目要求用户抵押BPT代币以获得奖励。
滑点是指交易的预期价格与执行交易的实际价格之间的差额。滑点通常发生在投资者在流动性差和交易量低的平台上购买或出售资产时。如果交易所订单簿上的买卖价格之间存在很大差距,资产购买者最终可能会为资产支付更多费用,或者在交易执行后获得的资产少于预期。
提供流动性的同时发生的暂时性资金损失被称为无常损失,无常损失是去中心金融的常见现象。
例如,Uniswap 使用公式 x * y = k,管理池中的交易。
这里有一个简单的方法来了解流动性提供者的无常损失是如何产生的:
为了减轻去中心化金融生态系统中的无常损失,并激励用户向流动性池提供代币,AMM平台向流动性池和提供者支付交易费用,并经常向用户分发平台代币。在平台上有足够的交易量,流动性提供者可以累积费用来补偿无常损失,甚至赚取利润。
Uniswap 是一种去中心化协议,无需订单簿或集中式中介即可执行。Uniswap 通过流动性池模型实现了这一点,该模型使用自动智能合约,使潜在交易者能够获得竞争性用户资助的代币储备,作为市场流动性的主要来源。任何人都可以交换代币,将代币贡献到池中并赚取费用,或在 Uniswap 上列出代币。由于 Uniswap 建立在以太坊上,因此几乎任何 ERC-20 Token 都可以使用 Uniswap 进行交换。此外,在 Uniswap 上交易的代币没有上市费 – 这与大多数集中式加密交易所的显著不同。
在传统市场中,订单簿编制交易所对任何资产的公开买入和卖出订单。如果买家愿意支付的价格与卖家愿意接受的价格之间存在巨大差距,那么由此导致交易活动的缺乏会导致流动性下降。这意味着,如果您持有受影响的资产,则出售将更加困难。Uniswap 池通过创建交易资产库来最大限度地减少买方和卖方市场订单之间的这种错位,这反过来又有助于缓解潜在的市场流动性问题。此外,Uniswap 的自动做市商技术通过算法分析流动性池,为特定交易提供最合适的价格。
当用户使用 Uniswap 流动性池进行交易时,该平台目前收取0.3%的交易费用。这个0.3%是 Uniswap V2 中的交易手续费(1/6的费用是给Uniswap协议,5/6是给流动性提供者),在 Uniswap V3中采用费用层级方式(0.05%、0.3%、1%)进行不同代币收取费用优化。任何向Uniswap流动性池做出贡献的用户都会收到这些费用的一小部分,该费用与他们在整个池中的权益份额成比例。
Uniswap 采用恒定乘积公式(x * y = k),在此公式中,x 和 y 都是表示市场对中一个代币总价值的变量。例如,x 是 ETH 的总价值,y 是协议的 ETH / DAI 流动性池中DAI的总价值。Uniswap 将这两个数字相乘以确定k,k代表交易对的池流动性。
Uniswap 交易的核心要求是,即使 x 或 y 的值发生变化,资金池流动性也保持不变。因此,虽然每笔交易都会影响 x 和 y 的价格,但流动性保持不变。例如,如果交易者购买1 ETH 以换取 330 DAI,则流动性池中 ETH 的比率降低,而 DAI 比率增加以容纳池中少一个 ETH和330个 DAI 代币。结果,ETH 的价格将上涨,而 DAI 的价格会下跌。该公式确保了反映公平市场价值的维持,同时始终保持流动性。
Uniswap 推出一种原生治理 Token UNI,可促进更大的社区参与和监督。UNI 持有者可以对 Uniswap 项目开发进行投票,这些项目开发决定了平台的进化轨迹。UNI 持有者还可以使用该代币为流动性矿池、赠款、合作伙伴关系和其他增长驱动的计划提供资金,用来扩大Uniswap 的可用性和覆盖范围。随着 Uniswap 社区的发展,UNI 控股的进一步多样化,创始团队将在设计平台治理中发挥越来越小的作用。这证明,权力下放和激励措施的统一概念,这两者都是 DeFi 革命的核心,正在被 Uniswap 付诸实践。
目前,Uniswap 从 V1 、V2 到 V3 添加优化很多机制。关于 Uniswap 各系列版本差别如下图:
•流动性
V1:只能将ETH换成其他ERC20代币,如果想用 USDT 换取其他 ERC20 代币,先将 USDT 换成 ETH ,然后用 ETH 换其他代币。这样就支付了两次的 gas,遭受两次滑点。
V2:在 V1 中存在的 ERC20/ETH 池的基础上,增加了 ERC20/ERC20 流动性池,提取交易任何 ERC20 代币,不需要多次交换,减少 gas 和滑点风险。
V3:在 v2 基础上,流动性代币采用了 ERC721 非同质化代币。
•费用
V1:手续费0.3%,然后再将费用进行再投入流动性资金池子。
V2: 手续费0.3%,其中0.05%是 Uniswap 协议的费用,剩下来的0.25%是给予流动性提供者。所得的费用进行再投资,就是进入流动性资金池,只有在移除流动性时候可以获取该费用。
V3:手续费采用费用层级(0.05%、0.3%、1%),可以通过UNI治理开启其他费用,不同区间费用可以直接累加,不需要继续放进流动性池子,手动取出来。
•预言机
V1: 不存在预言机制,因为 V1 的价格和现实世界密切相关,短时间内价格波动太大,不能安全的用作预言机。
V2:采用 TWAP 时间加权平均价格预言机,通过测量和记录每个块的第⼀次交易之前的价格来改进此预⾔机功能,这个价格比起区块价格要难操纵。只提供了最新的价格累积值,开发者需要自己实现历史价格的记录和抓取。
V3:相同交易对在不同费率时时不同的交易池,因此,改进的预言机不光记录了价格信息,还记录了流动性时间累积值。V3采用了几何平均值,比 V2 的算术平均值跟贴切数据稳定性。默认存储最近累积时间值,可以根据需要进行扩展,最多支持65535个历史价格信息(加上当前未被写入的价格信息,总计65536,存储按照环形数组存储,最后一个位置存储完,就存储在第一个位置,循环依次存储)。
Curve 是一个 AMMs 协议,与 Uniswap 和 Balancer 有许多相似之处,但其区别在于仅容纳由类似行为资产(如稳定币)或类似资产(如 wBTC 和 tBTC )的包装版本组成的流动性池。这种方法允许 Curve 使用更有效的算法,具有以太坊上任何去中心化交易所(DEX)的最低费用,滑点和无常损失。
Curve 于2020年推出,旨在为交易者创建一个低费用的 AMM 交易所,同时为流动性提供者提供有效的法定储蓄账户。通过专注于稳定币,Curve 允许投资者避免不稳定的加密资产,同时仍然从贷款协议中获得高利率。与其他AMMs平台相比,Curve 模型特别保守,因为它避免了波动性和投机性,有利于稳定性。
在像 Curve 这样的 AMM 上,流动性池不断试图“低买”和“高卖”。以下是回顾一下重新平衡是如何起作用的,这次是与美元挂钩的稳定币USDC 和 DAI 。如果您在 Curve 上销售 DAI ,则会触发以下一系列事件:
通过以折扣价出售 DAI,池尝试将池还原到其原始状态。由于 Curve 池中的资产在价格上彼此稳定,因此与其他 AMMs 流动性池相比,它们之间的交易引起的波动性最小。在像 Uniswap 或 Balancer 这样的 AMMs 上,流动性池可以由任何代币组成,波动性很高。通过限制池和每个池中的资产类型,Curve 最大限度地减少了无常损失,这是一种 AMM 现象,即流动性提供者因流动性池的波动而遭受相对于该代币市场价值的代币价值损失。
然而,无常损失并不总是负面的。 波动性和滑点为那些试图在正确的时间进入和退出流动性池中获利的用户提供了机会。通过权衡波动性的高风险(有时是高回报)方面, Curve 转而使用所谓的 DeFi 可组合性吸引流动性提供者。这意味着您可以使用您在 Curve 平台上的投资来赚取 DeFi 生态系统中其他地方的奖励。
与 Uniswap 或 Balancer 不同, Curve 不会试图保持不同资产中保持的值始终相等或彼此成比例(即平衡)。这使得 Curve 能够将流动性集中在类似价格资产的理想价格附近(以1:1的比例),以便在最需要的地方拥有流动性。因此,Curve 可以实现比这些资产更高的流动性利用率。
AMMs 的类似资产方法不限于稳定币。比特币(BTC)的代币化版本,如 wBTC 和 renBTC ,也构成了 Curve 的流动性池。与稳定币相比,比特币的波动性很高,但 Curve 方法仍然有效,因为 Curve 池中的代币不需要稳定,它们只需要相对于同一池中的其他代币稳定。换句话说,wBTC 和 renBTC 可以位于同一 Curve 流动性池中,而 wBTC 和 USDC 则不是功能组合。
在 Uniswap 等 AMMs 交易所,您可以在进行交易时赚取费用。在 Curve 上,交易费用低于 Uniswap,但您也可以使用可互操作的代币从 Curve 外部获得奖励。
例如:当DAI在 Compound 上借出时,它被交换为一个名为 cDAI 的流动性代币,该代币会自动为持有者积累利息。持有 cDAI 意味着您有权从 Compound 中提取 DAI(本金加利息)。Curve 用户能够在其流动性池中使用 cDAI,从而从相同的投资中获得潜在收益。
在 Curve 上使用 Compound 的 cTokens 的能力体现了DeFi生态系统中的可组合性优势。Compound 只是 Curve 与之集成的外部 DeFi 协议的一个例子。该协议还与 Yearn Finance 和 Synthetix 集成,以最大化地提高对流动性提供者的激励。
Balancer 是一种自动做市商(AMM),允许用户以任何比率创建多达八种不同代币的流动性池。Balancer 池可以被认为是自动重新平衡投资组合,任何人都可以创建指数基金,费用归流动性提供者而不是中介基金经理。Balancer 协议由 Balancer(BAL)Token管理,可以通过将加密货币存入 Balancer 的流动性池来进行流动性挖矿,从而来赚取利息。
Balancer 不像传统的指数基金那样手动重新平衡流动性池,而是使用其恒定平均值做市商方程,在每次进行交易时通过算法自动重新平衡池内的资产,大概每天数千次。事实上,这种持续的再平衡状态有助于确保市场活跃,交易机会充足,对流动性提供者和交易者都有利。Balancer 加密交易所交易费用不是像指数一样向基金经理支付费用,而是直接支付给流动性提供者。这些代币有效地代表了平台的所有权股份和社区治理决策中的投票权。
通过重新调整激励措施和从上到下消除中介机构,Balancer 协议已经占据了传统金融的指数基金,并将这一概念自动化,民主化和去中心化为一个全新的设备,为其利益相关者创造了非凡的价值。通过这种方式,Balancer 在理论和实践中都是 DeFi 的一个很好的例子。
Balancer 加密协议的最本质特征是它的一组算法,用于管理和激励流动性提供者、流动性池、交易者之间的交互:重新平衡池和在池中找到最佳价格。
以下是 Balancer 上再平衡的工作原理示例 :假设 Balancer 加密池设置为保持其价值的80%(以 wETH 为单位)和其价值(以 wBTC 表示)的20%。如果发生滑点,协议将调整代币价格以维持80/20比率。在Balancer DEX上,当交易者想用 wETH 购买 wBTC 时,该协议将通过算法扫描其流动性池以获得最优惠的价格。根据设计,每个 wETH 兑换 wBTC 价格最优的池也将是最需要重新平衡的池。
与任何投资者一样,流动性提供者希望在存入 AMM 时获得最佳资产回报。Balancer 不仅允许严格控制的交易对,还允许流动性提供者执行自己的策略。
例如,如果您认为80%的以太币(ETH)与20%的比特币(BTC)之比是最佳的,那么 Balancer 允许您使用您喜欢的策略进入流动性池。如果您是流动性提供者,希望参与Balancer上现有的80/20 ETH / BTC池,并且有10 BTC可供使用,则步骤大致如下:
通过仅向包含 BTC 和 ETH 的池提供 BTC,您增加了相对于 ETH 的 BTC 数量。通过增加 BTC 的相对数量,BTC 的相对价格必须降低,以保持 Balancer 流动性池的恒定值比。
Balancer 池主要有两种类型:原生池和智能池。
但是,原生池本身有两种形式:
私有形式,这意味着矿池所有者是唯一可以管理矿池参数并添加或删除流动性的参与者。集中式私有池是动态的,其中权重,比率,费用甚至 Token 本身都可以由池创建者更改。私有池就像主动管理的指数基金,你必须信任创造者继续做出正确的决定。
公共形式,这意味着其参数是一成不变的,但任何人都可以增加流动性和交易。最终确定的具有80% ETH,20% BTC 和0.1%费用的 Balancer 核心池将始终保持这种状态,由以太坊网络上永久不变的智能合约代码保证。公共池更适合作为被动投资策略,您可以设置并忘记,任何人都可以随时加入该策略。
智能池是由自动智能合约控制的私有池,可作为任何人提供流动性的网关。因此,智能池可以被视为私有池和共享池的混合体,是两全其美的结合。智能池拥有动态费用,流动性上限,LP 白名单,交易暂停等功能。
Balancer 加密平台有两个方面:交易者的交易所和流动性提供者的投资基金。流动性提供者希望拥有 Balancer 加密池的份额,因为他们相信在池中持有资产的加权余额和费用将比在 Balancer 之外持有其资产更有利可图。交易者只是在寻找交换代币的最佳价格。
Balancer 查看平台上所有不同的流动性池,以获得每个 ETH 兑换 BTC 最佳价格。与 Balancer 上的其他流动性池相比,价格和代币分配差异最大的流动性池是交易首先发生的地方。当交易者想要在 Balancer 上购买 BTC 并卖出 ETH 时,协议将自动选择该交易价格最优惠的池。由于像 Balancer 这样的 AMM 的定价是由恒定的交易公式决定的,因此价格最低的 BTC 池也将是相对于 ETH 拥有最多 BTC 的池。
与许多DeFi项目一样,Balancer 协议已将治理机制集成到其原生 Balancer Token 中。Balancer 社区负责管理协议,并负责提出更新或更改建议。然后,Balancer Token 的持有者可以通过使用其 Balancer Token 进行投票来批准或拒绝提案。由于决策是由 BAL 持有者做出的,因此 Balancer Token 基本上代表了 Balancer 的所有权。治理过程的潜在未来结果是 BAL 持有者投票在 Balancer 上实施协议级交易费用,该费用可能会将价值累积回 Balancer Token 。
中心交易所(CEX)基于个人和中央基础设置,这使得几乎实时的快速交易成为可能。领先的交易所的算法每秒可以处理数千个订单,交易所无需等待即可对不断变化对市场情况做出反应。由于交易量大,CEX 具有高流动性。
但是 CEX 的钱包是集成式的,不在用户的控制范围内。私钥的所有权掌握在交易所手中,如果交易所泄露或遭到攻击,则用户的私钥和数字资产存在完全丢失的风险。
交易所的核心环节是撤单、下单、撮合、资金结算、提现。CEX 在所有环节上均由交易平台自行撮合,而去中心化交易所(DEX)将上述所有环节放在链中,智能合约执行所有操作,用户的交易过程不需要任何可信第三方。智能合约驱动的DEX可以为用户省去负责任的 KYC审核,也可以帮助用户消除中心化交易所“断网”、暗中操纵价格、伪造交易量、跑路等带来的风险。所有的交易记录都可以在链中找到。
因此,DEX 对比 CEX 有以下几个优势:
前段时间,比特币和以太坊的价格持续下跌,纷纷创下过去一年价格的新低。同时,也波及到了 DeFi。首先,观察下图:
此图来自于 Token Terminal 加密分析平台,来自于几个顶级的交易所365天的交易量的变化分析图。我们从该图可以得知,过去的一年时间里,DEX 的交易量到达过几次高峰,这是由于交易活动和价格升值,然后因为市场的疲软的情况,高度呈现短暂性下降。在最近期间,高度基本处于全年较低水平。
此图是每个月的交易所成交量,我们可以看出在2021年11月,DEX的交易量达到最大值,至此之后,DEX 的总交易量持续下跌。
同时,DEX 的流动性问题备受关注。作为最大 DEX 的 Uniswap ,依旧面临着流动性不足的问题。随着 MakerDAO 清算了大量的ETH头寸,大量的ETH被抛售到市场上,导致价格一度闪崩至1000美元以下,彼时公允价为1350美元,滑点高达25%。但是,Uniswap 上 ETH 价格很快的修复,重新回到公允价。
随着行情下行,DEX 中无常损失也跟随着扩大,这就导致LP赚取的手续费可能弥补不了损失,从而降低流动性。因此,低流动性会带来以下问题: