編者按:以太坊共識機制轉向POS之後,其共識層安全問題一直飽受市場爭議和擔憂。當然,一系列解決方案也隨之而來。其中以太坊再質押協議EigenLayer在近期被市場討論和研究頗多,而此前8月17日,PANews就已發布文章《新項目| EigenLayer:通過再質押(Re-Staking)打造以太坊上的共識中樞》對EigenLayer進行了全方位的解讀。此文為IOSG對於EigenLayer的思考和解讀,讀者朋友們可以把這兩篇文章結合起來一起閱讀。

原文:《 IOSG Weekly Brief | EigenLayer:將以太坊級別的信任引入中間件#149

作者:Jiawei, IOSG Ventures

本文為IOSG原創內容,僅做行業學習交流之用,不構成任何投資參考。如需引用,請註明來源,轉載請聯繫IOSG團隊獲取授權及轉載須知。

引子

​詳解中間件EigenLayer:如何為以太坊提供二次安全保障?

在當前的以太坊生態中,存在著許多的中間件(Middleware)。

左側是應用端的視角。一些dApp 的運行依賴於中間件:例如DeFi 衍生品依賴於預言機餵價;例如資產的跨鏈轉移依賴於跨鏈橋作為第三方中繼。

右側是模塊化的視角。例如在Rollup 排序中我們需要構建Sequencer 網絡;在鏈下數據可用性中我們有DAC 或者Polygon Avail 和Celestia 的DA-Purpose Layer1。

這些大大小小的中間件獨立於以太坊本身而存在,運行著驗證者網絡:即投入一些代幣和硬件設施,為中間件提供服務。

我們對中間件的信任源於Economic Security ,如果誠實工作可以得到回報,如果作惡則將導致質押代幣的Slashing。這種信任的級別來源於質押資產的價值。

如果我們把以太坊生態中所有依賴Economic Security 的協議/中間件比作一個蛋糕,那麼看起來會像是這樣:資金根據質押網絡的規模被切分成大大小小的部分。

​詳解中間件EigenLayer:如何為以太坊提供二次安全保障?

然而,當前的Economic Security 仍然存在一些問題:

  • 對於中間件。中間件的驗證者需要投入資金以守護網絡,這需要一定的邊際成本。出於代幣價值捕獲的考慮,驗證者往往被要求質押中間件原生代幣,由於價格波動導致其風險敞口存在不確定性。

    其次,中間件的安全性取決於質押代幣的總體價值;如果代幣暴跌,攻擊網絡的成本也隨之降低,甚至可能引發潛在的安全事件。該問題在一些代幣市值較為薄弱的協議上尤為明顯。

  • 對於dApp 。舉例而言,一些dApp不必依賴於中間件(設想一個Pure Swap DEX),而只需要信任以太坊;對於一些依賴中間件的dApp (如需要預言機餵價的衍生品),實際上其安全同時依賴於以太坊和中間件的信任假設。

    中間件的信任假設本質上來源於對分佈式驗證者網絡的信任。而我們看到由於預言機錯誤餵價導致的資產損失事件不在少數。

這樣,進一步地帶來木桶效應:

  • 假設某個可組合性極高的DeFi 應用A,相關牽扯的TVL 達到數十億級別,而預言機B 的信任僅僅依賴於數億級別的質押資產。那麼一旦出現問題,由於協議間關聯所帶來的風險傳導和嵌套,可能無限放大預言機所造成的損失;

  • 假設某模塊化區塊鏈C,採用數據可用性方案D、執行層方案F 等等,如果其中的某一部分出現行為不當/遭受攻擊,波及範圍將是C 整條鏈本身,儘管系統其他部分並沒有問題。

可見系統安全取決於其中的短板,而看似微不足道的短板可能引發系統性風險。

EigenLayer做了什麼?

EigenLayer 的想法並不復雜:

類似於共享安全,嘗試把中間件的Economic Security 提升至等同於以太坊的級別。

​詳解中間件EigenLayer:如何為以太坊提供二次安全保障?

這是通過「Restaking」(再質押)來完成的。

Restaking 即是把以太坊驗證者網絡的ETH敞口進行二次質押

原先,驗證者在以太坊網絡上進行質押以獲得收益,一旦作惡則將導致對其質押資產的Slash。同理,在進行Restaking 之後能夠獲得在中間件網絡上的質押收益,但如果作惡則被Slash 原有的ETH 質押品。

具體Restake 的實施方法是:質押者可以把以太坊網絡中提款地址設置為EigenLayer 智能合約,也即賦予其Slashing 的權力。

​詳解中間件EigenLayer:如何為以太坊提供二次安全保障?

除直接Restake $ETH 之外,EigenLayer 提供了其他兩種選項以擴展Total Addressable Market,即分別支持質押WETH/USDC 的LP Token 和stETH/USDC 的LP Token。

此外,為了延續中間件原生代幣的價值捕獲,中間件可以選擇在引入EigenLayer 的同時保持對其原生代幣的質押要求,即Economics Security 分別來源於其原生代幣和以太坊,從而避免單代幣的價格暴跌引發的「死亡螺旋」。

可行性

總體來看,對驗證者來說,參與EigenLayer 的Restaking 有資本要求硬件要求兩點。

參與以太坊驗證的資本要求是32 ETH,在Restaking 上保持不變,但在引入到新的中間件時會額外增加潛在的風險敞口,如Inactivity 和Slashing。

​詳解中間件EigenLayer:如何為以太坊提供二次安全保障?

而硬件設施方面,為了降低驗證者的參與門檻,實現足夠的去中心化,合併後以太坊驗證者的硬件要求很低。稍好的家用電腦其實已經可以達到推薦配置。這時一些硬件要求其實是溢出的。類比於礦工在算力資源足夠的時候同時挖多個幣種,僅從硬件方面來說,Restaking 相當於用溢出的這部分硬件Capability 去為多個中間件提供支持。

聽起來很像Cosmos 的Interchain Security,僅此而已?實際上,EigenLayer 對後合併時代以太坊生態的影響可能不止於此。本文我們選取EigenDA 來做進一步闡述。

​詳解中間件EigenLayer:如何為以太坊提供二次安全保障?

EigenDA

注:此處僅十分簡略地介紹數據可用性(DA)、糾刪碼和KZG 承諾。數據可用性層是模塊化視角下的拆分,用於為Rollup提供數據可用性。糾刪碼和KZG 承諾是數據可用性採樣(DAS)的組成部分。採用糾刪碼使得隨機下載一部分數據即可驗證所有的數據可用性,並在必要時重建所有數據。 KZG承諾用於確保糾刪碼被正確編碼。為避免偏離本文主旨,本節將省略一些細節、名詞解釋和前因後果,如對本節Context 有疑問,可閱讀IOSG 此前的文章「合併在即:詳解以太坊最新技術路線」以及「拆解數據可用層:模塊化未來中被忽視的樂高積木」。

​詳解中間件EigenLayer:如何為以太坊提供二次安全保障?

作為簡單回顧,我們把當前的DA 方案劃分為鏈上和鏈下兩部分。

鏈上部分,Pure Rollup 是指單純把DA 放到鏈上的方案,即需要為每個字節恆定支付16 gas,這將占到Rollup 成本的80%-95% 之多。在引入Danksharding之後,鏈上DA的成本將得到大幅降低。

在鏈下DA 中,每種方案在安全性和開銷上有一定的遞進關係。

Pure Validium是指僅把DA 放在鏈下,而不做任何保證,鏈下數據託管服務商隨時有關機下線的風險。而特定於Rollup 中的方案包括StarkEx、zkPorter 和Arbitrum Nova,即由一小部分知名第三方組成DAC 來保證DA。

EigenDA 屬於通用化的DA 解決方案,與Celestia 和Polygon Avail 同屬一類。但EigenDA 和其餘兩者的解決思路又有一些差異。

作為對比,我們首先忽略EigenDA,來看Celestia 的DA 是如何工作的。

​詳解中間件EigenLayer:如何為以太坊提供二次安全保障?

以Celestia 的Quantum Gravity Bridge 為例:

以太坊主鏈上的L2 Contract 像往常一樣驗證有效性證明或欺詐證明,區別在於DA 由Celestia 提供。 Celestia 鏈上沒有智能合約、不對數據進行計算,只確保數據可用。

L2 Operator 把交易數據發佈到Celestia 主鏈,由Celestia 的驗證人對DA Attestation 的Merkle Root 進行簽名,並發送給以太坊主鏈上的DA Bridge Contract 進行驗證並存儲。

這樣實際上用DA Attestation 的Merkle Root 代替證明了所有的DA,以太坊主鏈上的DA Bridge Contract 只需要驗證並存儲這個Merkle Root。對比將DA 存儲到鏈上而言,這樣使得保證DA 的開銷得到了極大的降低,同時由Celestia 鏈本身提供安全保證。

在Celestia 鏈上發生了什麼?首先,Data Blob 通過P2P 網絡傳播,並基於Tendermint 共識對Data Blob 達成一致性。每個Celestia 全節點都必須下載整個Data Blob。 (注意,這裡僅討論全節點,Celestia 的輕節點可以採用DAS 來確保數據可用,這裡不再展開)

由於Celestia 本身仍然作為Layer1,需要對Data Blob 進行廣播和共識,這樣一來實際上對網絡的全節點有著很高的要求(128 MB/s 下載和12.5 MB/s 上傳),而實現的吞吐量卻未必高(1.4 MB/s)

而EigenLayer 採用了不同的架構——不需要做共識,也不需要P2P 網絡。

如何實現?

​詳解中間件EigenLayer:如何為以太坊提供二次安全保障?

首先,EigenDA 的節點必須在EigenLayer 合約中Restake 他們的ETH 敞口,參與到Restaking 中。 EigenDA 節點是以太坊質押者的子集。

其次,數據可用性的需求方(例如Rollup,稱為Disperser)拿到Data Blob 後,使用糾刪碼和KZG 承諾對Data Blob 進行編碼(大小取決於糾刪碼的冗餘比例),並把KZG 承諾發佈到EigenDA 智能合約。

隨後Disperser 把編碼後的KZG 承諾分發給EigenDA 節點。這些節點拿到KZG 承諾後,與EigenDA 智能合約上的KZG 承諾進行比較,確認正確後即對Attestation 進行簽名。之後Disperser 一一獲取這些簽名,生成聚合簽名並發佈到EigenDA 智能合約,由智能合約進行簽名的驗證。

在這個工作流中,EigenDA 節點僅僅對Attestation 進行了簽名,來聲稱自己對編碼後的Data Blob 進行了存儲。而EigenDA 智能合約僅僅對聚合簽名的正確性進行驗證。那麼我們如何確保EigenDA 節點真的對數據可用進行了存儲呢?

EigenDA 採用了Proof of Custody的方法。即針對這樣一種情況,有一些Lazy Validator,他們不去做本應該做的工作(例如確保數據可用)。而是假裝他們已經完成了工作並對結果進行簽名。 (例如撒謊聲稱數據是可用的,實際上他們並沒有這樣做)

Proof of Custody 的做法類似於欺詐證明:如果出現Lazy Validator,任何人可以提交證明給EigenDA 智能合約,由智能合約進行驗證,如驗證通過即對Lazy Validator 進行Slashing。 (更多有關Proof of Custody 的細節可參考Dankrad 的文章,此處不再展開* https://dankradfeist.de/ethereum/2021/09/30/proofs-of-custody.html*)

小結

經過上述討論和比較,我們可以看到:

Celestia 的思路與傳統的Layer1 一致,做的其實是Everybody-talks-to-everybody (共識)和Everybody-sends-everyone-else-everything (廣播),而區別是Celestia 的共識和廣播是針對Data Blob 來做的,即僅確保數據可用。

而EigenDA 做的是Everybody-talks-to-disperser(即步驟[3] Disperser 獲取Attestation)和Disperser-sends-each-node-a-unique-share(即步驟[2] Disperser 分發數據給EigenDA 節點),把數據可用性和共識進行了解耦。

EigenDA 不需要做共識和參與P2P網絡的原因是,它相當於搭了以太坊的「便車」:借助EigenDA 部署在以太坊上的智能合約,Disperser 發布Commitments 和Aggregated Attestations、由智能合約驗證聚合簽名的過程都是在以太坊上發生的,由以太坊提供共識保證,因此不必受限於共識協議和P2P網絡低吞吐量的瓶頸。

這體現為節點要求和吞吐量之間的差異。

​詳解中間件EigenLayer:如何為以太坊提供二次安全保障?

在安全性方面,Celestia 使用Tendermint 作為其共識,這意味著如果控制了Celestia 的2/3 的代幣,就有可能發生多數攻擊。與此同時,Celestia 對糾刪碼進行欺詐證明,且輕客戶端同時做DAS。這需要至少一個誠實的全節點和足夠多的輕客戶端來做DAS。

而EigenDA 的安全性本質上依賴於以太坊的驗證者集,繼承了以太坊的Slashing 原語,為DA 層提供了Economic Security 的保證。如果Restaking 在EigenDA 的質押者越多,則意味著更多的安全。而降低節點的要求也同樣有助於增強去中心化程度。

需要注意,EigenDA 是應用層DA,區別於Danksharding 的協議層DA——Application-specific 相較於General-purpose 的優勢在於Sovereign 和Flexibility。這使得針對不同Rollup 的數據可用性需求可以定制不同的方案。

Discussion on Economic Security

最後再回頭聊聊Economic Security。

我們假設大多數Economic Security 參與者是理性的,受到經濟激勵的驅動,並總是傾向於最大化自己的利潤。這些參與者可能是中間件的驗證者,他們提供硬件設施、質押中間件原生代幣,並獲得代幣作為獎勵。

理性的參與者會考慮投入與產出:如果把這些投入放到其他地方,是否可以獲得更多收益?所以,中間件需要保證其代幣的價格維持在一定的水平。如果代幣激勵足夠大,那麼自然會吸引更多的驗證者加入,從而進一步提升網絡的去中心化程度;如果無法維護代幣價值,項目方可能不得不自掏腰包運行驗證者集,隨之則將導致中心化以及審查問題。

另外還有安全級別的考慮——中間件的安全性取決於質押代幣的總體價值;如果代幣暴跌,攻擊網絡的成本也隨之降低。

綜上兩點,中間件需要不斷提升其協議代幣的價值以強化激勵,從而確保Economic Security 足夠穩固。除構建中間件服務本身之外,項目方需要額外付出大量的邊際成本。

EigenLayer 的Restaking 則同時解決了上述兩個問題:

  • 關於投入產出,如果硬件設施的Capacity 足夠,驗證者無需投入額外代幣成本,而是將已有的ETH 質押份額擴展到新的協議。

    當然,這將擴大一部分風險敞口。如何衡量這部分風險,在具體實施細節披露之前我們無法下判斷,但直觀來說,只要驗證者沒有主觀作惡的意願,這部分風險是在可控範圍內的,因為Inactivity 的本質區別於Slashing: Inactivity 可能是意外下線或因為網絡原因錯過投票所導致的,而Slashing 的原因則是惡意行為,後者將導致被移除驗證者網絡並失去ETH。

  • 關於安全級別,具體將取決於EigenLayer 本身以及針對特定中間件的採用率。目前以太坊網絡共質押了14,836,535 枚ETH,以市場現價計算,假設只有1% 的ETH 參與到某個中間件的Restaking 中,能夠產生接近2 億美金的資產保護。此外,在去中心化程度方面,以太坊的驗證者集亦是加密生態中最去中心化的群體。

Closing Thoughts

由於EigenLayer 仍在早期階段,我們缺少關於具體實施的材料,本文內容更多為邏輯面的梳理。對於一些技術細節仍待進一步探究和討論。

但我們已經看到EigenLayer 提出的Hyperscaling Ethereum 的創新所在,在EigenLayer 之上會有非常多有趣的話題值得探討。如果您仔細閱讀本文並理解了EigenLayer 的Vision 和Positioning,大概會感到與我們同樣興奮。

IOSG 始終關注並積極擁抱以太坊生態,將持續跟進EigenLayer 為以太坊未來格局帶來的潛在改變及其投資機會。

Pay attention to EigenLayer :)

請注意:本文部分idea 來源於與EigenLayer 團隊的社區討論

References

https://messari.io/report/eigenlayer-to-stake-and-re-stake-again

https://twitter.com/SalomonCrypto/status/1572094840619532288

https://twitter.com/\_nishil\_/status/1573018197829115905

https://twitter.com/MeirBank/status/1589013673385000960