Web3 新手系列:DEX 为啥不做订单匹配也能撮合交易

时间:2024-09-23 编辑: 浏览:(715)

DEX 也就是去中心化交易所,典型代表就是 Uniswap、Curve。对应的中心化交易所有币安、OKX 等。去中心化和中心化最核心的差别大家应该也都知道,中心化的交易所的交易是通过交易所的服务器来实现交易的,而去中心化的交易所则是通过运行在区块链上的智能合约交易的。

然而除了是否是去中心化以外,大部分 DEX 相比中心化交易所对比,还有一个巨大的差异,那就是他们撮合交易的方式也不同。中心化交易所撮合交易的方式和传统的股票交易类似,他们都是订单簿交易所。有人要卖,有人要卖,交易所在中间撮合。

但是这样的模式在 DEX 上就行不通了,为啥?因为这样消耗的 GAS 贵啊,效率也不高。想想看如果合约中要记录每个人的订单,然后去做撮合,中间得来来回回执行好多运算,另外有的代币可能流动性不高,能上中心化交易所的代币可能就没这个问题了,但是很多流动性较小的代币,可能还没法完成交易。

于是就发明了 AMM(自动化做市商,Automated Market Maker),可以做到不用匹配订单也可以实现交易。大家可能会好奇,这怎么做到的,交易通常就是有人卖才有人能买啊?没错 AMM 就是做到了没人卖你也可以买。接下来就具体展开讲讲 AMM 是如何做到这一点的。

AMM 是如何做的呢?没有订单如何交易呢?那就要引入一个概念 Liquidity Provider(LP),也就是流动性提供商。

简单一句话说:交易不再是通过订单匹配买卖双方交易,而是直接在 LP 提供的流动性池子中交易。

就比如说我作为 LP 在池子中放了 1 个 ETH 和 3000 个 USDT(当前市场价正好是 1 ETH = 3000 USDT),那你作为交易方就可以把 0.01 嗯 ETH 放进池子,然后拿出来 30 个 USDT。

这样池子里面就变成 0.99 个 ETH 和 3030 USDT 了,所以作为交易者你不需要等待,直接就能换。

但是价格怎么定呢?不能由 LP 来实时调整价格吧,这样行不通,价格应该是市场驱动的。那如何让市场的交易行为体现在架构上呢?这里就很巧妙了,其实核心就下面一个公式:

X * Y = K

其中 X 和 Y 是一个交易对(上面例子中就是 ETH 和 USDT)中两种代币的数量,K 是这两者相乘得到的值,我们要求交易者每次取出 X 存入 Y 或者存入 X 取出 Y(也就是发生了代币交换),但是 K 必须保持不变。

这样就能做到市场自动调节价格了吗?没错,我们继续看上面的例子。

1 * 3000 = 3000

0.99 * 3030 = 2999.7

K 从 3000 变成 2999.7 了,但是基本认为还是 3000。但是下一次再交换 ETH 的价格就不再是 3000 了,而是 3000 / 0.99 = 3030.3... 了,ETH 涨价了。这样是不是很合理,有人要换 ETH,ETH 变得稀缺,所以涨价了,下次要换 ETH 就需要更多的 USDT,只要保证池子中的 ETH * USDT 等于一个常量,这样自然就会此消彼长,当 ETH 变少时,你要通过 USDT 换取 ETH 时候就需要消耗更多 USDT,反之亦然。

如上图,x * y = K 的曲线如上,当 x 越少,y 就越多,x 的价格就是 y/x 其实就是斜率,斜率越高,x 越贵。

当然上面的例子只是为了方便理解,实际上的价格并不是交易后才重新计算,而是当前交易造成的 x 和 y 的变化就会影响价格。这里会引出一个比较重要的概念,就是滑点。在上面的例子中,真实情况是,为了保证 K 不变,你买入 ETH 就会导致 ETH 价格上涨,而这个上涨在当前交易中就会体现,你会发现最终成交的价格和交易前看到的价格不一致,这就是滑点。当一个交易对流动性越大的时候滑点就越小,反正滑点越大。另外交易量越大,滑点也会越大。

除了滑点外,在真正的实现中还有很多细节要考虑,比如取整问题,手续费,跨池子交易问题等等。在这里就不展开了,如果感兴趣的同学可以阅读来自 ZAN 团队同学在开源社区贡献的 https://github.com/WTFAcademy/WTF-Dapp/blob/main/P002_WhatIsUniswap/readme.md 这篇解析 Uniswap 代码的文章具体了解。

相比 ERC20 或者 ERC721 这样的合约,涉及到金融的合约往往更为复杂,往往包含大量的复杂逻辑代码,这里推荐大家可以试用体验我们的 ZAN AI Scan(https://zan.top/home/ai-scan?chInfo=ch_WZ)的合约审计服务。只需要输入合约地址就能快速对合约进行安全分析,查看与其相似的链上代码以及审计历史,还可以体验先进的形式化验证和 GPT 安全分析功能。

总的来说,基于智能合约可以做到不依赖中心化的服务进行交易,但是智能合约交易成本的考虑(主要是 gas)和交易效率的要求,使得订单薄不适用于它。于是有了 AMM,AMM 核心就是基于 X * Y = K 这个逻辑,于是需要 LP 来提供流动性。流动性提供方收取手续费,交易方基于流动性池子来交易。

本文由 ZAN Team(X 账号 @zan_team) 的愚指导(X 账号 @yudao1024)撰写。

最新 更多 >
  • 1 CHAMP币有希望吗

    近年来,虚拟货币市场的快速发展引起了人们的广泛关注。而在众多的数字货币中,CHAMP币也备受瞩目。那么,CHAMP币有希望吗?让我们来分析一下。首先,CHAMP币作为一种虚拟货币,具备了很多优势。它采用了先进的区块链技术,具有去中心化、匿名性和可追溯性等特点,确保了交易的安全性和可信度。此外,CHAMP币具备快速确认交易的能力,可以在几秒钟内完成交易,方便了用户的使用。其次,CHAMP币有着广泛的

  • 2 CBX币有风险吗

    CBX币是一种加密货币,也是一种投资工具,其价格的波动性让人既期待又担忧。尽管CBX币有潜力带来丰厚的回报,但也存在风险。在决定投资CBX币之前,投资者需要了解并考虑这种数字货币的风险。首先,CBX币的价格波动性非常高。与其他加密货币一样,CBX币的价格受到市场供需和投资者情绪等因素的影响。这意味着CBX币的价格可能会在短时间内大幅波动,导致投资者的投资损失。因此,投资者应意识到CBX币的价格波动

  • 3 CRAFT币交易所有哪些

    介绍CRAFT币CRAFT币是一种虚拟货币,基于区块链技术,是一个去中心化的数字货币,具有高度的安全性和匿名性。与传统的法定货币不同,CRAFT币的发行和交易完全依赖于网络,没有任何政府或金融机构的干预。使用CRAFT币进行交易的优势使用CRAFT币进行交易具有许多优势。首先,CRAFT币的交易速度非常快,几乎可以实时完成交易,避免了传统银行转账的延迟。其次,CRAFT币的交易手续费非常低,相比传

  • 4 CRDC币在哪个平台买

    CRDC币在哪个平台买CRDC币是一种数字货币,目前在许多加密货币交易平台上都可以进行交易。下面,我们将介绍一些常见的平台,并提供一些有关在这些平台上购买CRDC币的信息。1. 币安币安是一个全球知名的加密货币交易平台,提供多种数字货币的交易。要购买CRDC币,在币安上注册并完成KYC验证后,您可以充值您的账户,并使用比特币、以太坊等其他数字货币交换成CRDC币。2. 火币火币是另一个受欢迎的加密

  • 5 CPT币交易所有哪些

    什么是CPT币CPT币是一种加密货币,全称为Cryptocurrency Point。它是由一群研究人员和开发人员团队创建的一种数字货币。CPT币通过使用密码学技术来保证交易的安全性和匿名性。与传统货币不同,CPT币不依赖于中央银行或政府机构发行和监管,而是通过去中心化的区块链技术进行管理和交易。在近年来,CPT币作为一种新兴的投资工具,逐渐引起了人们的关注。如何购买CPT币如果你对CPT币感兴趣

  • 6 COPYCAT币有希望吗

    COPYCAT币是近期火热的数字货币之一,它在推出后迅速引起了众多投资者的关注。COPYCAT币的创造者希望通过模仿其他成功币种的特点,为投资者提供更多的投资机会。那么,COPYCAT币有希望吗?首先,COPYCAT币的诞生背后有着一个非常明确的目标,那就是通过模仿其他成功币种的特点来吸引投资者。这个目标本身可能会引起一些质疑,因为投资者通常更倾向于选择那些具有独特创新特点的币种。然而,COPYC

  • 7 CRC币去哪里买

    介绍CRC币CRC币(Cryp to Curren cy Coin)是一种基于区块链技术的加密货币。它是由一家中国公司发行的,旨在为用户提供安全、快速的数字货币交易。CRC币具有匿名性、去中心化的特点,因此受到了越来越多人的关注。电子货币交易所如果你想购买CRC币,首先需要找到一个可信赖的电子货币交易所。电子货币交易所是一个在线平台,允许用户以法定货币或其他加密货币交换CRC币。在选择交易所时,你

  • 8 CRT币交易所有哪些

    CRT币交易所简介CRT币交易所是一个专注于加密货币交易的平台,为用户提供了安全、快捷、便利的交易环境。CRT币交易所拥有多年的交易经验和先进的交易技术,是全球领先的数字资产交易平台之一。CRT币交易所的特点1. 安全可靠:CRT币交易所采用了先进的安全技术和严格的风控措施,保障用户的资金安全。2. 交易品种丰富:CRT币交易所支持多种主流加密货币的交易,如比特币、以太坊等。3. 快速便捷:CRT

  • 9 btd币有风险吗

    近年来,虚拟货币市场的繁荣吸引了大量投资者的注意。其中,BTD币作为虚拟货币市场中的一种新兴币种,备受关注。然而,就像其他投资标的一样,BTD币也不是没有风险的。首先,BTD币的价格波动性较高,投资者面临着较大的市场风险。由于虚拟货币市场受多种因素的影响,BTD币的价格可能随时出现剧烈波动。这种价格波动性对于投资者来说意味着巨大的风险。因此,如果投资者没有足够的风险承受能力和投资经验,投资BTD币

  • 10 CPH币去哪里买

    CPH币:什么是CPH币CPH币(CopperCoin)是一种数字加密货币,基于区块链技术发行。CPH币的目标是构建一个安全、便捷、去中心化的数字资产转账和存储平台。CPH币的发行总量为100亿枚,并且采用PoW共识机制来验证交易并维护网络的安全。为什么选择CPH币1. 安全性:CPH币采用先进的区块链技术和加密算法来保护用户的资产安全,确保交易的隐私和安全。2. 便捷性:CPH币可以通过互联网进