Staking收益產(chǎn)生的原理解析
2017年以來,隨著區(qū)塊鏈項(xiàng)目數(shù)量的井噴式上升,人們愈發(fā)注意到鏈與鏈之間缺乏互連互通的能力,以致成為了一個(gè)個(gè)孤立的網(wǎng)絡(luò),跨鏈技術(shù)應(yīng)運(yùn)而生。作為跨鏈技術(shù)明星項(xiàng)目之一 Cosmos,其 Staking 經(jīng)濟(jì)收益問題也備受關(guān)注。本文將結(jié)合 Cosmos 源碼就下列問題進(jìn)行詳細(xì)解析:
· Staking收益如何產(chǎn)生
· 收益分配規(guī)則
· 收益領(lǐng)取機(jī)制
整體架構(gòu)
Cosmos 采用了模塊化設(shè)計(jì),主要模塊在源碼 Cosmos-sdk/x 目錄下:
Auth:賬戶和交易的驗(yàn)證和授權(quán)管理
Bank :發(fā)送交易等
Governance:鏈上治理和投票
Staking:Bonding、Delegation 相關(guān)操作
Slashing:處罰驗(yàn)證人節(jié)點(diǎn)相關(guān)操作
Mint:Staking token 生產(chǎn)管理
DistribuTIon:交易 Fees,Staking token 分配
本文探討的三個(gè)問題主要涉及 Auth、Mint、DistribuTIon 模塊,它們分別負(fù)責(zé)處理交易費(fèi)、Token 生產(chǎn)、Token 分配和領(lǐng)取功能。
收益產(chǎn)生
Cosmos 的 Staking 收益由兩部分組成:交易產(chǎn)生的 Fees 和基于抵押率的浮動(dòng) Token 通脹。每生產(chǎn)一個(gè)區(qū)塊,上述兩部分收益都會(huì)進(jìn)入全局收益池。下圖為代碼層面的調(diào)用棧。
Fees 的產(chǎn)生
Fees 產(chǎn)生的目的在于有效限制全節(jié)點(diǎn) State 的增長(zhǎng)速度,并限制垃圾交易的發(fā)送。驗(yàn)證節(jié)點(diǎn)在處理每一筆交易時(shí)會(huì)將 Fees 添加至 CollectedFees 中。
Token 通脹
Token 通脹機(jī)制目的在于:一、針對(duì)定制的目標(biāo)抵押率,允許根據(jù)市場(chǎng)需求維持靈活的通脹率;二、在抵押率和流通率之間取得平衡。具體可分為以下三種情況:
· 如通脹率小于目標(biāo)抵押率(Cosmos 目前為67%),通脹率會(huì)持續(xù)上升,直至達(dá)到最大值(目前為20%);
· 如通脹率達(dá)到目前抵押率,則通脹率會(huì)保持固定;
· 如通脹率大于目前抵押率,通脹率則會(huì)持續(xù)下降,直至達(dá)到最小值(目前為7%)。
收益分配
每生產(chǎn)一個(gè)區(qū)塊,Cosmos 都會(huì)實(shí)時(shí)結(jié)算上一個(gè)區(qū)塊產(chǎn)生的 Token 和 Fees。這些 Token會(huì)被分配到三處:上一輪出塊人、社區(qū)基金池、上一輪驗(yàn)證人。
首先,收益會(huì)分配給上一輪 Proposer。Proposer 總收益 = BaseProposerRewards(1%) + BonusRewards(0%-4%)
其中,BonusRewards 取決于上一輪參與驗(yàn)證的 VoTIng Power 所占的比例。
然后,按照 VoTIng Power 比例分給所有驗(yàn)證人。
當(dāng)收益分配至具體驗(yàn)證人時(shí),會(huì)根據(jù)傭金率來分配委托人和驗(yàn)證人之間的比例。
最后,按照目前2%的比例存入社區(qū)基金。
收益領(lǐng)取
除驗(yàn)證人和委托人的主動(dòng)領(lǐng)取外,以下情況均會(huì)觸發(fā)收益領(lǐng)?。?/p>
?bonding、unbonding 或 re-delegating 發(fā)生
?驗(yàn)證人改變其傭金率
所有的收益領(lǐng)取必須是全部的收益領(lǐng)取,而非部分領(lǐng)取。
來源: HashQuark社區(qū)?