作者:NicLin,imTokenLabs資深區塊鏈工程師
本文受眾:區塊鏈開發者、對Rollup有所了解的區塊鏈愛好者
本篇是RollupBridge介紹系列的第六篇。
OrbiterFinance和這系列介紹過的HopProtocol很相似,兩者都透過Rollup本身和L1之間資訊傳遞的功能來達到跨L2轉賬的安全性:只要Rollup本身及其L1<->L2訊息傳遞的功能正常,就能確保使用者轉賬的安全性,而不需要去相信validator不會作惡。
而HopProtocol和OrbiterFinance主要的差異在于,Hop仰賴合約送出的訊息能夠正確地被relay到L1及目標L2,Orbiter則仰賴L2的交易能夠正確在L1被讀取。而他們的共同點則是有challenge機制,平常預期交易都是合法的,但當有人造假交易或是拒絕完成交易時,一定能夠拿出證據證明,并懲罰造假的人。
概念來源
Hop和Orbiter的概念其實都來自于Vitalik在ethresearch的一篇文章,這篇文章介紹的是如何在只有RollupB支援智能合約功能時能夠完成從RollupA轉賬到RollupB的操作。大致上的運作方式是:使用者在RollupA轉賬給流動性提供者,Maker在RollupB上轉賬給使用者。如果Maker裝死,則使用者可以在RollupB上的合約申請challenge,并提交自己在RollupA轉賬給Maker的交易證明,證明自己在RollupA的確有轉賬給Maker。
隱私數據驗證協議zkPass上線Scroll測試網:9月7日消息,隱私數據驗證協議zkPass已上線Scroll測試網。用戶可在領取測試代幣后通過官方網站安裝zkPass TransGate并進行生成零知識證明測試。[2023/9/7 13:24:45]
注:這會需要RollupB能夠讀取到RollupA的區塊或交易記錄。
而Orbiter和當初概念不一樣的地方就在于當Maker裝死、使用者要challenge的時候,實際接受challenge并驗證交易的合約不是在RollupB上,而是在L1。因為要能在RollupB上驗證交易,表示RollupB一定要支援智能合約。但如果思考一下就會發現,如果Rollup的資訊都會寫到L1,而L1又有支援智能合約的話,那就干脆直接統一在L1驗證交易就好了!
所以Orbiter實際上不需要Rollup支援智能合約,這也讓Orbiter能夠支援比Hop還多的Rollup。
注:Hop支援的Rollup都必須要能支援智能合約。
架構
如同上面講到的,Orbiter在Rollup上不需要有合約,但在L1上它需要針對每個Rollup去寫相對應的SPV合約,SPV合約的功能就是證明一筆交易存在在該Rollup的區塊或交易記錄里。
另外在L1上的合約還會包含MakerDeposit合約及EventBinding合約
MakerDeposit合約負責管理Maker的押金,如果使用者challenge成功,會從Maker的押金中補償給使用者。EventBinding合約負責驗證使用者在RollupA送出的交易,包含驗證交易格式是否正確,并且它會算出Maker在RollupB「應該」要送出的交易的格式內容。注:會說「應該」是因為Maker有可能會裝死。如果今天Maker被challenge了,他就要提出證據證明他在RollupB上真的有轉錢給使用者,而這筆轉錢給使用者的交易的交易內容就必須要和EBC算出的TargetTx的內容一樣。底下是官方提供的流程圖,SourceNetwork是RollupA、TargetNetwork是RollupB,ChainX則是L1。圖中左邊虛線包起來的部分會是正常的交易流程:Maker在RollupB上如實轉錢給使用者,皆大歡喜;右邊虛線包起來的部分則是challenge的過程,步驟比較繁瑣。
Scroll 發布在 Scroll 主網部署 Aave V3 的提案:5月31日消息,Scroll 發布在 Scroll 主網部署 Aave V3 最小可行產品(MVP)版本的提案。提案顯示,Scroll 將于 8 月初上線并計劃將 Aave V3 作為其主網上首批 DeFi DApp 之一。最初部署的版本將支持 WETH、USDC 和 wstETH 三種抵押資產和 USDC 一種可借入資產。[2023/5/31 11:50:53]
流程
正常情況
使用者到MDC合約確認Maker資訊,包含押金數量、收取的手續費高低,及透過過往歷史看到的Maker的表現使用者在RollupA轉錢給MakerMaker偵測到RollupA有人成功轉錢給他Maker把SourceTx喂進去EBC合約,算出TargetTx的內容,例如TargetTx轉給使用者的金額會是扣掉保留給自己的手續費的金額不正常情況
接續自使用者在RollupA轉錢給Maker之后,Maker沒有在時限內在RollupB轉錢給使用者
使用者首先先到RollupA的SPV合約證明SourceTx的存在,這個proof會存在SPV合約的storage,等待MDC合約來查詢使用者接著到MDC合約申請仲裁MDC合約收到仲裁申請后會去SPV合約拿SourceTx的proof,并請EBC合約驗證SourceTx的有效性,都確認沒問題后就開始倒數,等Maker來回應如果Maker過了一段時間都沒有來回應,則使用者可以觸發MDC合約作出仲裁,在L1上完成TargetTx,從Maker的押金轉給使用者,其中會包含補償金手續費
安全機構:幣安在Curve發起的將wBETH添加到Gauge Controller提案存在潛在風險:5月4日消息,據區塊鏈安全機構 Supremacy 監測,幣安在 Curve 發起的將 wBETH 添加到 Gauge Controller 的提案存在一個潛在風險,BNBChain 平臺的 WrapTokenV1BSC 合約中有一個特性可以轉移所有 ETH Reserve,這是一個單簽名 EOA 賬戶,這意味著私鑰泄露或內部作惡可能會導致非常嚴重的后果。
幣安反饋該賬戶的私鑰由財務部門控制,具有一定的安全性,因此可以降低風險。但 Supremacy 仍然認為在代碼層面存在中心化風險。[2023/5/4 14:43:04]
Maker在存押金到MDC合約時,要指定他會收取的手續費比例,所以TargetTx轉的金額會以MDC合約里記錄的手續費為準,例如假設Maker手續費指定為1%,使用者在RollupA送1Ether到Maker地址,則Maker應該要在RollupB送0.99Ether給使用者。
如果被challenge,Maker要提供TargetTx到RollupB的SPV合約。如果Maker轉錯轉成0.98Ether,則Maker要自己認賠,因為EBC合約算出來TargetTx里轉的金額就一定要是0.99Ether。
Maker押金
為了避免出現多個使用者同時轉錢給Maker,導致Maker因為其押金小于總共收到的金額所以選擇裝死的情況,Orbiter有針對不同Rollup訂出不同押金規則:
ZK Rollup 訂單簿 DEX ZigZag 疑似已在以太坊上部署“ZZ”代幣合約,總量 1 億枚:6月20日消息,ZK Rollup 訂單簿 DEX ZigZag 疑似已在以太坊上部署代幣“ZZ”的智能合約,總量 1 億枚。此前 ZigZag 發推“24th June”,疑似暗示代幣發行的相關時間節點。
此前報道,6 月 14 日 ZigZag 在 GitHub 上提交代幣源代碼。[2022/6/20 4:39:45]
1.針對支援合約功能的Rollup,我們可以把一個Rollup區塊拆成更小的單位slot。
假設可以拆成5個slot,那Maker抵押的押金就是5倍的limit。limit是協議訂的最高的轉賬金額上限。2.針對不支援合約功能的Rollup,則要看那個Rollup一個區塊最高可容納多少筆交易。
例如zkSync1.0的TPB約是100,那Maker抵押的押金就是100倍的limit。這兩個規則都可以看出,Orbiter為了防止Maker收到大于其押金金額的轉賬而有動機選擇裝死的情況,它參考的依據是一個區塊最多可以塞多少筆交易,并假設最差的情況就是剛好一個區塊塞滿的交易都是轉賬給同一個Maker的交易,這種情況Maker的押金剛好能夠cover所有的轉賬請求。
MakerAPY
這個鏈接里有Orbiter團隊利用過去一個月的數據來估算Maker的APY:
可以看到,如果將這段時間的平均轉賬金額當作limit的話,在不同Rollup的TPB對應到的不同押金數量。再搭配上這段時間的流動性總額及日均手續費獲利,可以算出預期的APY。
zkTube Labs:在跨Rollup解決方案中發現了重大突破:據zkTube官方Twitter公布,zktube.io測試網絡上線時間于2021年4月27日UTC 21:00點,暫未獲得ETP(Early Tester Plan)與Angel Rights計劃細節。zkTube Labs表示在跨Rollup解決方案中發現了重大突破,而測試網上線之前尚未開放任何有關ZKT額度,據悉,此前場外ZKT到達3USDT。[2021/4/24 20:54:19]
可能的問題
不支援指定接收地址
Orbiter目前還不支援指定RollupB的接收地址,如果要支援指定接收地址,會需要挪用Rollup交易里其他欄位。像是目前Orbiter就挪用轉賬金額的最小的幾個位元來當作不同Rollup的識別碼。
經濟激勵機制尚不完整
使用者要challengeMaker是不需要放押金的,表示使用者challenge的成本很小,這是否會讓使用者有動機每次都去challengeMaker,只要Maker忘記回應challenge或是Maker轉賬完就離線,那使用者就有機會獲得額外的報酬。
但引入challenger押金的機制也會有一些問題,像是
使用者必須要在L1有錢才可以challenge而且Orbiter的補償金是固定的,不像Hop的challenge機制里獎金和金額成比例另外Hop里會有第三方有經濟動機成為challenger,但在Orbiter里只有使用者自己才有動機去challenge,因為那筆轉賬會影響的只有使用者自己而已,不像Hop里造假影響的會是其他Bonder押金機制針對極端情況的處理還不完整
押金的參考依據是一個區塊最多能塞下幾筆交易,再假設最糟情況是一個區塊都是轉賬給同一個Maker,所以Maker的押金是TPB*limit。
但這只要有交易還在pending中、沒被完成,就能繞過這個押金機制的防護,因為pending中的交易是在之前的區塊,如果在有pending交易的情況下出現最糟情況?-?區塊里大家同時轉賬給該Maker,則這時候Maker收到的總金額就會超過他的押金,他就有動機裝死了。
我們可以反過來請使用者在看到一個Maker有pending交易時,先不要動作,等到pending交易都完成后再轉賬給Maker。但第一個問題是如果有很多人同時要透過同一個Maker,使用者會不知道要等多久。第二個問題是如果使用者都等待其他人的交易處理完才轉賬,那表示基本上一個區塊就只會有一個轉賬,那這樣設置TPB*limit的押金機制就沒有意義了。
不過這其中當然還有可以更細致的調整可以嘗試,例如依照使用者的風險承擔程度,去決定當前pending金額占Maker押金多少百分比的情況下,使用者愿意送出交易。就看未來Orbiter團隊會怎么設計。
如果要接上的Rollup可以接受InvalidTx,且要支援nativeasset以外的轉賬,會有挑戰性
針對會收入InvalidTx的Rollup,而且要轉賬的不是nativeasset而是ERCtokens時,會有點棘手,因為這種情況下協議不只要能證明交易存在,還要能證明執行成功,因為交易存在不等于交易執行成功,就像當前在區塊鏈你可以看到失敗的交易還是會被收入到區塊里面。
如果不證明交易執行成功會發生什么事?攻擊者可以做一筆InvalidTx夾帶在其他使用者的ValidTx后,然后去challengeMaker。
注:InvalidTx和ValidTx的轉賬內容一樣,只是攻擊者余額不夠所以交易會失敗。
考慮以下三種驗證機制
1.如果協議像當前的設計,只驗證交易存在、發生過。那攻擊者只要證明InvalidTx被收錄在Rollup的區塊里就好,challenge一定可以成功,表示Maker要平白無故賠錢給攻擊者。
所以我們除了驗證交易存在,還要驗證state的變化,確保Maker的余額有增加。
2.協議除了驗證交易存在,還驗證區塊前后的state變化,確認Maker的余額是否真的增加了。但攻擊者這時候只需要將InvalidTx和使用者的ValidTx夾帶在同一個區塊就可以,因為協議單靠區塊前后state變化,分不出Maker余額增加是因為使用者的ValidTx還是攻擊者的InvalidTx。
3.協議除了驗證交易存在之外,還要能驗證交易前后的state變化。如此協議才能確認交易真的有導致Maker的余額增加。
加入3.這樣的驗證機制除了會更復雜之外,這會需要Rollup本身有commit每一筆交易的post-stateroot。如果沒有的話,就只能退而求其次,在那個Rollup上只開放nativeasset的轉賬,因為nativeasset的轉賬失敗不會被收錄到區塊里。
Hop和Orbiter比較
Orbiter能夠支援沒有智能合約功能的RollupOrbiter架構會比Hop簡單,合約也比Hop少很多Orbiter主要只會focus在nativeasset的轉賬,Hop則是除了nativeasset外,也能支援ERCtoken轉賬Hop需要仰賴AMM有足夠的流動性,否則除了Bonder向使用者收的手續費外,AMM的價格太差還會導致使用者換不到或損失更多錢極端情況下,Orbiter使用者可能因為Maker裝死、押金也不夠付,所以拿不到錢,但Hop只要Rollup運作正常,使用者就一定能拿到該拿的錢Orbiter的Maker的在L1的押金是沒辦法挪作他用的,而且會是一筆不小的金額,而Hop對Bonder則沒有這個要求,除非真的發生challenge風險提示:本文內容均不構成任何形式的投資意見或建議。imToken對本文所提及的第三方服務和產品不做任何保證和承諾,亦不承擔任何責任。數字資產投資有風險,請謹慎評估該等投資風險,咨詢相關專業人士后自行作出決定。
Tags:ROLLROLMAKEMakerroll幣是什么roll幣能出泰沙拉克嗎maker幣什么意思makerdao官網
Gate.iowilllaunchaDailySharkFinSpecialproductunderUSDTwithanannualizedyieldof3%~25%.
1900/1/1 0:00:00親愛的ZT用戶: ZT創新板即將上線WALLET,並開啟WALLET/USDT交易對。具體上線時間如下: 充值:已開啟; 交易:2022年4月8日18:00; WALLET 韓國ZTX與Open.
1900/1/1 0:00:004月13日消息,元宇宙公司InfiniteReality以4.7億美元對價收購電子競技公司ReKT,收購款將全數由InfiniteReality股票支付.
1900/1/1 0:00:00親愛的ZT用戶: ZT創新板即將上線POWR,並開啟POWR/USDT交易對。具體上線時間如下: 充值:已開啟; 交易:2022年4月13日18:00; POWR 項目簡介:PowerLedge.
1900/1/1 0:00:00撰文:0x21&0x555,律動BlockBeats4月初,Azuki所帶來的空投,又一次點燃了市場的情緒,以Azuki、CloneX為首的藍籌NFT項目又迎來了一波的上漲.
1900/1/1 0:00:00在NFT市場獲利往往與很多因素相關。當你考慮是否要購買一個10K項目時,除了項目本身,交易行為,交易時機,以及交易金額都至關重要.
1900/1/1 0:00:00