多链混沌:Layer2 格局演变与跨链流动性的新探索

点击查看原文:多链混沌:Layer2 格局演变与跨链流动性的新探索

如今的 Crypto 是一个由多链构成的混沌世界。曾经,以太坊聚集了加密世界绝大多数的流动性与 DeFi 应用,但现在其 TVL 占比已经降到 60% 以下,并仍处于下降态势。

一些 EVM 兼容链与新公链仍在持续蚕食市场份额,面对这样的局面,以太坊也在为提高性能和生态容纳量而自我革命,各种 Layer2 成为了新公链最大的竞争对手,再次从 Alt chain 手中抢走了资产与用户。

来源:defillama.com/chains,蓝色部分为以太坊 TVL 市场份额

这个多链与 L2 并存的世界给 dApps 和 DeFi 金融创新提供了更多可能,dApp 不必构建在昂贵拥堵的以太坊主网,避免因 Gas 费而限制自身采用率。Layer2 在带来高性能的同时,仍然可以与 Layer1 乃至整个 EVM 生态内的资产交互,dApp 甚至可以选择独立构建专属的 L2 应用链。

可以预见的是,应用程序与流动性的分散化将在未来愈演愈烈,这种分散化给开发者和用户都带来了新的挑战。

对用户而言,无论在哪条链上交易,几乎都无法调动全局流动性,这会带来更高的 price imact,使得大额交易容易因流动性不足而受到影响。一些资产在某些链甚至没有流动性,用户不得不跨到其他链上才能交易。

而从开发者的角度看,为了满足不同链上的用户,需要在不同链上引导流动性,这带来了额外的成本。有限的流动性如果被引导到不同链上,会让所有链的流动性都很单薄,交易体验变差,可如果放弃某些链,又将放弃部分用户和业务收入。

面对流动性割裂的困局,一些解决方案试图从用户角度入手,让用户在交易时尽可能高效利用不同链上的流动性,减少交易折损。大体来说,有两种方式——流动性路由(Liquidity Router)和交易代理(Trading Agency)

流动性路由

流动性路由表现为交易聚合器类的应用。用户在其中进行交易的时候,系统不是仅仅用本地流动性为用户完成交易,而是从不同链上寻找最优交易路径。流动性路由可以服务于本地交易,也可以服务于跨链交易。

我们以 Chainhop 和 Chainge Finance 为例来说明 Liquidity Router 的工作方式。二者都是跨链兑换聚合器。

在 ChainHop 上,如果用户希望将 X 链的资产 A 换成 Y 链上的资产 B,但是 A/B 的主要流动性都在 Z 链上,那么 Chainge Finance 会执行多跳交易,帮助用户把资产 A 发送到 Z 链,换成资产 B,再发送到 Y 链。通过这种「多跳」的方式,尽管增加了 Gas 支出,但综合算下来,还是能为用户提供更优的交易结果。

例如,当用户请求在 Fantom 上将大量 ETH 兑换成 Optimism 上的 USDC 时。Chainhop 会首先将 ETH 桥接到以太坊,然后在以太坊上完成 ETH-USDC 交换(通常 price impact 要小得多),最后将 USDC 桥接到 Optimism。

Chainge Finance 则更进一步,在多跳的基础上,支持把订单拆分给多个链上的流动性池,共同完成交易。例如用户需要将 Fusion 链上的大量 ETH 换成 Tron 链上的 USDT,系统可能会拆分到以太坊和 Polygon 上,分别完成兑换之后,再为用户将 USDT 传输到 Tron 链上。

通过「多跳」和「拆单」机制,「流动性路由」的方式可以更加智能的充分利用多链上分散的流动性,为用户完成交易,有效的减小整体的 price imapct。

交易代理

交易代理是指用户在发出交易请求后,由交易代理帮助用户完成交易。交易代理会形成一个竞价市场,用户可以选择其中能够提供最优价格的代理来成交。这种方式有点像订单薄,但不同的是,这些交易代理并不一定事先储备自有流动性,而是可以在接到订单后,帮助用户寻找最佳交易路径并完成交易,从中赚取佣金。在这个过程中,交易代理甚至可以充分利用 CEX 中的流动性,只要能为用户提供更有的价格,可以使用任何地方的可用流动性。

与流动性路由方案一样,交易代理方案也可以同时为用户提供本地交易服务和跨链交易服务。

采用此方案的典型案例是 Uniswap X。Uniswap X 是 Uniswap Labs 于 2023 年 7 月发布的新产品。在官方的描述中,Uniswap X 是一种新型的无需许可的、开源的、基于荷兰拍的聚合交易协议,用于跨 AMM 和其他流动性来源为用户提供服务,具有无 Gas、无滑点、抗 MEV 等优势。

Uniswap X 中的交易代理名为「填充者」(Filler)。用户通过 Uniswap X 发起交易请求后,会由 Filler 进行响应。Filler 之间是竞争关系,系统通过荷兰拍的方式决定谁来接单,最终拿到订单的 Filler 会帮助用户完成兑换。一言以蔽之,Uniswap X 让众多 Filler 通过竞价为用户提供最优成交价格,而 Filler 通过发现更优的交易路径来获得竞争优势。

来源:Uniswap X 官方介绍

整个过程中,Gas 是 Filler 代付的,因此用户感受到的是无 Gas 体验。至于 MEV 攻击和滑点的风险,其实也都转嫁为 Filler 了,用户可以获得「所见即所得」的成交体验。

Uniswap 官网界面已经有开启 Uniswap X 的按钮,用户可以点击右上角小齿轮手动开启,目前仅支持以太坊网络。

现在,无论是「流动性路由」还是「交易代理」模式,其核心都是关注向用户输出结果——最优的成交价格,把复杂的过程隐藏起来,由智能算法也好,竞价市场也好,代替用户完成。这样的方式,其实现在有个更时髦、也更贴切的概念去描述它,那就是「意图层」,无论是流动性路由,还是交易代理,他们都可以被认为是不同形式的 Intent Solver。当然,Intent-Centric 的叙事很宏大,还包括很多其他方面。

如何更好的部署流动性?

上面我们讨论的是,如何帮助用户更好的充分利用多链的流动性。那么从流动性的部署和引导者,也就是 DeFi 项目方的角度而言,如何提高流动性的利用效率呢?

对于 DeFi 项目而言,流动性是其核心,甚至流动性就是 DeFi 项目所提供的服务本身。分散和割裂的流动性会让每个部分的流动性都无法发挥最大效用,整体的流动性效率处于较低水平,阻碍其竞争优势的建立。如果将流动性集中在一条链上,又会丧失掉其他链的用户和机会。

改善这样的问题,有两种可行的思路。

第一种思路是SLAMM(Shared Liquidity AMM),其基本思路是设置一个被称为「预测者」的角色,他们负责预测未来一段时间内交易量的分布,并以此为依据,进行流动性的提前调度。预测者的预测越接近真实情况,预测者就会获得越多的奖励。

理想情况下,预测者可以在某条链的交易量爆发之前,提前将其他链的流动性转移到那条链上,防止流动性不足导致的交易失败,也可以在某条链的交易量缩减之前,提前将富余的流动性转移到更需要的地方,以避免流动性的浪费。

但这种方式的缺点也很显著,其一,即便调度合理,每条链依旧无法使用全局流动性,其二,交易量的变化很多时候无迹可寻,预测者缺乏依据去做合理的预测和调度,其三,用户必须为预测者支付费用。

尽管 SLAMM 被提出已超过 1 年时间,但迄今为止,作者没有看到 SLAMM 的实践案例,这说明开发者并不看好这种方式。

远程调用流动性

这是一种更简单的方式。DeFi 项目方在一条链上部署和引导所有的流动性,并在其他链上提供远程访问模块,当用户在其他链上发起交易请求时,实际上会通过跨链的方式,远程使用流动性。

这种方式有诸多优势,包括在任何链上,用户访问的都是全局流动性。流动性的引导和部署变的很简单,不存在分配和调度的问题更好的跨链可集成性,其他链上的应用也可以通过远程调用的方式,使用该项目的全局流动性。例如借贷项目可以远程使用全局流动性完成清算,减少清算时的折损。

全链 LSD 项目 Bifrost 正在实践这样的方式,作者 0xmiddle 在前作《跨链桥的未来:全链互操作成必然,流动性桥将没落》中有过阐述。实际上,这不止是一种流动性部署方式,更是一种全新的应用架构。我们可以描述为「总店 + 分店」结构。

在这种结构下,应用程序并不需要在所有链上重复部署实例,而是仅在一条链上部署核心模块(总店)的同时,在其他链上部署一个轻量化的远程模块(分店)。任何其他链的用户都通过跨链的方式远程访问应用程序,获取服务。


也就是说,统一在一条链上的,不止是流动性,还包括应用程序的主体部分。

当然,这种模式也存在挑战,远程调用过程中,需要用到跨链桥,执行一来一回两次跨链传输,会产生额外的成本,如果跨链桥基础设施不够安全的话,还会让这样的操作有额外的风险。

但作者看到的是,跨链桥基础设施正在不断发展完善,新一代更加安全的跨链桥正在成长起来,跨链桥给人们造成的不安全印象将会随之消弭。可以参考作者的文章《Multichain 的倒下或将成为跨链桥转型的契机》。

我们再来分析下跨链资产传输的成本。该成本分为两部分:一是跨链桥收取的用户维持 Bridge Nodes 和 Relayers 运行的 Protocol Fee,一般很少,几乎可以忽略,甚至有的跨链桥对此完全补贴,比如 Wormhole、Zetachain;二是跨链过程产生的 Gas 费,这是主要部分。

远程兑换比本地兑换相比,会额外支出大概 282000Gas(以 EVM 为例),这笔 Gas 的费用,在 Arbitrum、Polygon、BSC、Optimism 上大致在 0.005~0.2 美金之间,尽管这个价格会随着网络拥堵情况和 Token 价格波动而波动,但都在可接受范围内。以太坊 L1 要贵一些,可以做例外处理。


备注:数据截取时间:2023 年 11 月 30 日;价格数据来源:coincarp.com;gas price 数据来源:gasnow.io,bscscan.com/gastracker

关于 Gas 费的计算:

一次跨链 Token 传输,包含源链和目标链上各一笔,共 2 笔 Token Transer(可能是 lock-mint,也可能是 burn-unlock,或者 burn-mint),一笔 ERC20 Token 传输的 Gas 费一般是 60000 Gas,两笔则为 120000 Gas。

此外跨链传输还存在一笔签名验证成本,签名验证的目的是确认跨链消息被 Bridge Nodes 确认,BridgesNodes 可以通过 MPC 技术进行联合签名,形成的签名是一个单一的签名,与普通地址的签名无异,验证该签名所需要花费的 Gas,也与验证普通地址的签名无异,大约是 21000 Gas(关于 MPC 技术在跨链桥中的应用,可以参考这篇文章了解更多)。

因此一笔跨链传输的 Gas 费可以认为是:

120000+21000Gas=141000Gas,一来一回两笔跨链传输的 Gas 费则是 282000gas。


备注:图中以 lock-mint 为例说明,事实上资产传递还有 burn-unlock 和 burn-mint 两种情况

所以,我们从成本角度权衡利弊,也可以得出结论:相比流动性割裂造成的困扰而言,跨链互操作的代价并不大。流动性的远程调用模式相比动态调度模式更加可行。

观点与总结

以上,我们阐述了多链格局的产生缘由及其必然性,并通过考察业内既有的探索,为流动性分散的问题开了方子。

总的来说有两点,其一,包括流动性路由、交易代理等形式的,以意图为中心的新交易方式正在帮助用户更加充分利用各条链上的流动性,减少交易的损耗;

其二,DeFi 应用程序也在通过更好的部署流动性来追求更高的效率,动态流动性方案比静态好一些,但随着跨链基础设施的成熟,「单链部署流动性 + 远程调用」反而是更有前景的方案。

在未来的多链流动性格局中,大多数资产的主要流动性都将集中在一条链上,远程兑换将成为常态。稳定币(USDT、USDC、甚至某种意义上包括 ETH)例外,它们将分布在各个链上,承担跨链资产兑换的媒介职能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/304633.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【人工智能】深入了解人工智能的核心算法与应用实践

人工智能 学习AI要看的第一本书人工智能应当以人为本人工智能(第3版)通晓六点,明白人工智能是怎么回事基本概念和历史基础知识基于知识的系统高级专题现在和未来安全和编程 人工智能已经是基础学科 学习AI要看的第一本书 人工智能知识对于当…

Ubuntu上安装VMware+win11系统手册

Ubuntu安装vmware 下载: Linux 版下载地址:https://www.vmware.com/go/getworkstation-linux 安装: sudo chmod x VMware-Workstation-Full-17.5.0-22583795.x86_64.bundle 执行安装命令: sudo ./VMware-Workstation-Full-17.5.0…

java接口自动化 —— 接口测试的用例设计!

1.简介 在这篇文章里,我们来学习一下接口测试用例设计,主要是来学习一些用例设计要点。其实说白了,接口用例设计和功能用例设计差不多,照猫画虎即可。不要把它想象的多么高大上,多么的难,其实一样&#xff…

NVIDIA Container Toolkit(NVIDIA Docker)

引言 Nvidia Docker该项目已被NVIDIA Container Toolkit取代。此存储库提供的工具已被弃用,并且该存储库已存档。 nvidia-docker不再支持包装器,并且 NVIDIA Container Toolkit 已进行扩展,允许用户配置 Docker 以使用 NVIDIA Container Ru…

四大攻击类型并存,NIST 警告人工智能系统带来的安全和隐私风险

美国国家标准与技术研究院 (NIST) 近日发布了有关对抗性机器学习 (AML) 攻击和缓解措施指南, 呼吁人们再度关注近年来人工智能 (AI) 系统部署增加所带来的隐私和安全挑战,并表示这类系统目前没有万无一失的方法进行保护。 NIST指出,这些安全…

9.国际化

国际化_ 页面中获取国际化资源信息 在页面上能够根据浏 览器语言设置的情况对文本, 时间, 数值进行本地化处理 可以在 bean 中获取国际化资源文件 Locale 对应的消息 可以通过超链接切换 Locale, 而不再依赖于浏览器的语言设置情况 实现 使用 JSTL 的 fmt 标签 在 bean 中注…

Pytorch张量通过索引获取指定数据

import torch x torch.tensor([1,2,3])x Out[3]: tensor([1, 2, 3])x[0] # 索引操作:取单个数字 Out[4]: tensor(1)x[0:1] # 切片操作:可以保持维度不变 Out[5]: tensor([1])x[torch.tensor([True,False,True])] # 布尔值索引,通过条件筛…

【Docker】私有仓库

目录 1.搭建 2. 上传镜像 3.拉取镜像 1.搭建 1.拉取私有仓库的镜像 docker pull registry 2.创建私有仓库容器 docker run -id --nameregistry -p 5000:5000 registry 3.打开浏览器,输入地址(http:私有仓库服务器ip:5000/v2/_catalog) 出现如图表示私…

如何在电脑上打开记事本:电脑记事本打开方法

每次当我坐在电脑前,思绪如流水般涌动,我总是需要一个地方来捕捉这些一闪而过的想法和待办事项。这时,电脑记事本就成了我的得力助手。它简单、方便,就像一张随时待命的白纸,等待我留下印记。 在Windows电脑上&#x…

用js做点击切换携程旅游

样式&#xff1a; <style>.domestic {width: 1200px;margin: 50px auto;}.domestic span {padding: 2px 10px;margin: 10px 10px;border-radius: 12px;cursor: pointer;float: left;border: 1px solid transparent;}.domestic > div span:hover {border-color: #f66;b…

动态SLAM 开源方案汇总及介绍(一)

参考https://zhuanlan.zhihu.com/p/673614739及https://zhuanlan.zhihu.com/p/673615788 具体来说&#xff0c;当SLAM系统在前一帧的动态物体上提取了特征点时&#xff0c;如果将这个特征点投影到当前帧&#xff0c;由于目标已经移动&#xff0c;这个点找到的匹配点必然是错误…

【Java开发工具】windows和mac多版本JDK 安装指南:让你在开发中轻松应对不同版本需求

解决思路 通过动态修改JDK环境变量中的JAVA_HOME 将值改成相应的JDK安装目录&#xff0c;来达到在同一电脑中安装不同版本jdk的效果。 windows系统 安装的jdk目录 右键→属性→高级系统设置→高级→环境变量→系统变量。 新建4个系统变 量变量值,变量名分别为&#xff1a…

kubectlkubeletrancherhelmkubeadm这几个命令行工具是什么关系?

背景 在最近学习k8s的过程中&#xff0c;发现kubectl&kubelet&rancher&helm&kubeadm这几个命令怎么在交错使用&#xff0c;他们究竟是什么关系&#xff1f;他们分别应该在什么情况下使用呢&#xff1f;这里我进行了简单的总结&#xff0c;做个区分。 各工具说…

typora好看的颜色主题包

typora好看的颜色主题包 一、base.user.css二、orangeheart.css三、插入文件 一、base.user.css h1, h2, h3, h4, strong {font-weight: 600; }#write {counter-reset: h2; }h1 {counter-reset: h2; }h2 {counter-reset: h3; }h3 {counter-reset: h4; }h4 {counter-reset: h5; …

UE5 C++(十三)— 创建Character,添加增强输入

文章目录 创建Character第三人称模板添加增强输入引用在脚本中实现移动、旋转 创建Character第三人称模板 创建MyCharacter C类 添加增强输入引用 在DEMO.Build.cs 脚本中添加增强输入模块 有个容易出错的点&#xff0c;这里的设置一定要正确 然后添加引用到C头文件中 …

Lin总线基础:为什么Master节点需要外接上拉电阻

Lin&#xff08;Local Interconnect Network&#xff09;总线开发的小伙伴是否有过这样的疑问&#xff1a;为什么主节点&#xff08;Master&#xff09;的设计中&#xff0c;需要增加一个1KΩ的上拉电阻呢&#xff1f;如下所示&#xff1a; 提示&#xff1a;本文基于NXP TJA102…

字节8年经验之谈!一文从0到1带你入门接口测试【建议收藏】

扫盲内容&#xff1a; 1.为什么要做接口测试&#xff1f; 2.怎样做接口测试&#xff1f; 3.接口测测试点是什么&#xff1f; 4.接口测试都要掌握哪些知识&#xff1f; 5.其他相关知识&#xff1f; 一.为什么要做接口测试&#xff1f; ①.越底层发现bug&#xff0c;它的修复…

简单易懂的PyTorch激活函数大全详解

目录 torch.nn子模块Non-linear Activations nn.ELU 主要特点与注意事项 使用方法与技巧 示例代码 图示 nn.Hardshrink Hardshrink函数定义 参数 形状 示例代码 图示 nn.Hardsigmoid Hardsigmoid函数定义 参数 形状 示例代码 图示 nn.Hardtanh HardTanh函数…

Master01节点免密钥登录其他节点

1、执行命令 ssh-keygen -t rsa&#xff0c;一直敲回车 2、for i in k8s-master01 k8s-node01 k8s-node02;do ssh-copy-id -i .ssh/id_rsa.pub $i;done 输入yes和对应节点密码

【算法Hot100系列】最长有效括号

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…