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

Scroll 研究:zkEVM 的設計挑戰和解決方案_ROLL:Game On Players

Author:

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

概述

zk-Rollup是一種非常便宜且安全的以太坊二層擴展解決方案。然而,現有的zk-Rollup只限于特定應用程序使用,這使得開發人員在zk-Rollup中構建通用的可組合DApp和遷移現有應用程序變得困難。我們通過引入zkEVM生成zk證明用于EVM驗證來構建完全兼容EVM的zk-Rollup,任何以太坊應用程序都可以輕松遷移到該zk-Rollup。

本文介紹zkEVM的設計挑戰以及可行性,并提出了從零開始構建zkEVM的詳細方案。

背景

zk-Rollup是公認的以太坊最佳擴容解決方案。不僅具有以太坊Layer1的安全性,并且與所有其他Layer2解決方案相比,交易速度最快。

從中長期來看,隨著ZK-SNARK技術的改進,ZKrollups將在所有用例中勝出。—VitalikButerin

zk-Rollup的基本理念是將大量交易聚合到一個Rollup塊中,并為鏈下的塊生成簡潔的證明。然后Layer1上的智能合約只需要驗證zk-Rollup的證明并直接更新狀態,無需重新執行那些交易。證明驗證狀態比重新執行計算的gas費用便宜很多,另外數據壓縮利于降低gas費用,這樣的交易流程節省一個數量級的gas費用。

盡管zk-Rollup安全高效,但很難構建通用DApp,其應用仍僅限于支付和互換,主要是以下兩個原因:

首先,在zk-Rollup中開發DApp需要使用特殊的編程語言來編寫智能合約的邏輯。該編程語言的語法復雜,而且要求開發者精通零知識證明。

其次,當前的zk-Rollup不支持可組合性。這意味著多個的zk-Rollup應用程序不能在Layer2內相互交互,極大地降低了DeFi應用程序的可組合性。

Custodia CEO:美聯儲已成為“不可逾越的山峰”:7月23日消息,Custodia銀行CEO Caitlin Long表示,在進入FedNow支付系統的35家銀行中,來自荷蘭的Adyen“通過后門進入了系統”,稱這對于一家歐洲公司來說是“非常不美國式”的,因為美國公司無法獲得這樣的機會。

就在上周SEC重新考慮Custodia銀行成為會員機構的申請的最后期限之后,美聯儲否決了該申請,并在一份簡短的聲明中表示,Custodia的商業計劃與法律要求的因素“不一致”。盡管她的銀行爭取主賬戶的權利,但Caitlin認為新的FedNow服務還不夠好。

“它不具備互操作性,跨境能力,并且有嚴格的50萬美元交易支付限制”,Caitlin Long聲稱FedNow將占據10%的支付份額,“但不會超過這個數”,她表示美聯儲聲稱他們將幫助公司進行監管,并且Custodia“盡力遵守”,但當局已經變得“不可動搖”。(decrypt)[2023/7/23 15:52:58]

簡而言之,目前zk-Rollup對開發人員不友好并且功能有限。我們希望解決這些問題,通過直接支持原生EVM驗證,為開發人員提供快速開發體驗,支持Layer2內應用程序的可組合性,以便現有的以太坊應用程序可以輕松遷移到zk-Rollup上。

在zk-Rollup中構建通用DApp

在zk-Rollup中有兩種構建通用DApp的方法。

為不同的DApp構建專用電路為智能合約執行構建一個通用的“EVM”編碼“電路”是指零知識證明中使用的程序表示方法。例如,如果要證明hash(x)=y,則需要使用ASIC電路重新編寫散列函數。電路只支持非常有限的計算表達式和乘法)。因此,開發人員使用電路語言編寫程序的過程非常困難,必須使用add和mul構建所有程序邏輯。

MakerDAO推出DeFi借貸協議Spark:金色財經報道,穩定幣發行商 MakerDAO 宣布推出 Spark,這是一種以 DAI 穩定幣為中心的 DeFi 借貸協議。DAI 是第四大穩定幣,市值為47 億美元,僅次于 USDT、USDC 和 BUSD。通過 Spark,用戶可以使用以太坊、質押以太坊 (stETH) 和 DAI 等資產獲得 DAI 貸款。Spark 獨立于 MakerDAO 的主要機制運行,該機制僅允許用戶生成新的 DAI 作為超額抵押債務。借款人最初可以使用加密資產作為抵押品以 1.1% 的年利率借入 DAI。該借貸平臺采用量身定制的利率模型,其中借貸利率由治理成員通過鏈上投票確定,而不是像 Aave 或其他借貸協議中那樣根據供需波動。

MakerDAO表示,“Spark Protocol 的第一個版本 Spark Lend 是一個專門為提供和借入加密貨幣而設計的借貸市場,重點是 DAI。”從周二開始,所有去中心化金融 (DeFi) 用戶都可以訪問 Spark 協議。[2023/5/9 14:50:27]

第一種方法要求開發人員為不同的DApp設計專門的“ASIC”電路,這需要使用零知識證明最原始的方式。通過設計定制電路減少每個DApp的成本。然而,由于電路是“靜態的”,不能為應用提供可組合性,并且需要專業的電路設計知識,因此開發體驗很糟糕。

第二種方法不需要任何特殊的設計或電路專業知識。這種基于機器證明的高級思想讓任何程序可以在CPU上運行,因此開發者只需要構建一個通用的CPU電路來驗證底層步驟。然后使用這個CPU電路來驗證程序的執行。在此場景中,程序指的是智能合約,CPU則是EVM。但是,由于成本過高,過去幾年并沒有普遍采用這種方法。例如,即使開發者只想增加一個驗證步驟,就需要承擔整個EVM電路的成本。如果執行跟蹤中有數千個步驟,那么EVM電路成本將是1000倍。

印度央行行長:現在人們普遍認識到加密貨幣存在的主要風險:金色財經報道,印度央行行長表示,現在人們普遍認識到加密貨幣存在的主要風險。[2023/2/26 12:29:42]

最近,有很多研究在按照這兩種方法優化zk證明,包括:

提議新的零知識證明友好型語言Poseidonhash,其在電路中的效率是SHA256的100倍

通用可驗證虛擬機,如TinyRAM

)越來越多的通用優化技巧,如Plookup,以及運行速度更快的密碼學庫。

我們之前建議為每個DApp設計“ASIC”電路,通過驗證密碼進行通信。但是,根據社區的反饋,我們改變了優先級,將重點關注在第二種方法,優先構建通用EVM電路。zkEVM將支持與Layer1完全相同的開發體驗。我們不會將底層設計的復雜性留給開發人員,而是通過定制的EVM電路設計來解決效率問題。

zkEVM的設計挑戰

zkEVM很難構建,與TinyRAM不同,zkEVM的設計和實現更具挑戰性,原因如下:

首先,EVM對橢圓曲線的支持有限。目前,EVM僅支持BN254配對,不直接支持循環橢圓曲線,因此很難進行遞歸證明。其他專用協議在此限制下也很難使用,除非是EVM兼容的驗證算法。

其次,EVM字長為256位。EVM在256位整數上運行,而zk證明在素數字段上工作。在電路內部進行“不匹配場算術”需要范圍證明,這將在每個EVM步驟中增加大概100個約束,導致EVM電路尺寸擴大兩個數量級。

第三,EVM有很多特殊的操作碼。EVM與傳統VM不同的是有許多特殊的操作碼,例如CALL,還有執行上下文和gas相關的錯誤類型。這將給電路設計帶來新的挑戰。

第四,EVM是基于堆棧的虛擬機。SyncVM(zksync)和Cario(starkware)架構在基于寄存器的模型,并定義了特定的IR/AIR。需要專門的編譯器將智能合約代碼編譯成新的zk友好的IR。這種方法是語言兼容而不是原生EVM兼容,基于堆棧的模型和直接支持原生工具鏈更難實現。

SushiSwap公布2023年路線圖:將在第一季度發布其DEX聚合器:金色財經報道,SushiSwap新任CEO Jared Grey公布了該協議的2023年路線圖,將重點關注用戶體驗,并表示Sushi將在第一季度發布其DEX聚合器。該協議今年將重點關注DEX產品,以增加可持續性和盈利。Sushi還計劃推出去中心化孵化器Sushi Studios,授權該品牌推出獨立資助的項目,以支持生態系統的增長且不會給DAO金庫帶來負擔。此外,Sushi的治理儀表盤也將于2023年第一季度推出。

此前消息,SushiSwap首席技術官Matthew Lilley宣布將關閉借貸平臺Kashi和代幣發行平臺MISO,原因是公眾興趣低且兩個平臺的維護需要花費巨大精力。Sushi開發人員將更多關注DEX產品。[2023/1/17 11:15:20]

第五,以太坊存儲布局的成本太大。以太坊存儲布局高度依賴Keccak和MPT,它們都不是zk友好類型,并且會產生高昂的成本。例如,Keccak哈希的電路大小是Poseidonhash的1000倍。但是,如果將Keccak替換為另一個哈希,則會對現有的以太坊基礎設施造成一些兼容性問題。

第六,基于機器的證明有高昂的成本。即使能夠妥善處理上述所有問題,仍然需要找到一種有效的方法將它們組合在一起以獲得完整的EVM電路。正如我在上一節中提到的,簡單的操作碼add可能會導致整個EVM電路的成本。

為什么zkEVM有可能實現?

感謝研究人員在這方面取得的巨大進步,近兩年來解決的效率問題越來越多,證明了zkEVM的可行性!主要的技術進步來自以下幾個方面:

多項式承諾的使用。在過去的幾年里,大多數零知識證明協議都在使用R1CS,PCP查詢被編碼到了特定于應用的受信任起步設置中。。這種情況通常會使電路會超出負載,并且無法進行自定義優化,因為每個約束的程度需要為2僅允許指數中的一次乘法)。開發者使用多項式承諾方案可以通過通用設置或者透明設置將約束提升到任何程度,大幅提高后端的選擇的靈活性。

CZ:Binance未持有WazirX股份,僅提供錢包支持等服務:8月6日消息,Binance首席執行官CZ在社交媒體發文表示,Zanmai Labs是運營WazirX并由原始創始人建立的實體,Binance不擁有Zanmai Labs的任何股權。2019年11月21日,Binance發文稱其已“收購”了WazirX,但該交易從未完成。Binance從未在任何時候擁有Zanmai Labs的任何股份。Binance僅作為技術解決方案為WazirX提供錢包服務,還有鏈下交易的集成服務,以節省網絡費用。WazirX自身負責其他方面,包括用戶注冊、KYC、交易和發起提款。[2022/8/6 12:05:35]

數據表查詢參數和自定義小工具。優化數據表查詢參數首先由Arya中提出,然后在Plookup中進行優化。這可以為zk不友好的編程語句省略很多按位運算。定制小工具可以讓開發者高效地進行高度約束。TurboPlonk和UltraPlonk定義了優雅的語法,以便開發者更輕松地使用查詢數據表和自定義小工具。這對于減少EVM電路的成本非常有幫助。

遞歸證明的可行性越來越高。在過去遞歸證明依賴于特殊的循環橢圓曲線,需要大量的成本。目前更多的技術在不犧牲效率的前提下改變這種依賴情況。例如,Halo可以配對友好橢圓曲線,并使用特殊的內積參數來分攤遞歸成本。Aztec表明可以直接對現有協議進行聚合證明。這種方法可以極大地提高電路負載量的可擴展性。

硬件加速更加高效。我們制造了GPU和ASIC/FPGA加速器,并且關于ASIC證明者的論文已經被最大的計算機會議接受。GPU證明器比Filecoin的實現快大約5到10倍。這將大幅提高證明器的計算效率。

zkEVM是如何工作的,如何建造它呢?

除了強大的直覺和技術改進之外,我們還需要更清楚地知道我們需要證明什么,并制定出更具體的架構。我們將在后續文章中介紹更多技術細節和比較。在這里,我們描述了總體工作流程和一些關鍵思想。

開發人員和用戶的工作流程

開發人員可以使用任何與EVM兼容的語言來運行智能合約,并將編譯后的字節碼部署在Scroll上。然后,用戶可以發送交易與智能合約進行交互。用戶和開發者的體驗將與Layer1完全相同。但是,gas費用顯著降低,并且在Scroll上的交易訂單即時預先確認。

zkEVM的工作流程

即使Layer1和Layer2表面上的工作流程沒有太多差別,但二者的底層處理過程完全不同:Layer1依賴于智能合約的重新執行;Layer2依賴于zkEVM電路的有效性證明。

讓我們更詳細地解釋Layer1和Layer2交易的情況有何不同。

在Layer1,智能合約的字節碼存儲在以太坊存儲中,交易將在P2P網絡中廣播。對于每個事務,每個全節點都需要加載相應的字節碼并在EVM上執行以達到相同的狀態。

Layer2的智能合約字節碼也以相同的方式進行操作,但后續步驟是交易將在鏈下發送到一個集中的zkEVM節點。然后,zkEVM執行字節碼并生成一個簡潔的證明,以證明在應用交易后狀態已正確更新。最后,Layer1合約將驗證證明并更新狀態,而無需重新執行交易。

讓我們深入了解一下執行過程,看看zkEVM最終需要證明什么。在原生執行中,EVM首先加載字節碼,然后從頭開始逐個執行字節碼中的操作碼,對每個操作碼執行以下三個子步驟:

從堆棧、內存或存儲中讀取元素

對這些元素執行一些計算

將結果寫回堆棧、內存或存儲。例如,add操作碼需要從堆棧中讀取兩個元素,將它們相加并將結果寫回堆棧。

所以zkEVM的證明需要包含與執行過程相對應的以下幾個方面:

字節碼從存儲中正確加載字節碼中的操作碼逐個執行每個操作碼都正確執行?

zkEVM設計亮點

在設計zkEVM的架構時,我們需要處理/解決上述三個問題。

第一,為密碼驗證器設計一個電路。這部分就像一個“可驗證的存儲”,我們通過使用密碼驗證器這種技術手段來保證驗證結果的正確性。以默克爾樹為例,部署的字節碼將作為葉節點存儲在Merkle樹中。然后驗證者可以使用簡潔的證明來驗證從給定地址加載的字節碼。對于以太坊存儲,則需要電路兼容MerklePatriciaTrie和Keccak哈希函數。

第二,設計一個電路來將字節碼與真實的執行產生關聯。將字節碼轉移到靜態電路中會帶來一個問題:像jump這樣的條件式操作碼可能會跳轉到任何地方。在某個人使用特定輸入運行該字節碼之前,跳轉目的地都是不確定的。這就是為什么我們需要驗證實際的執行蹤跡。執行蹤跡可以被認為是“展開的字節碼”,包含按實際執行順序排列的操作碼。

證明者將直接提供執行蹤跡作為電路的見證數據。我們需要證明該執行追蹤是通過特定字節碼使用特定的輸入“展開”的工作,目的是強制讓程序計數器的值保持一致。針對目的地不確定的問題,解決思路是讓證明者提供一切數據。然后通過查找參數高效地檢查一致性。

第三,為每個操作碼設計電路。這是最重要的部分,證明執行跟蹤中的每個操作碼都是正確且一致的。如果將所有東西直接放在一起,將會帶來高昂的成本。這里的優化方案是:

1)我們將讀寫和計算分成兩個證明。一個證明會將所有操作碼用到的元素都放到“總線”中,另一個證明會證明對“總線”上元素的計算是正確執行的。這會大幅降低每個部分的成本。前者被稱為“狀態證明”,后者被稱為“EVM證明”。另一個發現是,查找聲明可以有效處理“總線映射”。

2)我們可以為每個操作碼設計度數更高的定制化約束。我們可以選擇是否根據需求通過一個選擇符多項式來“打開”一個約束。這樣可以避免每個操作都要消耗整個EVM電路的成本。

這個架構最初由以太坊基金會提出,依然處于早期階段,正在積極開發中。我們正在與以太坊基金會進行密切合作,旨在找到最佳方式實現該EVM電路。迄今為止,我們已經定義了EVM電路最重要的特點,并實現了一些操作碼。更詳細的內容將在后續文章中介紹。我們推薦感興趣的讀者閱讀這篇文檔。開發流程將是透明化的。這將是集整個社區之力的完全開源的設計。希望會有更多人加入進來,貢獻出一份力量。

zkEVM還能帶來什么?

zkEVM遠不僅僅是Layer2擴容。我們可以將它理解為通過Layer1有效性證明擴展以太坊Layer1的直接方式。這意味著不需要任何特殊的Layer2就可以擴展現有的Layer1。

例如開發者可以將zkEVM當作全節點來使用,該證明可以用來直接證明現有狀態之間的轉換。所有Layer1交易無需將任何東西遷移到Layer2上,你可以直接證明!更寬泛地來說,你可以使用zkEVM為整個以太坊生成簡潔證明,就像Mina那樣。唯一需要增加的東西是證明遞歸。

結論

zkEVM可以為開發者和用戶提供相同的體驗。在不犧牲安全性的情況下,它的價格要便宜幾個數量級。已經提出了以模塊化方式構建它的架構。它利用最近在零知識證明方面的突破來減少成本。我們期待看到更多的人加入zkEVM社區,與我們一起集思廣益!

備注:

:?Starkware于2021年9月1日的公告中聲明已實現可組合性。

:電路是固定且靜態的。例如,在將一個程序實現為電路時,你無法使用可變上限循環。上限必須固定為最大值。電路無法處理動態邏輯。

:為便于讀者理解,我們在這里詳細說明EVM電路的成本。正如前文所言,電路是固定且靜態的。因此,EVM電路需要包含所有可能的邏輯。這就意味著,即使你只想證明add,你依然需要負擔該EVM電路中可能包含的所有邏輯的成本。也就是說,成本被放大了10000倍。在執行追蹤中,你需要證明一連串操作碼,而且每個操作碼都會帶來高昂的成本。

:EVM本身并沒有與默克爾-帕特里夏樹緊密綁定。目前,MPT僅用于存儲以太坊狀態。要換一個很容易。

:這是經過高度簡化的抽象概念。從技術上來說,“EVM狀態”的名單更長,包括程序計數器、gas余量、調用棧、一組日志和交易范圍變量。我們可以另外引入針對不同調用環境的標識符來直接支持可組合性。

:由于存儲量很大,我們使用累加器進行存儲。內存和堆棧可以使用可編輯的Plookup。

:將一個完整的遞歸證明添加進zkEVM電路并非易事。實現遞歸的最好方式還是使用循環橢圓曲線。我們需要引入某種“包裝”過程讓遞歸在以太坊Layer1上可驗證。

Tags:LAYERROLLROL以太坊Game On PlayersTROLLBNB幣AITROLLS以太坊最新價格行情走勢圖

Uniswap
加密空投是否真的不歡迎羊毛黨?_1INCH:truelovechaincn

假如你是一家公司的運營經理,公司決定拿出50萬做運營,你可能要開5次會,50個電話,忙活500個小時,才能做得漂漂亮亮.

1900/1/1 0:00:00
1confirmation 合伙人:我從加密投資中學到的三個反直覺經驗教訓_EFI:NFT

在我第一篇文章中,我將寫下在過去幾年中我作為加密貨幣風險投資人學到的三個反直覺教訓。未來我將在文章中涉及更多的熱點話題,比如.

1900/1/1 0:00:00
Celer 正式推出 Layer2.finance ZK 版本_FIN:NCE

今天,我們正式推出基于ZK模型的layer2.finance新版本!此前我們已推出了基于CelerOptimisticRollup模型的layer2.finance.

1900/1/1 0:00:00
登陸Coinbase牽手邁凱輪,詳解SUKU 2022元宇宙藍圖_SUKU:WORLD

5月27日,Web3基礎設施平臺SUKU亞洲大使Jessi做客區塊未來直播間,為大家詳解了SUKU2022元宇宙藍圖,與眾多國際知名品牌商以及明星合作發布.

1900/1/1 0:00:00
BTC鯨魚賬戶蘇醒,或對抗詐騙者粉塵攻擊_比特幣:Golden Regent Investment

上周,加密市場經歷了巨大的暴跌。一周之后,人們開始對加密市場樂觀,市場開始逐漸恢復正常波動。盡管這種復蘇還并不全面,但人們的情緒仍然樂觀。“休眠”錢包加速比特幣的流動.

1900/1/1 0:00:00
從Mirror創作者生態說起:真正的Web3到底離我們有多遠?_Mirror:MIR

「除了Mirror,你還能說出什么Web3產品?」這句看似玩笑的開場白,不僅反映出炒作期Web3的尷尬,但也印證了Mirror在該領域無法回避的地位.

1900/1/1 0:00:00
ads