-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[JIP] - Implement pledge logic #2506
Comments
@pavlix the documentation regarding rewards implementation is IMO here in chain-libs... |
@pavlix, any update since our call last week? |
this needs a jormungandr related proposal, not a link to an unrelated project's "engineering spec". personally, I'm rather unconvinced by the concept of pledges altogether. |
Exactly what problem does the concept of a pledge solve? Could you expand on "different reward sharing schemes". |
@sjmackenzie Hello. As far as I understand the goal of pledge is to distinguish own stake from delegated stake and reward own stake to motivate stake owners to become stake pool owners and possibly cooperate with their trusted friends running a co-owned stake pool rather than opt delegate to other parties. |
Does that mean that you don't think a sybil attack vector would be a valid attack vector in liquid proof of stake consensus protocols such as Ouroboros or you don't think that pledge mechanism provides a sollution for such attack vector on the consensus layer? |
note, pure ouroboros doesn't have a sybil attack vector at all by design. But to answer your question, it's more about the later; The more general pressing problem is starting/continuing the protocol with "whales" (divided or not). |
@vincenthz, true, it's game theory assumption as opposed to direct Ouroboros consensus protocol feature... More to the point though, you may have hear I am proposing a project dCloud[1] as part of Project Catalyst, when it comes to the relative pledge influence, it's the reward sharing scheme we would like to use for our dCloud Telemetry Sidechain, we have not decided if we run it using Jormungandr or So my question is, we want to maintain minimal differences from upstream at this stage of the project, would it be possible to implement such functionality (as optional) in any way, shape or form in a minimalistic version. You may notice, I have tasked @pavlix as the developer, so the prior censorship anger issues would be avoided even if this is merged to upstream... dCloud Telemetry Sidechain should be implemented using Ouroboros Praos because IOG PoS side-chain already demonstrates it's feasibility so given the restricted budget in current Project Catalyst funds, we would rather not re-invent a wheel... We also have big plans with PolderCast so it is in our best interest to contribute to Jormungandr, @pavlix has deep understanding of networking, he was actually one of the lead developers of NetworkManager employed by Czech RedHat branch... @romainPellerin, can we figure out a way how to work on this as a joint effort? [1] - https://cardano.ideascale.com/a/dtd/Decentralized-Cloud-Platfom/322909-48088 |
Is your feature request related to a problem/context ? Please describe if applicable.
In order to experiment with different reward sharing schemes, I would like Jormungandr to support the concept of pledge, following would be desired:
Pledge operation mode can be either static or dynamic
Pledge can have following influence on rewards calculation
Absolute pledge influence
Absolute pledge influence means that rewards are calculated as described in 5.5.2 Pool Rewards chapter of Engineering Design Specification for Delegation and Incentives in Cardano–Shelley
Relative pledge influence
For relative pledge inflience, absolute pledge influence formula is modified in such a way that pledge influence is calculated as a relative meassure between the pledged and total delegated stake, if
pledged stake= total stake
, pool is eligible for maxial rewards, as the total stake increases above pledged stake, amount of rewards to distribute is decreasing.Other notes
It should be possible to switch between different pledge operation modes during a chain live-cycle and it should be possible to switch between pledge influence modes...
Implementation should reflect the fact that it may be desirable to test many different formulas for pledge influence, including one described in CIP-ShawnMcMurdo-CurvePledgeBenefit .
@NicolasDP or @vincenthz do you believe that this could be implemented in this mainstream project without adding too much overhead for overall project mainenance when doing "your stuff"? Would it be possible to help-out @pavlix who would be implementing this, so he can get faster up to speed with the code structure,...? I am sure he will be happy to document what he will discover during this excersise in a form of a developer documentation which seems to be rather obsolete...
Other references
The text was updated successfully, but these errors were encountered: