Service Nervous System | Governance for Dapps

Interesting point about decentralized Git commits.

That’s true, not everyone has the time or expertise to vote on code changes, and it wouldn’t be great from a democracy POV to reward only programmers and engineers (or worse, non-technical people voting randomly just to collect rewards).

I’m just not sure a commission rate is the right way to delegate. For example, what if I don’t want to share 2% of my voting rewards to people who delegate their vote to me? It’s not like I get anything out of it (besides having a bigger say over the end result).

It works in the real world, e.g. Congress, because if you delegate your vote to me (i.e. elect me to Congress), then I get a paying job with benefits. I think that incentive structure is currently missing in IC governance. Needs more work I think.

1 Like

Hi all,
happy to provide you with a new end-of-the-week update.

We have spent some time thinking about Open Governance / SNS and how this fits into the bigger context of providing the community with tools for tokenisation, decentralisation, access to funding etc.

Therefore, rather than going into SNS details, I want to share our current view of how these things could fit together and in what stages we could tackle them:

  1. Ledger canister: A ledger canister, including Rosetta-integration. Currently we think the design might be similar to the NNS ledger, but we want to improve it a bit with the lessons that we already learned during the last months. This effort is lead by @bogwar

  2. Open Governance: Canister(s) implementing an open governance system. As with the ledger, rather than just reusing the NNS governance canister, we are considering alternative designs that omit some of the NNS governance canister’s complexity due to NNS specifics. We also think about how we can make the governance modular so that it is easier for developers to change / (re-) use just some parts.

  3. Service Nervous System (SNS): An out of the box version of the SNS. The current idea is that, in addition to the above ledger and governance canister, further functionality would be provided such as automatic upgrades of the SNS canisters by the NNS and integrated means for a decentralised initial token distribution (e.g., the “auction” that was included in the SNS community conversation).

  4. Community funds / community neurons: A mechanism to invest the staked ICP tokens from the NNS neurons in SNS projects and thereby enable even more funding for SNS projects.

We are currently focusing on detailing the designs for 1. and 2. and plan to have concrete design proposals for them roughly in the next 2 weeks.


As you may be aware the community fund button been introduced on NNS dapp IN PRODUCTION AS AN IRREVERSIBLE CHANGE.

The community has been patient in waiting for an answer here(Community fund on nns - #16 by mparikh) on what exactly is this functionality (at the detailed level)

Would it be fair to say that , on (4) (community funds/community neurons), depends ( both what it is supposed to do at a detailed level and how to do what it is supposed to do) on 1, 2 & 3?

If so , we will need to wait for weeks to figure this out?


Will there be any chances to revert the community fund participation for those who may have clicked accidentally on the button on early stages?
Also, if this is an irreversible decision, there should be a more complex way to confirm the participation on this fund, because this means that the neuron is lost forever. Some way of doing this, could be: before the final confirmation click, for the button to be active, the user should write the word confirm on a text field. I’m saying this because there are many scenarios that things could go wrong:

  • the user could leave the wallet open for some minutes, where a child could mess with it and activate the “community fund” function;
  • touching the button while being unaware, in the pocket, while driving, while speaking to someone, while dozing away etc.

I think this is the mos critical button in the NNS app, at therefore it should have a more complex activating mechanism.

If someone may say that how could something like this happen, I assure you that it could happen, as it did to me, while being tired I tried to merge maturity and while dozing away ended up touching the “community fund” button, and my biggest neuron went to the community fund.


Hi there, thank you for your patience!
While the implementation and realisation of the community neurons depend on the SNS work, we can work on the design of the two projects simultaneously. In fact, we want to do this simultaneously to ensure that in the end all the APIs fit together. As soon as we have a better understanding, we will share our proposed design with the community as usual.


Thank you for this question and for your detailed suggestions!

We do plan to make a better warning / confirmation mechanism so that users are less likely to enable this feature by accident.

Also, those who committed to the community fund now will be able to revert this. Once the feature is out reverting the decision might not be possible anymore, but we will try to ensure that anyone who accidentally pressed the button has the chance to take this back in time.


Thanks, Lara.

Comments such as :
/// Join the Internet Computer’s community fund with this neuron’s entire stake. Caution: this operation is not reversible.

in code [quill/ at master · dfinity/quill · GitHub]

makes everyone nervous as what this mysterious functionality is.


thanks, I’m looking forward for this, so everyone who uses the NNS and IC feels comfortable using it

1 Like

Yes, I agree that this is an important goal.


Hi Lara,
I’m very interested in how I can undo the join community transaction. Today I clicked on merge maturity and then I confirmed it, but after then my screen became white and I saw nothing. When the page was reloaded I saw an option where I could confirm something. I thought this was the confirm button of the merge maturity, but afterwards I realized it was the join community fund option. What can I do to unjoin the community fund? I am very unhappy with this situation, because I want to stake ICP in stead of joining the community fund. I really hope you can help me.

1 Like

Hi @bert45,
thanks for your question.
Firstly, “joining the community fund” does not yet do anything other than setting a flag in the neuron. That is, your ICP utility tokens are staked in a neuron with which you can do anything you could do with any other neuron.
Currently, there is no way to undo this action, i.e., to unset this flag.
However, we plan to give the users a functionality and enough time to undo this before we introduce the community funds and this flag will actually have an effect.
I hope this helps. Please let me know if you have remaining questions!


Hi all,
this is just to confirm that we are still actively working on different SNS features behind the scenes!
Concretely, we should have a design for an open governance canister ready to share with you next week (stage 2. in the above mentioned outline).
I will probably open a new forum thread to discuss this design so we can have a more focused discussion, but I will make sure to link to it from here.

Looking forward to sharing the design with you next week and getting your inputs.
In the meantime, I wish you all a happy weekend!


Glad to hear that! It’s really fantastic to see the progress that you are doing. What do you think is a healthy estimate to launch SNS with full functionality? Q2?

Wish you happy weekend too!



It is rather hard to give a good estimate about this for at least the following two reasons:

  • First, it is not fully clear to me what should be considered the “fully functional SNS”, as I expect the feature to keep evolving and different people might consider different versions as “fully functional” in the sense that all their needs are covered.
  • Second, the expected delivery time also depends on a lot of factors outside the project. For example, if the community decides in one month that some other feature (that we don’t know of yet) is a lot more important and we should allocate many of the engineers to this new features, this could mean that less engineers can work on the SNS. So in the end when it can be delivered depends on the overall prioritisation and the availability of engineers.

That being said, with the current information I think Q2 can be realistic for something that can be considered a “full SNS”, but for the above reasons this is still a bit hard to predict.


Hi all,
as promised I shared a new proposed design for the open governance canister on a new forum topic here.
Looking forward to your inputs and questions there!


Hi all,

the motion proposal suggesting a first SNS governance canister is live (see here)!


Hi all, if you are following along the SNS project, please head over to this thread to find the new design proposal for how SNSs can be deployed and upgraded.
Looking forward to your questions and feedback!


When this reverting option wil be available?
And how people wil get notified exactly?
Also is there a deadline for it, to undo this?

Friendly regards,


We are currently working on how the community fund works and estimate that it will become active earliest in Q3 of 2022.
As already promised, if you have accidentally activated the flag, there will be a time period where you can revert this choice. Note however that currently having set the flag does not have any effect on your neuron: you can vote and get rewards as with any other neuron.

So to address your specific question: I am not sure yet when exactly the decision can be reverted and how the process will look exactly. As the actual change is still a bit away there is still enough time to define this and allow users to make this change.

I am also happy to share that @bjoernek will lead this feature going forward!
So he will probably be the person sharing future updates and the best person to answer further questions!


Please find the new proposed timeline for the SNSs here. Looking forward to your feedback!