原文標題:HowwillEthereum'smulti-clientphilosophyinteractwithZK-EVMs?
原文作者:Vitalik
原文來源:vitalikblog
原文編譯:Kate,Marsbit
特別感謝JustinDrake的反饋和審閱
一種未被充分討論但非常重要的以太坊維護其安全性和去中心化的方式是其多客戶端理念。以太坊有意沒有默認情況下每個人都運行的“參考客戶端”:相反,有一個協作管理的規范(現在是用可讀性很強但非常緩慢的Python編寫的),并且有多個團隊正在實現該規范(也稱為“客戶端”),這是用戶實際運行的。
每個以太坊節點運行一個共識客戶端和一個執行客戶端。截至目前,沒有共識或執行客戶端占網絡的2/3以上。如果一個客戶端在其類別中的份額小于1/3,那么網絡將繼續正常運行。如果在其類別中擁有1/3到2/3份額的客戶端(例如Prysm、Lighthouse或Geth)存在bug,鏈會繼續添加區塊,但會停止完成區塊,從而為開發人員提供時間進行干預。
一個未被充分討論,但仍然非常重要的,即將到來的以太坊鏈驗證方式的重大轉變是ZK-EVM的崛起。證明EVM執行的SNARKs已經開發了多年,該技術正在被稱為ZKrollup的L2協議積極使用。其中一些ZKrollup目前在主網上很活躍,很快就會有更多推出。但從長遠來看,ZK-EVM將不僅僅是用于rollup,我們也想用它們來驗證L1的執行情況(參考:theVerge)。
一旦發生這種情況,ZK-EVM實際上將成為第三種類型的以太坊客戶端,對網絡安全的重要性就像今天的執行客戶端和共識客戶端一樣重要。這自然會提出一個問題:ZK-EVM將如何與多客戶端進行交互?其中一個困難的部分已經完成:我們已經有多個正在積極開發的ZK-EVM實現。但其他難點仍然存在:我們如何為ZK證明以太坊區塊的正確性創建一個“多客戶端”生態系統?這個問題帶來了一些有趣的技術挑戰——當然還有一個迫在眉睫的問題,即這樣的權衡是否值得。
Gravity Bridge在Osmosis為流動池提供外部激勵:7月5日消息,Cosmos生態的資產跨鏈橋Gravity Bridge在Osmosis為gUSDC/OSMO和ATOM/gUSDC提供外部激勵。 gUSDC/OSMO的激勵為50萬GRAV,周期45天; ATOM/gUSDC的激勵為100萬GRAV,周期45天.[2022/7/5 1:51:36]
以太坊多客戶端理念的最初動機是什么?
以太坊的多客戶端理念是一種去中心化,就像一般的去中心化一樣,人們可以關注架構去中心化的技術效益,也可以關注去中心化的社會效益。最終,多客戶端的理念是由兩者驅動的,并為兩者服務。
技術去中心化的理由
技術去中心化的主要好處很簡單:它降低了某個軟件中的一個錯誤導致整個網絡災難性崩潰的風險。2010年比特幣溢出漏洞就是這種風險的典型例子。當時,比特幣客戶端代碼沒有檢查交易輸出的總和是否溢出(通過求和超過最大整數264-1,使其歸零),所以有人做了一筆交易,給自己數十億比特幣。這個漏洞在幾個小時內就被發現了,修復工作很快就完成了,并迅速部署到整個網絡中,但如果當時有一個成熟的生態系統,這些幣就會被交易所、橋和其他結構所接受,攻擊者可能已經帶走了很多錢。如果有五個不同的比特幣客戶端,它們不太可能都有相同的錯誤,因此會立即分叉,而分叉中有錯誤的一方可能會失敗。
使用多客戶端方法來最小化災難性錯誤的風險是有代價的:相反,你會遇到共識失敗錯誤。也就是說,如果你有兩個客戶端,則存在這樣一種風險,即客戶端對某些協議規則有細微的不同解釋,盡管這兩種解釋都是合理的并且不允許偷錢,但分歧將導致鏈分叉為兩半。在以太坊的歷史上,這種類型的嚴重分叉曾經發生過一次(還有其他更小的分裂,其中運行舊版本代碼的網絡的很小一部分被分叉了)。單客戶端方法的捍衛者認為,共識失敗是不采用多個客戶端實現的原因:如果只有一個客戶端,那么這個客戶端就不會有不同意見。他們關于客戶數量如何轉化為風險的模型可能是這樣的:
Vitalik Buterin:并不認為zkPorter具有比Optimistic Rollup更強的安全保證,且沒有緊密耦合性:以太坊聯合創始人Vitalik Buterin針對Matter Labs披露的zkPorter擴容方案表示:并不認為zkPorter具有比Optimistic Rollup更強的安全保證,寧愿將資產放在Optimistic Rollup中,而不是鏈下數據可用性系統中。zkPorter鏈下數據可用性的安全級別要低于基礎鏈,且沒有緊密耦合性(Tight coupling)。另一方面,分片中的數據可用性層將受到整個以太坊網絡的保護,并兼具緊密耦合性。如果某些應用程序同時使用鏈下數據可用性也是可以的,但前提是鏈下數據在基于分片的數據可用性可用之前明確為臨時措施,但是我認為這沒有必要。[2021/4/14 20:17:45]
當然,我不同意這種分析。我不同意的關鍵是(i)2010年那種災難性錯誤也很重要,并且(ii)你實際上永遠不會只有一個客戶端。后一點在2013年的比特幣分叉中表現得最為明顯:由于兩個不同版本的比特幣客戶端之間存在分歧,導致了鏈的分叉,其中一個版本意外的限制了對單個區塊中對象數量的修改。因此,理論上的一個客戶端實際上往往是兩個客戶端,理論上的五個客戶端實際上可能是六七個客戶端——所以我們應該冒險,走在風險曲線的右邊,至少有幾個不同的客戶端。
去中心化的理由
壟斷客戶端開發者處于一個具有很大權力的位置。如果客戶端開發人員提出更改,而用戶不同意,理論上他們可以拒絕下載更新版本,或者創建一個沒有它的分支,但在實踐中,用戶通常很難做到這一點。如果一個令人不滿意的協議更改與必要的安全更新捆綁在一起怎么辦?如果主要團隊威脅說如果不按他們的方式行事就退出怎么辦?或者,更簡單地說,如果壟斷客戶端團隊最終成為唯一擁有最大協議專業知識的團隊,讓生態系統的其他成員在判斷客戶端團隊提出的技術論點時處于不利地位,讓客戶端團隊有很大的空間來推動他們自己的特定目標和價值觀,而這些目標和價值觀可能與更廣泛的社區不匹配,該怎么辦?
OKEx將于5月26日19時暫停VITE充提:據官網公告,由于VITE主網升級 ,OKEx將于2020年5月26日19:00 暫停VITE的充提,待升級完成后開放。[2020/5/26]
對協議的擔憂,特別是在2013-14年比特幣OP_RETURN戰爭的背景下,一些參與者公開反對區塊鏈的特定用途,這是以太坊早期采用多客戶端理念的一個重要因素,其目的是讓一小部分人更難做出此類決定。以太坊生態系統特有的擔憂——即避免權力集中在以太坊基金會本身——為這一方向提供了進一步的支持。2018年,基金會做出了一項決定,故意不實施以太坊PoS協議(即,也就是現在所說的“共識客戶端”),將這項任務完全交給外部團隊。
未來ZK-EVM將如何進入Layer1?
如今,ZK-EVM用于Rollup。這通過允許昂貴的EVM執行僅在鏈下發生幾次來增加擴展性,而其他人只需驗證鏈上發布的SNARKs即可證明EVM執行計算的正確性。它還允許一些數據(特別是簽名)不包含在鏈上,從而節省了gas成本。這為我們提供了很多可擴展性的好處,將可擴展計算與ZK-EVM和可擴展數據與數據可用性采樣相結合,可以讓我們擴展得更遠。
然而,今天的以太坊網絡也有一個不同的問題,一個再多的Layer2擴容都無法自行解決的問題:Layer1難以驗證,以至于沒有多少用戶運行自己的節點。相反,大多數用戶只是信任第三方提供商。像Helios和Succinct這樣的輕客戶端正在采取措施解決這個問題,但是輕客戶端遠遠不是一個完全驗證節點:輕客戶端只是驗證一個稱為同步委員會的隨機驗證器子集的簽名,而不驗證該鏈實際上是否遵循協議規則。為了讓用戶能夠真正驗證鏈是否遵循規則,我們必須做一些不同的事情。
選項1:壓縮Layer1,強制幾乎所有活動移動到Layer2
Vitalik Buterin與泰國證監會進行討論:Omise創始人發推文稱,以太坊網絡創始人Vitalik Buterin(V神)與泰國證監會進行了“卓有成效”的討論。此外據CCN,V神與泰國證監會的討論涉及自己的平臺和OmiseGo代幣。[2018/2/23]
隨著時間的推移,我們可以將Layer1每個區塊的gas目標從1500萬降低到100萬,足以讓一個區塊包含單個SNARK和一些存取款操作,但沒有太多其他操作,從而強制幾乎所有用戶活動轉移到Layer2協議。這樣的設計仍然可以支持在每個塊中提交許多rollup:我們可以使用由定制構建器運行的鏈下聚合協議來收集來自多個Layer2協議的SNARK,并將它們組合成單個SNARK。在這樣的世界里,Layer1的唯一功能就是成為Layer2協議的交換所,驗證它們的證明,偶爾促進它們之間的大規模資金轉移。
這種方法是可行的,但它有幾個重要的弱點:
?它實際上是向后不兼容的,因為許多現有的基于L1的應用程序在經濟上變得不可行的。由于費用變得過高,超過了清空這些賬戶的成本,高達數百或數千美元的用戶資金可能會陷入困境。這個問題可以通過讓用戶簽署消息來選擇在協議內大規模遷移到他們所選擇的L2來解決(請參閱這里的一些早期實施想法),但這增加了過渡的復雜性,而且要想讓它真正足夠便宜,無論如何都需要在Layer1進行某種SNARK。當涉及到SELFDESTRUCT操作碼這樣的事情時,我通常喜歡打破向后兼容性,但在這種情況下,這種權衡似乎不那么有利。
?它可能仍然無法使驗證變得足夠便宜。理想情況下,以太坊協議應該很容易驗證,不僅在筆記本電腦上,而且在手機、瀏覽器擴展,甚至在其他鏈中。第一次同步鏈,或者在長時間離線后同步鏈,也應該很容易。筆記本電腦節點可以在大約20毫秒內驗證100萬個gas,但即使如此,也意味著離線一天后需要54秒進行同步(假設單個插槽的最終結果將插槽時間增加到32秒),而對于手機或瀏覽器擴展來說,每個塊需要幾百毫秒,并且可能仍然是一個不可忽視的電池消耗。這些數字是可控的,但并不理想。
以太坊創始人Vitalik Buterin:加密貨幣不是用來炒的:以太坊(Ethereum)創始人維塔利克-巴特林(Vitalik Buterin)認為,加密貨幣技術正朝著錯誤的方向前進。巴特林在推特上發帖稱:“包括以太坊在內所有加密貨幣社區的人都聽著:需要注意,帶著數千億美元的數字紙上財富到處炫耀,和為社會做些有意義的事情之間是有區別的。”[2017/12/29]
?即使在L2優先的生態系統中,L1至少在一定程度上是負擔得起的。如果用戶在注意到新的狀態數據不再可用時可以提取他們的資金,那么Validiums可以從更強的安全模型中受益。如果經濟上可行的跨L2直接轉移的最小規模更小,套利就會變得更有效,特別是對于較小的代幣。
因此,嘗試找到一種使用ZK-SNARKs來驗證Layer1本身的方法似乎更合理。
選項2:SNARK–驗證Layer1
類型1(完全等效于以太坊)ZK-EVM可用于驗證(Layer1)以太坊塊的EVM執行。我們可以編寫更多的SNARK代碼來驗證區塊的共識側。這將是一個具有挑戰性的工程問題:今天,ZK-EVMs需要幾分鐘到幾個小時來驗證以太坊區塊,并且實時生成證明將需要一個或多個(i)改進以太坊本身,以刪除對SNARK不友好的組件,(ii)通過專用硬件大幅提高效率,以及(iii)架構改進,具有更多的并行化。然而,沒有根本的技術原因不能做到這一點——因此,我預計,即使需要很多年,它也會實現。
在這里我們看到了與多客戶端范例的交集:如果我們使用ZK-EVM來驗證Layer1,我們使用哪個ZK-EVM?
我有三個選擇:
1.單個ZK-EVM:放棄多客戶端范例,選擇單個ZK-EVM來驗證區塊。
2.封閉多ZK-EVM:對一組特定的多個ZK-EVM達成共識,并將其封存在共識層協議規則中,即一個區塊需要該集合中超過一半的ZK-EVM的證明才能被認為是有效的。
3.開放多ZK-EVM:不同的客戶端有不同的ZK-EVM實現,每個客戶端在接受一個有效的塊之前等待與自己的實現兼容的證明。
對我來說,(3)似乎是理想的,至少在我們的技術進步到可以形式證明所有ZK-EVM實現彼此等效的程度之前,我們可以選擇最有效的一個。(1)將犧牲多客戶端模式的好處,(2)將關閉開發新客戶端的可能性,并導致一個更加中心化的生態系統。(3)有挑戰,但這些挑戰似乎比其他兩種選擇的挑戰要小,至少目前是這樣。
實現(3)不會太難:每個類型的證明都有一個p2p子網絡,使用一種類型證明的客戶端會在相應的子網絡上監聽并等待,直到他們收到驗證者認為有效的證明。
(3)的兩個主要挑戰可能如下:
?延遲挑戰:惡意攻擊者可能會延遲發布區塊,以及對一個客戶端有效的證明。生成對其他客戶端有效的證明實際上需要很長時間(即使例如15秒)。這個時間足夠長,可能會創建一個臨時分叉,并中斷幾個插槽的鏈。
?數據效率低:ZK-SNARKs的一個好處是,只與驗證相關的數據(有時稱為“見證數據”)可以從塊中刪除。例如,一旦驗證了簽名,就不需要將簽名保存在一個塊中,只需存儲一個表示簽名有效的位,并在塊中存儲一個證明,以確認所有有效簽名都存在。然而,如果我們希望能夠為一個區塊生成多種類型的證明,原始簽名就需要實際發布。
延遲問題可以通過在設計單槽終端協議時謹慎處理來解決。單槽最終協議可能需要每個槽超過兩輪的共識,因此可以要求第一輪包括區塊,并且只要求節點在第三輪(或最后一輪)簽署之前驗證證明。這確保了在發布區塊的截止日期和預期證明可用的時間之間總是有一個重要的時間窗口。
數據效率問題必須通過采用單獨的協議聚合與驗證相關的數據來解決。對于簽名,我們可以使用ERC-4337已經支持的BLS聚合。另一個主要類別與驗證相關的數據是用于隱私的ZK-SNARKs。幸運的是,這些協議通常都有自己的聚合協議。
值得一提的是,SNARK驗證Layer1還有一個重要的好處:鏈上EVM執行不再需要每個節點進行驗證,這使EVM執行的數量可以大大增加。這可以通過大幅提高Layer1gas上限,或引入enshrinedrollups,或兩者兼而有之來實現。
結論
要讓一個開放的多客戶端ZK-EVM生態系統運行良好,需要做大量的工作。但真正的好消息是,大部分工作正在進行或即將進行:
?我們已經有了多個強大的ZK-EVM實現。這些實現還不是類型1(完全等效于以太坊),但其中許多正在積極地朝著這個方向發展。
?在輕客戶端(如Helios和Succinct)上的工作最終可能會變成以太坊鏈PoS共識端的更完整的SNARK驗證。
?客戶端可能會開始嘗試ZK-EVM來證明以太坊區塊的執行,特別是當我們有了無狀態的客戶端時,在技術上不需要直接重新執行每個區塊來維護狀態。我們可能會從客戶端通過重新執行來驗證以太坊區塊,過渡到大多數客戶端通過檢查SNARK證明來驗證以太坊區塊,這將是一個緩慢而漸進的過渡。
?ERC-4337和PBS生態系統可能很快就會開始使用BLS和證明聚合等聚合技術,以節省gas成本。在BLS聚合上,工作已經開始。
有了這些技術,未來看起來非常美好。以太坊區塊將比今天更小,任何人都可以在他們的筆記本電腦,甚至他們的手機或在瀏覽器擴展中運行一個完全驗證的節點,而這一切都將在保留以太坊多客戶端理念的同時發生。
從長遠來看,當然任何事情都有可能發生。也許人工智能會加強形式驗證,使其可以輕松證明ZK-EVM實現是等效的,并識別出導致它們之間差異的所有錯誤。這樣的項目甚至可能是現在就開始工作的東西。如果這種以核查為基礎的形式方法取得成功,就需要建立不同的機制,以確保議定書在上繼續去中心化的執行。也許到那時,協議將被認為是“完整的”,不可變性規范將更強。但即使這是更長遠的未來,開放的多客戶端ZK-EVM世界似乎是一個天然的墊腳石,無論如何都可能發生。
從近期來看,這仍是一段漫長的旅程。ZK-EVM已經在這里了,但是ZK-EVM要想在Layer1真正可行,就需要它們成為類型1,并且足夠快地證明它可以實時發生。有了足夠的并行化,這是可行的,但要達到這個目標仍然需要做很多工作。像提高KECCAK、SHA256和其他哈希函數預編譯的gas成本這樣的共識變化也將是圖景的重要組成部分。也就是說,過渡的第一步可能會比我們預期的發生得更快:一旦我們切換到Verkle樹和無狀態客戶端,客戶端就可以開始逐漸使用ZK-EVM,向“開放的多ZK-EVM”世界的過渡可能會自行開始。
Tags:以太坊LAYERNARARK比特幣以太坊再現斷崖式暴跌原因MetaPlayers.ggNarwhale.financeAlpha Quark Token
3月27日-4月2日當周,比較值得關注的動態如下:公鏈Sui推出永久測試網,主網啟動后將繼續運行;Sei基金會成立.
1900/1/1 0:00:00加密貨幣市場在過去幾年出現了顯著的增長,新的代幣不斷涌現。雖然市場上有許多加密貨幣,但其中一些具有更高的增長潛力并提供更好的投資機會.
1900/1/1 0:00:00全球最大的加密貨幣交易所Binance受到美國商品期貨交易委員會(CFTC)的抨擊,該委員會已對該公司、其首席執行官趙長鵬和其他員工提起訴訟.
1900/1/1 0:00:00Uniswap價格分析預測看跌趨勢。價格已降至5.89美元。對加密貨幣的支持目前為5.79美元。Uniswap價格分析顯示,自昨天以來,由于空頭一直在努力保持優勢,價格一直在下跌.
1900/1/1 0:00:00市場結構在四小時的時間框架內看跌。現貨市場的需求暗示了Cosmos的積累和可能的反彈。Cosmos在3月10日至3月14日期間上漲了31%后,在本月下半月的價格圖表上表現不佳.
1900/1/1 0:00:00「每周編輯精選」是Odaily星球日報的一檔“功能性”欄目。星球日報在每周覆蓋大量即時資訊的基礎上,也會發布許多優質的深度分析內容,但它們也許會藏在信息流和熱點新聞中,與你擦肩而過.
1900/1/1 0:00:00