深入研究跨链意图的 ERC-7683

  • BuildBear
  • 更新于 2024-09-14 16:09
  • 阅读 904

Rollup 和 L2 扩展了以太坊,但带来了碎片化。随着更多 Rollup 和应用链上线,这种碎片化将会增加。ERC-7683 通过提供统一标准简化了跨链交易。这使得开发人员更容易构建,用户更容易在不同链之间进行交易。

随着多个区块链(Rollup 和应用链)的激增,生态系统变得更加碎片化。区块链互操作性对于在这些不同的区块链网络之间进行通信、资产转移和连接至关重要。

由于流动性碎片化和互操作性问题,在不同区块链之间交易资产可能特别具有挑战性。由 Uniswap LabsAcross 提出的 ERC-7683 标准(草案)用于 跨链意图,这是一个跨链交易执行系统的接口。该标准旨在通过提供一个统一的框架来简化跨链操作。

以下是跨链意图标准的详细概述,以及 UniswapX 如何在交换中实现跨链能力的分析。

ERC-7683:跨链意图的统一标准

什么是基于意图的系统?

一个尊重用户“意图”的系统,而不必担心执行过程的复杂性。跨链意图 是指用户希望在一个区块链上执行操作,从而在另一个区块链上产生结果。

假设 Alice 想用她在以太坊上的 USDC 交换 L2 上的 WETH。传统上,Alice 需要经过多个步骤,包括使用桥接和不同的钱包,这使得过程复杂且耗时。

使用 ERC-7683,Alice 不需要采取多个步骤或担心如何实现。基于意图的系统只需让用户指定链的最终状态——填充者网络(network of filler)竞争以尽可能快速和廉价地实现用户的结果。

ERC-7683 解决了什么问题?

许多基于意图的系统依赖于自己的填充者网络,导致单点故障和中心化风险。随着基于意图的系统的增长,为每个协议管理单独的中继器和填充者变得具有挑战性。

ERC-7683 标准通过标准化跨链意图解决了这些问题,启用通用填充者网络以实现更高效的交易,并使不同系统更容易协同工作。

使用 ERC7683 进行跨链交易执行的关键组件:

A . 交换者 Swapper(用户): 签署定义订单的链下消息的用户,使用 CrossChainOrder 结构体,其中包含跨链交易订单的所有必要信息。

struct CrossChainOrder {
    address settlementContract;  // 结算合约地址
    address swapper;             // 发起交换的用户
    uint256 nonce;               // 防止重复订单的唯一编号
    uint32 originChainId;        // 源区块链的 ID
    uint32 initiateDeadline;     // 订单必须开始的时间
    uint32 fillDeadline;         // 订单必须完成的时间
    bytes orderData;             // 额外数据,如代币、金额、目标链
}

此外,ResolvedCrossChainOrder 结构体提供了有关订单的详细信息,使计算完成订单所需的输入和输出变得更容易。该结构体确保双方(交换者和填充者)确切知道交换哪些代币、金额和涉及的区块链。

struct ResolvedCrossChainOrder {
    address settlementContract;
    address swapper;
    uint256 nonce;
    uint32 originChainId;
    uint32 initiateDeadline;
    uint32 fillDeadline;
    Input[] swapperInputs;       // 从交换者处获取的代币
    Output[] swapperOutputs;     // 给交换者的代币
    Output[] fillerOutputs;      // 给填充者的代币
}
struct Input {
    address token;               // ERC20 代币地址
    uint256 amount;              // 代币数量
}
struct Output {
    address token;               // ERC20 代币地址(如果地址为 0 则为原生代币)
    uint256 amount;              // 代币数量
    address recipient;           // 接收输出的地址
    uint32 chainId;              // 目标区块链 ID
}

B. 填充者(完成交易的实体): 填充者是负责在源链上发起交易、在目标链上执行订单并结算跨链订单的实体或智能合约。

填充者因其提供的服务而获得奖励。它们具有灵活的设计,允许定制行为,如价格解析机制、履行约束和结算程序。

C. 结算合约ISettlementContract 接口定义了结算合约的基本结构,如 initiateresolve 函数。

interface ISettlementContract {
    function initiate(CrossChainOrder order, bytes signature, bytes fillerData) external;
    function resolve(CrossChainOrder order, bytes fillerData) external view returns (ResolvedCrossChainOrder);
}

ERC-7638 如何在其他系统中用于跨链功能?

通过扩展 ISettlementContract,你可以为任何协议实现 ERC-7638 标准的跨链订单。

让我们通过一个 示例 实现来分析 ERC-7683 如何与 Permit2 和 Across 一起工作。它定义了一个处理 Across 网络上跨链订单的结算合约,并使用 Permit2 进行代币转移。其工作原理如下:

  • Alice 在源链上创建一个包含订单基本参数的跨链订单。她使用 Permit2 签署订单,这是一种允许安全代币转移的机制。

  • 结算合约在源链上接收 Alice 签署的订单。它检查订单详情,验证签名,并从 Alice 的账户中提取指定数量的 ETH。

  • 在目标链上,填充者解析订单并准备 USDC 以完成订单。

  • 填充者调用 SettlementContract 中的 fillCrossChainOrder 以完成已发起的订单并将 USDC 转移给 Alice。

ERC-7683 的好处

  • 互操作性: 它允许各种网络之间的无缝交互,减少复杂性,从而在任何基础设施中实现跨链能力。

  • 更好的用户体验: 简化用户流程,使跨链交易更加无缝。

  • 降低进入门槛和成本: 更容易让新的填充者进入市场,扩展网络。减少复杂性和中心化降低了交易成本。

  • 更广泛的访问: 应用程序受益于更广泛的填充者网络,提高整体效率。

用例:UniswapX 跨链交易

2023 年 7 月,Uniswap 推出了 UniswapX 跨链功能,这是加密资产交易的未来。跨链交易 是指在不同区块链之间交易代币或资产。将 ERC-7683 集成到 Uniswap 的生态系统中,可以扩展其在以太坊及其 L2 之外的能力,使用户能够进行跨链交易。

让我们快速了解 UniswapX 的运作 以及 ERC-7683 的实现。

UniswapX 是一个基于拍卖的协议,用于在 AMM 和其他链上及链下流动性来源中找到用户交易的最佳价格。它采用基于意图的方法,引入了新的实体“填充者”,这些填充者由做市商和 MEV 搜索者组成,他们通过荷兰拍卖竞价来找到最佳价格。

荷兰拍卖竞价? 荷兰拍卖从一个较高的要价开始,逐渐降低,直到有投标者接受为止。这一概念是 UniswapX 填充者竞争为你提供最佳价格的方式。这些填充者搜索他们的流动性来源。提供最佳价格的填充者获胜。如果填充者无法完成交易,价格将下降,直到下一个填充者可以完成交易。

UniswapX 将是第一个使用跨链意图标准(ERC-7683)的应用程序。让我们看看 UniswapX 实现 ERC7683 进行跨链交易的 Alice 示例:

  • Alice 在 Uniswap 上创建一个 CrossChainOrder,指定她打算在以太坊上用 ETH 交换另一条链上的 USDC,比如说,1 ETH 换 1000 USDC。

  • 该意图随后被发送到 UniswapX 填充者网络,填充者网络检查他们的流动性来源(Uniswap Protocol、Sushiswap 等)以获取价格。

  • 例如,填充者 A 提供 999 USDC 换 1 WETH,填充者 B 提供 998 USDC,Uniswap v3 提供 996 USDC。填充者 A 赢得竞标。

  • Alice 接受填充者 A,因为它提供了最佳价格。然后调用 ISettlementContract 上的 initiate 函数在以太坊上开始交易。

  • 填充者然后在目标链上执行交易,交换代币。

  • 填充者调用结算合约上的 resolve 函数来完成交易。如果填充者 A 无法完成交易,拍卖将以下一个最佳价格继续。

  • Alice 和填充者根据 ResolvedCrossChainOrder 详情接收各自的代币。

小结

Rollup 和 L2 扩展了以太坊,但带来了碎片化。随着更多 Rollup 和应用链上线,这种碎片化将会增加。ERC-7683 通过提供统一标准简化了跨链交易。这使得开发人员更容易构建,用户更容易在不同链之间进行交易。像 UniswapX 这样的平台现在可以提供无缝的跨链交易,改善流动性,降低成本,并创建更高效的生态系统。

关于我们

BuildBear 是一个专为 DApp 开发和测试量身定制的平台。开发人员可以在各种区块链网络上构建个性化的私有测试网沙盒。无限铸造原生和 ERC20 代币的自由,加上 BuildBear 上快速的交易时间(不到 3 秒!),大大增强了 DApp 开发生命周期。该平台配备了用于实时测试和调试的工具和插件,确保开发人员可以前所未有地轻松跟踪复杂的区块链交易。

Connect with us on Twitter | LinkedIn | Telegram | GitHub

Author: Sana

我是 AI 翻译官,为大家转译优秀英文文章,如有翻译不通的地方,在这里修改,还请包涵~

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
BuildBear
BuildBear
江湖只有他的大名,没有他的介绍。