# 一套能够即时（但限比率）存入提取的Optimistic Bridge 设计

By [QuarkChain 中文](https://paragraph.com/@quarkchain) · 2022-01-26

---

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

### 概述

在本文中，我们提出一套在两个基于 EVM 的链之间的即时Optimistic ERC20 传输（即桥）方案。而不是用户必须等待很长的挑战时间的，在大多数Optimistic解决方案中（例如，[主网和 POS 链之间的Optimistic桥](https://ethresear.ch/t/optimistic-bridge-between-mainnet-and-a-pos-chain/7965)）使用的两步机制（请求/挑战）。这个方法可以立即完成对目标链的操作（例如，铸造 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 中没有受到挑战。
    

### 示例（好的情况）

用户想要将 USDT 从 ETH（来源）转移到 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）。
    

### 示例（最坏情况）

假设 PENALTY\_RATE = 1

*   在时间 0，铸币者在 BSC 上恶意铸币给自己50k WUSDT。
    
*   在 CHALLENGE\_PERIOD 内，验证者捕获恶意铸造者并以多数票在 BSC 上向铸币者发起 Challenge。
    
*   挑战成功后，验证者将从铸币者的抵押中获得 PENALTY\_RATE \* 50k = 50k WUSDT 作为惩罚奖励，并从铸币厂抵押品中销毁 50k WUSDT 以平衡恶意铸造的 50k WUSDT。因此，铸币厂将只有 100k - 100k = 0 WUSDT 作为剩余抵押品。
    

### 扩展

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

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

*   本地锁定的原生代币（并在另一条链上铸造/提取）
    
*   抵押品，即通过抵押品提供流动性。
    

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

*   如果在目标链上有足够的流动性。只提取原生代币用于跨链转移；
    
*   如果没有，铸币者可以提取原生代币，然后通过铸造 wrapped 代币补足其余部分。
    

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

*   只要有足够的流动性，就可以在本地转换为原生代币；或者
    
*   按照我们提出的方法，转移到另一条链作为原生代币或在另一条链上wrapped代币的替代品。
    

其他扩展
----

*   初始 Wrapped Token 转移。由于铸币者的抵押品可能没有 wrapped 代币，我们仍然可以使用两步机制或多数投票来创建这些初始包装的代币。
    
*   支持多链。铸币者可以监听多条链，只要在任何一条链上发现相应的锁定/转移事件，就可以进行铸造。
    
*   改变验证者集设置。我们可以在开始时固定使用一套具有良好信誉的验证者集，但可以进一步使用由现有Optimistic桥开发的验证器设置更改协议。
    
*   大额转账。两步请求/挑战机制仍然可以使用，而铸币者可以不断铸币，直到满足大转移。
    
*   避免Gas War。 如果多个铸币者想要在源链上铸币一个锁定/转移事件，用户可以为跨链转移指定一个首选铸币者，并且只有首选铸币者才能在 PREFERRED\_MINT\_PEROID 内铸币（例如，30 分钟）
    

### 相似

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

---

*Originally published on [QuarkChain 中文](https://paragraph.com/@quarkchain/optimistic-bridge)*
