保持鏈的極簡主義,並支援再質押。
原文:Don't overload Ethereum's consensus(vitalik.ca)
作者: Vitalik Buterin
編譯:念銀思唐,Odaily 星球日報譯者
封面: Photo by Shubham’s Web3 on Unsplash
乙太坊網路的共識是目前最安全的加密經濟系統之一。 價值 1800 萬枚 ETH(約 340 億美元)的驗證器每 6.4 分鐘完成一個區塊,運行許多不同的協定實現以達到冗餘。 如果加密經濟共識失敗,無論是由於 bug 還是故意的 51% 攻擊,由數千名開發人員和更多使用者組成的龐大社區都會密切關注網路,以確保鏈正確恢復。 一旦鏈恢復,協議規則將會確保攻擊者(在很大程度上)受到嚴厲懲罰。
多年來,通常在思想實驗階段已經有了許多想法,即可以將乙太坊驗證器集甚至乙太坊社會共識用於其他目的:
- 終極預言機:就一項提案而言,用戶可以通過發送 ETH 來投票決定哪些事情是真實的,這將使用 SchellingCoin 機制:每個發送 ETH 投票支持多數答案的人都會按照一定比例獲得所有發送投票支持少數答案的 ETH 的份額。 根據其描述:「所以原則上這是一個對稱的遊戲。 打破這種對稱性的是 a)真相是需要協調的自然點,更重要的是 b)押注真相的人如果輸了,可以創建一個可信的乙太坊分叉路線。 ”
- 再質押:包括 EigenLayer 在內的許多協定使用的一組技術,乙太坊質押者可以同時使用他們的權益(stake)作為另一個協定的存款。 在某些情況下,如果他們不遵守其他協定的規定,他們的存款也會被罰沒。 在其他情況下,沒有協定內的激勵措施,權益只是用於投票。
- 由 L1 驅動 L2 項目恢復:在很多情況下,如果 L2 有 bug,L1 可以通過分叉來恢復它。 最近的一個例子是使用 L1 軟分叉來恢復 L2 故障的設計。
這篇文章的目的是詳細解釋,為什麼在我看來,這些技術的某個子集給生態系統帶來了很高的系統性風險,應該被勸阻和抵制。
這些建議通常是善意的,所以目標不是關注個人或專案; 相反,我們的目標是關注技術。 這篇文章將試圖捍衛的一般經驗法則如下:雙重使用驗證器質押的 ETH 雖然有一些風險,但從根本上來說是可行的,但試圖 “招募(recruit)” 乙太坊社會共識來實現你的應用程式本身的目的則並非如此。
重複使用驗證器(低風險)和過載社會共識(高風險)之間的區別示例
– Alice 創建了一個 Web3 社交網络,如果你以加密方式證明你控制了一個活躍的乙太坊驗證器的密鑰,你就會自動獲得 “驗證(verified)” 狀態。 此為低風險。
– Bob 以加密方式證明他控制著十個活躍的乙太坊驗證器的密鑰,以此證明他有足夠的財富來滿足某些法律要求。 此為低風險。
– Charlie 聲稱已經推翻了孿生質數猜想(twin primes conjecture),並稱知道最大的 p,使得 p 和 p+ 2 都是素數。 他將他的質押提款位址改為一個智能合約,任何人都可以提交一個聲稱的反例 q > p,以及一個證明 q 和 q+ 2 都是素數的 SNARK。 如果有人提出了有效聲明,那麼 Bob 的驗證器將被強制退出,並且提交者將獲得 Bob 剩下的 ETH。 此為低風險。
– 狗狗幣(Dogecoin)決定切換到權益證明,並增加其安全池的規模,它允許乙太坊質押者 “雙重質押” 並同時加入其驗證器集。 要做到這一點,乙太坊質押者必須將他們的質押提款位址更改為一項智能合約,以便任何人都可以提交他們違反狗狗幣質押規則的證據。 如果有人提交了這樣的證明,那麼質押者的驗證器將被強制退出,並且他們剩下的 ETH 將用於購買和銷毀 DOGE。 此為低風險。
– eCash 的做法與狗狗幣相同,但專案負責人進一步宣佈:如果大多數參與的 ETH 驗證器串通審查 eCash 交易,他們預計乙太坊社區將硬分叉以刪除這些驗證器。 他們認為,這樣做符合乙太坊的利益,因為這些驗證器被證明是惡意和不可靠的。 此為高風險。
– Fred 創建了一個 ETH/USD 價格預言器,其功能是允許乙太坊驗證器參與和投票。 沒有激勵機制。 此為低風險。
– George 創建了一個 ETH/USD 價格預言器,其功能是允許 ETH 持有者參與和投票。 為了防止懶惰和賄賂,他們增加了一種激勵機制,即給出的答案在中位數 1% 以內的參與者獲得任何給出答案超過中位數 1% 的參與者 1% 的 ETH。 當被問及 “如果有人可信地提出賄賂所有參與者,每個人都開始提交錯誤的答案,那麼誠實的人就會被拿走 1000 萬枚 ETH 嗎?” George 回答說:那麼乙太坊將不得不分叉以便排除不良參與者的資金。 此為高風險。
另外兩種情況如下:
- George 明顯不作回答。 此為中高風險(因為專案可能會創造嘗試這樣一個分叉的動機,因此即使沒有正式的鼓勵,也會有嘗試的期望)。
- George 回答說:「那麼攻擊者就贏了,我們就放棄使用這個預言機。 此為中低風險(不是很 “低”,只是因為該機制確實創造了一大批參與者,他們在 51% 攻擊中可能會被激勵獨立宣導分叉來保護他們的存款)。
– Hermione 創建了一個成功的 Layer 2 ,並認為因為她的 Layer 2 是最大的,所以它本質上是最安全的,因為如果有一個 bug 導致資金被盜,損失將是如此之大,以至於社區別無選擇,只能通過分叉來恢復用戶的資金。 此為高風險。
如果你正在設計一個協定,即使一切都完全中斷,損失也會被包含在選擇參與並使用你的協議的驗證器和用戶處,這是低風險的。 另一方面,如果你打算在更廣泛的乙太坊生態系統社會共識中尋求分叉或重組來解決你的問題,這是高風險的,我認為我們應該強烈抵制所有創造這種期望的嘗試。
中間地帶是指一開始處於低風險類別,但給予參與者進入高風險類別的激勵; SchellingCoin 類的技術,特別是對偏離多數的嚴重懲罰機制,就是一個主要的例子。
那麼,擴展乙太坊共識到底有什麼問題呢?
假設現在是 2025 年。 由於對現狀感到沮喪,一個小組決定開發一個新的 ETH/USD 價格預言器,它通過允許驗證器每小時對價格進行投票來運作。 如果驗證器投票,他們將無條件地從系統中獲得一部分費用獎勵。 但很快參與者就變得懶惰了:他們連接到中心化的 API,當這些 API 受到網路攻擊時,他們要麼退出,要麼開始報告錯誤的值。 為了解決這個問題,他們引入了激勵機制:預言機也會對一周前的價格進行回溯性投票,如果你的投票(即時或回溯)與回溯性投票的中位數相差超過 1% ,你就會受到嚴重懲罰,懲罰所得將由 “正確” 投票的人獲得。
在一年內,超過 90% 的驗證器參與其中。 有人問:如果 Lido 和其他幾個大型質押者聯合起來,對投票進行 51% 攻擊,強行通過一個虛假的 ETH/USD 價格,對所有不參與攻擊的人處以重罰,會怎麼樣? 在這一點上,預言機的支援者在該計劃中投入了大量資金,他們回答說:如果發生這種情況,乙太坊肯定會分叉,以驅逐不良行為者。
起初,該方案僅限於 ETH/USD,並且看起來具有彈性和穩定性。 但隨著時間的推移,其他指數也隨之增加:ETH/EUR、ETH/CNY,以及最終 G20 所有國家的利率。
但到了 2034 年,事情開始出錯。 巴西發生了一場意想不到的嚴重政治危機,導致了一場有爭議的選舉。 一個政黨最終控制了首都和 75% 的國家,但另一個政黨最終控制了一些北部地區。 西方主要媒體認為,北方政黨顯然是合法的贏家,因為它的行為是合法的,而南方政黨的行為是非法的。 印度等國家的官方消息人士以及 Elon Musk 認為,南方黨已經實際控制了該國的大部分地區,國際社會不應該試圖成為世界員警,而應該接受這一結果。
當時巴西有一個 CBDC,有兩個分叉版本:(北部)BRL-N 和(南部)BRL-S。 當在預言機中投票時, 60% 的乙太坊質押者提供 ETH/BRL-S 匯率。 主要的社區領袖和企業譴責質押者對法西斯主義的懦弱投降,並建議將區塊鏈分叉,只包括提供 ETH/BRL-N 匯率的 “好質押者”,並將其他質押者的餘額耗盡至接近零。 在看似光鮮的輿論泡沫中,他們相信自己肯定會贏。 然而,一旦分叉開啟,BRL-S 一方被證明出乎意料地強大。 他們原本預計會取得壓倒性的勝利,但事實證明,這幾乎是一個五五開的社區分裂。
在这一点上,双方是在两个独立宇宙中的两条链上,没有实际的方法回到一起。以太坊是一个全球性的无许可平台,在一定程度上是为了躲避国家和地缘政治而创建的,但最终却被 G 20 成员国中一个有着出乎意料的严重内部问题的国家分裂成两半。
这科幻故事真不错,都能拍电影了,但我们能从中学到什么呢?
区块链的 “纯粹性(purity)” 是一个巨大的优势,因为它是一个纯粹的数学结构,试图在纯粹的数学问题上达成共识。一旦区块链试图与外部世界 “挂钩”,外部世界的冲突也开始影响区块链。考虑到一个足够极端的政治事件——事实上也并非那么极端,因为上面的故事基本上是过去十年里在各个主要国家(人口超过 2500 万)实际发生事件的模仿——即使是像货币预言机这样良性的事情也可能撕裂社区。
以下是更多可能的情况:
- 预言机追踪的其中一种货币(甚至可能是美元)只是恶性通货膨胀,市场崩溃到在某些时间点上没有明确的具体市场价格。
- 如果以太坊是为另一种加密货币添加了价格预言机,那么上面故事中有争议的分裂就不是假设的:这是已经发生的事情,包括比特币和以太坊本身的历史。
- 如果严格的资本管制开始实施,那么哪种价格作为两种货币之间的合法市场价格报告就成了一个政治问题。
但更重要的是,我认为有一个 Schelling 围栏在起作用:一旦区块链开始将现实世界的价格指数作为 Layer 1 协议功能,它很容易屈服于解释越来越多的现实世界信息。引入 Layer 1 价格指数也扩大了区块链的法律攻击面:它不再只是一个中立的技术平台,而是更明确地成为一种金融工具。
价格指数以外的例子带来的风险如何?
以太坊共识 “职责” 的任何扩展都会增加运行验证器的成本、复杂性和风险。验证器被要求承担人工工作,关注并运行和更新其他软件,以确保它们根据引入的任何其他协议正确地运行。其他社区获得了将其争议解决需求置于以太坊社区外部的能力。验证器和以太坊社区作为一个整体被迫做出更多的决定,而每一个决定都有导致社区分裂的风险。即使没有分裂,避免这种压力的愿望也会产生额外的激励,通过质押池将决策外部化给中心化实体。
分裂的可能性還將極大地強化「大到不能倒(too-big-to-fail)」的反常機制。 乙太坊上有如此多的 Layer 2 和應用層專案,以至於乙太坊社會共識願意分叉來解決所有問題是不切實際的。 因此,規模較大的項目獲得救助的可能性必然大於規模較小的專案。 這反過來又會導致更大的項目獲得護城河:你是願意把幣放在 Arbitrum 或 Optimism 上(如果出現問題,乙太坊將分叉來拯救一切),還是願意放在規模更小的 Taiko 上(非西方專案,與核心開發圈的社會聯繫較少,獲得 L1 支援救援的可能性小得多)?
但 bug 會帶來風險,我們需要更好的預言機。 那麼該怎麼做呢?
在我看來,這些問題的最佳解決方案是具體問題具體分析,因為各種問題本質上是彼此不同的。 一些解決方案包括:
– 價格預言機:要麼是不完全加密經濟的去中心化預言機,要麼是基於驗證器投票的預言機,後者明確承諾其緊急恢復策略不是訴諸 L1 共識來恢復,要目是兩者的某種組合。 例如,價格預測器可以依賴於一個信任假設,即投票參與者會慢慢被腐化,這樣使用者就可以獲得攻擊的早期預警,並可以退出任何依賴於該預言機的系統。 這樣的預言機可以故意在長時間延遲後才給予獎勵,因此,如果該協議的實例被廢棄(例如:因為預言機失敗了,社區轉向了另一個版本),參與者沒有得到獎勵。
– 更複雜的真相預言機,報告比價格更主觀的事實:某種建立在不完全加密經濟 DAO 上的去中心化法院系統。
– Layer 2 協定:
- 在短期內,依靠部分輔助輪(這篇文章稱之為第一階段)
- 在中期,依賴多證明系統。 這裡可以包括可信硬體(例如:SGX); 我強烈反對將類似 SGX 的系統作為唯一的安全保障,但作為 2-of-3 系統的成員,它們可能是有價值的。
- 長遠來看,希望像「EVM 驗證」這樣的複雜功能最終會被納入協定中。
– 跨鏈橋:與預言機邏輯類似,但也要盡量減少對跨鏈橋的依賴程度:將資產保存在其原生鏈上,並使用原子交換協定在不同鏈之間移動價值。
– 使用乙太坊驗證器集來保護其他鏈:上面示例清單中(更安全的)狗狗幣方案可能還不夠的一個原因是,雖然它確實可以防止 51% “最終性反轉(finality-reversion)” 攻擊,但它不能防止 51% 審查攻擊。 但是,如果你已經依賴於乙太坊驗證器,那麼一個可能的方向是放棄嘗試完全管理獨立鏈,並成為一個將證明錨定在乙太坊中的 validium。 如果一個鏈做到了這一點,它針對最終性反轉攻擊的保護就會變得和乙太坊一樣強大,並且它可以安全抵禦 99%(而不是 49%)審查攻擊。
總結
區塊鏈社區的社會共識是很脆弱的。 這是必要的——因為升級會發生,bug 會發生, 51% 攻擊也總是有可能發生——但是因為它有很高的導致鏈分裂的風險,在成熟的社區中應該謹慎使用。 社區往往有一種自然的衝動,試圖用越來越多的功能擴展乙太坊區塊鏈的核心,因該核心具有最大的經濟權重以及最多的社區關注,但每一次這樣的擴展都會使核心本身更加脆弱。
我們應該警惕應用層項目採取這樣的行動——這些行動可能會增加區塊鏈共識「範圍(scope)」,而不是驗證乙太坊核心協議規則。 對於應用層項目來說,嘗試這樣的策略是很自然的,事實上,這樣的想法通常是在沒有考慮風險的情況下被簡單構思出來的,但是可能引發的結果很容易與整個社區的目標背道而馳。 這樣的過程沒有限制原則,隨著時間的推移,很容易導致區塊鏈社區擁有越來越多的 “授權(mandates)”,將其推向一個令人不安的選擇——要麼是分裂的年度高風險,要麼是對區塊鏈擁有最終控制權的某種事實上的正式官僚機構。
相反,我們應該保持鏈的極簡主義,支援再質押的使用,而不是像滑坡一樣擴展乙太坊共識的角色,並幫助開發人員找到替代策略來實現他們的安全目標。
免責聲明:作為區塊鏈資訊平臺,本站所發佈文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。 本文內容僅用於資訊分享,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。