[Governance] Limit validators from 0% commission fee

I actually think your point is valid.
It should be best if this 0% situation could be solved without adding code, but through social consensus.

That way, like you mentioned, the marketing strategy to provide bonus to delegators with paybacks could also be prevented.

I imagine that the implementation in the code is the safest for the network. This constant actually adds value to the network by means of a self-constructed inflation (community fund) through the cost inflation of validator rewards and not from the inflation of the monetary base. Creating a small economic cycle that in my opinion is good.

The option could be given in this function to turn it off or modify the% contribution constants to the fund, in case the fund already reaches very high levels and the network is sufficiently decentralized. Although this fund would act as a support to stabilize in the decentralization making the centralization tends to disappear.

If we separate the community fund directly from the constant inflation of the monetary base, it is good and it maintains the community fund if a proposal is approved to limit the max supply. This helps in the draft that I want to present for a proposal in the supply limitation. Also to avoid the exponential growth that always have the validators with more volume in comparison to the smaller ones that also decrease their value exponentially with an inflation of the monetary base.

We are a team currently charging no commission fees. Why do we do it? How do we plan to finance our infrastructure?

  • We don’t want to fall out of the top 100 list. It’s also the biggest risk for nominators delegating to smaller validators. This risk needs to be priced in into lower commission.
  • We have developed a high availability product for our validators and it’s being tested. Therefore, we are not charging delegators. Selling our product and IT security services to other validators in the future is part of our strategy.
  • We have sufficient self-stake to finance the infrastructure costs. Everything is financially healthy.

A way to raise the commission fees is in our opinion:

  • nominators should be able to re-delegate faster (than currently 21 days) when a validator node drops out of the active validator set. Nominators should have more incentives to delegate to smaller validators. However, we should game-theoretically prevent the situation that big validators would split up and therefore occupy more slots.
  • rising slashing fees (we would oppose this idea strongly at this stage of the project)
  • the idea with variable bonding time (by @asmodat) depending is also very promising!

All in all, we see far more issues with respect to centralization and not about 0% commissions.


Charging different community tax based on the amount of stakes sounds fair.
It is meant for larger validators to be a more influencial / strong player in the network of POS. Thus maybe we can start dividing taxes like… 5%, 3.5%, 2%, 0% ranges depending on the delegations you have?

I just want to drop my 2 satoshis in on this one also - how is it that the commission can be set at zero anyway?

I know that probably in this case it doesn’t quite have this issue but in other math functions I have seen zero is a value that marks the boundary because it has a particular mathematical property of causing everything in the same formula to also multiply to zero.

It seems to me if conceivably there is no way even with lunar-levels of ATOM prices, that 0.01% commission should really be the floor on commission rates, then that should be the commission rate.

I was involved with the Steem blockchain and within 9 months its delegation system turned completely into a circle jerk. But that also entailed a completely open, and fraudulent (imo) initial mined distribution as the chain was just a ‘PoW coin’ and then they all voted to change it to several zeroes more on the right hand side of the original decimal place, and then suddenly it was a delegated staked hybrid PoW/PoS system and the network has been marred ever since by the fact that these initial stakeholders had no slashing disincentive against collusion, and nobody could stop the network being turned into some kind of personal fiefdom for a notable troll in the initial miner group, who continued to find every possible way to scam every subsystem.

What I think is that actually, the biggest issue here is that everyone is fighting over the pool of one token. I think the idea that there will only be one main hub for Cosmos is patently contrary to the whole principle of an internet of blockchains. Topology complexity be damned, there should be at least 2 or 3 main central hub groups and actually the idea would be that the whole system becomes a giant dex with about 40 or so different competing tokens and the possibilities of this kind of centralisation disappear as everyone will choose different ways to divide things up, and the additive versus divisive method of changing allocations has huge advantages, even if they sum to the same result, in the end, when they apply to different tokens and have different prices on the market there is a positive outcome in that everyone takes better care of their own lawns and stops talking about moving the fences around.


In my opinion 0% commissions directly affect the economic cycle of any system and this is not good, in my opinion we should start from a fixed maximum and reduce to smaller validators, but we can not force validators to decide the commissions that are interesting that they charge for their services but if we can establish an additional tax that is distributed proportionally depending on the size of the validator. That is why I wanted to separate the community fund from the inflation of the monetary base, to feed it with this new tax that also adds an economic value of interest for everyone in the cycle.

This new tax acts as a balance by pushing delegates to smaller validators who will earn more proportionally by paying less taxes and contributing less to the community fund. The fund maintains the fixed growth constant, but the contribution to it is distributed proportionally depending on the size of the validator. If we could prove this in Tesnet we would see that it works very well, we could also try to reduce the days for linking to these minor validators by accelerating the decentralization process and avoiding the concentration of voting power while the delegates are unbonded waiting for their new delegation.

I understand that reducing the days to 0 facilitates the possibility of a rare attack that in my opinion is not interesting for anyone but I think the idea is to decentralize the network as quickly as possible since the% tax will be very unbalanced at the beginning of the implementation . The idea is to decentralize as soon as possible to really avoid these attacks

One question that I would like to clarify is: If we achieve a good decentralization with these implementations, we avoid the risk of an attack, could we reduce the period of unbonded depending on the security of the network? We have to bear in mind that many will decide to go to trade instead of redelegar after 21 days and this is not good for the network either.

  • I prepare the formula, tell me the inflation% of the actualy Community Fund please …
  • The contribution formula to the fund, for each validator, must be the same as% of the voting power of that validator in the entire Cosmos network. I mean: if 90% of the current hash power is among the top 20 validators, these 20 validators should contribute 90% of the inflation of the Community Treasury

I think incentive which makes the holders to go trade the Atoms instead of delegating is depended on price of Atoms. If they can be sure that they can be more profitable by trading than by delegating, they will go trade their Atom anyways.
Yes, in a bullish market, shorter undelegation period could lead to more holders trading their Atoms, but this will also cause inflation rate to grow faster, which will eventually lead to more people delegating again.

I do not think community fund itself has an inflation rate but community tax is currently fixed at 2%.
But to implement different percentage of community tax, i think we should be aware of ‘target’ community fund amount. No fund has been used in community tax, so its actually very difficult to estimate.

I do agree with the idea of raising slashing fees.
Although it is delegators’ interest to have smaller risk of losing Atoms, the idea of slashing is backed by the thought that validators should be secure and secure validators are free of slashing risks.

And yes, the issue which is bigger currently is decentralization, but we think commission take a role in decentralizing the network as well. There could be many ways we can make decentralization better but it would be difficult to address all the methods in one governance proposal so we focused on the issues regarding commission fees. But it is certainly interesting to see many opinions on this post :slight_smile:

1 Like

Yes, you are right. There is a relation between commissions and decentralization.

Maybe we could further limit the specs with respect to commission changes?

  • upon commission change some sort of tax could be paid into the community pool
  • min/max commissions should have at most 10% differences - it looks almost fraudulent, when a validator specifies 0% min and 100% max commission
1 Like

This is good idea to avoid quick commission change. I will further add that there could be community pool tax for having more than 15% commission as well.


I think I have managed to formulate two equations for an accelerated plan of attack on centralization. In this we are going to establish the following Variables:

• Total stake = TS = 140M Atom
• %Validator stake on the current Network = (Atom Validator * 100)/ TS = %V
• Effective actual Inflation = EInf = 7.59% of 239M = 18,140,100 ATOM
• CommunityFound = CF = 2%

Variable to distribute the % contribution to the fund directly from the validators and separate it from the inflation of the monetary base. Will be taxes directly to validators based on their size:

• Validator Commission = Vfound = (EInf * 2%) * %V
• Vfound = (((((7.59*239,000,000)/100)*2)/100)*V)/100

The following equation determines a variable time of unbond period in function also of its % of the total stake of the current network:
• Validators = 100
• Unbond period = 21 days
• Total unbond of all Validators = 21 * 100 = 2100 days
• %V = % Validator stake on the current Network = ( Atom Validator * 100 ) / TS = %V
• Vunbond period Validator days = Validator Unbond Period

This allows the days to be less in the lesser Validators and more in the biggest:

• Vunbond = %V * 2100
• Vunbond = ( V * 2100 ) / 100

We are going to put two examples of practices to better understand the functionality.

  • Remember that the purpose is to push the delegates to smaller Validators to distribute the network by applying higher taxes to the higher validators reducing the performance of the delegates and the greater redelegation times in their participation in the network, a formula will use the community fund to establish the commissions and the other disposition the distribution of the number of days that a delegate must take to redelegation in another validator: Vfound and Vunbound

1 - In the first example we will see the result for the commission and the redelegation time applied to a validator with a load of 1,000,000 of Atomos in the network and a total of 140,000,000 of Atoms estimated in the network calculations:

V1 = 1,000,000 * 100 / 140,000,000 = 0.714% stake on the Network

• Vfound1 = ((((((7.59 * 239,000,000) / 100) * 2) / 100) * 0.714) / 100 = 2,590.40 ATOMs Commision to Community Found
• Vunbond1 = (0.714 * 2100) / 100 = 14.99 unbonding days

2 - In the second example we will see the result for the commission and the redelegation time applied to a validator with a load of 10,000,000 of Atomos in the network and a total of 140,000,000 of Atoms estimated in the network calculations:

V2 = 10,000,000 * 100 / 140,000,000 = 7.14% stake on the network

• Vfound2 = ((((((7.59 * 239,000,000) / 100) * 2) / 100) * 7.14) / 100 = 25,904.06 ATOMs Commision to community found
• Vunbond1 = (7.14 * 2100) / 100 = 149.94 unbonding days

This accelerated process to distribute the network tends to stabilize in 21 days for all the Validators and a similar foundtax for community between them.

So I (obviously) have a number of thoughts regarding this matter. There are a number of interesting ideas proposed in this thread by @asmodat, @JLiBercrypto, and others on how to help decentralize delegation which definitely warrant further discussion. But for now, I’m going to respond specifically to claims related to the original proposal.

So 12% of the validator nodes have 14% of the bonded atoms? That seems…pretty okay. That seems to suggest that delegation is pretty statistically independent of 0% commission. Now within those 12 nodes, the delegation is heavily skewed towards a few larger validators such as Sikka and SparkPool. But that just suggests that delegation is skewed for reasons outside of 0% commssion or not.

Also, sorry, super minor nitpick, but I assume there’s a typo, and it should be 19M?

Are you claiming that delegators are unsophisticated enough to take into account other factors than just price in their decision making when collectively delegating hundreds of millions of dollars of value?

I disagree with this sentiment. This is not how startups work, profits are never guaranteed, especially at such an early stage. Startups involve risk, and part of that is investing time and money into something that may or may not see returns this early. For most startups, the initial monetary investment doesn’t come from reinvesting profits, but from things like personal investment, friends and family, raised capital, loans, etc.

For number 3, I contest the claim that just because a validator has access to operating infrastructure for a cheaper cost, this means that they are not in control of the servers. For example, Sikka has access to the cheaper UC Berkeley datacenter due to our partnership with Blockchain at Berkeley, and we are in as much control of our servers as any validator is with infrastructure in a data center.

For number 4, I contest the claim that increasing the commission rate in the future is a “double edged sword”. For example, Sikka is planning or coordinating the introduction of commission with the launch of a project called the SikkaDAO. The feedback and response from our delegator community in channels and community calls has been overwhelmingly positive.

In the Cosmos SDK staking module, Commission is an sdk.Dec, meaning it could have a minimum non-zero value of 0.00000001%. For practical purposes, this isn’t really no different than 0; most clients/UIs will probably have to round that to 0 anyways. So if this is something that we want to do, deciding on a more useful minimum is necessary or preferably, this:


I understand the reasons for setting a minimum, but I strongly disagree. Crypto was founded on libertarian principals. Cosmos seeks to become the governance behind the entire cryprto infrastructure. If we are to be better than those we are trying to replace we should not set unnecessary restrictions for any reason no matter how noble the intentions. It should be a true free market. You cannot assume to know everyone’s intentions and situations. To be decentralized you do not have to cater to the less well off. We as a network should utilize all the resources available including large corporations and people with access to cheap energy. Do not confuse “free market” with “fair market”.

I would vote against any proposal limiting the freedom of a validator to offer 0% commission.


The solution for limiting centralization should be simple so that ANYONE can see the purpose. Therefore limiting unintended consequences, and increasing end user confidence.

My thought is a validator cannot be delegated atoms if they have over say 7% of the total bonded atoms. I would probably set a limit for self staked atoms too. Maybe 3.5% delegated and 3.5% self staked. My only reason for choosing those number 10% seems too high and 5% seems too low. Lol.