本文是QuarkChain创始人兼CEO周期博士在ethresear.ch上提出的可即时存入提取的Optimistic跨链桥方案,可以用于任意两个基于EVM的Layer1协议之间进行跨链存入提取,操作可立即完成且不要求两个协议间使用相同的共识。其基本设计思想在于,满足一定前提条件时,允许所有人无限铸造标的Token。
概述
在本文中,我们提出一套在两个基于EVM的链之间的即时OptimisticERC20传输方案。而不是用户必须等待很长的挑战时间的,在大多数Optimistic解决方案中使用的两步机制。这个方法可以立即完成对目标链的操作。此外,该方法与链共识无关,这意味着可以轻松扩展以桥接多个EVM链上的资产,而不管它们的共识如何。
方案前提
带有代币T的源链S
带有WrappedTokenW的目标链D
想要将源链S上的代币T以1:1的比例兑换成目标链D上的代币W的用户
铸造者将一定数量的代币W作为抵押品放在目标链D上并为用户铸造代币W
基本设计理念
其基本思想是允许任何人成为能够无限铸造代币W的铸造者,只要能满足:
最近CHALLENGE_PERIOD铸造价值的总和<=铸造者锁定在目标链D/COLLATERAL_RATIO上的抵押品价值;以及
铸币者在最近的CHALLENGE_PERIOD中没有受到挑战。
示例
用户想要将USDT从ETH转移到BSC。假设COLLATERAL_RATIO=2,CHALLENGE_PERIOD=1天。铸币者在BSC上锁定了100kWarppedUSDT作为抵押品,这意味着它可以在BSC的任何1天窗口中铸造最多50kUSDT。
在时间0,用户1从ETH锁定/转移20kUSDT,铸币者监测到事项并在BSC上向用户铸造20kWUSDT。
在时间12h,用户2从ETH锁定/转移30kUSDT,铸币者监测到事项并在BSC上向用户铸造30kWUSDT。
在时间18h,用户3从ETH锁定/转移10kUSDT,铸币者监测到事项,但是,它无法铸造任何WUSDT,因为它在最近的1天窗口中已经铸币了50k。
在时间24.1h,铸币者在BSC上向用户3铸造10kUSDT。
示例
假设PENALTY_RATE=1
在时间0,用户1从ETH锁定/转移20kUSDT。铸币者监测到事项,然而,它铸造了30kWUSDT,即额外的10kWUSDT铸造给了BSC上的用户。
在CHALLENGE_PERIOD内,验证者捕获恶意铸造者并以多数票在BSC上向铸币者发起Challenge。
挑战成功后,验证者将获得从铸币者抵押品中以罚金率PENALTY_RATE*10k=10kWUSDT作为奖励,并从铸币者的抵押品中燃烧10kWUSDT以平衡额外铸造出的10kWUSDT。这样一来,铸造者将只剩100k-20k=80kWUSDT作为剩余抵押品。
扩展
在目标链上使用NativeToken而不是WrappedToken
如果目的链与源链具有相同的原生代币,我们可以使用原生代币作为抵押品。在跨链转移代币时,铸币者不会铸造wrapped代币,而是在目标链合约中提取代币,代币可能来自:
本地锁定的原生代币
抵押品,即通过抵押品提供流动性。
如果目标链的原生代币用尽,混合解决方案可以同时支持目标链上的原生代币和wrapped代币:
如果在目标链上有足够的流动性。只提取原生代币用于跨链转移;
如果没有,铸币者可以提取原生代币,然后通过铸造wrapped代币补足其余部分。
在混合解决方案中,wrapped代币可以
只要有足够的流动性,就可以在本地转换为原生代币;或者
按照我们提出的方法,转移到另一条链作为原生代币或在另一条链上wrapped代币的替代品。
其他扩展
初始WrappedToken转移。由于铸币者的抵押品可能没有wrapped代币,我们仍然可以使用两步机制或多数投票来创建这些初始包装的代币。
支持多链。铸币者可以监听多条链,只要在任何一条链上发现相应的锁定/转移事件,就可以进行铸造。
改变验证者集设置。我们可以在开始时固定使用一套具有良好信誉的验证者集,但可以进一步使用由现有Optimistic桥开发的验证器设置更改协议。
大额转账。两步请求/挑战机制仍然可以使用,而铸币者可以不断铸币,直到满足大转移。
避免GasWar。如果多个铸币者想要在源链上铸币一个锁定/转移事件,用户可以为跨链转移指定一个首选铸币者,并且只有首选铸币者才能在PREFERRED_MINT_PEROID内铸币
相似
它与具有不同“借贷”约束的借贷协议有一些相似之处。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。