一套能够即时(但限比率)存入提取的 Optimistic Bridge 设计

avatar
TT
3年前
本文约1592字,阅读全文需要约2分钟
可以用于任意两个基于 EVM 的 Layer1 协议之间进行跨链存入提取,操作可立即完成且不要求两个协议间使用相同的共识。

本文是 QuarkChain 创始人兼 CEO 周期博士在 ethresear.ch 上提出的可即时存入提取的 Optimistic 跨链桥方案,可以用于任意两个基于 EVM 的 Layer1 协议之间进行跨链存入提取,操作可立即完成且不要求两个协议间使用相同的共识。其基本设计思想在于,满足一定前提条件(有质押且可信)时,允许所有人无限铸造标的 Token。

概述

在本文中,我们提出一套在两个基于 EVM 的链之间的即时 Optimistic ERC20 传输(即桥)方案。而不是用户必须等待很长的挑战时间的,在大多数 Optimistic 解决方案中(例如,主网和 POS 链之间的 Optimistic 桥)使用的两步机制(请求 / 挑战)。这个方法可以立即完成对目标链的操作(例如,铸造 Wrapped Token 或从加密箱合约中提取 Token)。此外,该方法与链共识无关,这意味着可以轻松扩展以桥接多个 EVM 链上的资产,而不管它们的共识如何。

方案前提

  • 带有代币 T 的源链 S

  • 带有 Wrapped Token W 的目标链 D

  • 想要将源链 S 上的代币 T 以 1:1 的比例兑换成目标链 D 上的代币 W 的用户

  • 铸造者将一定数量的代币 W 作为抵押品放在目标链 D 上并为用户铸造代币 W

基本设计理念

其基本思想是允许任何人成为能够无限铸造代币 W 的铸造者,只要能满足:

  • 最近 CHALLENGE_PERIOD 铸造价值的总和 <= 铸造者锁定在目标链 D / COLLATERAL_RATIO 上的抵押品价值;以及

  • 铸币者在最近的 CHALLENGE_PERIOD 中没有受到挑战。

示例(好的情况)

用户想要将 USDTETH (来源)转移到 BSC (目标)。假设 COLLATERAL_RATIO (抵押率)= 2,CHALLENGE_PERIOD (挑战期)= 1 天。铸币者在 BSC 上锁定了 100k Warpped USDT 作为抵押品,这意味着它可以在 BSC 的任何 1 天窗口中铸造最多 50k USDT。

  • 在时间 0,用户 1 从 ETH 锁定 / 转移 20k USDT,铸币者监测到事项并在 BSC 上向用户铸造 20k WUSDT (此时剩余配额为 30k)。

  • 在时间 12h,用户 2 从 ETH 锁定 / 转移 30k USDT,铸币者监测到事项并在 BSC 上向用户铸造 30k WUSDT (此时剩余配额为 0)。

  • 在时间 18h,用户 3 从 ETH 锁定 / 转移 10k USDT,铸币者监测到事项,但是,它无法铸造任何 WUSDT,因为它在最近的 1 天窗口中已经铸币了 50k。

  • 在时间 24.1h,铸币者在 BSC 上向用户 3 铸造 10k USDT (此时剩余配额为 10k)。

示例(有 Challenge 的情况)

假设 PENALTY_RATE (罚金率) = 1

  • 在时间 0,用户 1 从 ETH 锁定 / 转移 20k USDT。铸币者监测到事项,然而,它铸造了 30k WUSDT,即额外的 10k WUSDT 铸造给了 BSC 上的用户。

  • 在 CHALLENGE_PERIOD 内,验证者捕获恶意铸造者并以多数票在 BSC 上向铸币者发起 Challenge。

  • 挑战成功后,验证者将获得从铸币者抵押品中以罚金率 PENALTY_RATE * 10k = 10k WUSDT 作为奖励,并从铸币者的抵押品中燃烧 10k WUSDT 以平衡额外铸造出的 10k WUSDT。这样一来,铸造者将只剩 100k - 20k = 80k WUSDT 作为剩余抵押品(并且可以在任何 CHALLENGE_PEROID 中继续铸造 40k WUSDT)。

扩展

在目标链上使用 Native Token 而不是 Wrapped Token

如果目的链与源链具有相同的原生代币(例如,USDT 在多条链上发行),我们可以使用原生代币作为抵押品。在跨链转移代币时,铸币者不会铸造 wrapped 代币,而是在目标链合约中提取代币,代币可能来自:

  • 本地锁定的原生代币(并在另一条链上铸造 / 提取)

  • 抵押品,即通过抵押品提供流动性。

如果目标链的原生代币用尽,混合解决方案可以同时支持目标链上的原生代币和 wrapped 代币:

  • 如果在目标链上有足够的流动性。只提取原生代币用于跨链转移;

  • 如果没有,铸币者可以提取原生代币,然后通过铸造 wrapped 代币补足其余部分。

在混合解决方案中,wrapped 代币可以

  • 只要有足够的流动性,就可以在本地转换为原生代币;或者

  • 按照我们提出的方法,转移到另一条链作为原生代币或在另一条链上 wrapped 代币的替代品。

其他扩展

  • 初始 Wrapped Token 转移。由于铸币者的抵押品可能没有 wrapped 代币,我们仍然可以使用两步机制或多数投票来创建这些初始包装的代币。

  • 支持多链。铸币者可以监听多条链,只要在任何一条链上发现相应的锁定 / 转移事件,就可以进行铸造。

  • 改变验证者集设置。我们可以在开始时固定使用一套具有良好信誉的验证者集,但可以进一步使用由现有 Optimistic 桥开发的验证器设置更改协议。

  • 大额转账。两步请求 / 挑战机制仍然可以使用,而铸币者可以不断铸币,直到满足大转移。

  • 避免 Gas War。如果多个铸币者想要在源链上铸币一个锁定 / 转移事件,用户可以为跨链转移指定一个首选铸币者,并且只有首选铸币者才能在 PREFERRED_MINT_PEROID 内铸币(例如,30 分钟)

相似

  • 它与具有不同“借贷”约束的借贷协议(例如 Compound/Aave)有一些相似之处。

原创文章,作者:TT。转载/内容合作/寻求报道请联系 report@odaily.email;违规转载法律必究。

ODAILY提醒,请广大读者树立正确的货币观念和投资理念,理性看待区块链,切实提高风险意识;对发现的违法犯罪线索,可积极向有关部门举报反映。

推荐阅读
星球精选