Skip to content
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

HIP 76: Simplify Lockup and veTokens #560

Closed
vincenzospaghetti opened this issue Feb 14, 2023 · 3 comments
Closed

HIP 76: Simplify Lockup and veTokens #560

vincenzospaghetti opened this issue Feb 14, 2023 · 3 comments

Comments

@vincenzospaghetti
Copy link
Contributor

vincenzospaghetti commented Feb 14, 2023

HIP 76: Simplify Lockup and veTokens

Summary

HIP-51 specifies that holders of HNT may lock their HNT for up to 48 months in order to receive
veHNT (vote-escrowed HNT). veHNT conveys voting power in the Helium DAO and may be delegated to a
subDAO. The combination of HNT locked for a duration, together with the assigned veHNT, is called a
position. One wallet may contain multiple positions.

With this HIP, we propose simplifying the relationship between lockup duration and the associated
amount of veHNT, eliminating the minimum lockup period, introducing a 1 HNT minimum per lockup
position, and clarifying certain rules relating to the “landrush” bonus.

1. Simplify lockup

HIP-51 specifies that the amount of veHNT returned when HNT is locked should increase linearly from
1x veHNT per HNT at the minimum lockup duration of 6 months all the way to 100x veHNT per HNT at 48
months. However, when a locked HNT position enters cooldown, the associated veHNT follows a
different curve and instead declines linearly to zero over the entire period. These asymmetric
lockup and cooldown functions have counterintuitive consequences.

We propose simplifying the lockup function by specifying a linear relationship between the lockup
period and the associated veHNT multiplier, assigning 0x veHNT at 0 months and 100x veHNT at 48
months, valid equally at lockup and cooldown. This would eliminate the special-case provision for a
6-month duration with 1x veHNT and therefore increase the veHNT multiplier for short lockup
durations.

2. Eliminate minimum period

We propose eliminating the 6-month minimum lockup period, allowing participants to lock for any
desired period up to the maximum, including shorter periods with an accordingly smaller associated
amount of veHNT.

3. Introduce 1 HNT minimum lockup

We propose introducing a 1 HNT minimum per lockup position to prevent spam positions.

4. Specify 3x landrush rules

We define rules of operation for the special-case 3x “landrush” veHNT multiplier that HIP-70
introduced but did not specify in detail.

The mechanics described here in terms of HNT, and veHNT will apply equally to veMOBILE and veIOT
when they are introduced.

As HIPs 51–53 and HIP-70 do not specify a 3x landrush period for IOT and MOBILE, the landrush
provisions will only apply to a subDAO token if the subDAO introduces its own landrush period for
its veToken.

Motivation

The current model of veHNT lockup does not ideally support long-term incentives. To encourage as
many participants as possible to lock their HNT and participate in governance, the relationship
between the lockup period and the resulting veHNT multiplier should be simple and easy to
understand. The more flexible and convenient the lockup procedure can be made, the more approachable
it will become.

As the implementation of veHNT has progressed, additional operations not described in HIP-51 have
become possible that encourage lockup, such as the ability to extend the lockup period of already
locked HNT. In some cases, these operations expose counterintuitive properties of the lockup
function specified by HIP-51. For example, in some cases, extending the lockup period of an HNT
position could reduce the associated veHNT multiplier.

Changing the lockup curve to a simple linear function, which is easier to understand, removes these
counterintuitive edge cases. Implementation becomes significantly simpler, quicker, and safer.

The provision in HIP-51 of a 1x veHNT multiplier for a 6-month lockup was intended to encourage
participants to lock HNT for longer durations. Yet, it provides an incentive to lock less total HNT.
Under the schedule of HIP-51, if a participant were to consider locking 100 HNT for 6 months, they
would receive 100 veHNT. However, they could receive the same 100 veHNT by locking just 1 HNT for 48
months, leaving the other 99 HNT unlocked. This outcome would increase optionality for the
participant while decreasing the total amount of locked HNT.

Therefore, the linear lockup function proposed in this HIP will encourage greater total lockup and
thereby promote long-term goals.

Similarly, we propose dropping the 6-month minimum lockup period for simplicity and encouraging
maximum participation.

For background, the 6-month minimum lockup period was intended to prevent holders of large HNT
wallets from dominating governance by locking their HNT for short periods. However, even with the
linear lockup function, a 1-month lockup receives just over 2% the veHNT multiplier of a 48-month
lockup, and a 1-day lockup receives less than 0.1% the veHNT multiplier of a 48-month lockup.

Further, HIP-51 does not specify a minimum amount of HNT that can be locked into one position.

Given the low transaction costs on the Solana blockchain, a bad actor could conceivably create many
positions, spamming the smart contract in a nuisance attack. To make this impractical, we propose to
require a minimum of 1 HNT per lockup position.

Finally, we make the rules governing 3x landrush positions explicit to document the behavior of the
veHNT implementation that is being developed in accordance with HIP-70, which does not specify
details.

In summary, the motivation of this HIP is to improve governance usability and long-term engagement
and to provide clarity on the rules governing landrush.

Rendered View

https://github.com/helium/HIP/blob/main/0076-linear-lockup-curve.md

@vincenzospaghetti
Copy link
Contributor Author

HIP 76: Linear Lockup Curve has passed with 96% of the voting power FOR the proposal.
Check out the results for yourself at helium.vote under "Closed Votes" or follow this link: https://heliumvote.com/144wSVHr4cuVSjxEC62X1bHuLsc5Hcpq6XBhfSY8BQwiyMborFZ
:helium: Helium Core Devs will be working to integrate these new changes to veHNT and subDAO (veDNT) smart contracts before the launch on Solana mainnet.
🎉 Thank you to @ferebee who saw a need to clarify vote escrowed token mechanics, did an incredible job coordinating with Core Developers, responded for weeks to community feedback, and took numerous opportunities to explain and expand his HIP. Just an awesome job, @ferebee !
🫡 What's Next?
Stay tuned in
hip-76-linear-lockup-curve
for updates. Changes will be launched upon the migration to Solana - current date is March 27th, 2023.

@vincenzospaghetti
Copy link
Contributor Author

This has been implemented. Please see contracts on the Solana blockchain or visit this Repo: https://github.com/helium/helium-program-library.

@waveform06
Copy link
Collaborator

HIP 76 was approved by the community on 10th March 2023 with a passing rate of 95.61%
https://www.heliumvote.com/144wSVHr4cuVSjxEC62X1bHuLsc5Hcpq6XBhfSY8BQwiyMborFZ

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants