原文標題: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證明以太坊區塊的正確性創建一個“多客戶端”生態系統?這個問題帶來了一些有趣的技術挑戰——當然還有一個迫在眉睫的問題,即這樣的權衡是否值得。
元宇宙基礎設施提供商MetaGravity完成950萬美元融資:金色財經報道,元宇宙基礎設施提供商MetaGravity完成950萬美元種子輪融資,本輪融資由Sino Global、Spartan Group LLC、Market One Capital等參投,本輪融資資金將用于擴大其工程和產品團隊,以開發支持未來大規模虛擬宇宙體驗所需的基礎設施層。[2023/4/21 14:17:58]
以太坊多客戶端理念的最初動機是什么?
以太坊的多客戶端理念是一種去中心化,就像一般的去中心化一樣,人們可以關注架構去中心化的技術效益,也可以關注去中心化的社會效益。最終,多客戶端的理念是由兩者驅動的,并為兩者服務。
技術去中心化的理由
技術去中心化的主要好處很簡單:它降低了某個軟件中的一個錯誤導致整個網絡災難性崩潰的風險。2010年比特幣溢出漏洞就是這種風險的典型例子。當時,比特幣客戶端代碼沒有檢查交易輸出的總和是否溢出(通過求和超過最大整數264-1,使其歸零),所以有人做了一筆交易,給自己數十億比特幣。這個漏洞在幾個小時內就被發現了,修復工作很快就完成了,并迅速部署到整個網絡中,但如果當時有一個成熟的生態系統,這些幣就會被交易所、橋和其他結構所接受,攻擊者可能已經帶走了很多錢。如果有五個不同的比特幣客戶端,它們不太可能都有相同的錯誤,因此會立即分叉,而分叉中有錯誤的一方可能會失敗。
使用多客戶端方法來最小化災難性錯誤的風險是有代價的:相反,你會遇到共識失敗錯誤。也就是說,如果你有兩個客戶端,則存在這樣一種風險,即客戶端對某些協議規則有細微的不同解釋,盡管這兩種解釋都是合理的并且不允許偷錢,但分歧將導致鏈分叉為兩半。在以太坊的歷史上,這種類型的嚴重分叉曾經發生過一次(還有其他更小的分裂,其中運行舊版本代碼的網絡的很小一部分被分叉了)。單客戶端方法的捍衛者認為,共識失敗是不采用多個客戶端實現的原因:如果只有一個客戶端,那么這個客戶端就不會有不同意見。他們關于客戶數量如何轉化為風險的模型可能是這樣的:
Vitalik:新加坡在加密貨幣監管方面的善意嘗試可能不會奏效:11月21日消息,以太坊創始人 Vitalik Buterin 近日在接受采訪時表示,新加坡在加密貨幣監管方面的善意嘗試可能不會奏效,因為新加坡監管機構試圖將“區塊鏈使用”和“加密貨幣”區分開,“如果沒有加密貨幣,那么你擁有的區塊鏈就是假的,沒有人會關心這些區塊鏈”。
此外,Vitalik Buterin 表示,監管機構既要支持新技術,又要打擊不良參與者,在兩者之間取得平衡難度很大,但他也表示新加坡很早就將自己定位為對加密貨幣友好的司法管轄區,只是最近幾個月才開始收緊盡管,監管機構只是試圖“阻止加密貨幣投機”,而不是完全禁止加密貨幣。(straitstimes.com)[2022/11/21 22:11:32]
當然,我不同意這種分析。我不同意的關鍵是(i)2010年那種災難性錯誤也很重要,并且(ii)你實際上永遠不會只有一個客戶端。后一點在2013年的比特幣分叉中表現得最為明顯:由于兩個不同版本的比特幣客戶端之間存在分歧,導致了鏈的分叉,其中一個版本意外的限制了對單個區塊中對象數量的修改。因此,理論上的一個客戶端實際上往往是兩個客戶端,理論上的五個客戶端實際上可能是六七個客戶端——所以我們應該冒險,走在風險曲線的右邊,至少有幾個不同的客戶端。
去中心化的理由
壟斷客戶端開發者處于一個具有很大權力的位置。如果客戶端開發人員提出更改,而用戶不同意,理論上他們可以拒絕下載更新版本,或者創建一個沒有它的分支,但在實踐中,用戶通常很難做到這一點。如果一個令人不滿意的協議更改與必要的安全更新捆綁在一起怎么辦?如果主要團隊威脅說如果不按他們的方式行事就退出怎么辦?或者,更簡單地說,如果壟斷客戶端團隊最終成為唯一擁有最大協議專業知識的團隊,讓生態系統的其他成員在判斷客戶端團隊提出的技術論點時處于不利地位,讓客戶端團隊有很大的空間來推動他們自己的特定目標和價值觀,而這些目標和價值觀可能與更廣泛的社區不匹配,該怎么辦?
Vitalik Buterin 回應推特改名,“真實姓名”并不代表護照姓名:6月10日消息,以太坊創始人 Vitalik Buterin 發推解釋推特名更改為“豚林 vitalik.eth”的原因。Vitalik 稱,請不要使用“真實姓名”來指代護照姓名,你的政府無權定義你“真正”是誰。如果你在大多數日常互動中使用不同的名字,那就是你的真實姓名。[2022/6/11 4:17:39]
對協議的擔憂,特別是在2013-14年比特幣OP_RETURN戰爭的背景下,一些參與者公開反對區塊鏈的特定用途,這是以太坊早期采用多客戶端理念的一個重要因素,其目的是讓一小部分人更難做出此類決定。以太坊生態系統特有的擔憂——即避免權力集中在以太坊基金會本身——為這一方向提供了進一步的支持。2018年,基金會做出了一項決定,故意不實施以太坊PoS協議(即,也就是現在所說的“共識客戶端”),將這項任務完全交給外部團隊。
未來ZK-EVM將如何進入Layer1?
如今,ZK-EVM用于Rollup。這通過允許昂貴的EVM執行僅在鏈下發生幾次來增加擴展性,而其他人只需驗證鏈上發布的SNARKs即可證明EVM執行計算的正確性。它還允許一些數據(特別是簽名)不包含在鏈上,從而節省了gas成本。這為我們提供了很多可擴展性的好處,將可擴展計算與ZK-EVM和可擴展數據與數據可用性采樣相結合,可以讓我們擴展得更遠。
然而,今天的以太坊網絡也有一個不同的問題,一個再多的Layer2擴容都無法自行解決的問題:Layer1難以驗證,以至于沒有多少用戶運行自己的節點。相反,大多數用戶只是信任第三方提供商。像Helios和Succinct這樣的輕客戶端正在采取措施解決這個問題,但是輕客戶端遠遠不是一個完全驗證節點:輕客戶端只是驗證一個稱為同步委員會的隨機驗證器子集的簽名,而不驗證該鏈實際上是否遵循協議規則。為了讓用戶能夠真正驗證鏈是否遵循規則,我們必須做一些不同的事情。
Vitalik:比特幣本質是一種金融工具:Vitalik Buterin在推特上回顧過去十年加密行業發展,他表示,金融在未來十年重要性會相對較低,加密貨幣領域需要適應這一現實。最終,加密貨幣會與更廣泛經濟趨勢高度相關。這并不意味著他們會免受其他事物(例如障礙/干擾)侵擾,但確實意味著敘事需要調整。Vitalik Buterin認為,比特幣本身主要是一種金融工具。以太坊本質上“金融性”沒有那么強,但即使如此,仍然存在一個事實,即區塊鏈合法地使很大一部分應用程序更好地涉及處理某種形式的貨幣/代幣/資金。[2020/6/3]
選項1:壓縮Layer1,強制幾乎所有活動移動到Layer2
隨著時間的推移,我們可以將Layer1每個區塊的gas目標從1500萬降低到100萬,足以讓一個區塊包含單個SNARK和一些存取款操作,但沒有太多其他操作,從而強制幾乎所有用戶活動轉移到Layer2協議。這樣的設計仍然可以支持在每個塊中提交許多rollup:我們可以使用由定制構建器運行的鏈下聚合協議來收集來自多個Layer2協議的SNARK,并將它們組合成單個SNARK。在這樣的世界里,Layer1的唯一功能就是成為Layer2協議的交換所,驗證它們的證明,偶爾促進它們之間的大規模資金轉移。
這種方法是可行的,但它有幾個重要的弱點:
?它實際上是向后不兼容的,因為許多現有的基于L1的應用程序在經濟上變得不可行的。由于費用變得過高,超過了清空這些賬戶的成本,高達數百或數千美元的用戶資金可能會陷入困境。這個問題可以通過讓用戶簽署消息來選擇在協議內大規模遷移到他們所選擇的L2來解決(請參閱這里的一些早期實施想法),但這增加了過渡的復雜性,而且要想讓它真正足夠便宜,無論如何都需要在Layer1進行某種SNARK。當涉及到SELFDESTRUCT操作碼這樣的事情時,我通常喜歡打破向后兼容性,但在這種情況下,這種權衡似乎不那么有利。
聲音 | Vitalik:Libra 短期不足以影響以太坊 DeFi 生態 傳統領域并非以太坊強項:以太坊創始人 Vitalik Buterin 在回答“Facebook 區塊鏈項目 Libra 會影響以太坊 DeFi 生態嗎?”時表示,他認為短期內不會有太大影響,畢竟 Libra 明年才會推出,推出后也只是發布代幣,再往后才會推出智能合約。而目前以太坊的 DeFi 的規模已經相當大,而且在這兩年只會越來越壯大,以太坊的生態也會有更多方向的發展。如果 Libra 與以太坊架起橋梁,以太坊也會進行相應開發,讓 Libra 用戶進入以太坊的生態。總體來說,參與 Facebook 的 Libra 生態成員的類型自然相對保守,因此他們會在 Libra 生態中搭建傳統的設施,而這并不是以太坊的強項。[2019/6/29]
?它可能仍然無法使驗證變得足夠便宜。理想情況下,以太坊協議應該很容易驗證,不僅在筆記本電腦上,而且在手機、瀏覽器擴展,甚至在其他鏈中。第一次同步鏈,或者在長時間離線后同步鏈,也應該很容易。筆記本電腦節點可以在大約20毫秒內驗證100萬個gas,但即使如此,也意味著離線一天后需要54秒進行同步(假設單個插槽的最終結果將插槽時間增加到32秒),而對于手機或瀏覽器擴展來說,每個塊需要幾百毫秒,并且可能仍然是一個不可忽視的電池消耗。這些數字是可控的,但并不理想。
?即使在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:以太坊LAYERVITARK以太坊價格今日行情幣幣情Dragon SlayerVITES價格Polkamarkets
4月3日,火必發布官方公告,宣布已與GalaGames協商完成pGALA增發攻擊事件受損用戶賠償計劃,賠償金額達5000萬美金.
1900/1/1 0:00:00?如果BTC、ETH、MATIC、HBAR和EOS突破各自的上方阻力位,它們可能會回升勢頭。 公眾呺:Web3團子 隨著硅谷銀行和SignatureBank倒閉,SilvergateBank因嚴.
1900/1/1 0:00:00美國PCE數據公布引爆幣圈走勢?美股一季度收官!納指創近三年來最佳季度表現,2月通脹超預期回落*2月核心PCE同比上漲4.6%,為近一年半最小漲幅*納指一季度漲16.8%.
1900/1/1 0:00:00ForesightNews消息,據Beosin-EagleEye態勢感知平臺消息,MEV機器人遭受惡意三明治攻擊,損失金額約2500萬美元,Beosin安全團隊第一時間對事件進行了簡析.
1900/1/1 0:00:00伊隆馬斯克以分享他對一系列主題的觀點而聞名,包括模因硬幣。具體來說,馬斯克對狗狗幣和他的寵物狗的評論此前已經影響了這些模因幣的價格.
1900/1/1 0:00:00金色財經報道,Arbitrum就一項為新成立的去中心化自治組織(DAO)引入管理機構的提案進行了投票.
1900/1/1 0:00:00