The reward mechanism in Core isn’t terribly complicated, but it does have a lot of moving parts. This section presents two simple examples to elucidate its inner workings.
Part 1
Let's assume there are two validators, both of which have been elected:
Validator A, which has:
two units of delegated hash power
one unit of non-custodial BTC stake.
Validator B, which has
three units of CORE stake
two units of non-custodial BTC stake
Let’s assume that there are 10 total units of Bitcoin hash power on the Core network. This would mean validator A has 20% of the hash power (2/10) and validator B has 10% of the hash power (1/10).
Let’s also assume there are 20 total units of CORE staked on the network. This would mean validator A has 5% of the CORE staked (1/20) and validator B has 15% of the CORE staked (3/20).
Let’s further assume there are 10 total units of non-custodial BTC staked on the network. This would mean validator A has 10% of the BTC staked (1/10) and validator B has 20% of the BTC staked (2/10).
For this example, m is set to 1/3 and n is set to 1/5.
To simplify the calculations, the number of earned rewards distributed is set to one for both validators. And to make things easier, the equations for the hybrid score and rewards are reproduced here:
Hybrid Score:
S=tHprHp∗m+(tSp+tBp∗n)(rSp+rBp∗n)∗(1−m) Rewards:
rH=tHprHp∗Sm∗R rS=(tSp+tBp∗n)rSp∗S(1−m)∗R rB=(tSp+tBp∗n)(rBp∗n)∗S∗R(1−m) The rewards per unit:
rHu=rHprHrSu=rSprSrBu=rBprB Here are the hybrid scores for validator A (designated as “SA”) and validator B (designated as “SB”):
SA=(2/10)∗⅓+[(1+1∗⅕)/(20+10∗1/5)]∗⅔=17/165
SB=(1/10)∗⅓+[(3+2∗⅕)/(20+10∗1/5)]∗⅔=3/22
Here is the distribution of the respective hash power rewards and staking rewards for the two validators:
rHA=(2/10∗1/3)/SA=11/17rSA=[(1/(20+10∗1/5)]∗2/3)/SA=5/17rBA=[1∗1/5/(20+10∗⅕)]∗2/3/SA=1/17
rHB=(1/10∗1/3)/SB=11/45rSB=[(3/(20+10∗1/5)]∗2/3/SB=30/45rBB=[(2∗1/5)/(20+10∗1/5)]∗2/3/SB=4/45 And here is the rewards per unit for the two validators:
rHuA=rHA/rHp=(11/17)/2=11/34rSuA=rSA/rSp=(5/17)/1=10/34rBuA=rBA/rBp=(1/17)/1=2/34
rHuB=rHB/rHp=(11/45)/1=11/45rSuB=rSB/rSp=(30/45)/3=10/45rBuB=rBB/rBp=(4/45)/2=2/45 Part 2
Here, we'll work through an identical example, except we'll make a few different assumptions about the relationships between different quantities.
If you carefully study both examples, you should have a firm intuitive grasp on how Core's reward mechanics function.
Let's assume there are two validators, both of which have been elected:
Validator A, which has:
60 units of delegated hash power
400 units of non-custodial BTC stake.
Validator B, which has
200 units of non-custodial BTC stake
Let’s assume that there are 300 total units of Bitcoin hash power on the Core network. This would mean validator A has 20% of the hash power (60/300) and validator B has 10% of the hash power (30/300).
Let’s also assume there are 100M total units of CORE staked on the network. This would mean validator A has 5% of the CORE staked (5,000,000/100,000,000) and validator B has 15% of the CORE staked (15,000,000/100,000,000).
Let’s further assume there are 4,000 total units of non-custodial BTC staked on the network. This would mean validator A has 10% of the BTC staked (400/4,000) and validator B has 5% of the BTC staked (200/4,000).
For this example, m is set to 1/3 and n is set to 10000.
Here are the hybrid scores for validator A (designated as “SA”) and validator B (designated as “SB”):
SA=(60/300)∗⅓+[(5M+400∗10,000)/(100M+4000∗10,000)]∗⅔=23/210 SB=(30/300)∗⅓+[(15M+200∗10,000)/(100M+4,000∗10,000)]∗⅔=24/210 Here is the distribution of the respective hash power rewards and staking rewards for the two validators:
rHA=(60/300∗1/3)/SA=14/23rSA=[(5M/(100M+4,000∗10,000)]∗2/3)/SA=5/23rBA=[400∗10,000/(100M+4,000∗10,000)]∗2/3/SA=4/23 rHB=(30/300∗1/3)/SB=7/24rSB=[(15M/(100M+4,000∗10,000)]∗2/3/SB=15/24rBB=[(200∗10,000)/(100M+4,000∗10,000)]∗2/3/SB=2/24 And here are the rewards per unit for the two validators:
rHuA=rHA/rHp=(14/23)/60rSuA=rSA/rSp=(5/23)/5MrBuA=rBA/rBp=(4/23)/400 rHu_A
= 1.0145% of (validator A reward - commission) per delegated hash.
rSu_A
= 0.043478% of (validator A reward - commission) per 10,000 CORE
rBu_A
= 0.043478% of (validator A reward - commission) per BTC
rHuB=rHB/rHp=(7/24)/30rSuB=rSB/rSp=(15/24)/15MrBuB=rBB/rBp=(2/24)/200 rHu_B
= 0.9722% of (validator B reward - commission) per delegated hash
rSu_B
= 0.041667% of (validator B reward - commission) per 10,000 CORE
rBu_B
= 0.041667% of (validator B reward - commission) per BTC