Proposal: Remove the is_self_authenticating restriction on Neuron Ownership

Neurons can’t be transferred directly, and this proposal doesn’t change that. All of the neurons that exist today are controlled by a user principal. There is no way to exchange user principals… unless you exchange keys, physical devices, or add a new device to your II and then remove the original. (After listing this out it seems like there are already lots of ways to exchange neurons today :thinking:)

What this proposal does is remove the restriction that prevents a canister principal from controlling a neuron. This is similar to how canisters used to be prevented from holding ICP.

Allowing canisters to control neurons doesn’t enable you to transfer neurons; but, it does allow you to change the controller of the canister. Which effectively transfers control of the neuron to a new owner (via canister transfer). Or you could simply maintain a registry of user principals in the canister and treat the neurons like an NFT.

Existing neurons aren’t controlled by canister principals, therefore they can’t be transferred in this manner. At least, that’s my understanding.

Doesn’t that already exist today? I could have sworn some service existed that allowed you to buy II anchors.

3 Likes

yep, it does https://yunqk-aqaaa-aaaai-qawva-cai.ic0.app/

3 Likes

In OpenChat we would love to have an ICP neuron controlled by the OpenChat SNS.
After we do the initial sale the SNS will be holding a decent amount of ICP and it would be great if we could put that into a neuron to earn rewards which could be used to cover cycles costs + more.

3 Likes

If you are looking for a cycle solution, you may want to consider ICDevs.org - Bounty #17 - A DAO for Cycles - $10,000 - ht: cycle_dao. @sardariuss has done quite a bit of thought about how to integrate it to an SNS dapp. You could issue tokens to users willing to fund your cycles. :grinning:

This opens up the door for liquid staking too. I support this message.

1 Like

I was wondering why, between the launch in May 2021 and about September, the number of anchor went up very quickly to 1.8m. Then the growth suddenly crashed to about 10k new anchors per month. I suspected there was something fishy. The answer is there. They were creating II anchors in order to resell them.
I suspect that 95% of II anchors are not active. We are at nearly 2m now but would guess less then 100k are active, probably less.

Hi @bjoernek I was just wondering if you had received any feedback from DFINITY on this proposal? Thanks.

Thank you for the follow-up @LightningLad91

I have raised this internally and am currently waiting for feedback. I will come back to this round as soon as I have an update. Apologies, that this is taking a bit longer.

2 Likes

No problem at all. Thank you for the response.

1 Like

Hi all,
I am a researcher in the NNS team.
As has already been mentioned in this post, a possible worry is that canisters as neuron controllers might benefit neuron markets, which would be undesirable.
Therefore, to make a better recommendation whether neuron control should be opened up to canisters now, we are currently looking into some options how the chances of markets could maybe be mitigated with additional measures.
Just wanted to provide this context why we take a bit longer to get back to you, but ensure you that we are still on it!

5 Likes

@lara Great to hear you’re thinking about this. Has there been any further progress here?

With the launch of Threshold ECDSA, and outbound HTTP calls, canisters can now mimic any IC user interaction (though a bit hacky). This means that there is no longer a realistic way (afaik) to enforce this restriction. Allowing canisters to directly own newly-created neurons in the NNS will help avoid hacky workarounds, making this cleaner for developers, and safer for users.

I’d like StakedICP (my project) to be a good community citizen, and having the neurons be directly canister-owned (instead of merely canister-controlled via proposals) seems like a major win for decentralization.

2 Likes

What would it take to enable differentiation between canister controlled neurons and individual controlled neurons? Would it make sense to limit voting power of canister controlled neurons as a mechanism to deter neuron marketplaces?

Does the DAO use case of canister controlled neurons require large amounts of staked ICP and accumulation of a lot of voting rewards directly in the canister controlled neuron? Public neurons and their associated liquid democracy as well as neuron management activities don’t require more than the minimum staked ICP in order to function.

I don’t think this would be a wise decision. You’re effectively penalizing decentralized communities by reducing their voting power even though they’ve made equal contributions in terms of staked ICP.

I would also argue that this isn’t going to be an effective deterrent against neuron marketplaces. The tECDSA workaround would likely bypass this check so the only thing we’d be deterring is community management of neurons via DAOs.

Why would you want to punish the entire IC ecosystem and the security of the network by allowing free and easy neuron transfer through canister controlled neurons and enabling them to exercise full voting rights? Something has to give and I think we should think through the viability of
limiting voting power as an effective deterrent. I don’t think I’ve heard this idea discussed before and it seems like it deserves more than a cursory rejection. I’m not interested in penalizing anyone. I want to solve the problem while still enabling all the great benefits of tECDSA and outbound HTTP calls and even enabling canisters to hold neurons since there seems to be a benefit for decentralized communities and potentially other use cases.

It seems like decentralized communities can stake ICP in a different neuron than what they register as a known neuron. This is how all public neurons work today. No public neuron has more than inconsequential staked ICP even if their neuron triggers high voting power through liquid democracy. What makes a decentralized community different such that they can’t follow this model? Why not manage a canister controlled public neuron, including configuration and voting, through a different neuron than where a treasury is held? The treasury neuron can follow the public neuron and not have limited voting power.

It’s the transfer of neurons at a steep discount such that it’s voting power can be used to in ways that can harm the network that needs to be avoided. If the first part is unavoidable, then why wouldn’t we want to consider identifying these neurons and limiting their voting power?

I don’t, and I challenge your assertion that making this change would have that implication. If you care to explain to me why you think trading of newly created neurons, with no prior stake, has such huge implications then I’m happy to discuss further.

I would ask that you not take my response as a cursory rejection. Just because I don’t spend an hour or more writing a lengthy forum post does not mean I haven’t spent countless hours thinking through this in my own time. (More than I’d care to admit in fact).

I share this sentiment.

Because the treasury neuron would have to be managed by a single entity or relatively small group of individuals. I understand that this may be acceptable by some but I would rather build a system where all operations of the DAO can be managed by the community. This doesn’t mean that you have to build a system where every funding decision requires 51% approval. It could simply mean that the community has the authority to change the executor of a treasury should they suspect foul play.

Little details like this are what decentralization is supposed to be about, IMO.

I have no problem discussing these things and I certainly don’t want to give the impression that I’m blindly against your suggestion. However, limiting the voting power of canister-controlled neurons also robs the broader IC community of several opportunities for enhanced decentralization. This is something that needs to be weighed alongside the argument against neuron transfers.

1 Like

The following is very brief, but I’m currently settling around transparency being needed to alleviate the situation. If we can see that a neuron has changed owners and/or that the controller of a canister has been changed, then we can make decisions about what to do. Nerfing or penalizing a neuron doesn’t need to be automatic as a deterrent it just needs to be detectable and actionable. There are plenty of legitimate reasons to transfer controllers, but perhaps you should be made to justify your reasoning.

2 Likes

I wouldn’t be against this. But it might not scale well if/when the NNS community grows in the future (assuming you’re thinking of a new proposal type).

1 Like

I’m not, and I challenge your assertion that the idea would have that implication.

I think you just made the very point I’m trying to make. There is a way to achieve the decentralization you want while still solving the neuron transfer problem by limiting voting power of canister controlled neurons. It may not be perfect, but I think worth considering.

I like this thought process @skilesare. While it would be nice to automate, perhaps it’s not required. To me the key is knowing neuron transfer has happened and having the ability to stop security threats and other activity that devalues the system. Simply having the ability to neutralize nefarious activity could prevent it from happening. I think it’s at least worth further discussion.

1 Like

How so? If the community doesn’t control the treasury (neuron) then what power do they have to force the issue?

Ok. I think i’ve laid out my concerns if you care to discuss further. If this was just a witty retort to my challenge of your assertion that trading canister-controlled neurons could only result in disaster (paraphrasing) then I guess nvm.