關於 SUI 質押,那些你或許不知道的硬核知識
作者:Sui Network
SUI 主要用途
- PoS:用於參與委託權益證明機制
- Gas 機制:用於支付網絡交易和存儲費用
- 流動性:在 Sui 經濟中提供鏈上原生流動性
- 社區治理:有可能影響 Sui 未來的治理
質押流程
Q1:什麼是質押者?
擁有 Sui 地址的任何人都可以通過將 SUI 質押到他們選擇的一個或多個驗證節點來進行質押,質押者包括質押 SUI 的驗證節點或第三方 SUI 持有者。
Q2:質押的 SUI 去哪了?
請放心,它們被安全地鎖定在您的地址裡!與其他網絡中現有的流動性質押解決方案不同,在那些方案中,質押者需要將其質押的 token 控制權移交給第三方的流動性質押智能合約。而 Sui 允許 SUI 持有者直接將其 SUI 質押到選擇的驗證節點,同時保留其質押 token 的完全控制權。質押 token 受到 Sui 協議層的保護,不受第三方智能合約的漏洞影響。
Q3:什麼是質押池?
每個 Sui 驗證節點都會維護自己的質押池,以跟蹤質押的數量並累積質押獎勵。驗證節點池與每個 epoch 邊界計算的兌換率時間序列一起運作。這些兌換率決定了過去的每個 SUI 質押者在將來可以提取的 SUI 數量。重要的是,隨著更多獎勵存入質押池,兌換率會上升,而且 SUI 存入質押池的時間越長,累積的獎勵越多。
每個驗證節點都有一個與其特定質押池相對應的兌換率時間序列,在質押池對象內部鏈上存儲。從 SUI 質押者的角度來看,可以通過以下共識跟蹤其質押的價值。
E'時的 SUI = (E 時存入的 SUI) * (E'時的兌換率 / E 時的兌換率 )
在概念上,質押池的運作方式與流動性池完全相同。當 SUI 在 epoch E 存入質押池時,根據 epoch E 的兌換率,將其轉化為流動性 token。隨著質押池獲得獎勵,兌換率會上升。在 epoch E',這些流動性 token 的價值更高,可以轉化為更多的 SUI。
Sui 質押池與典型的流動性池之間唯一的區別在於,在 Sui 中,流動性 token 不存在。相反,全局兌換率表用於跟蹤計算。這種設計的一個優點是,由於質押池中的所有 SUI 都是相同的,無論它們最初是作為新的質押還是作為質押獎勵存入,所有 SUI 都立即視為質押,因此獎勵立即進行複利計算。
質押池是一個系統級智能合約(staking_pool.move),也是 Sui 框架的一部分。
Q4:SUI 質押的發展經歷了哪些階段?
質押 v1:[原始設計,已棄用]
這個設計在測試網第二階段使用,但現在已經被棄用,移除了兩個主要的實現:
- 此前,質押流程分為兩個階段。首先,質押者存入 SUI 後,立即獲得一個包含鎖定 SUI 的 StakedSUI 對象。其次,在 epoch 結束時,一旦質押池的兌換率更新,用戶獲得一個包含用戶池 token 的 Delegation 對象。Delegation 對象必須等到 epoch 關閉,因為在 epoch 內無法預先知道結束時期的兌換率,它取決於整個 epoch 內收集的 Gas 費的數量。這種方法在 epoch 邊界時需要重新配置非常多的交易,因此在質押 v2 中已經移除了 Delegation 對象(見下文)。
- 此前,當執行質押取回時,取回的質押進入待定質押狀態,並且在 epoch 邊界關閉後進行處理。這樣做的原因是,由於當前 epoch 的質押獎勵是在整個 epoch 內確定的,因此在 epoch 仍然活躍時無法完全預測到結束 epoch 時的兌換率。因此,此設計在處理具有更新兌換率的取回之前需要等待 epoch 關閉。這種情況已不再存在,取回將立即以前一 epoch 的兌換率進行處理。
質押 v2:[當前主網設計]
兩個主要變化是:
- 質押池的核算已經簡化。與之前一樣,當用戶質押 SUI 時,這些對象被包裝成 StakedSUI 對象。但是,質押池不再通過 Delegation 對象來實現每個用戶對質押池的相對所有權。相反,核算是直接通過 StakedSUI 對象的時間戳(確定存款發生的時間點)和存款 epoch 與取回 epoch 之間的兌換率變化來進行的。每個質押池的數據結構包含一個該池的兌換率時間序列。這些兌換率可以用於確定該池中任何質押者的取款情況。
- 質押取回將立即根據上個 epoch 的兌換率進行處理,無需等待當前 epoch 關閉。取回包括用戶存入的原始質押和累積到上個 epoch 的所有質押獎勵。這種方法的缺點是,在取回的 epoch 內,質押者不會獲得其質押獎勵。直到 epoch 關閉,由於無法預先知道在當前 epoch 內將累積多少質押獎勵,因此無法將其包含在取回中。因此,任何用戶都可以立即取回他們的質押並獲得:
E'時取回的 SUI = (E 時存入的 SUI ) * (E'-1 時的兌換率 /E 時的兌換率 )
質押 v3:[未來更新]
這是最終將推向主網的長期解決方案。
質押 v2 設計的主要挑戰是無法處理解除綁定(或冷卻)期的問題,這對於網絡安全至關重要。通過修改 Sui 如何處理取回請求,將其分為兩個步驟來實現這一點:
- 在第一筆交易中,質押者將提交取回請求並獲得一個 WithdrawalReceipt。在此時,質押者不會收到任何 SUI。
- 在第二筆交易中,一旦預定的解除綁定期過去,質押者可以提交 WithdrawalReceipt 並獲得他們的 SUI 本金和累積獎勵。
重要的是,除了啟用解除綁定期,此設計還可以讓用戶在取回 WithdrawalReceipt 之後獲得他們應得的全部獎勵,因為必須在提交取回請求的 epoch 結束時進行取回。這種設計不會遇到質押 v1 中引起非常大的重新配置交易的挑戰,因為 WithdrawalReceipt 對象可以在任何時候兌換(一旦解除綁定期結束),並且不依賴於 epoch 邊界。
Q5:我的質押存入請求何時生效?
一旦質押存入請求提交,它立即進入質押池中的待定狀態。Sui 錢包將反映用戶賬戶的任何待定質押存入請求。然而,待定質押存入請求要到請求所在的 epoch 結束時才會生效。
Q6:我的解除質押請求何時生效?
解除質押或取回請求一旦收到,將立即進行處理。質押者將獲得最初存入的 SUI 以及累積到上個 epoch 邊界的所有質押獎勵。換句話說,它們不包括當前 epoch 的質押獎勵。有關此實現的更多詳細信息,請參閱質押 v2。請注意,在未來,一旦實施了質押 v3,解除質押請求將不會立即處理。
Q7:如何計算每個驗證者池的兌換率?
每個驗證節點池的兌換率在每個 epoch 邊界處按以下方式計算:
E+1 時兌換率 = (1 + (E 時質押獎勵 / E 時質押金額))*(E 時兌換率)
重要的是,epoch E 期間質押者獲得的質押獎勵是該 epoch 內驗證節點池獲得的總質押獎勵的一個子集。換句話說,驗證節點池獲得的總質押獎勵可以分為三個獨立的部分,取決於它們是由誰獲得的:
質押獎勵 = 質押者獎勵 + 驗證節點佣金 + 存儲基金獎勵
普通的 SUI 質押者只獲得質押者獎勵。與此同時,驗證節點獲得對這些獎勵收取的佣金(驗證節點佣金)以及歸属于存儲基金的獎勵。
驗證節點池的兌換率僅通過質押者獎勵的金額進行更新,以便完全追蹤 SUI 質押者獲得的獎勵。然而,這種計算方法還使 Sui 能夠通過更新的兌換率,以額外的 StakedSUI 對象的形式向驗證節點提供驗證節點佣金和存儲基金獎勵,從而跟蹤驗證節點獲得的獎勵。
Q8:相對於第三方 SUI 持有者,驗證節點的質押過程有何不同?
過程是相同的。將 SUI 一起質押的驗證節點將遵循,與該驗證節點一起質押的任何第三方 SUI 持有者相同的過程。
Q9:相對於 SUI 質押者,驗證節點的質押獎勵計算有何不同?
在給定的驗證節點質押池中,所有質押者通過池子的兌換率升值獲得相同比例的獎勵。此外,由於驗證節點在管理質押上賺取佣金和存儲基金獎勵,驗證節點在每個 epoch 結束時會按照這些金額的比例獲得額外的 StakedSUI 對象。
質押獎勵
Q1:質押獎勵從哪裡來?
質押獎勵來自於當前 epoch 內獲得的交易 gas 費以及在 epoch 結束時釋放的質押津貼。
質押獎勵 = 質押津貼 + gas 費
質押津貼旨在在網絡的早期階段進行補貼,資金來源是 10%的 SUI。一旦這個分配用尽,質押獎勵的整體將由通過常規網絡操作收集到的 gas 費組成。
Q2:質押獎勵會自動複利嗎?
是的!請參閱上面「Q3:什麼是質押池」的回答。
Q3:主網上會有多少質押獎勵?
質押獎勵由 gas 費和質押津貼組成。每個時 epoch 分布的總金額如下確定:
- 質押津貼:每個 epoch 分布的金額在 epoch 開始之前根據預定的時間表確定。
- gas 費:每個 epoch 的金額取決於整個 epoch 內獲得的總 gas 費。每個 Sui 交易根據兩個變量支付 gas 費,即執行的 gas 單位和 gas 價格:
gas 費 = gas 價格 * gas 單位
所收集的 gas 費總額對應於在 epoch 內處理的所有交易的 gas 費總和。在常規市場條件下,我們預計絕大多數交易的 gas 價格將等於參考 gas 價格。將來,Sui 將引入擁堵定價機制,以便在網絡擁堵時,gas 價格將高於參考 gas 價格,因為用戶實際上會向驗證節點付小費以換取優先權。
質押限制
Q1:我可以從活躍的驗證節點質押中解除一部分嗎質押?
不支持這個。每個 StakedSUI 對象的解除質押要麼全部解除,要麼不解除。
然而,用戶可以將任意數量的 SUI 對象質押給任何驗證節點。因此,如果他們從一個驗證節點解除了一部分 SUI 對象的質押,實際上可以從驗證節點部分解除質押。由於 StakedSUI 對象可以分成多個對象,如果質押者首先將一個 StakedSUI 對象分成幾個對象,然後解除一些對象的質押,那麼質押者始終可以有效地解除一部分質押。
Q2:單個驗證節點的最小質押金額是多少?
最小的質押金額是 1 個 SUI。
Q3:驗證節點的質押與共識中的投票權有什麼關係?
按照慣例,無論質押的數量如何,總投票權始終為 10,000,因此法定門檻為 6,667(2/3 的比例)。每個驗證節點的共識投票權與其質押成比例,但有一個例外:單個驗證節點的投票權上限為 1,000(總投票權的 10%)。
Q4:單個驗證節點的最大質押金額是多少?
沒有限制。然而,在共識中,單個驗證節點的投票權被設定上限為 10%。如果一個驗證節點積累了超過總質押的 10%,那麼該驗證節點的投票權將保持在 10%,其餘的投票權將分散到其餘的驗證節點集。
類似地,驗證節點的質押獎勵份額也將使用相同的 10% 上限來計算管理質押的金額(請參閱質押獎勵計算)。換句話說,一旦一個驗證節點積累了超過總質押的 10%,每個質押的 SUI 獎勵將開始下降,因為質押池不再增加其獲得的質押獎勵的數量。
質押獎勵計算
溫馨提示:公式太多,感興趣的建議認真閱讀。
驗證節點
Q1:什麼是參考 gas 價格,驗證節點需要什麼時候參與?
Sui 的設計使得終端用戶可以在常規網絡操作期間 gas 價格保持穩定和可預測。這是通過在每個 epoch 開始時由驗證節點設置網絡的參考 gas 價格來實現的。
在操作上,這是通過「gas 價格調查」來實現的,步驟如下:
- 在每個 epoch E 期間,每個驗證節點都會提交他們認為下一個 epoch E+1 的最佳參考 gas 價格。
- 在 epoch 邊界,當 Sui 從 epoch E 過渡到 epoch E+1 時,網絡會觀察驗證節點集合中的氣價 gas 價格,並將按照 2/3 處的投票加權作為下一個 epoch 的參考 gas 價格。因此,每個 epoch 的參考 gas 價格在整個 epoch 內都是恆定的,在 epoch 更改時才會更新。
提交 gas 價格調查的報價過程非常簡單。每個驗證節點都擁有一個包含他們參考 gas 價格的對象。如果驗證節點希望更改他們的報價,那麼他們只需更新該對象中的值。驗證節點可以通過轉讓他們的操作能力對象來將設置 gas 價格報價的能力委託給其他賬戶。
Q2:統計規則是什麼樣子,驗證節點需要什麼時候參與?
Sui 的設計旨在鼓勵和強制執行驗證節點集合的社區監控。這是通過統計規則實現的,每個驗證節點都會監控和評分其他每個驗證節點,以確保每個人都高效運作,考慮到網絡的最佳利益。那些不合規的驗證節點會被罰款,其質押獎勵會被削減。
協議規定僅在 epoch 邊界計算全局統計規則分數,因此依賴於驗證節點的積極監控,在檢測到其他驗證節點行為變化時更改其分數。一般來說,統計規則的默認選項應始終為所有驗證節點的得分為 1,並且只有在確定操作不當時才更改為 0。實際上,統計規則由一組每個驗證節點擁有的對象組成,這些對象的默認分數為 1,因此驗證節點通常會被動地只在需要時更新與其他驗證節點的分數相對應的對象。與提交 gas 價格報價類似,驗證節點也可以通過轉讓他們的操作能力對象將其參與統計規則的權力委託給其他賬戶。
Q3:驗證節點在統計規則中分配 0 分是根據什麼標準?
統計規則應該通過社會均衡來實施。驗證節點集合應積極監控自己,如果一個驗證節點顯然表現不佳,那麼其他驗證節點應該給該驗證節點打 0 分並削減其獎勵。未來,隨著 Sui 網絡的成熟,我們預計社區將啟動公共儀表板來跟蹤驗證節點的性能,並可用作進一步了解驗證節點運營的信號。
Q4:是否可以將多個驗證節點打 0 分?
可以。通過統計規則,每個驗證節點都會為其他每個驗證節點打分,沒有關於每個驗證節點可以提交多少個 0 分或 1 分的限制。