作者: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
尊敬的Tbit用戶: Tbit將于2022年4月15日上線代幣1INCH、DODO,屆時將開通1INCH/USDT、DODO/USDT幣幣交易對.
1900/1/1 0:00:00DearValuedUsers,HuobiGlobalwillbelaunchingdepositeventsfor?NYM.Makeyourdepositstoearnhigh-yieldin.
1900/1/1 0:00:004月15日消息,數字資產投資平臺SymphonyDigital宣布其首支基金完成4000萬美元募集,AnimocaBrands參投.
1900/1/1 0:00:00DearValuedUsers,CandyDropwilllaunchHOTCROSS&ATSonApril14.
1900/1/1 0:00:00原文標題:StateofUniswapQ12022原文作者:JerrySun,Messari研究員原文編譯:iambabywhale.eth由于從2021年第四季度開始市場對加密貨幣和NFT的興.
1900/1/1 0:00:00Period:13:00(UTC)onApr12-13:00(UTC)onApr19,2022HowtoParticipate:Clickthebuttonatthetoptoparticipa.
1900/1/1 0:00:00