EigenLayer:再質押引入中間件的信任革命

發表於 2023-09-05 08:48 作者: IOSG Venture

來源:IOSG Ventures

近一年以來,EigenLayer 已經發布了他們的白皮書、完成了 5000 萬美金的 A 輪融資,並且上线了第一階段的主網。在此期間,以太坊社區圍繞 EigenLayer 及其用例也展开了廣泛的討論。本文將圍繞這些討論進行跟蹤和梳理。

背景

在以太坊生態中,一些中間件服務(例如預言機)不完全依賴鏈上邏輯,因此無法直接借助以太坊的共識和安全,需要重新引導信任網絡。通常做法是先由項目方進行運營,再引入代幣激勵,吸引系統參與者,逐漸實現去中心化。

這樣做至少有兩個難點。一是引入激勵機制需要額外成本:參與者購买代幣參與質押的機會成本,以及項目方維持代幣價值的運作成本。二是即便付出了上述成本並構建了一個去中心化網絡,其安全性、持續性如何,仍然是未知數。對於初創項目而言,這兩點顯得尤其棘手。

EigenLayer 的想法是:由現有的以太坊質押者進行再次質押 (Restaking),從而爲這些中間件 (Actively Validated Services, AVS) 提供經濟安全。如果這些再質押者誠實工作可以獲得獎勵,若作惡則會導致原有的以太坊質押敞口被罰沒。

這樣做的好處是:其一,項目方不需要自己引導新的信任網絡,而是外包給以太坊驗證者,盡可能地降低了資金成本;其二,以太坊驗證者集合的經濟安全非常牢固,使安全性也得到了一定的保證。從以太坊質押者的角度看,再質押爲他們提供了額外收益,只要沒有主觀作惡意圖,整體風險可控。

EigenLayer 的創始人 Sreeram 曾在推特和播客提及 EigenLayer 的三種用例和信任模型:

  • 經濟信任。即以太坊質押敞口的重用,更高價值代幣的質押意味着更健壯的經濟安全,上文已有討論。

  • 去中心化信任。一些服務(例如祕密共享)的惡意行爲可能無法歸因,也就無法依賴於罰沒機制。需要足夠去中心化、獨立的群體來做某件事情,以防範共謀和串通風險。

  • 以太坊驗證者承諾。區塊生產者以質押敞口爲抵押,做出某些可信承諾。下文我們會列舉一些例子進一步說明。

系統參與者

EigenLayer 作爲开放市場,連接三方的主要參與者。

  • 再質押者。如果擁有以太坊質押敞口,可以通過將提款憑證轉移到 EigenLayer 來參與再質押,或簡單地存入 stETH 等 LST 來參與。如果再質押者自己無法運行 AVS 節點,亦可將其敞口委托給操作員。

  • 操作員。操作員接受再質押者的委托,並運行 AVS 節點。他們可以自由選擇爲哪些 AVS 提供服務。一旦爲 AVS 提供服務,就需要接受其定義的罰沒規則。

  • AVS。AVS 作爲需求方/消費者,需要向再質押者付費,並獲得其提供的經濟安全。

有了這些基本概念之後,我們來看 EigenLayer 的具體用例。

EigenDA

EigenDA 是 EigenLayer 推出的旗艦產品,解決方案源自於以太坊擴容方案 Danksharding。其中的數據可用性採樣 (Data Availability Sampling, DAS) 也被廣泛應用於 Celestia、Avail 等 DA 項目中。本章我們將快速介紹 DAS,隨後看看 EigenDA 的實現方式及其創新之處。

  • DAS

作爲 Danksharding 的前置方案,EIP-4844 引入了「Blob-carrying Transaction」,每筆交易將額外攜帶約 125kb 大小的數據。在數據分片擴容路线的背景下,新增的數據無疑加重了節點的負擔。那么,有沒有一種辦法使得節點只下載小部分數據,也可以驗證所有數據是可用的

DAS 的做法是,讓節點對小部分數據進行多次隨機採樣。每次成功採樣都會增加節點認爲數據可用的置信度,一旦達到某個預設水平,就認爲數據可用。然而,攻擊者仍然有可能隱藏一小部分的數據——我們還需要某種容錯機制。

DAS 採用了糾刪碼 (Erasure Coding)。糾刪碼的主要思想是將數據分成多個塊,然後對這些塊進行編碼,生成額外的冗余塊。這些冗余塊包含了原始數據塊的部分信息,使得當一些數據塊丟失或損壞時,可以通過冗余塊來恢復丟失的數據塊。這樣,糾刪碼爲 DAS 提供了冗余性和可靠性。

此外,我們還需要驗證得到的冗余塊是否被正確編碼,因爲使用錯誤的冗余塊無法重建原有的數據。Danksharding 採用了 KZG (Kate-Zaverucha-Goldberg) 承諾。KZG 承諾是一種用於驗證多項式的方法,能夠證明多項式在特定位置的值與指定的數值一致。

證明者選擇一個多項式 p(x),並使用 p(x) 計算對每個數據塊的承諾,稱爲 C1、C2、...、Cm。證明者將承諾與數據塊一起發布。爲了驗證編碼,驗證者可以隨機採樣 t 個點 x1, x2, ..., xt ,並要求證明者在這些點上打开承諾:p(x1), p(x2), ..., p(xt)。使用拉格朗日插值,驗證者可以從這些 t 個點重建多項式 p(x)。驗證者現在可以使用重建的多項式 p(x) 和數據塊重新計算承諾 C1'、C2'、...、Cm' 並驗證它們是否與已發布的承諾  C1、C2、...、Cm 匹配。

簡而言之,使用 KZG 承諾,驗證者只需要一小部分的點即可驗證整個編碼的正確性。這樣,我們就得到了完整的 DAS。

  • How

EigenLayer 借鑑了 DAS 的思路,並把它應用於 EigenDA 中。

1. 首先,EigenDA 的節點在 EigenLayer 合約中進行再質押並注冊。

2. 其次,Sequencer 在拿到數據之後,把數據切分成多個塊,使用糾刪碼生成冗余塊,並計算每個數據塊對應的 KZG 承諾。Sequencer 把 KZG 承諾逐一發布到 EigenDA 合約作爲見證。

3. 隨後, Sequencer 把數據塊連同其 KZG 承諾逐一分發給各個 EigenDA 節點。節點拿到 KZG 承諾後,與 EigenDA 合約上的 KZG 承諾進行比較,確認無誤後存儲數據塊,並進行籤名。

4. 之後再由 Sequencer 收集這些籤名,生成聚合籤名並發布到 EigenDA 合約,由 EigenDA 合約驗證籤名。籤名驗證無誤後,就完成了整個流程。

在上述流程中,由於 EigenDA 節點僅僅通過籤名來聲稱自己對數據塊進行了存儲。我們還需要一種方法來確保 EigenDA 節點沒有撒謊。EigenDA 採用了托管證明 (Proof of Custody)。

托管證明的思路是在數據中放一個「炸彈」,一旦節點對它進行籤名,就會被罰沒。爲了實現托管證明,需要設計:一個祕密值,用於區分不同的 DA 節點,防止作弊;一個特定於 DA 節點的函數,以 DA 數據和祕密值作爲輸入,以有無炸彈作爲輸出。如果節點沒有存它該存的完整數據,就無法計算這個函數。Dankrad 曾經在博客上分享過托管證明的更多細節。

如果出現懶惰節點,任何人可以提交證明給 EigenDA 合約,合約會驗證這個證明,若驗證通過則對懶惰節點進行罰沒。

在硬件要求方面,在 1 秒內計算 32 MB 數據的 KZG 承諾大約需要 32-64 核 CPU,但這個要求僅針對 Sequencer 一方,並不會對 EigenDA 節點施加負擔。在 EigenDA 的測試網中,100 個 EigenDA 節點的吞吐量達到了 15 MB/s,而對節點下載帶寬的需求僅爲 0.3 MB/s(遠低於運行以太坊驗證者的要求)。

綜上所述,我們可以看到 EigenDA 實現了數據可用性與共識的解耦,數據塊的傳播不再受限於共識協議和 P2P 網絡吞吐量低的瓶頸。因爲 EigenDA 相當於搭了以太坊共識的便車:Sequencer 發布 KZG 承諾和聚合籤名、由智能合約驗籤、對惡意節點進行罰沒的過程都在以太坊上發生,由以太坊提供共識保證,因此無需重新引導信任網絡。

  • Problems of DAS

當前,DAS 作爲技術本身也存在一些局限性。我們需要假設惡意的對手方會盡可能採取各種手段來愚弄輕節點,使其接受虛假的數據。Sreeram 曾在他的推文裏作了如下闡述。

爲了讓單個節點有足夠高的概率認爲數據可用,需要滿足以下要求:

  • 隨機採樣:要求每個節點獨立且隨機地選擇一堆樣本進行採樣,而對手方不知道誰請求了哪些樣本。這樣,對手方就無法相應地改變策略來欺騙節點。

  • 並發採樣:要求 DAS 由多個節點同時進行,使得攻擊者無法區分一個節點的採樣與其他節點的採樣。

  • 私有 IP 採樣:意味着爲每個查詢的數據塊使用一個匿名 IP。否則對手可以判別進行採樣的不同節點,選擇性地向節點提供其已經查詢過的部分,而不提供其他部分的數據。

我們可以讓多個輕節點進行隨機採樣來滿足並發性和隨機性,但目前沒有好的方法來滿足私有 IP 採樣。因此仍然存在針對 DAS 的攻擊向量,使 DAS 目前只提供較弱的保證性。這些問題仍在被積極解決中。

EigenLayer & MEV

Sreeram 在 MEVconomics Summit 中談到了 EigenLayer 在 MEV 堆棧中的應用。圍繞質押和罰沒的加密經濟原語,提議者可以實現如下四種特性,也即上文提到的第三點——驗證者承諾用例。

Event-driven Activation

諸如 Gelato 的協議可以實現對特定鏈上事件的進行反應。即對鏈上事件進行持續監聽,一旦某個事件發生,隨即觸發一些預定義的操作,這些任務通常由第三方的監聽器/執行者來完成。

之所以稱其爲「第三方」是因爲,監聽器/執行者和實際上處理區塊空間的提議者之間並無聯系。假設監聽器/執行者觸發了某一筆交易,但(由於某些原因)沒有被提議者包含到區塊中,這是無法被歸因的,因此無法帶來確定性的經濟保證。

如果由參與再質押的提議者提供這項服務,他們就可以對操作的觸發做出可信承諾,如果最終這些交易沒有被包含在區塊中,則提議者被罰沒。這樣相較於第三方監聽器/執行者而言,提供了更強的保證。

在實際應用中(例如借貸協議),設置超額抵押率的目的之一是爲了覆蓋一定時間範圍內的價格波動。這與清算前的時間窗口相關,更高的超額抵押率意味着更長的緩衝期。如果有大部分的交易採取事件驅動反應的策略,且擁有提議者提供的強保證,那么(對於流動性高的資產而言)超額抵押率的波動性就可能被限制在幾個區塊間隔內,從而降低超額抵押率並提高資本效率。

Partial Block Auction

在當前 MEV-Boost 的設計中,提議者把區塊空間完全外包給構建者,只能被動接收並提議構建者提交的整個區塊。相較於分布更加廣泛的提議者而言,構建者只有極少數,他們可能串通起來,對特定交易進行審查和勒索——因爲提議者無法在 MEV-Boost 中包含自己想要的交易。

EigenLayer 提出了 MEV-Boost++ 對 MEV-Boost 進行升級,在區塊中引入了 Proposer-part,提議者可以在 Proposer-part 中包含任意交易。提議者也可以同時構建一個替代區塊 B-alt,在中繼沒有釋放 Builder_part 的情況下提議這個替代區塊 B-alt。這種靈活性既確保了抗審查,又同時解決了中繼的活躍性問題。

這與協議層設計——ePBS 提出的 crList 的目的是一致的,即我們需要確保廣泛的提議者可以參與決定區塊的構成,以實現抗審查。

Threshold Encryption

在基於閾值加密的 MEV 解決方案中,由一組分布式的節點管理加解密密鑰。用戶對交易進行加密,在交易被包含在區塊中後才會被解密並執行。

然而閾值加密依賴於多數誠實假設。如果大多數的節點作惡,有可能導致解密後的交易沒有被包含在區塊中。進行再質押的提議者可以對加密後的交易進行可信承諾,以確保其被包含在區塊中。如果提議者沒有包含解密後的交易,那么會被罰沒。當然,如果惡意的多數節點沒有釋放解密密鑰,那么提議者可以提議一個空塊。

Long-term Blockspace Auction

長期區塊空間拍賣允許區塊空間的买家提前預定某個驗證者未來的區塊空間。參與再質押的驗證者可以做出可信承諾,如果到期沒有包含买家的交易,則會被罰沒。這種獲得區塊空間的保證有一些實用的案例。例如,預言機需要在一定的時間周期進行喂價;Arbitrum 上每  1-3 分鐘、Optimism 每 30 秒 - 1 分鐘向以太坊 L1 發布 L2 數據等等。

PEPC

我們再說回最近被以太坊社區廣泛討論的 PEPC (Protocol-enforced Proposer Commitment)。PEPC 實際上是 ePBS 的推廣或者說通用化 (Generalization)。

讓我們來逐一拆解這個邏輯鏈。

  • 首先,以協議外 PBS MEV-Boost 爲例,目前 MEV-Boost 依賴於以太坊協議級別的罰沒機制,即如果提議者在同一區塊高度對兩個不同的區塊頭進行籤名,他們會被罰沒。因爲提議者需要對中繼提交的區塊頭進行籤名,相當於該區塊頭與該提議者兩者形成綁定,故使中繼有理由相信,構建者的區塊是會被提議的。否則提議者只能被迫放棄這個 Slot ,或者提議一個不同的區塊(這會導致罰沒)。此時提議者的承諾由質押/罰沒這個經濟安全來保證。

  • 近似地,設計 ePBS 的一個重要原則是「honest builder publication safety」,即確保以誠實的構建者發布的區塊會被提議。ePBS 作爲協議內 PBS,將被納入到以太坊的共識層中,由協議提供保證。

  • PEPC 是 ePBS 的進一步推廣。ePBS 承諾了「構建者的區塊會被提議」這件事情,如果把這件事情擴展到部分區塊拍賣、平行區塊拍賣、未來區塊拍賣等等,我們就可以讓提議者做更多的事情——而協議層會確保這些事情被正確執行。

PEPC 與 EigenLayer 之間有着微妙的關系。不難發現,上述 PEPC 的用例與 EigenLayer 的區塊生產者用例之間有幾分相似之處。然而,EigenLayer 和 PEPC 的一個重要區別是:參與再質押的提議者理論上仍然可以違背他們的承諾,盡管會因此受到經濟上的懲罰;而 PEPC 的重點在於「Protocol-enforced」,即在協議層上實現了強制性,如果承諾無法被執行,則區塊無效。

(PS:粗略地來看,容易發現 EigenDA 類似於 Danksharding、MEV-Boost++ 類似於 ePBS,這兩項服務就像是協議層設計的 opt-in 版本,對比協議層而言更快推出市場的解決方案,和以太坊未來要做的事情保持同步,並通過再質押保持 Ethereum Alignment)。

Don't Overload Ethereum Consensus?

數月前,Vitalik 的文章 Don't Overload Ethereum Consensus 被多數人認爲是對 Restaking 的批評。筆者認爲這只是一種對維護社會共識的提醒或警告,重點在於社會共識,而非對再質押的否定。

在以太坊的嬰兒時期,The DAO 攻擊事件曾引發巨大爭議,社區就是否硬分叉進行了激烈的討論。而如今,包括 Rollup 在內的以太坊生態已經承載了龐大的應用。因此,避免在社區內引起極大分歧,保持社會共識的一致性是非常重要的。

Hermione creates a successful layer 2 and argues that because her layer 2 is the largest, it is inherently the most secure, because if there is a bug that causes funds to be stolen, the losses will be so large that the community will have no choice but to fork to recover the users' funds. High-risk.

以上對原文的引用是一個很好的例子。今天 L2 的總 TVL 超過百億美金,如果出現問題,牽扯極大。此時若社區提議執行硬分叉,對狀態進行回滾,必然會引起巨大爭議。假設你我有一筆不小的資金在上面,將會如何選擇 —— 拿回這筆錢還是敬畏區塊鏈的不可篡改性?Vitalik 的點是:依賴於以太坊構建的項目應該妥善管控風險,不應該試圖拉攏以太坊的社會共識,把項目的生死存亡和以太坊進行強綁定。

回歸到 EigenLayer 的討論上,管控風險的重點是 AVS 需要定義客觀的、鏈上可查的、可歸因的罰沒規則,以避免產生分歧。例如,在以太坊上對區塊進行雙重籤名;在基於輕節點的跨鏈橋中對另一條鏈的無效區塊進行籤名;上述討論的 EigenDA 托管證明等等。諸如此類都屬於清晰的罰沒規則。

結語

EigenLayer 預計將於明年年初完成主網上线,並推出其旗艦產品 EigenDA。目前已有許多基礎設施項目宣布了他們和 EigenLayer 的合作。我們在上文討論了 EigenDA、MEV 和 PEPC,圍繞不同的用例,許多有趣的討論還在進行中。再質押正在成爲市場的主流敘事之一。我們會持續跟進 EigenLayer 的進展並分享任何觀點!

標題:EigenLayer:再質押引入中間件的信任革命

地址:https://www.coinsdeep.com/article/40879.html

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

你可能還喜歡
熱門資訊