用于 DEX 路由器构建和分析的构建区块_区块链:0xBitcoin

概述

用一种资产交换另一种资产是金融市场的一个基本概念。在加密货币市场中,这种情况通常发生在代币或货币与他人交换或交易的地方。Uniswap是一种自动流动性协议,有助于这种类型的交换。它使用成对或池(以下称为对),两种资产的池储备,允许用户将一种资产交换为另一种资产。

图1.0:Uniswap代币A和B池,以及流动性提供者(LP)和交易者的互换和存款交互示例。LP接收池代币以提供流动性。

如果有人想要的资产与他们想要交易的资产不成对,会发生什么?在这种情况下,在多个对之间进行一系列互换以获得所需的资产——用于促进这种交易的对被称为路由。

?图2.0:一条涉及多对交易DAI以换取USDC的路由。

路由是从一个资产到另一个资产的路由,由零或多个对之间的段组成。如果交易的数量足够大,或者如果一对的流动性足够低,可以从多个路由中形成一条路由,通过吸收更多来自其他对的流动性来减少滑点。

图3.0:由Paraswap路由器说明的多路径路由

Open Campus:今日向Binance转入的416万枚EDU将用于提供流动性:5月30日消息,Web3 教育协议 Open Campus 针对今日早些时候将解锁的约 416 万枚 EDU 转入 Binance 一事发文表示,根据公布的归属时间表,目前已解锁 2100 万枚 EDU,钱包中仍有 1700 万枚 EDU 尚未移动或出售,400 万枚已于今天早间转移至 Binance 用于提供流动性。[2023/5/30 11:48:46]

图4.0:多路由

滑点是指一个人预期为资产支付的价格与实际支付的金额之间的差额,这是由一些因素造成的,比如订单进入市场和交易执行之间的价格变动,或者成交量和流动性低。

另一个需要考虑的是路由中的段数。这将以在以太坊区块链上操作的gas费用的形式增加交易成本。一条路由上的段数越多,所产生的gas费用就越高。类似地,如果有多种途径,如上图3和图4所示,gas费用也会更高。

路由器必须考虑这些因素,以产生适合交易数量的路由。此外,由于市场状况经常变化,影响gas费用和池的流动性,生成的路由也将是动态的,现在是一条很好的路由,不一定在一小时后或第二天表现良好。

本文的其余部分将讨论可用于构建和分析UniswapV2协议及更高版本构建和分析路由器的构建区块。

数据建模

注意:这里提到的Graph协议不同于下一节讨论的Graph数据类型。图协议是一个或多个智能合约的区块链交易的索引,而图数据类型是指使用数学图论的数据表示。

正如使用地图在点之间导航一样,可以使用图数据类型来导航可用的流动性对,以生成可以评估以提高回报的路由。在对Uniswap对进行建模时,一开始就需要做出一些实现选择:

社交媒体协议Cyber??Connect推出用于安全网络的平台Link3:7月19日消息,Cyber??Connect是一种使社交媒体配置文件可跨Web3互操作的协议,该公司周二在新闻稿中宣布,它正在推出一个名为Link3的Web3社交网络平台。Cyber??Connect的首个产品Link3利用区块链技术创建一个安全、去中心化且身份经过验证的网络。Link3将为用户提供经过验证的身份的个人资料,以确保他们与值得信赖的人建立联系。它还将允许用户选择谁可以向他们发送有关付款或数字资产的消息。(CoinDesk)[2022/7/19 2:23:58]

作为顶点或边的对、符号或资产标识符?

有向还是无向?

简单还是多图?

为了做出上述实现选择,理解Uniswap对的属性是很重要的:

每一对都有一个唯一的ID。

每对包含以下数据对2个代币:符号、名称、ID。

代币符号不是唯一的——例如,符号BOND表示许多不同的资产或不同的ID。

代币名称也不一定是唯一的。

代币ID是唯一的,并且是代币的ERC-20合约地址。

Uniswap对的这些属性建议使用代币ID作为图数据类型中的顶点。由此可见,图的边代表唯一的一对ID。在这种形式下,图可以是无向的,也可以是有向的,每条边代表一对ID、代币价格和储备。然而,不断更新代币价格和保留信息的需求表明,将该数据存储在具有适当的实时设置的缓存结构中可能更有效和可扩展,特别是对于实时交易的应用程序,而不是静态分析。

今后,在UniswapV2和V3协议对之间路由是可取的。在这个场景中,可能存在多个对相同的代币ID。虽然可以在一对ID之间添加额外的边,但另一种解决方案是在同一条边上分组不同的对ID,从而避免遍历多重图的性能成本。下面是分组对ID无向简单图结构的部分示例,其中符号ID替换了符号名称:

机构财团已成功试验CBDC,用于在测试区块链上结算法国国债:10月19日消息,欧洲结算系统Euroclear牵头的一个机构财团已成功试验了中央银行数字货币(CBDC),用于在测试区块链上结算法国国债。该实验由法兰西银行委托,包括法国贸易署、法国巴黎银行、法国农业信贷银行、汇丰银行、法国兴业银行。IBM为Euroclear提供了设计专业知识和所有平台功能,包括高级隐私保护通证和混合云功能。

实验的目的是评估是否可以在区块链平台上运行广泛的操作和功能,并从用户的角度确定区块链技术的附加价值。试点范围广泛,涵盖证券发行、一级市场和二级市场交易、回购、利息支付等流动性优化机制等众多核心证券结算业务。实验还表明,区块链平台可以与现有市场基础设施共存和互操作。(IBM)[2021/10/19 20:40:13]

图5.0:在一个无向简单图中对UniswapV2和V3协议对进行建模(注意,实际结构使用代币ID而不是代币符号,所以在这里会很麻烦)。

最初,深度优先搜索(DFS)已经证明可以遍历图,一般情况下深度限制为4。该深度的一个例外是从WETH开始的路由,其中连接节点的数量超过30000。当一条路由从WETH出发时,DFS被限制为2,以减少遍历时间。

有许多用于处理图形数据类型的工具,包括图形数据库Neo4J和RedisGraph。这些讨论超出了本文的范围,目前的项目需求可以通过Javascript库Graphlib来满足。然而,如果路由问题的规模达到了LinkedIn或其他大型网络的规模,那么上述图表数据库的规模就会满足这些需求,从而权衡成本和开发复杂性。

V神:基于Matic Network生态的Polymarket可用于信用卡直接购买USDC:ETH创始人Vitalik在推特表示:Polymarket的独特之处在于直接存在以太坊侧链Matic网络中。它有一个直接可以使用信用卡购买USDC的界面,该界面吸引普通用户优化使用。Polymarket是一个搭建在Matic Network上的信息市场平台,在该平台上,任何人可通过稳定币 USDC针对有争议性的话题下注,如果判断正确,即可获得收益。Matic Network是一个使用侧链的链下运算的区块链第二层拓展解决方案, 同时运用Plasma和PoS机制来确保资产的安全性。Matic Network致力于让开发者在该平台上创建真正可用的Dapp。目前Matic可在币安等交易所进行交易。[2020/11/4 11:38:58]

约束

当在图数据结构中计算路由时,约束是有用的。例如,它们有助于确定只遍历有限数量对的路由,或者可以用来忽略包含某些资产的对的路由。

现有的UniswapV2路由主要是通过六项资产的路由,这些资产可以比作机场枢纽。这六项资产是:

WETH

DAI

USDC

USDT

COMP

MKR

这六种资产是有用的,因为它们是常用的,当它们与其他资产成对组合时,不会施加流动性限制(即它们不是稀缺的,并且不会与新的、未经证实的加密资产构成相同的风险)。然而,它们的使用可能会造成效率问题,在这里说明:

“Uniswap没有以去中心化的方式路由交换。”

使用约束,比如忽略上面提到的6个“枢纽”资产,可以探索比当前UniswapV2界面提供给用户的更有效的潜在路由。约束也可以扩展到其他标准,例如:

动态 | 区块链技术用于解决汇算清缴与退税问题:据第一财经报道,根据十三届全国人大常委会第五次会议审议个人所得税法修正案(草案)规定,纳税人需要预缴后再汇算清缴而预缴与汇算清缴间有可能会产生差额。与相关的金融账户绑定,将每期退税款及时退还至个人账户是解决解决汇算清缴与退税问题的方式之一,该报笔者认为该方式征管部门应该予以考虑。随着数字经济的来临,未来纳税的方式将发生根本性的变化,所有的征管职能将以数据作为主线,从纳税人端获得数据、运用区块链等技术自动生成纳税申报表,相关的参数还可组合成各种的风险指标进行风险识别及管理,同时以上的风险报告又将成为互联网+稽查的依据,最后运用大数据的大样本进行经济分析,提供宏观决策。[2018/8/27]

通过具有X美元流动性或Y%美元交易的池路由。

通过具有特定定价的特定池路由。(适用于UniswapV3协议)。

同样值得注意的是约束是可组合的,也就是说,它们可以组合在一起,这样路由就可以限制为最多2个池,每个池的流动性超过X。当前的数据模型在图数据类型和查找表之间拆分数据,这意味着在图遍历期间和之后发现对数据时都可以修剪路由。

扩展

扩展主要考虑向路由器公开一个公共API,以便基于当前市场数据计算路由。性能是一个函数:

计算路由的时间

如果需要,获取更新对数据的时间(代币价格和储备)

计算路由请求的影响所需的时间

下图说明了一个初始的系统架构,其中包含用于最常请求路由的缓存和用于计算路由请求影响的缓存对数据。这种架构非常灵活,可以以多种方式进行水平扩展。例如,完全复制图数据结构和路由缓存以及请求聚合器和对缓存,或者简单地复制缓存并在缓存之间分配路由请求。

图6.0:具有可扩展组件、缓存和定期更新的路由服务架构。

另一个潜在的可扩展性修改可能是考虑路由请求和数量的完整路由解决方案缓存;如果数量在一定的公差内,最近计算的结果可以重用。根据用户体验和应用程序的需要,最近计算的结果也可以用作临时结果,而为用户计算更精确的结果。

路由缓存

路由缓存由最常请求的路由的结果组成,其生存时间(TTL)与数据源的定期更新频率相关。例如,如果之前请求过WETH和DAI之间的一条路由,则可以在路由缓存中以可能路由数组的形式找到图遍历的结果:。与代币价格和储备等对数据不同,路由可能性——特别是配对的存在——变化较少,因此该缓存的TTL预期要比对数据缓存大得多。此外,该组件还可以扩展为包含对死路由(即过期或已被取代的令牌地址或非流动对)的试探法。

配对数据缓存

配对数据缓存包含特定对的代币价格和保留数据,便于计算使用指定数量路由请求的影响。该数据比可用路由选项的变化更频繁,并且将具有大约一个以太坊区块的TTL。

当请求的数据不在缓存中时,这些请求将被捆绑在一起,并从数据源中获取,目前是Graph协议中的Uniswap子图(见下面的数据源部分),最多可包含1000对数据查询。发送捆绑的对数据请求之前的等待时间将根据流量进行调整——在低流量的场景中,让用户等待直到发出额外请求是没有意义的。

此外,为了改进用户体验,在获取和计算更新数据时,可能会呈现基于旧数据的预结果。

静态分析

路由性能将通过将生成的路由与现有UniswapV2路由器的路由进行比较来评估。具体来说,是通过计算给定数量的源代币的收益。例如,在从DAI到COMP的交易中,路由器的性能将通过计算从100万个DAI代币接收到多少COMP,并检查从UniswapV2路由器建议的路由获得的相同结果来进行比较。性能将根据各种不同的输入进行测量,例如,不同的初始数量,对搜索深度的不同限制等。

在执行静态分析时,不需要图6.0中所示的对数据缓存和捆绑请求。静态分析是在区块链的特定区块时间内对交易的计算。它有助于结果的一致性和重复性,以便进行比较。为UniswapV2设计新路由器的初始工作范围由静态分析提供帮助,在静态分析中,可以在一个区块时间评估一组交易,并与现有的路由算法或变体进行比较。如果潜在的配对数据发生变化,则不清楚交易结果的改善或下降是由于算法变化还是配对流动性和定价。

数据源

随着区块链技术的成熟,出现了大量提供区块链当前和历史数据的服务。数据源的选择涉及下列考虑事项:

预算

开发工作和成本

延迟

数据的准确性

开发工作和成本可以通过使用预先消化或索引的数据来减少,就像在GraphProtocol的众多子图中发现的那样。

对于初始交换路由器的设计和实现,将使用GraphProtocol中的Uniswap子图。该数据源提供了极好的易用性,能够分析过去的合约数据,否则将需要更昂贵的存档以太坊节点,并且能够在不执行静态分析时在单个HTTP请求中更新1000对数据。GraphProtocol中的数据延迟比前面提到的解决方案低得多,只有通过直接运行以太坊节点或对内存池建模(或者使用Blocknative之类的服务)才能胜出。GraphProtocol的延迟明显在1区块左右,在某些索引场景下可以动态改变。值得注意的是,当索引和映射区块被证明无效时,数据也可以更改。

一旦对交换路由器设计进行了评估,这个数据源将被证明不适合生成路由,因为实时数据需要具有竞争力。在这样的场景中,需要直接来自区块链当前状态的数据,例如来自Alchemy、Infura或其他来源的以太坊节点。

未来

上面概述的系统提供了灵活性和可扩展性,以分析现有Uniswap系统的性能,以及在协议之上构建新的系统,包括一个成熟的交易解决方案。类似于CoinbasevsCoinbasePro或SynthetixvsKwenta,也有一些对专业交易者至关重要的高级功能,我们在下面列出了一些。

交易生成器

通过使用避免上述6个枢纽代币的约束,本文描述的系统可以用来检查某些代币之间的替代路由及其效率。这可以定期完成以构建一个基于启发式的列表,现有系统/交易者可以使用该列表来改进对这些对的推荐路由,或允许他们进行其他更改。

跨协议路由

通过增加图形或交替地使图形数据结构成为多图并添加额外的数据源,可以扩展该系统,为用户提供跨UniswapV2和V3协议的资产之间的路由。根据目标的不同,这可以减少交易中的滑点,也可以对分散的流动性进行管理。

跨层路由

类似于跨协议,路由器可以扩展到生成跨层路由。降低gas费用和改进交易带宽的承诺表明,layer2解决方案将有助于定义以太坊未来的很大一部分。在L2和L1资产之间交叉提出了一个新的路由挑战,其复杂性超过了协议交叉。然而,相同的基本构建区块可以生成允许跨层交易的解决方案,利用即将到来的协议来实现这一目的,例如HopProtocol、Nova等。

MEV

通过将路由解决方案与防止MEV的技术相结合,如Flashbots,该路由系统可用于保护大额交易免受攻击。试探法或其他输入可以确定一笔交易的价值是否足以表示这种风险,然后保护性解决方案可以自动合并由确定的最佳路由提出的交易解决方案中。

低延迟数据源和预测路由

GraphProtocol数据源虽然方便和快速,但通常至少有1区块延迟。对于某些交易应用来说,这可能还不够。在这方面,可以替代其他性能更好的数据源,要么直接绑定到一个以太坊节点,要么过滤已完成的感兴趣的交易,以更新路由系统的数据结构。更进一步,还可以构造内存池的有限描述,并应用类似的交易过滤,以提供未执行的已知交易状态下的预测路由结果。

Source:https://medium.com/@ValveFinance/building-blocks-for-dex-router-construction-analysis-acc03b9f15d8

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

金宝趣谈

FIL币为什么GameFi需要NFT?_EFI:MEFI

不管你如何看待最近几个月掀起的GameFi热潮,或许有人认为它是具有伟大变革意义的新时代产物,或许也会有人认为它依然是个博傻游戏,但不得不承认的是,GameFi已然成为加密市场上风头正盛的概念.

[0:15ms0-7:8ms