以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads
首頁 > USDC > Info

Rollup Bridge 介紹(六):Orbiter Finance_ROL:ROLL

Author:

Time:1900/1/1 0:00:00

作者: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。

Celer與StarkWare合作開發Layer2.finance的ZKRollup版本:據官方博客文章消息,以太坊二層擴容項目Celer Network宣布與零知識證明研究機構StarkWare達成合作,雙方將為擴容方案Layer2.finance開發基于零知識證明的ZKRollup版本。Layer2.finance的v0.1版本最近在以太坊主網啟動,借助了Celer基于Optimistic Rollup的解決方案。[2021/4/28 21:05:02]

注:這會需要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的區塊或交易記錄里。

二層解決方案Cartesi擬于二季度前在測試網上實施擴容方案Cartesi Rollups:基于Layer2Linux的基礎架構平臺Cartesi在發布的2021年路線圖中表示,計劃在2021年第二季度前在測試網上實施Cartesi Rollups,下半年將發布Rollups聚合服務以及Rollups驗證者市場,并將發布可在主網上實現Cartesi Rollups的DescartesV2.0。DescartesSDK使開發人員可以使用Linux操作系統的所有軟件工具來構建計算密集型DApp,借助SDK,DApp可以在成熟的Linux環境中以脫鏈方式運行這些計算。[2021/2/4 18:52:15]

另外在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的過程,步驟比較繁瑣。

CelerNetwork現已發布CelerHybridRollupTestnet內部測試版:Layer2擴容項目CelerNetwork(CELR)宣布現已在以太坊Ropsten測試網上激活CelerHybridRollupTestnet的內部測試版。Celer側鏈采用混合架構,通過針對dApp的委托權益證明(DPoS)共識來提供側鏈安全性,并通過針對特定用途(如代幣轉移)的Rollup功能來加強主鏈安全性。該測試網通過權威證明(PoA)側鏈支持上述混合匯總(HybridRollup)功能,不過,目前尚未與layer1委托權益證明(DPoS)合約集成,因此目前沒有質押或治理測試。Celer側鏈的參與者可以分為多個角色,分別為用戶、驗證者、委托人和Rollup驗證器。下一步CelerNetwork將致力于使HybridRollup側鏈與layer1DPoS合約集成。[2020/7/21]

流程

正常情況

使用者到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的押金轉給使用者,其中會包含補償金手續費

IoTeX基金會已將IOTX總供應量的12%存入Roll-DPoS獎勵池:據官方消息,IoTeX基金會已按照原計劃將IOTX總供應量的12%存入Roll-DPoS獎勵池。去年啟動主網時,已將IOTX總供應量的2%存入該獎勵池。今天,IoTeX基金會已將IOTX的剩余10%存入該獎勵池。[2020/3/18]

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訂出不同押金規則:

1.針對支援合約功能的Rollup,我們可以把一個Rollup區塊拆成更小的單位slot。

假設可以拆成5個slot,那Maker抵押的押金就是5倍的limit。limit是協議訂的最高的轉賬金額上限。2.針對不支援合約功能的Rollup,則要看那個Rollup一個區塊最高可容納多少筆交易。

動態 | 報告:以太坊可通過ZK-Rollup達到Visa的TPS:據U.today消息,以太坊基金會合作初創公司Iden3發布了有關ZK-Rollup功能如何提高以太坊網絡速度的報告。報告指出,大規模采用時低吞吐量被認為是最嚴重的瓶頸,而ZK-Rollup功能將允許在每個以太坊區塊中驗證更多交易。Visa網絡目前平均為2000 TPS,以太坊目前支持大約30 TPS,但是隨著ZK-Rollup的實施,這個數字可能會激增6300%。因此,這一突破并非完全不可能。[2019/12/15]

例如zkSync1.0的TPB約是100,那Maker抵押的押金就是100倍的limit。這兩個規則都可以看出,Orbiter為了防止Maker收到大于其押金金額的轉賬而有動機選擇裝死的情況,它參考的依據是一個區塊最多可以塞多少筆交易,并假設最差的情況就是剛好一個區塊塞滿的交易都是轉賬給同一個Maker的交易,這種情況Maker的押金剛好能夠cover所有的轉賬請求。

MakerAPY

這個鏈接里有Orbiter團隊利用過去一個月的數據來估算Maker的APY:

可以看到,如果將這段時間的平均轉賬金額當作limit的話,在不同Rollup的TPB對應到的不同押金數量。再搭配上這段時間的流動性總額及日均手續費獲利,可以算出預期的APY。

可能的問題

不支援指定接收地址

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:ROLLROLMakerMAKEroll幣能出泰沙拉克嗎CoinControllerCashmakerdao代幣MakersPlace

USDC
Tbit幣幣區新增 1INCH /USDT、DODO/USDT 交易對_BIT:TBI

尊敬的Tbit用戶: Tbit將于2022年4月15日上線代幣1INCH、DODO,屆時將開通1INCH/USDT、DODO/USDT幣幣交易對.

1900/1/1 0:00:00
Enjoy Up to 400% APY on NYM with Huobi Earn_Huobi:GLO

DearValuedUsers,HuobiGlobalwillbelaunchingdepositeventsfor?NYM.Makeyourdepositstoearnhigh-yieldin.

1900/1/1 0:00:00
Symphony Digital宣布其首支基金完成4000萬美元募集,Animoca Brands參投_MET:NDS

4月15日消息,數字資產投資平臺SymphonyDigital宣布其首支基金完成4000萬美元募集,AnimocaBrands參投.

1900/1/1 0:00:00
【Token Airdrop Event】CandyDrop Will Launch HOTCROSS&ATS on April 14_Huobi:Huobi XTZ

DearValuedUsers,CandyDropwilllaunchHOTCROSS&ATSonApril14.

1900/1/1 0:00:00
Messari:回顧Uniswap一季度市場表現與進展_MES:uniswap幣不見了

原文標題:StateofUniswapQ12022原文作者:JerrySun,Messari研究員原文編譯:iambabywhale.eth由于從2021年第四季度開始市場對加密貨幣和NFT的興.

1900/1/1 0:00:00
Brand-New Event: Trade TLM to Share 28,000USDT Prize Pool!

Period:13:00(UTC)onApr12-13:00(UTC)onApr19,2022HowtoParticipate:Clickthebuttonatthetoptoparticipa.

1900/1/1 0:00:00
ads