从ArtexSwap看Dex的另一种架构
作者:十四君
ArtexSwap 是一个去中心化交易所,通过使用Artela EVM++和Aspect技术,去解决MEV风险和Rug Pull问题,提升了交易安全性和效率,适用于需要高安全性和灵活性的去中心化交易场景。
自以太坊诞生以来,一直数字货币、全球支付和应用程序的技术之家。而DEX是去中心化金融(DeFi)的基石,毕竟,离开DEX、DeFi可以说只是一纸空谈。作为一种运行在区块链上的平台,运行用户之间的直接交易,和不受任何第三方机构的监管使得其可以打造出更加高级的金融产品。
1、Dex主流架构
目前以太坊生态上DEX可谓是百花齐放,DEX有许多不同的设计模式,每个模式在功能、可扩展性和去中心化方面都各有利弊。
根据交易的机制的不同,DEX可以分为两类(如下图)。
1.1. 基于订单簿的DEX
订单簿是本质是匹配算法,自动去各个市场上寻找还没有被签订的买单和卖单,交易平台的系统会自动来撮合这些买单和卖单。适用于需要高效价格匹配和灵活交易策略的场景。简而言之,订单簿的流动性有两个来源:交易者和做市商。
可扩展阅读:《浅析:订单簿模式和自动化做市AMM》(见附录)
1.2. 自动做市商(AMM)
自动做市商(AMM)是DEX中的一种定价和流动性决定机制。简单的来说,就是做市商来为流动性池提供流动性资产(两种资产)。流动性池内的储备量的乘积维持在k值,当用户拿走一个币,就需要向流动性池提供另外一个币来维持这个k值。
对于AMM的详细了解,可扩展阅读:《UniswapX研报(上):总结V1-3发展链路,解读下一代 DEX的原理创新与挑战》
1.3 DEX具有哪些价值?
[数据来源:THE BLOCK]
根据CoinGecKo的统计结果显示,截至到2024年7月9日,已知的DEX交易所约有835家,24小时的交易总量为83.5亿美元,其中月访问量达到3.2亿次。
按交易量计算,3个最大的去中心化交易所是BabyDogeSwap、Uniswap V3(以太坊)和Orca。
我们对DEX和CEX的前三大交易所24小时的交易额进行计算 DEX 占到单天交易流动性的 16%,并且DEX相较于23年此时的24小时交易量同比增长率为315%(23年为20亿),交易量同比增长166%(23年为1.2亿次),显然市场对去中心化交易平台的需求极大。
由于去中心化交易所(DEX)使用确定性的智能合约进行交易,没有中心化第三方的干预。这种透明的操作方式与传统金融市场形成鲜明对比。
例如,2022年FTX作为当时最大的加密货币交易平台之一,因挪用用户资金事件,在连环下跌中破产,引发了广泛的市场震荡。
此外,DEX通过去中心化的方式提升了金融普惠性,某些CEX可能会基于地理位置或其他因素限制用户访问。
但总体而言,用户只需接入互联网并连接兼容的自建钱包即可使用DEX的服务。这种无需繁琐注册和审核的模式,使新用户能够快速便捷地加入平台,提升了用户体验。
2、DEX主要风险
去中心化交易所(DEX)能够确保交易的执行、提升透明性,并且无需许可即可访问,这些特点显著降低了交易和提供流动性的门槛。然而,DEX 也伴随着一些风险,这些风险包括但不限于以下几个方面:
-
智能合约风险:尽管区块链技术能安全地执行金融交易,但智能合约的安全性依赖于开发团队的技术水平和经验。
-
抢跑风险:由于链上交易的公开透明性质,套利者或 MEV 机器人可能会抢先交易,获取普通用户的价值。这些机器人类似于传统金融市场中的高频交易者,通过支付更高的交易费并利用网络延迟,从普通用户的交易中获利。
-
网络风险:由于交易在链上进行,DEX 的交易成本可能很高,且当网络出现拥堵或宕机时,成本会更高。因此,用户容易受到市场波动的影响。
-
Rug Pull风险:去中心化金融(DeFi)领域中一个常见且严重问题,存在大量项目方在吸引大量投资者资金后,突然撤销流动性并卷款逃跑的行为。目前Rug Pull的风险大致可以分为三类:
-
流动性撤回
-
开发者持有大量代币和或者增发
-
虚假项目
这种骗局导致投资者损失惨重,项目价值瞬间归零。这对整个DeFi市场的信任度造成了重大影响。
例如,2021年发生的SushiSwap事件就是一个典型的例子。SushiSwap的匿名创始人Chef Nomi在项目筹集到大量资金后,突然将开发者基金中的价值1300万美元的SUSHI代币出售,引发市场恐慌,导致代币价格暴跌。
虽然后来Chef Nomi将资金归还,并由社区接管项目管理,但这一事件对投资者造成了巨大的损失和心理冲击 。
3、从Bancor延伸到DEX的问题
如果说谁是第一个吃AMM这只螃蟹的项目那就不得不提一下Bancor了,说起来有点可怜,在DeFi热潮之前它并未受到广泛关注,因此许多人错误地认为AMM是Uniswap发明的。
如今,随着Bancor V2版本,才推出,尽管V2引入了诸如预言机提供最新价格和根据预言机价格更新代币池比重等创新设计,但它仍存在一些缺点。
-
预言机的引入虽然可以提供更准确的价格信息,但也带来了实施上的挑战。例如,如果在中心化交易平台上没有相应的交易对价格,这就产生了一个先有鸡还是先有蛋的问题。此外,预言机的可靠性和安全性也值得关注,预言机可能会成为攻击的目标,导致价格操纵和其他安全问题。
-
动态池模式虽然能够根据预言机的价格更新代币池的比重,但在市场波动性较大的情况下,流动性提供商(LP)可能会面临更大的亏损风险。市场波动性越大,LP的无常损失可能越严重,这可能会导致流动性提供商撤资,从而影响流动性池的稳定性和交易效率。
-
Bancor的设计还可能面临对手方风险。虽然引入了预言机机制,但如果市场价格波动剧烈,预言机无法及时更新价格,流动性提供商仍可能面临较大的风险。预言机价格更新不及时或不准确,都可能导致LP在价格波动中亏损。
尽管Bancor V2版本引入了许多创新设计,但其复杂性也增加了用户的学习和使用门槛。相比于其他较为简单易用的AMM模型,Bancor可能需要用户具备更多的专业知识和技术背景,才能充分理解和利用其新功能。这可能会限制其用户增长和市场接受度。
4、ArtexSwap的DEX实现
ArtexSwap平台的运行方式类似于Uniswap,但通过使用Artela EVM++的本身功能增强了安全性。
4.1 Artela的可扩展性机制
首先,为了更好了解ArtexSwap的底层环境,要我们先来简单来谈一下Artela的底层运行机制。这里的可扩展性其实包含着两层含义,即EVM的扩展性和性能。
对于扩展性,Artela引入了Aspect技术来进行实现,这一技术支持开发者在 WebAssembly(WASM)环境中创建链上自定义程序,这些程序可以与 EVM 协作,为 dApp 提供高性能的定制化应用特定扩展。
可扩展阅读:《V神全文解读:Web3.0 基础设施的下一站,是「封装 or 扩展」?》(见附录)
而从性能的角度而言就是改善EVM的执行效率,我们都知道EVM是一个串行的虚拟机环境,相较于如今的硬件来说这种方式的利用率是非常低下的,所以并行处理就显得尤为重要了。
要实现并行执行如何解决以下几个问题:
1. 如何解决同时期执行的事物是否存在冲突?
采用预测性乐观执行的并行执行策略,假设初始状态下事务之间没有冲突,每个事务记录修改但不立即最终确定。
在事务执行完毕后进行验证,检查是否存在冲突,若有则重新执行。
预测性是通过 AI 模型分析历史交易数据,预测交易依赖关系,优化执行顺序,减少冲突和重复执行。
相比之下,Sei 和 Monad 依赖于预定义的交易依赖关系文件,缺乏 Artela 基于 AI 的动态预测模型的自适应能力,是 Artela 在减少执行冲突方面的优势
2. 如何提高IO的速度,减少事物执行的等待时间?
采取异步预加载技术来解决状态访问引起的输入输出(I/O)瓶颈。
Artela 在交易执行前,通过预测模型预先将所需状态数据从慢速存储(如硬盘)加载到快速存储(如内存)。这种提前加载和缓存的数据技术,使多个处理器或执行线程能够同时访问,提高了执行的并行度和效率。
3. 如何解决数据写入时的膨胀和数据库处理的压力增大问题?
Artela 结合多种传统数据处理技术,开发了并行存储系统,提高了并行处理的效率。并行存储系统主要解决两个问题:一是实现存储的并行化处理,二是提高数据状态高效记录到数据库的能力。在数据存储过程中,常见的问题包括数据写入时的膨胀和数据库处理压力增大。为此,Artela 采用了状态承诺(State Commitment,SC)与状态存储(State Storage,SS)分离的策略。这个策略将存储任务分为两部分:一部分负责快速处理操作,不保留复杂的数据结构,以节省空间并减少数据重复;另一部分则记录所有详尽的数据信息。此外,Artela 通过将小块数据合并成大块来减少数据保存的复杂性,从而在处理大量数据时不影响性能。
此外,验证器节点支持水平扩展,网络可以根据当前负载或需求自动调整计算节点的规模。这一扩容过程由弹性协议协调,以确保共识网络中的计算资源充足。
通过弹性计算,网络节点的算力可扩展,实现了弹性区块空间,允许根据需求申请独立的区块空间,既满足了公共区块空间的扩展需求,又保证了性能和稳定性。
使得DEX在面对高峰交易时候网络也能像Web2的弹性扩容一般从容的应对。
值得一提的是,弹性区块空间作为一种横向扩展区块链性能的解决方案,其前提是「交易可并行化」,只有交易并行度做上去后,才需要横向去扩展节点的机器资源,以提升交易吞吐量。
4.2 ArtexSwap的DEX安全探索
ArtexSwap目前已经更新到了2.0的版本,从ArtexSwap的架构来看,主要集中在三个安全方面所展开,即:
-
DEX该如何去识别和预防恶意行为?
-
怎么避免用户交易时受到Rug Pull的侵害?
-
如何去防止高滑点的情况的发生?
Blacklist机制
黑名单机制是属于安全重心前置的一种策略,因为从行为的角度来说,参与过“坏事”的地址和用户再次作案的概率是很高的,通过将具有危险性标注的账户,地址和合约进行标注,在交易之前ArtexSwap平台可以对交易的双方和环境进行先验,Blacklist机制会持续监控交易活动,逐个排除是否存在黑名单列上的“危险分子”,当检测到来自黑名单账户的操作请求时,会自动阻止这些请求,以防止恶意行为发生。
例如,如果某个账户因为参与过Rug Pull或其他欺诈活动而被列入黑名单,该账户将无法在DEX上进行交易或添加流动性,从而保护其他用户免受潜在损失。
本质上来说,ArtexSwap提供一套重心后置的C端被动防御体系。
Anti-Rug机制
Rug Pull是指开发者或大持仓者突然增加代币供应或抽走流动性池中的大部分资金,从而导致代币价格暴跌,投资者蒙受巨大损失。
这类一般是伴随着合约有后门的情况,进入到这一步一般是Blacklist机制下的漏网之鱼,因为黑名单的信息是存在一定的滞后性的,所以一般情况分为两种:
1. 这个合约漏洞未被发现,
2. 发现了黑名单没有。
先说第一种,对于没有直接证据证明代币合约是有问题的,ArtexSwap一般采取乐观的机制进行处理,即默认它是安全的,但是ArtexSwap的平台会一直会监控任何试图大幅增加代币供应量的操作,一旦发现这一类的情况将会进行阻止,并且同时阻止其它用户对相关代币的交易来避免损失。
第二种则是依赖于链下消息通信,Aspect在启用链下消息通信的情况下是允许在区块链之外进行交互和数据交换。这使得ArtexSwap可以实时从第三方的信息源中获取相关恶意合约的地址,然后对整个DEX上的代币合约进行安全性检测,一旦发现存在某个恶意合约,直接阻止其相关的全部操作。
Slippage机制
需要明确的是,在AMM的流动性机制下,发生发生高滑点导致损失是大概率的事件。简单说一下,滑点是指交易执行价格与预期价格之间的差异,当市场波动大或流动性不足时,滑点会变得显著,这是机制问题。
显然,对于Slippage的预防是一个「预测性」的问题,针对于流动性不足而言解决的难度是不大的,ArtexSwap平台的合约只需要对流动性池做实时性的监控就能达成这一目标。难点在于市场的波动,因为市场是一个外部的事件信息,首先所想到的就是接入预言机来实现市场状态的获取。ArtexSwap为了实现这一点,需要用到其运行的基础环境,Artela是支持Aspect技术的,ArtexSwap通过借助这一点在链上创建一个dApp,dApp可以与第三方预言机进行交互来获取市场的波动,并且Artela支持AI代理,通过市场的状态数据和AI的来对某时刻交易的高滑点进行预测,并且结合前面提到的流动性监控来综合得到一个预估值,预估超过一个阈值(30%)时,阻止交易执行,从而保护交易者避免因价格剧烈波动而导致的损失。
5、总结
尽管我们不确定当前的DEX模式能否支持长期增长和机构应用,但可以预见,DEX将继续成为加密货币生态系统中不可或缺的基础设施。
还是那句话,每一次成功的骗局背后,都可能会有一个用户停止使用 Web3,而 DEX 生态在没有任何新用户的情况下,将无处可去,因此对于 DEX 来说,失去安全,就是失去一切。
只不过目前 DEX 赛道火热的大背景之下,衍生品 的叙事似乎也能长盛不衰,但长期来看,DEX是用户最确定性的需求,所以再多的关注也不为过。