一套能夠即時(但限比率)存入提取的Optimistic Bridge 設計
概述
概述
概述
方案前提
在本文中,我們提出一套在兩個基於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 中沒有受到挑戰。
示例(好的情況)
用戶想要將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 的情況)
在CHALLENGE_PERIOD 內,驗證者捕獲惡意鑄造者並以多數票在BSC 上向鑄幣者發起Challenge。
擴展
擴展
擴展
擴展
在目標鏈上使用Native Token 而不是Wrapped Token
如果目的鏈與源鏈具有相同的原生代幣(例如,USDT 在多條鏈上發行),我們可以使用原生代幣作為抵押品。在跨鏈轉移代幣時,鑄幣者不會鑄造wrapped 代幣,而是在目標鏈合約中提取代幣,代幣可能來自:
本地鎖定的原生代幣(並在另一條鏈上鑄造/ 提取)
抵押品,即通過抵押品提供流動性。
如果目標鏈的原生代幣用盡,混合解決方案可以同時支持目標鏈上的原生代幣和wrapped 代幣:
如果在目標鏈上有足夠的流動性。只提取原生代幣用於跨鏈轉移;
如果沒有,鑄幣者可以提取原生代幣,然後通過鑄造wrapped 代幣補足其餘部分。
在混合解決方案中,wrapped 代幣可以
只要有足夠的流動性,就可以在本地轉換為原生代幣;或者
按照我們提出的方法,轉移到另一條鏈作為原生代幣或在另一條鏈上wrapped 代幣的替代品。
其他擴展
初始Wrapped Token 轉移。由於鑄幣者的抵押品可能沒有wrapped 代幣,我們仍然可以使用兩步機製或多數投票來創建這些初始包裝的代幣。
支持多鏈。鑄幣者可以監聽多條鏈,只要在任何一條鏈上發現相應的鎖定/ 轉移事件,就可以進行鑄造。
大額轉賬。兩步請求/ 挑戰機制仍然可以使用,而鑄幣者可以不斷鑄幣,直到滿足大轉移。
相似
避免Gas War。如果多個鑄幣者想要在源鏈上鑄幣一個鎖定/ 轉移事件,用戶可以為跨鏈轉移指定一個首選鑄幣者,並且只有首選鑄幣者才能在PREFERRED_MINT_PEROID 內鑄幣(例如,30 分鐘)


