Request for Comment: Public & Private NNS Neurons

The fact is that whether you object or not, ICP will veto your objection through absolute voting rights. This is ironic. Without openness and trustworthiness, why do we need blockchain?

If Dfinity vetoes everything, how come @dominicwilliams , ‘Possible Optimizations of NNS Tokenomics,’ was dropped? Please don’t be the catpirate bringing disarray and chaos to the forums.


Hello, everyone. First of all, thank you for all the feedback. It really is appreciated.

I think the main concern is that neurons can choose for their votes to be hidden. Let me address that in this post. For specific individual questions, I’ll reply in a separate post.

In regards to votes being private, the concern is very valid and understandable. Clearly, the more transparent the system is, the easier it is to trust it. On the other hand, I don’t think implementing this proposal means that the system can’t be trusted anymore.

Regarding transparency and trust, here are some important points that we hope people will consider:

  • As the system stands now, not all votes are visible to the whole world. This proposal would not change that.
  • The vote counting machine itself is completely transparent. By reading the code of the governance canister and the platform that it runs on, you can prove or refute by yourself that it does what it’s supposed to (e.g. votes are counted correctly). There is no need to take someone else’s word for it (e.g. DFINITY).
  • Not everything in all blockchains is public. For example, you generally cannot connect an ID with a real life person.
  • Trust is always our highest aim. Whereas, you can think of transparency as a means to achieve trust as an end.
  • When applied in the wrong places, transparency destroys trust. For example, it is of the utmost importance that encryption keys not be transparent.

I think the question should be, “Do I need to take someone else’s word at face value? Or, can I prove or refute by myself that the system does what it’s supposed to?”. If you can prove or refute correctness by yourself, I would argue that the system is verifiable (and therefore, trustworthy).

Regarding privacy, here are some additional points:

  • It is also a reasonable concern, and deserves our consideration. Examples abound, including in the realm of voting. Some have already been mentioned in earlier posts. Let me offer another one: when voting on whether to form a labor union, it is generally considered “good” that ballots be kept secret so that people can vote without fear of retaliation.
  • Private voting is normal in the offline world. One reason is to prevent vote buying.
  • It is possible to reconcile privacy with verifiability.

One way to achieve both privacy and verifiability is for the vote counting process to be transparent to everyone, not necessarily every individual ballot. This is just as true inside the blockchain world as it is outside. The way this is achieved in the ICP governance is to open source the vote counting machine. Everyone can (and should) inspect it.


100%. There are some crypto ethos we should adhere, especially transparency for transactions.

Please refrain from implementing any privacy options in governance matters, as everything should be completely transparent, including voting choices, stake, voting power, maturity, follow/followers, dissolved delay, age, etc.

The NNS DAO will lose all credibility if participation details are hidden.
As ICP is still in its early days, we have been anticipating upgrades to enhance transparency. However, just as the Neuron index, which will significantly improve transparency, has passed, there is already talk of making details hidden.

I sincerely hope Dfinity drops the matter and announces it as they did with possible tokenomics changes.

If more NO votes are needed on this topic, let us know so we can run a X campaign calling on the community to voice their opinions here. I don’t think it’s something positive that should be publicized on X, and Dfinity should also refrain from voting in case of a proposal.


Let’s see what the current sentiment is for private neurons.

  • NO
  • YES
0 voters
1 Like

Why would you make votes for this poll public? :grinning:

I guess it’s a convenient way to know who to attack if someone votes YES and you are in the anti-private neuron camp…

…AND vice versa of course.

It’s quite ironic to use a public poll to assess the sentiment of who is in favor of private neurons.

BTW, I hope this doesn’t come across in a negative way. It was only meant to be funny.


To prove the point, otherwise, we may end up with the majority in the comments being against private neurons while the poll shows the opposite. That’s what we risk happening with NNS DAO governance.

I strongly believe that if you vote, you should be prepared to explain the reason behind your choice if called upon. While private voting may have its place, I believe it does way more harm than good. We should strive for greater transparency, even if it complicates certain situations where private voting might be preferred.

p.s. Waiting for you to cast your vote. :wink:


Blockchain transactions and governance should be transparent.


Most people are not known neurons so who would you call in most neurons’ case?


Neurons currently have private information that I believe should remain private unless the neuron owner wants to make it public. The original intent of the neuron index proposal was to make sure that all neurons in the NNS could be accounted for since some of them have hidden neuron IDs. This is the only major problem that needs to be solved. This doesn’t mean they need to be any more public than every other neuron. The only place that it makes sense to have the private / public neuron discussion that goes beyond the current public / private information that already exists for every neuron is in relation to registered known neurons. It would be helpful to make Followee selection AND hotkey IDs for registered known neurons public information. Their votes are already public and they are stored indefinitely on the dashboard. Interestingly, the NNS does not keep an indefinite record of the vote history of registered known neurons, but I think it should. Any neuron that is not a registered known neuron should have the right to choose if their vote history is public or private. I see this in a similar way to real world elections. You don’t have the right to know your neighbors vote unless they tell you. In fact, the privacy of voting is essential to real world elections in order to get a true independent, objective result. Otherwise, special interest groups would put pressure on citizens all the time to vote a specific way. The same goes for blockchain governance. It’s just a bad idea to force neuron owners to have a public vote history. At least the privacy part today comes from the fact that the vote history is recorded by neuron ID instead of identity.

1 Like

I’m not suggesting that every neuron needs to go through KYC and expose its data. Each neuron remains private since the identity behind it is unknown unless it is voluntarily disclosed.

Perhaps I’m missing something, but what advantage is there in concealing data from an already anonymous neurons?

1 Like

Two examples come to mind.

  1. Synapse and CodeGov Followees create new neurons for the purpose of making their votes on specific topics transparent to the community. While they are voting members, they are not promising anything except transparency on those specific topics. It does not include all topics and it is only for the duration that they are voting members on those topics. However, once they expose the neuron ID and link it to their identity, their vote continues to be shown on the dashboard and vpgeek on all topics including after they have stopped their service as a public voter. This is unfair to them because it can be easily misinterpreted and misrepresented. They should be able to turn off this public visibility if the apps do not do it for them.
  2. Neurons have account IDs that can often be somewhat easy to link to the neuron IDs by simply correlating staked amounts, dissolve delay, and age with voting power (all public information for any neuron ID). Genesis neuron accounts can also be identified because the very first transaction in their account is a mint that occurred at genesis. There are people who are skilled at tracing transaction history and making connections between publicly revealed identities and neuron IDs even when the publicly revealed information was not intended to result in connection to their neuron ID. These connections should not be made easy if the neuron owner doesn’t want it to be public.

I’m looking at this from the perspective that private members of the community should be allowed to remain private so they can vote with their own convictions without having to be influenced by vocal people in the community who will try to use their influence to persuade their vote. Everyone needs to have the freedom to vote independent of these influences.


Maybe it’s just me, but I honestly don’t see the issue with transparent voting, especially considering the current blockchain space where other chains with on-chain voting that allows direct tracking of wallets.

I hope other community members share their perspectives, and thank you for providing examples.

1 Like