EigenLayer 提出的再質押(Restaking)協議最近越來越受到重視,它在許多問題上提供了新解法,也是流動性質押衍生品賽道很重要的敘事,下文簡單聊聊“再質押”,以及一些相關的底層實現和安全風險。
質押與流動性質押
以太坊的質押(Staking)是指用戶將他們的ETH 鎖定在以太坊網路中,以支援網路的運作和安全性。在以太坊2.0 中,這種質押機制是權益證明(Proof of Stake, PoS)共識演算法的一部分,它取代了先前的工作量證明(PoW)機制。用戶透過質押ETH,成為驗證者(Validators),參與區塊的創建和確認過程中,作為回報,他們可以獲得質押獎勵。
以太坊質押和驗證者趨勢
這種原生質押方式存在許多問題,例如所需的資金量不小(32 ETH 或它的倍數)、需要提供一些硬體作為驗證節點且保證可用性、質押的ETH 被鎖定不靈活等等。
於是流動性質押衍生品(Liquid Staking Derivatives,LSD)應運而生,它旨在解決傳統質押中的流動性問題,允許用戶在質押代幣的同時,獲得代表他們質押份額的流動性代幣(如Lido 的stETH 或Rocket Pool 的rETH);這些流動性代幣可以在其他平台上交易、借貸或用於其他金融活動,這樣,用戶既能參與到質押中獲得獎勵,又能保持資金的靈活性。
流動性質押通證一般會由專案方發行,並維持與原質押資產固定的兌換比例,如Lido 發行的stETH 與ETH 的兌換關係為1:1。
熱門流動性押項目
流動性是質押的唯一問題嗎?
顯然不是,目前越來越多的中間件、DA、跨鏈橋、預言機專案都採用節點+質押的方式運行,它們的做法在不斷的分散共識,透過空投和更高的質押收益,吸引用戶離開大的共識圈而進入它們的小圈圈;
另外對於大部分初始專案來說,創建一個PoS 的共識網絡是很難的,說服用戶放棄其他收益和流動性而參與進來並不容易;
EigenLayer 解決的問題
再質押不是指收益滾存,這是完全不同的兩件事。
在以太坊共識協議中,約束驗證節點的核心是它的罰沒機制(Slashing),而EigenLayer 提出的再質押協議核心就是透過某種方式拓展了罰沒邏輯,讓許多主動驗證服務(Actively Validated Services,AVS)也能夠編寫邏輯,向作惡的玩家做出懲罰,約束行為並達到共識。
EigenLayer 是以太坊上的創新協議,它引入了Restaking 機制,允許在共識層重新使用以太坊和流動質押代幣(LST)。截止2024.02,EigenLayer 協議上的鎖倉價值已經達到了45 億美元,其中LST 佔比40% 左右;同時著名投資機構a16z 也剛剛宣布了1 億美元的投資,其生態項目Renzo、Puffer 等都先後拿到了Binance、OKX 等投資。這些也標誌著它在完善以太坊定標基礎設施和提高加密經濟安全性方面取得了重大進展。
鎖倉價格超過 45 億美元
EigenLayer 的核心功能是使以太坊的安全性多樣化,在下圖示例(來自白皮書)中,三個AVS 借助再質押協議更容易的獲得了更大資金量帶來的共識安全性,同時也沒有造成ETH Layer1 的削弱。
EigenLayer 讓共識更集中
EigenLayer 包含三個核心元件,也分別對應再質押協議的三類使用者:
-
TokenManager:處理質押者(staker)的質押和提款。
-
DelegationManager:註冊運營商(operator)並追蹤管理運營商份額。
-
SlasherManager:管理罰沒邏輯,為AVS 開發者提供懲罰能力介面。
EigenLayer 簡化架構圖
從圖中可以清楚的看到各個角色之間的協同關係:
-
質押者透過TokenManager 質押他們的LST 並獲得額外收益,同時質押者也信任對應的運營商(這一點和你在Lido、Binance 質押沒有區別,運營商運作的基礎就是獲得信任)。
-
營運商透過DelegationManager 註冊後獲得LST 資產,為需要AVS 服務的專案方提供節點服務,從專案方提供的節點獎勵和手續費中抽取收益。
-
AVS 開發者實作一些通用或特殊的Slasher 運行在節點上,提供給專案方(AVS 需求方)使用,這些專案方(例如跨鏈橋、DA、預言機等)透過EigenLayer 購買這類服務,直接獲得共識安全。
各個角色都能在EigenLayer 協議中獲得收益,整體來看是一個「三贏零虧」的局面。
如何實現再質押
這裡為了更簡單的說明實作邏輯,隱藏了Operator 和DelegationManager,與上文架構圖略有差異。
首先,我們以流動性質押代幣的再質押舉例,最簡單的TokenPool 實現只需要滿足三個功能:質押、提款、罰沒,透過Solidity 實現出來的效果如下:
contract TokenPool { // 質押餘額mapping(address => uint256) public balance;
function stake(uint256 amount) public; // 質押function withdraw() public; // 提款
// 執行罰沒邏輯function slash(address staker, ??? proof) public;}
為了橫向拓展slash 邏輯,給AVS 開發者提供統一的接口,可以做出如下改造,註冊的多個slasher 會根據需求依次執行並傳遞,在某些環節作惡時適當對質押款做削減(類似原生質押):
contract Slasher { mapping(address => bool) public isSlashed; // 實作罰沒邏輯function slash(address staker, ??? proof) public;}
contract TokenPool { mapping(address => uint256) public balance; // 管理已經註冊的slasher mapping(address => address[]) public slasher;
function stake(uint256 amount) public; function withdraw() public; // 註冊slasher function enroll(address slasher) onlyOwner;}
註冊slasher實際上是一個比較嚴格的過程,只有經過審查的shash 邏輯才能夠被EigenLayer 和用戶所接受,如何分配質押代幣也是另一個比較核心問題。
目前EigenLayer 支援了9 種不同的流動性質押代幣(LSTs),它透過在TokenPool 上封裝了一層更高階的TokenManager 來實現:
contract TokenManager { mapping(address => address) tokenPoolRegistry; mapping(address => mapping(address => uint256)) stakerPoolShares;
// 質押stETH 到stETHTokenPool function stakeToPool(address pool, uint256 amount); // 從stETHTokenPool 提款stETH function withdrawFromPool(address pool); // …}
至此,我們已經可以實現一個簡單的LSD 再質押合約;思考一個小問題
OKEX下載,歐易下載,OKX下載
okex交易平台app下載