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

时间:2024-09-24 编辑: 浏览:(660)

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 EGG币最高的时候是多少钱?

    EGG币最高达到多少钱?EGG币是近年来崭新的一种数字加密货币,创办于2018年,是由特定的技术人士和行业精英们共同研发,旨在为数字货币爱好者们提供更为安全、便利的交易支付方式。自推出以来,EGG币就收到了极高的重视和关注,随着市场不断的扩大,其价格也经历了起伏和波动。那么,EGG币的最高价格是多少呢?首先,需要明确的是,数字货币市场的极度波动性让EGG币的准确最高记录很难被确定。然而,在历经了不

  • 2 ERTH币历史价格走势怎么样?

    ERTH币历史价格走势ERTH币是一种基于区块链技术的数字货币,于2019年正式上市。随着全球数字货币市场的不断发展,ERTH币也经历了多次价格波动,下面来看一下它的历史价格走势。2019年ERTH币于2019年Q3正式上市,初始价格为0.05美元,交易量不大。在上市初期,由于市场炒作的影响,其价格迅速上涨到0.10美元,但不久后就迅速回落至0.05美元。2020年2020年1月,ERTH币价格再

  • 3 ELFI币的创始人是谁

    ELFI币的创始人是谁?ELFI币是一种基于区块链技术的加密货币,它的创始人是一位叫做Jamie Tanner的加密货币专家。Jamie Tanner的背景Jamie Tanner是一位在加密货币领域有多年经验的顶尖专家。在他创建ELFI币之前,他曾在多个加密货币项目中担任过重要的角色,包括比特币、莱特币和以太坊等。他的技术能力和创新精神使得他在加密货币领域备受赞誉,是众多区块链项目的信任可靠合作

  • 4 ERA币历史价格走势怎么样?

    ERA币历史价格走势怎么样?ERA币是一个拥有独立区块链的数字货币,它的价值与市场情况有着密切关系。ERA币的历史价格波动,一直是数字货币爱好者关注的重点,那么ERA币的历史价格走势怎么样呢?我们将分析一下。ERA币价格走势分析2018年2月,ERA币的价格首次上线,在当时其价格仅为0.2美元。随着数字货币市场繁荣,ERA币的价格一路攀升,在3月份时,价格已经触及1美元。但市场繁荣并不会持续太久,

  • 5 EADX币的创始人是谁

    EADX币的创始人是谁?EADX币是近来崭露头角的一种新型加密货币,是由知名数字货币交易平台Global Grid Exchange(GGEX)和GSAFE Technologies发起的项目。在EADX币发起之初,这个项目就备受关注,因为它的发起人是业界知名的加密货币投资人和技术专家。创始人介绍通过调查,我们可以知道EADX币的创始人是李彬。口碑业内赫赫有名的李彬创始人是 GGEX的创始人,曾经

  • 6 ERZ币最高的时候是多少钱?

    ERZ币最高的时候是多少钱?在数字货币行业中,有很多种类型的币种,其中ERZ币也是一种备受关注的币种。ERZ币是一种基于区块链技术的数字货币,自从推出以来就备受瞩目。那么,ERZ币最高的时候是多少钱呢?接下来,就让我们一起来了解吧。ERZ币作为一种新型数字货币,它的价格的变化会受到市场需求的影响。随着数字货币市场的持续升温,ERZ币的价格也在不断增长。在2018年初,ERZ币的价格大约在每个币的0

  • 7 EID币历史价格走势怎么样?

    EID币历史价格走势怎么样?EID币是一种比较新的数字货币,在过去的几年里价格一直处于波动之中。下面我们将通过对EID币历史价格走势的回顾,了解其价格变化趋势。2018年: EID 币首次上市价格为 0.005 元2018年,EID币成功在全球数字货币交易所上线,初始价格为0.005元。然而,在短短数天内,EID币价格就暴跌至0.0001元,这使得许多投资者失望。在未来的几个月中,EID币价格有所

  • 8 ECO币历史价格走势怎么样?

    ECO币历史价格走势怎么样?ECO币,全名EcoCoin,是一种以环保和可持续发展为主题的数字货币。它的创造旨在激励人们采取更环保和可持续的生活方式。ECO币于2017年8月正式上线交易。在上线初期,ECO币的价格相对较低,但随着其知名度逐渐提升,ECO币的价格也开始变得更加稳定。在2018年年初,ECO币价格开始走强,接连创下历史新高。其中,最高价达到了每个ECO币0.06美元的水平。然而,这股

  • 9 ERA币的创始人是谁

    ERA币的创始人是谁?——探秘ERA币背后的创始人现在,区块链金融正成为全球数字货币市场新的风口,众多的数字货币也逐渐崭露锋芒,其中ERA币就是备受瞩目的一种。那么,ERA币的创始人是谁呢?其实,ERA币是由英国一家金融服务公司创立的。这家公司的CEO叫做罗兰德-卓菲尼奥,他于2016年创立了这个被称之为ERA的数字货币。罗兰德-卓菲尼奥细节介绍罗兰德-卓菲尼奥,是英国一家金融服务公司——Mone

  • 10 DYNMT币最高的时候是多少钱?

    DYNMT币最高的时候是多少钱?在加密货币市场,每个币种的价格都有高有低,而DYNMT币也不例外。DYNMT是Dynamic Cash的缩写,是一种去中心化的数字货币,采用PoS算法,致力于成为全球首款支付稳定币。DYNMT币的价格在发行初期比较低,但在后来得到了市场的认可和青睐,开始不断上涨。据统计,DYNMT币的价格于2021年3月18日最高达到了13.69美元,相当于人民币约88元。在这个价