Suggested enhancements to the Community fund

Authors: @Pete @bjoernek

TL;DR

Based on collected experience and community feedback from recent SNS launches and forum discussions, we propose four enhancements to the Community Fund framework:

  1. Introduction of a ‘Matched Funding’ scheme: Instead of a fixed ICP amount, the fund’s contribution to SNS swaps should scale in line with direct participation, allowing for a more accurate reflection of market signals.
  2. Implementation of a 10% Participation Cap: To streamline adjustments when neurons opt out during SNS proposal voting, we suggest a cap in relationship to the totals funds available. This ensures the fund’s contribution to a single SNS never exceeds 10% of the total available funds at the proposal execution time. Consequently, this automatically adjusts the fund’s participation if neurons opt out.
  3. Renaming of the ‘Community Fund’ to ‘Neurons’ Fund’: This change aims to clarify misconceptions about the fund. It emphasizes that the fund comprises neurons owned by private individuals who are exposing their maturity to promising SNS DAOs. It is suggested to release this cosmetic change next week.
  4. Reduction of the Maximum Swap Duration: A potential fund contribution is tied up and cannot be utilized for other SNS launches for the duration of the swap. To prevent a potentially unsuccessful swap from blocking a fund contribution for an extended period, we propose shortening the maximum swap duration from the current 90 days to 14 days.

Fluctuating relative fund contribution

At present, the fund’s contribution to an SNS swap is established as a fixed ICP amount. As a result, the relative size of the fund contribution varies depending on the total collected during the SNS swap. If the SNS swap collects only the minimum amount, the portion of the fund contribution becomes significantly larger than if the SNS swap reaches the maximum amount.

This system does not seem optimal. A better approach would involve the fund contribution scaling in line with direct participation in the SNS swap. In other words, as the SNS swap collects more, the fund contributes more, allowing for accurate reflection of market signals.

Hence we suggest introducing a ‘Matched funding’ scheme, aligning the fund’s participation with the swap participation via a fixed ratio. This ratio, configurable by the NNS, would be initially set to 33%. This equates to the fund contributing 1 ICP for every 2 ICP collected through direct swap participants. Consequently, the fund contribution would increase in direct proportion to the amount collected by direct swap participants.

Amendments to account for changes in the fund size

The existing process handling the case where fund neurons opt out during the voting of a SNS swap, has been a source of confusion. Currently, if fund neurons withdraw from the fund while an SNS proposal is open for voting, the ICP amount the fund was expected to contribute is reduced proportionally. Conversely, if neurons join the fund during an open SNS proposal, the ICP amount the fund invests in an SNS remains unchanged. However, each fund neuron will participate with proportionally less maturity.

To simplify this slightly complicated process, we suggest a 10% participation cap, ensuring that the fund’s contribution to a single SNS doesn’t exceed 10% of the total available funds at proposal execution time. This automatically adjusts the fund’s participation if neurons opt out. Hence, no special tracking for neurons withdrawing from the fund while an SNS proposal is open for voting is required anymore.

Misconceptions about the fund’s name

The ‘Community Fund’ name has led to misunderstandings, with some people assuming the fund is owned by the community. In reality, the fund’s resources, which the NNS contributes to SNS decentralization swaps, come entirely from neurons owned by private individuals. These individuals are not donating their maturity; they are strategically exposing it to SNS DAOs with promising potential. This is not a grants program or charity.

Please note, the private individuals who own the neurons supporting the fund can choose to deselect the ‘Community Fund’ tag on their neurons, thereby reducing the fund’s contribution to a specific SNS.

To help clarify its nature and dispel these misconceptions, we suggest renaming the ‘Community Fund’ to ‘Neurons’ Fund’. It is suggested to release this cosmetic change next week.

Swap Duration

The length of an SNS swap is a configurable parameter capped at 90 days. A potential fund contribution is tied up and cannot be utilized for other SNS launches for the duration of the swap. To prevent a potentially unsuccessful swap from blocking a potential fund contribution for an extended period, it’s suggested that the maximum swap duration should be reduced. Currently set at 90 days, we propose shortening it to 14 days.

10 Likes

Thanks Bjoern. All of these changes are important and needed.

I especially like the change to the name of the Community Fund to the Neuron Fund. The Neuron Fund does not belong to the community or the NNS and it is not free money. It belongs to individuals who are free to make their own personal decisions about using their maturity to participate in a SNS. We can all enter and leave the NF as needed to meet our individual investment / SNS participation goals. I think this should be discussed more by the community. Education is key. Identifying the NF as a limited resource is not really accurate in my opinion because it implies that the community is responsible for managing the NF and leads to gatekeeping a SNS. I think it would be more productive to develop a narrative around how each individual investor is personally responsible for their own SNS participation and calling it the neuron fund helps with that kind of narrative.

3 Likes

Yes, it’s rather complicated and unfair. Thank you for thinking this change.

In fact, I’m beginning to believe that participation in the NF should be mandatory to some extent, perhaps around 1% of the maturity. Otherwise, the NF might trend towards zero, or we’ll end up with numerous ‘free riders’. This approach should further simplify the code.

As I said here Enhancement of the SNS launch process: One-proposal - #16 by Seers, I would prefer if we start matching 1 ICP in swap with 1 ICP from NF (50%). It feels more natural and inline with current values.

1 Like

Hi all, I would like to provide a brief update on the suggested enhancements for the Neurons’ Fund.

Following the launch of the SNS One-Proposal Flow, we have resumed looking at these enhancements again. Based on feedback received through this and related forum threads, here are some key points:

  • Overall, the community seems largely supportive of the ideas presented.
  • In terms of Matched Funding, there is room to fine-tune the precise matching ratio. For instance, a 1:1 ratio could be considered instead of a 2:1 ratio. Some have also suggested exploring alternative matching curves to linear ones.
  • From a user experience standpoint, the feedback indicates a need to more clearly distinguish between the contributions of direct participants and those of the Neurons’ Fund in the UX. The relevant information is already available fully on-chain.

I plan to elaborate on these points in a more detailed forum post next week, followed by a motion proposal outlining the suggested changes.

5 Likes

Couple more suggestions from my end

  1. Dashboard should show the NF details.
  2. ICA Dashboard of SNS launch should show the details of NF Commitment and the Treasury.
  3. NNS Front end should also show the treasury details for the respective SNS instances.
1 Like

Following up on the above thread, we suggest the following slightly more detailed enhancements of the Neurons’ Fund.

Matched funding

The key proposition is to pivot from a fixed ICP amount in the fund’s contribution to SNS swaps to a more dynamic model that scales with direct participation.

The Matching function, f

We propose to implement this through a matching function f, where the input x represents the amount of direct participation, and the output f(x) denotes the corresponding contribution from the Neurons’ Fund (NF). So far, the discussion has centered around linear functions, such as 1:1 matching (f(x)=x) or 2:1 matching (f(x)= 0.5x).

Suggested Requirements on Properties of the Matching Function

The function f is designed to have three distinct phases and will be a continuous function to ensure a smooth transition between these phases. Importantly, the rules for these phases will be globally consistent, applicable to all SNS launches.

  • Initial Lag Phase (I): The function starts at f(0)=0, and grows slowly until it reaches a set threshold. This design encourages projects to accumulate enough direct participation before receiving substantial contributions from the NF.
  • Growth Phase (II): After crossing the threshold, the NF’s contribution increases at a faster rate, signifying more significant support for projects that have demonstrated viability through direct participation.
  • Saturation Phase (III): Beyond a certain point, f(x) will level off and will not surpass 10% of the NF’s total maturity, which ensures that no single SNS will excessively deplete the NF’s resources.
  • Bounding Condition: The matching function f(x) is bounded by g(x)=x, meaning that it will never exceed a 1:1 ratio with x. In practical terms, the NF’s contribution will always be less than or equal to the amount of direct participation.

By adhering to these design principles, we aim to create a fair and sustainable system for allocating NF contributions to various SNS initiatives.

Example

The below graph shows a possible shape for the matching curve, which can be determined by a set of points marked in red. For instance, we could define f(A)=0, f(B)=0.5B, f(C) = C, f(D)=0.5D=10% of NF maturity.

Benefits of matched funding

Better Reflection of Market Signals

The matched funding system is designed to closely align with market sentiment. Specifically, a project that successfully raises more direct contributions will correspondingly receive a greater contribution from the Neurons’ Fund (NF), up to a predetermined threshold.

Simpler Decision-making for NF NNS Neurons

The automated adjustment feature in the NF’s contributions lessens the decision-making burden on NF NNS neurons. As a result, these neurons have fewer instances where they need to opt out, making the process more efficient.

Improved Incentives for Projects

The matching system provides a more compelling incentive structure for projects. Knowing that increased direct funding will be matched (up to a point) by the NF, encourages projects to be more proactive in their fundraising efforts.

Clearer separation of contributions

Feedback from both SNS projects and users has highlighted the need for a clearer separation between contributions from direct participants and those from the NF. This clearer separation would be beneficial in two key areas:

  1. Proposal Structure

Instead of specifying the overall minimum and maximum funding target, projects should have the ability to set distinct minimum and maximum funding targets specifically for direct participation, which would be the only factor determining whether the swap succeeds. The contribution from the NF would then be added to this base amount, determined by a well-defined model (as per the matching function discussed earlier).

  1. User Transparency in the SNS Launchpad

During the swap, contributions from direct participants and the NF should be displayed separately for transparency, within the NNS dapp’s SNS launchpad.

Benefits of the clearer separation

  • Transparency in Success Metrics: The success of the swap is directly and transparently linked to the amount raised through direct participation.
  • More freedom to define funding target range: Projects can set a more flexible range for minimum and maximum funding targets without having to factor in the NF contribution, offering more leeway than in the current system where the NF contribution affects these limit (e.g. because the fixed NF contribution should exceed more than 66% of the minimum funding target).
  • User Clarity: Users will be able to easily see the amount of direct participation already collected during the swap, as well as the anticipated NF contribution.

Next steps

After syndication in the forum, we plan to submit an according motion proposal.

14 Likes

Thank you very much for everyone’s works and inspirations!
Looking forward to more and more Customized and Targeted Enhancements and Innovations!

1 Like

I am glad to see that Proportional Contribution by the Neuron Fund has been addressed.

Going to provide a cross reference detailing a few other design flaws that may be enhanced upon as well.

I appreciate the Foundations dedication to ensuring it’s done properly!

2 Likes

:+1::+1::+1:I very much agree with the implementation of this plan as soon as possible. sns should focus on decentralized management, and the market decides how much money can be sold, so that more dapps and more profitable potential stocks can appear on sns.

1 Like

It means it is
For example, the final sales volume of sns is 1000icp, of which nf supports the 500icp project, which is considered a success, right?
I think this sns method, in the final secondary market, is prone to explosive models. :clap:

Is there an error in my understanding, please correct it…

I am actually surprised they didn’t remove your posts, they removed mine.

Implement the plan as soon as possible, and sns should not set minimum and maximum sales levels.

The exact ratio between direct participation and NF participation will fluctuate based on the amount of direct participation. This ratio could be, for instance, 1:1 or 2:1, as determined by the matching function previously described.

1 Like

very well👍good project coming soon .

1 Like

Hi all,

I am preparing to submit the motion proposal today. Since I am unable to include any visuals within the proposal itself (to depict the matching function), I post it here along with a brief description of the suggested thresholds that define the function’s shape. The description itself will also be part of the submitted proposal.

Matching function, f

The Matched Funding model employs an S-shaped matching function f, where x signifies the direct participation, and f(x) represents the Neurons’ Fund (NF) contribution. The function is characterized by:

  • Bounding Condition: To ensure the NF’s contribution never surpasses the direct participation, f(x) is bounded by the function g(x)=x. Additionally, it remains below a cap, defined as the minimum of the ICP equivalent of 1M USD or 10% of the NF’s maturity. This ensures no single SNS drains the NF excessively.
  • Initial Lag Phase (I): Initially, f(x) stays at 0 until direct participation reaches an ICP equivalent of 100k USD, denoted as threshold t1. It then steadily rises until it hits an ICP equivalent of 300k USD (threshold t2), at which point the SNS receives a 2:1 contribution from the NF. This phase encourages projects to attract more direct participation.
  • Growth Phase (II): The NF’s contribution rises faster, providing more support to viable projects. When direct participation reaches the ICP equivalent of 500k USD (threshold t3), the SNS receives a 1:1 NF contribution.
  • Saturation Phase (III): Beyond the threshold t3, the growth rate of f(x) diminishes. Once direct participation exceeds threshold t4, which is twice the cap, f(x) levels off at the cap.

The above-mentioned thresholds should be configurable as NNS parameters. Initially, these thresholds might be denominated in units of ICP, but eventually they should be denominated in terms of XDR.

5 Likes

The motion proposal is now up for voting: Proposal: 124822 - ICP Dashboard

3 Likes

cool, let vote …



.

as much as I like to disagree with Ivan (for personal reasons) he does have a point

SNS Front ends does not show how much CF/NeuronFund was used for SNS sales

It doesn’t in ICA dasboard
It doesn’t show on NNS Front End

I simply fail to understand why DFINITY is unable to push a simple Frontend update for this.

Yes, the amount of the NF contribution is not currently displayed on the dashboard or the NNS front-end dapp. However, this information can be accessed on-chain.

It is planned to address this, as part of the recommendations discussed in this forum thread making this data more easily accessible (visible within the NNS front-end dapp)

1 Like