Hi!
Are there any updates on the progress of this task? Where can I check its current status?
Thanks.
Hey @pixld8ta, it is part of our roadmap, but there is no work in progress currently. Please see the roadmap for more details.
Hey @chepreghy, I’ve taken a look at the roadmap but can’t see a mention of making SNS neurons transferable (as a first-class feature of the NNS dapp). Could you point me to where in the roadmap this is mentioned?
I’d actually be interested in seeing further discussion around this, as it doesn’t make sense to me.
My understanding is that neither NNS neurons nor SNS neurons have been designed with transferability in mind (at least not in a way that can be easily supported). I expected that this was by design. NNS neurons in particular are designed to prevent this, and I understand there’s no plan to change this (which is good, and makes sense).
SNS neurons can only be transferred if permitted by the SNS’ network nervous system parameters. These parameters can change at any time. Given this, it’s unclear how robust SNS neuron transfers can be supported in a way that guarantees atomicity. I think any attempt to support this would either be flaky / bug prone, and/or would require more dev work than might initially be expected. Note that there are significant issues with IDGeek’s approach to this (which I’m not convinced they were aware of before I brought it to their attention).
Can I ask what the point of neurons are if there’s going to be robust infrastructure built around them to facilitate their transferability? Neurons can be split. If they can also be easily traded, what was the point of staking into a neuron in the first place? In other words, why does holding a token not provide voting rights (if the staked neuron is going to be just as transferable)?
As a separate question, what mechanisms are in place to enforce a dev team’s vesting period after an SNS sale?
Just addressing some of the questions raised here.
You are right that this is not possible in the NNS by design.
However, when we first designed the SNS there was a lot of desire expressed by the community that the SNS framework should not be too opinionated and allow for different kinds of governance models. Therefore the design leaves it to each SNS to define whether neurons can fully be handed over to someone else or not. Some governance system are indeed stake based but in a way that users can get out at any time or in a way that the staked tokens are transferrable (where the “commitment to the system” is just also transferrable, possibly for an adjusted price).
Different things are possible, the main motivation was really just to leave this up to each community and allow experimenting with different kinds of governance models.
I guess this can be viewed as separate from whether and how we want to support this in the frontend.
As a separate question, what mechanisms are in place to enforce a dev team’s vesting period after an SNS sale?
If a neuron is vesting, then one cannot call certain neuron functions, including start dissolving the neuron. Therefore the dissolve delay of the neuron will remain as it is.
Thanks for the info @lara. This is useful context.
I think the flexibility makes complete sense. I also think a ‘manage permissions’ feature on the frontend would be useful. I dont think it would be sensible to label this as a ‘neuron transfer’ feature though (for the reasons described above).
I also think the default for SNS neurons should be the highest security setup (where permissions cannot be modified other than the two that represent hotkey permissions).
Can the neuron be split during the vesting period? Also, is there anything stopping a dev team from selling their vesting neuron on IDGeek (with the default nervous system parameters)?
Over the years since genesis, I’ve come full circle on this topic. I used to believe neuron transfer should not be allowed for governance security reasons. However, now I’m not convinced. I think neuron owners, especially for SNSs, but also for the NNS, should have the right to transfer neurons. I don’t see the governance security risk because neurons are real assets and nobody is going to let them go for pennies on the dollar…the market will prevent them for getting sold for too low.
We should be thinking about the new doors that are opened when neuron owners have the right to transfer ownership. It makes it possible to address inheritance and legacy as well as safe and credible asset recovery services. It also enables multisignature control strategies.
I’m glad neuron transfer is enabled by default for SNS and I think SNS communities should not be afraid to have open discussions about what is best for their communities on this topic. There is no need to treat it like a security risk that requires swift and immediate action. Neurons can already be transferred by transferring the internet identity, so having a block on neuron transfer is just an unnecessary friction point.
A much easier and more cost effective way to buy a vote, (which is ultimately the security risk argument), is to openly offer a bounty for voting a specific way. Ballots are public info, so it would be very easy to know which principals to pay if the vote goes your way.
Anyway, the security risk arguments all seem far fetched to me these days. I think it’s important for the community to keep talking about these issues.
I think there are multiple security risks (not just the risk of acquiring cheap VP).
For example, you could also take the opposite position, and say that it’s dangerous for individuals to be able to sell their neurons for anything close to the price of the underlying stake. This is very true. It would allow an organisation at some point in the future to action a governance attack on the Internet Computer (featuring a delayed trigger, so the ramifications of the attack are not immediately apparent). They could then sell the neuron they used to push that change through. If the neuron isn’t traded at a significant discount, they’ve managed to change the course of the IC with minimal cost to themselves. Motives include anti-competition strategies by competitor organisations.
If we can’t rely on a centralised entity to protect the IC in the future (because there shouldn’t really be one), we need to be able to rely on the protocol and the governance rules that are enforced by it. The attack vectors are multifaceted, are very real, and are not simple to reason about. It’s far better to err on the side of caution.
No, a vesting neuron cannot be split (see here).
I am not familiar with the details of how IDGeek works, but it is possible to add/remove neuron permissions for vesting neurons. Hope that answers the question.
Thanks Lara. Given the potential for a dev team of a new SNS to sell their vesting neurons, would the DFINITY SNS team consider making the ability to add/remove neuron permissions a setting that needs switching on after launch, rather than a setting that needs switching off? Otherwise this seems to escape the point of the vesting period (in some respects at least). Just a thought
Thanks for the idea, we can consider this alternative in the future