Cosmos 的 Staking 收益由兩部分組成:交易產生的 Fees 和基於抵押率的浮動 Token 通脹。每生產一個區塊,上述兩部分收益都會進入全域性收益池。下圖為程式碼層面的呼叫棧。
Fees 的產生
Fees 產生的目的在於有效限制全節點 State 的增長速度,並限制垃圾交易的傳送。驗證節點在處理每一筆交易時會將 Fees 新增至 CollectedFees 中。
Token 通脹
Token 通脹機制目的在於:一、針對定製的目標抵押率,允許根據市場需求維持靈活的通脹率;二、在抵押率和流通率之間取得平衡。具體可分為以下三種情況:
· 如通脹率小於目標抵押率(Cosmos 目前為67%),通脹率會持續上升,直至達到最大值(目前為20%);
· 如通脹率達到目前抵押率,則通脹率會保持固定;
· 如通脹率大於目前抵押率,通脹率則會持續下降,直至達到最小值(目前為7%)。
收益分配
每生產一個區塊,Cosmos 都會實時結算上一個區塊產生的 Token 和 Fees。這些 Token會被分配到三處:上一輪出塊人、社羣基金池、上一輪驗證人。
首先,收益會分配給上一輪 Proposer。Proposer 總收益 = BaseProposerRewards(1%) + BonusRewards(0%-4%)
其中,BonusRewards 取決於上一輪參與驗證的 Voting Power 所佔的比例。
然後,按照 Voting Power 比例分給所有驗證人。
當收益分配至具體驗證人時,會根據佣金率來分配委託人和驗證人之間的比例。
最後,按照目前2%的比例存入社羣基金。
收益領取
除驗證人和委託人的主動領取外,以下情況均會觸發收益領取:
•bonding、unbonding 或 re-delegating 發生
•驗證人改變其佣金率
所有的收益領取必須是全部的收益領取,而非部分領取。