特別感謝PSE、PolygonHermez、Zksync、Scroll、MatterLabs和Starkware團隊的探討與校對。
最近,很多“ZK-EVM”項目很快相繼發出公告。Polygon開源了他們的ZK-EVM的項目,ZKSync發布了ZKSync2.0的計劃,而Scroll作為相對的新秀,最近也宣布了他們的ZK-EVM項目。還有PrivacyandScalingExplorations團隊、NicolasLiochonetal的團隊,以及Nethermind團隊致力于將EVM的Solidity語言轉譯為StarkWare的ZK友好語言Cairo的一個Alpha編譯器,這些團隊都在為此不斷努力,當然,還有一些項目我沒有例舉出來。
這些項目的核心目標是一致的:利用ZK-SNARK技術對以太坊類交易的執行生成加密證明,不是讓證明更易于驗證以太坊鏈本身,就是構建相當于以太坊所提供的一些功能,但比它更具有可擴展性的ZK-rollups。但這些項目之間也有些細微區別,并且他們在實用性和速度之間所做的權衡也有差異。這篇文章將描述不同EVM等效“類型”的分類學,以及每種類型的優勢和開銷。
概覽
類型1:完全以太坊等效的ZK-EVM
第一類ZK-EVM力圖成為完全不妥協的以太坊等效ZK-EVM。他們不會更改以太坊系統的任何部分來讓它更容易生成證明:不會替換哈希、狀態樹、交易樹、預編譯或是共識中的其他邏輯,不管這些部分多么次要。
Vitalik Buterin:中心化的任何東西都是有風險的:金色財經報道,以太坊創始人Vitalik Buterin在社交媒體上稱,“默認情況下,中心化的任何東西都是有風險的,使用“DeFi和自我托管的精神”在本周表現非常好,但請記住它也有風險,智能合約代碼中的錯誤。”
Vitalik表示“重要的是要防范它,保持代碼簡單、審計、形式驗證等、深度防御。我最擔心的是,如果我們在兩年后的ZK-rollup中擁有100億美元,并且由于電路約束代碼或其周圍的EVM封裝器中的錯誤而被黑掉。對于后者,保持簡單并進行形式驗證。”[2022/11/16 13:13:32]
優勢:完美的兼容性
ZK-EVM的目標在于,能夠像目前以太坊驗證區塊那樣——或者至少,驗證執行層上面的區塊。
第一類的ZK-EVM正是我們最終所需要的,能讓以太坊L1本身更具有可擴展性。長期來看,在第二類和第三類的ZK-EVM中試驗得出的對以太坊的修改,可能會被合理引入至以太坊上,但是這種重新架構本身具有復雜性。
第一類ZK-EVM對Rollup來說也是理想的,因為它們讓Rollup可以重復利用基礎設施。比如,以太坊執行層客戶端可以像原來那樣生成和處理Rollup的區塊,所以區塊瀏覽器、區塊生成等工具可以輕松重新使用。
劣勢:證明生成時間慢
以太坊原本的設計并不是ZK友好的,因此,以太坊協議中的許多部分都需要花費大量的計算來生成ZK證明。第一類ZK-EVM旨在完全復制以太坊的環境,因此,它無法緩解這些計算低效性問題。目前,以太坊區塊證明需要花費多個小時才能生成。這可以通過巧妙的工程,或從長遠來看,通過ZK-SNARKASIC來緩解低效性問題。
Ergo與Graviton達成跨鏈合作:據Ergo官方消息,近日,Ergo已與Gaviton達成跨鏈合作,此舉旨在改善跨鏈體驗,提供更多流動性挖礦機會,并擴大Ergo和Graviton的影響力和實用性。此次合作包括構建一條跨鏈橋,方便ERG代幣通過SuSy進入其他生態系統,從而通過在所涉及的所有目標鏈上進行Graviton流動性挖礦來增加流動性。
Ergo是一條永守PoW共識機制的基于擴展UTXO的公鏈,自2019年7月1日主網啟動以來,Ergo主鏈就自帶智能合約功能。Graviton是一個通用的打包代幣流動性激勵解決方案,為無縫多鏈通信提供技術基礎,并圍繞打包資產創建基于獎勵的經濟。[2021/8/18 22:21:35]
誰在構建第一類ZK-EVM?
PrivacyandScalingExplorations團隊正在努力構建第一類ZK-EVM。
類型2:完全EVM等效的ZK-EVM
第二類ZK-EVM力爭成為完全EVM等效但也不那么以太坊等效的ZK-EVM。也就是說,“從內部來看”,他們完全就像以太坊一樣,但是在外部與以太坊有一些區別,尤其是區塊結構和狀態樹等數據結構。
它的目標在于,與現有的應用完全兼容,但它會對以太坊做一些較小的修改,讓開發更容易,也讓證明生成得更快。
優勢:在虛擬機層面完全等效
第二類ZK-EVM會改變存儲著如以太坊狀態的數據結構。幸運的是,因為EVM本身就不能直接訪問這些數據結構,所以對原本在以太坊上運行的應用程序沒什么影響,它們仍能在第二類的ZK-EVMrollup上運行。你可能無法像原來那樣使用以太坊執行層客戶端,但你可以通過一些修改來使用客戶端,并且依舊能使用EVM調試工具和大部分其他開發者基礎設施。
動態 | OKB上線新加坡幣星交易所及去中心化交易所ViteX:本周,OKB先后上線新加坡幣星交易所及去中心化交易所ViteX,并借助他們在新加坡、俄羅斯、東南亞及歐美地區的影響,拓寬海外用戶。本月以來,隨著價格的增長,OKB市場活躍度明顯提高。此前韓國2家交易所,Bitribe和BW也已支持OKB幣幣交易。
截至目前,OKB開啟美元、歐元、韓元、越南盾、印尼盧比等法幣通道,并已上線50余個交易所,覆蓋了全球141個國家和地區的百萬用戶。[2020/2/26]
還存在少數例外情況。當驗證以太坊歷史區塊的默克爾樹證明來驗證歷史交易、收據或狀態的聲明時,應用程序出現了不兼容。如果ZK-EVM用不同的哈希函數來替換Keccak,那就會損壞這些證明。而且,我經常建議不要這樣構建應用程序,因為未來的以太坊更新甚至會影響以太坊上的應用。更好的選擇是以太坊自己添加不會過時的(future-proof)歷史訪問預編譯。
劣勢:已經改進過了但還是證明時間太慢
第二類ZK-EVM能比第一類提供更快的證明生成時間,它主要通過移除部分以太坊堆棧,這部分堆棧依賴于具有不必要復雜性和ZK不友好的加密學。特別是,這些堆棧可能會更改以太坊的Keccak和基于RPL的Merklepatriciatree,也許還會更改區塊和收據結構。第二類ZK-EVM則是會使用不同的哈希函數,如Poseidon。自然而然地,它會修改狀態樹以儲存哈希碼和Keccak,不需要驗證哈希以處理EXTCODEHASH和EXTCODECOPY操作碼。
這些修改極大地改善了證明生成的時間,但它們沒有解決所有問題。這類ZK-EVM繼承了EVM本身帶來的低效性和ZK不友好問題,所以像原本那樣基于EVM生成證明的低效情況依然存在。內存就是最簡單的例子:因為?MLOAD可以讀取任何32字節,包括“無序的”代碼段,MLOAD也不能單純理解為對一段代碼的讀取;確切地說,它可能需要讀取兩個連續的代碼段和執行位操作來結合運行結果。
現場 | Vitalik Buterin:區塊鏈可以被視作是一種促進各種經濟協調的工具:金色財經現場報道,今日,由金色財經提供戰略媒體支持的以太坊產業發展峰會在香港舉辦,會上以太坊創始人Vitalik Buterin及其團隊接受了包括金色財經在內的中外媒體采訪。在回答“區塊鏈究竟能給我們這個社會帶來些什么”這一問題時,Vitalik Buterin表示:“我認為你可以把區塊鏈看作是一種促進各種經濟協調的工具,就像其他不同種類的經濟機制一樣,人們可以在互聯網上合作制作內容,然后再各自獲得報酬,這樣就會鼓勵人們更具有責任心,他們在制作新聞的時候也會更負責,不會出現虛假新聞。現階段,人們正在提出各種不同的工具、或是不同的經濟機制,鼓勵大家以更廣泛的受益形式來工作。傳統支付方式很難滿足這種協作工作模式,因此區塊鏈能夠創建全新的經濟機制。我寫論文的時候,也得到了開發者們的支持。”[2018/9/8]
誰在構建第二類ZK-EVM?
Scroll的ZK-EVM項目正在構建第二類ZK-EVM,PolygonHermez也是。即使如此,還沒有項目真的成為第二類ZK-EVM;尤其是很多更加復雜的預編譯還沒實現。所以,目前來說,這兩個項目應該說屬于第三類ZK-EVM。
類型2.5:EVM等效,除了gas開銷
在最糟糕的情況下,有一種能夠極大地改善證明生成時間慢的方式是,大大提高那些難以在EVM中生成ZK證明的執行所花的gas開銷。這些執行可能涉及預編譯、KECCAK操作碼,還可能涉及調用合約的特定模式、訪問內存/存儲或是回滾。
更改gas開銷可能會降低開發者工具的兼容性,損壞一些應用,但總體上,它的風險比“更深入地”變更EVM來說更少。開發者需要注意,不要消耗超出一個區塊所容納的gas上限,也永遠都不要用硬編碼gas數來進行調用。
Vitalik Buterin發布新的概念驗證:本周一以太坊設計者Vitalik Buterin發布了一個新的概念驗證,演示了如何將分片擴展解決方案“栓在”Ethereum主鏈上。并發推表示“分片即將來臨”。該演示遵循Ethereum聯合創始人最近推出的“最小分片協議”計劃,旨在顯著提高以太坊區塊鏈的事務吞吐量和可擴展性。[2018/5/1]
另一種管理資源限制的方式是,只要對每個操作能被調用的次數設定硬限制就好了。這在電路中的實現很簡單,但是對EVM的安全假設就不太好了。我更愿意將這種方法稱作第三類ZK-EVM,而不是類型2.5。
類型3:幾乎是EVM等效的
第三類ZK-EVM幾乎是EVM等效的,但需要對完全等效性做一些犧牲,以進一步改善證明生成時間,并促進EVM更易于開發。
優勢:易于構建,證明生成時間更快
第三類ZK-EVM也許會取消一些格外難以在ZK-EVM實現中實現的功能。預編譯通常會是這類功能中最難實現的;此外,這類ZK-EVM有時也在處理合約代碼、內存和堆棧方面有些許不同。
劣勢:兼容性更差
第三類ZK-EVM的目標是與大部分應用程序兼容,它只需要對剩下的應用進行極少的改寫。即使是這樣,也需要對一些應用進行改寫,因為這些應用會使用第三類ZK-EVM已經取消的預編譯,或是因為它們對邊緣情況有著微妙依賴性,而VM會以不同的方式處理。
誰來構建第三類ZK-EVM?
Scroll和Polygon現在的形式都屬于第三類ZK-EVM,盡管他們預計會隨著時間改善兼容性。Polygon的設計很獨特,他們用著自己的內部語言zkASM驗證ZK,并且他們會使用zkASM的實現來轉譯ZK-EVM代碼。雖然其實現細節是這樣的,但我還是愿意把它稱為真正的第三類ZK-EVM。它依舊能夠驗證EVM代碼,只是用著一些不同的內部邏輯罷了。
現在,還沒有ZK-EVM團隊想要成為第三類ZK-EVM;該類型僅僅是完成預編譯添加這一復雜工作和項目能夠轉為類型2.5之前的過渡階段。然而,通過添加新的ZK-SNARK友好的預編譯,為開發者提供證明生成時間短、gas開銷低的功能,第一類和第二類ZK-EVM在未來可能會自發成為第三類ZK-EVM。
類型4:高級語言等效
第四類ZK-EVM系統的工作原理是,采用高級語言編寫智能合約源碼),并將這些源碼編譯為一些明確設計成ZK-SNARK友好的其他語言。
優勢:極快的證明生成時間
不將EVM的每個執行步驟的所有環節生成ZK證明,而是直接開始證明高級語言編寫的代碼,這樣你可以避免掉很多開銷。
在本文,雖然我只用了一句話來描述這種優勢,但這句話不應該被解讀為價值判斷!從高級語言直接編譯真的可以極大地減少開銷,并通過讓證明過程變得容易而推動去中心化。
劣勢:兼容性更差
一個用Vyper或Solidity編寫的“正常”應用程序能夠被編譯出來,并且它“可以運行”,但在很多重要情況下,很多應用會變得不“正常”:
第四類ZK-EVM的系統中的合約地址與EVM中的可能不一樣,因為CREATE2合約地址取決于具體的字節碼。這破壞了依賴于尚未部署的“反事實合約”的應用、ERC-4337錢包、EIP-2470單例和許多其他應用程序。
手動編寫的EVM字節碼更難投入使用。很多應用程序為了效率,會使用手動編寫部分EVM字節碼。盡管有很多種方式可以實現對這類有限制的EVM字節碼的支持,可以在無需完全成為第三類ZK-EVM的情況下將這些用例應用起來,但第四類ZK-EVM的系統可能不會支持這種手動編寫的字節碼。
很多調試基礎設施無法繼續生存,因為這種基礎設施都基于EVM字節碼運行。盡管如此,但我們可以通過“傳統”高級語言或中間語言更輕松地訪問調試基礎設施,以減輕這種劣勢。
開發者應該留心這些問題。
誰在構建第四類ZK-EVM?
ZKSync系統就是第四類ZK-EVM,雖然它可能會隨著時間提高EVM字節碼的兼容性。Nethermind的Warp項目正在構建從Solidity語言轉譯為StarkWareCairo語言的編譯器,這個編譯器將會把StarkNet變成真正的第四類ZK-EVM系統。
各個ZK-EVM類型的未來
并不是說這些類型比其它類型“更好”或“更差”。相反,相較之下他們各有不同:從類型1至類型4,編號較低的ZK-EVM類型和現有的基礎設施更加兼容,但運行得更慢;而編號較高的ZK-EVM類型則和現有的基礎設施不那么兼容,但運行得更快。總之,對所有ZK-EVM類型的探索有益于該領域的健康發展。
另外,ZK-EVM項目可以隨著時間的推移,輕松地從編號高的ZK-EVM開始,然后轉為編號低的類型。例如:
ZK-EVM可以在一開始作為第三類ZK-EVM投入使用,不去加入一些特別難以生成ZK證明的功能。之后,他們可以隨著時間的推移而加入那些功能,繼而轉變為第二類。
一開始作為第二類別的ZK-EVM,通過在完全兼容以太坊的模式下運行,或使用在修改后能更快生成證明的狀態樹,這類ZK-EVM可以在之后變成第二類和第一類ZK-EVM的混合類型。Scroll就正在考慮向這個方向發展。
一些一開始屬于第四類系統的ZK-EVM項目,可以通過之后添加EVM代碼處理的功能,繼而隨著時間變成第三類ZK-EVM。
如果以太坊自身為了變得更加ZK友好而采用一些修改,那么第二類和第三類可以成為第一類ZK-EVM。
第一類或第二類ZK-EVM可以通過增加驗證ZK-SNARK友好語言代碼的預編譯,變成第三類ZK-EVM。這為開發者在以太坊兼容性和運行速度之間提供了一個選擇。這可以算是第三類ZK-EVM,因為它會破壞完美的EVM等效,但出于實際意圖和目的,它可能還會具有很多第一類和第二類ZK-EVM的優勢。它不好的地方可能是,一些開發者工具無法理解ZK-EVM的自編譯,雖然這點也可以修復:開發者工具可以通過支持包括EVM代碼等效的預編譯實現在內的配置格式,以此增加通用的預編譯支持。
就個人而言,通過結合ZK-EVM中的改進與讓以太坊變得更加ZK-SNARK友好的改進,我希望這些項目全部慢慢變成第一類ZK-EVM。在這樣的未來里,我們也會有多種ZK-EVM實現,可以用于ZKrollup,也能用來驗證以太坊鏈本身。理論上,以太坊沒有必要標準化單個ZK-EVM的實現來供L1使用;不同客戶端可以使用不同的證明,我們才能繼續從代碼冗余中獲益。
不論如何,我們還需要一些時間來迎接這種未來。同時,我們也會在擴容以太坊和開發基于以太坊ZKrollup的不同賽道上看到大量創新。
FTX暴雷大戲暫時到了曲盡人散的時候。北京時間2022年11月11日晚,FTX官方發布聲明表示,FTX集團已根據美國破產法第11章開始自愿程序申請破產.
1900/1/1 0:00:00以太坊需要遵守OFAC的規定嗎?以太坊被認為是所有加密貨幣中最去中心化的Layer1區塊鏈。然而,美國財政部海外資產控制辦公室最近的進展可能會破壞以太坊抗審查的完整性.
1900/1/1 0:00:00原文作者:korpi 現在每個項目都在進行空投,但許多人將一無所獲。為什么?因為項目正在不斷改進他們的方法,以排除Sybilfarmers。如何增加未來所有空投的機會?本文總結了5個簡單步驟.
1900/1/1 0:00:00來源:nftnow 編譯:Dali@iNFTnews.comArt?Gobblers是一個真正意義上的獨特的NFT項目.
1900/1/1 0:00:00作者:ColinWu 原文標題:《幣安與FTX交鋒白熱化原因是什么?FTX會暴雷嗎?》隨著CoinDesk曝出Alameda財務數據,此事雖然與幣安無關,但幣安的攻擊從未停止.
1900/1/1 0:00:00FTX崩潰的影響才剛剛開始,在去中心化金融中,支持無擔保貸款的平臺相對于擁有數百萬貸款的抵押貸款平臺的風險敞口要大,鎖定的總價值也在下滑.
1900/1/1 0:00:00