EigenLayer 新進展及用例:EigenDA、MEV 和 PEPC
作者:Jiawei,IOSG Ventures
願用標題:IOSG Weekly Brief | EigenLayer: In the Year of Restaking #190
本文為 IOSG 原創內容,僅做行業學習交流之用,不構成任何投資參考。 如需引用,請註明來源,轉載請聯繫 IOSG 團隊獲取授權及轉載須知。 本文所提及所有專案均不構成推薦及投資建議。
去年 11 月,我們曾在這篇文章 「EigenLayer:將乙太坊級別的信任引入中間件」。中介紹過 EigenLayer。 近一年以來,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 的進展並分享任何觀點!
References
1. https://github.com/Layr-Labs/eigenlayer-contracts/tree/master/docs
2. https://twitter.com/sreeramkannan/status/1660388940623515648
3. https://a16zcrypto.com/posts/article/the-cryptoeconomics-of-slashing/
4. https://www.youtube.com/watch?v=B2qBnLmPupQ
5. https://ethresear.ch/t/unbundling-pbs-towards-protocol-enforced-proposer-commitments-pepc/13879
6. https://twitter.com/sreeramkannan/thread/1595863276101177344
7. https://twitter.com/sreeramkannan/thread/1629717370620231680
8. https://www.youtube.com/watch?v=t3sL0sCJFzk
9. https://efdn.notion.site/PEPC-FAQ-0787ba2f77e14efba771ff2d903d67e4](https://www.notion.so/0787ba2f77e14efba771ff2d903d67e4?pvs=21)
10. https://docs.google.com/presentation/d/1-pe9TMF1ld185GL-5HSWMAsaZLbEqgfU1sYsHGdD0Vw/edit#slide=id.g1150d91b32e_0_0
11. https://scroll.io/blog/kzg
12. https://www.paradigm.xyz/2022/08/das
13. https://twitter.com/sreeramkannan/thread/1563615609925304320
14. https://hackmd.io/@vbuterin/sharding_proposal#ELI5-data-availability-sampling
15. https://ethresear.ch/t/why-enshrine-proposer-builder-separation-a-viable-path-to-epbs/15710
16. https://dba.mirror.xyz/UTPfxWe65dYrUu_RJX-5VkAJypFRyw3AZh6m0dRXYZk
免責聲明:作為區塊鏈資訊平臺,本站所發佈文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。 本文內容僅用於資訊分享,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。