Setting a permanent amount of blocks that each and every pool has to produce per epoch

Hello everyone. This is my first topic that I create, so be gentle with the criticism.
Forgive me if the idea that I am about to propose is somehow stupid but I couldn’t find a good reason not to suggest it, so…
What if we vote to set every pool to have an exact amount of blocks that have to be produced, outside of the lottery that is currently taking place for a pool to be chosen to mint a block. Now there are pools that cannot produce even 1 block for months right? So what if each pool is given 2 blocks every epoch or it could be 1 block or 3 blocks. My idea is to set permanent amount of blocks that each pool have to produce per epoch and after that the lottery to take place. Is this possible? And is this going to affect negatively something else in the ecosystem? I hope not! So if the impact is only positive and the SP operators of every pool would be happy and sure that their pool will at least pay its own bills. What do you think?

Hello @6LeBlanc6
welcome to our Cardano-Community, it’s cool to have you here.

This is a very good idea for smaller pool operators and single pool operators but i would think that this is much more beneficial to malicious pool operator.

If we give every pool one block per epoch or per month, we would support a sybil attack! For example: I could build up one Pool and get the reward for one block. With that reward i have get more than the registration fee for the first pool and can register more pools. Now it is an exponential function upwards. So we would “suggest” people to register more than one pool. Additional because “normal” persons like you and me can’t build up an own server farm in our basements, we would also support the big companies to take over the whole system.

I would also have another point but im not that technical into it. I would ask what will happen if we have more stake pools than slots for the block production? I mean if we have more producers than blocks that can be produced not every one could get one block, so the lottery wouldn’t even take place, right?

So to exclude this problem i’ve mentioned above we need to lower the sum maybe to 1 every six months or even every year. If we do this on that way i would think the benefit for an SPO is lower than the risk of a sybil attack. We could also lower the reward of one block, but this would be same initial problem but in an other constellation.

Greeting from Germany and have a nice day!

This would destroy the proof of stake concept with no benefit to the system. If you give blocks to someone, you need to take them away from someone else.
just my 2 cents.

@Jonny22

  1. Here are the solutions to this problem that I think can work.
    There can be a minimum pool pledge upon creation– 5000 ₳ for example. And this pledge should stay in the pool for some period of time – 60 days for example. => So the pool pledge 5000 ₳ would be locked for 60 days and for one to create another pool in short period of time has to put another 5k ₳ and another for the next pool…

  2. More pools than slots?
    We can use/build a code that checks which pools are running into the system for a year (time period is example) and not produced a block. So these pools that are obviously not ghost pools because they have been active for a year, just didn’t win the lottery to have the chance to mint blocks, they can get 1 or 2 blocks per year or something like that. So if the time period that the pools gets a must have block is longer – not an epoch but a whole year, or a month, that means this solution helps answer also your first point! Also this code or script/program, I am not that technical also, can check the blocks made by a pool each 30 days or each 365 days and give a must have block to the pools that haven’t minted anything at all thus the operators of these pools won’t quit maintaining them.
    If there are more pools than slots, the amount of must have blocks will be distributed among the pools that have been running for at least a year, and not among every pools that are created “yesterday”. If all the pools are created for longer than 365 days => the slots will be distributed among the ones that are in the system for longer – I think this will be also a good way of distribution?! (what do you think?)

The first solution you suggested @Jonny22 is what I have been thinking exactly. (time period)

The answer to @ Triton-pool ‘s point is YES. Ofc you need to take the blocks from a pool and give them to a pool that have not minted a block for a year (example) but isn’t that the idea behind Cardano – not necessarily to get filthy rich but to have a system that is more fair to everyone!

Maybe there is a good reason they haven’t minted anything in a year.
You basically say lets steal blocks away from those who deserve them on the POS basis and give them as presents to those who don’t. How do you justify that? How do you compensate the pools you robbed of their blocks?

Hey @6LeBlanc6

with point 1 i would see a problem:
If we set the fee or even the pledge at the beginning higher than it is yet, little Pool Operators cant set up an pool. So i would say the most of us live in an wealthy country. So you have the money to buy 5.000,- :ada: but if we look to Africa, China, Korea and so on the people there are not wealthy enough to pay that. If we do that in the way you suggest, i think the result ist that we centralize our stake pools in wealthy countries.

Cardano have some main principles:

  • free to use, for every one
  • low barriers to use and participate to the system
  • and so on…

We would collide with the principle of “low barriers to participate” if we set this one value higher an higher. So the small persons have not enough money to pay that and the big one will only be slower but more powerful because we haven’t so much SPOs.

To point 2:
I think this would destroy our system of trust. I mean like @Triton-pool already said: maybe there is a reason that they haven’t got any block. Maybe the people don’t trust them and give them no stake, maybe the pool isn’t alive all the time or something else. I think the lottery is very fair at the moment. Here it is explained a little bit under the section proof of stake: formal methods
Now actual i think about another problem: The big companys have enough ADA or money to set up many stake pool right now. One year later they will get the block of “sadness” :joy:. But now we already know that they will have many pools without any stake or anything else on that way. In one year they will take over the control because every one of this many pools will get this block of sadness. They will exploit this system.

“Give somebody an inch and he will take a mile.”


I think the system how it is, is very well. We have a democratic, trustworthy and random election process. Democratic, because we can give our delegations to stake pools that we trust. Trustworthy, because the code is open-source and it is mathematical proven that it cant be destroyed if not one entity have the power over more than 51%. Random, because the random generator is decentralized over every stake pool, so that no one can predict or manipulate this system.

At the end i also would suggest you the following post: Cardano Staking Guide
Here you can see that even very small pools will be selected and get over the long term the same rewards like a large pools. Not so frequently but a much higher reward. Why? They don’t need to give so many other delegators a part of the rewards.

2 Likes

Happy New Year! Thank you for your answer. I will deep dive into the matter this year probably. I had a lot of things to get done since April 2021, and I am on my way of creating a Stake Pool. Cheers and have a productive 2022 :slightly_smiling_face :slight_smile: