Community fund | Revised design proposal

Authors: Pete, bjoernek

Hi all,

We present a revised design proposal for the community fund (CF). It includes several adjustments based on points raised by the community during the first deliberation round.

In particular, the revised design provides additional flexibility, allowing neurons to leave and join the CF at any time. This way, users can try out the CF without committing participation for the life-time of a neuron. Also, users keep the flexibility to manage the maturity of their CF neurons, e.g., merge, spawn etc.

Following the deliberation of the revised design in the forum we intend to submit a motion proposal.

Background and objective

  • The success of the IC is dependent on the services built on the IC. Similar to Ethereum, we envisage that, in the long run, the value of services built on the IC will collectively be worth more than the IC itself.
  • The CF introduces the concept of an NNS controlled treasury. The goals of this treasury are to aid the bootstrapping of the SNS DAO ecosystem, and later be able to re-invest in the continued growth of the ecosystem. The NNS will be the decision maker in choosing where its treasury or CF resources are to be invested. This will be extended in the future to support additional community developed governance and fundraising frameworks (i.e. opportunities from these frameworks will also be featured in the Launchpad).
  • To allow the CF to create this treasury, community fund neurons will expose their maturity to the risks the CF fund is taking when investing. Maturity of CF neurons will be reduced when the CF decides to make investments. At a later date CF neurons whose maturity was reduced will be rewarded with maturity increases, dependent on the success of the investments the CF has made.
  • Involving the maturity of CF neurons instead of their stake in ICP minimizes the impact on the overall ICP tokenomics.

Proposed design

The community fund process can be split into five phases: (1) joining the community fund, (2) making an investment decision, (3) the decentralization sale, (4) participation in SNS governance, and (5) increasing maturity when SNS neurons dissolve. In the following we describe these five phases in more detail.

Joining and leaving the CF

  • Using a tick-box in the NNS FE dapp, a neuron can join and leave the CF at any time, also during a voting period.

Voting on investments

  • The CF investment proposal is part of the SNS proposal. It is essentially a statement “Invest X ICP from the CF into this SNS”.
  • As a consequence, all NNS neurons will vote on both the creation of an SNS for a dapp and on whether the CF invests into that dapp.

Decentralization sale

  • If a proposal to create an SNS is adopted, the decentralization sale starts. The maturity of CF neurons is reduced pro rata by an amount related to X.
  • If the decentralization sale is successful, the NNS mints X ICP as specified in the proposal.
    • The SNS treasury receives the X ICP.
    • The NNS CF treasury receives SNS neurons corresponding to X ICP. This is provided as a basket of neurons with various dissolve delays.
  • If the decentralization sale is not successful, the maturity of CF neurons is increased again by the amount it was decreased by earlier.

Participation in SNS governance

  • Participation in voting on the SNS proposals is passed through to the CF neurons via hotkeys on the NNS neurons owned by the NNS.
  • The voting weight is proportional to the maturity exposed.

Increasing maturity of CF neurons

  • The NNS CF treasury holds SNS neurons & tokens in its treasury, to be sold at its discretion.
  • When a set of neurons from a decentralization sale of an SNS dissolves, the NNS marks to market the value of the dissolved SNS neurons. In the first stage, the marking to market is done by a proposal. In a later stage this could be done by pulling data from a DEX.
  • The maturity of CF neurons whose maturity was reduced when an investment in a SNS-controlled dapp was made is increased by the amount determined by the NNS.
  • The NNS can sell the tokens from an SNS at a later point in time with the goal to maximize the sale price. After the NNS sells tokens from an SNS, the received ICP will be burned.

FAQ

  • I can spawn maturity myself and invest directly in an SNS. What is the benefit if I join the community fund?

    • Correct, a user can spawn maturity and invest into SNSs also without the involvement of the CF.
    • Via the CF, a user can tap into the knowledge of the IC community and can also benefit from an automated investment process.
  • The dashboard currently shows the stake of all NNS neurons in the CF. Will this be adjusted to also show maturity?

    • Yes, given the revised design the metric on the dashboard will be adjusted to display in addition the total maturity of all CF neurons.
  • As a CF neuron holder, how can I avoid participating in a particular SNS if the NNS voting is trending towards accepting the SNS proposal?

    • If a particular CF neuron holder is not in favor of following the NNS’s decision for a proposed SNS, it can leave the CF (before the end of the vote) and re-join later.
  • Why does the NNS treasury not sell the underlying tokens of SNS neurons immediately when the SNS neurons dissolve?

    • Directly selling at the moment when the neurons of an SNS dissolve would not be a good approach, because this would flood the market of that SNS token at a predictable time.
  • When is maturity deducted from CF neurons?

    • When the SNS proposal has been accepted (by NNS voting), the appropriate amount of maturity will be deducted from the CF neuron.
  • What happens if CF neurons opt out of the fund during an SNS vote?

    • If CF neurons opt out of the CF whilst an SNS vote is open, then the ICP amount the CF was proposed to make is reduced proportionally.
    • If neurons opt in during an SNS vote, the ICP amount the CF invests in an SNS remains the same, but maturity of each CF neuron will be proportionally decreased less.
  • If the NNS itself is an investor in an SNS who votes on SNS proposals?

    • Voting rights in an SNS will be passed through to the community fund neurons via hotkeys. The NNS will remain the owner of these SNS neurons.
  • What happens when an SNS neuron owned by the NNS dissolves?

    • When an SNS neuron dissolves, the NNS will be the controller of liquid SNS tokens. The NNS will have the option of selling those tokens for ICP, or keeping the SNS tokens.
    • At this point a market value of the tokens will be assessed and CF neurons which are exposed to this SNS investment will be rewarded with an appropriate amount of maturity.
    • Any ICP raised from the selling of SNS tokens will be burned.
3 Likes

I’m still undecided whether this is a good change or not, while locking neurons in the CF for life might be considered too extreme, it was a mechanism to assure allocation to promising projects was only reserved to true believers in the ecosystem, the new mechanism despite being less restrictive could favour whales with large ICP stacks and fat neurons way too much.

What if 2 SNSes launch at the same time but I only want to fund one of them?

I believe it’d be best if this decision was up to the project owners, such systems should be as unopinionated as possible imo, it should be up to the market to decide whether the terms proposed are convenient or not.

How is allocation determined? Say a project wants to sell 7k ICP worth of tokens, is a fixed amount reserved for all neurons in the CF to make sure each one of them gets some (as long as they have enough maturity)? Are CF neurons prioritized over investors using tokens?

As a side note I think it’d be great if we could generalize the CF’s functionality of automatically disbursing maturity so that it could be used for more than the CF, e.g I want to support a DAO/project and I want to send them a % of my maturity each week/month/etc…

People that invest directly into SNS will able to obtain the right to control the token that we invested right??

I might be out on a limb here, but why do we need a community fund, especially since it’s another app directly attached to the NNS?

Can’t the IC community form their own investment DAOs, where these funds can be more heavily weighted toward games, social, or DeFi?

I get the concept and benefit to SNS launched projects, but I don’t understand why DFINITY has to do this, especially given the recent discussion around roadmapping and allocation of resources.

As far as I’m concerned community fund was part of the pre-genesis plans, but a lot has changed since then. Maybe now’s a good opportunity to re-evaluate where the community stands with respect to the community fund, and to ask and see if people would be outraged if plans the community fund were scrapped.

1 Like

Agreed, I find the concept of automatically reinvesting maturity interesting though and imo if it were to be generalized we could have many equivalents of the CF built by the community, each one with a different focus as you suggest.

Another use case which I find very compelling is funding dev teams to work on the IC protocol, as recent events showed, community proposals can only add a task to a wishlist but there are no guarantees on how and when it will be implemented by Dfinity.

So we could build a DAO where “bounties” are listed for each approved proposal and we as a community can fund these endeavors by giving a % of our maturity or even donate tokens, which will be rewarded to those who complete a bounty first, tasks with bigger bounties would be the ones with most community interest so even the priority problem would be somewhat solved.

As many community members already suggested, Dfinity should focus on providing us the building blocks and let us use them to our heart’s content, instead of giving us a packaged lego set which only satifies a subset of the community.

1 Like

It would be helpful to briefly summarize the difference between this CF proposal and the previous. (Although I don’t think we ever voted on a motion proposal for the previous one.)

Hey @bjoernek @Pete would you please help me understand all the different ways we can invest in SNS projects? I only see 2 methods listed in this post and both are related to investing maturity only. One is the investment of maturity from community fund neurons (but not the stake) and the other is identified as a user spawns maturity and invests in the SNS without involvement of the community fund. Are there going to be any options to invest ICP or staked ICP in the SNS?

I’m quite concerned about only being able to invest maturity in the SNS. Maybe I’m wrong, but I think that would exclude a large fraction of smaller NNS participants who staked after genesis. My perception is that post genesis neurons probably merge maturity on a regular basis so they can accumulate ICP instead of accumulate Maturity. It’s been a way to alleviate some of the negative price action since genesis. My perception is that owners of genesis neurons are more likely to have accumulated Maturity. If this is correct, then larger genesis neurons will be the most likely participants in SNS launch events. Wouldn’t that be another story of “the rich getting richer” based on this constraint of only investing maturity.

Have you studied these demographics? Do you know who are the most likely participants in SNS launches?

5 Likes

Our intention is not really that the opt out should be used to decide case by case what to fund, but that the user is committed to the NNS decision making on the CF for the long term. This is more an intended as an emergency exit to be used when a CF neuron holder strongly disagrees with the direction. So we are not planning to add more flexibility.

Our intention here is also that the NNS can remain a long term holder of the SNS tokens.

The NNS proposal which initiates the decentralization sale will specify both the total amount of ICP worth of tokens they wish to sell (min & max ) and also the CF ICP investment in the same proposal. So yes the CF does have a guaranteed allocation, though the project can configure the ratio to ensure there remains ample opportunity for everyone.

Note that maturity is not a transferable asset it always remains an attribute of a neuron. It’s an interesting direction to explore though of auto-converting maturity into ICP and being able to donate/invest that ICP into other projects/DAOs.

1 Like

Thanks so much for the detail. Does it at all feel premature to launch the community fund before getting real feedback on the SNS? As in walk before we run?

Also, the community fund does feel like a regulatory nightmare. If investors lose a ton of money I can see the SEC coming after Dfinity itself rather than the projects involved. How do we view that risk? Seems like we are playing with fire a bit. Fully realize that it is technically decentralized but we are moving into very unchartered waters here from a regulatory standpoint right as the SEC has its antennas up.

5 Likes

Yes. Anyone who participates directly in an SNS decentralization sale, will receive SNS tokens locked in a basket of neurons with different dissolve delays. The basket and delay period can be configured by the project.

There is nothing in the proposal which prevents the IC community forming their own investment DAOs. The NNS having a community fund and other investment DAOs are not mutually exclusive.

The NNS being involved in the launching of SNSs (both being the entity which initiates the decentralization sale and with the CF, also investing in the SNS) is agreed somewhat of an opinionated vision for the role of NNS.

If the SNS are successful and grow to be as large or larger in value than the IC itself, the CF is an opportunity for the NNS DAO to also benefit from this growth. Any ICP raised from selling SNS tokens will be burned, which could reduce the quantity of ICP in circulation.

The direction of “bounties” and allowing the NNS itself to start to solicit improvements and not just approve them sounds like a great direction to explore to me. There will be some finer details to work out, maybe this is an initiative we could start a working group to explore.

It could be interesting to combine this with some kind of quadratic voting.

1 Like

Understandable, but still I’d rather have a less opinionated system and let the market decide.

That’s a good point, the best would be if

we could choose between 2 option:

  • convert maturity to icp and send it to any address
  • send only maturity but only to neurons, this way DAOs could benefit from the experimental tax evasion feature and decide when to convert the maturity to ICP based on their tax requirements.

Yes please, QF is such an interesting topic and could bring a lot of improvements to governance in the IC ecosystem

Yup - we did not put the previous design to a vote.

Major differences;

  • Opting in and out of the CF can be done at any time. Previously we offered a window to opt out prior to CF go live, but after CF go live there was no opt out option.
  • SNS neurons received from the CF investment are controlled by the NNS. Previously the SNS neurons received were controlled by the CF neuron owner. Voting rights are passed on via hotkeys.
  • CF funding of an SNS is part of the main SNS decentralization proposal. Previously there were two NNS proposals, one for the SNS decentralization sale, and one for the CF investment.
  • It’s clearer that the NNS CF is making the investment in ICP and CF neurons are exposing their maturity to the risks. Previously it could be interpreted that CF neurons were investing maturity in a project.
1 Like

Anyone will be able to participate in an SNS decentralization sale, by committing ICP. It’s certainly not a requirement to have a CF neuron.

It was easy to miss, but you can see the outline of how this will look like in the NNS UI here SNS frontend design

1 Like

I don’t want to wade into a tax discussion, but evasion is a strong term! There is a big difference between tax evasion and tax planning. So I feel it’s my duty to state that non of our proposals are intended to support tax evasion or avoidance!

1 Like

This is one of the issues I have with expanding the ties and scope of what the NNS is, and what it’s dependencies are (within the app).

My original understanding was that the NNS is the governance tool for the IC, and that was it’s primary purpose and connection - for staking funds into neurons that vote on proposals controlling the IC.

Since then, we’ve now added an SNS dependency on the NNS, and now DFINITY is further adding an investment arm with a dependency/tie-in to the NNS through the community fund.

The NNS is the central hub for the IC - to keep pushing forward with an “opinionated” vision, even against the wishes of the (non-DFINITY) community is bound to spark conflict with many in the community.

Specifically, I’m referring to expanding the scope of the NNS app over the agenda items that the community has already proposed and passed for the NNS. These agenda items aim to improve/enhance existing functionalities instead of adding new features that haven’t even been voted on by the community.

To clarify, I don’t think idea behind investing maturity through the community fund is a bad app idea.

If DFINITY wants to set up a community fund app that’s completely separate and de-coupled from the NNS (i.e not hosted in the same canister or domain as the NNS app), then that’s their prerogative, and can be it’s own self-contained app run by DFINITY - but I don’t see why does the CF needs to directly tie into the NNS app. Once we’re changing even the UI of the NNS app, now updates to the CF require an NNS vote, and I’d guess that most voters in the community don’t want that coupling or responsibility.

2 Likes

Afaik it was done to give more visibility to the CF and SNS launchpad, no need to advertise a separate site.
Stakers use the NNS to vote/stake/manage maturity, some do this on a daily basis, so once a new tab comes up its safe to expect they’d click on it out of curiosity.

I can stand behind this choice, its not ideal but it makes sense at this stage. What I don’t like is the system is too opinionated and some of the functionality its based on, namely the transfer of maturity between neurons, isn’t exposed to us.

Not only it’d allow for new interesting use cases as explained in my post above, it’d also make it possible to move maturity between neuron with different lockup periods without incurring in modulation.

To build on where @Zane is going. I think, as you point out, one of the tensions at the moment is that the NNS is functionally setup today to act more as a gatekeeper than a DAO with its own resources which can be used to directly influence the direction.

The proposal includes the idea of the CF being extendable to support other community developed governance and fundraising frameworks. Extending the CF beyond the app layer and into supporting the development of bits of the core protocol or core dapps (possibly via bounties) seems like an equally logical extension.

DFINITY effectively operates its own community fund using is own resources today via the grant programme. An NNS controlled community fund would seem additional, complimentary, and independent to that.

The contradiction is, whilst it can appear like DFINITY pushing its own vision here, that opinionated vision is that the NNS should have the capability to play a more active role in the IC ecosystem. Whilst this proposal may not be perfect, you could see the CF as an experimental baby step in this direction of the NNS being able to deploy its own resources and influence the direction of the IC.

I don’t see this as an either-or-question. DFINITY, independent devs & DAOs in community, and the NNS itself should all be able to play an active role. Each has a different dynamic and so over time we will see how successfully each influences the IC in different ways. However it would be a shame to shut off experimentation with the NNSs role at this early stage of the ICs evolution.