我們聽到了很多關于ZKRollups如何被認為是通用智能合同系統的未來的討論。但基于我們從運行開放、安全、EVM兼容的L2鏈中獲得的實踐經驗,且該L2鏈包含數百個dapps、數十萬個用戶和數百萬個交易,我們對此不予茍同,這篇文章將對此進行解釋。
我們將Arbitrum構建為一個OptimisticRollup網絡,因為我們相信OptimisticRollup是滿足用戶對安全、無須信任、EVM兼容的L2網絡這一現實需求的最佳方式。我們選擇OptimisticRollup系統而不是ZKRollup,是因為OptimisticRollup系統固有的可擴展性和成本優勢;鑒于此,如果讓我們再次做出選擇,我們依然會選擇OptimisticRollup。欲了解其中緣由,請繼續往下讀。
等等!這篇文章的篇幅有多長?
是的,這篇文章很長,而且有些地方很技術性。人們想從他們選擇的鏈中得到什么很簡單,但談到提供這些優勢所需的技術,我們需要詳細說明。我們希望技術社區能夠理解我們的觀點。如果你不想讀完整篇文章(這無可厚非!),這里有一個簡短的概要:
們想要一個可靠地提供安全、進展保證、可見性和快速敲定的區塊鏈網絡——他們希望這條鏈的使用成本很低并且兼容于現有的工具。
通過與ZKRollup進行比較,我們深入研究了OptimisticRollup如何提供上述這些屬性的細節方面。
OptimisticRullup能夠以較低的成本提供用戶想要的這些屬性,因為構建ZK證明有著非常高昂的鏈下成本。
由于ZK證明的構建成本如此高昂,因此完全參與到ZK協議中可能需要專用的硬件設備和/或大規模并行性,從而導致ZKRollup網絡實際上更加中心化。
ZKRollup所聲稱的那些優勢,要么同樣適用于OptimisticRollup,要么要求犧牲重要的安全性或可用性特性。
OptimisticRollup在操作成本上贏得了很大的勝利,因為執行其代碼比計算復雜的加密證明要便宜得多。
讓我們從頭開始
讓我們從以太坊開始講起。以太坊用戶需要通過創建交易來部署智能合約或與智能合約進行交互,你可以通過幾種不同的方式來看待以太坊交易:一方面,你可以將其視為一個不透明的數據塊,但如果你查看其內容,你會發現交易顯然并不只是數據塊;它是一個請求,請求智能合約做某件事情,比如記錄一些信息,轉移一些資產等等。
當一筆交易被發布到以太坊時,會發生兩件重要的事情:首先,交易會被打包,以太坊會對一組經排列的交易達成共識;其次,以太坊執行這些交易,并計算由此產生的狀態更新。
OptimisticRollups與ZKRollups的共同之處
多鏈DeFi管理平臺Krystal已支持Optimism網絡:1月19日消息,多鏈DeFi和NFT管理平臺Krystal已支持Optimism網絡。用戶可以在Optimism網絡上管理投資組合、發送和接收資產、代幣兌換、橋接資產、賺取收益。[2023/1/19 11:20:59]
讓每個以太坊節點執行每筆交易的代價很高(容易造成網絡擁堵和交易成本高昂),而Rollups是一類可以顯著減輕這種負載的可擴展性解決方案,可以顯著減輕這種負載。通過這種方案,交易的實際執行不是在以太坊上完成的,而是轉移到第2層(L2),也即Rollups網絡中。
但等等——Rollups應該是由以太坊保護的。這意味著Rollups需要以太坊以某種方式擔保交易執行的正確性,即使交易發生在L2領土中。那么以太坊如何對Rollups的狀態批準蓋章呢?
簡言之,答案就是:通過使用證明(proofs)。Rollups通過使用專門的證明(proofs)來向以太坊證明其正確性,該證明允許以太坊在不執行交易的情況下驗證其正確性。
OptimisticRollups與ZKRollups的不同之處
這些證明看起來非常神奇:允許以太坊在無需實際執行交易的情況下驗證Rollups的狀態。你可能想知道這些證明是什么樣子的,以及它們在實踐中是如何實現的。這正是不同的Rollups的相互區別之處。
ZKRollups使用有效性證明(validityproofs):ZKRollups依賴于某一方發布簡潔的密碼證明,該證明可以表明該發布者知道這條以特定狀態結尾的區塊鏈的有效性。這要求該證明方需要執行這條鏈,從而才能知道如何構建該證明,然后通過一系列復雜的密碼操作來構造該證明。該證明通過一個鏈上L1合約進行檢查。ZKRollups的有效性證明是簡潔的,而且驗證成本足夠便宜,可以通過一筆以太坊交易來完成。
OptimisticRollups使用一種不同類型的證明:欺詐證明(fraudproofs)。顧名思義,OptimisticRollups網絡是“樂觀的”,因為當OptimisticRollups將更新的狀態發布到以太坊上時,它們不會發布任何證明。在OptimisticRollups網絡中,任何人(節點)都可以發布一個Rollup區塊,其中包含了有關執行了某些交易之后的正確結果的聲明,其他節點在執行這些相同的交易時,如果不同意該節點的主張就可以提出挑戰。一個有效的爭議協議會解決任何分歧,保證正確的那一方將會在該挑戰中獲勝。這些參與方(節點)有很強的動機只發布正確的主張,而不是去挑戰不正確的主張,因此在通常情況下,所有節點就是簡單地執行所有的交易,而證明代碼永遠不需要被調用。這整個過程都是由一個L1合約管理。
Optimism決定淘汰Kovan測試網,計劃在8月15日之前將所有項目遷移至Goerli:7月1日消息,Optimism發推表示,Kovan已經被以太坊社區棄用,為了繼續為生態系統提供穩定的測試網絡,并在合并后與以太坊保持同步,Optimism也決定淘汰Kovan測試網。此外,官方表示,Optimism還創建了一個遷移狀態頁面,該頁面將不斷更新以跟蹤生態系統向Goerli的遷移,Optimism計劃在8月15日之前將所有項目完全遷移到Goerli。[2022/7/1 1:45:00]
那么哪種類型的Rollup更好呢?在本文的其余部分,我們將從幾個維度比較ZKRollups和OptimisticRollups,并解釋為何我們認為未來是屬于OptimisticRollups,以及像Arbitrum這樣的OptimisticRollups本質上有著更好的可擴展性。
OptimisticRollups對比ZKRollups:成本
也許OptimisticRollups和ZKRollups最關鍵的不同之處就是成本。
OptimisticRollups網絡需要其節點簡單地執行合約。比如,如果某個合約執行添加操作,那么網絡中的節點就執行該添加操作。
另一方面,ZKRollups需要生成一個復雜的密碼證明,需要成百上千次昂貴的橢圓曲線運算來將該添加操作包含進證明中。在ZKRollups中,每個合約中的每個指令都會產生這種成本。由于需要對每個指令都生成一個復雜的密碼證明,而不是僅僅執行指令,因此對于ZKRollups而言這是一個固有的成本劣勢,而且這是一個很大的劣勢。
ZKRollups的支持者有時會爭辯說,該解決方案只需要一方創建“證明”,而OptimisticRollups則要求系統有許多節點。但是,如果你正在運行一條規模較大的區塊鏈,無論你使用哪種證明系統,它都會有很多節點。真正的區塊鏈需要很多節點來服務各類活動,比如非變異調用、搜索事件日志、向用戶顯示交易數據、為用戶提供將資金提取回L1(主鏈)所需的數據等等。OptimisticRollups的安全性依賴于這些節點做它們已經需要做的事情——執行交易并追蹤區塊鏈的正確狀態。
另一方面,在ZKRollups中構建昂貴的、基于橢圓曲線的證明是一個非常大的附加成本。如果想要大規模地證明ZKRollups,將需要專用硬件設備或者大規模并行——或者兩者都需要。這都是非常昂貴的。
小結:OptimisticRollups系統有著巨大的固有成本優勢。
OptimisticRollups對比ZKRollups:EVM兼容性
當我們在構建Arbitrum時考慮的一個重要因素是其與EVM(以太坊虛擬機)的兼容性。Arbitrum完全兼容于EVM;它具有相同的RPC接口,并接受與EVM相同的字節碼。這意味著在實踐中,任何為以太坊編寫的代碼都可以在Arbitrum上開箱即用。
跨鏈協議Synapse Protocol已支持Optimism:11月19日消息,跨鏈協議Synapse Protocol宣布支持以太坊二層擴容方案Optimism,用戶可以在Optimism、Arbitrum、Boba Network、以太坊主網之間進行資產跨鏈,支持的跨鏈資產包括ETH、nETH和SYN。除以上網絡,Synapse Protocol還支持BSC、Polygon、Moonriver、Avalanche和Harmony。[2021/11/19 22:03:46]
我們已經運行開放的、兼容EVM的鏈(包括測試網)一年多時間了,我們已經了解到真正兼容于EVM多么具有挑戰性。最初的95%的兼容性并不難實現,但這在實踐中還不夠好,而要做到更好則不僅需要大量的努力工作,還需要一個不礙事的產品架構。
就EVM兼容性而言,ZKRollups系統運行的范圍很廣。一些ZKRollups認為EVM兼容性是是老派的工具,并鼓勵人們學習使用它們自定義的語言。一些ZKRollups系統并不試圖兼容于EVM,當然這對于那些不關心這種兼容性的開發者和用戶來說,這也沒什么問題。
我們并不是說,在一個全新的世界里,EVM兼容性是客觀上最好的東西。但考慮到已經使用EVM的開發者、代碼和開發者工具的數量,我們認為EVM具有很多實際的優勢。想象一下,某個已經部署在以太坊上的項目想要擴展到一個Rollup網絡中,如果需要使用一種新的語言重寫代碼,委托新的安全審計,并維護多個代碼庫,那么這將是非常繁瑣且容易出錯。但即使對于尚未編寫代碼的新項目而言,EVM兼容性也是一個巨大的優勢,因為這允許這些項目使用圍繞EVM的現有代碼、工具和人才庫。
一些ZKRollups項目正在致力于實現兼容EVM的版本,盡管其聲明含糊其辭,我們還不知道迄今為止有發布任何代碼允許人們在ZKRollup上運行EVM合約。當前已經存在的主要ZKRollups系統有著顯著的EVM不兼容性。比如,一個聲稱兼容于EVM的ZKRollup并不能實現ADDMOD、SMOD、MULMOD、EXP、SELFDESTRUCT和CREATE2操作碼;正在考慮取消對XOR、AND和OR的支持;不支持標準交易格式;不支持任何預編譯;且可能會限制單筆交易中的合約調用次數。而且,ZK模型似乎存在根本性的EVM不兼容性,即使在最好的情況下,ZK的EVM兼容性也無法像OptimisticRollups那樣支持完全的兼容性。
值得說明的是,目前存在幾個特定于應用程序的ZKRollup系統的例子,例如Zcash、ZKSync1.0、Loopring。事實上,其中一些系統運行良好。其核心區別在于,它們經過了微調,并針對非常適合ZKRollup實現的特定應用程序進行了特別優化。當前還不存在一個通用的編譯器,以允許人們以兼容的方式從EVM過渡到ZKRollup。雖然有一些團隊聲稱正在對此進行研究,但對于用戶定義的ZK-EVM合約,當前沒有可用的公共代碼或證明成本的基準。根據我們了解的情況和所有可公開獲得的數據,我們認為這會非常昂貴。
OptionRoom與DeFi保險平臺Bridge Mutual達成合作:波卡生態預言機和預測協議OptionRoom宣布與DeFi保險平臺Bridge Mutual達成合作。Bridge Mutual和OptionRoom將通過提供公正的預言機OaaS來檢查被拒絕的索賠,以此支持上訴過程,這使那些認為自己的索賠被不公平拒絕的投保人有機會通過建立額外的信任層,以最公平的方式在Bridge Mutual上尋求保險。[2021/2/25 17:51:27]
小結:只有OptimisticRollups以最小的成本支持完全的EVM兼容性。
OptimisticRollups對比ZKRollups:無須信任的可見性和壓縮
在設計Arbitrum時,我們考慮的一個關鍵屬性是無須信任的可見性(trustlessvisibility)。簡單來說,無須信任的可見性意味著任何人都可以在無需某個中心化的參與方的幫助下查看或獲取區塊鏈的內容。重要的是,這不僅意味著每個人都可以看到偶爾的狀態快照,還意味著每個人都可以看到區塊鏈的完整歷史——即它是如何到達當前狀態的。一個實用的區塊鏈鏈可以讓任何人運行一個節點,它可以支持非突變調用、搜索事件歷史記錄和查看每一筆交易——而不需要依賴一個中心化的數據提供商。無須信任的可見性使之成為可能。
坦率地說,有些ZKRollups系統在可見性方面走了捷徑,并試圖回避它們沒有提供完整區塊鏈功能的事實。當你聽到“壓縮”這個詞時,請小心弄清楚:他們是否說他們正在更有效地編碼鏈的內容(這正是Arbitrum所做的,并且將在我們的Nitro版本發布中做得更好)?或者,他們是在說,部分區塊鏈歷史根本就不會被提供給你,除非一個中心化的數據提供商愿意稍后與你共享?
回想一下,ZKRollups證明其實只證明了“證明者”知道的有效鏈,但“證明”本身不會告訴你那條鏈是什么,即使你有足夠的數據來驗證該“證明”,可能也沒有足夠的數據來重建區塊鏈的歷史。
舉個例子,假設Alice提交了一筆支付給Bob1ETH的交易,很快又出現了Bob提交了一筆支付給Charlie1ETH的連續交易。接下來,你需要驗證一個證明:Alice比以前少了1ETH,Bob的余額沒改變,而Charlie比以前多了1ETH。
但是具體發生了什么?Alice付錢給Bob了嗎?Bob付錢給Charlie了嗎?也許是Alice直接付錢給Charlie,也許是Alice銷毀了1ETH,而Charlie所獲得的1ETH是由其他人支付的,也許這個“其他人”名叫Diana,而不是Bob。如果我們從區塊鏈中尋找Bob的支付證據,但對于一些不提供區塊鏈可見性的ZKRollups來說,根本無法區分并找到Bob支付的交易。
Synthetix啟動以太坊二層擴容方案Optimistic測試網:Synthetix啟動以太坊二層擴容方案Optimistic測試網,這意味著用戶可以在二層網絡上進行快速交易。該測試功能將面向擁有1至2500個SNX的質押者進行,synthetixDAO將每周提供50,000SNX作為參與該測試網的賭注獎勵,該獎勵發放總共持續4周。[2020/9/25]
許多智能合約應用程序所需要的不是僅僅知道某個偶然的檢查點,而是需要了解整條鏈——了解發生了什么以及如何達到最終狀態。ZKRollups有時吹噓自己有著比OptimisticRollups更好的“壓縮”,但它們會隱藏區塊鏈的數據,這樣只有“證明者”知道這并不是壓縮,而是刪除了重要的數據。如果ZKRollup提供商表示他們“不需要”發布整條區塊鏈的歷史,其實他們真正的意思是他們無法保證區塊鏈的可見性,而放棄區塊鏈可見性保證并不是OptimisticRollups愿意做出的妥協。
小結:OptimisticRollups以最小的成本提供無須信任的可見性。
OptimisticRollups對比ZKRollups:無須信任的、及時的最終性(finality)
在評估某個Rollup網絡時,我們需要確定一個關鍵要求,即該Rollup是否提供無須信任的、及時的最終性(finality)。簡單來說,這意味著在你提交交易后,你和其他所有人都應該及時且確定地知道該交易的結果,并且沒有人能夠篡改或撤消該交易。
在我們看來,實現及時的最終性的最佳方法是將交易排序與交易執行分開。排序就是對被提交的交易生產一個敲定的順序,執行就是試圖以該順序來執行這些交易。如果交易執行是確定的(正如在Arbitrum上那樣),那么敲定交易排序就足以敲定結果,因為這些結果就是交易順序的確定性函數。如果每個人都知道交易的順序,那么每個人都可以輕松確定結果。
敲定一個交易順序需要將該順序發布到L1鏈上,并包含足夠的信息以允許任何人自己執行這些交易,以便以無須信任的方式知曉其結果。理想的Rollup是盡可能頻繁地將排序的交易數據發布到L1鏈。
在OptimisticRollups系統中,發布到L1鏈的成本最低,實際上Arbitrum通常會在每一分鐘左右將排序的交易數據發布到L1鏈,為用戶提供快速的最終性(finality)并保證沒有人可以撤消他們的交易。此外,Arbitrum還會每隔一小時左右就產生一個新的OptimisticRollup結果主張(resultassertion),但由于拍下已經被敲定,且執行是確定性的,因此完全不會減慢最終敲定的速度。
原則上,ZKRollups系統也可以按照類似的方式運行;即將交易的排序(可以頻繁發布到L1)與稍后進行的驗證以及偶爾的有效性證明分開。然而,與OptimisticRollups系統發布數據一樣,以這種方式運行的ZKRollups需要將基本相同的數據發布到L1鏈上,但對于上文中討論的(所謂)“壓縮”技術并不支持這么做。ZKRollups為了讓“壓縮”技術起作用,必須在同一筆L1交易中實時證明一系列L2交易的有效性,而且每次發布一批L2交易時都必須這么做。
因此,尋求使用備受吹捧的“壓縮”技術的ZKRollups只有兩個選擇:
1)每分鐘左右發布排序交易和執行證明:這可以保持快速的最終性(finality),但需要每分鐘在鏈下生成ZK證明并在L1鏈上進行驗證。根據實現情況,在區塊鏈鏈上發布ZK證明的成本估計在500,000gas到500萬gas之間。
2)每小時發布排序交易和證明:這種做法雖然可以使ZK證明的檢查成本變得略微合理,但將最終性(finality)的時間會延長到一個小時。在用戶向ZKRollups運營者提交交易和其發布到鏈上之間的時間里,用戶無法保證他們的交易是否會被打包在內,而且只能相信ZKRollups的運營者。
如果你正在構建一個ZKRollup系統,會發現上述兩個選項其實都是不可接受的——第一個成本太昂貴,第二個無法提供及時的最終性。因此,如果你最終會使用與我們在OptimisticRollup(即Arbitrum)中使用的相同類型的定序器(sequencer),并在一個ZKRollup版本的Arbitrum中發布基本上相同的數據。
如果你聽到有人吹捧某個ZKRollup可以將數小時的數據壓縮為一個點,要務必謹慎。如果他們只在很長一段時間結束時發布單點數據,那么這意味著他們在這段時間內沒有提供最終確定性。
小結:出于實際考慮,ZKRollups系統不得不以與OptimisticRollups相同的方式來實現及時的最終性。
OptimisticRollups對比ZKRollups:無須信任的活性
無須信任的活性(trustlessliveness)是指任何人都可以推進系統進程(無須信任的安全屬性可以確保這種進程的正確性)。
OptimisticRollups允許任何節點聲明正確的交易執行。提出該聲明只要求節點執行該鏈的交易,然后存入一筆質押金(stake),當該聲明被協議確認之后可以退還該質押金。
在ZKRollups系統上,進展要求任何節點都可以創建并發布推進區塊鏈狀態所需的ZK證明,但這必須是通過使用任何人都可以獲取的硬件和軟件就能實現,因此必須不能要求構建或購買獨特的專用型硬件,也不能要求進行大規模并行計算。必須有一條在普通的設備上就能構建一個合適的ZK證明的途徑。如果某個ZKRollup提供商無法做到這一點,或者沒有發布用于生成系統證明的代碼,那么該ZKRollup就無法提供無須信任的活性,該系統也就沒有活性保證。他們的系統是中心化的,因為只有擁有專用設備的參與方才能推進系統進程。(目前還不清楚的是那些領先的ZKRollups提供商是否將讓證明對普通用戶可行。)
小結:OptimisticRollups系統更容易提供無須信任的活性。
OptimisticRollups對比ZKRollups:橋接
ZKRollups的優勢領域是與以太坊L1的橋接。OptimisticRollups系統在將資金從Rollup取款至L1方面有一個為期一周的延遲,而ZKRollups則允許在ZK證明發布至L1之后立即實現橋接。在實踐中,這并不是一個很大的差異,因為OptimisticRollups用戶可以使用快速橋接服務,從而實現將資金從L2撤回至L1的低延遲。因此,ZKRollups在這方面的優勢主要是,其用戶可以避免支付橋接服務收取的小額費用(這些服務在費用上將會相互競爭)。這并不是理論上的:制劑室,當前有許多上線的橋接服務,提供從Arbitrum即時取款的服務。
需要強調的是,ZKRollups在橋接方面的優勢非常狹窄:僅限于從L2橋接回以太坊L1。從前(大約是2019年),許多人認為Rollups的推出將很緩慢,且只會有一到兩個上線的dApps,在這樣的情況下,Rollup用戶將會經常發現自己在L1和L2之間來回橋接。但我們并不處于這樣的世界中。Arbitrum擁有一個蓬勃發展的生態系統,其中包含了數百個dApps,范圍覆蓋了整個DeFi領域,且許多用戶正在橋接至Arbitrum并長期留在這個網絡中。此外,在某種程度上,用戶不僅僅是去以太坊,而是跨越多條鏈。他們也在前往其他L1鏈和側鏈,且對于這種直接橋接,ZKRollups對比OptimisticRollups并沒有什么優勢。
小結:ZKRollups系統在橋接至L1方面有一點優勢,但由于快速橋接服務和多鏈使用模式,因此在實踐中這種優勢在很大程度上被減弱。
寫在最后
通過對比OptimisticRollups和ZKRollups,我們認為OptimisticRollups系統是明顯的贏家。OptimisticRollups更便宜,擁有完全兼容EVM和現有的工具,且在實踐中唯一的缺點是在沒有快速橋接服務的情況下橋接至L1較為緩慢。ZKRollups的其他優勢需要犧牲鏈的可見性或最終性時間,我們認為這并不是用戶想要的。
對于ZKRollups系統來說,這些都不太可能改變。兼容于EVM的合約執行的ZK證明將保持著比OptimsticRollups的執行更加昂貴,且實現無須信任的活性、鏈可見性和去中心化的要求也將保持不變。雖然如果情況發生變化,我們也愿意將Arbitrum切換到基于ZKRollup的執行,但我們認為不會。
我們將以一個警告結束。現在有一種趨勢是,人們將Arbitrum今天提供的東西與ZKRollups系統說他們將來會提供的東西進行比較。但這種比較沒有什么意義。如果我們將現有的系統進行比較,就會發現只有像Arbitrum這樣的OptimisticRollups支持通用智能合約的開放部署。或者,如果我們在比較未來的系統,那么我們應該將Arbitrum的未來與未來的ZKRollups系統進行比較。
我們正在不斷改進Arbitrum——例如,我們即將發布的Nitro版本包含更低的成本和更好優化的鏈上數據無損壓縮。我們正在孜孜不倦地改進Arbitrum,將成本降低到理論極限。正如我們在這篇文章中所展示的,我們相信,當考慮到這兩種系統的現狀以及它們各自的理論局限性時,OptimisticRollups顯然是贏家。
撰文:OffchainLabs
編輯:南風
12月16日消息,加密貨幣指數基金管理公司Bitwise宣布推出藍籌NFT指數基金,該策略讓投資者廣泛接觸全球最大、最成熟的NFT藝術品收藏.
1900/1/1 0:00:00推土機解釋:到處推倒或否決別人。通常,將偏好分解為幾個維度的嘗試集中在兩個主要維度上:“威權主義vs自由主義”和“左翼vs右翼”.
1900/1/1 0:00:00無論是名人、大品牌還是企業,都會有更多的目光投向?NFT?領域,從而導致其被大規模采用。NFT在2021年迅速普及,但仍有很大一部分人不知道NFT是什么.
1900/1/1 0:00:00昨日,合規加密交易所Coinbase的首席執行官布賴恩·阿姆斯特朗(BrianArmstrong)與負責身份識別工具的主管亞歷克斯·里夫(AlexReeve)共同發表了一篇博客文章.
1900/1/1 0:00:002021年10月,扎克伯格宣布,將Facebook母公司名字改為“Meta”,大力宣傳其“元宇宙”商業規劃.
1900/1/1 0:00:0012月22日下午,中央網信辦信息化發展局、中央宣傳部版權管理局、國務院辦公廳電子政務辦公室、最高人民法院信息中心、最高人民檢察院檢察技術信息研究中心、教育部科學技術與信息化司、工業和信息化部信息.
1900/1/1 0:00:00