Discussion: Introduce Dynamic Block Rewards

Hi everyone,

Currently in Lisk protocol, the Reward module introduced in LIP42 specifies the reward assignment logic which provides the same reward to all active and standby delegates who forge a block in a round, irrespective of their delegate weight. At current block height, every delegate receives 1 LSK to forge a block.

However, in the current scenario, a delegate with large delegate weight does not have incentives to lock further tokens via self-votes as the rewards are fixed. This might lead to low TVL and therefore impact the security of the Lisk Mainchain. Moreover, if an entity with a large amount of tokens wants to run multiple delegates then it increases the operational cost and maintenance effort and is less trustworthy for voters. The goal of this proposal is to make it simpler for delegates and voters to participate in the DPoS system and therefore increase the TVL and security of Lisk Mainchain. To achieve this, we would like the block reward to also depend on the weight of the delegate generating the block. For this purpose, we want to propose a new reward module with the following features:

  • This module assigns 0.1 LSK to all active delegates to cover the minimal operational cost to run a delegate and in addition, distributes the remaining 90.9 LSK according to the delegate weight.

  • This module assigns 1 LSK to all stand-by delegates i.e. there is a fixed reward irrespective of the delegate weight. This will help stand-by delegates to cover the costs of running a node even though the probability of the selection is low in a round.

  • This module capped the delegate weight at 5% i.e. no delegate can get more than 5% of the proportional rewards.

We look forward to your feedback on the topic.

I dont know it is good idea. For example is some whale have 10 x 200k voteweight delegates and regular forge, now he can create 5 bigger delegates with 400k voteweight and take reward like from old 10 delegates. These mean no one will want vote for delegates with small selfvote because this reward will be low. Whale „socket” delegates will not share and take more reward. And how much will be differents with first and last delegates and his earning ? First take almost all reward and last will be fight for survive. In my opinion is not good becuase people now dont want vote. In new system will be not more votes and TVL.

And if i uderstand correct one delegates can take max reward 5% from round pool. If we have 10 big whale delegates they can take 50% of round reward. 90 small delegates take second 50%.

In the current arrangement, entities that would consider Staking as a Service for Lisk holders are forced to run multiple delegates. With estimates based on current TVL totals, a 5% Staking Pool of around 1.5M LSK would be able to be fully rewarded under a single delegate (1/103) . Self-vote requirement would be 150k LSK but the remaining 1.35M LSK would be on a more flexible 6-hour unlock. It’s for sure a more attractive model for SaaS. I think it’s a good way to keep DPoS for efficiency but balance some of it’s lost economic incentives.

Hi @vjaiman :wave: and thanks for shedding some light on your future ideas. At first it seems like it’s an upgrade to the current solution, voters have easier time comparing delegates regarding their share, large delegates don’t need to make multiple accounts to optimize earnings, etc, but…

I have two concerns regarding your proposal:

  • the solution won’t increase the TVL by a lot,
  • it will introduce oligopoly/monopoly in the delegate landscape

Let me expand on those points. The selfvotes have a low impact on the overall TVL since it’s only 10%, and 90% of the TVL consists of regular votes. Some of the delegates (including me) don’t optimize their selfvote because they’re using the remaining LSK to vote other delegates. Yes, the new system would force me to increase the selfvote, but it wouldn’t increase the TVL since it would be just a switch of votes. We could argue it’s a 3 day lock vs 30 day lock, but this is how I see it. Maybe there’s something happening behind the scenes and the change is made for “big players” like exchanges, but I’m judging it based on the current situation.

Regarding the second point. In todays situation due to a fixed reward per block, we encounter vote dilution which could be confusing for voters, but it gives a fighting chance for low voteweight/new delegates. Currently lower sharing delegate could be more profitable than a higher sharing delegate giving an incentive to switch votes between delegates, evening out the voteweight per delegate. I understand that it’s required from a voter to do some math, but the incentive is there. With the proposed idea let’s take an example of a delegate that took first mover advantage, set his commission to 10% (90% share) and reached the 5% cap. He’s now getting 5 LSK reward per block, giving away 4.5 LSK, and leaving 0.5 LSK per block to himself. And now there’s a second delegate which has 1% of the TVL in voteweight, giving him 1 LSK reward per block. To stay competitive he has to set his commission to also 10% (90% share), voters would get roughly the same reward from him as from the big delegate, but since he only produces 1 LSK, he’s left with only 0.1 LSK per block, he has no guarantee anyone would vote for him, since voters don’t switch votes that often, and new voters seeing someone paying the same amount would just pick the higher rated delegate. This would concentrate the TVL between the top delegates, leaving the bottom list an easier target for a hostile takeover. I know some users vote based on contributions and other factors introducing some suboptimal values but it’s hard to take them into consideration. Also I’m not a statistician nor a game theory expert, so I’m sorry if something is blatantly wrong, I just took a calculator and ran some numbers :wink:

Thanks again and have a nice day,
Cheers :slight_smile:


@anonimowy891 As long as 10*self-votes >= received votes, the statement “These mean no one will want to vote for delegates with small self vote because this reward will be low” is not true. The delegate weight is capped by 10*self-votes and therefore the rewards are indirectly capped this way as well. Infact, for a voter the reward is based on the votes and sharing percentage irrespective of the delegate weight. If a voter votes for a low weight delegate he will get the same amount of rewards as he votes for the large weight delegate.

Moreover, the statement “Whale delegates will not share and take more reward” is also not true since if a whale does not share rewards then the voters will move towards the delegate with more reward sharing percentage. Infact, if a lower weight delegate would like to attract more voters then they can put more reward sharing percentage compare to other delegates and therefore voter will get more benefit in voting this low weight delegate.

Thank you for your response.

Hi @przemer, regarding your concerns about the proposal:

  1. The solution will encourage delegates to increase their self-votes since the delegate maximum reward limit is increased to 5%. Moreover, once the delegate is reached to the capped reward, the reward will not increase and the voters will vote for the low stake delegate and hence increase the delegate weight. Definitely, it needs a contribution in the form of delegate self-votes to increase the delegate weight. This makes sense since the more a delegate put in self-votes the more he seemed to be trustworthy by the voters.

  2. To avoid this, we are giving 0.1 LSK per round to every delegate to stay competitive and to cover their operational costs. As mentioned already, a low weight delegate can attract more voters by sharing a higher percentage of rewards than a large weight delegate. For example if a large stake delegate is sharing 90% of the rewards and if a low stake delegate is sharing 95% of the rewards then the voters can increase their profits by moving their votes to the low-stake delegate.

When i wrote „whale” i think about this guys who have enough lsk to be independent from voters.

And who will be vote for delegate who will be forging for example 0.5 lsk per block ? This reward will be not the same. Even if delegate put 100% share when will be forging 0.5lsk per block he will get 1250 lsk per month. How he can competie with someone who have 2500 lak per month ? Should he forge for zero profit and pay for servers and buy more lsk for selfvotes ?

Hi @anonimowy891, the reward depends on votes/totalVotes. Therefore for a voter, the delegate weight doesn’t matter (assuming same reward sharing percentage) and they will always receive the same reward from any delegate. Infact, if a delegate consider 0.1 LSK (minimum reward to cover operational cost) as a reward then for a voter it would be always beneficial to vote for low weight delegate.

Thx for reply.

For some people consolidate accounts to one big and take bigger reward will be positive (this is only one plus what i see here), but this new system not force to do it. Delegates can still have 10 smaller account, if reward will be the same. I know easier is maitanance 1 account than 10, but from POM perspective better have more smaller account. If delegates consolidate Accounts to one we will have lower treshold to jump at bottom delegate list. It will be good for security if someone can jump to forging place with 100k voteweight od less ? Of course he will forge less but he will be delegate and lot of this account can make attack to network.

I agree with the goals of the proposal. There should be more incentives to increase TVL and it does decrease the need for a single user to run multiple delegates. I think this is a good start. However, we have to be cautious to not introduce new or unknown security issues while missing
out on more efficient and simpler solutions.

Currently the DPoS system is similar to a Representative Democracy. Each of the top 101 delegates gain an equal amount of resources regardless of the total popularity.

The proposed solution is similar to a direct Democracy. This system gives the most power to the most popular delegates. Popular does not always mean better and centralized rewards with an elite tier of “5%” delegates.

The proposal is good for convincing an exchange to participate as a delegate, but I think instead we should focus on increasing more individual voters to participate in voting would would also increase TVL but would be more decentralized.

If we want to increased TVL we should first look at the incentive to the voter. Voters should have direct, guaranteed incentive to vote. Currently it is nearly impossible for the average user to calculate rewards and they are not even guaranteed by the blockchain.

Instead, I suggest we have a Voting Reward. This could be done by sharing .5 LSK per block to the voters of a forging delegate. This distribution should include the delegates self-vote.

Even better, voters could receive a percentage of the block rewards directly. Distribute half of all block rewards each round to all voters. This should be regardless of who they are voting for, or for those voting for an active/standby delegate.

To further incentivize locking self-vote, maybe a self-vote counts as 2x the weight for determining it’s proportion of the voting reward. This makes a self-vote twice as valuable as a normal vote.

Even if it slightly increases the inflation rate, I believe that the standby delegates should be increased. Currently all standby delegates compete over 2 slots or 2 LSK per round. By simply increasing the number of slots it would also increase the incentive to be a standby delegate and increase decentralization.

@1ultrafresh Thank you for your post and welcome to our forum!

I agree with you and we indeed plan to introduce an on-chain reward sharing mechanism, as mentioned here. You can check more information in this discussion and we hope that the LIP draft will be ready quite soon.

As far as TVL is concerned, the main idea of the upcoming changes is:

  • Reward sharing provides incentives to voters to participate in voting, since they get guaranteed to receive rewards
  • Dynamic block rewards provide incentives to delegates to increase their self-votes.

Those two together are expected to increase the TVL and therefore the security of the network.

Increasing competition among active delegates and increasing TVL are good benefits. However, do these benefits outweigh the tradeoffs and potential unknowns better then other solutions?

An example of potential consequences: With the exception of a few delegates, a large percentage of LSK is allocated to sock puppet accounts, mostly sharing pools, controlled by only a few. This proposal assumes they would consolidate their nodes, but the proposal will give them more incentive to keep running multiple delegates, not less.

My main concern with Dynamic Block Rewards is that an inflation mechanism which is distributed based on staked weight will increase centralization.

Rewarding the most popular and most wealthy delegates comes with the tradeoff of punishing those that are less popular and have less capital. This creates a situation, strongly criticized in PoS models like like Ethereum, where wealth is concentrated in the hands of the largest holders, leading to centralization. With infinite emissions the largest delegates could, eventually, gain enough resources to force out small delegates.

I think the ideal solution would reward voters for participation as well as increase competition among delegates, without fundamentally changing the governance model.

Thank you @1ultrafresh for your response and sorry for the delay in the reply. Now the LIP for dynamic block rewards has been published and any further discussion/feedback is welcome in the corresponding thread. Just giving a short reply on some of your comments:

In our proposal, we aim to simplify DPoS participation for delegates to lock the large number of tokens since splitting does not give enough incentives unless it is more than 5%. A delegate can split their stakes into multiple delegates, however, reputed delegates might not want to split due to negative PR. Moreover, the delegates with medium range tokens might not want to split since it will split their stakes and there is a possibility that they might not show up in the top 101 delegate list due to splitting of the tokens.

Note that our system is not full PoS, since there is a certain fraction (10%) of rewards shared equally between all active delegates. As explained here, voters are still incentivized to vote for lower-weight delegates than the higher weight ones.