作者:Ethereum創始人Vitalik;編譯:鄧通,金色財經
按:本文為Ethereum創始人Vitalik近期發表的“Ethereum協議的未來發展”系列文章的第六部分“PossiblefuturesoftheEthereumprotocol,part6:TheSplurge”,第五部分見“Vitalik:Ethereum協議可能的未來—ThePurge”,第四部分見“Vitalik:Ethereum可能的未來TheVerge”。第三部分見“Vitalik:EthereumTheScourge階段的關鍵目標”,第二部分見“Vitalik:TheSurge階段Ethereum協議應該怎么發展”,第一部分見“EthereumPoS還有哪些可以改進”。以下為第六部分全文:
特別感謝JustinDrake和TimBeiko的反饋和評論。
有些事情很難歸入一個類別。Ethereum協議設計中有很多“小事情”對Ethereum的成功非常有價值,但并不適合歸入更大的子類別。實際上,其中大約一半最終與各種EVM改進有關,其余則由各種小眾主題組成。這就是“theSplurge”的目的。
EOF代碼的結構
舊式合約將繼續存在并可創建,盡管最終可能會棄用舊式合約(甚至可能強制將其轉換為EOF代碼)。新式合約將受益于EOF帶來的效率提升——首先,利用子程序功能,字節碼會略小,然后是新的EOF特定功能,或者EOF特定的gas成本會降低。
引入EOF后,引入進一步的升級變得更加容易。目前最完善的是EVM模塊化算術擴展(EVM-MAX)。EVM-MAX創建了一組專為模塊化算術設計的新操作,并將它們放入無法通過其他操作碼訪問的新內存空間中。這允許使用優化,例如蒙哥馬利乘法。
一個較新的想法是將EVM-MAX與單指令多數據(SIMD)功能相結合。從GregColvin的EIP-616開始,SIMD一直是Ethereum的一個想法。SIMD可用于加速多種形式的加密,包括哈希函數、32位STARK和基于點陣的加密。EVM-MAX與SIMD共同構成了EVM的一對以性能為導向的擴展。
組合EIP的近似設計是以EIP-6690為起點,然后:
允許(i)任何奇數或(ii)2的任何冪(最高2^768)作為模數
對于每個EVMMAX操作碼(add、sub、mul),添加一個版本,該版本不是采用3個立即數x、y、z,而是采用7個立即數:x_start、x_skip、y_start、y_skip、z_start、z_skip、count。在Python代碼中,這些操作碼將執行相當于以下操作的操作:
https://evmobjectformat.org/
EVM-MAX:https://eips.ethereum.org/EIPS/eip-6690
SIMD:https://eips.ethereum.org/EIPS/eip-616還剩下什么要做,又有哪些權衡?
目前,EOF計劃包含在下一次硬分叉中。雖然總是有可能將其刪除——以前硬分叉中的功能在最后一刻就被刪除了——但這樣做將是一場艱苦的戰斗。刪除EOF意味著將來對EVM進行任何升級時都不能使用EOF,這可以做到,但可能更困難。
EVM的主要權衡是L1復雜性與基礎設施復雜性。EOF是添加到EVM實現中的大量代碼,并且靜態代碼檢查非常復雜。然而,作為交換,我們獲得了對高級語言的簡化、對EVM實現的簡化以及其他好處。可以說,優先考慮持續改進EthereumL1的路線圖將包括并建立在EOF之上。
一項重要的工作是實現類似EVM-MAX加SIMD的東西,并基準化各種加密操作需要多少gas。它如何與路線圖的其他部分互動?
L1調整其EVM使L2更容易進行同樣的調整。一個調整而另一個調整會產生一些不兼容性,這有其自身的缺點。此外,EVM-MAX加上SIMD可以降低許多證明系統的gas成本,從而實現更高效的L2。它還可以更輕松地刪除更多預編譯,方法是將它們替換為可以執行相同任務的EVM代碼,而不必對效率造成很大的影響。賬戶抽象它解決了什么問題?
目前,交易只能通過一種方式進行驗證:ECDSA簽名。最初,賬戶抽象旨在超越這一點,并允許賬戶的驗證邏輯為任意EVM代碼。這可以實現一系列應用:
切換到抗量子加密技術;
輪換舊密鑰(被廣泛認為是一種推薦的安全做法);
多重簽名錢包和社交恢復錢包;
使用一個密鑰對低價值操作進行簽名,使用另一個密鑰(或一組密鑰)對高價值操作進行簽名;
允許隱私協議在沒有中繼器的情況下工作,大大降低其復雜性并消除關鍵的中心依賴點。
自2015年開始賬戶抽象以來,目標已經擴大到包括大量“便利目標”,例如沒有ETH但有一些ERC20的賬戶能夠用該ERC20支付gas。這些目標的摘要如下表所示:
如果有1000個賬戶的驗證函數全部依賴于某個單一值S,并且內存池中存在根據S的當前值有效的交易,那么一個翻轉S值的交易可能會使內存池中的所有其他交易無效。這允許攻擊者以非常低的成本向內存池發送垃圾郵件,堵塞網絡Node的資源。
多年來,在限制DoS風險的同時,試圖擴展功能的努力已經導致人們就如何實現“理想賬戶抽象”的解決方案達成一致:ERC-4337。
ERC-4337的工作方式是將用戶操作的處理分為兩個階段:驗證和執行。首先處理所有驗證,然后處理所有執行。在內存池中,只有當用戶操作的驗證階段僅觸及自己的賬戶并且不讀取環境變量時,用戶操作才會被接受。這可以防止多重無效攻擊。驗證步驟還強制執行嚴格的gas限制。
ERC-4337被設計為協議外標準(ERC),因為當時Ethereum客戶端開發人員專注于合并,沒有多余的能力來處理其他功能。這就是為什么ERC-4337使用自己的對象(稱為用戶操作)而不是常規交易的原因。然而,最近我們意識到有必要將其至少部分內容納入協議中。兩個主要原因是:
EntryPoint作為合約的固有低效率:每個包的固定~100kgas開銷和每個用戶操作的數千額外費用;
需要確保Ethereum屬性(例如由包含列表創建的包含保證)延續到賬戶抽象用戶。
此外,ERC-4337還擴展了兩個功能:
付款人:允許一個賬戶代表另一個賬戶支付費用的功能。這違反了在驗證階段只能訪問發送方賬戶本身的規則,因此引入了特殊處理以允許付款人機制并確保其安全。
聚合器:支持簽名聚合的功能,例如BLS聚合或基于SNARK的聚合。這是在匯總上實現最高數據效率所必需的。現有哪些研究?
賬戶抽象歷史介紹:https://www.youtube.com/watch?v=iLf8qpOmxQc
ERC-4337:https://eips.ethereum.org/EIPS/eip-4337
EIP-7702:https://eips.ethereum.org/EIPS/eip-7702
BLSWallet代碼(使用聚合功能):https://github.com/getwax/bls-wallet
EIP-7562(嵌入賬戶抽象):https://eips.ethereum.org/EIPS/eip-7562
EIP-7701(基于EOF的嵌入AA):https://eips.ethereum.org/EIPS/eip-7701還剩下什么要做,又有哪些權衡?
剩下的主要問題是如何將賬戶抽象完全納入協議。最近流行的賬戶抽象EIP是EIP-7701,它在EOF之上實現賬戶抽象。賬戶可以有一個單獨的代碼部分用于驗證,如果賬戶設置了該代碼部分,那么該代碼就會在該賬戶交易的驗證步驟中執行。
然而,EIP-1559的當前實施在幾個方面并不完善:
該公式略有缺陷:它不是以50%的區塊為目標,而是根據方差以~50-53%的完整區塊為目標(這與數學家所說的“AM-GM不等式”有關);
它在極端條件下調整得不夠快。
后來用于blob的公式(EIP-4844)明確設計用于解決第一個問題,并且總體上更簡潔。EIP-1559本身和EIP-4844都沒有嘗試解決第二個問題。因此,現狀是一種令人困惑的半途而廢狀態,涉及兩種不同的機制,甚至有一種情況是,隨著時間的推移,兩者都需要改進。
除此之外,Ethereum資源定價還有其他與EIP-1559無關的弱點,但可以通過調整EIP-1559來解決。一個主要問題是平均情況與最壞情況的差異:Ethereum中的資源價格必須設置為能夠處理最壞情況,即一個區塊的整個gas消耗占用一種資源,但平均情況下的使用量遠低于此,從而導致效率低下。
https://notes.ethereum.org/@vbuterin/eip-1559-faq
EIP-1559實證分析:https://dl.acm.org/doi/10.1145/3548606.3559341
建議的改進措施以允許快速調整:https://kclpure.kcl.ac.uk/ws/portalfiles/portal/180741021/Transaction_Fees_on_a_Honeymoon_Ethereums_EIP_1559_One_Month_Later.pdf
EIP-4844常見問題解答,關于基礎費用機制的部分:https://notes.ethereum.org/@vbuterin/proto_danksharding_faq#How-does-the-exponential-EIP-1559-blob-fee-adjustment-mechanism-work
EIP-7706:https://eips.ethereum.org/EIPS/eip-7706
EIP-7623:https://eips.ethereum.org/EIPS/eip-7623
多維Gas:https://vitalik.eth.limo/general/2024/05/09/multidim.html還剩下什么要做,又有哪些權衡?
多維gas有兩個主要權衡:
它增加了協議的復雜性
它增加了填充塊到容量所需的最佳算法的復雜性
對于calldata來說,協議復雜性是一個相對較小的問題,但對于“EVM內部”的gas維度(例如存儲讀寫)來說,則是一個更大的問題。問題在于,不僅僅是用戶設置gas限制:合約在調用其他合約時也會設置限制。而如今,他們設置限制的唯一方式是一維的。
消除此問題的一種簡單方法是使多維gas僅在EOF內部可用,因為EOF不允許合約在調用其他合約時設置gas限制。非EOF合約在進行存儲操作時必須支付所有類型的gas費用(例如,如果SLOAD花費了區塊存儲訪問gas限制的0.03%,則非EOF用戶也將被收取執行gas限制的0.03%)
對多維gas進行更多研究將有助于理解權衡并找出理想的平衡。它如何與路線圖的其他部分互動?
成功實施多維Gas可以大大減少某些“最壞情況”的資源使用,從而減輕優化性能以支持例如基于STARKed哈希的二叉樹的壓力。為狀態大小增長設定一個硬性目標將使客戶端開發人員更容易規劃和估計他們未來的需求。
如上所述,由于EOF具有Gas不可觀測性,因此更極端的多維Gas版本更容易實施。可驗證延遲函數(VDF)它解決了什么問題?
如今,Ethereum使用基于RANDAO的隨機性來選擇提議者。基于RANDAO的隨機性的工作原理是要求每個提議者透露他們提前承諾的秘密,并將每個透露的秘密混入隨機性中。因此,每個提議者都有“1位操縱權”:他們可以通過不露面來改變隨機性(需要付出代價)。這對于尋找提議者來說是合理的,因為很少有人能通過放棄一個提議機會來給自己兩個新的提議機會。但對于需要隨機性的鏈上應用程序來說,這是不行的。理想情況下,我們會找到更強大的隨機性來源。它是什么?它是如何工作的?
可驗證延遲函數是一種只能按順序計算的函數,無法通過并行化加速。一個簡單的例子是重復哈希:計算范圍(10**9)中的i:x=hash(x)。輸出經過SNARK正確性證明,可用作隨機值。這個想法是,輸入是根據時間T時可用的信息選擇的,而輸出在時間T時尚不清楚:只有在有人完全運行計算后,它才會在T之后的某個時間可用。因為任何人都可以運行計算,所以不可能隱瞞結果,因此也沒有能力操縱結果。
可驗證延遲函數的主要風險是意外優化:有人想出了如何以比預期快得多的速度運行該函數,從而允許他們根據未來輸出操縱他們在時間T時透露的信息。意外優化可能以兩種方式發生:
硬件加速:有人制造出一種ASIC,其計算循環的運行速度比現有硬件快得多。
意外的并行化:有人通過并行化找到了一種更快地運行該函數的方法,即使這樣做需要100倍以上的資源。
創建成功的VDF的任務是避免這兩個問題,同時保持效率實用(例如,基于哈希的方法的一個問題是實時的SNARK證明對硬件的要求很高)。硬件加速通常通過讓公共利益參與者自己為VDF創建和分發合理接近最優的ASIC來解決。現有哪些研究?
vdfresearch.org:https://vdfresearch.org/
2018年對Ethereum中使用的VDF的攻擊思考:https://ethresear.ch/t/verifiable-delay-functions-and-attacks/2365
對MinRoot(一種擬議的VDF)的攻擊:https://inria.hal.science/hal-04320126/file/minrootanalysis2023.pdf還剩下什么要做,又有哪些權衡?
目前,還沒有一種VDF結構能夠完全滿足Ethereum研究人員的所有需求。還需要做更多的工作來找到這樣的功能。如果我們有它,主要的權衡只是是否包含它:功能與協議復雜性和安全風險之間的簡單權衡。如果我們認為VDF是安全的,但最終卻不安全,那么根據它的實施方式,安全性會降級為RANDAO假設(每個攻擊者1位操縱)或更糟糕的情況。因此,即使VDF被破壞也不會破壞協議,但它會破壞應用程序或任何嚴重依賴它的新協議功能。它如何與路線圖的其他部分交互?
VDF是Ethereum協議中相對獨立的組成部分,但除了提高提議者選擇的安全性之外,它還可用于(i)依賴于隨機性的鏈上應用程序,以及潛在的(ii)加密內存池,盡管基于VDF制作加密內存池仍然依賴于尚未發生的其他加密發現。
需要記住的一點是,鑒于硬件的不確定性,在生成VDF輸出和需要輸出之間會有一些“間隙”。這意味著信息將在幾個區塊之前可用。這可能是一個可接受的成本,但應該在單槽最終性或委員會選擇設計等中加以考慮。混淆和一次性簽名:密碼學的未來它解決了什么問題?
尼克·薩博最著名的帖子之一是1997年的一篇關于“上帝協議”的文章。在這篇文章中,他指出,多方應用程序通常依賴“受信任的第三方”來管理交互。在他看來,密碼學的作用是創建一個模擬的受信任第三方來做同樣的工作,而實際上不需要對任何特定參與者的信任。
它是什么?它是如何工作的?
ZK-SNARK是我們已經擁有的三種協議之一,并且已經達到很高的成熟度。在過去五年中,ZK-SNARK在證明速度和開發人員友好度方面取得了巨大進步,已成為Ethereum可擴展性和隱私策略的基石。但ZK-SNARK有一個重要的限制:您需要了解數據才能對其進行證明。ZK-SNARK應用程序中的每個狀態都必須有一個“所有者”,該所有者必須在場批準對其的任何讀取或寫入。
第二個協議沒有這個限制,即完全同態加密(FHE)。FHE允許您在不查看數據的情況下對加密數據進行任何計算。這允許您在用戶數據上進行計算,以造福用戶,同時保持數據和算法的私密性。它還允許您擴展MACI等投票系統,以獲得近乎完美的安全性和隱私保障。長期以來,FHE被認為效率太低,不適合實際使用,但現在它終于變得足夠高效,我們開始看到應用。
Cursive是一款使用雙方計算和FHE進行共同興趣的隱私保護發現的應用程序。
但FHE也有其局限性:任何基于FHE的技術仍然需要有人持有解密密鑰。這可能是一個M-of-N分布式設置,你甚至可以使用TEE添加第二層防御,但這仍然是一個限制。
這讓我們得到了第三個協議,它比其他兩個協議加起來更強大:不可區分混淆。雖然它還遠遠沒有成熟,但截至2020年,我們根據標準安全假設制定了理論上有效的協議,并且最近開始實施工作。不可區分混淆讓你可以創建一個執行任意計算的“加密程序”,這樣程序的所有內部細節都被隱藏了。舉一個簡單的例子,你可以把私鑰放入一個混淆的程序中,這個程序只允許你用它來簽署素數,并將這個程序分發給其他人。他們可以使用該程序對任何素數進行簽名,但不能取出密鑰。但它的功能遠不止于此:與哈希一起使用,它可以用于實現任何其他加密原語,甚至更多。
混淆程序唯一不能做的就是防止自己被復制。但為此,還有更強大的東西即將出現,盡管這取決于每個人都擁有量子計算機:量子一次性簽名。
https://eprint.iacr.org/2021/1334.pdf
混淆如何幫助Ethereum:https://ethresear.ch/t/how-obfuscation-can-help-ethereum/7380
首次已知的一次性簽名構造:https://eprint.iacr.org/2020/107.pdf
混淆的嘗試實施(1):https://mediatum.ub.tum.de/doc/1246288/1246288.pdf
混淆的嘗試實施(2):https://github.com/SoraSuegami/iOMaker/tree/main還剩下什么要做,又有哪些權衡?
還有很多事情要做。不可區分性混淆非常不成熟,候選構造的速度比應用程序慢數百萬倍(甚至更多)。不可區分性混淆以“理論上”多項式時間的運行時間而聞名,但在實踐中運行所需的時間比宇宙的壽命還要長。較新的協議使運行時間不那么極端,但對于常規使用來說,開銷仍然太高:一位實施者預計運行時間為一年。
量子計算機甚至不存在:您今天在互聯網上可能讀到的所有構造要么是無法進行任何大于4位的計算的原型,要么不是真正的量子計算機,雖然它們可能包含量子部分,但它們無法運行真正有意義的計算,如Shor算法或Grover算法。最近,有跡象表明“真正的”量子計算機不再那么遙遠。然而,即使“真正的”量子計算機很快問世,普通人在他們的筆記本電腦或手機上擁有量子計算機的日子可能要比強大的機構獲得能夠破解橢圓曲線密碼的量子計算機晚幾十年。
對于不可區分性混淆,一個關鍵的權衡是安全假設。有更激進的設計使用奇特的假設。這些通常具有更現實的運行時間,但奇特的假設有時會被打破。隨著時間的推移,我們最終可能會對格有足夠的了解,從而做出不會被打破的假設。然而,這條路更危險。更保守的方法是堅持使用安全性可證明為“標準”假設的協議,但這可能意味著我們需要更長的時間才能獲得運行速度足夠快的協議。它如何與路線圖的其他部分互動?
極其強大的加密技術可能會徹底改變游戲規則。例如:
如果我們獲得像簽名一樣易于驗證的ZK-SNARK,我們可能不需要任何聚合協議;我們可以直接在鏈上驗證。
一次性簽名可能意味著更安全的權益證明協議。
許多復雜的隱私協議可以被“僅”擁有隱私保護EVM所取代。
加密的內存池變得更容易實現。
首先,好處將出現在應用層上,因為EthereumL1本質上需要在安全假設上保守。然而,即使僅使用應用層也可能改變游戲規則,就像ZK-SNARK的出現一樣。
免責聲明:Vitalik:Ethereum協議可能的未來—The Splurge文章轉發自互聯網,版權歸其所有。
文章內容不代表本站立場和任何投資暗示。加密貨幣市場極其波動,風險很高,可能不適合所有投資者。在投資加密貨幣之前,請確保自己充分了解市場和投資的風險,并考慮自己的財務狀況和風險承受能力。此外,請遵循您所在國家的法律法規,以及遵守交易所和錢包提供商的規定。對于任何因使用加密貨幣所造成的投資損失或其他損失,本站不承擔任何責任。
Copyright © 2021.Company 元宇宙YITB.COM All rights reserved.元宇宙YITB.COM