以太坊:抗審查之路

撰文:Donovan Choy,Bankless 撰稿人

編譯:Zion

以太坊尚未實現抗審查……以下是開發者正在採取的措施。

所有人都知道監管機構討厭加密貨幣,但這一制裁令DeFi 措手不及。這代表著美國監管機構在正式打擊加密貨幣方面一次前所未有的努力。

在某種程度上,對Tornado Cash 的製裁是因禍得福。這一監管衝擊讓DeFi 想起了它的基本原則,對整個去中心化金融領域中每一處中心化卡口展開了審查。

去中心化實際上很重要。

你走的任何中心化捷徑都能被用來對付你。

審查的話題很難理解。試圖理解圍繞以太坊中心化的擔憂需要一些技術知識,而加密術語的海洋難以涉足。

本文試圖揭開以太坊過去幾個月裡所有審查問題的神秘面紗,並將它們提煉成任何加密公民(甚至是厭惡者)都能容易理解的術語。

我列出了以太坊協議上的每一個主要的中心化向量,並簡要介紹了企業家和開發者正在研究的各種市場和技術解決方案。

以太坊供應鏈的簡要概述

以太坊最初的設計理論只涉及兩個參與者:運行自己的節點的用戶,通過點對點網絡將交易發送給區塊驗證者,區塊驗證者將構建一個區塊並包含該交易。

區塊鏈驗證者(我們在PoW 中稱他們為礦工,在PoS 中稱他們為質押者) 本應是驗證區塊的中立參與者。

實際上,這個過程要復雜得多。通過向運行套利機器人的搜索者出售區塊,驗證者面臨著不正當的激勵歧視。這導致普通用戶的交易成本提高,區塊鏈上出現擁堵——這種現像被稱為最大可提取價值(MEV)。過去兩年,以太坊上的MEV 達到6.75億美元(Cosmos上估計為670萬美元)。

在合併後的以太坊中,以下是一般的交易順序:

  1. 用戶通過dapp 的前端與錢包創建交易。這些交易被發送到內存池(mempool);

  2. 搜索者(searchers) 運行套利機器人並掃描內存池,然後將交易捆綁在一起;

  3. 捆綁好的交易被傳遞給區塊構建者(builders),後者再附上費用出價;

  4. 如果構建者和驗證者都連接到一個中繼器,那麼中繼器(relayer) 將在提交拍賣之前隱藏捆綁的區塊;

  5. 驗證者(即區塊提議者,proposer) 選擇費用出價並提議區塊;

  6. 證明者(attestors) 在該區塊最終上鍊之前對其進行驗證。 ‍‍

(請注意,在本文中,驗證者和提議者這兩個詞是互換使用的。)

在這個交易順序中,每一步都存在中心化向量。

讓我們從前端開始,依次來看。

1.前端界面

你想買一些ETH,可以轉到uniswap.com,其設計精美、時尚粉白配色的用戶界面可以幫助你輕鬆地進行交易。你連接MetaMask,選擇你的流動性池,然後點擊“發送”來執行交易。我們認為這個簡單的過程是理所當然的,但是已經有許多中心化威脅出現在這些中介上。

審查威脅

如今,許多dapps 的前端接口都是中心化的。 Web3的短暫歷史表明,當監管機構來敲門時,DeFi會應門。這種情況就發生在當Balancer 在其前端隱藏了一個2000 萬美元的流動性池時,或者當Uniswap Labs迅速在其前端下架幾十個合成衍生代幣以規避SEC 的審查時。 MetaMask 和Infura 也採取了同樣的措施來封鎖符合Tornado Cash 制裁規定的錢包地址。

越過前端只是冰山一角。我們使用的dapp 依賴於RPC 節點(服務器) 來傳達用戶意圖。節點是一個連接點(可以把它看作一個API),它在區塊鏈上訪問信息、通信並執行交易。

在理想的情況下,每個人都可以運行自己的節點。但正如Signal 創始人Moxie Marlinspike 曾經在批評Web3 時提出的那樣,大多數人都不運行自己的節點,這造成了對Infura 和Alchemy 等中心化節點服務提供商的依賴。他們讓DeFi 的生活輕鬆了很多,但正如你所知,這是有代價的。由於Uniswap 和Metamask 等大量dapp 反過來依賴Infura 運行節點,因此在這一端出現了一個重要的中心化向量。

像Infura 這樣的中心化公司,如果被監管機構盯上,將對以太坊造成重大干擾。事實上,當Infura 在3月份禁止伊朗IP 地址以遵守美國的政治制裁時,這種情況就發生了。中心化節點提供商存在問題還有一些技術原因。以太坊在2020年11月經歷了一次網絡中斷,當時Infura 的主網API 因其Geth 客戶端沒有更新而癱瘓,許多dapp 無法使用。

最後,節點需要被託管在某個地方。實際上,許多以太坊節點被託管在AWS、Hetzner 和谷歌云等中心化雲服務提供商上(Solana 和比特幣也是如此)。這裡的中心化向量很明顯:雲提供商可以任意停止服務器運行。今年8月,當Hetzner 澄清在其服務器上運行以太坊節點違反其服務條款時,該社區就收到了這一提醒。

來源:ethernodes.org

已經有這麼多中心化向量了,我們甚至還沒講到內存池。

怎麼辦呢?

解決方案

前端中心化是一個相對較小的問題。這要感謝蓬勃發展的DeFi 中間件生態系統,它允許我們以各種方式通過替代場所繞過受審查的dapps 前端。例子包括Zapper 和Zerion 等投資組合跟踪器,集成了“兌換”功能的加密錢包,以及1inch 和Paraswap 等DeFi 聚合器。它們讓你無需以直接訪問的方式就能夠訪問dapps。 Uniswap 等大多數dapp 也致力於開源其前端的代碼,允許任何個人甚至專門的DAO 重新創建前端。

為了繞過被審查的前端,像IPFS 這樣的去中心化存儲提供商也被用來託管帶有靜態內容的前端域名。對於有動態內容(社交媒體) 的前端,像The Graph 這樣的去中心化索引協議被用於通過統一的查詢語言查詢各個區塊鍊和dapp 的數據。而對於被審查的域名,像ENS 這樣的去中心化域名服務通過在以太坊智能合約上構建域名,提供了一種更抗審查的方式來託管域名。這與當今存儲在中心化DNS 服務器上的大多數網站不同,容易受到域名扣押或IP 地址封鎖的影響。

總之,這些去中心化的基礎設施協議構成了DeFi 前端去中心化Web3 經濟的基本構件。

解決方案

對於節點中心化問題,關鍵的技術解決方案是輕客戶端。以太坊Altair 硬分叉為它們鋪平了道路。這些超輕量級客戶端允許我們在自己的計算機、移動設備或web 瀏覽器上創建我們自己的主權、原生版本的以太坊,我們可以向任何接受輕量級客戶端查詢的完整節點廣播交易並發出請求。通過這樣做,dapp 可以促進交易,而不是調用Infura 或Alchemy 等中心化RPC 端點。

輕客戶端不會試圖檢索整個信標鍊或驗證者集。這將需要大量的計算——因此它被稱為“輕型”!它們只是通過了解對等節點來同步區塊頭。關鍵在於,這個過程是通過隨機分配的驗證者組(同步委員會) 以去信任的方式來執行的。信標鏈PoS 輕客戶端的構建也比PoW 輕客戶端簡單得多。通過只有幾個回答這些查詢的非審查完整節點,節點中心化問題得到了緩解。更多關於輕客戶端的信息,請參閱這裡:

解決方案

當我們想要依賴外部節點提供者時,有一些去中心化的Infura 替代方案,如Pocket Network或Ankr,它們可以最大限度地減少對Infura 的需求。

回想一下,這裡的問題是人們缺乏激勵來運行自己的節點。這些RPC 節點提供商引入了經濟激勵。以Pocket Network 為例,節點提供商質押POKT 來運行區塊鏈節點,並在不同的區塊鏈之間中繼數據,為請求鏈上數據的dapp 提供服務。在這個無許可的市場中,他們服務的中繼越多,他們獲得的POKT 獎勵就越多。在需求方,用戶/dapp 也質押POKT,允許它在網絡上請求中繼。注意,這些項目本身存在中心化點,但是有移除它們的路線圖。

來源:Sami Kassab

解決方案

節點託管問題是一種需要不斷監控的中心化風險,但由於退出壁壘較低,威脅不大。如果AWS 決定在其云服務器上限制節點託管,節點運行商可以輕鬆地轉移到另一個雲服務器,而不會被鎖定在任何地方。由於合併,現在通過DIY 硬件(Raspberry Pi) 和即插即用解決方案(Avado),設置自己的節點變得更加容易。

2.搜索者(Searchers)

在用戶交易成功提交之後,就會進入內存池。內存池是一個由你我這樣的普通用戶提交的待處理交易的數據庫,有時被稱為以太坊的“黑暗森林”?。 MEV (最大可提取價值) 遊戲就是從這裡開始的。

一旦交易進入內存池,搜索者就開始掃描黑暗森林,尋找有利可圖的MEV 機會。搜索者通常是運行套利機器人的大型機構和自營交易平台,但有時也包括個人。他們支付高額的Gas 費用來讓驗證者接受他們的交易訂單,而不是通過公共池。

這裡需要注意的一點是,儘管人們通常認為MEV 完全是壞事,但也有好的MEV。在加密貨幣價格波動劇烈的情況下,DeFi 協議需要快速清算貸款人的抵押品,它需要支付高額的Gas 費,以確保交易能夠快速執行。如果區塊鍊是按照先到先得的原則設計的,那麼DeFi 的效率將非常低。搜索者在平衡這種效率和構建高效區塊方面發揮著重要作用。

然而,在糟糕的MEV 方面,雖然搜索者本身並不是中心化風險,但它們通過與區塊構建者勾結,在實現巨大的中心化向量方面發揮了作用。它們在協議層中的作用是將交易捆綁起來,並將它們傳遞給黑暗森林下一梯隊的區塊構建者。

3.區塊塊構建者和驗證者/提議者

1) 提議者構建者分離(PBS) 之前

在以太坊合併之前,區塊構建由一個實體執行:礦工。這讓礦工能夠通過區分內存池中的交易來利用DEX 套利和清算。

隨著時間的推移,問題變得更糟。搜索者和礦工開始在地下市場串通,最有效地選擇交易,以最大化他們自己的MEV 利潤。這最終推高了作為礦工的固定成本,因為大型礦池運營商有資本運行複雜的算法,超過了家庭經營的礦工——催生了我們所知的MEV。過去兩年在以太坊上提取的MEV 總額已達6.75 億美元!

這裡的中心化風險有兩個問題:首先,它傷害了以太坊用戶,他們最終會等待更長時間或支付更多的交易費用;其次,由於政治壓力,資本雄厚的區塊驗證者在審查方面處於更有利的地位。

為了應對這一問題,以太坊開發者正在開發一種協議內解決方案,被稱為提議者-構建者分離(PBS)。顧名思義,PBS 將驗證者角色分成兩個獨立的原生角色:

  1. 提議者(即質押32 ETH 並構建區塊的驗證者)

  2. 區塊構建者

在PBS 下,區塊構建者彼此競爭,以創建來自搜索者的交易的聚合有序列表。這些交易捆綁在一起進行優化,可以最大化構建者自己的MEV 費用,然後將其傳遞給區塊提議者。提議者被激勵基於最高費用來選擇交易以創建區塊,並將其發送到網絡,從而打包上鍊。

這減少了區塊提議者審查的中心化權力,因為構建區塊的人並不是選擇要包含在區塊中的交易的同一個人。正如Vitalik 在《區塊鏈擴容的終局》一文中所描述的,PBS 的全部意義在於最大化驗證者的去中心化。

但是PBS 在技術上很複雜,幾年內都不會準備好(也許2-8年以後!) 好消息是,在此期間已經出現了解決驗證者中心化的臨時解決方案。

首先,合併後的驗證者被隨機選擇為每個插槽(Slot) 中的區塊提議者。這與合併前的PoW 不同,在合併前的PoW 中,所有礦工都要通過解決數學難題來驗證新交易。在以太坊上約42 萬個驗證者中的一個被隨機選擇為區塊提議者後,另一個驗證者委員會被隨機選擇來提交關於被提議區塊的有效性證明(投票)。這種雙層隨機洗牌層的作用是遏制以太坊上的驗證者中心化,使攻擊者更難審查或破壞網絡。

第二,像Flashbots 這樣的公司已經介入,人為地創造PBS。 Flashbots 開發了一個軟件客戶端(用於PoW 以太坊的MEV-Geth,用於PoS 以太坊的MEV-Boost),驗證者可以簡單地將其插入他們的共識客戶端並在其節點上運行。這實際上將構建區塊的工作外包給了專門的構建者角色(提議者與構建者分離!)

為什麼使用Flashbots?驗證者這樣做的原因很簡單,因為對他們來說,質押獎勵更有利可圖。 Flashbots 的軟件在提議者和構建者之間更公平地分配MEV 價值,而不是在大型礦池和搜索者之間共享。 Flashbots所做的是通過創建一個透明、公開的價格發現市場,來阻止搜索者和礦工之間的內幕勾結市場。據Hasu 稱,使用MEV-Boost 將驗證者的合併後質押獎勵提高了135%。

來源:Flashbots

請注意,MEV-Boost是可選的,驗證者仍然可以選擇在它們的執行客戶端上自己構建區塊。

提議者/構建者分離(PBS) 時代

PBS 消除了大型驗證者的中心化權力。但是,即使在PBS 被設計出來之後,我們還沒有到達去中心化的應許之地。在後PBS 時代,中心化向量雖然有所緩解,但仍將存在。本節的其餘部分將簡要介紹以太坊面臨的各種審查威脅,以及其正在進行的相應解決方案。

審查威脅

雖然PBS 緩解之前的中心化問題,但它也通過增強構建者審查交易的能力,在構建者層面引入了新的中心化向量。通過創建一個專門的構建者角色,構建者將有能力為區塊出價過高並排除某些交易。

解決方案

第一個解決方案是抗審查列表(crList),也被稱為“混合PBS”。假設我們懷疑構建者試圖審查交易。我們知道這一點是因為他們為提議者構建的區塊沒有滿,並且有符合條件的交易在內存池中等待被包含進去。

crList 允許提議者迫使構建者充分利用空的區塊空間,而不允許提議者明確規定要包含的交易的順序:“嗨,構建者,請填滿空的區塊,否則我選擇的交易將被包含進去。”

如果構建者堅持審查交易,並忽略提議者的crList,則證明者將拒絕該區塊(證明者是隨機選擇的,在提議驗證者提議區塊後,對規範鏈的區塊頭進行投票)。簡而言之,crLists 是一種間接的機制,它可以讓提議者在不破壞PBS 的整個目的(將提議者去中心化) 的前提下,監督一個中心化的區塊構建市場。

解決方案

但是,如果提議者可以要求構建者將交易包含其中,或者如果他們與構建者勾結,並告訴構建者不要包含交易呢?這就引出了第二個解決方案:MEV-smoothing。就像crList 讓構建者受到製約一樣,MEV-smoothing 通過去除提議者的自由裁量權來控制提議者。

這裡的想法是要求證明者關注區塊構建市場,特別是與區塊所附的費用出價,然後只證明來自提議者的最高出價的區塊。如果提議者提出的不是已經為他們構建的最有利可圖錢的區塊,那一定是出了什麼問題,所以證明者會問:“嘿,提議者,你是討厭賺錢,還是想要審查?”實際上,MEV-smoothing 旨在使所有提議者的MEV利潤均等,並創建一個完全有效的市場,消除提議者從事歧視性審查的動機。

解決方案

第三種解決方案是使用加密的內存池。 crLists 是用來對付構建者的,而MEV-smoothing 是用來對付提議者的,但加密的內存池被設計來對抗這兩者。這種機制很容易理解:它在用戶交易的內容和發送/接收地址進入內存池之前對其進行加密,只有在鏈上時才解密。這使得行為者很難審查或參與MEV提取技術,如交易前端。這樣就不需要像Flashbots Protect這樣的私有內存池了。加密內存池技術是Cosmos開發者、Flashbots和麵向隱私的鏈(如Aztec)也在嘗試的技術。

解決方案

第四個也是最後一個解決方案是我們最不希望依賴的,但也是一個不錯的選擇:利他主義的自我構建,在這種情況下,提議者只需選擇構建自己的區塊,而不是將其外包給構建者。這樣做的好處是,即使只有10% 左右的少數利他主義構建者,以太坊也可以繼續發展。

這裡明顯的缺點是它與經濟激勵背道而馳——回想一下,驗證者想要使用MEV-Boost 是因為它能產生更高的費用。這就是為什麼在社會層面促進一種抗審查文化和保持去中心化是非常重要的。

審查威脅

今天,要作為以太坊驗證者參與進來,你需要在一個存款合約中質押32個ETH,同時運行兩個軟件客戶端:執行客戶端(執行交易)和共識客戶端(對新產生的區塊達成共識)。今天的威脅是,太多的驗證者在運行同一個的執行客戶端Geth。

來源:clientdiversity.org

如果發現某個客戶端存在bug或遭受攻擊,則會帶來更高的網絡中斷風險。這不是理論上的猜測,正如2016年上海DOS攻擊事件所證明的那樣,當時攻擊者欺騙了Geth客戶端,使其降低了處理速度。在合併後的以太坊,需要三分之二的質押ETH才能達到最終性。一個主要的客戶端出現故障,可能會暫時使以太坊網絡停滯(或者更糟:分裂)——這使得任何特定的客戶端在不超過三分之二的驗證者節點上運行變得至關重要!

客戶端中心化的問題非常嚴重,甚至像Prysmatic Labs這樣客戶端使用率最高的領先公司都建議節點驗證者“使用他們的競爭對手”。畢竟,如果以太坊崩潰,對所有人來說都是損失。

解決方案

請注意,這裡的審查威脅不僅適用於單個質押者,還適用於Infura 和Alchemy 等中心化節點提供商,或Pocket Network 等去中心化節點提供商。以太坊開發者已經實現的解決方案包括各種懲罰措施,以削減不活動驗證者的份額,如Inactivity Leak (怠工懲罰) 機制。在今天的信標鏈上,如果行為不當的驗證者在同一個客戶端上都失敗了,那麼反相關性懲罰也會更加嚴厲。實際上,這促進了多客戶端文化(客戶端多樣性!),同時鼓勵驗證者在選擇客戶端時不僅要考慮技術風險,還要考慮經濟激勵。

審查威脅

最後,經常提到的在驗證者層的另一個審查威脅,那就是ETH 質押服務中的中心化。流動質押協議(比如Lido 和Rocket Pool 等) 和CEX (中心化交易所,比如Coinbase 和Kraken 等) 分別控制了質押ETH 的約37% 和約31%。這是一個嚴重的問題,因為任何一個擁有超過33% 的ETH 的實體都可能進行雙花攻擊。

來源:Dune Analytics

解決方案

沒有簡單的解決辦法,但我們有理由保持樂觀。首先,儘管Lido 控制了30% 的質押ETH,但它並不是作為一個單一實體存在,對區塊構建沒有直接影響。 Lido 的ETH 戰爭基金被傳遞給28個節點運營商,這些運營商通過數万個節點進行質押,防止任何形式的單邊網絡攻擊。

去中心化最大化主義者不會在28 個節點運營商中找到太多安慰,考慮到質押(以太坊網絡!),這仍然太少了。一種可能解決ETH 中心化問題的技術解決方案是分佈式驗證者技術(DVT),也被稱為秘密共享驗證者技術,以太坊基金會自2019 年以來一直在積極研究這一領域。帶頭開發DVT 的公司是RockX,一家機構區塊鏈節點提供商,也是Lido 的28 個節點運營商之一。

DVT 是一種開源協議,它將節點運行活動分散在不同的驗證者之間,而不是單個驗證者。它使用多方計算(MPC) 過程來確保節點可以由多個驗證者共同運行,因為私鑰是“共享的”。因此,沒有任何行為者能完全獲得簽署信息所需的私鑰。這還允許驗證者在基礎設施發生故障時替代另一個驗證者。

最後,儘管持有過多ETH 的流動質押協議非常令人擔憂,但值得考慮一下,假設不存在Lido DAO。在那樣的情況下,ETH 將被已經持有大量ETH 的Coinbase 和Kraken 等在政治上更脆弱的實體質押,這種情況將比現狀糟糕得多。

4.中繼器(Relayers)

在MEV-Boost 模型中,中繼器扮演著提議者和構建者之間的中間“經紀人”角色。中繼器是一種獨特的中心化向量,是Flashbots 試圖解決MEV 問題的結果。要理解這裡的審查威脅,首先需要理解為什麼會出現中繼器。

回想一下,想要在PBS 下將驗證者角色拆分為提議者和構建者的全部原因是為了遏制驗證者的審查權力,並阻止一個實體(如Coinbase 或Lido) 持有大量質押的ETH 份額,可以任意決定鏈上包含什麼。

因此,為了讓PBS 發揮作用,提議者需要對他們從構建者那裡收到的區塊內容一無所知。否則,提議者將能夠區分他們認為應該上鍊的區塊,我們將回到PBS之前的起點。

這就是Flashbots 的MEV-Boost 模型下中繼器的作用。構建者將一個組裝好的區塊的出價發送給中繼器,然後中繼器將區塊發送到一個隱藏的託管處,並只向任何接受該中繼器有效載荷的提議者透露價格。

只有在提議者承諾簽署區塊頭並接受出價後,區塊內容才會顯示出來。這樣,想要審查Tornado Cash 交易的提議者別無選擇,只能繼續在鏈上提議區塊,因為他們已經為它支付了費用。

來源:Devcon

審查威脅

但如果中繼器自己選擇審查呢?這就把我們帶到了中繼器層面的中心化風險的核心。今天,以太坊上58% 的中繼區塊都在審查Tornado Cash 交易,即符合OFAC 的要求。這58% 的大部分(80%) 來自於Flashbots 的中繼區塊(見下圖)。

請注意,還有許多其他驗證者仍在接受帶有Tornado Cash 交易的區塊,因此這實際上是一種“軟”審查形式,表現為幾分鐘的延遲,而不是“硬”審查形式。只要中繼器中有少數不進行審查,這個問題對用戶來說仍然不便,這不是我們傳統上認為的“審查”。儘管如此,這是一個導致最近幾個月圍繞以太坊被審查的廣泛關注的問題。

解決方案

顯而易見的解決方案是鼓勵更廣泛的中繼器。驗證者通常同時連接到多個中繼器。如上所示,7個中繼器(BloXroute 和Manifold) 中有3個不審查Tornado Cash 交易。因為中繼器是一個無許可的實體,這使得任何人都可以很容易地創建自己的中繼器(Flashbots 本身已經開源了自己的中繼器)。創建非審查中繼器的進入門檻很低,這意味著這個中心化向量比驗證者層面上的要輕得多,在驗證者層面阻止不誠實/行為不當的參與者,成本要高得多。

好消息是,從長遠來看,中繼器是一個臨時的審查向量。當PBS 被正式納入協議中時,中繼器將不再需要,因為構建者將連接到提議者。

所以,你應該了解了整個MEV供應鏈以及我們正在做的事情。

請注意,本文只涉及軟審查形式,這通常相當於以秒/分鐘為單位的區塊包含延遲。

這篇文章並不詳盡——我省略了更多的中間件協議,比如預言機、側鍊和Rollups,它們有自己的中心化向量。像51% 攻擊這樣的硬性審查形式,以及針對它們的技術和社會解決方案也沒有包括在本文中。

原文:https://newsletter.banklesshq.com/p/ethereum-censored-flashbots-centralization-lido

Total
0
Shares
Related Posts