首页>>资讯>>产业

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

2024-09-14 17:16:41 189

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


由于流动性碎片化和互操作性问题,在不同区块链之间交易资产可能特别具有挑战性。由 Uniswap Labs 和 Across 提出的 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 接口定义了结算合约的基本结构,如 initiate 和 resolve 函数。


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 之外的能力,使用户能够进行跨链交易。

24.png

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


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


荷兰拍卖竞价?


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


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

24.png

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 这样的平台现在可以提供无缝的跨链交易,改善流动性,降低成本,并创建更高效的生态系统。

声明:本网站所有相关资料如有侵权请联系站长删除,资料仅供用户学习及研究之用,不构成任何投资建议!