Since the launch of open staking, we’ve received lots of feedback and concerns around the undelegation and the associated locking period of 7 epochs. There are mainly two scenarios which causes friction to the staking market and bad experience:
For validators who got unelected, their delegators will have to wait for the 7 epoch locking period to withdraw their token and delegate to other validators. This causes huge friction of the delegation and put small validators in disadvantage because of the huge risk of being unelected.
For validators who decided to stop validating and turn themselves inactive, their delegators will take the hit of the 7 epoch locking period before their token can be delegated to other validators. This caused terrible delegator experience too.
Proposal: To improve the user experience of our stakers and create a more liquid staking market, We are proposing to reduce the locking period to be from the moment of undelegation until the end of the current epoch. With this change, any undelegated tokens will be unlocked at the end of the epoch when the Undelegate transaction is submitted. This also means for the delegators who want to change validators, they can do the redelegation as soon as in the second epoch after undelegation.
The proposal is mostly based on the following reasoning:
At current stage of the mainnet, the risk of double sign attack is very minimal since Harmony is still the main controller of the network.
Most basic double-sign behavior will be detected immediately and the slashing will be applied very soon and mostly within the same epoch. So locking the token throughout the current epoch is long enough to get normal double signers punished.
Our consensus requires at least 2/3 of the voting power and it’s extremely hard for malicious attackers to control 2/3 of the voting power, conduct long-range attack and cause double-spending, compared to other blockchain requiring 1/2 of the voting power.
The locking time create huge friction in the market which prevents tokens to move around validators and hindering new delegations to enter the system. This is causing more harm to the overall health of the network
Compared to the minimal risk of double signing and the high cost of not getting enough tokens staked. It’s reasonable to reduce the locking time at current stage of the mainnet. It will help better boost the staking percentage which strengthens the network security and will promote a happier and healthier staking community dynamics.
Let us know what’s your opinion on this. If there is no major objection to this proposal, we plan to roll out the change as soon as early next week (May 25 - May 29) to reduce further user impact.
Yea, the 7 epoch locking time is erring on the extreme safer side. But practically speaking, it may actually hurt the health of the system more than protecting it.
As always pro/con opinions might be shared. I can’t say I don’t like the idea, even if I know that might bring some more heat to EPoS this short unbonding period, but if is harder implementing the re-delegate, than it think 1 epoch unbouding is a good choice. As always thank you very much for your prompt response and attention to the community voice @RongjianLan …
I commend the team for hearing the communities problems, and finding an excellent resolution!
I think that while the network matures in the short term, this is an outstanding idea!
I would imagine that at some point, we will grow to a size where it is prudent to put this security feature back in place. My only change to the proposal would but to add a sunset condition, at which point our network has grown to an appropriate size in which the originally planned 7 epoch lock would be necessary.
What sort of timeframe might that be? Condition based might be the smartest way to go, so upon what network milestone would you think it appropriate to reinstate the 7 epoch lock?
I also support the idea of shortening the undelegation period due to recent events and other potential issues for delegators. Although having 7 epochs might sound a good idea and choice for the early stages of the network and helps its stability, from some point after, when the network reaches to its maturity and becomes stable, there is no need for such a long period and thus the proposed 1 epoch seems to me a good proposal.
I run a validator and I support this, especially since we are at the beginning when delegators and validators are still figuring things out and trying different configurations. It seems like a pretty low risk refactor.
7 epochs is a good thing from a price perspective (which is important for awareness and helps overall Harmony security as 1. high ONE price = harder to accumulate ONE to perform successful attacks, and 2. more people will be willing to participate as their stake isn’t showing to die in value in the market).
Having epochs to wait is good because it helps with low token velocity, which is one of the variables of price appreciation. It’s also good for preventing worsening of large selloffs during rapid market downturns from people getting overwhelmed with fear, as it gives 10 days of a chance for things to cool off and settle into less volatile action. So some waiting time is a good thing.
But on the other hand too long of a wait can hinder delegation in the first place, for people who don’t like the idea of risking the value of their holdings in up to 10 days of market moves in a volatile market before they can get it out. 7 epochs is definitely way too high as it makes delegating a frustrating experience & also is way too much of a risk losing 10 days of rewards when delegating to a validator at the lower end of the bids. Which could be bad for decentralization.
Releasing after current epoch sounds like the better option. It helps with these problems while keeping some velocity benefits. might have the added bonus of making validators extra diligent with their bids & uptime also, as they won’t lock in delegators for 7+ epochs. Maybe releasing after the current epoch + 1 more epoch would be the best of both worlds.
What about the possibility of using delegation to attack validators, for example, removing the delegation on the last block of an epoch to cause a validator to fall off the active set? This is only possible if undelegation takes effect as soon as the epoch is over.
Making undelegation take effect at the end of the epoch following the epoch where undelegation took place (at the end of N+1) would be enough to prevent this type of attack.
PS: There are possibly other attacks that are not prevented by N+1, but the attack mentioned above seems to be the most likely
However, it should be remembered that the length of the lock period eliminates short-term trades and also helps stabilize the price.
For example, how about the following idea.
The delegation to an unelected validator is immediately unlocked.
The delegation to the elected validator shortens the lock period from 7 to 2 epochs.
The above proposal reduces the risk of delegating to smaller validators, while at the same time helping to stabilize the amount of stake across the network.
Though all points made in this seem quite valid, I feel it is important to identify some key features of the current methodology.
What is the purpose of staking on Harmony?
Is this process meant to lock up tokens, for the purpose of lowering liquidity on the market for a reward, there-by assisting the underlying value of the token?
Is staking a method that is meant to reward an active community for becoming more educated on a protocol, for interacting more with developers and validators?
Is staking simply a way inflate the market, and reward participation by catering more to temporary or long term token holders?
The current system seems to reward the most dedicated to the network, the most educated in the harmony ecosystem and those that are committed to developing on the protocol.
I believe that this change will benefit a very specific type of temporary institutional participation above individuals. As has been demonstrated by many competing POS systems, lock up periods, ranging from days to weeks actually seem to improve the stability of the validators operating as they are more consistently able to participate in consensus (improvements: economic, development, server mgmt, etc.). It is evident that a truly ethical proof of stake system needs to include a form of friction that rewards those that are the most dedicated to a network. I believe the economic system we have today does just this.
Rather than changing the system, Harmony should make more effort on educating the community on how the system works, and on the importance of staking to trusted validators.
We have 1 week of data today, I believe more research and feedback should be gathered before making such a high impact decision.
The decision outlined today may:
Encourage institutional participation
Make it more challenging to manage BLS keys for a community validator or individuals
Reduce the importance of education in the current staking economy.
Ultimately leading to the true value of staking being temporary rewards, instead of the long term value of the token.
I would actually think the opposite. A short undelegation time early on to allow people who are delegated to the many dead nodes. Long term though, the 7 day lock is far better for network health. Maybe not best for delegator’s and traders, but def better for the network… For exactly the same reasons that traders don’t like the long lock.
it will only create a continuous swinging of votes, from people searching “the best rewards of the moment” all the time and ready to dump any little ONE pump we will have.
it would destroy the value of the choice, the value of commitment, the importance of informed decision and the growth of an educated community.
I saw what happens when chains have delegators only following the rewards and chasing the best of the moment.
It will force validators to fight each other to the point of running the server at loss , reducing fees to 0% for the longest time possibile, without building anything relevant in any possibile aspect.
It would open the doors to big entities, binance like, to suck everything suckable, making it easy for them staking and unstaking with ease and we will lose the power and importance of scarcity, price side. It will shutdown any community node even faster.
Tokens must be staked and locked, the more tokens the better!
To complete my view: you can’t make such important changes with 1 week data and feelings, it’s the first one too!!!