Cardano-node: [BUG] - unreal pledge

Created on 25 Jul 2020  路  6Comments  路  Source: input-output-hk/cardano-node

Is possible create pool certificate with (unlimited) pledge and it works.
Its not tested with reality.

obrazek

bug

Most helpful comment

@matiwinnetou

This is not a bug. Stake pool operators are free to make a pledge as large as they want, even ridiculous ones that they cannot possibly meet. Even just pledging 51% of the total supply is absurd, as you are making a promise to have enough stake to control the entire system. The ledger does not attempt to make a value judgement on what is and is not reasonable, instead it gives out no rewards to a pool that does not meet the pledge in a given epoch.

@kevinhammond @darko-mijic

While this isn't a bug in the ledger, it is confusing from a UX perspective. Could we validate this at the IO layer (Daedalus) with either an error or a warning? For example, if pledge > available ada of user we could say if the pledge isn't met you'll not be rewarded, and if pledge > global ada an error saying that it isn't a valid pledge? Or, if this isn't a good idea, just general info about this could be helpful to explain why.

All 6 comments

I noticed the same by making a mistake in pledge amount.

Expectation: pool registration should fail when there is not enough funds to pledge based on what was declared.

Duplicate - Check here

@rdlrt I don't see how they are related but maybe they are.. ok...

@matiwinnetou

This is not a bug. Stake pool operators are free to make a pledge as large as they want, even ridiculous ones that they cannot possibly meet. Even just pledging 51% of the total supply is absurd, as you are making a promise to have enough stake to control the entire system. The ledger does not attempt to make a value judgement on what is and is not reasonable, instead it gives out no rewards to a pool that does not meet the pledge in a given epoch.

@kevinhammond @darko-mijic

While this isn't a bug in the ledger, it is confusing from a UX perspective. Could we validate this at the IO layer (Daedalus) with either an error or a warning? For example, if pledge > available ada of user we could say if the pledge isn't met you'll not be rewarded, and if pledge > global ada an error saying that it isn't a valid pledge? Or, if this isn't a good idea, just general info about this could be helpful to explain why.

Daedalus (and the wallet backend API) report pools that do not currently meet their pledge with a zero ranking score. This is sufficient for displaying pools that are not likely to meet their pledge.

There is no need to enforce anything at the ledger level. The ledger already gives pools zero rewards that do not actually meet their pledge.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

2072 picture 2072  路  8Comments

vae520283995 picture vae520283995  路  6Comments

AndrewWestberg picture AndrewWestberg  路  5Comments

deepfire picture deepfire  路  4Comments

dorin100 picture dorin100  路  3Comments