Committee Neurons

This is an initial idea for an upgrade to the governance system of the NNS. I invite feedback of all kinds.

TLDR

Introduce a new type of neuron known as a committee neuron. Committee neurons are controlled by member neurons and have unilateral power to adopt or reject proposals of specific topics. Committee neurons are created and dissolved by the NNS. Member neurons are added and removed from committee neurons by the NNS. I recommend two specific committee neurons to start with, the Roadmap Committee Neuron and the Replica Committee Neuron.

Introduction

The NNS is a fascinating experiment in decentralized governance of an entire stateful protocol stack. It has introduced a number of building block mechanisms that we have been able to use to effectively deploy and upgrade the IC protocol stack. The practical reality of the NNS is not perfect though, especially when it comes to real decentralization, and I believe we should continue to fight to improve it.

When it comes to decentralized decision making and upgrades to the protocol, NNS governance has had a number of issues in its first year of existence, including general disorganization and ineffectiveness. I think this stems from a few reasons, including that for most material aspects (like updates to the actual protocol itself), it is controlled by one party (DFINITY) that cannot actually be controlled directly by the NNS.

With just a few key changes to the NNS, this proposal seeks to address those issues by harnessing the decision-making efficiency and effectiveness of smaller groups of expert leaders, while providing the means to prevent those leaders from abusing their positions of influence and power. It basically introduces a concrete form of representative democracy, as opposed to the pure liquid democracy currently in effect.

I would like to emphasize the simplicity of this design. The material change here is a new neuron type with some new parameters and functionality.

Committee Neurons

A new type of neuron is introduced, known as a committee neuron (c-neuron). C-neurons are controlled by a number of other neurons, known as member neurons (m-neurons). C-neurons can only vote on one proposal topic, and there can only be one c-neuron assigned per topic. If a c-neuron votes yes on a proposal, the proposal is automatically adopted. If a c-neuron votes no on a proposal, the proposal is automatically rejected.

C-neuron Creation

The NNS controls the creation and dissolution of all c-neurons. A new proposal type can be created to facilitate this.

C-neuron Membership

Once a c-neuron is created, the NNS can start to vote member neurons into it. This will be done through proposals similar to named neurons. Each c-neuron can have a limit to its size, or the size can be limited by the willingness of the NNS to vote new members into it, or to remove members. Member neurons can be removed by the NNS at any time.

There can also be a time limit for membership in a c-neuron. For example, an initial time limit set by the NNS could be 6 months. Once an m-neuron becomes a member of a c-neuron, the term begins. Once the term of the m-neuron exceeds the predetermined time limit, the m-neuron can be automatically removed. The m-neuron could then be voted back into the c-neuron or not, according to the desires of the m-neuron owner and the NNS.

C-neuron Voting

A c-neuron vote is cast when a predetermined threshold of its m-neurons internally vote yes or no on a proposal. The predetermined threshold is set by the NNS. When a c-neuron votes, a proposal is automatically adopted or rejected.

C-neuron Compensation

Considering that m-neurons will have to dedicate a material amount of time to their duties within the c-neuron, greater compensation than the standard voting rewards may be useful or necessary. This compensation could be a fixed amount, like a salary, or could simply be an increased staking rewards rate for the m-neurons. New inflation could be introduced, or these rewards could come out of the current rewards pie, effectively reducing the rewards of all NNS members. This could serve as a check on the community, incentivizing them to carefully consider how many committees and how many members should serve in them, since there would be real costs to them individually.

Types of Committee Neurons

I am imagining the NNS wanting to create various types of c-neurons. The point of each c-neuron is to be specialized, allowing a diverse but effective group of experts to unilaterally make progress. I propose two types of c-neurons to begin with.

Roadmap Committee Neuron

The roadmap c-neuron votes on the direction of the protocol. It would set the vision for all other c-neurons to follow. This c-neuron would be a check on all other c-neurons, as if the other c-neurons do not follow the roadmap c-neuron, then the NNS could work to rearrange the memberships of those c-neurons. And as stated above, this c-neuron could be as large or small and as diverse as they NNS community desires.

Replica Committee Neuron

Considering that the replica code is the most vital and security-sensitive part of the entire IC ecosystem, the greatest care should be taken to ensure that updates to its code are safe and secure. The replica c-neuron members would be tasked with reviewing all code changes, and also not allowing anything into the replica that was not in line with the roadmap set by the roadmap c-neuron.

Especially at this time, almost little else matters in on-chain governance than the replica’s code. It’s unilaterally controlled by DFINITY at this point in time. Having a c-neuron control the code would even provide a check on DFINITY, as though they could work on whatever they wanted, the replica c-neuron should not allow changes through that are not in line with the proposals passed by the roadmap c-neuron.

System Canister Committee Neurons

You could imagine c-neurons for each of the designated system canisters. These c-neurons would be tasked with reviewing the code for each update to each system canister. They would provide a check on DFINITY or any other party attempting to push changes to the system canisters not in line with the roadmap, or malicious in nature.

Final Remarks

I believe that our simple liquid democracy does not have the mechanisms necessary to move the IC forward in an effective yet decentralized manner. We need to centralize some decision-making and execution, while still providing the wider NNS community recourse when those in power abuse their power. I think committee neurons provide one interesting implementation of a step in the right direction.

25 Likes

I think this is an excellent proposal. There are two responses I have to it. First, it is to my mind absolutely essential that any extra rewards are taken from the existing pie and not from additional inflation. Inflation is currently very high and compensatory burning very low. It would send a terrible signal to increase the rewards pie right now.
A more minor issue involves nomenclature. I would prefer something like ‘council neuron’ to ‘committee neuron’ because, although committees are sometimes elected, they are usually appointed. ‘Council’ has a more democratic feel than ‘committee’ which seems bureaucratic.

6 Likes

Very excellent feedback, I especially lean towards your line of thinking on the rewards.

2 Likes

@lastmjs , I should add that it is crucial members voted into committees / councils be paid as you suggest. The fate of Cycle Dao of which I believe you were briefly a member shows what happens when people are doing stuff pro-bono. The burden lands on one or two shoulders and ultimately they just give up. Since increasing inflation will be a deal-breaker for many (me included), the only way forward is for the rest of us to sacrifice some of our rewards. I think that would be acceptable provided the number of members stays manageable and high quality.

7 Likes

@lastmjs the way this is worded suggests to me that there can only be one c-neuron per proposal topic. Is that intentional?

I’m not sure there’s any benefit to having multiple c-neurons for the same topic, so it would probably just create unnecessary overhead.

In any case it might be worth clarifying that explicitly.

1 Like

While i like the idea of innovating on governance, i am hesitant to have rule by single council.
I think liquid democracy is super powerful to where a web of trust is built and can be easily modified at anytime. No elections, no required parties, no limit on how many representatives there are. That being said your proposal doesn’t get rid of done of those features, just constrains it a bit
That being said, there are problems with the current system to where anyone can vote on anything while having no idea what it means or the consequences. They can also just follow some influencer or populist that is also just as in the dark.
I think the main problem I have with the proposal if I understand correctly is that 1) there is 1 group to decide on a topic and 2) to get into that one group you have to be elected via nns. My concern is that an average person won’t know who these people are unless we have very structured parties and election systems. With liquid democracy I’m able to trust my neighbor whom I know and agree with and my neighbor is more knowledgeable than I am in a certain topic.
The idea of people having to campaign to have people know where they stand and who they are and how trustworthy they are doesn’t sit well with me. I think we need to be able to choose people that we know we trust versus having a small set of people try to convince us that they can be trusted.
Maybe there’s a middle ground between the two but the way I’ve been thinking about it is if you want some sort of party or counsel to vote for us then that should be handled through a DAO system rather than the nns.

1 Like

I’m not sure I understand the critique here. I’m suggesting that you have one c-neuron be focused on one type of proposal, yes. The roadmap c-neuron will only focus on the roadmap. The replica code neuron will only focus on the replica code. They will be direct and targeted and independent of each other (unless someone is elected into multiple c-neurons).

@paulyoung are you just saying I should clarify this more?

I may have an idea to solve this problem. Instead of a direct election with an explicit proposal, perhaps you just follow people for certain c-neurons. If enough people follow you for a specific c-neuron then you automatically become a member of the c-neuron…or at least have the option of joining the c-neuron.

What do you think? This makes it even more liquid, because people can instantly unfollow at any time and thus change the membership of the c-neurons without having to go through the proposal process.

2 Likes

If a c-neuron votes yes on a proposal, the proposal is automatically adopted.

I’m saying; things like the above imply “there can only be one c-neuron per topic” but it’s not explicitly stated as such.

For example, if a roadmap c-neuron already exists is there anything to prevent people from voting to create another roadmap c-neuron with different members?

1 Like

@paulyoung I see now, updated.

Imagine the case that this proposal after several months of deliberation is accepted, the necessary resources allocated and after many more development months it is finally implemented. Then, let’s imagine it comes a second proposal asking to revert all changes and comeback to the initial governance system. How do we prevent a continuous change of fundamental governance rules? Perhaps we should define some kind of meta-governance with much higher acceptance requirements (e.g. 95% yes to accept) and much higher rejection cost (10000 ICP). This meta-governance should be slow, just like you dont change the constitution of a country every mandate, and it should still be mutable if enough consensus.

3 Likes

I have been planning to set up an ethics committee for nuance and eventually, the committee would create a neuron where others could delegate their vote on ethics matters. But the membership of the committee itself was all off-chain. This seems to bring that part on-chain which sounds pretty cool!

3 Likes

Before proposing solutions, I think its first important to discuss the problems we see with the existing structure of ICP governance. Once we are all clear on the issues we have then it’ll be easier to brainstorm solutions. Here are the issues as you have described them.

Problems with IC Governance

  1. Replica Code: No one outside of Dfinity checking and confirming the replica code is safe and secure. That is clear.

  2. Experts: We need experts to be voting on certain topics. Some people are not qualified to be voting on technical topics. For example, I was asked to vote on the token standard as a voting member of ICPMN. I consider myself a dedicated and reasonably intelligent person but it is definitely outside of my circle of competence.

  3. Power Consolidation: Followee neurons are amassing too much voting power due to laziness of voters and no economic incentive to re-follow once a follow relationship is in place.

  4. Lack of Compensation If people are not paid, it is unreasonable to expect them to spend too much time dedicated to governance.

Let me know if there are other issues that you see. We should have a running list of all the issues that we currently have.

Now, here are the problems that I see in your proposed solution.

  1. Replica Code It has taken a foundation with the best cryptographers in the world to produce the IC protocol. Would it not take another entire foundation to check the code is safe and secure? I find it hard to believe that a committee of smart folks can really do this properly. Take the bitcoin integration. It’s taken about a year. Can a committee reasonably do what needs to be done to confirm all the code is kosher?

  2. Lack of Compensation Paying folks with inflation (whether existing or new) is a tax on ICP holders to create a NNS governmental structure. While I do actually support this idea, it is important to recognize the risks this comes with. It is intrinsically against the libertarian ethos of crypto to be taxing people on their money, not least to pay “government” officials. If we go down this route, we need to exercise extreme caution and transparency. This should not be viewed as a way for folks to get rich and if corruption sets in to the NNS government we are done for.

  3. Roadmap Committee Neuron I presume this neuron won’t be a neuron to just tell Dfinity what to work on? Dfinity is its own entity and can work on whatever it wants to. Right?

  4. Rule by Committee There are some things which are cut and dry. Like replica code and making sure things are safe and secure. But there are others which are not. The token standard. The SNS. The CF. These are subjective and philosophical. Lets call it governance. Why is a committee better than our current structure of named neurons for governance topics?

Just some thoughts. Thank you for kicking off the conversation as we do need to urgently address the problems outlined above.

15 Likes

I think this is an interesting idea @lastmjs. I definitely agree that there will need to be changes in order to continue the IC evolution toward decentralization. I also agree there will need to be an incentive structure established that attracts professionals and experts to fill the roles that will be required.

I hesitate at the idea of a community established roadmap for the NNS or for DFINITY. All roadmap discussions have focused on the DFINITY roadmap in the past, but perhaps it’s time to let that go. DFINITY owns their own roadmap and should be in full control over it. To me, they are clearly acting in what they think is the best interest of the IC and should be free to pursue those efforts as they see fit. They care about what the community thinks and they put a lot of effort into seeking community feedback, but that doesn’t mean the community should feel entitled to dictate their roadmap.

So how do we decentralize? I don’t think there is anything preventing other organizations from stepping up to fill similar, yet different roles to DFINITY. What if your committee idea were integrated into a new sister foundation that could be formed to focus on governance and protocol topics that are important to the community? A major focus and strength of this foundation would be to help evolve the decentralization of the IC. It wouldn’t need to compete with DFINITY, but rather collaborate and partner with DFINITY. It would do some of the heavy lifting that the community currently expects from DFINITY.

Perhaps we don’t need to look to DFINITY for every technical solution or roadmap priority. Perhaps it’s not the responsibility of DFINITY to create decentralization of the IC. The community can step up and develop this capability and I suspect DFINITY would support it.

I can envision a community created foundation that might have a purpose and mission that includes some of the following elements:

  1. Represent the IC community, which includes developers, large and small investors, community enthusiasts, and end users
  2. Conduct research and implement initiatives that advance decentralization of the IC
  3. Sponsor initiatives that encourage active participation in IC governance
  4. Create significant code bounties that can incentivize developers to implement NNS code changes that are important to the IC community
  5. Offer grants to project teams that are focused on NNS governance decentralization
  6. Sponsor independent NNS code review teams that can quickly offer an opinion on the safety and security of NNS proposals
  7. Sponsor teams of consultants that can offer expert advice on NNS governance related topics (e.g. legal, CPA, government regulations, economic, tokenomic, etc)
  8. Sponsor initiatives that incentivize organizations to become registered known neurons in the NNS dApp
  9. Develop a working relationship with DFINITY and provide input on roadmap initiatives that are important to the IC community
  10. Educate the IC community regarding NNS governance participation and proposal topics
  11. Facilitate and advocate for proposal deliberation through various platforms
  12. Conduct research and publish information about ICP tokenomics and the effectiveness of governance incentives

The list could go on an on about what value added initiatives could be pursued by this type of foundation and we wouldn’t always need to turn to DFINITY for every answer to community concerns.

7 Likes

I like where you are going with this but maybe instead of hard gating based on criteria we can create positive and negative incentives to encourage what we want to see in the NNS voting.
I dont have a good solution because these things are hard but if we come up with a set of things we want to encourage and things that are bad for the community we can work around them.
For good behaviors, maybe increase the voting power or increase rewards for the followee/DAO.
Maybe we want to encourage small groups vs large groups so have diminishing returns on number of followers at a certain point to discourage grouping so large. But that has its own set of issues like what size and sibyl resistance.
Not sure how this would work but if we wanted to encourage expertise in a topic to be encourage while voting, the NNS or some other mechanism could be used to endorse a folowee/DAO as an expert in the field, boosting their voting power/rewards/some other incentive. This way we can start to build trust in certain groups/people, but at the same time allowing liquid democracy to be used.

I think it would be helpful for people to come up with some specific behaviors that we do and don’t like in the NNS and use that to design a incentive model to encourage the best behaviour/outcomes

3 Likes

Perhaps DFINITY employees will be on the committee. I would feel uncomfortable if there were no people on the committee who were actually involved in writing the code. But independent experts would also be useful to double-check work or focus on specific aspects of the code. For example, DFINITY has engaged outside auditors.

Defining a roadmap by committee is an anti-pattern imo. This is not only due to lack of expertise but also lack of visibility (or understanding) as to the opportunity cost of a roadmap decision. The idea of a Roadmap Committee Neuron sounds like it could help us avoid this known aformentioned anti-pattern. Its a hard truth that not everone’s opinions are equally qualified on all matters.

1 Like

Correct, this committee neuron would set the roadmap that governs the replica code and the system canisters. If it’s not consistent with the roadmap, the other c-neurons should reject the code. The meaning of consistency with the roadmap will have to be discussed, as there may be many small features or improvements that aren’t explicitly in the roadmap but mag beneficial.

A foundation like this sounds very interesting, though I’m not sure the existence of this foundation alone would address fundamental issues with the governance structure. I would love to see a foundation like this exist, but it and the rest of the community still need to address the current flaws of the system. Committee neurons are one implementation of that.

1 Like