TL;DR: DFINITY proposes to let neurons choose whether they are public or private. This would control which aspects of the neuron are visible to the rest of the world.
Background
Earlier, a motion proposal was passed to create a neuron index in the NNS (basically, a list of all neuron IDs). This would add a great deal of transparency to the NNS.
Motivation
On the other hand, for neurons that are more privacy sensitive, the additional transparency created by a neuron index might be unwelcome. Therefore, this proposal would let those neurons maintain their privacy if and when a neuron index feature is added to the NNS. Furthermore, in the meantime, they would be able to increase their privacy.
DFINITY proposes that neurons be able to decide whether they are public or private. Additional benefits of this proposal include the following:
- Neurons who want to keep their voting private would be able to make their ballots not visible to the rest of the world (even if their ID is or becomes known).
- On the other hand, those neurons that want to invite the world’s scrutiny (such as those who advertise themselves for following) would gain the ability to expose a great deal of additional information about themselves.
In either case, the neuron would be in control of their own visibility; thus, addressing the competing concerns of both transparency vs. privacy.
Overview
The choice of public or private would control which fields in a neuron would be visible to the rest of the world.
Neurons would be private by default. That is, if a neuron takes no action, it would be considered private.
Known neurons would always be public.
Private Neurons
Currently, a subset of fields of all neurons are readable by the rest of the world (as long as the neuron’s ID is or becomes known). Whereas, only the following fields of private neurons would be visible:
- id
- stake & voting power (not maturity, though staked maturity can be inferred)
- voting power bonus:
- dissolve delay
- age (also creation time)
This means that the following fields would not be visible for private neurons:
- ballots
- Neurons’ Fund membership
Public Neurons
For public neurons, with one exception, all information would be visible to all. The exception is ICP ledger account ID. The reason for this exception is that it seems particularly sensitive, since it can be used for in-depth ledger tracing. The remaining information, which would be visible, is as follows:
- id
- controller
- hot_keys
- kyc_verified
- not_for_profit
- known_neuron_data
- cached_neuron_stake_e8s
- neuron_fees_e8s
- maturity_e8s_equivalent
- staked_maturity_e8s_equivalent
- auto_stake_maturity
- when_dissolved_timestamp_seconds
- dissolve_delay_seconds
- aging_since_timestamp_seconds
- created_timestamp_aeconds
- followees
- recent_ballots
- joined_community_fund_timestamp_seconds
- transfer
Next Steps
DFINITY is really excited to start working towards developing a neuron index for the NNS. Feedback on this proposal would be greatly appreciated. Once the community has reached consensus, DFINITY will begin implementation.