EthCC7近日在布鲁塞尔举行,主办方邀请到以太坊创始人Vitalik进行了主题演讲。值得注意的是,2024年正值以太坊ICO 10周年,在Vitalik演讲结束后,曾经的以太坊三位核心创始人Vitalik Buterin、Joseph Lubin和Gavin Wood再度同框合影纪念。本文为以太坊创始人Vitalik近日在EthCC7上的主题演讲,金色财经0xxz编译。
演讲主题:强化L1:优化以太坊,使其成为高度可靠、值得信赖且无需许可的Layer 2基础层
我认为,关于未来五到十年以太坊基础层在生态系统中可能扮演的角色,有一个可能的不同分工的谱系。你可以将它视为从左到右的一种光谱。
在光谱左边,它基本上尝试成为一个非常简约的基础层,基本上只是作为所有L2的proof验证者。也许还提供在不同L2之间转移ETH的能力。但除此之外,基本上就这么多。
在光谱右边,基本上重新聚焦于主要在L1上运行的dApps,而L2只用于一些非常特定和高性能的事务。
在光谱中间有一些有趣的选项。我把以太坊作为L2的基础层放在左二。最左边我放了一个极端版本,极端版本是我们彻底抛弃整个以太坊的执行客户端部分,只保留共识部分,再添加一些零知识证明验证者,基本上把整个执行层也变成一个Rollup。
我的意思是非常极端的选项在左边,而在右边它可以是一个基础层,但也可以尝试为L2提供更多功能。在这个方向上的一个想法是进一步减少以太坊的swap时间,目前是12秒,可能会降到2-4秒。这样做的目的实际上使基础rollups作为L2运作的主要方式变得可行。所以现在,如果你想要L2有顶级的用户体验,你需要有自己的预确认,这意味着要么是一个中心化的排序器,要么是自己的去中心化排序器。如果它们的共识速度加快了,那么L2将不再需要这样做。如果你真的想要增强L1的可扩展性,那么对L2的需求也会减少。
所以,这是一种光谱。目前我主要关注左二的版本,但我在这里建议的事情也适用于其他愿景,并且这里的建议实际上并不会阻碍其他愿景。这是我认为很重要的一点。
以太坊的鲁棒性优势
以太坊一个大的优势是,有一个庞大且相对去中心化的质押生态系统。
上图左边是所有比特币矿池算力图表,右边是以太坊质押者图表。
比特币算力分布目前不是很好,两个矿池加起来超过50%算力,四个矿池加起来超过75%。
而以太坊的情况实际上比图表显示的更好,因为第二大部分灰色部分实际上是未识别的,这意味着它可能是很多人的组合,甚至可能有很多独立质押者在里面。而蓝色部分Lido实际上是一个奇怪的、松散协调的结构,由37个不同的验证者组成。所以,以太坊实际上有一个相对去中心化的质押生态系统,表现相当好。
我们可以在这方面做很多改进,但我认为认识到这一点仍然有价值。这是我们真正可以在其基础上构建的独特优势之一。
以太坊的鲁棒性优势还包括:
拥有一个多客户端的生态系统:有Geth执行客户端,也有非Geth执行客户端,非Geth执行客户端占比甚至超过Geth执行客户端。类似的情况也发生在共识客户端系统中;
国际化社区:人们在很多不同的国家,包括项目、L2、团队等;
多中心的知识生态系统:有以太坊基金会,有客户端团队,甚至像Paradigm的Reth团队近期在开源方面也在不断增加领导力;
重视这些属性的文化
所以,以太坊生态系统作为基础层已经拥有这些非常强大的优势。我认为这是非常有价值的事情,不应轻易放弃。我甚至可以说,有明确的步骤可以采取来进一步推进这些优势,甚至可以弥补我们的弱点。
以太坊L1哪里没有达到高标准,如何改进?
这是我在大约半年前在Farcaster上做的一个民意调查:如果你没有进行Solo质押,是什么阻止了你进行Solo质押?
我可以在这个会场重复这个问题,谁在进行Solo质押?如果没有进行Solo质押,你们谁觉得32个ETH的门槛是最大的障碍,谁觉得运行一个节点太难是最大的障碍,谁觉得最大的障碍是不能同时将你的ETH投入DeFi协议中?谁觉得最大的障碍是担心必须将私钥放在运行中的节点上更容易被盗?
可以看到,一致认同的前两大障碍是:32个ETH的最低要求和节点操作的难度。认识到这一点总是很重要的。
很多时候我们在开始深入探讨如何最大限度地让人们可以在DeFi协议中双重使用他们的抵押品的时候,会发现有大量的人甚至根本不使用DeFi协议。所以让我们聚焦于主要问题,我们可以做些什么来尝试解决这些问题。
从运行一个验证节点,或者说,从32个ETH的门槛开始。实际上,这两个问题是相关的,因为它们都是以太坊权益证明(Proof of Stake)中验证者数量的函数。
今天我们有大约100万个验证者实体,每个实体都有32个ETH的存款,所以如果最低要求改为4个ETH,那么我们会有800万个或者可能超过800万个,可能是900万或1000万个验证者。如果我们想要减少到10万个验证者,那么最低要求可能要上升到300个ETH左右。
所以,这是一个权衡。以太坊历史上试图处于权衡的中间位置。但是,如果我们能找到任何改进的方法,那么我们就会有额外的统计点,可以选择用于减少最低要求,或者用于使运行节点更容易。
实际上,现在我认为,聚合签名甚至不是运行节点的主要难度。在开始时,我们可能会更多地关注减少最低要求,但最终两者都会涉及。
所以,有两种技术可以改善这两个方面。
一种技术上是在不需要每个验证者都签名的情况下允许质押或者允许最终确定性。基本上,你需要某种随机抽样,随机抽样足够的节点,以达到显著的经济安全性。
现在,我认为我们有远远足够的经济安全性。进行一次51%攻击的成本,以slash的ETH数量计算,是3200万个ETH的三分之一,大约是1100万个ETH。谁会花1100万个ETH破坏以太坊区块链。即使是美国政府,没有人愿意。
这些抽样技术类似于,如果你有一栋房子,如果前门有四层钢板防护,但窗户只是一个劣质玻璃,别人可以用棒球棒轻松打破。我认为以太坊在某种程度上就是这样的,如果你想进行51%攻击,你必须损失1100万个ETH。但实际上,还有很多其他攻击协议的方法,我们真的应该更多地加强这些防护。所以相反,如果你有一个子集的验证者进行最终确定性,那么协议仍然足够安全,并且你可以真正提高去中心化的水平。
第二种技术是更好的签名聚合。你可以做一些高级的东西比如Starks,而不是每个插槽支持3万个签名,最终我们可能能够支持更多的签名。这是第一部分。
第二部分是使运行节点更容易。
第一步是历史过期,实际上EIP-4444,这方面已经有很多进展。
第二步是无状态客户端。Verkle已经存在很长时间了,另一种可能的选择是做一个类似Poseidon的二进制哈希树,Stark友好的哈希函数。一旦你有了这个,为了验证以太坊区块,你不再需要硬盘。之后还可以添加一种Type 1 ZKVM,可以Stark验证整个以太坊区块,这样你可以通过下载数据,甚至数据可用性抽样数据来验证任意大的以太坊区块,然后你只需要验证一个证明。
如果这样做,运行节点会变得更加容易。如果有无状态客户端,目前的一个非常烦人的事情是,如果你想更换硬件或软件设置,通常你要么需要从头开始并损失一天,要么需要做一些非常危险的事情,把密钥放在两个地方,这样会被Slah,如果我们有无状态客户端,你不再需要这样做。
你可以简单地启动一个新的独立的客户端,关闭旧的,把密钥移过来,启动新的。你只会损失一个epoch。
一旦有了ZKVM,硬件需求基本上降到几乎为零。
所以,32个ETH的门槛和节点运行的难度,这两个问题在技术上都可以解决。我认为这样做有很多其他好处,这将真正改善我们提高人们单独质押的能力,会给我们一个更好的单独质押生态系统,规避质押中心化风险。
权益证明还有其他挑战,比如流动质押相关的风险,MEV相关的风险。这些也是需要继续考虑的重要问题。我们的研究人员在考虑这些。
从51%攻击中恢复
我真的开始认真严谨地思考。令人惊讶的是,许多人根本不去思考这个话题,只是把它当作一个黑匣子。
如果真的遭遇了51%的攻击会发生什么呢?
以太坊可能遭遇51%攻击,比特币可能遭遇51%攻击,一个政府也可能遭遇51%攻击,比如收买51%的政客。
一个问题是,你不想仅仅依赖预防,你也希望有一个恢复方案。
一个常见的误解是,人们认为51%攻击是关于逆转最终确定性。人们关注这个是因为,这是中本聪在白皮书中强调的东西。你可以进行双重花费,在我买了私人飞机之后,我进行了51%攻击,拿回我的比特币,还可以保留我的私人飞机,并到处飞行。
实际上更现实的攻击可能涉及在交易所上存款和像破坏DeFi协议之类的事情。
但是,逆转实际上不是最糟糕的事情。我们应该担心的最大风险实际上是审查。51%的节点停止接受来自其他49%节点的区块或者任何尝试包含某种类型交易的节点。
为什么这是最大的风险?因为最终确定性逆转有Slash,有立即链上可验证的证据,至少有三分之一的节点做了一些非常非常错误的事情,它们被惩罚。
而在审查攻击中,这不是程序上可归因的,没有立即的程序性证据可以说哪些人做了坏事。现在,如果你是一个在线节点,如果你想看到某个交易在100个区块内没有被包含,但是,我们甚至没有编写软件来进行这种检查,审查的另一个挑战是,如果有人想攻击,他们可以这样做,他们从延迟不喜欢的交易和区块30秒开始,然后延迟一分钟,然后延迟两分钟,你甚至没有共识何时响应。
所以,我说,实际上审查是更大的风险。
区块链文化中有一个论点是,如果发生攻击,社区会团结起来,他们显然会进行少数软分叉,并削减攻击者。
这可能在今天是真的,但是这依赖于很多关于协调、意识形态、各种其他事情的假设,并且不清楚在10年后这样的事情会有多真实。所以很多其他区块链社区开始做的事情是,他们说,我们有像审查这样的事情,有这些本质上更不可归因的错误。因此,我们必须依赖社会共识。因此,让我们只依靠社会共识,并且自豪地承认我们将使用它来解决我们的问题。
实际上,我主张朝相反的方向前进。我们知道,完全协调自动响应和自动分叉一个正在进行审查的大多数攻击者在数学上是不可能的。但我们可以尽量接近这一点。
你可以创建一個基於某些關於網絡條件的假設的硬分叉實際上帶來了至少大多數在線節點。我在這裡想要傳達的論點是,我們實際上想要的是,盡量使對51%攻擊的響應變得盡可能自動化。
如果你是一個驗證者,那麼你的節點應該運行軟件,如果它檢測到交易被審查或者某些驗證者被審查,它會自動地對大多數鏈進行反審查,所有誠實的節點將自動由於他們運行的代碼而在同一個少數軟分叉上協調。
當然,再次存在數學上的不可能性結果,至少任何在當時離線的人將無法分辨誰是對的,誰是錯的。
存在很多限制,但越接近這個目標,社會共識需要做的工作量就越少。
如果你想像51%攻擊實際發生的情況。它不會像下面一樣,突然間在某個時間點,Lido、Coinbase和Kraken會在5:46發布博客文章,基本上說,嘿夥計們,我們現在在進行審查。
會發生的實際情況可能是,你會同時看到一個社交媒體戰爭,你會同時看到各種其他攻擊。如果實際上51%攻擊確實發生了,順便說一句,我的意思是,我們不應該假設Lido、Coinbase和Kraken將在10年內掌權。以太坊生態系統將變得越來越主流,它需要對這一點有很強的適應能力。我們希望社會層的負擔盡可能輕,這意味著我們需要技術層,至少提出一個明顯的獲勝候選人,如果他們想從一個正在進行審查的鏈上分叉出來,他們應該集結在少數軟分叉上。
我倡導我們進行更多研究並提出一個非常具體的建議。
提議:將Quorum門檻提高到75%或80%
我認為,可以將Quorum的門檻從今天的三分之二提高到75%或80%左右。
基本論點是,如果惡意鏈比如審查鏈進行攻擊,恢復會變得非常非常困難。然而,另一方面,如果你增加Quorum的比例,風險是什麼呢?如果Quorum是80%,那麼不是34%的節點離線就可以停止最終確定性,而是21%的節點離線就可以停止最終確定性。
這有風險。讓我們看看實踐中會怎樣?從我所了解的情況來看,我認為我們只有一次由於超過三分之一的節點離線導致最終確定性停止了大約一個小時。然後,有沒有任何事件涉及20%到33%的節點離線?我認為最多一次,最少零次。因為在實踐中,很少有驗證者離線,我實際上認為,做這件事的風險相當低。收益基本上是,攻擊者需要達到的門檻大大提高,並且在客戶端出現漏洞的情況下,鏈進入安全模式的場景範圍大大增加,因此人們可以真正合作找出問題所在。
如果Quorum的門檻從67%提高到80%,那麼,假設一個客戶端需要達到的比例從67%提高到80%,那麼少數客戶端的價值或者少數客戶端可以提供的價值,真正開始增加了。
其他的審查擔憂
其他的審查擔憂,要麼是包含列表,要麼是包含列表的某種替代方案。所以,整個多平行提議者的東西,如果有效,可能甚至會成為包含列表的替代品。你需要,要麼賬戶抽象,你需要某種協議內的賬戶抽象。
你需要它的原因是,因為現在,智能合約錢包沒有真正從包含列表中受益。任何一種協議層的審查抵抗保證,智能合約錢包都沒有真正受益。
如果有協議內的賬戶抽象,那麼它們就會受益。所以,有很多事情,實際上很多這些東西在L2中心的願景和L1中心的願景中都是有價值的。
我認為,在我談論的不同想法中,大約一半可能是專門針對以太坊專注於L2,但另一半基本上是,適用於L2作為以太坊基礎層的用戶和L1,或者,像直接面向用戶的應用作為用戶。
隨處使用輕客戶端
在很多方面,我們與空間互動的方式有點令人難過,我們是去中心化的,我們是無需信任的,這個房間裡有誰在他的電腦上運行一個驗證共識的輕客戶端?很少。誰通過信任Infura的瀏覽器錢包來使用以太坊?五年內,我希望看到舉手的數量反過來。我希望看到不信任Infura的任何事物的錢包。我們需要集成輕客戶端。
Infura可以繼續提供數據。我的意思是,如果你不需要信任Infura,那實際上對Infura是有好處的,因為這使他們更容易構建和部署基礎設施,但是我們有工具可以去除信任要求。
我們可以做的是,我們可以有一個系統,最終用戶運行像Helios輕客戶端的東西。它實際上應該直接在瀏覽器中運行,直接驗證以太坊共識。如果他想驗證鏈上的東西,像與鏈交互,那麼你只需直接驗證默克爾證明。
如果這樣做,你實際上在與以太坊的交互中獲得了一定程度的無需信任性。這是對於L1的。此外,我們還需要L2的等效方案。
在L1鏈上,有區塊頭、有狀態、有同步委員會、有共識。如果你驗證了共識,如果你知道區塊頭是什麼,你可以走過默克爾分支,看看狀態是什麼。那麼我們如何為L2s提供輕客戶端安全保證。L2的狀態根在那裡,如果是基礎Rollup,就有一個智能合約,那個智能合約存儲L2的區塊頭。或者,如果你有預確認,那麼你有一個智能合約存儲預確認者是誰,所以你確定預確認者是誰,然後監聽他們簽名的三分之二子集。
所以,一旦你有了以太坊區塊頭,就有一條相當簡單的信任鏈,哈希、默克爾分支和簽名,你可以驗證,並且你可以獲得輕客戶端驗證。任何L2也是如此。
我過去向人們提起過這個問題,很多時候人們的反應是,天啊,這很有趣,但是意義何在?很多L2都是多重簽名。為什麼我們不信任多重簽名來驗證多重簽名呢?
幸運的是,截至去年,這實際上已經不再是事實了。Optimism和Arbitrum處於Rollup第一階段了,這意味著它們實際上有在鏈上運行的證明系統,有一個安全委員會可以在出現漏洞的情況下覆蓋它們,但安全委員會需要通過一個非常高的投票閾值,比如8人的75%,Arbitrum的規模會增加到15人。所以,在Optimism和Arbitrum的情況下,它們不僅僅是多重簽名,它們有實際的證明系統,並且這些證明系統實際上有作用,至少在決定哪個鏈是正確或錯誤的方面具有大多數權力。
EVM甚至更進一步,我相信它甚至沒有安全委員會,所以它完全是無需信任的。我們真的開始在這方面前進,我知道很多其他的L2也在推進。所以L2不僅僅是多重簽名,所以對L2的輕客戶端概念實際上開始有意義。
今天我們已經可以驗證默克爾分支,只需要編寫代碼。明天,我們還可以驗證ZKVM,所以你可以在瀏覽器錢包中完全驗證以太坊和L2。
誰想在瀏覽器錢包中成為無需信任的以太坊用戶?太棒了。誰更願意在手機上成為無需信任的以太坊用戶?從樹莓派上呢?從智能手錶上呢?從太空站上呢?我們也會解決這個問題。所以,我們需要的是一個RPC配置的等價物,不僅包含你在與哪些服務器交談,還包含實際的輕客戶端驗證指令。這是我們可以努力實現的目標。
抗量子策略
量子計算到來的時間在減少。Metaculous認為量子計算機將在2030年代初到來,還有一些人認為時間更早。
所以我們需要一個抗量子策略。我們確實有一個抗量子策略。以太坊中有四個對量子計算脆弱的部分,每個部分都有自然的替代品。
Verkle Tree的量子抗性替代是Starked Poseidon Hash,或者如果我們想更保守,可以使用Blake共識簽名,我們目前使用BLS聚合簽名,可以替換為Stark聚合簽名。Blob使用KZG,可以使用分離編碼默克爾樹Stark證明。用戶賬戶目前使用ECDSA SECP256K1,可以替換為基於哈希的簽名和賬戶抽象及聚合,智能合約錢包ERC 4337等。
一旦有了這些,用戶可以設置自己的簽名算法,基本上可以使用基於哈希的簽名。我認為我們確實需要開始考慮實際構建基於哈希的簽名,使得用戶錢包可以很容易地升級為基於哈希簽名。
協議簡化
如果你想要一個強健的基礎層,協議需要簡單。它不應該有73個隨機的鉤子和一些因為某個叫Vitalik的隨機人在2014年提出的隨機愚蠢想法而存在的向後兼容性。
所以有價值的是嘗試真正簡化,開始真正消除技術債務。日誌目前基於布隆過濾器,它們不太工作,也不夠快,所以需要進行Log改進,增加更強的不可篡改性,我們已經在無狀態方面這樣做了,基本上限制每個區塊的狀態訪問量。
以太坊目前是一種不可思議的集合,有RLP,有SSZ,有API,理想情況下我們應該只使用SSZ,但至少要去掉RLP,狀態和二進制默克爾樹,一旦有了二進制默克爾樹,那麼所有以太坊都在二進制默克爾樹上。
快速最終確定性,Single Slot Finality(SSF),清理未使用的預編譯器,比如ModX預編譯器,經常導致共識錯誤,如果我們可以刪除它並用高性能的solidity代碼替換,那就很好。
總結
以太坊作為一個強健的基礎層,有非常獨特的優勢,包括一些比特幣沒有的優勢,比如共識去中心化,比如對51%攻擊恢復的顯著研究等。
我認為有必要真正加強這些優勢。同時認識和修正我們的不足,確保我們達到非常高的標準。這些想法與積極的L1路線圖完全兼容。
我對以太坊特別是核心開發過程感到最滿意的事情之一是我們的並行工作能力大大提高了。這是一個強項,我們實際上可以並行工作很多東西。所以關心這些話題實際上並不影響改善L1和L2生態系統的能力。例如,改進L1 EVM,使其更容易進行密碼學。目前在EVM中驗證Poseidon哈希太貴了。384位密碼學也太貴了。
所以在EOF之上有一些想法,比如SIMD操作碼,EVM max等。有機會將這種高性能協處理器附加到EVM。這對Layer 2更好,因為它們可以更便宜地驗證證明,對Layer 1應用也更好,因為zk SNARKs等隱私協議更便宜。
誰使用過隱私協議?誰希望使用隱私協議支付40費用而不是80費用?更多人。第二組可以在Layer 2上使用,而Layer 1可以獲得顯著的成本節省。