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

來源: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 的進展並分享任何觀點!

Total
0
Shares
Related Posts