You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Summary:
I propose a new voting strategy for Snapshot that determines the weight of an account based on its ERC20 token balance over a given period. This approach aims to reward and recognize long-term token holders and create incentives for users to maintain consistent token balances over time.
Motivation:
Many projects value long-term holders and supporters, seeing them as core pillars of their communities. A voting strategy that considers not just the current token balance but also the historical holding pattern can be a game-changer for DAOs and projects that want to give voice to these consistent supporters.
Technical Specification:
Period Definition: Define a start and end block number for the period of interest.
Token Activity Points Identification: Detect all blocks where a Transfer, Mint, or Burn event occurred for the ERC20 token within the timeframe.
Weight Calculation Over Static Periods: For each static period between two consecutive activity points, compute: weight_{period} = balance_{start_of_period} * delta_time_{period}
Summation: Aggregate all the weight_{period} values to get the total weight for the account over the timeframe.
Proportional Weighting:
The core idea is to determine the "token-time" for an account. Think of "token-time" as the product of the number of tokens held and the duration for which they're held. For instance, if you hold 100 tokens for 10 days, that results in 1,000 token-days.
Steps:
Calculate Account's Token-Time Weight:
For each static period between two consecutive activity points, compute the token-time: token_time_for_period = balance_at_start_of_period * duration_of_period
Sum all the token_time_for_period values for the account to determine its total token-time weight over the entire timeframe: total_token_time_account = SUM(token_time_for_period over all periods)
Calculate Total Token-Time Weight for All Addresses:
For each static period, calculate the total token-time for all token holders: token_time_total_for_period = total_supply_at_start_of_period * duration_of_period
Sum the token_time_total_for_period values across all periods to get the overall token-time weight for the entire supply over the timeframe: total_token_time_all = SUM(token_time_total_for_period over all periods)
Determine Account's Proportional Weight:
With the token-time weight of the account and the total token-time weight known, the account's proportional weight can be calculated as: proportion = total_token_time_account / total_token_time_all
This proportion represents the fraction of the total token-time weight attributed to the specific account over the timeframe.
Illustrative Example:
Let's use a simple example:
During period 1: Account A holds 100 tokens for 10 days, resulting in 1,000 token-days. The total supply held by all addresses results in 10,000 token-days.
During period 2: Account A holds 150 tokens for 5 days, resulting in 750 token-days. The total supply held by all addresses results in 6,000 token-days.
The account's total token-time weight is 1,750 token-days, while the total token-time weight for all tokens is 16,000 token-days. Therefore, the account's proportional weight is 1,750 divided by 16,000, or 10.9375%.
Benefits:
Incentivizes Long-Term Holding: This strategy can act as a natural incentive for community members to hold tokens over longer periods.
Fair Representation: It ensures that the influence in voting isn't just limited to large token holders at a given moment, but also considers the commitment over time.
Flexibility: Projects can choose their look-back period based on their community's preference, ensuring adaptability.
Concerns & Mitigations:
Efficiency: Processing events over an extended period could be resource-intensive. However, by considering only periods between activity points (Transfer, Mint, Burn events), we reduce computational overhead.
Security: Care must be taken to ensure the strategy doesn't introduce potential vulnerabilities. Thorough testing and community reviews can mitigate this.
Integration with Snapshot:
This strategy can be integrated as an optional feature for DAOs and projects. They can select this alongside or in place of the standard ERC20 balance-based strategies depending on their community's preference.
Conclusion:
A voting strategy that considers historical token holdings can offer a unique and fair approach to DAO decision-making. By recognizing the commitment of long-term holders, we can foster stronger community alignment and engagement.
The text was updated successfully, but these errors were encountered:
Description:
Summary:
I propose a new voting strategy for Snapshot that determines the weight of an account based on its ERC20 token balance over a given period. This approach aims to reward and recognize long-term token holders and create incentives for users to maintain consistent token balances over time.
Motivation:
Many projects value long-term holders and supporters, seeing them as core pillars of their communities. A voting strategy that considers not just the current token balance but also the historical holding pattern can be a game-changer for DAOs and projects that want to give voice to these consistent supporters.
Technical Specification:
weight_{period} = balance_{start_of_period} * delta_time_{period}
weight_{period}
values to get the total weight for the account over the timeframe.The core idea is to determine the "token-time" for an account. Think of "token-time" as the product of the number of tokens held and the duration for which they're held. For instance, if you hold 100 tokens for 10 days, that results in 1,000 token-days.
Steps:
Calculate Account's Token-Time Weight:
token_time_for_period = balance_at_start_of_period * duration_of_period
token_time_for_period
values for the account to determine its total token-time weight over the entire timeframe:total_token_time_account = SUM(token_time_for_period over all periods)
Calculate Total Token-Time Weight for All Addresses:
token_time_total_for_period = total_supply_at_start_of_period * duration_of_period
token_time_total_for_period
values across all periods to get the overall token-time weight for the entire supply over the timeframe:total_token_time_all = SUM(token_time_total_for_period over all periods)
Determine Account's Proportional Weight:
proportion = total_token_time_account / total_token_time_all
Illustrative Example:
Let's use a simple example:
The account's total token-time weight is 1,750 token-days, while the total token-time weight for all tokens is 16,000 token-days. Therefore, the account's proportional weight is 1,750 divided by 16,000, or 10.9375%.
Benefits:
Concerns & Mitigations:
Integration with Snapshot:
This strategy can be integrated as an optional feature for DAOs and projects. They can select this alongside or in place of the standard ERC20 balance-based strategies depending on their community's preference.
Conclusion:
A voting strategy that considers historical token holdings can offer a unique and fair approach to DAO decision-making. By recognizing the commitment of long-term holders, we can foster stronger community alignment and engagement.
The text was updated successfully, but these errors were encountered: