原文:《A Beginner’s Guide to Ethereum Censorship》by Donovan Choy
編譯:wesely
2022 年8 月8 日,美國財政部將Tornado Cash 列出了製裁名單。
所有人都知道監管機構討厭加密貨幣,但直接製裁DeFi 出乎了所有人的意料,這反應了美國監管機構在打擊加密貨幣方面所做的努力。
從某種程度上來說,對Tornado 的製裁併不全是壞事,監管衝擊讓DeFi 想起了它的基本原則,並開啟了對分散金融版圖中每一個中心化製約限制的衝擊。
核心:去中心化實際上很重要。
我們走過的任何集中化捷徑都會被反過來作用於你。
審查制度的話題很難被關注,要理解以太坊中心化問題需要一些技術知識,而Crypto 的術語海洋對很多人來說難以涉足。本文試圖揭開以太坊過去幾個月裡所有遭遇的各種審查問題,並儘可能用通俗易懂的語言揭開影藏其中的神秘面紗。
我列出了以太坊協議的每一個主要的中心化載體,並簡要介紹了開發人員正在研究的各種技術解決方案。
以太坊供應鏈的簡要總結
以太坊最初的設計理論上只涉及兩個參與者:
-
運行自己的節點的用戶,該節點將通過點對點網絡發送事務到區塊驗證器,然后區塊驗證器將構建一個塊並包含該事務。
-
區塊鏈驗證器( 我們在PoW 中稱它們為礦工,在PoS 中稱它們為質押者) 是驗證塊的中立參與者。
實踐中,這個過程要復雜得多。通過向運行套利機器人的搜索者出售區塊,驗證者可以對打包交易進行不正當的歧視,在利益驅動下保持著這種動機。這會導致了更高的交易成本和鏈上的擁塞,這種現像被稱為最大可提取值(MEV)。過去兩年,以太坊上的MEV 已達6.75 億美元(Cosmos 上估計為670 萬美元)。
在合併後的以太坊中,MEV 交易順序如下:
1. 用戶通過dapp 的前端與錢包創建交易。這些交易被發送到內存池
2. 搜索者運行套利機器人掃描內存池,然後將交易捆綁在一起
3. 捆綁交易被傳遞給區塊建造者,後者再附上收費報價
4. 如果構建者和驗證者都連接到中繼器,則中繼器將參與隱藏捆綁的去塊,然後將其提供拍賣
5. 驗證者(AKA 區塊提議者) 選擇費用出價並提議區塊
6. 證明者在區塊最終上鍊之前對其進行證明
在這個事務順序中,中心化載體存在於每一步當中,讓我們從頭開始依次梳理。
1. 前端接口
當你想買一些ETH 時會訪問uniswap.com,可以看到精心設計的粉色/ 白色用戶界面,並且可以讓你輕鬆導航你的交易中。連接MetaMask,選擇流動資金池,然後單擊「send」以執行您的交易。我們認為這個簡單的過程是理所當然的,但這個環節中已經出現了許多中心化的威脅。
審查威脅
目前,許多dapp 的前端接口的現實依賴是中心化。 Web3 的短暫歷史表明,當監管機進駐時,DeFi 往往都會妥協。這種情況發生在Balancer 從其前端隱藏了2000 萬美元的流動資金池時、發生在Uniswap Labs 迅速在其前端下架了數十種合成資產以避免SEC 審查時。 MetaMask 和Infura 也根據Tornado Cash 制裁措施來阻止錢包地址的訪問。 (推薦專題:《Tornado Cash陷入監管“龍捲風”》)
跨過前端也只是冰山一角。我們使用的dapp 依賴RPC 節點(服務器)來傳達用戶的需求,節點就是一個連接點,可以把它想像成一個API,它能在區塊鏈上訪問信息、通信和執行交易。
在理想的世界中,每個人都會運行自己的節點。但正如Signal 創始人Moxie Marlinspike 曾在對Web3 所做的批評,大多數人不運行自己的節點,這造成了對Infura 和Alchemy 等中心化節點服務提供商的依賴。他們的存在讓DeFi 變得更加輕鬆容易,但正如你所知,這中間是存在權衡取捨的。由於Uniswap 和Metamask 等大量dapp 反過來依賴Infura 運行節點,因此出現了一個重要的中心化載體。
像Infura 這樣的中心化公司,如果被監管機構盯上,將對以太坊造成重大破壞。今年3 月份,Infura 就禁止了伊朗IP 地址以遵守美國的政治制裁,出現中心化節點提供商這個問題的原因也有技術原因。以太坊在2020 年11 月經歷了網絡中斷,當時Infura 的主網API 由於其Geth 客戶端不是最新的而導致許多dapp 無法使用。
最後,節點需要託管在某個地方。實際上,許多以太坊節點都託管在AWS、Hetzner 和Google Cloud 等集中式雲服務提供商上(Solana 和比特幣也是如此)。這裡的中心化載體很明顯:雲提供商可以任意停止服務器操作。 8 月份,當Hetzner 澄清在其服務器上運行以太坊節點違反其服務條款時,社區就收到了這一提醒。
資料來源:ethernodes.org
現在以及有這麼多中心化載體,但我們還沒有進入內存池。
解決方案#1
前端中心化是一個問題,但相對影響較小。這要歸功於蓬勃發展的DeFi 中間件生態系統,它讓我們能夠以各種方式繞過審查過的前端。包括Zapper 和Zerion 等投資組合跟踪器、具有集成「Swap」功能的加密錢包、1inch 和Paraswap 等DeFi 聚合器。它們讓你無需直接訪問即可訪問dapp。像Uniswap 這樣的大多數dapp 也承諾將其前端代碼開源,允許任何個人或是DAO 重新創建前端。
為了繞過審查的前端,像IPFS 這樣的去中心化存儲提供商也被用來託管具有靜態內容的前端域。對於具有動態內容的前端(社交媒體),像The Graph 這樣的去中心化索引協議可以通過統一的查詢語言跨鍊和dapp 查詢數據。對於域名審查,像ENS 這樣的去中心化域名服務通過在以太坊智能合約上構建域名,提供了一種更抗審查的方式來託管域名。這與當今大多數存儲在集中式DNS 服務器上的網站不同,後者會受到域名扣押或IP 地址封鎖的影響。
總之,這些去中心化的基礎設施協議為DeFi 前端的去中心化Web3 經濟奠定了基礎。
解決方案#2
在解決節點中心化問題上,關鍵的技術方案是輕客戶端。以太坊Altair 硬分叉為他們鋪平了道路。這些超輕量級客戶端允許我們在自己的計算機、移動設備或網絡瀏覽器上創建我們自己的原生版本的以太坊,我們可以向任何接受輕量級客戶端查詢的完整節點廣播交易並向其發出請求。這樣,dapps 也可以促進交易,而不是調用像Infura 或Alchemy 這樣的集中式RPC 服務節點。
輕客戶端不會檢索整個Beacon 鍊或驗證器集。這是計算密集型,他們只是通過了解對等節點來同步區塊頭。關鍵是,這個過程是通過隨機分配的驗證者組( 同步委員會) 來執行的。信標鏈PoS 輕客戶端的構建也比PoW 輕客戶機簡單得多。只需幾個非審查完整節點來反饋這些查詢,就可以緩解節點集中的問題。有關輕客戶端的更多信息,請參見此處。
解決方案#3
就我們依賴的外部節點提供商而言,存在Infura 的去中心化替代方案,例如Pocket Network 或Ankr,可以最大限度地減少對Infura 的需求。
回想一下,這裡的問題是人們缺乏動力來運行自己的節點。這些RPC 節點提供者為此引入一套經濟激勵措施。以Pocket Network 為例,節點提供商質押POKT 以運行區塊鏈節點並在不同區塊鏈之間中繼數據,為請求鏈上數據的dapp 提供服務。在這個無需許可的市場中,他們服務的中繼越多,他們獲得的POKT 獎勵就越多。在需求方面,用戶/dapps 也質押POKT,允許它在網絡上請求中繼。需要注意的,這些項目本身也存在中心化的點。
資料來源:Sami Kassab
解決方案#4
節點託管問題是一個需要持續監控的中心化風險,但由於退出壁壘低,因此威脅不大。如果AWS 決定限制在其云服務器上託管節點,節點運營商可以輕鬆遷移到不同的雲服務器,而不會被鎖定在任何地方。由於Merge 後,如今使用DIY 硬件(Raspberry Pi) 和即插即用解決方案(Avado) 可以更輕鬆地設置自己的節點。
2. 搜索者
當用戶交易成功提交後,交易會進入mempool 內存池。 mempool 是一個普通用戶提交的待處理交易數據庫,有時它也被稱為以太坊的「黑暗森林」,而MEV 遊戲也是從這裡開始的。
一旦交易進入內存池,搜索者就會開始掃描交易以尋找有利可圖的MEV 機會。搜索者通常是運行套利機器人的大型機構和自營交易平台,但有時也有個人參與者。他們支付高昂的GAS 費來讓驗證者率先接受他們的交易訂單。
值得注意的是,雖然MEV 通常被認為是一件壞事,但也有好的MEV。比如需要在加密貨幣價格波動的情況下快速清算貸方抵押品的DeFi 協議,就希望支付高昂的汽油費以確保其交易能夠快速執行,如果區塊鍊是按照先到先得的原則設計的,那麼DeFi 的效率就會非常低下。搜索者在平衡這種效率和構建高效區塊方面發揮著重要作用。
然而,在不利的MEV 方面,雖然搜索者本身並不是中心化風險,但他們通過與區塊構建者勾結,在化身為巨大的中心化載體方面發揮了作用。它們在協議層中的作用是捆綁交易並將它們傳遞給下一個梯級的區塊構建者。
3. 區塊構建者和驗證者/ 提議者
提議者/ 構建者分離(PBS)之前
在合併前的以太坊中,區塊構建由礦工實體執行,礦工能夠通過區分內存池中的交易來利用DEX 進行套利和清算。
在這種情況之下,搜索者和礦工可以在地下市場勾結,以以最大化他們自己的交易來實現MEV 套利。這最終推高了作為礦工的固定成本,因為大型礦池運營商有資本運行複雜的算法,過去兩年在以太坊上提取的MEV 總額已達6.75 億美元。
這裡的中心化風險問題是雙重的:首先,它傷害了支付更多交易費用和交易等待期的用戶;其次,由於政治壓力,資本充足的區塊驗證者更有能力進行審查。
作為回應,以太坊開發人員正在開發一種稱為提議者- 構建者分離(PBS) 的協議內解決方案。顧名思義,PBS 將驗證者角色分成兩個獨立的本地角色:
-
提議者(即質押32 ETH 並構建區塊的驗證者)
-
構建者
在PBS 下,區塊構建者相互競爭,以創建來自搜索者的聚合有序交易列表。這些交易包進行了優化,以最大限度地提高建設者自己的MEV 費用,然後將其傳遞給區塊提議者。提議者根據自己的最高費用選擇交易來創建區塊並將其發送到網絡主鏈上。
這減少了區塊提議者審查的集中權力,因為構建區塊者不是選擇哪些交易包含區塊中的同一個人。正如Vitalik 在Endgame中所描述的,PBS 的重點是最大化驗證者的去中心化。
但是PBS 在技術上很複雜,而且要好幾年才能準備好(可能需要2-8 年)。好消息是,同時出現了解決驗證者集中化的臨時解決方案。
一方面,Merge 下的驗證者被隨機選擇為每個槽中的區塊提議者。這與合併前的PoW 不同,所有礦工都在競爭解決數學難題以驗證新交易。在以太坊上約420K 個驗證者中的一個被隨機選擇為區塊提議者之後,另一個驗證者委員會被隨機選擇提交關於所提議區塊有效性的證明(投票)。這種雙重隨機洗牌層用於遏制以太坊上的驗證者中心化,使攻擊者更難審查或破壞網絡。
其次,像Flashbots 這樣的項目已經介入人工創建PBS。 Flashbots 開發了一個軟件客戶端(用於PoW 以太坊的MEV-Geth,用於PoS 以太坊的MEV-Boost ),驗證者可以簡單地插入其共識客戶端並在其節點上運行。這實際上將塊構建的工作外包給了專門的構建者角色。 (相關閱讀:《Flashbots將推出SUAVE:審查制度與去中心化的權衡術》)
為什麼要使用Flashbot?驗證者這樣做僅僅是因為為他們質押獎勵更有利可圖。 Flashbots 的軟件在提議者和構建者之間更公平地分配MEV 價值,而不是在大型礦池和搜索者之間共享。 Flashbots 所做的是通過創建一個透明、開放的價格發現市場來阻止搜索者和礦工之間的這種內部勾結市場。根據Hasu 的說法,使用MEV-Boost 已將驗證者的合併後質押獎勵增加了135%。
資料來源:Flashbots
請注意,MEV-Boost 是可選的,驗證者仍然可以選擇在其執行客戶端上自行構建區塊。
PBS 消除了大型驗證者的中心化權力。但即使在設計了PBS 之後,我們還沒有達到去中心化的承諾。中心化載體儘管有所緩解,但仍將存在於後PBS 世界中。本節的其餘部分簡要介紹了以太坊面臨的各種審查威脅及其在工作中的對應的解決方案。
審查威脅#1
雖然PBS 緩解了以前的中心化問題,但它還是通過賦予構建者更高的審查交易能力,在構建者級別引入了新的中心化問題。通過創建專門的構建者角色,構建者將能夠對區塊進行高價競標並排除某些交易。
解決方案#1
第一個解決方案是抗審查列表(crList) 也稱為「混合PBS」。假設我們懷疑構建者正試圖審查交易。我們知道這一點是因為他們為提議者構建的區塊尚未填滿,並且內存池中有符合條件的交易在等待。
crList 讓提議者可以強制構建者充分利用空塊空間,而無需讓提議者俱體規定要包含的交易的順序:「嘿,構建者,請填寫您的空塊,否則我選擇的交易將被包括在內。」
堅持審查交易,並忽略提議者crList 的構建者將被證明者拒絕該區塊(證明者是隨機選擇的驗證者,他們在提議驗證者提議一個區塊後對規範鏈的頭部進行投票)。簡而言之,crLists 是一種間接機制,它可以讓提議者在不違背PBS 初始目的(去中心化提議者)的情況下控制集中式區塊構建市場。
解決方案#2
但是如果提議者可以告訴構建者包含交易,如果他們與構建者勾結並告訴他們呢?這將我們帶到了第二個解決方案:MEV-smoothing。就像crLists 控制構建者一樣,MEV-smoothing 通過消除他們的自由裁量權來控制提議者。
這裡的想法是要求證明者關注去塊構建市場,特別是附加到區塊的費用投標,然後只證明提議者出價最高的區塊。如果提議者沒有提出已經為他們構建的最有利可圖的區塊,那麼事情就發生了,所以證明者會問,「嘿,提議者,你只是討厭賺錢還是想審查?」 實際上,MEV-smoothing 旨在使所有提議者的MEV 利潤均等化,並創建一個完全有效的市場,消除提議者參與歧視性審查的動機。
解決方案#3
第三種解決方案是使用加密的內存池。雖然有crLists 計數器構建者和MEV 平滑計數器提議者,但加密內存池旨在對抗兩者。這種機制很容易理解:它在進入內存池之前對用戶交易的內容和發送/ 接收地址進行加密,只有在鏈上時才解密。這使得參與者很難審查或參與MEV 提取技術,如交易搶先運行。這消除了對於像Flashbots、Protect 這樣的私有內存池的需求。加密內存池技術也是Cosmos 開發人員、Flashbot 和Aztec 等隱私導向鏈正在試驗的東西。
解決方案#4
第四個也是最後一個解決方案是我們最不希望依賴但又很不錯的解決方案:利他的自我構建,提議者只需選擇構建自己的區塊,而不是將其外包給構建者。這裡的好處是,即使有一小部分約10% 的利他主義構建者,以太坊也可以繼續前進。
這裡明顯的缺點是它與經濟激勵措施背道而馳,試想一下,驗證者想要使用MEV-Boost 是因為它產生的費用更高,這就是為什麼在社會層面推廣一種抵制審查制度和保持權力下放的文化非常重要的原因。
審查威脅#2
要成為今天的以太坊驗證者,您需要在存款合約中質押32 ETH,同時運行兩個軟件客戶端:一個執行客戶端(用於執行交易)和一個共識客戶端(用於新產生的區塊達成共識)。今天的威脅是太多的驗證者正在運行相同的執行客戶端Geth。
如果發現一個客戶端存在錯誤或遭受攻擊,就可能會給整個網絡帶來中斷風險。這不是理論上的推測,正如2016 年上海DOS 攻擊所證明的那樣,攻擊誘使Geth 客戶端減慢處理速度。在合併後的以太坊上,交易最終確定需要2/3 的質押ETH。占主導地位的客戶端故障可能會暫時停止甚至分叉以太坊網絡,這使得任何運行客戶端佔比不超過2/3 的驗證節點會至關重要!
客戶端集中度問題非常嚴重,即使是像Prysmatic Labs 這樣使用率最高的客戶端公司也建議節點驗證器用戶去使用競爭對手的驗證器。畢竟,如果以太坊下跌,那是所有人的損失。
解決方案
這裡的審查威脅不僅適用於單獨的質押者,還適用於Infura 和Alchemy 等中心化節點提供商,或Pocket Network 等去中心化節點提供商。以太坊開發人員實施的解決方案包括各種懲罰措施,以削減不活躍驗證者的股份,如不活躍洩漏機制。在今天的Beacon 鏈上,如果行為不端的驗證者都在同一個客戶端上失敗,也有相關的懲罰,對行為不端的驗證者進行更嚴厲的懲罰。實際上,這促進了多客戶端文化,同時鼓勵驗證者在選擇客戶時不僅要考慮技術風險,還要考慮經濟激勵。
審查威脅#3
最後,還有一個審查威脅不容忽視:ETH 集中在質押服務佔比中,最大的兩個塊分別是流動質押協議和CEX,它們分貝控制著約37% 和約31% 的質押ETH 。這是一個嚴重的問題,因為任何擁有超過33% ETH 的實體都可能進行雙花攻擊。
資料來源:沙丘分析
解決方案
這裡沒有簡單的解決方案,但有理由保持樂觀。一方面,雖然Lido 控制著約30% 的質押ETH,但它並不作為一個單一實體存在,對區塊構建沒有直接影響。 Lido 的ETH 通過數万個節點傳遞給28 個節點運營商,防止任何形式的單邊網絡攻擊。
但這仍然太少了。一種可能解決ETH 集中問題的技術解決方案是分佈式驗證器技術(DVT),也稱為秘密共享驗證器技術,這是以太坊基金會自2019 年以來一直在積極研究的領域。帶頭開發DVT 的公司是機構區塊鏈節點提供商RockX Lido (28 個節點運營商之一)。
DVT 是一種開源協議,它將節點操作的操作活動分散在不同驗證者之間,而不是單個驗證者之間。它使用多方計算(MPC)過程來確保節點可以由多個驗證者共同運行,因為私鑰是「共享的」。因此,沒有一個參與者可以完全訪問簽署消息所需的私鑰。這也允許驗證者在基礎設施出現故障時能代替另一個驗證者。
最後,雖然持有過多ETH 的流動性質押協議非常令人擔憂,但如果不是Lido DAO ,而是將ETH 完全質押在Coinbase 和Kraken 等政治上更脆弱的實體上,這種情況比現在要更糟糕。
4. 中繼器
在MEV-Boost 模型中,中繼器充當中間經紀人的角色,它位於提議者和構建者之間,任何人都可以輕鬆啟動。中繼器是一種獨特的中心化載體,它是Flashbot 試圖解決MEV 的產物。要了解這裡的審查威脅,首先需要了解為什麼中繼器會出現在其中。
回想一下,想要在PBS 下將驗證者角色拆分為提議者和構建者的原因是為了遏制驗證者的審查權,並阻止一個實體(例如Coinbase 或Lido )持有大量質押ETH 的情況,方式出現他們可以任意決定在鏈上包含哪些內容。
因此,要讓PBS 工作,提議者需要對他們從構建者那裡收到的塊的內容一無所知。否則,提議者將能夠區分他們認為應該在鏈上的區塊,而我們又回到了之前黑暗森林時期。
這就是Flashbots 的MEV-Boost 模型下中繼器的用武之地。構建者向中繼者發送一個組裝塊的費用投標,之後中繼器將區塊發送到一個隱藏的託管,並且只向任何提議者從該中繼接受的有效載荷顯示價格。
只有在提議者承諾簽署區塊頭並接受出價後,區塊內容才會被披露。這樣,想要審查Tornado Cash 交易的提議者別無選擇,只能繼續在鏈上提議區塊,因為他們已經為此支付了費用,或者如果他們試圖一次提議兩個區塊,但這就會被削減懲罰。
資料來源:Devcon審查威脅
但是如果中繼者自己選擇審查呢?這將我們帶到了中繼者級別的中心化風險的核心。今天,以太坊上58% 的中繼區塊都在審查Tornado Cash 交易,即符合OFAC 標準。這58% 區塊中的大部分(80%)來自Flashbots 的中繼器(見下圖)。
請注意,還有許多其他驗證者仍在接受Tornado Cash 交易的區塊,因此這實際上是一種「軟」審查形式,會在幾分鐘後出現,而不是「硬」形式的審查。只要中繼者擁有非審查少數群體,這個問題就會給用戶帶來不便,而不是我們傳統上認為的「審查制度」。儘管如此,這個問題導致了最近幾個月對以太坊審查的受到了廣泛關注。
解決方案
這裡的解決方案是鼓勵更廣泛的中繼器多樣性。驗證器通常一次連接到多個中繼器。如上所示,七個中繼中的三個(BloXroute 和Manifold )不審查Tornado Cash 交易。因為中繼是一個無需許可的實體,所以任何人都可以輕鬆創建自己的中繼(Flashbots 自己已經善意地開源了自己的中繼)。創建無審查中繼的准入門檻很低,這意味著這種中心化在比在驗證者級別要輕,在驗證者級別阻止不誠實/ 行為不端的參與者成本要高得多。
好消息是,從長遠來看,中繼者是一個臨時的審查媒介。當PBS 正式納入協議時,將不再需要中繼器,因為構建者將連接到提議者。
最後
請注意,這篇文章只涵蓋了軟性審查形式,這通常相當於以秒/ 分鐘為單位的區塊收錄延遲。
文章可能做不到詳盡無遺,更多的中間件協議,如oracles、sidechain 和roll-ups,它們包含自己的中心化載體。像51% 攻擊這樣的硬性審查形式,以及對它們的技術和社會解決方案也被排除在外。