-
Notifications
You must be signed in to change notification settings - Fork 5
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
staking pools need separate rewards channel when bonding #32
Comments
I see this main requirement. From the perspective of a validator who needs to sign a block, it must be "physical" private (public) key in the PoS contract. |
I see... Then perhaps the bond method could take a (required) public key for signing blocks and (optionally) a separate rev address for rewards? |
@jimscarver what do you think of getting this into the PoS contract in time for one of the upcoming hardforks? |
We recently discussed this in discord... @tgrospic writes:
yes, I believe something very simple can be enough to support staking pools, like REV address for rewards
in cosmos chains, delegators rely on the competence of the validator; if the validator double-signs and gets slashed, the delegators lose their stake (in proportion) @zsluedem writes:
Well, yes, of course, the staking pool contract is a layer on top.
I can't be certain until I have more experience, but I'm pretty sure.
I expect the user goes to the staking pool and trades REV for tokens representing their stake. And once every epoch, the staking pool contract calls the PoS contract to deposit or withdraw REV so that the total stake matches the sum of what its clients want staked. Something like that.
That way the reward goes from the PoS contract to the staking pool contract.
I expect users can start a withdrawal at any time; withdrawals take the length of an epoch to complete (21 days is typical in cosmos; I don't know how long an rchain epoch is)
|
@9rb @tgrospic would you please schedule this on one of the core dev milestones? Does this have sufficient support? Is there any argument against? Does it help if I make an issue in |
@dckc It would be very useful if you can create an issue with possible attack vectors if you can think of any. We discussed about your suggestion in our dev standup. @leithaus said he needs to think if there is some potential misuse but in general we had agreement that we want to implement it in PoS. I'd like to include it HF2 because we already included some changes scheduled for HF3. If you can help us to write/review some of these changes in Rholang it would mean great deal for us. Please feel free to join any of our dev standup to discuss about details. |
OK, will do.
I can't think of any attack vectors just now. I'll think it over a bit. In fact, this seems to be a standard practice in the Cosmos ecosystem: https://www.mintscan.io/osmosis/account/osmo1hjct6q7npsspsg3dgvzk3sdf89spmlpfqua7lv
that would be great! |
The proof of stake contract uses public keys to represent parties who stake REV. As far as I can tell, this excludes the use of multisig or other smart contracts as staking entities. Can you confirm? If so, I can evolve this into a concrete proposal...
If PoS used REV Addresses, we could use addresses from
RevAddress.fromUnforgeable
connected to multisigs, staking pools, etc.See also https://github.com/rchain-community/rstake
The text was updated successfully, but these errors were encountered: