在之前的文章中,我們討論了ZK-Rollup在Layer 2拓展性的應用以及簡單介紹了其原理。 在這篇文章中,我們將介紹Optimistic Rollup的工作原理和與ZK-Rollup的對比,以及Findora在這方面的創新。
什麼是Optimistic Rollup
Optimistic Rollup是一種在L2上使用OVM(Optimistic Virtual Machine)擴展以太坊通用智能合約的技術。OVM的功能很齊全,可以與EVM(Ethereum Virtual Machine)兼容執行環境,其主要用於第2層系統。它的外觀,感覺和行為非常類似於以太坊主鏈。Optimistic Rollup的構造大量借鑑了Plasma和ZK-Rollup設計。 但某種程度的在擴展性上進行了權衡,以允許在受Layer 1保護的Layer 2中運行完全通用的智能合約。
如果能在短期內部署,它可以通過在合理範圍內將安全性/可擴展性折中的簡便方法來遷移現有dApp和服務。滿足了ETH1.0增長的需求。
為了更好的理解Optimistic Rollup的在以太坊主網的使用場景,我們先參考下面一個例子:
我們假設有一個開發人員編寫了一個Solidity的智能合約。
開發人員將交易從鏈下發送到Bonded Aggregator,即第2層區塊的生產者,後者負責部署這個合約。其中任何有Bond的人都可以成為Aggregator,並且同一條鏈上可以有多個Aggregator。
Aggregator可以按照自己喜歡的方式收取費用,包括帳戶提取或者元交易(Account abstraction or meta transactions)。
然後,Aggregator需立即向開發人員保證,其交易將被包括在新的區塊內,否則Aggregator將失去Bond。
Aggregator接下來使用本地交易轉帳並計算新的狀態根(State Root)。
Aggregator將一個新的包含交易和狀態根的Optimistic Rollup區塊作為一次轉帳交易提交至以太坊主網。
如果有人下載了該塊並發現該塊無效,並且證明該塊無效,就可以罷免惡意Aggregator以及在無效區塊的基礎上繼續構建的Aggregator的Bond。Aggregator的一部分bond將會獎勵給證明者。
這就是Optimistic Rollup智能合約最簡單的運行邏輯。
由於每一個當前交易所產生的狀態,都是之後每個有效Optimistic Rollup狀態的一部分,所以這也是保證這個智能合約安全性的方法之一。 這種智能合約的做法與我們今天在以太坊主網上看到的非常相似。那麼,Optimistic Rollup和ZK-Rollup有什麼相似之處和區別呢?
在Optimistic Rollup中,新的狀態根由運營人員(Operator)發布的時候不會每次都被Rollup智能合約檢查一遍。 但是,如果發布了不正確的狀態轉換,其他操作人員或用戶(必須觀察L1 Rollup中合約的情況並且執行每一筆轉帳交易)可以觀察到無效交易並還原不正確的塊,從而罷免惡意攻擊的運營方 。
相比較之下,ZK-Rollup是一種更複雜的技術。現在已經有了用ZK-Rollup來做代幣轉移和一些相對特殊的應用程式,但是還需要更長時間來用ZK-Rollup實施通用智能合約,並且有效地將EVM整個包裝進零知識證明中還需要更多的研究工作。 但是,一旦ZK-Rollup全面開發,所有現有的以太坊dApp和服務都將能夠輕鬆地遷移到ZK-Rollup中。
ZK-Rollup將解決Optimistic Rollup的幾個基本問題:
Optimistic Rollup對於ZK-Rollup來說是也是一個很好的工具。過渡到L2的擴展要求用戶對電子錢包,預言機,dApp的使用習慣進行大幅度改變。 Optimistic Rollup幫這一舉措已經提前準備好了一套生態系統,為目前尚不能在ZK-Rollup上構建的dApp帶來拓展的可能性。 這將使ZK-Rollup有足夠的時間變得成熟並使其無縫對接,同時保持以太坊的發展趨勢。下面我們通過幾個方面簡單對Optimistic Rollup和ZK-Rollup做一個對比。
靈活性:通用計算
Optimistic Rollup
儘管Optimistic Rollup可以用於一些特殊的應用場景,但是這項技術中最重要的創新是OVM:Optimistic虛擬機。OVM可以支持任意智能合約邏輯的實現。從這方面來看,在以太坊中幾乎所有可能的事情在OVM中也都是可能的,也包括智能合約及其可組合性。OVM可以以EVM,EWASM或者任何其他的虛擬機作為基礎。
如果與EVM一起使用,OVM的另一個好處是可以支持Solidity代碼。 因此OVM可以輕鬆地將大部分現有代碼庫直接轉移過去。
OVM直接使用現有的EVM代碼是非常理想化的,實施起來必定不是那麼簡單。 OVM的落實將需要更改以太坊CALLDATA的格式,並採用複雜的響應協議實現欺詐證明。這可能會導致OVM與EVM產生分歧,從而無法正確處理邊緣情況,這意味著把現有的合約改寫到OVM上還存在著一定難度。
實施的另一個挑戰在於,較大區塊的欺詐證明可能會超出L1的gas限制。 這就使得這些欺詐證明必須分解成多個ETH交易。
ZK Rollup
到目前為止,ZK-Rollup的所有現有操作都集中在代幣轉移或原子交換。 有幾個主要原因。
首先,目前仍然還沒有一個有效的技術可用於針對不同的零知識證明(Zero Knowledge Proof)進行簡潔的遞歸證明組合。在同一個區塊中執行不同的智能合約需要遞歸組合不同的零知識證明。並且,每一個新版智能合約的出現都需要一個新的受信設置的過程,顯然這個是不現實的。目前現有不需要受信設置的零知識證明技術STARK的驗證方也只是針對性處理非常有限的一類問題。STARK驗證方必須對被證明的計算語句的每個限制條件都至少執行一次,這也意味著我們無法重複整合執行不同架構的智能合約。
隨著SNORK(Succinct Non-interactive Oecumenical (Universal) Arguments of Knowledge)的出現,上述的這些情況開始發生了變化,SNORK是基於不同的一組被稱作多項式承諾方案加密模型的新一代零知識證明。儘管仍然需要受信設置,但它現在已經是通用的並且可以更新。 完成一次後,可以隨時在任何不同的程序中繼續使用。Findora所研發的Supersonic正是一種全新的完全簡潔且透明的ZK-Snark技術。
目前來看:現在在ZKP上建立通用智能合約的障礙已經消除。 ZK-Rollup完全能夠支持與EVM相同的編程模型(包括無縫對接的可組合性和互操作性)。 儘管Solidity開發人員的學習時間不會超過1天,但最初的合同可能需要專用的DSL。最終,鑑於零知識證明技術的最新發展步伐,我們希望所有現有的ETH合同都能以最小的努力有效地移植。
拓展性和交易成本
Optimistic Rollup
ZK Rollup
物質測試網中每次傳輸tx的公共數據成本目前為16位元組,花費272 gas/tx。
此外,證明的費用,估計約為30萬gas。
即使我們假設在最壞的情況下需要提供1M gas的證明成本,估算的交易上限仍將超過2140 TPS。
gas成本是一個很大的瓶頸,因為它具有去中心化防審查性。 我們預計該因素會隨著時間的推移而顯著下降。
實際吞吐量上限(令牌轉移):超過2000 TPS-類似於VISA。
在許多案例中,ZK Rollup是可以節省很大一部分的成本的,儘管Optimistic Rollup要求用戶發布完整的交易輸入,ZK Rollup一個很大的區別是用戶可以在兩個選項中不需要很複雜操作再做出選擇,在ZK-Rollup中,我們可以在下列兩個選項中靈活地選擇:
1)交易輸入減去見證人並不影響狀態轉換,
2)僅發布交易輸出。
由於任何Rollup都將留在每個區塊碎片中,因此除非帶寬變得更便宜,否則CALLDATA的成本(以及Rollup交易成本)不會發生很大變化。
Optimistic Rollup目前還在概念證明階段。希望我們能夠儘快看到主網上的版本。如果事實證明移植現有代碼相對容易,則很多項目將會逐漸開始採用它並建立新的基礎架構:例如L2技術支持將出現在錢包中等等。
對於以太坊來說,兩種Rollup類型都必須在電子錢包,預言家和其他智能合約組件中進行類似的基礎結構更改。
Findora將從底層部署ZK-Rollup,直接支持這個在以太坊上只有在L2上才有的擴容解決方案。雖然以太坊裡的ZK-Rollup在一些應用場景方面,例如代幣交易,已經十分成熟,但是完全通用的智能合約還是有一段時間才能到達可被主網採用的版本。
聲明:本文系金色財經原創稿件,版權屬金色財經所有,未經授權不得轉載,已經協議授權的媒體下載使用時須註明"稿件來源:金色財經",違者將依法追究責任。
提示:投資有風險,入市須謹慎。本資訊不作為投資理財建議。