-
Notifications
You must be signed in to change notification settings - Fork 408
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
Comments
HIP 76: Linear Lockup Curve has passed with 96% of the voting power FOR the proposal. |
This has been implemented. Please see contracts on the Solana blockchain or visit this Repo: https://github.com/helium/helium-program-library. |
HIP 76 was approved by the community on 10th March 2023 with a passing rate of 95.61% |
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
The text was updated successfully, but these errors were encountered: