Motion Request for Neuron Indexing

Maybe I’m missing something. Why does active voting reveal a neuron? Voting just reveals that a neuron ID voted and cast a certain number of votes, which may or may not be a summation of voting power via liquid democracy of the followers you may or may not have. Either way, I don’t understand how voting reveals identity.

You would know better than me. I was referring to existence more than identity. Does a follow vote register the neuron id in a public place. Kyle has some data from somewhere but I wasn’t sure if it had follow votes or just the active vote. Pardon my ignorance if I’m mistaken.

Oh ok. I’m not aware that voting reveals identity of a neuron owner unless they are a registered known neuron. The dashboard does reveal the vote of all known neurons because the last 100 votes of all neurons are exposed by the governance canister. It is also possible to monitor voting progress on a proposal and you could even correlate a change in vote status with a change in votes cast. However, there is no exposure of how many votes come from any specific neuron or what other neurons are following that neuron. It would be highly inaccurate and/or misleading to assume a specific neuron has a specific voting power simply by seeing the total voting power change when that neuron cast a vote. This is especially true for public neurons where there are a lot of people following multiple neurons. The votes cast depend on order that the Followees cast their votes.

I don’t think Kyle’s proposal poses any risk to revealing neuron owner identity from this perspective, but I’m still interested in learning more from other who might see something that I’m missing.

2 Likes

I support this proposal. I think it would be good for transparency.

@Kyle_Langham if this proposal passes do you have an expectation for when you’d like to see the change implemented, or is this more like a general request to add to the roadmap?

This is the first time I’ve seen a feature request submitted through the NNS. I hope this proposal passes and I look forward to seeing how everything unfolds. Exciting stuff.

1 Like

Since The Dfinity Foundation and the Internet Computer Association voted on the last governance proposals (belonging to the campaign of Proposals to Increase Voting Participation on Governance Topics), will they vote on this governance proposal ? In case they won’t, why did they vote on these last governance proposals ?

Regards

1 Like

@Roman
They(dfinity foundation &ica) might not respond as to why.

This is because if an interested party knows which proposals they will not vote on, it is fair game (as per rules set up) to only create such governance proposals on which foundation & ica will not vote on.

This will then cause the APY to increase for the rest of those who do vote on such governance proposals.

1 Like

Totally. This is why they should vote on every governance proposals, or on none of them. Because if they don’t vote on this last proposal, I will be able to explain the previous votings exclusively through a prosaic motivation : their own APY interests or maybe the ones of some third parties which did not accurately update their followees. I don’t see such an interest as a thing necessarily bad, but again, if such considerations exist, they should vote on every proposals, because the lack of systematicity is problematic here.

Actively voting does not reveal your neuron id or make your neuron more easily found. If it did this topic would be moot as a typical non-governance proposal gets greater than 99% voting participation.

The corollary of that is it is practically impossible to get a voter roll of any proposal. It’s currently unlikely that anyone could verify the vote totals of any proposal since so many neurons are unfound. That fact should be reason enough, imo, for the community to support this motion.

3 Likes

I purposely didnt write an expectation into the proposal, but I hope this proposal passing would lead dfinity to prioritize it.

1 Like

I acknowledge that. I guess I should probably be more direct. I think this is a very important proposal and I recommend being explicit in the expectation.

Coming from someone who works in an engineering organization; we get requests from our customers every day to integrate all sorts of capabilities and develop new features. Everything is a priority. If you tell me something is a priority but don’t stress how important and you leave it up to me then I’m probably going to just put it at the end of my list.

@diegop I didn’t see anyone from Dfinity (that I recognize) comment prior to this proposal being submitted. Does Dfinity have a process for handling these types of proposals if they pass? Is it just simply added to the to-do list?

I only ask because I suspect we will see more of these proposals pop up; all of them with varying degrees of importance. Personally, I consider this one to be extremely import and would hope to see it implemented within the next year (if the proposal passes). However, I’m also aware that Dfinity has their hands full with a comprehensive roadmap for 2022 and early 2023.

Is there any additional information we could/should add to future proposals that would help Dfinity understand the community’s need? Is it better to save that for follow-on discussions? Would it help to identify impacts before submitting a proposal?

These are just some thoughts that went through my head when I saw the proposal. If i’m overcomplicating it then I apologize.

3 Likes

I think we’re moving a bit too quickly on this one without a deep exploration of @rossberg’s major objection. Considering his objection is based on system-wide properties that must hold, I think it’s unwise to move so fast on a single component without an understanding of the larger system we might be breaking.

Perhaps in the proposal we can include a deeper system analysis of the object capability model and what neuron indexing would do to our ability to implement that model.

I don’t think we should decide to do this or not right now without this deeper dive into the object capability model.

8 Likes

I’m interested in an answer to this question too. Nothing the community proposes is actionable by the community if it is related to code changes. Hence, it would be helpful for feedback from Dfinity on the work process for getting them implemented.

There have been other community driven proposals in the past. For example, proposal 38985 included discussion with @lara during deliberation and she responded with a tentative timeline of 2Q2022 at the earliest after the proposal was passed.

I suspect most community driven proposals will work in a similar way. Some will be harder to implement than others and Dfinity will likely need time to think about how long it will take to implement before they can respond. I think it’s best to try to engage Dfinity in the discussion during deliberation. There could be ways of making the proposal that enable easier implementation, so it would be good to get that feedback in advance.

This is another reason why I think Dfinity should be free to vote on governance proposals. Some may be unrealistic to implement. I also think if a proposal doesn’t pass the first time, that doesn’t mean it’s not worthy of multiple attempts. I think it’s all about getting the details right so it can pass and sometimes that may require an iterative approach. Of course, it helps when people provide feedback about what is objectionable about a given proposal so those issues can be addressed by the author of the proposal.

I see this as a collaboration. There will be push and pull from all sides on what the work process should be. I suspect it will be difficult to settle on a known and documented work process for everything, but I definitely would appreciate feedback from Dfinity on this question.

4 Likes

I remember. I consider that to be the gold standard for community proposals. Especially proposals that request Dfinity do work on behalf of the community. I haven’t seen similar deliberation on this proposal.

I agree; but, I also think we could iron this out on the forums before the proposal is submitted. Otherwise, if a proposal passes on the NNS and Dfinity has not agreed to do that work, it might put people in awkward positions.

Sure. An iterative approach is great. I just think a lot of that work should be done on the forums beforehand. This way when the proposal is submitted all of the stakeholders have a better understanding of the impact.

3 Likes

Could someone explain the concern in layman’s terms? I’m struggling to comprehend how revealing the existence of an id would violate capability-based model.

2 Likes

One concern: Some neurons exist for the sole purpose of using the manage_neuorn topic to control a big chunky neuron. So they maybe have one ICP in them and they mostly vote on manage neuron proposals. Half the configured neurons need to vote and they are more of a record-keeping operation than an investment seeing to influence governance and/or trying to yield farm ICP maturity.

This is only relevant to the extent that there is not just one reason to create a neuron. People may not want their management neurons indexed. Is there a good reason for this? I’m not sure. Your post clarified for me a couple of things about revealing neurons, so let me say a couple of things and you can tell me if they are true or not:

  1. A neuron has an ID.
  2. There is no way to tie a neuron ID to a Principal.
  3. A neuron has an account(I send my top-ups to it) but there is no way to derive the account from the Neuron ID.
  4. There is no way to see how a neuron voted(although I don’t think this is true because I’m pretty sure I know which neurons voted against the ICDevs proposal and someone gave me that info.) Where did they get it? Did they have to query all known ids to see what their votes were? So having this index would let you query all votes for a proposal?

its not a witch hunt

It came unrequested! I was surprised it was queryable. I think it was only because some of the votes were the sequential seed neurons. It is actually maybe a great example of why one wouldn’t want them indexed.

The foundation is going to vote in favour of this proposal because this adds transparency on the NNS and addresses the current unsatisfactory situation where a lot of information about a neuron can be retrieved given the ID of a neuron. In particular, the foundation acknowledges the need for privacy and will make a follow-up motion proposal regarding which properties of a neuron should be private, which one should be public, and also about giving a neuron holder a choice on that. For instance, the voting history of a neuron should probably be private by default (which it is currently not), but visible for neurons that are listed as a followee option.

18 Likes

I think this is a fantastic idea. It seems reasonable that vote history should be private by default and that public and/or registered known neurons are the most likely neurons to want/need to make their voting history public.